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

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