fumidesign 93eb42812d feat: animation hace 3 años
..
_portal f76bd5879d feat: init hace 4 años
anchor 93eb42812d feat: animation hace 3 años
autoComplete 036bc41d87 feat(a11y): optimize keyboard event to autoComplete (#909) hace 3 años
avatar 58cb9fca3b fix: avatar outline syntax style (#934) hace 3 años
backtop f76bd5879d feat: init hace 4 años
badge f76bd5879d feat: init hace 4 años
banner f76bd5879d feat: init hace 4 años
base 591051eb86 test: add istanbul ignore to some file and update jest exclude config hace 3 años
breadcrumb 93eb42812d feat: animation hace 3 años
button 93eb42812d feat: animation hace 3 años
calendar c3fe5796b0 fix: remove react interface from semi-foundation #923 (#925) hace 3 años
card f76bd5879d feat: init hace 4 años
carousel be6f513256 fix: remove throttle in indicator change and arrow click (#819) hace 3 años
cascader 93eb42812d feat: animation hace 3 años
checkbox 93eb42812d feat: animation hace 3 años
collapse ef2531c8be Fix strict ts (#314) hace 3 años
collapsible f76bd5879d feat: init hace 4 años
datePicker b314de9ad5 feat: css transition mifu hace 3 años
descriptions f76bd5879d feat: init hace 4 años
divider 24163ca972 chore: main merge release hace 3 años
dropdown 34d4811907 feat(a11y): add keyboard and focus event to dropdown (#881) hace 3 años
empty f76bd5879d feat: init hace 4 años
form 29f1ad30bb chore: fix 933 hace 3 años
grid f76bd5879d feat: init hace 4 años
icons 626c4b9f9e Feat/support next (#245) hace 3 años
input 93eb42812d feat: animation hace 3 años
inputNumber 93eb42812d feat: animation hace 3 años
keyframes f76bd5879d feat: init hace 4 años
layout f76bd5879d feat: init hace 4 años
list 2a990d4ecd fix: change list empty padding token position hace 3 años
modal 5972b84ecc feat: support preventScroll to focus methods (#953) hace 3 años
navigation 93eb42812d feat: animation hace 3 años
notification 5452012214 fix: fix notification show and hide order (#531) hace 3 años
overflowList 5509240454 fix: fix tabs when vertical scroll and collapse shows extra arrow (#927) hace 3 años
pagination 93eb42812d feat: animation hace 3 años
popconfirm b6ce00f945 Feat click out side (#273) hace 4 años
popover 1e9d1b5955 fix: scss optimize, add unit in scss (#749) hace 3 años
progress f76bd5879d feat: init hace 4 años
radio 93eb42812d feat: animation hace 3 años
rating 93eb42812d feat: animation hace 3 años
scripts f76bd5879d feat: init hace 4 años
scrollList 1e9d1b5955 fix: scss optimize, add unit in scss (#749) hace 3 años
select 93eb42812d feat: animation hace 3 años
sideSheet cd95ebb1b3 chore: feat/a11y-aira rebase master v2.2 hace 3 años
skeleton f76bd5879d feat: init hace 4 años
slider 93eb42812d feat: animation hace 3 años
space f76bd5879d feat: init hace 4 años
spin f76bd5879d feat: init hace 4 años
steps 93eb42812d feat: animation hace 3 años
switch 93eb42812d feat: animation hace 3 años
table fad9785c79 Merge branch 'milestone-2.6' into release hace 3 años
tabs 93eb42812d feat: animation hace 3 años
tag b1fb629a38 style: update avatar, button, radio, steps, switch, tag white color t… (#894) hace 3 años
tagInput 93eb42812d feat: animation hace 3 años
timePicker 93eb42812d feat: animation hace 3 años
timeline 6511ea7423 fix: #865 hace 3 años
toast 626c4b9f9e Feat/support next (#245) hace 3 años
tooltip 5972b84ecc feat: support preventScroll to focus methods (#953) hace 3 años
transfer b314de9ad5 feat: css transition mifu hace 3 años
tree 93eb42812d feat: animation hace 3 años
treeSelect dcae8b4ed2 fix: [treeSelect] fix the click problem when the search box is in the trigger (#955) hace 3 años
typography f76bd5879d feat: init hace 4 años
upload f6fcac2a61 Merge branch 'release' into main hace 3 años
utils 5972b84ecc feat: support preventScroll to focus methods (#953) hace 3 años
README.md d8893466dc fix: semi-foundation/README.md gammar optimize (#165) hace 4 años
getBabelConfig.js 626c4b9f9e Feat/support next (#245) hace 3 años
gulpfile.js 9498eead2b feat: upgrade sass to 1.45.0 and set the option charset to false (#440) hace 3 años
package.json 236be8e528 v2.15.0 hace 3 años
tsconfig.json 2f70e0bbc2 fix: ts check error of upload/witFied/fields in strict mode hace 3 años

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