@jobber/components 4.85.4-CJS-to-ESM.1 → 4.85.4-CJS-to-ESM.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/dist/AnimatedPresence/index.js +12 -0
- package/dist/AnimatedPresence/index.mjs +4 -0
- package/dist/AnimatedPresence-20a02aaa.js +104 -0
- package/dist/AnimatedPresence-bbccdaf7.js +98 -0
- package/dist/AnimatedSwitcher/index.js +13 -0
- package/dist/AnimatedSwitcher/index.mjs +5 -0
- package/dist/AnimatedSwitcher-3aff3d12.js +90 -0
- package/dist/AnimatedSwitcher-3d45ec5d.js +96 -0
- package/dist/Autocomplete/index.js +33 -0
- package/dist/Autocomplete/index.mjs +25 -0
- package/dist/Autocomplete-6ca7a7e5.js +188 -0
- package/dist/Autocomplete-6df9f7c0.js +196 -0
- package/dist/Avatar/index.js +15 -0
- package/dist/Avatar/index.mjs +7 -0
- package/dist/Avatar-6ffee4bd.js +70 -0
- package/dist/Avatar-76a799fa.js +78 -0
- package/dist/Banner/components/BannerIcon/index.js +15 -0
- package/dist/Banner/components/BannerIcon/index.mjs +7 -0
- package/dist/Banner/index.js +21 -0
- package/dist/Banner/index.mjs +13 -0
- package/dist/Banner-2d1688c7.js +82 -0
- package/dist/Banner-cb621462.js +89 -0
- package/dist/BannerIcon-9d41540d.js +24 -0
- package/dist/BannerIcon-ae763eab.js +32 -0
- package/dist/Body-2f4bf030.js +50 -0
- package/dist/Body-91ac1819.js +64 -0
- package/dist/Button/index.js +16 -0
- package/dist/Button/index.mjs +8 -0
- package/dist/Button-9ae092b3.js +50 -0
- package/dist/Button-b73a5e01.js +57 -0
- package/dist/ButtonDismiss/index.js +17 -0
- package/dist/ButtonDismiss/index.mjs +9 -0
- package/dist/ButtonDismiss-350af163.js +14 -0
- package/dist/ButtonDismiss-614803be.js +8 -0
- package/dist/Card/colors.css.d.ts +89 -0
- package/dist/Card/index.js +24 -0
- package/dist/Card/index.mjs +16 -0
- package/dist/Card-a9861d4d.js +86 -0
- package/dist/Card-e3144022.js +93 -0
- package/dist/Checkbox/index.js +18 -0
- package/dist/Checkbox/index.mjs +10 -0
- package/dist/Checkbox-3ff9f47a.js +56 -0
- package/dist/Checkbox-787e2e47.js +63 -0
- package/dist/Chip/hooks/index.js +10 -0
- package/dist/Chip/hooks/index.mjs +2 -0
- package/dist/Chip/index.js +28 -0
- package/dist/Chip/index.mjs +18 -0
- package/dist/Chip-0e37aa92.js +70 -0
- package/dist/Chip-36397442.js +78 -0
- package/dist/ChipDismissible-1b8383e1.js +19 -0
- package/dist/ChipDismissible-d12a2207.js +26 -0
- package/dist/Chips/InternalChipDismissible/hooks/index.js +20 -0
- package/dist/Chips/InternalChipDismissible/hooks/index.mjs +8 -0
- package/dist/Chips/InternalChipDismissible/index.js +31 -0
- package/dist/Chips/InternalChipDismissible/index.mjs +23 -0
- package/dist/Chips/index.js +48 -0
- package/dist/Chips/index.mjs +38 -0
- package/dist/Chips-36b7630e.js +97 -0
- package/dist/Chips-fe5c5705.js +91 -0
- package/dist/Combobox/components/ComboboxAction/index.js +15 -0
- package/dist/Combobox/components/ComboboxAction/index.mjs +7 -0
- package/dist/Combobox/components/ComboboxActivator/index.js +29 -0
- package/dist/Combobox/components/ComboboxActivator/index.mjs +21 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxContentHeader/index.js +17 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxContentHeader/index.mjs +9 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.js +27 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.mjs +19 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxContentSearch/index.js +13 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxContentSearch/index.mjs +5 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.js +12 -0
- package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.mjs +4 -0
- package/dist/Combobox/components/ComboboxContent/index.js +37 -0
- package/dist/Combobox/components/ComboboxContent/index.mjs +29 -0
- package/dist/Combobox/components/ComboboxOption/index.js +17 -0
- package/dist/Combobox/components/ComboboxOption/index.mjs +9 -0
- package/dist/Combobox/components/ComboboxTrigger/index.js +27 -0
- package/dist/Combobox/components/ComboboxTrigger/index.mjs +19 -0
- package/dist/Combobox/index.js +51 -0
- package/dist/Combobox/index.mjs +42 -0
- package/dist/Combobox-bf8c9ce6.js +128 -0
- package/dist/Combobox-f781cae2.js +120 -0
- package/dist/ComboboxAction-22bd2e79.js +31 -0
- package/dist/ComboboxAction-c21dc02b.js +25 -0
- package/dist/ComboboxActivator-757941db.js +26 -0
- package/dist/ComboboxActivator-afc63f51.js +32 -0
- package/dist/ComboboxContent-0e67a7f3.js +144 -0
- package/dist/ComboboxContent-1faee40b.js +152 -0
- package/dist/ComboboxContentHeader-97ea6800.js +30 -0
- package/dist/ComboboxContentHeader-ce3f10b6.js +36 -0
- package/dist/ComboboxContentList-7f7ef48c.js +78 -0
- package/dist/ComboboxContentList-b7108426.js +85 -0
- package/dist/ComboboxContentSearch-196e638a.js +35 -0
- package/dist/ComboboxContentSearch-889f0525.js +41 -0
- package/dist/ComboboxLoadMore-21f09a37.js +17 -0
- package/dist/ComboboxLoadMore-a642edaa.js +23 -0
- package/dist/ComboboxOption-16d1c772.js +30 -0
- package/dist/ComboboxOption-cf324e9d.js +23 -0
- package/dist/ComboboxProvider-32666af1.js +10 -0
- package/dist/ComboboxProvider-dd21fe88.js +17 -0
- package/dist/ComboboxTrigger-0c05930b.js +28 -0
- package/dist/ComboboxTrigger-b41954f5.js +22 -0
- package/dist/ConfirmationModal/index.js +31 -0
- package/dist/ConfirmationModal/index.mjs +23 -0
- package/dist/ConfirmationModal-52e16873.js +100 -0
- package/dist/ConfirmationModal-916a1f09.js +94 -0
- package/dist/Content/Spacing.css.d.ts +13 -0
- package/dist/Content/index.js +12 -0
- package/dist/Content/index.mjs +4 -0
- package/dist/Content-c4ea919f.js +18 -0
- package/dist/Content-e3f7b6fc.js +24 -0
- package/dist/Countdown/index.js +12 -0
- package/dist/Countdown/index.mjs +4 -0
- package/dist/Countdown-961d8a6e.js +70 -0
- package/dist/Countdown-ac081ced.js +63 -0
- package/dist/DataDump/index.js +27 -0
- package/dist/DataDump/index.mjs +19 -0
- package/dist/DataDump-18f6e791.js +15 -0
- package/dist/DataDump-9addf519.js +21 -0
- package/dist/DataList/components/DataListAction/index.js +16 -0
- package/dist/DataList/components/DataListAction/index.mjs +8 -0
- package/dist/DataList/components/DataListActions/index.js +43 -0
- package/dist/DataList/components/DataListActions/index.mjs +35 -0
- package/dist/DataList/components/DataListActionsMenu/index.js +18 -0
- package/dist/DataList/components/DataListActionsMenu/index.mjs +10 -0
- package/dist/DataList/components/DataListBulkActions/index.js +46 -0
- package/dist/DataList/components/DataListBulkActions/index.mjs +37 -0
- package/dist/DataList/components/DataListEmptyState/index.js +22 -0
- package/dist/DataList/components/DataListEmptyState/index.mjs +13 -0
- package/dist/DataList/components/DataListFilters/components/DataListSort/index.js +52 -0
- package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +44 -0
- package/dist/DataList/components/DataListFilters/index.js +66 -0
- package/dist/DataList/components/DataListFilters/index.mjs +57 -0
- package/dist/DataList/components/DataListHeader/index.js +53 -0
- package/dist/DataList/components/DataListHeader/index.mjs +45 -0
- package/dist/DataList/components/DataListHeaderTile/components/index.js +15 -0
- package/dist/DataList/components/DataListHeaderTile/components/index.mjs +7 -0
- package/dist/DataList/components/DataListHeaderTile/index.js +22 -0
- package/dist/DataList/components/DataListHeaderTile/index.mjs +14 -0
- package/dist/DataList/components/DataListItem/components/DataListItemClickable/index.js +16 -0
- package/dist/DataList/components/DataListItem/components/DataListItemClickable/index.mjs +8 -0
- package/dist/DataList/components/DataListItem/index.js +52 -0
- package/dist/DataList/components/DataListItem/index.mjs +44 -0
- package/dist/DataList/components/DataListItemActions/index.js +45 -0
- package/dist/DataList/components/DataListItemActions/index.mjs +36 -0
- package/dist/DataList/components/DataListItemActionsOverflow/index.js +27 -0
- package/dist/DataList/components/DataListItemActionsOverflow/index.mjs +19 -0
- package/dist/DataList/components/DataListItems/index.js +53 -0
- package/dist/DataList/components/DataListItems/index.mjs +45 -0
- package/dist/DataList/components/DataListLayout/index.js +56 -0
- package/dist/DataList/components/DataListLayout/index.mjs +48 -0
- package/dist/DataList/components/DataListLayoutActions/DataListLayoutContext/index.js +11 -0
- package/dist/DataList/components/DataListLayoutActions/DataListLayoutContext/index.mjs +2 -0
- package/dist/DataList/components/DataListLayoutActions/index.js +34 -0
- package/dist/DataList/components/DataListLayoutActions/index.mjs +26 -0
- package/dist/DataList/components/DataListLoadMore/index.js +23 -0
- package/dist/DataList/components/DataListLoadMore/index.mjs +14 -0
- package/dist/DataList/components/DataListLoadingState/index.js +23 -0
- package/dist/DataList/components/DataListLoadingState/index.mjs +13 -0
- package/dist/DataList/components/DataListOverflowFade/index.js +14 -0
- package/dist/DataList/components/DataListOverflowFade/index.mjs +5 -0
- package/dist/DataList/components/DataListSearch/index.js +34 -0
- package/dist/DataList/components/DataListSearch/index.mjs +24 -0
- package/dist/DataList/components/DataListStatusBar/index.js +32 -0
- package/dist/DataList/components/DataListStatusBar/index.mjs +23 -0
- package/dist/DataList/components/DataListStickyHeader/index.js +14 -0
- package/dist/DataList/components/DataListStickyHeader/index.mjs +6 -0
- package/dist/DataList/components/DataListTags/index.js +15 -0
- package/dist/DataList/components/DataListTags/index.mjs +7 -0
- package/dist/DataList/components/DataListTotalCount/index.js +18 -0
- package/dist/DataList/components/DataListTotalCount/index.mjs +9 -0
- package/dist/DataList/context/DataListContext/index.js +13 -0
- package/dist/DataList/context/DataListContext/index.mjs +3 -0
- package/dist/DataList/context/DataListLayoutContext/index.js +13 -0
- package/dist/DataList/context/DataListLayoutContext/index.mjs +3 -0
- package/dist/DataList/index.js +97 -0
- package/dist/DataList/index.mjs +89 -0
- package/dist/DataList-1e0e9426.js +7 -0
- package/dist/DataList-ae2efe9b.js +139 -0
- package/dist/DataList-b5f0a522.js +9 -0
- package/dist/DataList-fc20945e.js +145 -0
- package/dist/DataList.const-3ae7ceef.js +25 -0
- package/dist/DataList.const-c05b47de.js +38 -0
- package/dist/DataList.utils-b72b8d0d.js +92 -0
- package/dist/DataList.utils-d51eb44e.js +80 -0
- package/dist/DataListAction-9d8a33e0.js +46 -0
- package/dist/DataListAction-d570e8bf.js +40 -0
- package/dist/DataListActions-c5ad9b23.js +43 -0
- package/dist/DataListActions-f8367eda.js +49 -0
- package/dist/DataListActionsMenu-cce1bd30.js +53 -0
- package/dist/DataListActionsMenu-cfcd5d21.js +59 -0
- package/dist/DataListBulkActions-a750f601.js +29 -0
- package/dist/DataListBulkActions-af1fe283.js +36 -0
- package/dist/DataListContext-736a42a2.js +25 -0
- package/dist/DataListContext-f40570a7.js +34 -0
- package/dist/DataListEmptyState-25d6c47d.js +60 -0
- package/dist/DataListEmptyState-fcc112ac.js +53 -0
- package/dist/DataListFilters-3e5599c6.js +50 -0
- package/dist/DataListFilters-aaff643e.js +43 -0
- package/dist/DataListHeader-43a4bb92.js +100 -0
- package/dist/DataListHeader-bf256a20.js +93 -0
- package/dist/DataListHeaderTile-4b93f949.js +91 -0
- package/dist/DataListHeaderTile-8854e4d8.js +84 -0
- package/dist/DataListItem-3d39e2eb.js +119 -0
- package/dist/DataListItem-5cbf5f14.js +112 -0
- package/dist/DataListItemActions-122d8972.js +39 -0
- package/dist/DataListItemActions-c5749fdc.js +32 -0
- package/dist/DataListItemActionsOverflow-6004ba59.js +33 -0
- package/dist/DataListItemActionsOverflow-9c491ed9.js +39 -0
- package/dist/DataListItemClickable-127bfc7f.js +45 -0
- package/dist/DataListItemClickable-abe0242c.js +51 -0
- package/dist/DataListItems-00dd20c1.js +19 -0
- package/dist/DataListItems-09c65d2c.js +25 -0
- package/dist/DataListLayout-4cdcaa1f.js +25 -0
- package/dist/DataListLayout-99863988.js +19 -0
- package/dist/DataListLayoutActions-43cc8589.js +39 -0
- package/dist/DataListLayoutActions-9f8cc2a2.js +45 -0
- package/dist/DataListLayoutContext-39a0d016.js +11 -0
- package/dist/DataListLayoutContext-7daf863d.js +14 -0
- package/dist/DataListLayoutContext-83df2a23.js +22 -0
- package/dist/DataListLayoutContext-9237afd1.js +8 -0
- package/dist/DataListLoadMore-1b519950.js +34 -0
- package/dist/DataListLoadMore-20d2d817.js +41 -0
- package/dist/DataListLoadingState-9de965f6.js +33 -0
- package/dist/DataListLoadingState-c175094e.js +25 -0
- package/dist/DataListOverflowFade-85c826e0.js +33 -0
- package/dist/DataListOverflowFade-a640f51f.js +25 -0
- package/dist/DataListSearch-584f4f05.js +72 -0
- package/dist/DataListSearch-614b959b.js +62 -0
- package/dist/DataListSort-0e8e03c9.js +98 -0
- package/dist/DataListSort-a684067a.js +92 -0
- package/dist/DataListSortingOptions-4694941c.js +44 -0
- package/dist/DataListSortingOptions-8a64205a.js +38 -0
- package/dist/DataListStatusBar-4f692790.js +22 -0
- package/dist/DataListStatusBar-e17eff45.js +29 -0
- package/dist/DataListStickyHeader-0728e21b.js +33 -0
- package/dist/DataListStickyHeader-ce11cbd9.js +26 -0
- package/dist/DataListTags-68b3a874.js +65 -0
- package/dist/DataListTags-f4038ea1.js +72 -0
- package/dist/DataListTotalCount-8373c2df.js +34 -0
- package/dist/DataListTotalCount-cce98cf6.js +27 -0
- package/dist/DataTable/index.js +36 -0
- package/dist/DataTable/index.mjs +23 -0
- package/dist/DataTable/test-utilities/index.js +243 -0
- package/dist/DataTable/test-utilities/index.mjs +233 -0
- package/dist/DataTable-4afcfbc6.js +252 -0
- package/dist/DataTable-8d4b2d3a.js +245 -0
- package/dist/DatePicker/index.js +20 -0
- package/dist/DatePicker/index.mjs +12 -0
- package/dist/DatePicker-64c5ab1a.js +134 -0
- package/dist/DatePicker-85127ebc.js +125 -0
- package/dist/DayOfMonthSelect-8e05c1a7.js +141 -0
- package/dist/DayOfMonthSelect-d644270a.js +152 -0
- package/dist/DescriptionList/index.js +13 -0
- package/dist/DescriptionList/index.mjs +5 -0
- package/dist/DescriptionList-73241740.js +15 -0
- package/dist/DescriptionList-e72dbff4.js +21 -0
- package/dist/Disclosure/index.js +16 -0
- package/dist/Disclosure/index.mjs +8 -0
- package/dist/Disclosure-1165a958.js +36 -0
- package/dist/Disclosure-f285a6b6.js +42 -0
- package/dist/Divider/index.js +12 -0
- package/dist/Divider/index.mjs +4 -0
- package/dist/Divider-30edc4ed.js +20 -0
- package/dist/Divider-46a88bea.js +27 -0
- package/dist/Drawer/index.js +21 -0
- package/dist/Drawer/index.mjs +12 -0
- package/dist/DrawerGrid-73000735.js +33 -0
- package/dist/DrawerGrid-89de9440.js +41 -0
- package/dist/Emphasis/index.js +13 -0
- package/dist/Emphasis/index.mjs +5 -0
- package/dist/Emphasis-78cec3ac.js +13 -0
- package/dist/Emphasis-bda56d3b.js +19 -0
- package/dist/FeatureSwitch/index.js +26 -0
- package/dist/FeatureSwitch/index.mjs +18 -0
- package/dist/FeatureSwitch-1d6993a1.js +55 -0
- package/dist/FeatureSwitch-6632682d.js +62 -0
- package/dist/Flex/index.js +12 -0
- package/dist/Flex/index.mjs +4 -0
- package/dist/Flex-d490c4db.js +38 -0
- package/dist/Flex-d565495d.js +31 -0
- package/dist/Form/index.js +12 -0
- package/dist/Form/index.mjs +4 -0
- package/dist/Form-6a161b07.js +48 -0
- package/dist/Form-927647ef.js +54 -0
- package/dist/FormField/index.js +24 -0
- package/dist/FormField/index.mjs +16 -0
- package/dist/FormField-6ff183f8.js +253 -0
- package/dist/FormField-8118cfc8.js +246 -0
- package/dist/FormatDate/index.js +11 -0
- package/dist/FormatDate/index.mjs +2 -0
- package/dist/FormatDate-70ea5b43.js +34 -0
- package/dist/FormatDate-720b39cf.js +27 -0
- package/dist/FormatEmail/index.js +12 -0
- package/dist/FormatEmail/index.mjs +4 -0
- package/dist/FormatEmail-04ee4085.js +14 -0
- package/dist/FormatEmail-298393bb.js +21 -0
- package/dist/FormatFile/index.js +36 -0
- package/dist/FormatFile/index.mjs +28 -0
- package/dist/FormatFile-352cc225.js +154 -0
- package/dist/FormatFile-f036902d.js +162 -0
- package/dist/FormatRelativeDateTime/index.js +10 -0
- package/dist/FormatRelativeDateTime/index.mjs +2 -0
- package/dist/FormatRelativeDateTime-529dc36b.js +64 -0
- package/dist/FormatRelativeDateTime-6336002d.js +70 -0
- package/dist/FormatTime/index.js +10 -0
- package/dist/FormatTime/index.mjs +2 -0
- package/dist/FormatTime-20538519.js +34 -0
- package/dist/FormatTime-764fd3c8.js +28 -0
- package/dist/Gallery/Gallery.css.d.ts +9 -0
- package/dist/Gallery/index.js +39 -0
- package/dist/Gallery/index.mjs +31 -0
- package/dist/Gallery-287d640a.js +73 -0
- package/dist/Gallery-604216cb.js +66 -0
- package/dist/Glimmer/index.js +15 -0
- package/dist/Glimmer/index.mjs +6 -0
- package/dist/Glimmer/style/Shape.css.d.ts +9 -0
- package/dist/Glimmer/style/Sizes.css.d.ts +10 -0
- package/dist/Glimmer/style/Timing.css.d.ts +6 -0
- package/dist/Glimmer-84dee1ed.js +77 -0
- package/dist/Glimmer-aea7f8ae.js +69 -0
- package/dist/Grid/GridAlign.css.d.ts +8 -0
- package/dist/Grid/InternalGridCell/index.js +12 -0
- package/dist/Grid/InternalGridCell/index.mjs +3 -0
- package/dist/Grid/index.js +15 -0
- package/dist/Grid/index.mjs +6 -0
- package/dist/Grid-257d509f.js +34 -0
- package/dist/Grid-3b80e935.js +42 -0
- package/dist/Heading/index.js +14 -0
- package/dist/Heading/index.mjs +6 -0
- package/dist/Heading-1e8e4bd3.js +55 -0
- package/dist/Heading-93e755cb.js +49 -0
- package/dist/Icon/index.js +11 -0
- package/dist/Icon/index.mjs +3 -0
- package/dist/Icon-22723fe6.js +34 -0
- package/dist/Icon-405a216c.js +40 -0
- package/dist/InlineLabel/index.js +13 -0
- package/dist/InlineLabel/index.mjs +5 -0
- package/dist/InlineLabel-a6557829.js +28 -0
- package/dist/InlineLabel-b7d9e402.js +21 -0
- package/dist/InputAvatar/index.js +28 -0
- package/dist/InputAvatar/index.mjs +20 -0
- package/dist/InputAvatar-65e584a0.js +56 -0
- package/dist/InputAvatar-e4eb2201.js +50 -0
- package/dist/InputDate/index.js +29 -0
- package/dist/InputDate/index.mjs +21 -0
- package/dist/InputDate-68050753.js +32 -0
- package/dist/InputDate-77bcc250.js +39 -0
- package/dist/InputEmail/index.js +26 -0
- package/dist/InputEmail/index.mjs +17 -0
- package/dist/InputEmail-3103e37c.js +27 -0
- package/dist/InputEmail-88d617d7.js +20 -0
- package/dist/InputFile/index.js +25 -0
- package/dist/InputFile/index.mjs +16 -0
- package/dist/InputFile-bb945071.js +190 -0
- package/dist/InputFile-cfa53555.js +181 -0
- package/dist/InputGroup/index.js +12 -0
- package/dist/InputGroup/index.mjs +4 -0
- package/dist/InputGroup-436859cf.js +26 -0
- package/dist/InputGroup-8d4fd4eb.js +33 -0
- package/dist/InputNumber/index.js +25 -0
- package/dist/InputNumber/index.mjs +17 -0
- package/dist/InputNumber-0391311b.js +56 -0
- package/dist/InputNumber-d451b52e.js +62 -0
- package/dist/InputPassword/index.js +25 -0
- package/dist/InputPassword/index.mjs +17 -0
- package/dist/InputPassword-0ab4214d.js +19 -0
- package/dist/InputPassword-dd44b8d5.js +25 -0
- package/dist/InputPhoneNumber/index.js +25 -0
- package/dist/InputPhoneNumber/index.mjs +17 -0
- package/dist/InputPhoneNumber-83d7ec95.js +103 -0
- package/dist/InputPhoneNumber-bc761c12.js +97 -0
- package/dist/InputText/index.js +26 -0
- package/dist/InputText/index.mjs +18 -0
- package/dist/InputText-55b6cb65.js +102 -0
- package/dist/InputText-8dbcfe70.js +96 -0
- package/dist/InputTime/index.js +27 -0
- package/dist/InputTime/index.mjs +19 -0
- package/dist/InputTime-13522852.js +187 -0
- package/dist/InputTime-ce24b2bf.js +194 -0
- package/dist/InputValidation/index.js +17 -0
- package/dist/InputValidation/index.mjs +9 -0
- package/dist/InputValidation-05e839fa.js +29 -0
- package/dist/InputValidation-d68fb034.js +23 -0
- package/dist/InternalChipDismissible-1086e333.js +158 -0
- package/dist/InternalChipDismissible-5220f657.js +169 -0
- package/dist/InternalGridCell-58643b70.js +44 -0
- package/dist/InternalGridCell-eca14dd0.js +37 -0
- package/dist/LightBox/index.js +24 -0
- package/dist/LightBox/index.mjs +16 -0
- package/dist/LightBox-2460f422.js +109 -0
- package/dist/LightBox-a89d8863.js +117 -0
- package/dist/Link/index.js +10 -0
- package/dist/Link/index.mjs +2 -0
- package/dist/Link-b41bc1d3.js +7 -0
- package/dist/Link-fd7301ec.js +13 -0
- package/dist/List/index.js +25 -0
- package/dist/List/index.mjs +16 -0
- package/dist/List-ad77343b.js +77 -0
- package/dist/List-b5b0b81f.js +87 -0
- package/dist/Markdown/index.js +19 -0
- package/dist/Markdown/index.mjs +11 -0
- package/dist/Markdown-8d44afcd.js +55 -0
- package/dist/Markdown-f7c55304.js +62 -0
- package/dist/Menu/index.js +21 -0
- package/dist/Menu/index.mjs +13 -0
- package/dist/Menu-083fc4c4.js +139 -0
- package/dist/Menu-d99e0e5a.js +132 -0
- package/dist/Modal/Sizes.css.d.ts +6 -0
- package/dist/Modal/index.js +25 -0
- package/dist/Modal/index.mjs +17 -0
- package/dist/Modal-c336cac6.js +71 -0
- package/dist/Modal-ecd845d2.js +63 -0
- package/dist/MultiSelect/index.js +19 -0
- package/dist/MultiSelect/index.mjs +11 -0
- package/dist/MultiSelect-3b48166e.js +176 -0
- package/dist/MultiSelect-6dcd0181.js +169 -0
- package/dist/Option-18ddab50.js +12 -0
- package/dist/Option-3c4d377e.js +19 -0
- package/dist/Page/index.js +30 -0
- package/dist/Page/index.mjs +22 -0
- package/dist/Page-a9b25d27.js +66 -0
- package/dist/Page-f2604b2a.js +59 -0
- package/dist/Popover/index.js +20 -0
- package/dist/Popover/index.mjs +12 -0
- package/dist/Popover-2c6df036.js +47 -0
- package/dist/Popover-efe863e3.js +53 -0
- package/dist/ProgressBar/Sizes.css.d.ts +7 -0
- package/dist/ProgressBar/index.js +12 -0
- package/dist/ProgressBar/index.mjs +4 -0
- package/dist/ProgressBar-a453087d.js +36 -0
- package/dist/ProgressBar-b68edc8f.js +43 -0
- package/dist/RadioGroup/index.js +15 -0
- package/dist/RadioGroup/index.mjs +6 -0
- package/dist/RadioGroup-17b67ade.js +46 -0
- package/dist/RadioGroup-fe381c57.js +39 -0
- package/dist/RecurringSelect/components/index.js +18 -0
- package/dist/RecurringSelect/components/index.mjs +7 -0
- package/dist/RecurringSelect/index.js +39 -0
- package/dist/RecurringSelect/index.mjs +23 -0
- package/dist/RecurringSelect-2cd2b2cf.js +80 -0
- package/dist/RecurringSelect-d6eb7eba.js +74 -0
- package/dist/Select/index.js +26 -0
- package/dist/Select/index.mjs +17 -0
- package/dist/Spinner/index.js +12 -0
- package/dist/Spinner/index.mjs +4 -0
- package/dist/Spinner-5d8359b8.js +17 -0
- package/dist/Spinner-9d8fc7ff.js +24 -0
- package/dist/StatusIndicator/index.js +11 -0
- package/dist/StatusIndicator/index.mjs +3 -0
- package/dist/StatusIndicator-0a3a2d8a.js +12 -0
- package/dist/StatusIndicator-b179d06e.js +18 -0
- package/dist/StatusLabel/index.js +15 -0
- package/dist/StatusLabel/index.mjs +7 -0
- package/dist/StatusLabel-9a8fbdd0.js +19 -0
- package/dist/StatusLabel-f5fdd599.js +26 -0
- package/dist/Switch/index.js +13 -0
- package/dist/Switch/index.mjs +5 -0
- package/dist/Switch-258e7a55.js +49 -0
- package/dist/Switch-7d4aa7c3.js +56 -0
- package/dist/Table/index.js +20 -0
- package/dist/Table/index.mjs +5 -0
- package/dist/Tabs/index.js +14 -0
- package/dist/Tabs/index.mjs +5 -0
- package/dist/Tabs-0dd29b9b.js +78 -0
- package/dist/Tabs-4c37b15f.js +70 -0
- package/dist/Text/index.js +13 -0
- package/dist/Text/index.mjs +5 -0
- package/dist/Text-259af966.js +31 -0
- package/dist/Text-c9162504.js +25 -0
- package/dist/Toast/index.js +19 -0
- package/dist/Toast/index.mjs +11 -0
- package/dist/Tooltip/index.js +16 -0
- package/dist/Tooltip/index.mjs +8 -0
- package/dist/Tooltip-d1fc7e74.js +104 -0
- package/dist/Tooltip-ef3d6ef4.js +112 -0
- package/dist/Typography/css/Emphasis.css.d.ts +6 -0
- package/dist/Typography/css/FontFamilies.css.d.ts +6 -0
- package/dist/Typography/css/FontSizes.css.d.ts +12 -0
- package/dist/Typography/css/FontWeights.css.d.ts +10 -0
- package/dist/Typography/css/TextAlignment.css.d.ts +7 -0
- package/dist/Typography/css/TextCases.css.d.ts +7 -0
- package/dist/Typography/css/TextColors.css.d.ts +22 -0
- package/dist/Typography/css/Truncate.css.d.ts +5 -0
- package/dist/Typography/css/Typography.css.d.ts +5 -0
- package/dist/Typography/index.js +12 -0
- package/dist/Typography/index.mjs +4 -0
- package/dist/Typography-7cc5daf5.js +55 -0
- package/dist/Typography-c45bf216.js +62 -0
- package/dist/getAtlantisConfig-0f3e8af2.js +13 -0
- package/dist/getAtlantisConfig-5b50057c.js +11 -0
- package/dist/helpers-686e91da.js +15 -0
- package/dist/helpers-8ea80269.js +37 -0
- package/dist/index.js +274 -0
- package/dist/index.mjs +162 -0
- package/dist/showToast-59a77248.js +100 -0
- package/dist/showToast-c1e660fd.js +106 -0
- package/dist/style-inject.es-9d2f5f4e.js +30 -0
- package/dist/style-inject.es-a0e1a0ba.js +28 -0
- package/dist/tslib.es6-754e2961.js +46 -0
- package/dist/tslib.es6-c563c1dd.js +43 -0
- package/dist/useActiveLayout-101129a8.js +14 -0
- package/dist/useActiveLayout-adbf2bc3.js +16 -0
- package/dist/useBatchSelect-33acc2fc.js +36 -0
- package/dist/useBatchSelect-ac66c1cb.js +38 -0
- package/dist/useChildComponent-13989d0a.js +15 -0
- package/dist/useChildComponent-d661dbd6.js +21 -0
- package/dist/useResponsiveSizing-10f0860d.js +45 -0
- package/dist/useResponsiveSizing-c1e28e54.js +43 -0
- package/dist/useScrollToActive-056749d8.js +271 -0
- package/dist/useScrollToActive-ace6c5ba.js +259 -0
- package/package.json +6 -364
- package/rollup.config.js +82 -20
- package/dist/index.cjs +0 -6721
- package/dist/index.esm.js +0 -6603
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var DataListSort = require('./DataListSort-0e8e03c9.js');
|
|
5
|
+
var DataListOverflowFade = require('./DataListOverflowFade-85c826e0.js');
|
|
6
|
+
var DataListContext = require('./DataListContext-f40570a7.js');
|
|
7
|
+
var DataList_utils = require('./DataList.utils-b72b8d0d.js');
|
|
8
|
+
var useResponsiveSizing = require('./useResponsiveSizing-10f0860d.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
+
|
|
14
|
+
function useShowHeader() {
|
|
15
|
+
const { headerVisibility } = DataListContext.useDataListContext();
|
|
16
|
+
if (headerVisibility === undefined)
|
|
17
|
+
return true;
|
|
18
|
+
const sizes = useResponsiveSizing.useResponsiveSizing();
|
|
19
|
+
const sizeKeys = Object.keys(sizes);
|
|
20
|
+
const showHeader = sizeKeys.reduce((previous, breakpoint) => {
|
|
21
|
+
const isHeaderVisible = headerVisibility[breakpoint] || false;
|
|
22
|
+
const isBreakpointTriggered = sizes[breakpoint];
|
|
23
|
+
return previous || (isBreakpointTriggered && isHeaderVisible);
|
|
24
|
+
}, false);
|
|
25
|
+
return showHeader;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// This component is meant to capture the props of the DataList.Filters
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
30
|
+
function DataListFilters(_) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Renders the DataList.Filters component
|
|
35
|
+
*/
|
|
36
|
+
function InternalDataListFilters() {
|
|
37
|
+
const { children: parentChildren } = DataListContext.useDataListContext();
|
|
38
|
+
const showHeader = useShowHeader();
|
|
39
|
+
const showSortButton = !showHeader;
|
|
40
|
+
const component = DataList_utils.getCompoundComponent(parentChildren, DataListFilters);
|
|
41
|
+
if (!showSortButton && !component)
|
|
42
|
+
return null;
|
|
43
|
+
const children = component === null || component === void 0 ? void 0 : component.props.children;
|
|
44
|
+
return (React__default["default"].createElement(DataListOverflowFade.DataListOverflowFade, null,
|
|
45
|
+
children && children,
|
|
46
|
+
showSortButton && React__default["default"].createElement(DataListSort.DataListSort, null)));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
exports.DataListFilters = DataListFilters;
|
|
50
|
+
exports.InternalDataListFilters = InternalDataListFilters;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { D as DataListSort } from './DataListSort-a684067a.js';
|
|
3
|
+
import { D as DataListOverflowFade } from './DataListOverflowFade-a640f51f.js';
|
|
4
|
+
import { u as useDataListContext } from './DataListContext-736a42a2.js';
|
|
5
|
+
import { g as getCompoundComponent } from './DataList.utils-d51eb44e.js';
|
|
6
|
+
import { u as useResponsiveSizing } from './useResponsiveSizing-c1e28e54.js';
|
|
7
|
+
|
|
8
|
+
function useShowHeader() {
|
|
9
|
+
const { headerVisibility } = useDataListContext();
|
|
10
|
+
if (headerVisibility === undefined)
|
|
11
|
+
return true;
|
|
12
|
+
const sizes = useResponsiveSizing();
|
|
13
|
+
const sizeKeys = Object.keys(sizes);
|
|
14
|
+
const showHeader = sizeKeys.reduce((previous, breakpoint) => {
|
|
15
|
+
const isHeaderVisible = headerVisibility[breakpoint] || false;
|
|
16
|
+
const isBreakpointTriggered = sizes[breakpoint];
|
|
17
|
+
return previous || (isBreakpointTriggered && isHeaderVisible);
|
|
18
|
+
}, false);
|
|
19
|
+
return showHeader;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// This component is meant to capture the props of the DataList.Filters
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
+
function DataListFilters(_) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Renders the DataList.Filters component
|
|
29
|
+
*/
|
|
30
|
+
function InternalDataListFilters() {
|
|
31
|
+
const { children: parentChildren } = useDataListContext();
|
|
32
|
+
const showHeader = useShowHeader();
|
|
33
|
+
const showSortButton = !showHeader;
|
|
34
|
+
const component = getCompoundComponent(parentChildren, DataListFilters);
|
|
35
|
+
if (!showSortButton && !component)
|
|
36
|
+
return null;
|
|
37
|
+
const children = component === null || component === void 0 ? void 0 : component.props.children;
|
|
38
|
+
return (React.createElement(DataListOverflowFade, null,
|
|
39
|
+
children && children,
|
|
40
|
+
showSortButton && React.createElement(DataListSort, null)));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { DataListFilters as D, InternalDataListFilters as I };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var DataListContext = require('./DataListContext-f40570a7.js');
|
|
5
|
+
var DataList_utils = require('./DataList.utils-b72b8d0d.js');
|
|
6
|
+
var useResponsiveSizing = require('./useResponsiveSizing-10f0860d.js');
|
|
7
|
+
var classnames = require('classnames');
|
|
8
|
+
var AnimatedSwitcher = require('./AnimatedSwitcher-3d45ec5d.js');
|
|
9
|
+
var Text = require('./Text-259af966.js');
|
|
10
|
+
var Button = require('./Button-b73a5e01.js');
|
|
11
|
+
var Checkbox = require('./Checkbox-787e2e47.js');
|
|
12
|
+
var DataList = require('./DataList-b5f0a522.js');
|
|
13
|
+
var DataListBulkActions = require('./DataListBulkActions-af1fe283.js');
|
|
14
|
+
var useBatchSelect = require('./useBatchSelect-ac66c1cb.js');
|
|
15
|
+
var useActiveLayout = require('./useActiveLayout-adbf2bc3.js');
|
|
16
|
+
|
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
+
|
|
19
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
21
|
+
|
|
22
|
+
function DataListHeaderCheckbox({ children }) {
|
|
23
|
+
const { sm } = useResponsiveSizing.useResponsiveSizing();
|
|
24
|
+
const { data, totalCount } = DataListContext.useDataListContext();
|
|
25
|
+
const { canSelectAll, hasAtLeastOneSelected, isSelectAll, selectedCount, selectedIDs, selected, onSelectAll, onSelect, } = useBatchSelect.useBatchSelect();
|
|
26
|
+
// If there's no onSelectAll or onSelect, we don't need to render the checkbox.
|
|
27
|
+
if (!canSelectAll)
|
|
28
|
+
return children;
|
|
29
|
+
const deselectText = sm ? "Deselect All" : "Deselect";
|
|
30
|
+
const selectedLabel = selectedCount ? `${selectedCount} selected` : "";
|
|
31
|
+
return (React__default["default"].createElement("div", { className: DataList.styles.selectable },
|
|
32
|
+
React__default["default"].createElement("div", { className: classnames__default["default"](DataList.styles.selectAllCheckbox, {
|
|
33
|
+
[DataList.styles.visible]: canSelectAll,
|
|
34
|
+
}) },
|
|
35
|
+
React__default["default"].createElement(Checkbox.Checkbox, { checked: isAllSelected(), indeterminate: isIndeterminate(), onChange: handleSelectAll },
|
|
36
|
+
React__default["default"].createElement("div", { className: DataList.styles.srOnly }, selectedLabel))),
|
|
37
|
+
React__default["default"].createElement(AnimatedSwitcher.AnimatedSwitcher, { switched: hasAtLeastOneSelected, initialChild: children, switchTo: React__default["default"].createElement("div", { className: DataList.styles.batchSelectContainer },
|
|
38
|
+
React__default["default"].createElement("div", { className: DataList.styles.headerBatchSelect },
|
|
39
|
+
Boolean(selectedCount) && React__default["default"].createElement(Text.Text, null,
|
|
40
|
+
selectedCount,
|
|
41
|
+
" selected"),
|
|
42
|
+
React__default["default"].createElement(Button.Button, { label: deselectText, onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect([]), type: "tertiary" })),
|
|
43
|
+
React__default["default"].createElement(DataListBulkActions.InternalDataListBulkActions, null)) })));
|
|
44
|
+
function isIndeterminate() {
|
|
45
|
+
if (isSelectAll)
|
|
46
|
+
return selectedIDs.length > 0;
|
|
47
|
+
return selectedCount > 0 && !isAllSelected();
|
|
48
|
+
}
|
|
49
|
+
function isAllSelected() {
|
|
50
|
+
if (isSelectAll)
|
|
51
|
+
return true;
|
|
52
|
+
// If there's a totalCount, we can use that to accurately determine if the
|
|
53
|
+
// user have "selected all".
|
|
54
|
+
if (totalCount) {
|
|
55
|
+
return totalCount === selectedCount;
|
|
56
|
+
}
|
|
57
|
+
// Otherwise, we'll use the total count of data. This is not as reliable, as
|
|
58
|
+
// it's possible that the would select all loaded data while we're
|
|
59
|
+
// loading more. It's still hard to get to that state as the load more
|
|
60
|
+
// triggers before you see the last item.
|
|
61
|
+
return data.length > 0 && selectedCount >= data.length;
|
|
62
|
+
}
|
|
63
|
+
function handleSelectAll() {
|
|
64
|
+
if (isAllSelected()) {
|
|
65
|
+
return onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll([]);
|
|
66
|
+
}
|
|
67
|
+
onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll({ totalCount: getTotalCount(), unselected: [] });
|
|
68
|
+
}
|
|
69
|
+
function getTotalCount() {
|
|
70
|
+
if (selected && "totalCount" in selected)
|
|
71
|
+
return selected.totalCount;
|
|
72
|
+
if (totalCount)
|
|
73
|
+
return totalCount;
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function DataListHeader() {
|
|
79
|
+
const breakpoints = useResponsiveSizing.useResponsiveSizing();
|
|
80
|
+
const { headerVisibility = { xs: true, sm: true, md: true, lg: true, xl: true }, headers, layoutBreakpoints, } = DataListContext.useDataListContext();
|
|
81
|
+
const { hasAtLeastOneSelected } = useBatchSelect.useBatchSelect();
|
|
82
|
+
const size = getVisibleSize();
|
|
83
|
+
const { layout } = useActiveLayout.useActiveLayout();
|
|
84
|
+
const visible = headerVisibility[size];
|
|
85
|
+
if ((!visible && !hasAtLeastOneSelected) || !layout)
|
|
86
|
+
return null;
|
|
87
|
+
const headerData = DataList_utils.generateHeaderElements(headers);
|
|
88
|
+
if (!headerData)
|
|
89
|
+
return null;
|
|
90
|
+
return (React__default["default"].createElement("div", { className: DataList.styles.headerTitles },
|
|
91
|
+
React__default["default"].createElement(DataListHeaderCheckbox, null, layout(headerData))));
|
|
92
|
+
function getVisibleSize() {
|
|
93
|
+
const visibilityKeys = Object.keys(headerVisibility);
|
|
94
|
+
const headerBreakpoints = DataList_utils.sortBreakpoints(visibilityKeys).reverse();
|
|
95
|
+
const visibleHeaderSize = headerBreakpoints.find(key => breakpoints[key]);
|
|
96
|
+
return visibleHeaderSize || layoutBreakpoints[0];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
exports.DataListHeader = DataListHeader;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { u as useDataListContext } from './DataListContext-736a42a2.js';
|
|
3
|
+
import { b as generateHeaderElements, s as sortBreakpoints } from './DataList.utils-d51eb44e.js';
|
|
4
|
+
import { u as useResponsiveSizing } from './useResponsiveSizing-c1e28e54.js';
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
import { A as AnimatedSwitcher } from './AnimatedSwitcher-3aff3d12.js';
|
|
7
|
+
import { T as Text } from './Text-c9162504.js';
|
|
8
|
+
import { B as Button } from './Button-9ae092b3.js';
|
|
9
|
+
import { C as Checkbox } from './Checkbox-3ff9f47a.js';
|
|
10
|
+
import { s as styles } from './DataList-1e0e9426.js';
|
|
11
|
+
import { I as InternalDataListBulkActions } from './DataListBulkActions-a750f601.js';
|
|
12
|
+
import { u as useBatchSelect } from './useBatchSelect-33acc2fc.js';
|
|
13
|
+
import { u as useActiveLayout } from './useActiveLayout-101129a8.js';
|
|
14
|
+
|
|
15
|
+
function DataListHeaderCheckbox({ children }) {
|
|
16
|
+
const { sm } = useResponsiveSizing();
|
|
17
|
+
const { data, totalCount } = useDataListContext();
|
|
18
|
+
const { canSelectAll, hasAtLeastOneSelected, isSelectAll, selectedCount, selectedIDs, selected, onSelectAll, onSelect, } = useBatchSelect();
|
|
19
|
+
// If there's no onSelectAll or onSelect, we don't need to render the checkbox.
|
|
20
|
+
if (!canSelectAll)
|
|
21
|
+
return children;
|
|
22
|
+
const deselectText = sm ? "Deselect All" : "Deselect";
|
|
23
|
+
const selectedLabel = selectedCount ? `${selectedCount} selected` : "";
|
|
24
|
+
return (React.createElement("div", { className: styles.selectable },
|
|
25
|
+
React.createElement("div", { className: classnames(styles.selectAllCheckbox, {
|
|
26
|
+
[styles.visible]: canSelectAll,
|
|
27
|
+
}) },
|
|
28
|
+
React.createElement(Checkbox, { checked: isAllSelected(), indeterminate: isIndeterminate(), onChange: handleSelectAll },
|
|
29
|
+
React.createElement("div", { className: styles.srOnly }, selectedLabel))),
|
|
30
|
+
React.createElement(AnimatedSwitcher, { switched: hasAtLeastOneSelected, initialChild: children, switchTo: React.createElement("div", { className: styles.batchSelectContainer },
|
|
31
|
+
React.createElement("div", { className: styles.headerBatchSelect },
|
|
32
|
+
Boolean(selectedCount) && React.createElement(Text, null,
|
|
33
|
+
selectedCount,
|
|
34
|
+
" selected"),
|
|
35
|
+
React.createElement(Button, { label: deselectText, onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect([]), type: "tertiary" })),
|
|
36
|
+
React.createElement(InternalDataListBulkActions, null)) })));
|
|
37
|
+
function isIndeterminate() {
|
|
38
|
+
if (isSelectAll)
|
|
39
|
+
return selectedIDs.length > 0;
|
|
40
|
+
return selectedCount > 0 && !isAllSelected();
|
|
41
|
+
}
|
|
42
|
+
function isAllSelected() {
|
|
43
|
+
if (isSelectAll)
|
|
44
|
+
return true;
|
|
45
|
+
// If there's a totalCount, we can use that to accurately determine if the
|
|
46
|
+
// user have "selected all".
|
|
47
|
+
if (totalCount) {
|
|
48
|
+
return totalCount === selectedCount;
|
|
49
|
+
}
|
|
50
|
+
// Otherwise, we'll use the total count of data. This is not as reliable, as
|
|
51
|
+
// it's possible that the would select all loaded data while we're
|
|
52
|
+
// loading more. It's still hard to get to that state as the load more
|
|
53
|
+
// triggers before you see the last item.
|
|
54
|
+
return data.length > 0 && selectedCount >= data.length;
|
|
55
|
+
}
|
|
56
|
+
function handleSelectAll() {
|
|
57
|
+
if (isAllSelected()) {
|
|
58
|
+
return onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll([]);
|
|
59
|
+
}
|
|
60
|
+
onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll({ totalCount: getTotalCount(), unselected: [] });
|
|
61
|
+
}
|
|
62
|
+
function getTotalCount() {
|
|
63
|
+
if (selected && "totalCount" in selected)
|
|
64
|
+
return selected.totalCount;
|
|
65
|
+
if (totalCount)
|
|
66
|
+
return totalCount;
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function DataListHeader() {
|
|
72
|
+
const breakpoints = useResponsiveSizing();
|
|
73
|
+
const { headerVisibility = { xs: true, sm: true, md: true, lg: true, xl: true }, headers, layoutBreakpoints, } = useDataListContext();
|
|
74
|
+
const { hasAtLeastOneSelected } = useBatchSelect();
|
|
75
|
+
const size = getVisibleSize();
|
|
76
|
+
const { layout } = useActiveLayout();
|
|
77
|
+
const visible = headerVisibility[size];
|
|
78
|
+
if ((!visible && !hasAtLeastOneSelected) || !layout)
|
|
79
|
+
return null;
|
|
80
|
+
const headerData = generateHeaderElements(headers);
|
|
81
|
+
if (!headerData)
|
|
82
|
+
return null;
|
|
83
|
+
return (React.createElement("div", { className: styles.headerTitles },
|
|
84
|
+
React.createElement(DataListHeaderCheckbox, null, layout(headerData))));
|
|
85
|
+
function getVisibleSize() {
|
|
86
|
+
const visibilityKeys = Object.keys(headerVisibility);
|
|
87
|
+
const headerBreakpoints = sortBreakpoints(visibilityKeys).reverse();
|
|
88
|
+
const visibleHeaderSize = headerBreakpoints.find(key => breakpoints[key]);
|
|
89
|
+
return visibleHeaderSize || layoutBreakpoints[0];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { DataListHeader as D };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var useFocusTrap = require('@jobber/hooks/useFocusTrap');
|
|
6
|
+
var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
|
|
7
|
+
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
8
|
+
var DataListSortingOptions = require('./DataListSortingOptions-4694941c.js');
|
|
9
|
+
var Text = require('./Text-259af966.js');
|
|
10
|
+
var DataListContext = require('./DataListContext-f40570a7.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
16
|
+
|
|
17
|
+
var css_248z$1 = ".fLmJZJJqMcE- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n -ms-flex-align: center;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n\n.fLmJZJJqMcE-:focus,\n.fLmJZJJqMcE-:focus-visible {\n outline: none;\n}\n\n.fLmJZJJqMcE-:focus-visible {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n}\n\n.UG8cHUT3Hds- {\n cursor: pointer;\n}\n";
|
|
18
|
+
var styles$1 = {"headerLabel":"fLmJZJJqMcE-","sortable":"UG8cHUT3Hds-"};
|
|
19
|
+
styleInject_es.styleInject(css_248z$1);
|
|
20
|
+
|
|
21
|
+
var css_248z = ".AN5egORYy-0- {\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.AN5egORYy-0- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n transition: all 200ms ease;\n transition: all var(--timing-base) ease;\n}\n\n.AN5egORYy-0- path.F1uTDCK0Sb0- {\n fill: rgb(1, 41, 57);\n fill: var(--color-heading);\n}\n\n.AN5egORYy-0- path._6KYeQXWXLQ8- {\n fill: rgb(217, 223, 225);\n fill: var(--color-inactive--surface);\n}\n\n.AN5egORYy-0-:hover path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n transition: all 200ms ease;\n transition: all var(--timing-base) ease;\n}\n";
|
|
22
|
+
var styles = {"sortIcon":"AN5egORYy-0-","active":"F1uTDCK0Sb0-","inactive":"_6KYeQXWXLQ8-"};
|
|
23
|
+
styleInject_es.styleInject(css_248z);
|
|
24
|
+
|
|
25
|
+
const SORTING_ICON_TEST_ID = "ATL-DataList-Sorting-Icon";
|
|
26
|
+
function DataListSortingArrows({ order }) {
|
|
27
|
+
return (React__default["default"].createElement("div", { className: styles.sortIcon, "data-testid": SORTING_ICON_TEST_ID },
|
|
28
|
+
React__default["default"].createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
29
|
+
React__default["default"].createElement("path", { className: getActiveClassName("asc"), d: "M16.2929 10.6661C15.9024 11.0566 15.2692 11.0566 14.8787 10.6661L12.2891 8.14263L9.70711 10.6661C9.31658 11.0566 8.68342 11.0566 8.29289 10.6661C7.90237 10.2756 7.90237 9.64239 8.29289 9.25186L11.5858 5.95897C11.9763 5.56845 12.6095 5.56845 13 5.95897L16.2929 9.25186C16.6834 9.64239 16.6834 10.2756 16.2929 10.6661Z" }),
|
|
30
|
+
React__default["default"].createElement("path", { className: getActiveClassName("desc"), d: "M8.29292 13.3339C8.68345 12.9434 9.31661 12.9434 9.70714 13.3339L12.2968 15.8573L14.8787 13.3339C15.2692 12.9434 15.9024 12.9434 16.2929 13.3339C16.6834 13.7244 16.6834 14.3576 16.2929 14.7481L13 18.041C12.6095 18.4315 11.9763 18.4315 11.5858 18.041L8.29292 14.7481C7.9024 14.3576 7.9024 13.7244 8.29292 13.3339Z" }))));
|
|
31
|
+
function getActiveClassName(targetOrder) {
|
|
32
|
+
return order === targetOrder ? styles.active : styles.inactive;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* eslint-disable max-statements */
|
|
37
|
+
function DataListHeaderTile({ headers, headerKey, visible = false, }) {
|
|
38
|
+
useRefocusOnActivator.useRefocusOnActivator(visible);
|
|
39
|
+
const { sorting } = DataListContext.useDataListContext();
|
|
40
|
+
const [isDropDownOpen, setIsDropDownOpen] = React.useState(false);
|
|
41
|
+
const optionsListRef = useFocusTrap.useFocusTrap(isDropDownOpen);
|
|
42
|
+
const dataListHeaderTileRef = React.useRef(null);
|
|
43
|
+
const sortableItem = sorting === null || sorting === void 0 ? void 0 : sorting.sortable.find(item => item.key === headerKey);
|
|
44
|
+
const isSortable = Boolean(sortableItem);
|
|
45
|
+
const sortingState = sorting === null || sorting === void 0 ? void 0 : sorting.state;
|
|
46
|
+
const Tag = isSortable ? "button" : "div";
|
|
47
|
+
return (React__default["default"].createElement(Tag, { className: classnames__default["default"](styles$1.headerLabel, {
|
|
48
|
+
[styles$1.sortable]: isSortable,
|
|
49
|
+
}), onClick: handleOnClick, ref: dataListHeaderTileRef },
|
|
50
|
+
React__default["default"].createElement(Text.Text, { maxLines: "single" }, headers[headerKey]),
|
|
51
|
+
isSortable && (sortableItem === null || sortableItem === void 0 ? void 0 : sortableItem.options) && isDropDownOpen && (React__default["default"].createElement(DataListSortingOptions.DataListSortingOptions, { options: sortableItem.options, selectedOption: (sorting === null || sorting === void 0 ? void 0 : sorting.state) || null, onSelectChange: handleSelectChange, onClose: () => setIsDropDownOpen(false), optionsListRef: optionsListRef, dataListHeaderTileRef: dataListHeaderTileRef })),
|
|
52
|
+
isSortable && (React__default["default"].createElement(DataListSortingArrows, { order: (sortingState === null || sortingState === void 0 ? void 0 : sortingState.key) === headerKey ? sortingState.order : "none" }))));
|
|
53
|
+
function toggleSorting(newSortingKey, newId, newLabel) {
|
|
54
|
+
const isSameKey = newSortingKey === (sortingState === null || sortingState === void 0 ? void 0 : sortingState.key);
|
|
55
|
+
const isDescending = (sortingState === null || sortingState === void 0 ? void 0 : sortingState.order) === "desc";
|
|
56
|
+
if (isSameKey && isDescending) {
|
|
57
|
+
sorting === null || sorting === void 0 ? void 0 : sorting.onSort(undefined);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const sortingOrder = isSameKey ? "desc" : "asc";
|
|
61
|
+
setSorting(newSortingKey, newId, newLabel, sortingOrder);
|
|
62
|
+
}
|
|
63
|
+
function setSorting(newSortingKey, newId, newLabel, newOrder) {
|
|
64
|
+
sorting === null || sorting === void 0 ? void 0 : sorting.onSort({
|
|
65
|
+
key: newSortingKey,
|
|
66
|
+
id: newId,
|
|
67
|
+
label: newLabel,
|
|
68
|
+
order: newOrder,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function handleOnClick() {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
if (!isSortable)
|
|
74
|
+
return;
|
|
75
|
+
if (sortableItem === null || sortableItem === void 0 ? void 0 : sortableItem.options) {
|
|
76
|
+
setIsDropDownOpen(!isDropDownOpen);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const id = ((_b = (_a = sortableItem === null || sortableItem === void 0 ? void 0 : sortableItem.options) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) || headerKey;
|
|
80
|
+
toggleSorting(id, headerKey, headers[headerKey]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function handleSelectChange(newSortOption) {
|
|
84
|
+
if (sortableItem) {
|
|
85
|
+
setSorting(sortableItem.key, newSortOption.id, newSortOption.label, newSortOption.order);
|
|
86
|
+
}
|
|
87
|
+
setIsDropDownOpen(true);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
exports.DataListHeaderTile = DataListHeaderTile;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import React, { useState, useRef } from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { useFocusTrap } from '@jobber/hooks/useFocusTrap';
|
|
4
|
+
import { useRefocusOnActivator } from '@jobber/hooks/useRefocusOnActivator';
|
|
5
|
+
import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
|
|
6
|
+
import { D as DataListSortingOptions } from './DataListSortingOptions-8a64205a.js';
|
|
7
|
+
import { T as Text } from './Text-c9162504.js';
|
|
8
|
+
import { u as useDataListContext } from './DataListContext-736a42a2.js';
|
|
9
|
+
|
|
10
|
+
var css_248z$1 = ".fLmJZJJqMcE- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n -ms-flex-align: center;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n\n.fLmJZJJqMcE-:focus,\n.fLmJZJJqMcE-:focus-visible {\n outline: none;\n}\n\n.fLmJZJJqMcE-:focus-visible {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n}\n\n.UG8cHUT3Hds- {\n cursor: pointer;\n}\n";
|
|
11
|
+
var styles$1 = {"headerLabel":"fLmJZJJqMcE-","sortable":"UG8cHUT3Hds-"};
|
|
12
|
+
styleInject(css_248z$1);
|
|
13
|
+
|
|
14
|
+
var css_248z = ".AN5egORYy-0- {\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.AN5egORYy-0- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n transition: all 200ms ease;\n transition: all var(--timing-base) ease;\n}\n\n.AN5egORYy-0- path.F1uTDCK0Sb0- {\n fill: rgb(1, 41, 57);\n fill: var(--color-heading);\n}\n\n.AN5egORYy-0- path._6KYeQXWXLQ8- {\n fill: rgb(217, 223, 225);\n fill: var(--color-inactive--surface);\n}\n\n.AN5egORYy-0-:hover path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n transition: all 200ms ease;\n transition: all var(--timing-base) ease;\n}\n";
|
|
15
|
+
var styles = {"sortIcon":"AN5egORYy-0-","active":"F1uTDCK0Sb0-","inactive":"_6KYeQXWXLQ8-"};
|
|
16
|
+
styleInject(css_248z);
|
|
17
|
+
|
|
18
|
+
const SORTING_ICON_TEST_ID = "ATL-DataList-Sorting-Icon";
|
|
19
|
+
function DataListSortingArrows({ order }) {
|
|
20
|
+
return (React.createElement("div", { className: styles.sortIcon, "data-testid": SORTING_ICON_TEST_ID },
|
|
21
|
+
React.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
22
|
+
React.createElement("path", { className: getActiveClassName("asc"), d: "M16.2929 10.6661C15.9024 11.0566 15.2692 11.0566 14.8787 10.6661L12.2891 8.14263L9.70711 10.6661C9.31658 11.0566 8.68342 11.0566 8.29289 10.6661C7.90237 10.2756 7.90237 9.64239 8.29289 9.25186L11.5858 5.95897C11.9763 5.56845 12.6095 5.56845 13 5.95897L16.2929 9.25186C16.6834 9.64239 16.6834 10.2756 16.2929 10.6661Z" }),
|
|
23
|
+
React.createElement("path", { className: getActiveClassName("desc"), d: "M8.29292 13.3339C8.68345 12.9434 9.31661 12.9434 9.70714 13.3339L12.2968 15.8573L14.8787 13.3339C15.2692 12.9434 15.9024 12.9434 16.2929 13.3339C16.6834 13.7244 16.6834 14.3576 16.2929 14.7481L13 18.041C12.6095 18.4315 11.9763 18.4315 11.5858 18.041L8.29292 14.7481C7.9024 14.3576 7.9024 13.7244 8.29292 13.3339Z" }))));
|
|
24
|
+
function getActiveClassName(targetOrder) {
|
|
25
|
+
return order === targetOrder ? styles.active : styles.inactive;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* eslint-disable max-statements */
|
|
30
|
+
function DataListHeaderTile({ headers, headerKey, visible = false, }) {
|
|
31
|
+
useRefocusOnActivator(visible);
|
|
32
|
+
const { sorting } = useDataListContext();
|
|
33
|
+
const [isDropDownOpen, setIsDropDownOpen] = useState(false);
|
|
34
|
+
const optionsListRef = useFocusTrap(isDropDownOpen);
|
|
35
|
+
const dataListHeaderTileRef = useRef(null);
|
|
36
|
+
const sortableItem = sorting === null || sorting === void 0 ? void 0 : sorting.sortable.find(item => item.key === headerKey);
|
|
37
|
+
const isSortable = Boolean(sortableItem);
|
|
38
|
+
const sortingState = sorting === null || sorting === void 0 ? void 0 : sorting.state;
|
|
39
|
+
const Tag = isSortable ? "button" : "div";
|
|
40
|
+
return (React.createElement(Tag, { className: classnames(styles$1.headerLabel, {
|
|
41
|
+
[styles$1.sortable]: isSortable,
|
|
42
|
+
}), onClick: handleOnClick, ref: dataListHeaderTileRef },
|
|
43
|
+
React.createElement(Text, { maxLines: "single" }, headers[headerKey]),
|
|
44
|
+
isSortable && (sortableItem === null || sortableItem === void 0 ? void 0 : sortableItem.options) && isDropDownOpen && (React.createElement(DataListSortingOptions, { options: sortableItem.options, selectedOption: (sorting === null || sorting === void 0 ? void 0 : sorting.state) || null, onSelectChange: handleSelectChange, onClose: () => setIsDropDownOpen(false), optionsListRef: optionsListRef, dataListHeaderTileRef: dataListHeaderTileRef })),
|
|
45
|
+
isSortable && (React.createElement(DataListSortingArrows, { order: (sortingState === null || sortingState === void 0 ? void 0 : sortingState.key) === headerKey ? sortingState.order : "none" }))));
|
|
46
|
+
function toggleSorting(newSortingKey, newId, newLabel) {
|
|
47
|
+
const isSameKey = newSortingKey === (sortingState === null || sortingState === void 0 ? void 0 : sortingState.key);
|
|
48
|
+
const isDescending = (sortingState === null || sortingState === void 0 ? void 0 : sortingState.order) === "desc";
|
|
49
|
+
if (isSameKey && isDescending) {
|
|
50
|
+
sorting === null || sorting === void 0 ? void 0 : sorting.onSort(undefined);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const sortingOrder = isSameKey ? "desc" : "asc";
|
|
54
|
+
setSorting(newSortingKey, newId, newLabel, sortingOrder);
|
|
55
|
+
}
|
|
56
|
+
function setSorting(newSortingKey, newId, newLabel, newOrder) {
|
|
57
|
+
sorting === null || sorting === void 0 ? void 0 : sorting.onSort({
|
|
58
|
+
key: newSortingKey,
|
|
59
|
+
id: newId,
|
|
60
|
+
label: newLabel,
|
|
61
|
+
order: newOrder,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function handleOnClick() {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
if (!isSortable)
|
|
67
|
+
return;
|
|
68
|
+
if (sortableItem === null || sortableItem === void 0 ? void 0 : sortableItem.options) {
|
|
69
|
+
setIsDropDownOpen(!isDropDownOpen);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const id = ((_b = (_a = sortableItem === null || sortableItem === void 0 ? void 0 : sortableItem.options) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) || headerKey;
|
|
73
|
+
toggleSorting(id, headerKey, headers[headerKey]);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function handleSelectChange(newSortOption) {
|
|
77
|
+
if (sortableItem) {
|
|
78
|
+
setSorting(sortableItem.key, newSortOption.id, newSortOption.label, newSortOption.order);
|
|
79
|
+
}
|
|
80
|
+
setIsDropDownOpen(true);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { DataListHeaderTile as D };
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var framerMotion = require('framer-motion');
|
|
5
|
+
var classnames = require('classnames');
|
|
6
|
+
var DataListLayoutContext = require('./DataListLayoutContext-83df2a23.js');
|
|
7
|
+
var DataListItemActions = require('./DataListItemActions-122d8972.js');
|
|
8
|
+
var DataListActionsMenu = require('./DataListActionsMenu-cfcd5d21.js');
|
|
9
|
+
var DataListLayoutContext$1 = require('./DataListLayoutContext-39a0d016.js');
|
|
10
|
+
var DataList_utils = require('./DataList.utils-b72b8d0d.js');
|
|
11
|
+
var Checkbox = require('./Checkbox-787e2e47.js');
|
|
12
|
+
var useBatchSelect = require('./useBatchSelect-ac66c1cb.js');
|
|
13
|
+
var DataList = require('./DataList-b5f0a522.js');
|
|
14
|
+
var DataListItemClickable = require('./DataListItemClickable-abe0242c.js');
|
|
15
|
+
var DataListContext = require('./DataListContext-f40570a7.js');
|
|
16
|
+
|
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
+
|
|
19
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
21
|
+
|
|
22
|
+
function DataListItemInternal({ children, item, }) {
|
|
23
|
+
const { canSelect, hasAtLeastOneSelected, isSelectAll, selectedIDs, selected, onSelect, } = useBatchSelect.useBatchSelect();
|
|
24
|
+
if (!canSelect)
|
|
25
|
+
return children;
|
|
26
|
+
return (React__default["default"].createElement("div", { className: classnames__default["default"](DataList.styles.selectable, {
|
|
27
|
+
[DataList.styles.selected]: hasAtLeastOneSelected,
|
|
28
|
+
}) },
|
|
29
|
+
children,
|
|
30
|
+
React__default["default"].createElement(Checkbox.Checkbox, { checked: getIsChecked(), onChange: handleChange })));
|
|
31
|
+
function getIsChecked() {
|
|
32
|
+
const isItemInSelectedIDs = selectedIDs.includes(item.id);
|
|
33
|
+
// If we're in a "select all" state, the selectedID's becomes a list of
|
|
34
|
+
// unchecked ID's.
|
|
35
|
+
if (isSelectAll)
|
|
36
|
+
return !isItemInSelectedIDs;
|
|
37
|
+
// Otherwise, we're in a "select some" state, so we can just check if the
|
|
38
|
+
// item is in the selectedIDs list.
|
|
39
|
+
return isItemInSelectedIDs;
|
|
40
|
+
}
|
|
41
|
+
function handleChange() {
|
|
42
|
+
if (isSelectAll)
|
|
43
|
+
return handleSelectAllChange();
|
|
44
|
+
return handleSelectSomeChange();
|
|
45
|
+
}
|
|
46
|
+
function handleSelectAllChange() {
|
|
47
|
+
if (!selected || Array.isArray(selected))
|
|
48
|
+
return;
|
|
49
|
+
if (selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.includes(item.id)) {
|
|
50
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(Object.assign(Object.assign({}, selected), { unselected: selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.filter(id => id !== item.id) }));
|
|
51
|
+
}
|
|
52
|
+
else if (selectedIDs) {
|
|
53
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(Object.assign(Object.assign({}, selected), { unselected: [...selectedIDs, item.id] }));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function handleSelectSomeChange() {
|
|
57
|
+
if (selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.includes(item.id)) {
|
|
58
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.filter(id => id !== item.id));
|
|
59
|
+
}
|
|
60
|
+
else if (selectedIDs) {
|
|
61
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect([...selectedIDs, item.id]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function useGetItemActions(item) {
|
|
67
|
+
const { itemActionComponent } = DataListContext.useDataListContext();
|
|
68
|
+
const itemActions = (itemActionComponent === null || itemActionComponent === void 0 ? void 0 : itemActionComponent.props.children) || [];
|
|
69
|
+
const actionsArray = React.Children.toArray(itemActions);
|
|
70
|
+
const actions = React.useMemo(() => {
|
|
71
|
+
return actionsArray.filter(action => {
|
|
72
|
+
if (React.isValidElement(action) && action.props.visible) {
|
|
73
|
+
return action.props.visible(item);
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
});
|
|
77
|
+
}, [itemActionComponent === null || itemActionComponent === void 0 ? void 0 : itemActionComponent.props.children, item]);
|
|
78
|
+
return {
|
|
79
|
+
actions: actions,
|
|
80
|
+
hasActions: Boolean(actions.length),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// eslint-disable-next-line max-statements
|
|
85
|
+
function DataListItem({ item, layout, }) {
|
|
86
|
+
const { hasInLayoutActions } = DataListLayoutContext.useDataListLayoutContext();
|
|
87
|
+
const [showMenu, setShowMenu] = React.useState(false);
|
|
88
|
+
const [contextPosition, setContextPosition] = React.useState();
|
|
89
|
+
const generatedItem = React.useMemo(() => DataList_utils.generateListItemElement(item), [item]);
|
|
90
|
+
const { actions, hasActions } = useGetItemActions(item);
|
|
91
|
+
const isContextMenuVisible = Boolean(contextPosition);
|
|
92
|
+
const shouldShowContextMenu = showMenu && isContextMenuVisible && hasActions;
|
|
93
|
+
return (React__default["default"].createElement(DataListLayoutContext$1.DataListLayoutActionsContext.Provider, { value: { activeItem: item } },
|
|
94
|
+
React__default["default"].createElement("div", { onMouseEnter: handleShowMenu, onMouseLeave: handleHideMenu, onFocus: handleShowMenu, onBlur: handleHideMenu, onContextMenu: handleContextMenu, className: classnames__default["default"](DataList.styles.listItem, {
|
|
95
|
+
[DataList.styles.active]: showMenu && isContextMenuVisible,
|
|
96
|
+
}), key: item.id },
|
|
97
|
+
React__default["default"].createElement(DataListItemInternal, { item: item },
|
|
98
|
+
React__default["default"].createElement(DataListItemClickable.DataListItemClickable, null, layout(generatedItem))),
|
|
99
|
+
React__default["default"].createElement(framerMotion.AnimatePresence, null,
|
|
100
|
+
showMenu && hasActions && !hasInLayoutActions && (React__default["default"].createElement(DataListItemActions.InternalDataListItemActions, { actions: actions })),
|
|
101
|
+
React__default["default"].createElement(DataListActionsMenu.DataListActionsMenu, { key: item.id, visible: shouldShowContextMenu, position: contextPosition || { x: 0, y: 0 }, onRequestClose: () => setContextPosition(undefined) }, actions)))));
|
|
102
|
+
function handleShowMenu() {
|
|
103
|
+
setShowMenu(true);
|
|
104
|
+
}
|
|
105
|
+
function handleHideMenu() {
|
|
106
|
+
setShowMenu(false);
|
|
107
|
+
}
|
|
108
|
+
function handleContextMenu(event) {
|
|
109
|
+
if (!hasActions || isContextMenuVisible)
|
|
110
|
+
return;
|
|
111
|
+
event.preventDefault();
|
|
112
|
+
setContextPosition({
|
|
113
|
+
x: event.clientX,
|
|
114
|
+
y: event.clientY,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
exports.DataListItem = DataListItem;
|