YyumeiZhang 04334fa11b fix: [Cascader] Fix cascader cannot display +N Popover in disabled and non-search situations (#1670) 2 years ago
..
_portal 3d150d1b7f fix: remove fit-content with max-content to match chromium breakchange in 104. (#1032) 3 years ago
anchor 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
autoComplete 1ed01d9df9 fix: add vertical-align top to fix wrong height (#1508) 2 years ago
avatar 99b15bb9fc fix: some font weight use scss token in themepackage 2 years ago
backtop bd83d1f9cd chore: format code 3 years ago
badge 1b9c2f04c2 chore: replace divide operator to math.div (#1130) 3 years ago
banner bd83d1f9cd chore: format code 3 years ago
base d52979c0c4 fix: [layout] Fix layout mount sider class delay (#1384) 2 years ago
breadcrumb b8a95944a6 style: Fix the style error when icon and text exist at the same time in BreadCrumb (#1570) 2 years ago
button b56708e521 fix: add animation-fill-mode: forwards to all animation (#1270) 2 years ago
calendar a5663b0ba7 fix: calendar range mode (#1624) 2 years ago
card dab2c08959 feat: chore backup 3 years ago
carousel 58bb122d0b fix: props children update carousel did no rerender and ref.play should have the highest priority (#1495) 2 years ago
cascader 04334fa11b fix: [Cascader] Fix cascader cannot display +N Popover in disabled and non-search situations (#1670) 2 years ago
checkbox 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
collapse 14bacab9c7 feat: collapse clickHeaderToExpand api 2 years ago
collapsible 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
datePicker 7a4a67f68c feat: DatePicker insetInput support clear icon #1638 (#1639) 2 years ago
descriptions ce3ecd85c7 chore:changeTokenName 2 years ago
divider 24163ca972 chore: main merge release 3 years ago
dropdown 4e778b6e26 fix: only when dropdown panel visible trigger handlePrevent function (#1640) 2 years ago
empty f76bd5879d feat: init 4 years ago
form 99b15bb9fc fix: some font weight use scss token in themepackage 2 years ago
grid 925a0d54fb fix: Grid span = 0 not work when responsive (#1345) 2 years ago
highlight 868686ed9f style: update highlight, add global token 2 years ago
icons 626c4b9f9e Feat/support next (#245) 3 years ago
image d2d4e206cc fix: [ImagePreview] Fix the ratio of the new picture is incorrect after switching the ratio state of the preview picture and switching the picture (#1496) 2 years ago
input 7a4a67f68c feat: DatePicker insetInput support clear icon #1638 (#1639) 2 years ago
inputNumber c39a5797c9 fix: change borderless api name 2 years ago
keyframes d159394f03 feat: spin js2css 3 years ago
layout f76bd5879d feat: init 4 years ago
list 2a990d4ecd fix: change list empty padding token position 3 years ago
modal 25622bbb65 feat: modal add fullscrren top token && sidesheet add header border and size token 2 years ago
navigation 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
notification afb3b3f988 style: improve tooltip/toast/notification word wrap rules (#1623) 2 years ago
overflowList 75beea605c fix: ts type check error which cause by ts version update 2 years ago
pagination a922fbef5a fix: add disabled selected style to disabled pagination (#1645) 2 years ago
popconfirm db1e4eb9eb style: [Popconfirm] style optimize for close button in Popconfirm (#1520) 2 years ago
popover b56708e521 fix: add animation-fill-mode: forwards to all animation (#1270) 2 years ago
progress bd83d1f9cd chore: format code 3 years ago
radio 3b44c65e32 fix: radioGroup add vertical-align, close #1573 (#1574) 2 years ago
rating 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
scripts f76bd5879d feat: init 4 years ago
scrollList 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
select ce52832727 fix: select is single select and renderSelectedItem, the placeholder is not displayed when the value is null #1584 (#1603) 2 years ago
sideSheet 2f000dcae9 fix: fix sidesheet mask=false mask width not correct (#1550) 2 years ago
skeleton b56708e521 fix: add animation-fill-mode: forwards to all animation (#1270) 2 years ago
slider 63b8e63d0f fix: fix vertical slider click rail always jump to 1 in some sitiuation (#1587) 2 years ago
space f76bd5879d feat: init 4 years ago
spin 1ed01d9df9 fix: add vertical-align top to fix wrong height (#1508) 2 years ago
steps 6ea115da9f feat: steps hover style be judged by onChange and onClick 2 years ago
switch 0ff9442a46 fix: [Switch] Change the initial setting of the state in the constructor in the switch to prevent animations that do not meet expectations (#1501) 2 years ago
table 95151d6591 fix: Table onChange filters is empty when onFilter is not passing #1572 (#1619) 2 years ago
tabs dfa696b2e0 fix: [Tabs] Fix the wrong style of Radio and Checkbox in ReactNode passed in through the tab API in Tabs 2 years ago
tag 30cb2a1aa0 style: [Tag] children is string type child can be omitted, otherwise … (#1475) 2 years ago
tagInput a7b7e6a526 fix: [TagInput] Fix max Length judgment is wrong in composition input (#1346) 2 years ago
timePicker 792c450394 fix: timepicker under timezone and controll get the wrong time after select in panel in 1.3.8 date-fns-tz (#1617) 2 years ago
timeline 6511ea7423 fix: #865 3 years ago
toast afb3b3f988 style: improve tooltip/toast/notification word wrap rules (#1623) 2 years ago
tooltip afb3b3f988 style: improve tooltip/toast/notification word wrap rules (#1623) 2 years ago
transfer 685e01e0c9 Merge branch main into release 3 years ago
tree 1ed01d9df9 fix: add vertical-align top to fix wrong height (#1508) 2 years ago
treeSelect c39a5797c9 fix: change borderless api name 2 years ago
typography 11c0e9206c feat: typography header weight token 2 years ago
upload 27fc3a13ce fix: refresh thumb pic when beforeUpload update fileInstance (#1656) 2 years ago
utils d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
README.md d8893466dc fix: semi-foundation/README.md gammar optimize (#165) 4 years ago
getBabelConfig.js 496f3db0f7 chore: remove corejs 3 years ago
gulpfile.js 1b9c2f04c2 chore: replace divide operator to math.div (#1130) 3 years ago
package.json 3d2a268018 v2.37.0 2 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