├── .changeset ├── README.md └── config.json ├── .eslintignore ├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── close-stale-issues-and-PRs.yml │ └── config.yml ├── assets │ └── images │ │ ├── design-cover.png │ │ ├── logo.svg │ │ └── storybook.svg ├── pull_request_template.md ├── stale.yml └── workflows │ ├── codeql-analysis.yml │ └── dev-publish.yml ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── .lintstagedrc ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .run └── jest.config.js.run.xml ├── .vscode └── settings.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── apps └── storybook │ ├── .storybook │ └── main.js │ ├── package.json │ └── stories │ ├── affix │ └── affix.stories.tsx │ ├── alert │ └── alert.stories.tsx │ ├── avatar │ ├── avatar-group.stories.tsx │ └── avatar.stories.tsx │ ├── back-top │ └── back-top.stories.tsx │ ├── badge │ └── badge.stories.tsx │ ├── breadcrumb │ └── breadcrumb.stories.tsx │ ├── button │ ├── button-group.stories.tsx │ └── button.stories.tsx │ ├── calendar │ └── calendar.stories.tsx │ ├── card │ └── card.stories.tsx │ ├── cascader │ └── cascader.stories.tsx │ ├── checkbox │ ├── checkbox-group.stories.tsx │ └── checkbox.stories.tsx │ ├── collapse │ └── collapse.stories.tsx │ ├── comment │ └── comment.stories.tsx │ ├── config-provider │ └── config-provider.stories.tsx │ ├── date-picker │ ├── date-picker.stories.tsx │ ├── month-picker.stories.tsx │ ├── quarter-picker.stories.tsx │ ├── range-picker.stories.tsx │ ├── week-picker.stories.tsx │ └── year-picker.stories.tsx │ ├── description │ └── description.stories.tsx │ ├── divider │ └── divider.stories.tsx │ ├── drawer │ └── drawer.stories.tsx │ ├── dropdown │ └── dropdown.stories.tsx │ ├── empty │ └── empty.stories.tsx │ ├── grid │ └── grid.stories.tsx │ ├── icon │ └── icon.stories.tsx │ ├── image │ └── image.stories.tsx │ ├── input-number │ └── input-number.stories.tsx │ ├── input-tag │ └── input-tag.stories.tsx │ ├── input │ ├── input.stories.tsx │ ├── password.stories.tsx │ ├── search.stories.tsx │ └── textarea.stories.tsx │ ├── link │ └── link.stories.tsx │ ├── list │ └── list.stories.tsx │ ├── loading │ └── loading.stories.tsx │ ├── menu │ └── menu.stories.tsx │ ├── message │ └── message.stories.tsx │ ├── modal │ └── modal.stories.tsx │ ├── notification │ └── notification.stories.tsx │ ├── page-header │ └── page-header.stories.tsx │ ├── pagination │ └── pagination.stories.tsx │ ├── popconfirm │ └── popconfirm.stories.tsx │ ├── popover │ └── popover.stories.tsx │ ├── progress │ └── progress.stories.tsx │ ├── radio │ ├── radio-group.stories.tsx │ └── radio.stories.tsx │ ├── rate │ └── rate.stories.tsx │ ├── result │ └── result.stories.tsx │ ├── select │ └── select.stories.tsx │ ├── skeleton │ └── skeleton.stories.tsx │ ├── slider │ └── slider.stories.tsx │ ├── space │ └── space.stories.tsx │ ├── spin │ └── spin.stories.tsx │ ├── statistic │ ├── countdown.stories.tsx │ └── statistic.stories.tsx │ ├── step │ └── steps.stories.tsx │ ├── switch │ └── switch.stories.tsx │ ├── tabs │ └── tabs.stories.tsx │ ├── tag │ └── tag.stories.tsx │ ├── time-picker │ ├── date-picker.stories.tsx │ └── range-picker.stories.tsx │ ├── timeline │ └── timeline.stories.tsx │ ├── trigger │ └── trigger.stories.tsx │ ├── typography │ ├── heading.stories.tsx │ ├── paragraph.stories.tsx │ ├── text.stories.tsx │ └── typography.stories.tsx │ └── upload │ └── upload.stories.tsx ├── commitlint.config.js ├── crowdin.yml ├── cypress.json ├── jest.config.js ├── package.json ├── packages ├── affix │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── affix.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── alert │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── alert.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── avatar │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── avatar-group-context.tsx │ │ ├── avatar-group.tsx │ │ ├── avatar.tsx │ │ ├── icon-avatar.tsx │ │ ├── img-avatar.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ ├── text-avatar.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── back-top │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── back-top.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── badge │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── badge.tsx │ │ ├── count.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ ├── usePrevious.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── breadcrumb │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── breadcrumb-context.ts │ │ ├── breadcrumb.tsx │ │ ├── breadcrumbItem.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── button │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── button-group-context.tsx │ │ ├── button-group.tsx │ │ ├── button.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── calendar │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── calendar.tsx │ │ ├── card-calendar.tsx │ │ ├── complete-calendar.tsx │ │ ├── day-card-calednar.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── month-big-calendar.tsx │ │ ├── month-card-calendar.tsx │ │ ├── style.ts │ │ ├── styles │ │ │ ├── complete-calendar-style.ts │ │ │ ├── day-card-calendar-style.ts │ │ │ ├── month-big-calendar-style.ts │ │ │ ├── month-card-calendar-style.ts │ │ │ └── year-big-calendar-style.ts │ │ ├── util.ts │ │ ├── vite-env.d.ts │ │ └── year-big-calendar.tsx │ ├── tsconfig.json │ └── vite.config.ts ├── card │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── card-meta.tsx │ │ ├── card.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ └── style.ts │ ├── tsconfig.json │ └── vite.config.ts ├── cascader │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── cascader.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── list-selector.tsx │ │ ├── multiple-cascader.tsx │ │ ├── selector.tsx │ │ ├── single-cascader.tsx │ │ ├── style.ts │ │ ├── util.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── checkbox │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── checkbox-group.tsx │ │ ├── checkbox.tsx │ │ ├── context.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── collapse │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── collapse-context.tsx │ │ ├── collapse-item.tsx │ │ ├── collapse.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── comment │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── comment.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── config-provider │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── config-provider-context.tsx │ │ ├── config-provider.tsx │ │ ├── config.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── locale │ │ │ ├── cs-CS.tsx │ │ │ ├── da-DK.tsx │ │ │ ├── de-DE.tsx │ │ │ ├── def.tsx │ │ │ ├── el-GR.tsx │ │ │ ├── en-US.tsx │ │ │ ├── es-ES.tsx │ │ │ ├── fi-FI.tsx │ │ │ ├── fr-FR.tsx │ │ │ ├── it-IT.tsx │ │ │ ├── ja-JP.tsx │ │ │ ├── ko-KR.tsx │ │ │ ├── nl-NL.tsx │ │ │ ├── no-NO.tsx │ │ │ ├── pl-PL.tsx │ │ │ ├── pt-PT.tsx │ │ │ ├── ro-RO.tsx │ │ │ ├── ru-RU.tsx │ │ │ ├── sv-SE.tsx │ │ │ ├── uk-UA.tsx │ │ │ ├── zh-CN.tsx │ │ │ └── zh-TW.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── date-picker │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── context.ts │ │ ├── index.ts │ │ ├── input │ │ │ ├── interface.ts │ │ │ ├── rangeInput.tsx │ │ │ ├── singleInput.tsx │ │ │ └── style.ts │ │ ├── interface.ts │ │ ├── panels │ │ │ ├── basic-body-section.tsx │ │ │ ├── basic-footer-section.tsx │ │ │ ├── basic-header-section.tsx │ │ │ ├── date │ │ │ │ ├── index.tsx │ │ │ │ ├── interface.ts │ │ │ │ └── style.ts │ │ │ ├── interface.ts │ │ │ ├── month │ │ │ │ ├── index.tsx │ │ │ │ ├── interface.ts │ │ │ │ └── style.ts │ │ │ ├── quarter │ │ │ │ ├── index.tsx │ │ │ │ ├── interface.ts │ │ │ │ └── style.ts │ │ │ ├── range │ │ │ │ ├── index.tsx │ │ │ │ ├── interface.ts │ │ │ │ └── style.ts │ │ │ ├── style.ts │ │ │ ├── week-list-header.tsx │ │ │ ├── week │ │ │ │ ├── index.tsx │ │ │ │ ├── interface.ts │ │ │ │ └── style.ts │ │ │ └── year │ │ │ │ ├── index.tsx │ │ │ │ ├── interface.ts │ │ │ │ └── style.ts │ │ ├── range-date-picker.tsx │ │ ├── signle-date-picker.tsx │ │ ├── signle-year-picker.tsx │ │ ├── single-month-picker.tsx │ │ ├── single-quarter-picker.tsx │ │ ├── single-week-picker.tsx │ │ ├── utils │ │ │ ├── dateHelper.ts │ │ │ ├── hooks.ts │ │ │ ├── pad.ts │ │ │ └── uiHelpers.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── description │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── description.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── divider │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── divider.tsx │ │ ├── dividerWithText.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── drawer │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── drawer.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── dropdown │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── dropdown.tsx │ │ ├── droplist-item.tsx │ │ ├── droplist.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── empty │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── empty.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── grid │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── col.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── row-context.tsx │ │ ├── row.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── icon │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── create-icon.tsx │ │ ├── icon.tsx │ │ ├── icons │ │ │ ├── add.tsx │ │ │ ├── align-bottom.tsx │ │ │ ├── align-h-center.tsx │ │ │ ├── align-left.tsx │ │ │ ├── align-right.tsx │ │ │ ├── align-top.tsx │ │ │ ├── align-v-center.tsx │ │ │ ├── attachment.tsx │ │ │ ├── bind.tsx │ │ │ ├── branch.tsx │ │ │ ├── bug.tsx │ │ │ ├── calendar.tsx │ │ │ ├── camera.tsx │ │ │ ├── caret-down.tsx │ │ │ ├── caret-left.tsx │ │ │ ├── caret-right.tsx │ │ │ ├── clear.tsx │ │ │ ├── close.tsx │ │ │ ├── comment.tsx │ │ │ ├── configuration.tsx │ │ │ ├── contribute.tsx │ │ │ ├── copy.tsx │ │ │ ├── delete-outline.tsx │ │ │ ├── delete.tsx │ │ │ ├── dependency.tsx │ │ │ ├── docs.tsx │ │ │ ├── doubt.tsx │ │ │ ├── down.tsx │ │ │ ├── download.tsx │ │ │ ├── drag-point.tsx │ │ │ ├── email.tsx │ │ │ ├── empty.tsx │ │ │ ├── error-circle.tsx │ │ │ ├── error.tsx │ │ │ ├── exit.tsx │ │ │ ├── eye-off.tsx │ │ │ ├── eye-on.tsx │ │ │ ├── file-default.tsx │ │ │ ├── file-excel.tsx │ │ │ ├── file-music.tsx │ │ │ ├── file-pdf.tsx │ │ │ ├── file-picture.tsx │ │ │ ├── file-ppt.tsx │ │ │ ├── file-video.tsx │ │ │ ├── file-word.tsx │ │ │ ├── file-wps.tsx │ │ │ ├── filter.tsx │ │ │ ├── floder.tsx │ │ │ ├── fork.tsx │ │ │ ├── full-screen.tsx │ │ │ ├── fx.tsx │ │ │ ├── hand.tsx │ │ │ ├── history.tsx │ │ │ ├── home.tsx │ │ │ ├── horizontal-center.tsx │ │ │ ├── horizontal-end.tsx │ │ │ ├── horizontal-full.tsx │ │ │ ├── horizontal-start.tsx │ │ │ ├── image-default.tsx │ │ │ ├── image-error.tsx │ │ │ ├── info-cricle.tsx │ │ │ ├── info.tsx │ │ │ ├── like-fill.tsx │ │ │ ├── like-outline.tsx │ │ │ ├── link.tsx │ │ │ ├── loading.tsx │ │ │ ├── lock.tsx │ │ │ ├── minimize.tsx │ │ │ ├── minus.tsx │ │ │ ├── more.tsx │ │ │ ├── move.tsx │ │ │ ├── next-double.tsx │ │ │ ├── next.tsx │ │ │ ├── open-window.tsx │ │ │ ├── pen.tsx │ │ │ ├── people.tsx │ │ │ ├── play-fill.tsx │ │ │ ├── play-outline.tsx │ │ │ ├── plus.tsx │ │ │ ├── pre-double.tsx │ │ │ ├── previous.tsx │ │ │ ├── question-circle.tsx │ │ │ ├── reduce.tsx │ │ │ ├── refresh.tsx │ │ │ ├── reset.tsx │ │ │ ├── result-403.tsx │ │ │ ├── result-404.tsx │ │ │ ├── result-500.tsx │ │ │ ├── search.tsx │ │ │ ├── setting.tsx │ │ │ ├── slash.tsx │ │ │ ├── sort.tsx │ │ │ ├── sorter-default.tsx │ │ │ ├── sorter-down.tsx │ │ │ ├── sorter-up.tsx │ │ │ ├── star-fill.tsx │ │ │ ├── star-outline.tsx │ │ │ ├── start-outline.tsx │ │ │ ├── stoke-width.tsx │ │ │ ├── success-circle.tsx │ │ │ ├── success.tsx │ │ │ ├── switch.tsx │ │ │ ├── text-align-center.tsx │ │ │ ├── text-align-left.tsx │ │ │ ├── text-align-right.tsx │ │ │ ├── time.tsx │ │ │ ├── unlock.tsx │ │ │ ├── up.tsx │ │ │ ├── upload.tsx │ │ │ ├── vertical-center.tsx │ │ │ ├── vertical-end.tsx │ │ │ ├── vertical-start.tsx │ │ │ ├── video-play.tsx │ │ │ ├── warning-circle.tsx │ │ │ ├── warning.tsx │ │ │ ├── window-bottom.tsx │ │ │ ├── window-left.tsx │ │ │ ├── window-minimize.tsx │ │ │ └── window-right.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── image │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── image.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── input-number │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── Decimal.ts │ │ ├── index.ts │ │ ├── input-number.tsx │ │ ├── interface.ts │ │ ├── style.ts │ │ ├── utils.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── input-tag │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── input-tag.tsx │ │ ├── interface.ts │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── input │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── autoSizeTextAreaHeight.tsx │ │ ├── index.ts │ │ ├── input.tsx │ │ ├── interface.ts │ │ ├── password.tsx │ │ ├── search.tsx │ │ ├── style.ts │ │ ├── text-area.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── link │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── link.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── list │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── list-item-meta.tsx │ │ ├── list-item.tsx │ │ ├── list.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── loading │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── loading.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── menu │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── horizontal │ │ │ ├── horizontal-menu-item.tsx │ │ │ ├── horizontal-menu.tsx │ │ │ ├── horizontal-sub-menu.tsx │ │ │ └── style.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── menu-context.tsx │ │ ├── menu.tsx │ │ ├── vertical │ │ │ ├── style.ts │ │ │ ├── vertical-menu-item.tsx │ │ │ ├── vertical-menu.tsx │ │ │ └── vertical-sub-menu.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── message │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── hook.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── message-group.tsx │ │ ├── message-store.ts │ │ ├── message.tsx │ │ └── style.ts │ ├── tsconfig.json │ └── vite.config.ts ├── modal │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── hook.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── modal-group.tsx │ │ ├── modal-store.ts │ │ ├── modal.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── notification │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── hook.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── notification-group.tsx │ │ ├── notification-store.ts │ │ ├── notification.tsx │ │ └── style.ts │ ├── tsconfig.json │ └── vite.config.ts ├── page-header │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── page-header.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── pagination │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── pagination.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── popconfirm │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── popconfirm.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── popover │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── popover.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── progress │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── circle-progress-style.ts │ │ ├── circle-progress.tsx │ │ ├── common-style.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── line-progress-style.tsx │ │ ├── line-progress.tsx │ │ ├── mini-circle-progress-style.ts │ │ ├── mini-circle-progress.tsx │ │ ├── mini-ring-progress.tsx │ │ ├── progress.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── radio │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── radio-group-context.tsx │ │ ├── radio-group.tsx │ │ ├── radio.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── rate │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── rate.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── react │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── result │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── result.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── select │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── multiple-select.tsx │ │ ├── select.tsx │ │ ├── single-select.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── skeleton │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── skeleton-image.tsx │ │ ├── skeleton-text.tsx │ │ ├── skeleton.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── slider │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── NumTick.tsx │ │ ├── bar.tsx │ │ ├── content.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── markBar.tsx │ │ ├── slider.tsx │ │ ├── style.ts │ │ ├── tick.tsx │ │ ├── useElementSize.ts │ │ ├── useOffset.ts │ │ ├── utils.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── space │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── space.tsx │ │ ├── style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── spin │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── spin.tsx │ │ ├── styles.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── statistic │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── countdown.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── statistic.tsx │ │ ├── style.ts │ │ ├── util.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── steps │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── dot-step.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── navigate-step.tsx │ │ ├── steps.tsx │ │ ├── style.ts │ │ ├── style │ │ │ ├── dot-line-horizontal-style.ts │ │ │ ├── dot-line-vertical-style.ts │ │ │ └── navigation-horizontal-style.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── switch │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ ├── switch.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── system │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── dayjs.ts │ │ ├── easing.ts │ │ ├── index.ts │ │ ├── is.ts │ │ ├── keycode.ts │ │ ├── merge-ref.ts │ │ ├── omit.ts │ │ ├── pick.ts │ │ ├── raf.ts │ │ ├── style.ts │ │ ├── throttle-by-raf.ts │ │ ├── use-merge-value.ts │ │ ├── use-previous.ts │ │ ├── utils.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── table │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── filterFn.ts │ │ ├── filters-editor.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── raw-tip.tsx │ │ ├── react-table.d.ts │ │ ├── render-data-driven-table.tsx │ │ ├── render-direct-table.tsx │ │ ├── style.ts │ │ ├── table-context.ts │ │ ├── table-data.ts │ │ ├── table-filter.tsx │ │ ├── table.tsx │ │ ├── tbody.tsx │ │ ├── td.tsx │ │ ├── tfoot.tsx │ │ ├── th.tsx │ │ ├── thead.tsx │ │ ├── tr.tsx │ │ ├── utils.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── tabs │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── constants.ts │ │ ├── context │ │ │ ├── context.tsx │ │ │ └── interface.ts │ │ ├── index.ts │ │ ├── interface.tsx │ │ ├── style.ts │ │ ├── tab-pane.tsx │ │ ├── tabs.tsx │ │ ├── utils.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── tag │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ ├── tag.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── theme │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── color-palette.ts │ │ ├── global-color.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ ├── vite-env.d.ts │ │ └── z-index.ts │ ├── tsconfig.json │ └── vite.config.ts ├── time-picker │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── context.ts │ │ ├── index.ts │ │ ├── input │ │ │ ├── interface.ts │ │ │ ├── rangeInput.tsx │ │ │ ├── singleInput.tsx │ │ │ └── style.ts │ │ ├── interface.ts │ │ ├── popup │ │ │ ├── amPmColumn.tsx │ │ │ ├── baseColumn.tsx │ │ │ ├── hoursColumn.tsx │ │ │ ├── interface.ts │ │ │ ├── minutesColumn.tsx │ │ │ ├── range-picker-body.tsx │ │ │ ├── secondsColumn.tsx │ │ │ ├── style.ts │ │ │ ├── time-picker-body.tsx │ │ │ └── utils.ts │ │ ├── range-picker.tsx │ │ ├── single-picker.tsx │ │ ├── utils.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── timeline │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── styles.ts │ │ ├── timeline-context.tsx │ │ ├── timeline.tsx │ │ └── timelineItem.tsx │ ├── tsconfig.json │ └── vite.config.ts ├── trigger │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── popup.tsx │ │ ├── style.ts │ │ ├── transform.ts │ │ ├── triangle.tsx │ │ ├── trigger-context.tsx │ │ ├── trigger-provider.tsx │ │ ├── trigger.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── typography │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── base-style.ts │ │ ├── base.tsx │ │ ├── copyable-config.tsx │ │ ├── ellipsis-config.ts │ │ ├── heading.tsx │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── measure-element.ts │ │ ├── paragraph-style.ts │ │ ├── paragraph.tsx │ │ ├── text-style.ts │ │ ├── text.tsx │ │ ├── typograph-style.ts │ │ ├── typography.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts └── upload │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ ├── index.ts │ ├── interface.tsx │ ├── list │ │ ├── index.tsx │ │ ├── pictureItem.tsx │ │ ├── textItem.tsx │ │ └── uploadProgress.tsx │ ├── request.ts │ ├── style.ts │ ├── trigger-node.tsx │ ├── upload.tsx │ ├── uploader.tsx │ └── utils.ts │ ├── tsconfig.json │ └── vite.config.ts ├── plop-templates ├── component │ ├── .gitignore │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── interface.ts │ │ ├── style.ts │ │ ├── vite-env.d.ts │ │ └── {{dashCase name}}.tsx │ ├── stories │ │ └── {{dashCase name}}.stories.tsx │ ├── tsconfig.json │ └── vite.config.ts └── icon │ ├── icon.tsx │ └── story.tsx ├── plopfile.js ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── setup-jest.js ├── tsconfig.json └── turbo.json /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.6.3/schema.json", 3 | "changelog": [ 4 | "@changesets/changelog-github", 5 | { "repo": "illacloud/illa-design" } 6 | ], 7 | "commit": false, 8 | "linked": [], 9 | "access": "restricted", 10 | "baseBranch": "main", 11 | "updateInternalDependencies": "patch", 12 | "ignore": [] 13 | } 14 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | plop-templates/** -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parser: "@typescript-eslint/parser", 4 | env: { 5 | es6: true, 6 | browser: true, 7 | node: true, 8 | }, 9 | settings: { 10 | react: { 11 | version: "detect", 12 | }, 13 | "import/resolver": { 14 | typescript: { 15 | project: "packages/*/tsconfig.json", 16 | }, 17 | }, 18 | }, 19 | extends: [ 20 | "plugin:import/recommended", 21 | "plugin:import/typescript", 22 | "plugin:react/recommended", 23 | "plugin:react-hooks/recommended", 24 | "prettier", 25 | ], 26 | plugins: ["@typescript-eslint/eslint-plugin", "import"], 27 | parserOptions: { 28 | ecmaFeatures: { 29 | jsx: true, 30 | }, 31 | ecmaVersion: 2020, 32 | }, 33 | rules: { 34 | "react/react-in-jsx-scope": "off", 35 | "import/default": "off", 36 | "react/no-unknown-property": ["error", { ignore: ["css"] }], 37 | }, 38 | } 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/close-stale-issues-and-PRs.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues and PR' 2 | on: 3 | schedule: 4 | - cron: '30 1 * * *' 5 | 6 | jobs: 7 | stale: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/stale@v7 11 | with: 12 | stale-issue-message: 'This issue is stale because it has been open 5 days with no activity. Remove stale label or comment or this will be closed in 2 days.' 13 | stale-pr-message: 'This PR is stale because it has been open 5 days with no activity. Remove stale label or comment or this will be closed in 2 days.' 14 | close-issue-message: 'This issue was closed because it has been stalled for 2 days with no activity.' 15 | days-before-issue-stale: 5 16 | days-before-pr-stale: 5 17 | days-before-issue-close: 2 18 | days-before-pr-close: 2 19 | exempt-issue-labels: 'bug,work-in-progress' 20 | exempt-all-assignees: true -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Ask a question 4 | url: https://github.com/illacloud/discussions 5 | about: Ask questions and discuss topics with other community members 6 | - name: Chat with other community members 7 | url: https://discord.gg/illacloud 8 | about: The official illa Cloud Discord community 9 | -------------------------------------------------------------------------------- /.github/assets/images/design-cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/illacloud/illa-design/0d7917c47fed40c80fb2f381d22bb9d67ea8b967/.github/assets/images/design-cover.png -------------------------------------------------------------------------------- /.github/assets/images/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## 📝 Description 2 | 3 | Add a brief description. 4 | 5 | ## 💣 Is this a breaking change (Yes/No): 6 | 7 | - [ ] Yes 8 | - [x] No 9 | 10 | ## 🚧 How to migrate? 11 | 12 | Don't need. 13 | 14 | ## 📝 Additional Information 15 | 16 | lol -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Number of days of inactivity before an issue becomes stale 2 | daysUntilStale: 7 3 | # Number of days of inactivity before a stale issue is closed 4 | daysUntilClose: 7 5 | # Issues with these labels will never be considered stale 6 | exemptLabels: 7 | - pinned 8 | - security 9 | # Label to use when marking an issue as stale 10 | staleLabel: stale 11 | # Comment to post when marking an issue as stale. Set to `false` to disable 12 | markComment: > 13 | This issue has been automatically marked as stale because it has not had 14 | recent activity. It will be closed if no further activity occurs. Thank you 15 | for your contributions. 16 | # Comment to post when closing a stale issue. Set to `false` to disable 17 | closeComment: true -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | pnpm commitlint --edit "$1" 5 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | pnpm lint-staged -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- 1 | { 2 | "!(*test).{ts,tsx}":[prettier --write, eslint] 3 | } -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | public-hoist-pattern[]=*storybook* -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # snapchat 2 | __snapshots__/** 3 | *.test.tsx.snap 4 | plop-templates/** -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "bracketSpacing": true, 3 | "jsxBracketSameLine": false, 4 | "jsxSingleQuote": false, 5 | "printWidth": 80, 6 | "proseWrap": "always", 7 | "semi": false, 8 | "singleQuote": false, 9 | "tabWidth": 2, 10 | "trailingComma": "all" 11 | } -------------------------------------------------------------------------------- /.run/jest.config.js.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |