semi-bot dca5a3fc32 v2.0.2 há 4 anos atrás
..
_portal f76bd5879d feat: init há 4 anos atrás
anchor 8c05e210aa fix: radius and group typo (#92) há 4 anos atrás
autoComplete f76bd5879d feat: init há 4 anos atrás
avatar f76bd5879d feat: init há 4 anos atrás
backtop f76bd5879d feat: init há 4 anos atrás
badge f76bd5879d feat: init há 4 anos atrás
banner f76bd5879d feat: init há 4 anos atrás
base 3f1e99ae84 docs: add reference of typography utils, add inspired source of form & F/A há 4 anos atrás
breadcrumb f76bd5879d feat: init há 4 anos atrás
button f76bd5879d feat: init há 4 anos atrás
calendar f76bd5879d feat: init há 4 anos atrás
card f76bd5879d feat: init há 4 anos atrás
cascader f76bd5879d feat: init há 4 anos atrás
checkbox 8c05e210aa fix: radius and group typo (#92) há 4 anos atrás
collapse f76bd5879d feat: init há 4 anos atrás
collapsible f76bd5879d feat: init há 4 anos atrás
datePicker 9a16b9026a fix(datepicker): type=month can not select some date in US timeZone (#173) há 4 anos atrás
descriptions f76bd5879d feat: init há 4 anos atrás
dropdown f76bd5879d feat: init há 4 anos atrás
empty f76bd5879d feat: init há 4 anos atrás
form 6766109e15 fix: #67 adjust label margin-right of label in Form.InputGroup, sass token -form_label_posLeft-marginRight reset to 0 há 4 anos atrás
grid f76bd5879d feat: init há 4 anos atrás
icons f76bd5879d feat: init há 4 anos atrás
input f76bd5879d feat: init há 4 anos atrás
inputNumber f76bd5879d feat: init há 4 anos atrás
keyframes f76bd5879d feat: init há 4 anos atrás
layout f76bd5879d feat: init há 4 anos atrás
list f76bd5879d feat: init há 4 anos atrás
modal f76bd5879d feat: init há 4 anos atrás
navigation f76bd5879d feat: init há 4 anos atrás
notification f76bd5879d feat: init há 4 anos atrás
overflowList f76bd5879d feat: init há 4 anos atrás
pagination f76bd5879d feat: init há 4 anos atrás
popconfirm f76bd5879d feat: init há 4 anos atrás
popover f76bd5879d feat: init há 4 anos atrás
progress f76bd5879d feat: init há 4 anos atrás
radio f76bd5879d feat: init há 4 anos atrás
rating f76bd5879d feat: init há 4 anos atrás
scripts f76bd5879d feat: init há 4 anos atrás
scrollList f76bd5879d feat: init há 4 anos atrás
select f76bd5879d feat: init há 4 anos atrás
sideSheet f76bd5879d feat: init há 4 anos atrás
skeleton f76bd5879d feat: init há 4 anos atrás
slider 76be18db4f Release (#104) há 4 anos atrás
space f76bd5879d feat: init há 4 anos atrás
spin f76bd5879d feat: init há 4 anos atrás
steps f76bd5879d feat: init há 4 anos atrás
switch 81f421ec49 style: [switch] add token $color-switch_disabled-bg-hover/ $color-switch_disabled-bg-active, close #115 (#185) há 4 anos atrás
table f76bd5879d feat: init há 4 anos atrás
tabs f76bd5879d feat: init há 4 anos atrás
tag f76bd5879d feat: init há 4 anos atrás
tagInput f76bd5879d feat: init há 4 anos atrás
timePicker f76bd5879d feat: init há 4 anos atrás
timeline f76bd5879d feat: init há 4 anos atrás
toast af923aff14 fix(toast): update TypeScript definition of Toast (#168) há 4 anos atrás
tooltip f76bd5879d feat: init há 4 anos atrás
transfer f76bd5879d feat: init há 4 anos atrás
tree ad3850dd1d docs: update license and add reference of some code from external librarys há 4 anos atrás
treeSelect 76be18db4f Release (#104) há 4 anos atrás
typography f76bd5879d feat: init há 4 anos atrás
upload f76bd5879d feat: init há 4 anos atrás
utils d1f4b308d9 fix(tooltip): Event callback was not remove correctly (#192) há 4 anos atrás
README.md d8893466dc fix: semi-foundation/README.md gammar optimize (#165) há 4 anos atrás
babel.config.js f76bd5879d feat: init há 4 anos atrás
gulpfile.js f76bd5879d feat: init há 4 anos atrás
package.json dca5a3fc32 v2.0.2 há 4 anos atrás
tsconfig.json f76bd5879d feat: init há 4 anos atrás

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