DaiQiangReal 8bf0ec01aa feat: some api 1 year ago
..
_portal 3d150d1b7f fix: remove fit-content with max-content to match chromium breakchange in 104. (#1032) 3 years ago
anchor b7287fd6c2 feat: anchor add token (#1843) 2 years ago
autoComplete 7837643d6c fix: autoComplete throw error when clear, #2013 (#2016) 1 year ago
avatar 8bf0ec01aa feat: some api 1 year ago
backtop bd83d1f9cd chore: format code 3 years ago
badge abe83dc9dd fix: Badge proptypes define (#2091) 1 year ago
banner 13a4bde145 fix: update banner.scss, remove uselsss scss rules of align-items (#2204) 1 year ago
base f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
breadcrumb 75e708ee65 style: Fixed incorrect font-weight of the active item in breadcrumb due to changes in typography style 1 year ago
button c5d52e6f11 feat: button add outline theme (#2224) 1 year ago
calendar f62c575cd2 fix: fixed rendering of monthly calendar events (#1826) 2 years ago
card dab2c08959 feat: chore backup 3 years ago
carousel 9b82b7e001 chore: eslint fix 2 years ago
cascader cb594f1360 fix: optimize code logic in Cascader for undefined value (#2103) 1 year ago
checkbox 6033634945 chore: add token description 1 year ago
collapse 14bacab9c7 feat: collapse clickHeaderToExpand api 2 years ago
collapsible 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
datePicker d8f24f2985 perf: remove redundant clones and modify cloneDeep(lodash) call to copy(fast-copy) (#2002) 1 year ago
descriptions e5d53e0280 fix: [Descriptions] Children are not read directly in foundation, but adapter get is used to adapt to other frameworks. Adjust the calculation of horizontal colspan value to automatically complete the remaining part(#2121) 1 year ago
divider 24163ca972 chore: main merge release 3 years ago
dropdown a79c0201c5 fix: prevent popover flow out of the radius limit area 1 year ago
empty f76bd5879d feat: init 4 years ago
form 599618a8c7 chore: setValue ts interface support recur path (#2245) 1 year 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 2303a57968 feat: ImagePreview add onDownloadError API (#2093) 1 year ago
input 97330590ff fix: fixed autoFocus bug in Input and TextArea #2193 1 year ago
inputNumber f05ed24b0b chore: remove file head lint rule which already set global (#1706) 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 9c0f45c3d5 feat: add modalContentClass property 1 year ago
navigation 911c0cb5a8 fix: fix Nav openKeys bug when selectedKeys change #2115 (#2123) 1 year ago
notification 04fe071c39 fix: fix notification type define of id (#1993) 1 year ago
overflowList d8f24f2985 perf: remove redundant clones and modify cloneDeep(lodash) call to copy(fast-copy) (#2002) 1 year ago
pagination e082a7d7c0 perf: improve pagination small size render (#1714) 2 years ago
popconfirm 1394ae47d6 style: popconfirm icon=null, remove marginLeft (#1828) 2 years ago
popover c8e5ca706b fix: popover trigger set (#1820) 2 years ago
progress bd83d1f9cd chore: format code 3 years ago
radio 506a7ca516 fix: fix type = button / card RadioGroup style, close #1954, #2126 (#2149) 1 year ago
rating f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
scripts f76bd5879d feat: init 4 years ago
scrollList 75a6baf18a fix: replace animation token with none token (#1259) 3 years ago
select 32a1abddb5 fix: controled select text will flash after search and select option (#2170) 1 year ago
sideSheet 872a8e8d45 feat: sidesheet support for customized closeIcon (#1965) 1 year ago
skeleton 9c8ad48bd0 style: change skeleton radius form 4px to --semi-border-radius-small (#1739) 2 years ago
slider daf2b6d6ec fix: fix slider tooltip not hide 1 year ago
space f76bd5879d feat: init 4 years ago
spin 1ed01d9df9 fix: add vertical-align top to fix wrong height (#1508) 2 years ago
steps 8420edae32 fix: fix vertical basic step style error after setting box-sizing to border-box globally (#1984) 1 year ago
switch f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
table 74998fd369 fix: fixed Table text-align bug in RTL mode #2172 (#2214) 1 year ago
tabs b373205e28 feat: tabs font size token 1 year ago
tag 1e4b31f644 feat: tag support suffixIcon、prefixIcon (#1832) 2 years ago
tagInput a154de7e7d style: fix tagInput insetLabel not align with other component (#2216) 1 year ago
timePicker d7a4270593 fix: when using timeZone and disabledHours at the same time in timepicker display value does not meet expectations (#2083) 1 year ago
timeline 6511ea7423 fix: #865 3 years ago
toast b7830e1580 feat: toast component add theme config 1 year ago
tooltip 8fc0554cab fix: fix tooltip not show when already hover on mount (#2199) 1 year ago
transfer ef375fb64e refactor: change react-sortable-hoc to dnd-kit for Transfer/Taginput … (#1738) 2 years ago
tree 75eb4560fe style: [Tree] Fix the problem that the line break style in renderFullLabel is limited by the li tag (#2238) 1 year ago
treeSelect c3cef91813 fix: Fixed TreeSelect is in defaultOpen mode, the popup cannot be closed when clicking outside (#2254) 1 year ago
typography 31dfdeec20 feat: size of Typography support inherit (#2244) 1 year ago
upload 599c348d74 fix: upload addOnPasting switch to false should not trigger process (#2176) 1 year ago
utils d8f24f2985 perf: remove redundant clones and modify cloneDeep(lodash) call to copy(fast-copy) (#2002) 1 year 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 b9a08d8581 v2.59.0 1 year ago
tsconfig.json 599618a8c7 chore: setValue ts interface support recur path (#2245) 1 year 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