semi-bot c69c466ecd v2.4.1 3 éve
..
_portal f76bd5879d feat: init 4 éve
anchor 626c4b9f9e Feat/support next (#245) 3 éve
autoComplete 626c4b9f9e Feat/support next (#245) 3 éve
avatar f76bd5879d feat: init 4 éve
backtop f76bd5879d feat: init 4 éve
badge f76bd5879d feat: init 4 éve
banner f76bd5879d feat: init 4 éve
base 626c4b9f9e Feat/support next (#245) 3 éve
breadcrumb ef7f7b5608 feat: [Breadcrumb] add a11y aria-* (#489) 3 éve
button c33c463ed9 style: add some Sass variables to Button, Input, Modal, Select, ScrollList and TreeSelect components(#570) 3 éve
calendar ef2531c8be Fix strict ts (#314) 3 éve
card f76bd5879d feat: init 4 éve
cascader fb157a0607 feat: [Cascader] support separator #408 (#409) 3 éve
checkbox cd95ebb1b3 chore: feat/a11y-aira rebase master v2.2 3 éve
collapse ef2531c8be Fix strict ts (#314) 3 éve
collapsible f76bd5879d feat: init 4 éve
datePicker 5566d3973f fix(datepicker): can not close panel when preset dates is null or undefined #388 3 éve
descriptions f76bd5879d feat: init 4 éve
dropdown f76bd5879d feat: init 4 éve
empty f76bd5879d feat: init 4 éve
form 4aa11c3076 Merge branch 'main' of https://github.com/DouyinFE/semi-design into release 3 éve
grid f76bd5879d feat: init 4 éve
icons 626c4b9f9e Feat/support next (#245) 3 éve
input c33c463ed9 style: add some Sass variables to Button, Input, Modal, Select, ScrollList and TreeSelect components(#570) 3 éve
inputNumber f426adce1f fix(inputnumber): button right click bug (#540) 3 éve
keyframes f76bd5879d feat: init 4 éve
layout f76bd5879d feat: init 4 éve
list f76bd5879d feat: init 4 éve
modal c33c463ed9 style: add some Sass variables to Button, Input, Modal, Select, ScrollList and TreeSelect components(#570) 3 éve
navigation cd95ebb1b3 chore: feat/a11y-aira rebase master v2.2 3 éve
notification 5452012214 fix: fix notification show and hide order (#531) 3 éve
overflowList 626c4b9f9e Feat/support next (#245) 3 éve
pagination ef2531c8be Fix strict ts (#314) 3 éve
popconfirm b6ce00f945 Feat click out side (#273) 4 éve
popover f76bd5879d feat: init 4 éve
progress f76bd5879d feat: init 4 éve
radio cd95ebb1b3 chore: feat/a11y-aira rebase master v2.2 3 éve
rating 1301e6199f fix(rating): half star ui error when set parant element line-height (#355) 3 éve
scripts f76bd5879d feat: init 4 éve
scrollList c33c463ed9 style: add some Sass variables to Button, Input, Modal, Select, ScrollList and TreeSelect components(#570) 3 éve
select c33c463ed9 style: add some Sass variables to Button, Input, Modal, Select, ScrollList and TreeSelect components(#570) 3 éve
sideSheet cd95ebb1b3 chore: feat/a11y-aira rebase master v2.2 3 éve
skeleton f76bd5879d feat: init 4 éve
slider 22bb17ca0f Merge branch 'milestone-2.3' of https://github.com/DouyinFE/semi-design into release 3 éve
space f76bd5879d feat: init 4 éve
spin f76bd5879d feat: init 4 éve
steps f76bd5879d feat: init 4 éve
switch 81f421ec49 style: [switch] add token $color-switch_disabled-bg-hover/ $color-switch_disabled-bg-active, close #115 (#185) 4 éve
table a3595dc8c7 Merge branch 'main' into release 3 éve
tabs 626c4b9f9e Feat/support next (#245) 3 éve
tag f76bd5879d feat: init 4 éve
tagInput 46b8737b9d fix(taginput): update TagInput Sass variable reference relationship (#615) 3 éve
timePicker c2745eedfc feat: add support for `onChangeWithDateFirst` API (#571) 3 éve
timeline 648beea4ff style: fix timeline custom dot props not align (#395) 3 éve
toast 626c4b9f9e Feat/support next (#245) 3 éve
tooltip bd532cf837 fix: (tooltip) adjustOverflow not include spacing & auto just cause splash screen 3 éve
transfer 9375fc6d6d feat: a11y transfer (#420) 3 éve
tree 00597dab17 fix: [TreeSelect] value will be cleared unexpectedly when uncontrolled single selection mode #515 (#590) 3 éve
treeSelect c33c463ed9 style: add some Sass variables to Button, Input, Modal, Select, ScrollList and TreeSelect components(#570) 3 éve
typography f76bd5879d feat: init 4 éve
upload a2c5dfa8a5 Merge branch 'main' into release 3 éve
utils 075fce8673 feat(a11y): remove useless aria-label #205 (#536) 3 éve
README.md d8893466dc fix: semi-foundation/README.md gammar optimize (#165) 4 éve
getBabelConfig.js 626c4b9f9e Feat/support next (#245) 3 éve
gulpfile.js 9498eead2b feat: upgrade sass to 1.45.0 and set the option charset to false (#440) 3 éve
package.json c69c466ecd v2.4.1 3 éve
tsconfig.json 2f70e0bbc2 fix: ts check error of upload/witFied/fields in strict mode 3 éve

README.md

The infrastructure layer is used to build modern component libraries.

Semi UI adopts a set of cross-front-end framework technical solutions to split the JavaScript of each component into two parts: Foundation and Adapter. This allows us to reuse Foundation code across frameworks by only re-implementing the adapter, e.g, React and Vue. Quickly build common component libraries on different platforms.

  • Foundation

    Foundation contains the business logic that best represents Semi Design without actually referencing any DOM elements. Foundation delegates Adapter methods for any logic that requires DOM manipulation

  • Adapter

    Adapter is an interface that has all the methods needed by Foundation to implement Semi Design business logic. Adapter can have many implementations, allowing interoperability with different frameworks.

Directory Structure

  ├── semi-foundation         // Foundation and Stylesheet of component
  │   ├── utils
  │   └── tooltip
  │       ├── constants.js    // Constant definition, including numbers, strings, cssClass
  │       ├── foundation.js   // Core foundation
  │       ├── tooltip.scss    // Stylesheet
  │       ├── mixin.scss      // Scss mixin
  │       ├── rtl.scss        // Rtl 
  │       ├── variables.scss  // Scss variable

Related documents

Technical solutions

image

License

MIT