@cdx-ui/components 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +24 -0
- package/README.md +6 -2
- package/coverage.svg +1 -1
- package/docs/components/accordion/content.md +538 -0
- package/docs/components/alert/content.md +203 -0
- package/docs/components/alert-dialog/content.md +319 -0
- package/docs/components/avatar/content.md +368 -0
- package/docs/components/avatar/design.md +202 -0
- package/docs/components/badge/content.md +235 -0
- package/docs/components/bottom-sheet/content.md +351 -0
- package/docs/components/bottom-sheet/design.md +249 -0
- package/docs/components/breadcrumbs/content.md +169 -0
- package/docs/components/button/content.md +398 -0
- package/docs/components/button/design.md +258 -0
- package/docs/components/calendar/content.md +137 -0
- package/docs/components/card/content.md +283 -0
- package/docs/components/carousel/content.md +416 -0
- package/docs/components/checkbox/content.md +236 -0
- package/docs/components/checkbox/design.md +214 -0
- package/docs/components/chip/content.md +439 -0
- package/docs/components/chip/design.md +418 -0
- package/docs/components/color-area/content.md +86 -0
- package/docs/components/color-field/content.md +134 -0
- package/docs/components/color-picker/content.md +208 -0
- package/docs/components/color-slider/content.md +120 -0
- package/docs/components/color-swatch/content.md +64 -0
- package/docs/components/color-swatch-picker/content.md +126 -0
- package/docs/components/content.md +97 -0
- package/docs/components/currency-input/content.md +205 -0
- package/docs/components/data-grid/content.md +522 -0
- package/docs/components/date-field/content.md +147 -0
- package/docs/components/date-picker/content.md +360 -0
- package/docs/components/date-range-picker/content.md +301 -0
- package/docs/components/date-time-field/content.md +157 -0
- package/docs/components/date-time-list/content.md +105 -0
- package/docs/components/date-time-picker/content.md +272 -0
- package/docs/components/dialog/content.md +436 -0
- package/docs/components/dialog/design.md +192 -0
- package/docs/components/divider/content.md +112 -0
- package/docs/components/drawer/content.md +436 -0
- package/docs/components/field/content.md +277 -0
- package/docs/components/form/content.md +62 -0
- package/docs/components/full-screen-dialog/content.md +881 -0
- package/docs/components/heading/content.md +55 -0
- package/docs/components/icon/content.md +190 -0
- package/docs/components/icon-button/content.md +200 -0
- package/docs/components/icon-button/design.md +165 -0
- package/docs/components/image/content.md +104 -0
- package/docs/components/input/content.md +281 -0
- package/docs/components/input/design.md +389 -0
- package/docs/components/insurance-disclosure/content.md +103 -0
- package/docs/components/link/content.md +180 -0
- package/docs/components/link/design.md +160 -0
- package/docs/components/list-item/content.md +695 -0
- package/docs/components/menu/content.md +1247 -0
- package/docs/components/month-calendar/content.md +84 -0
- package/docs/components/month-picker/content.md +273 -0
- package/docs/components/otp-input/content.md +327 -0
- package/docs/components/progress-bar/content.md +87 -0
- package/docs/components/progress-circle/content.md +176 -0
- package/docs/components/progress-segmented/content.md +119 -0
- package/docs/components/quick-action-button/content.md +154 -0
- package/docs/components/quick-action-button/design.md +170 -0
- package/docs/components/radio/content.md +224 -0
- package/docs/components/range-calendar/content.md +123 -0
- package/docs/components/reorderable-list/content.md +309 -0
- package/docs/components/scoped-theme/content.md +47 -0
- package/docs/components/scroll-shadow/content.md +686 -0
- package/docs/components/select/content.md +400 -0
- package/docs/components/select/design.md +301 -0
- package/docs/components/skeleton/content.md +103 -0
- package/docs/components/slider/content.md +423 -0
- package/docs/components/stack/content.md +161 -0
- package/docs/components/switch/content.md +150 -0
- package/docs/components/switch/design.md +208 -0
- package/docs/components/table/content.md +548 -0
- package/docs/components/table-pagination/content.md +177 -0
- package/docs/components/tabs/content.md +292 -0
- package/docs/components/text/content.md +142 -0
- package/docs/components/textarea/content.md +222 -0
- package/docs/components/tile/content.md +703 -0
- package/docs/components/toast/content.md +456 -0
- package/docs/components/toggle-button/content.md +505 -0
- package/docs/components/tooltip/content.md +350 -0
- package/docs/components/virtualized-list/content.md +250 -0
- package/docs/foundations/content.md +9 -0
- package/docs/foundations/expressions/icons/content.md +19 -0
- package/docs/foundations/styles/tokens/all-tokens/content.md +192 -0
- package/docs/foundations/styles/tokens/what-are-tokens/content.md +33 -0
- package/docs/foundations/styles/tokens/what-are-tokens/design.md +33 -0
- package/docs/getting-started/content.md +4 -0
- package/docs/getting-started/designers/content.md +13 -0
- package/docs/getting-started/designers/design.md +13 -0
- package/docs/getting-started/developers/accessibility/content.md +31 -0
- package/docs/getting-started/developers/content.md +612 -0
- package/docs/getting-started/developers/styling/content.md +193 -0
- package/docs/llms.txt +193 -0
- package/docs/patterns/account-management/content.md +75 -0
- package/docs/patterns/authentication/content.md +52 -0
- package/docs/patterns/content.md +10 -0
- package/docs/patterns/dashboard/content.md +39 -0
- package/docs/patterns/empty-states/content.md +31 -0
- package/docs/patterns/forms/content.md +109 -0
- package/docs/patterns/onboarding/content.md +69 -0
- package/docs/patterns/payments/content.md +35 -0
- package/docs/patterns/settings/content.md +72 -0
- package/docs/resources/content.md +9 -0
- package/docs/resources/figma-libraries/content.md +42 -0
- package/docs/resources/release-notes/0.0.1-beta.118/content.md +27 -0
- package/docs/resources/release-notes/0.0.1-beta.122/content.md +21 -0
- package/docs/resources/release-notes/0.0.1-beta.124/content.md +16 -0
- package/docs/resources/release-notes/0.0.1-beta.126/content.md +10 -0
- package/docs/resources/release-notes/0.0.1-beta.127/content.md +14 -0
- package/docs/resources/release-notes/0.0.1-beta.128/content.md +9 -0
- package/docs/resources/release-notes/0.0.1-beta.129/content.md +18 -0
- package/docs/resources/release-notes/0.0.1-beta.130/content.md +18 -0
- package/docs/resources/release-notes/0.0.1-beta.133/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.134/content.md +17 -0
- package/docs/resources/release-notes/0.0.1-beta.136/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.137/content.md +10 -0
- package/docs/resources/release-notes/0.0.1-beta.138/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.139/content.md +13 -0
- package/docs/resources/release-notes/0.0.1-beta.140/content.md +26 -0
- package/docs/resources/release-notes/0.0.1-beta.141/content.md +63 -0
- package/docs/resources/release-notes/0.0.1-beta.142/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.143/content.md +12 -0
- package/docs/resources/release-notes/0.0.1-beta.144/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.145/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.147/content.md +10 -0
- package/docs/resources/release-notes/0.0.1-beta.149/content.md +10 -0
- package/docs/resources/release-notes/0.0.1-beta.150/content.md +13 -0
- package/docs/resources/release-notes/0.0.1-beta.152/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.154/content.md +15 -0
- package/docs/resources/release-notes/0.0.1-beta.156/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.158/content.md +9 -0
- package/docs/resources/release-notes/0.0.1-beta.159/content.md +11 -0
- package/docs/resources/release-notes/0.0.1-beta.160/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.161/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.163/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.164/content.md +9 -0
- package/docs/resources/release-notes/0.0.1-beta.166/content.md +17 -0
- package/docs/resources/release-notes/0.0.1-beta.167/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.168/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.169/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.171/content.md +16 -0
- package/docs/resources/release-notes/0.0.1-beta.172/content.md +24 -0
- package/docs/resources/release-notes/0.0.1-beta.173/content.md +15 -0
- package/docs/resources/release-notes/0.0.1-beta.174/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.176/content.md +32 -0
- package/docs/resources/release-notes/0.0.1-beta.179/content.md +11 -0
- package/docs/resources/release-notes/0.0.1-beta.182/content.md +13 -0
- package/docs/resources/release-notes/0.0.1-beta.185/content.md +7 -0
- package/docs/resources/release-notes/0.0.1-beta.187/content.md +27 -0
- package/docs/resources/release-notes/0.1.1/content.md +23 -0
- package/docs/resources/release-notes/0.1.2/content.md +7 -0
- package/docs/resources/release-notes/0.1.4/content.md +19 -0
- package/docs/resources/release-notes/0.1.5/content.md +7 -0
- package/docs/resources/release-notes/0.1.6/content.md +7 -0
- package/docs/resources/release-notes/0.2.0/content.md +31 -0
- package/docs/resources/release-notes/0.2.1/content.md +17 -0
- package/docs/resources/release-notes/0.2.2/content.md +11 -0
- package/docs/resources/release-notes/0.2.3/content.md +15 -0
- package/docs/resources/release-notes/content.md +64 -0
- package/lib/commonjs/components/Checkbox/index.js.map +1 -1
- package/lib/commonjs/components/DateTimeList/index.js +11 -26
- package/lib/commonjs/components/DateTimeList/index.js.map +1 -1
- package/lib/commonjs/components/DateTimeList/styles.js +2 -12
- package/lib/commonjs/components/DateTimeList/styles.js.map +1 -1
- package/lib/commonjs/components/Heading/index.js.map +1 -1
- package/lib/commonjs/components/Icon/index.js.map +1 -1
- package/lib/commonjs/components/ListItem/index.js +170 -9
- package/lib/commonjs/components/ListItem/index.js.map +1 -1
- package/lib/commonjs/components/ListItem/styles.js +38 -2
- package/lib/commonjs/components/ListItem/styles.js.map +1 -1
- package/lib/commonjs/components/Menu/index.js +11 -5
- package/lib/commonjs/components/Menu/index.js.map +1 -1
- package/lib/commonjs/components/RangeCalendar/index.js.map +1 -1
- package/lib/commonjs/components/ReorderableList/ReorderableListShared.js +91 -0
- package/lib/commonjs/components/ReorderableList/ReorderableListShared.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/index.js +135 -0
- package/lib/commonjs/components/ReorderableList/index.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/index.web.js +233 -0
- package/lib/commonjs/components/ReorderableList/index.web.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/labels.js +47 -0
- package/lib/commonjs/components/ReorderableList/labels.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/reorderItems.js +16 -0
- package/lib/commonjs/components/ReorderableList/reorderItems.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/rowContext.js +42 -0
- package/lib/commonjs/components/ReorderableList/rowContext.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/types.js +6 -0
- package/lib/commonjs/components/ReorderableList/types.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/useReorder.js +131 -0
- package/lib/commonjs/components/ReorderableList/useReorder.js.map +1 -0
- package/lib/commonjs/components/ReorderableList/webDnd.js +64 -0
- package/lib/commonjs/components/ReorderableList/webDnd.js.map +1 -0
- package/lib/commonjs/components/ScopedTheme/index.js.map +1 -1
- package/lib/commonjs/components/ScrollShadow/gradient.js +29 -0
- package/lib/commonjs/components/ScrollShadow/gradient.js.map +1 -0
- package/lib/commonjs/components/ScrollShadow/index.js +171 -44
- package/lib/commonjs/components/ScrollShadow/index.js.map +1 -1
- package/lib/commonjs/components/ScrollShadow/styles.js +58 -14
- package/lib/commonjs/components/ScrollShadow/styles.js.map +1 -1
- package/lib/commonjs/components/ScrollShadow/useComposedScrollHandler.js +63 -0
- package/lib/commonjs/components/ScrollShadow/useComposedScrollHandler.js.map +1 -0
- package/lib/commonjs/components/ScrollShadow/useScrollShadow.js +48 -8
- package/lib/commonjs/components/ScrollShadow/useScrollShadow.js.map +1 -1
- package/lib/commonjs/components/Skeleton/index.js.map +1 -1
- package/lib/commonjs/components/TablePagination/index.js.map +1 -1
- package/lib/commonjs/components/Tabs/index.js +16 -23
- package/lib/commonjs/components/Tabs/index.js.map +1 -1
- package/lib/commonjs/components/Tabs/styles.js +1 -10
- package/lib/commonjs/components/Tabs/styles.js.map +1 -1
- package/lib/commonjs/components/Text/index.js.map +1 -1
- package/lib/commonjs/components/Tile/styles.js +1 -1
- package/lib/commonjs/components/Tile/styles.js.map +1 -1
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/figma/ListItem.SectionHeader.figma.js +20 -5
- package/lib/commonjs/figma/ListItem.SectionHeader.figma.js.map +1 -1
- package/lib/commonjs/reorderable-list.js +17 -0
- package/lib/commonjs/reorderable-list.js.map +1 -0
- package/lib/module/components/Checkbox/index.js.map +1 -1
- package/lib/module/components/DateTimeList/index.js +12 -27
- package/lib/module/components/DateTimeList/index.js.map +1 -1
- package/lib/module/components/DateTimeList/styles.js +1 -11
- package/lib/module/components/DateTimeList/styles.js.map +1 -1
- package/lib/module/components/Heading/index.js.map +1 -1
- package/lib/module/components/Icon/index.js.map +1 -1
- package/lib/module/components/ListItem/index.js +163 -14
- package/lib/module/components/ListItem/index.js.map +1 -1
- package/lib/module/components/ListItem/styles.js +37 -1
- package/lib/module/components/ListItem/styles.js.map +1 -1
- package/lib/module/components/Menu/index.js +11 -5
- package/lib/module/components/Menu/index.js.map +1 -1
- package/lib/module/components/RangeCalendar/index.js.map +1 -1
- package/lib/module/components/ReorderableList/ReorderableListShared.js +86 -0
- package/lib/module/components/ReorderableList/ReorderableListShared.js.map +1 -0
- package/lib/module/components/ReorderableList/index.js +130 -0
- package/lib/module/components/ReorderableList/index.js.map +1 -0
- package/lib/module/components/ReorderableList/index.web.js +229 -0
- package/lib/module/components/ReorderableList/index.web.js.map +1 -0
- package/lib/module/components/ReorderableList/labels.js +41 -0
- package/lib/module/components/ReorderableList/labels.js.map +1 -0
- package/lib/module/components/ReorderableList/reorderItems.js +12 -0
- package/lib/module/components/ReorderableList/reorderItems.js.map +1 -0
- package/lib/module/components/ReorderableList/rowContext.js +38 -0
- package/lib/module/components/ReorderableList/rowContext.js.map +1 -0
- package/lib/module/components/ReorderableList/types.js +4 -0
- package/lib/module/components/ReorderableList/types.js.map +1 -0
- package/lib/module/components/ReorderableList/useReorder.js +123 -0
- package/lib/module/components/ReorderableList/useReorder.js.map +1 -0
- package/lib/module/components/ReorderableList/webDnd.js +59 -0
- package/lib/module/components/ReorderableList/webDnd.js.map +1 -0
- package/lib/module/components/ScopedTheme/index.js.map +1 -1
- package/lib/module/components/ScrollShadow/gradient.js +24 -0
- package/lib/module/components/ScrollShadow/gradient.js.map +1 -0
- package/lib/module/components/ScrollShadow/index.js +170 -48
- package/lib/module/components/ScrollShadow/index.js.map +1 -1
- package/lib/module/components/ScrollShadow/styles.js +57 -13
- package/lib/module/components/ScrollShadow/styles.js.map +1 -1
- package/lib/module/components/ScrollShadow/useComposedScrollHandler.js +57 -0
- package/lib/module/components/ScrollShadow/useComposedScrollHandler.js.map +1 -0
- package/lib/module/components/ScrollShadow/useScrollShadow.js +46 -8
- package/lib/module/components/ScrollShadow/useScrollShadow.js.map +1 -1
- package/lib/module/components/Skeleton/index.js.map +1 -1
- package/lib/module/components/TablePagination/index.js.map +1 -1
- package/lib/module/components/Tabs/index.js +17 -24
- package/lib/module/components/Tabs/index.js.map +1 -1
- package/lib/module/components/Tabs/styles.js +0 -9
- package/lib/module/components/Tabs/styles.js.map +1 -1
- package/lib/module/components/Text/index.js.map +1 -1
- package/lib/module/components/Tile/styles.js +1 -1
- package/lib/module/components/Tile/styles.js.map +1 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/figma/ListItem.SectionHeader.figma.js +20 -5
- package/lib/module/figma/ListItem.SectionHeader.figma.js.map +1 -1
- package/lib/module/reorderable-list.js +4 -0
- package/lib/module/reorderable-list.js.map +1 -0
- package/lib/typescript/components/Checkbox/index.d.ts +22 -0
- package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
- package/lib/typescript/components/DateTimeList/index.d.ts.map +1 -1
- package/lib/typescript/components/DateTimeList/styles.d.ts +1 -4
- package/lib/typescript/components/DateTimeList/styles.d.ts.map +1 -1
- package/lib/typescript/components/Heading/index.d.ts +20 -2
- package/lib/typescript/components/Heading/index.d.ts.map +1 -1
- package/lib/typescript/components/Icon/index.d.ts +2 -0
- package/lib/typescript/components/Icon/index.d.ts.map +1 -1
- package/lib/typescript/components/ListItem/index.d.ts +28 -5
- package/lib/typescript/components/ListItem/index.d.ts.map +1 -1
- package/lib/typescript/components/ListItem/styles.d.ts +6 -1
- package/lib/typescript/components/ListItem/styles.d.ts.map +1 -1
- package/lib/typescript/components/Menu/index.d.ts +116 -4
- package/lib/typescript/components/Menu/index.d.ts.map +1 -1
- package/lib/typescript/components/RangeCalendar/index.d.ts +2 -0
- package/lib/typescript/components/RangeCalendar/index.d.ts.map +1 -1
- package/lib/typescript/components/ReorderableList/ReorderableListShared.d.ts +31 -0
- package/lib/typescript/components/ReorderableList/ReorderableListShared.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/index.d.ts +8 -0
- package/lib/typescript/components/ReorderableList/index.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/index.web.d.ts +8 -0
- package/lib/typescript/components/ReorderableList/index.web.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/labels.d.ts +16 -0
- package/lib/typescript/components/ReorderableList/labels.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/reorderItems.d.ts +3 -0
- package/lib/typescript/components/ReorderableList/reorderItems.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/rowContext.d.ts +57 -0
- package/lib/typescript/components/ReorderableList/rowContext.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/types.d.ts +75 -0
- package/lib/typescript/components/ReorderableList/types.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/useReorder.d.ts +31 -0
- package/lib/typescript/components/ReorderableList/useReorder.d.ts.map +1 -0
- package/lib/typescript/components/ReorderableList/webDnd.d.ts +27 -0
- package/lib/typescript/components/ReorderableList/webDnd.d.ts.map +1 -0
- package/lib/typescript/components/ScopedTheme/index.d.ts +6 -1
- package/lib/typescript/components/ScopedTheme/index.d.ts.map +1 -1
- package/lib/typescript/components/ScrollShadow/gradient.d.ts +7 -0
- package/lib/typescript/components/ScrollShadow/gradient.d.ts.map +1 -0
- package/lib/typescript/components/ScrollShadow/index.d.ts +57 -15
- package/lib/typescript/components/ScrollShadow/index.d.ts.map +1 -1
- package/lib/typescript/components/ScrollShadow/styles.d.ts +8 -2
- package/lib/typescript/components/ScrollShadow/styles.d.ts.map +1 -1
- package/lib/typescript/components/ScrollShadow/useComposedScrollHandler.d.ts +13 -0
- package/lib/typescript/components/ScrollShadow/useComposedScrollHandler.d.ts.map +1 -0
- package/lib/typescript/components/ScrollShadow/useScrollShadow.d.ts +15 -2
- package/lib/typescript/components/ScrollShadow/useScrollShadow.d.ts.map +1 -1
- package/lib/typescript/components/Skeleton/index.d.ts +3 -0
- package/lib/typescript/components/Skeleton/index.d.ts.map +1 -1
- package/lib/typescript/components/TablePagination/index.d.ts +54 -0
- package/lib/typescript/components/TablePagination/index.d.ts.map +1 -1
- package/lib/typescript/components/Tabs/index.d.ts.map +1 -1
- package/lib/typescript/components/Tabs/styles.d.ts +0 -7
- package/lib/typescript/components/Tabs/styles.d.ts.map +1 -1
- package/lib/typescript/components/Text/index.d.ts +12 -2
- package/lib/typescript/components/Text/index.d.ts.map +1 -1
- package/lib/typescript/components/Tile/styles.d.ts.map +1 -1
- package/lib/typescript/components/ToggleButton/styles.d.ts +1 -1
- package/lib/typescript/components/index.d.ts +1 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts.map +1 -1
- package/lib/typescript/reorderable-list.d.ts +2 -0
- package/lib/typescript/reorderable-list.d.ts.map +1 -0
- package/package.json +37 -8
- package/src/components/Checkbox/index.tsx +22 -0
- package/src/components/DateTimeList/index.tsx +13 -26
- package/src/components/DateTimeList/styles.ts +1 -10
- package/src/components/Heading/index.tsx +10 -1
- package/src/components/Icon/index.tsx +2 -0
- package/src/components/ListItem/index.tsx +232 -15
- package/src/components/ListItem/styles.ts +41 -0
- package/src/components/Menu/index.tsx +128 -12
- package/src/components/RangeCalendar/index.tsx +2 -0
- package/src/components/ReorderableList/ReorderableListShared.tsx +113 -0
- package/src/components/ReorderableList/index.tsx +162 -0
- package/src/components/ReorderableList/index.web.tsx +254 -0
- package/src/components/ReorderableList/labels.ts +52 -0
- package/src/components/ReorderableList/reorderItems.ts +16 -0
- package/src/components/ReorderableList/rowContext.tsx +72 -0
- package/src/components/ReorderableList/types.ts +80 -0
- package/src/components/ReorderableList/useReorder.ts +159 -0
- package/src/components/ReorderableList/webDnd.ts +60 -0
- package/src/components/ScopedTheme/index.tsx +6 -1
- package/src/components/ScrollShadow/gradient.ts +48 -0
- package/src/components/ScrollShadow/index.tsx +300 -69
- package/src/components/ScrollShadow/styles.ts +45 -28
- package/src/components/ScrollShadow/useComposedScrollHandler.ts +58 -0
- package/src/components/ScrollShadow/useScrollShadow.ts +72 -10
- package/src/components/Skeleton/index.tsx +3 -0
- package/src/components/TablePagination/index.tsx +54 -0
- package/src/components/Tabs/index.tsx +25 -35
- package/src/components/Tabs/styles.ts +0 -9
- package/src/components/Text/index.tsx +6 -1
- package/src/components/Tile/styles.ts +4 -1
- package/src/components/index.ts +5 -0
- package/src/reorderable-list.ts +1 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
2
3
|
import type { LayoutChangeEvent, NativeScrollEvent, NativeSyntheticEvent } from 'react-native';
|
|
3
4
|
|
|
4
5
|
export interface ScrollShadowCapability {
|
|
@@ -9,9 +10,26 @@ export interface ScrollShadowCapability {
|
|
|
9
10
|
export interface UseScrollShadowOptions {
|
|
10
11
|
orientation?: 'horizontal' | 'vertical';
|
|
11
12
|
offset?: number;
|
|
13
|
+
enabled?: boolean;
|
|
12
14
|
onCapabilityChange?: (capability: ScrollShadowCapability) => void;
|
|
13
15
|
}
|
|
14
16
|
|
|
17
|
+
export interface UseScrollShadowReturn {
|
|
18
|
+
capability: ScrollShadowCapability;
|
|
19
|
+
handleLayout: (event: LayoutChangeEvent) => void;
|
|
20
|
+
handleContentSizeChange: (width: number, height: number) => void;
|
|
21
|
+
handleScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface ScrollShadowDistance {
|
|
25
|
+
before: number;
|
|
26
|
+
after: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface ScrollShadowTrackerOptions extends UseScrollShadowOptions {
|
|
30
|
+
onDistanceChange?: (distance: ScrollShadowDistance) => void;
|
|
31
|
+
}
|
|
32
|
+
|
|
15
33
|
interface ScrollMetrics {
|
|
16
34
|
scrollOffset: number;
|
|
17
35
|
viewportSize: number;
|
|
@@ -24,6 +42,20 @@ const INITIAL_METRICS: ScrollMetrics = {
|
|
|
24
42
|
contentSize: 0,
|
|
25
43
|
};
|
|
26
44
|
|
|
45
|
+
export function normalizeAxisScrollOffset(
|
|
46
|
+
rawOffset: number,
|
|
47
|
+
orientation: 'horizontal' | 'vertical',
|
|
48
|
+
maxOffset: number,
|
|
49
|
+
platform: typeof Platform.OS = Platform.OS,
|
|
50
|
+
): number {
|
|
51
|
+
// Web RTL reports a negative x and browsers do not rubber-band it. Native RTL
|
|
52
|
+
// stays positive, so a negative native offset is overscroll at the start edge.
|
|
53
|
+
const offset =
|
|
54
|
+
orientation === 'horizontal' && platform === 'web' ? Math.abs(rawOffset) : rawOffset;
|
|
55
|
+
|
|
56
|
+
return Math.min(Math.max(0, offset), Math.max(0, maxOffset));
|
|
57
|
+
}
|
|
58
|
+
|
|
27
59
|
function getScrollCapability(metrics: ScrollMetrics, offset: number): ScrollShadowCapability {
|
|
28
60
|
const { scrollOffset, viewportSize, contentSize } = metrics;
|
|
29
61
|
|
|
@@ -37,18 +69,42 @@ function getScrollCapability(metrics: ScrollMetrics, offset: number): ScrollShad
|
|
|
37
69
|
};
|
|
38
70
|
}
|
|
39
71
|
|
|
40
|
-
|
|
41
|
-
|
|
72
|
+
function getScrollDistance(metrics: ScrollMetrics, offset: number): ScrollShadowDistance {
|
|
73
|
+
const { scrollOffset, viewportSize, contentSize } = metrics;
|
|
74
|
+
|
|
75
|
+
if (viewportSize <= 0 || contentSize <= viewportSize) {
|
|
76
|
+
return { before: 0, after: 0 };
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return {
|
|
80
|
+
before: Math.max(0, scrollOffset - offset),
|
|
81
|
+
after: Math.max(0, contentSize - viewportSize - scrollOffset - offset),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function useScrollShadow(options: UseScrollShadowOptions = {}): UseScrollShadowReturn {
|
|
86
|
+
return useScrollShadowTracker(options);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export function useScrollShadowTracker({
|
|
90
|
+
orientation = 'vertical',
|
|
42
91
|
offset = 0,
|
|
92
|
+
enabled = true,
|
|
43
93
|
onCapabilityChange,
|
|
44
|
-
|
|
45
|
-
|
|
94
|
+
onDistanceChange,
|
|
95
|
+
}: ScrollShadowTrackerOptions = {}): UseScrollShadowReturn {
|
|
96
|
+
const metricsRef = useRef<ScrollMetrics>({ ...INITIAL_METRICS });
|
|
46
97
|
const [capability, setCapability] = useState<ScrollShadowCapability>({
|
|
47
98
|
canScrollBefore: false,
|
|
48
99
|
canScrollAfter: false,
|
|
49
100
|
});
|
|
50
101
|
|
|
51
102
|
const updateCapability = useCallback(() => {
|
|
103
|
+
if (!enabled) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
onDistanceChange?.(getScrollDistance(metricsRef.current, offset));
|
|
52
108
|
const nextCapability = getScrollCapability(metricsRef.current, offset);
|
|
53
109
|
|
|
54
110
|
setCapability((prev) => {
|
|
@@ -62,7 +118,7 @@ export function useScrollShadow({
|
|
|
62
118
|
onCapabilityChange?.(nextCapability);
|
|
63
119
|
return nextCapability;
|
|
64
120
|
});
|
|
65
|
-
}, [offset, onCapabilityChange]);
|
|
121
|
+
}, [enabled, offset, onCapabilityChange, onDistanceChange]);
|
|
66
122
|
|
|
67
123
|
useEffect(() => {
|
|
68
124
|
updateCapability();
|
|
@@ -88,13 +144,19 @@ export function useScrollShadow({
|
|
|
88
144
|
const handleScroll = useCallback(
|
|
89
145
|
(event: NativeSyntheticEvent<NativeScrollEvent>) => {
|
|
90
146
|
const { contentOffset, layoutMeasurement, contentSize } = event.nativeEvent;
|
|
147
|
+
const rawOffset = orientation === 'vertical' ? contentOffset.y : contentOffset.x;
|
|
91
148
|
|
|
92
|
-
|
|
93
|
-
orientation === 'vertical' ? contentOffset.y : contentOffset.x;
|
|
94
|
-
metricsRef.current.viewportSize =
|
|
149
|
+
const viewportSize =
|
|
95
150
|
orientation === 'vertical' ? layoutMeasurement.height : layoutMeasurement.width;
|
|
96
|
-
|
|
97
|
-
|
|
151
|
+
const axisContentSize = orientation === 'vertical' ? contentSize.height : contentSize.width;
|
|
152
|
+
|
|
153
|
+
metricsRef.current.scrollOffset = normalizeAxisScrollOffset(
|
|
154
|
+
rawOffset,
|
|
155
|
+
orientation,
|
|
156
|
+
axisContentSize - viewportSize,
|
|
157
|
+
);
|
|
158
|
+
metricsRef.current.viewportSize = viewportSize;
|
|
159
|
+
metricsRef.current.contentSize = axisContentSize;
|
|
98
160
|
|
|
99
161
|
updateCapability();
|
|
100
162
|
},
|
|
@@ -11,7 +11,10 @@ import { cn } from '@cdx-ui/utils';
|
|
|
11
11
|
import { skeletonVariants } from './styles';
|
|
12
12
|
|
|
13
13
|
export interface SkeletonProps extends ViewProps {
|
|
14
|
+
/** Size and shape classes for the placeholder, such as `h-4 w-32 rounded-md`. */
|
|
14
15
|
className?: string;
|
|
16
|
+
/** Optional content to render inside the placeholder. */
|
|
17
|
+
children?: ViewProps['children'];
|
|
15
18
|
/**
|
|
16
19
|
* Half-cycle of the opacity pulse (`1` → `0.35`) in milliseconds.
|
|
17
20
|
* A full pulse takes `duration × 2`.
|
|
@@ -26,57 +26,111 @@ export type { TablePaginationItemToken } from './getTablePaginationItems';
|
|
|
26
26
|
export type TablePaginationPageSizeOption = number | { value: number; label: string };
|
|
27
27
|
|
|
28
28
|
export interface TablePaginationProps extends ViewProps {
|
|
29
|
+
/** Render the consumer's child element in place of the default container. */
|
|
29
30
|
asChild?: boolean;
|
|
31
|
+
/** Additional Uniwind/Tailwind classes, merged after the container's own styles. */
|
|
30
32
|
className?: string;
|
|
33
|
+
/** Custom layout of pagination parts. Omit to render the status, controls and generated page items. */
|
|
31
34
|
children?: ReactNode;
|
|
32
35
|
/** 1-based current page. Controlled when set. */
|
|
33
36
|
page?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Initial 1-based page when uncontrolled.
|
|
39
|
+
* @default 1
|
|
40
|
+
*/
|
|
34
41
|
defaultPage?: number;
|
|
35
42
|
/** Total page count. When set with no children, items are generated. */
|
|
36
43
|
count?: number;
|
|
44
|
+
/** Called with the new 1-based page when the user changes page. */
|
|
37
45
|
onPageChange?: (page: number) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Number of page items shown on each side of the current page before an ellipsis.
|
|
48
|
+
* @default 1
|
|
49
|
+
*/
|
|
38
50
|
siblingCount?: number;
|
|
51
|
+
/** Current rows-per-page value. When set with no children, the page-size select is rendered. */
|
|
39
52
|
pageSize?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Choices offered by `TablePagination.PageSize`, as numbers or `{ value, label }` pairs.
|
|
55
|
+
* @default [25, 50, 100]
|
|
56
|
+
*/
|
|
40
57
|
pageSizeOptions?: readonly TablePaginationPageSizeOption[];
|
|
58
|
+
/** Called with the new rows-per-page value when the user picks one. */
|
|
41
59
|
onPageSizeChange?: (pageSize: number) => void;
|
|
60
|
+
/**
|
|
61
|
+
* Disables every control in the pagination.
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
42
64
|
disabled?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Accessible name for the pagination.
|
|
67
|
+
* @default 'Table pagination'
|
|
68
|
+
*/
|
|
43
69
|
'aria-label'?: string;
|
|
44
70
|
}
|
|
45
71
|
|
|
46
72
|
export interface TablePaginationItemProps extends ViewProps {
|
|
73
|
+
/** Render the consumer's child element in place of the default page button. */
|
|
47
74
|
asChild?: boolean;
|
|
75
|
+
/** Additional Uniwind/Tailwind classes, merged after the item's own styles. */
|
|
48
76
|
className?: string;
|
|
77
|
+
/** The page number or label to display. */
|
|
49
78
|
children?: ReactNode;
|
|
79
|
+
/** 1-based page this item navigates to when pressed. */
|
|
50
80
|
page?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Marks the item as the current page. Set automatically when `page` matches the current page.
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
51
85
|
current?: boolean;
|
|
86
|
+
/** Disables the item. Defaults to the pagination's `disabled`. */
|
|
52
87
|
disabled?: boolean;
|
|
88
|
+
/** Called on press, before the pagination navigates to `page`. */
|
|
53
89
|
onPress?: PressableProps['onPress'];
|
|
54
90
|
}
|
|
55
91
|
|
|
56
92
|
export interface TablePaginationControlProps extends ViewProps {
|
|
93
|
+
/** Render the consumer's child element in place of the default icon button. */
|
|
57
94
|
asChild?: boolean;
|
|
95
|
+
/** Additional Uniwind/Tailwind classes, merged after the control's own styles. */
|
|
58
96
|
className?: string;
|
|
97
|
+
/** The element to render when `asChild` is set. */
|
|
59
98
|
children?: ReactNode;
|
|
99
|
+
/** Disables the control. It is also disabled at the first or last page, or when the pagination is disabled. */
|
|
60
100
|
disabled?: boolean;
|
|
101
|
+
/** Called on press, before the pagination moves to the adjacent page. */
|
|
61
102
|
onPress?: PressableProps['onPress'];
|
|
62
103
|
}
|
|
63
104
|
|
|
64
105
|
export interface TablePaginationEllipsisProps extends ViewProps {
|
|
106
|
+
/** Render the consumer's child element in place of the default `View` host. */
|
|
65
107
|
asChild?: boolean;
|
|
108
|
+
/** Additional Uniwind/Tailwind classes, merged after the ellipsis's own styles. */
|
|
66
109
|
className?: string;
|
|
110
|
+
/** Custom content in place of the default `…`. */
|
|
67
111
|
children?: ReactNode;
|
|
68
112
|
}
|
|
69
113
|
|
|
70
114
|
export interface TablePaginationStatusProps extends ViewProps {
|
|
115
|
+
/** Render the consumer's child element in place of the default `View` host. */
|
|
71
116
|
asChild?: boolean;
|
|
117
|
+
/** Additional Uniwind/Tailwind classes, merged after the status's own styles. */
|
|
72
118
|
className?: string;
|
|
119
|
+
/** Custom status content in place of the default "Page N of M" text. */
|
|
73
120
|
children?: ReactNode;
|
|
74
121
|
}
|
|
75
122
|
|
|
76
123
|
export interface TablePaginationPageSizeProps extends ViewProps {
|
|
124
|
+
/** Render the consumer's child element in place of the default select. */
|
|
77
125
|
asChild?: boolean;
|
|
126
|
+
/** Additional Uniwind/Tailwind classes, merged after the select's own styles. */
|
|
78
127
|
className?: string;
|
|
128
|
+
/** The element to render when `asChild` is set. */
|
|
79
129
|
children?: ReactNode;
|
|
130
|
+
/**
|
|
131
|
+
* Accessible name for the page-size select.
|
|
132
|
+
* @default 'Rows per page'
|
|
133
|
+
*/
|
|
80
134
|
'aria-label'?: string;
|
|
81
135
|
}
|
|
82
136
|
|
|
@@ -58,8 +58,6 @@ import {
|
|
|
58
58
|
tabsTabLabelVariants,
|
|
59
59
|
tabsTabVariants,
|
|
60
60
|
TABS_INDICATOR_TRANSITION_MS,
|
|
61
|
-
TABS_SOLID_SCROLL_FADE_SIZE,
|
|
62
|
-
TABS_SCROLL_FADE_SIZE,
|
|
63
61
|
OUTLINE_INDICATOR_THICKNESS,
|
|
64
62
|
type TabsVariant,
|
|
65
63
|
} from './styles';
|
|
@@ -178,7 +176,6 @@ const TabsList = forwardRef<ComponentRef<typeof View>, TabsListProps>(
|
|
|
178
176
|
const { value, orientation, getTabs } = useTabsContext();
|
|
179
177
|
const { variant } = useTabsVariantContext();
|
|
180
178
|
const isHorizontalScroll = orientation === 'horizontal' && scrollable;
|
|
181
|
-
const isWebHorizontalScroll = isHorizontalScroll && Platform.OS === 'web';
|
|
182
179
|
const shouldAutoScrollActiveTab = isHorizontalScroll && Platform.OS !== 'web';
|
|
183
180
|
|
|
184
181
|
const layoutsRef = useRef<Map<string, TabLayout>>(new Map());
|
|
@@ -478,23 +475,26 @@ const TabsList = forwardRef<ComponentRef<typeof View>, TabsListProps>(
|
|
|
478
475
|
);
|
|
479
476
|
};
|
|
480
477
|
|
|
481
|
-
const
|
|
478
|
+
const horizontalScroll = (
|
|
479
|
+
<ScrollShadow
|
|
480
|
+
hideScrollBar={Platform.OS === 'web'}
|
|
481
|
+
orientation="horizontal"
|
|
482
|
+
surface={isSolidHorizontalScroll ? 'secondary' : 'background'}
|
|
483
|
+
size={isSolidHorizontalScroll ? 'default' : 'small'}
|
|
484
|
+
edgeClassName={isSolidHorizontalScroll ? undefined : 'opacity-85'}
|
|
485
|
+
onCapabilityChange={setScrollCapability}
|
|
486
|
+
>
|
|
487
|
+
{horizontalScrollView}
|
|
488
|
+
</ScrollShadow>
|
|
489
|
+
);
|
|
490
|
+
|
|
491
|
+
const webHorizontalScroll = isSolidHorizontalScroll ? (
|
|
482
492
|
<View className="relative min-w-0 w-full">
|
|
483
|
-
|
|
484
|
-
hideScrollBar
|
|
485
|
-
orientation="horizontal"
|
|
486
|
-
size={TABS_SOLID_SCROLL_FADE_SIZE}
|
|
487
|
-
fadeFromClassName="from-surface-secondary"
|
|
488
|
-
onCapabilityChange={setScrollCapability}
|
|
489
|
-
>
|
|
490
|
-
{horizontalScrollView}
|
|
491
|
-
</ScrollShadow>
|
|
493
|
+
{horizontalScroll}
|
|
492
494
|
{renderSolidScrollChevron('start', -1)}
|
|
493
495
|
{renderSolidScrollChevron('end', 1)}
|
|
494
496
|
</View>
|
|
495
|
-
)
|
|
496
|
-
|
|
497
|
-
const outlineWebHorizontalScroll = (
|
|
497
|
+
) : (
|
|
498
498
|
<View className="w-full min-w-0 flex-row items-stretch">
|
|
499
499
|
{scrollCapability.canScrollBefore ? (
|
|
500
500
|
<Pressable
|
|
@@ -507,17 +507,7 @@ const TabsList = forwardRef<ComponentRef<typeof View>, TabsListProps>(
|
|
|
507
507
|
<Icon as={ChevronLeft} className="size-4 text-content-secondary" />
|
|
508
508
|
</Pressable>
|
|
509
509
|
) : null}
|
|
510
|
-
<View className="min-w-0 flex-1">
|
|
511
|
-
<ScrollShadow
|
|
512
|
-
hideScrollBar
|
|
513
|
-
orientation="horizontal"
|
|
514
|
-
size={TABS_SCROLL_FADE_SIZE}
|
|
515
|
-
fadeFromClassName="from-background/85"
|
|
516
|
-
onCapabilityChange={setScrollCapability}
|
|
517
|
-
>
|
|
518
|
-
{horizontalScrollView}
|
|
519
|
-
</ScrollShadow>
|
|
520
|
-
</View>
|
|
510
|
+
<View className="min-w-0 flex-1">{horizontalScroll}</View>
|
|
521
511
|
{scrollCapability.canScrollAfter ? (
|
|
522
512
|
<Pressable
|
|
523
513
|
accessibilityLabel="Scroll tabs right"
|
|
@@ -542,14 +532,14 @@ const TabsList = forwardRef<ComponentRef<typeof View>, TabsListProps>(
|
|
|
542
532
|
{...props}
|
|
543
533
|
{...mergeDataAttributes(props, dataAttributes({ slot: 'tabs-list' }))}
|
|
544
534
|
>
|
|
545
|
-
{
|
|
546
|
-
|
|
547
|
-
{
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
535
|
+
{isHorizontalScroll ? (
|
|
536
|
+
Platform.OS === 'web' ? (
|
|
537
|
+
<View className={cn(tabsListScrollContainerVariants())}>
|
|
538
|
+
{wrapSolidScrollShell(webHorizontalScroll)}
|
|
539
|
+
</View>
|
|
540
|
+
) : (
|
|
541
|
+
wrapSolidScrollShell(horizontalScroll)
|
|
542
|
+
)
|
|
553
543
|
) : (
|
|
554
544
|
listTrack
|
|
555
545
|
)}
|
|
@@ -37,15 +37,6 @@ export const OUTLINE_INDICATOR_THICKNESS = 2;
|
|
|
37
37
|
*/
|
|
38
38
|
export const TABS_INDICATOR_TRANSITION_MS = 150;
|
|
39
39
|
|
|
40
|
-
/** Outline horizontal scroll — narrow fade reads cleanly against the page background. */
|
|
41
|
-
export const TABS_SCROLL_FADE_SIZE = 32;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Solid horizontal scroll — wider fade so tabs dissolve smoothly into the track (and under the
|
|
45
|
-
* overlay chevron) instead of ending in a hard clip at the scroll viewport edge.
|
|
46
|
-
*/
|
|
47
|
-
export const TABS_SOLID_SCROLL_FADE_SIZE = 40;
|
|
48
|
-
|
|
49
40
|
/**
|
|
50
41
|
* Room reserved on the left/right sides inside the horizontal-scroll clip rect for ink that
|
|
51
42
|
* paints past a tab's own box: `shadow-sm` (`0px 1px 3px`, solid only) and the web focus ring
|
|
@@ -8,7 +8,7 @@ export type TextColor = NonNullable<TextVariantProps['color']>;
|
|
|
8
8
|
export type TextSize = NonNullable<TextVariantProps['size']>;
|
|
9
9
|
export type TextWeight = NonNullable<TextVariantProps['weight']>;
|
|
10
10
|
|
|
11
|
-
export type TextProps = Omit<TextVariantProps, 'color' | 'size' | 'weight'> &
|
|
11
|
+
export type TextProps = Omit<TextVariantProps, 'color' | 'size' | 'weight' | 'italic'> &
|
|
12
12
|
ComponentPropsWithoutRef<typeof RNText> & {
|
|
13
13
|
/**
|
|
14
14
|
* Semantic content color, mapped to the matching `text-content-*` token.
|
|
@@ -27,7 +27,12 @@ export type TextProps = Omit<TextVariantProps, 'color' | 'size' | 'weight'> &
|
|
|
27
27
|
* @default 'normal'
|
|
28
28
|
*/
|
|
29
29
|
weight?: TextWeight;
|
|
30
|
+
/** Renders the text in italics. A nested `Text` inherits its parent's style when omitted. */
|
|
31
|
+
italic?: TextVariantProps['italic'];
|
|
32
|
+
/** Additional Uniwind/Tailwind classes, merged after the text's own styles. */
|
|
30
33
|
className?: string;
|
|
34
|
+
/** Text content, which may include nested `Text` elements. */
|
|
35
|
+
children?: ComponentPropsWithoutRef<typeof RNText>['children'];
|
|
31
36
|
};
|
|
32
37
|
|
|
33
38
|
export const Text = forwardRef<ComponentRef<typeof RNText>, TextProps>(function Text(
|
|
@@ -43,7 +43,10 @@ export const tileRootVariants = cva(
|
|
|
43
43
|
{
|
|
44
44
|
variants: {
|
|
45
45
|
shape: {
|
|
46
|
-
flat:
|
|
46
|
+
flat: [
|
|
47
|
+
'rounded-none border-0 bg-transparent',
|
|
48
|
+
'data-[state=selected]:bg-surface-action-tint',
|
|
49
|
+
].join(' '),
|
|
47
50
|
card: [
|
|
48
51
|
'rounded-[var(--border-radius-default)] border-1 border-solid',
|
|
49
52
|
'border-stroke-secondary',
|
package/src/components/index.ts
CHANGED
|
@@ -52,6 +52,11 @@ export * from './ScrollShadow';
|
|
|
52
52
|
export * from './Select';
|
|
53
53
|
export * from './Slider';
|
|
54
54
|
export * from './VirtualizedList';
|
|
55
|
+
export type {
|
|
56
|
+
ReorderableListLabels,
|
|
57
|
+
ReorderableListProps,
|
|
58
|
+
ReorderableListRenderItemInfo,
|
|
59
|
+
} from './ReorderableList/types';
|
|
55
60
|
export * from './Switch';
|
|
56
61
|
export * from './Tabs';
|
|
57
62
|
export * from './Table';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components/ReorderableList';
|