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

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