@crewlethq/ui 0.2.0 → 0.3.0
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/README.md +1714 -14
- package/dist/Accordion/Accordion.d.ts +54 -0
- package/dist/Accordion/index.d.ts +4 -0
- package/dist/Accordion/index.js +6 -0
- package/dist/Accordion-ZI2WLD5C.css +87 -0
- package/dist/AddPill/AddPill.d.ts +114 -0
- package/dist/AddPill/index.d.ts +3 -0
- package/dist/AddPill/index.js +3 -0
- package/dist/AddPill-DFWXYLIQ.css +434 -0
- package/dist/Announcer/Announcer.d.ts +15 -0
- package/dist/Announcer/index.d.ts +2 -0
- package/dist/Announcer/index.js +3 -0
- package/dist/AppShell/AppShell.d.ts +193 -0
- package/dist/AppShell/index.d.ts +3 -0
- package/dist/AppShell/index.js +6 -0
- package/dist/AppShell-NVE6LHNI.css +395 -0
- package/dist/Avatar/Avatar.d.ts +104 -0
- package/dist/Avatar/index.d.ts +3 -0
- package/dist/Avatar/index.js +2 -0
- package/dist/Avatar-P2KRQM2B.css +156 -0
- package/dist/BrandLockup/BrandLockup.d.ts +41 -0
- package/dist/BrandLockup/index.d.ts +3 -0
- package/dist/BrandLockup/index.js +2 -0
- package/dist/BrandLockup-6ISDEHPJ.css +108 -0
- package/dist/Button/Button.d.ts +88 -0
- package/dist/Button/index.d.ts +3 -0
- package/dist/Button/index.js +3 -0
- package/dist/Button-D4J6B4MA.css +302 -0
- package/dist/CalendarGrid/CalendarGrid.d.ts +87 -0
- package/dist/CalendarGrid/index.d.ts +3 -0
- package/dist/CalendarGrid/index.js +2 -0
- package/dist/CalendarGrid-V6TQ5QKS.css +128 -0
- package/dist/Callout/Callout.d.ts +47 -0
- package/dist/Callout/index.d.ts +3 -0
- package/dist/Callout/index.js +2 -0
- package/dist/Callout-S7QDWHDL.css +111 -0
- package/dist/Canvas/Canvas.d.ts +234 -0
- package/dist/Canvas/geometry.d.ts +249 -0
- package/dist/Canvas/index.d.ts +5 -0
- package/dist/Canvas/index.js +8 -0
- package/dist/Canvas/layerNode.d.ts +20 -0
- package/dist/Canvas-Q6JETCWR.css +315 -0
- package/dist/Card/Card.d.ts +142 -0
- package/dist/Card/headerSlot.d.ts +65 -0
- package/dist/Card/index.d.ts +5 -0
- package/dist/Card/index.js +6 -0
- package/dist/Card-AHX3Q2JD.css +428 -0
- package/dist/Charts/ActivityStrip.d.ts +45 -0
- package/dist/Charts/BarList.d.ts +51 -0
- package/dist/Charts/Legend.d.ts +32 -0
- package/dist/Charts/StackedBar.d.ts +38 -0
- package/dist/Charts/TimeSeries.d.ts +92 -0
- package/dist/Charts/dataColor.d.ts +20 -0
- package/dist/Charts/index.d.ts +12 -0
- package/dist/Charts/index.js +3 -0
- package/dist/Charts-D7G2BSXH.css +277 -0
- package/dist/Checkbox/Checkbox.d.ts +45 -0
- package/dist/Checkbox/index.d.ts +3 -0
- package/dist/Checkbox/index.js +2 -0
- package/dist/Checkbox-VGW26YLQ.css +111 -0
- package/dist/CodeBlock/CodeBlock.d.ts +60 -0
- package/dist/CodeBlock/index.d.ts +3 -0
- package/dist/CodeBlock/index.js +7 -0
- package/dist/CodeBlock-U2W6NNVC.css +153 -0
- package/dist/Combobox/Combobox.d.ts +89 -0
- package/dist/Combobox/index.d.ts +3 -0
- package/dist/Combobox/index.js +8 -0
- package/dist/Combobox-4FUVYIE7.css +80 -0
- package/dist/CommandPalette/CommandPalette.d.ts +77 -0
- package/dist/CommandPalette/index.d.ts +3 -0
- package/dist/CommandPalette/index.js +11 -0
- package/dist/CommandPalette-CSJDUCQA.css +115 -0
- package/dist/Container/Container.d.ts +17 -0
- package/dist/Container/index.d.ts +3 -0
- package/dist/Container/index.js +2 -0
- package/dist/Container-3TSKMGNI.css +52 -0
- package/dist/Copyable/CopyButton.d.ts +54 -0
- package/dist/Copyable/Copyable.d.ts +34 -0
- package/dist/Copyable/index.d.ts +5 -0
- package/dist/Copyable/index.js +6 -0
- package/dist/Copyable-5PNRFOLS.css +125 -0
- package/dist/Count/Count.d.ts +24 -0
- package/dist/Count/index.d.ts +3 -0
- package/dist/Count/index.js +3 -0
- package/dist/Count-ZVCJ6VPD.css +20 -0
- package/dist/DataTable/CopyableCell.d.ts +12 -0
- package/dist/DataTable/DataTable.d.ts +615 -0
- package/dist/DataTable/RowActionsMenu.d.ts +7 -0
- package/dist/DataTable/index.d.ts +7 -0
- package/dist/DataTable/index.js +14 -0
- package/dist/DataTable-ITNACQ2X.css +2020 -0
- package/dist/DataView/DataView.d.ts +109 -0
- package/dist/DataView/DataViewToolbar.d.ts +87 -0
- package/dist/DataView/FilterAxisBar.d.ts +103 -0
- package/dist/DataView/columns.d.ts +35 -0
- package/dist/DataView/filters.d.ts +184 -0
- package/dist/DataView/index.d.ts +11 -0
- package/dist/DataView/index.js +25 -0
- package/dist/DataView-256YF32J.css +441 -0
- package/dist/DateTimePicker/DateTimePicker.d.ts +91 -0
- package/dist/DateTimePicker/index.d.ts +3 -0
- package/dist/DateTimePicker/index.js +9 -0
- package/dist/DateTimePicker-22VNXRWC.css +199 -0
- package/dist/DescriptionList/DescriptionList.d.ts +36 -0
- package/dist/DescriptionList/index.d.ts +3 -0
- package/dist/DescriptionList/index.js +2 -0
- package/dist/DescriptionList-YYY3V3O6.css +59 -0
- package/dist/DiffList/DiffList.d.ts +47 -0
- package/dist/DiffList/index.d.ts +3 -0
- package/dist/DiffList/index.js +3 -0
- package/dist/DiffList-3EX64AAE.css +94 -0
- package/dist/Disclosure/Disclosure.d.ts +56 -0
- package/dist/Disclosure/anatomy.d.ts +43 -0
- package/dist/Disclosure/index.d.ts +5 -0
- package/dist/Disclosure/index.js +6 -0
- package/dist/Disclosure-VKBJJIZ7.css +176 -0
- package/dist/EmptyState/EmptyState.d.ts +39 -0
- package/dist/EmptyState/index.d.ts +3 -0
- package/dist/EmptyState/index.js +3 -0
- package/dist/EmptyState-C6HRBGT7.css +73 -0
- package/dist/EmptyValue/EmptyValue.d.ts +31 -0
- package/dist/EmptyValue/index.d.ts +3 -0
- package/dist/EmptyValue/index.js +3 -0
- package/dist/EmptyValue-4B6ODXHT.css +12 -0
- package/dist/EntityChip/EntityChip.d.ts +40 -0
- package/dist/EntityChip/index.d.ts +3 -0
- package/dist/EntityChip/index.js +3 -0
- package/dist/EntityChip-LUCPZBBG.css +64 -0
- package/dist/ErrorBoundary/ErrorBoundary.d.ts +58 -0
- package/dist/ErrorBoundary/index.d.ts +3 -0
- package/dist/ErrorBoundary/index.js +4 -0
- package/dist/ErrorBoundary-ME36CQTA.css +59 -0
- package/dist/Eyebrow/Eyebrow.d.ts +18 -0
- package/dist/Eyebrow/index.d.ts +3 -0
- package/dist/Eyebrow/index.js +2 -0
- package/dist/Eyebrow-5NREGHQH.css +46 -0
- package/dist/FilterChip/FilterChip.d.ts +68 -0
- package/dist/FilterChip/index.d.ts +3 -0
- package/dist/FilterChip/index.js +3 -0
- package/dist/FilterChip-GTGLLOXE.css +107 -0
- package/dist/Fullscreen/index.d.ts +2 -0
- package/dist/Fullscreen/index.js +1 -0
- package/dist/Fullscreen/useFullscreen.d.ts +32 -0
- package/dist/IconButton/IconButton.d.ts +45 -0
- package/dist/IconButton/index.d.ts +3 -0
- package/dist/IconButton/index.js +3 -0
- package/dist/IconButton-VQGNMJDI.css +158 -0
- package/dist/ImageUpload/ImageUpload.d.ts +37 -0
- package/dist/ImageUpload/index.d.ts +3 -0
- package/dist/ImageUpload/index.js +3 -0
- package/dist/ImageUpload-HKFIZR6D.css +193 -0
- package/dist/InlineCode/InlineCode.d.ts +37 -0
- package/dist/InlineCode/index.d.ts +3 -0
- package/dist/InlineCode/index.js +2 -0
- package/dist/InlineCode-6WSR5COL.css +65 -0
- package/dist/Input/FormField.d.ts +61 -0
- package/dist/Input/FormRow.d.ts +6 -0
- package/dist/Input/FormSection.d.ts +28 -0
- package/dist/Input/Input.d.ts +98 -0
- package/dist/Input/Label.d.ts +31 -0
- package/dist/Input/ReadOnlyField.d.ts +30 -0
- package/dist/Input/Textarea.d.ts +16 -0
- package/dist/Input/index.d.ts +15 -0
- package/dist/Input/index.js +5 -0
- package/dist/Input-2PU5CPKK.css +616 -0
- package/dist/Kbd/Kbd.d.ts +40 -0
- package/dist/Kbd/index.d.ts +3 -0
- package/dist/Kbd/index.js +3 -0
- package/dist/Kbd-W66MXQI5.css +61 -0
- package/dist/Layer/LayerHost.d.ts +23 -0
- package/dist/Layer/index.d.ts +7 -0
- package/dist/Layer/index.js +3 -0
- package/dist/Layer/place.d.ts +63 -0
- package/dist/Layer/stack.d.ts +159 -0
- package/dist/Layer-NAFSGCFA.css +23 -0
- package/dist/Layout/Layout.d.ts +104 -0
- package/dist/Layout/index.d.ts +3 -0
- package/dist/Layout/index.js +2 -0
- package/dist/Layout-2ZCV3IGF.css +171 -0
- package/dist/Link/Link.d.ts +45 -0
- package/dist/Link/index.d.ts +3 -0
- package/dist/Link/index.js +3 -0
- package/dist/Link-6BEFNMN2.css +80 -0
- package/dist/List/List.d.ts +73 -0
- package/dist/List/index.d.ts +3 -0
- package/dist/List/index.js +3 -0
- package/dist/List-XTHESXLR.css +161 -0
- package/dist/ListInput/ListInput.d.ts +68 -0
- package/dist/ListInput/index.d.ts +3 -0
- package/dist/ListInput/index.js +10 -0
- package/dist/ListInput-O7LJKOIG.css +147 -0
- package/dist/Listbox/index.d.ts +5 -0
- package/dist/Listbox/index.js +2 -0
- package/dist/Listbox/useListbox.d.ts +97 -0
- package/dist/Listbox/useOptionKeys.d.ts +64 -0
- package/dist/Listbox-X2DOTSQA.css +110 -0
- package/dist/Menu/Menu.d.ts +118 -0
- package/dist/Menu/index.d.ts +3 -0
- package/dist/Menu/index.js +7 -0
- package/dist/Menu-6DE7I66I.css +222 -0
- package/dist/Meter/Meter.d.ts +49 -0
- package/dist/Meter/index.d.ts +3 -0
- package/dist/Meter/index.js +3 -0
- package/dist/Meter-SKOOXQBC.css +87 -0
- package/dist/Modal/ConfirmModal.d.ts +74 -0
- package/dist/Modal/Modal.d.ts +154 -0
- package/dist/Modal/index.d.ts +5 -0
- package/dist/Modal/index.js +8 -0
- package/dist/Modal-XYQJ4BL6.css +484 -0
- package/dist/NewItemsNotice/NewItemsNotice.d.ts +28 -0
- package/dist/NewItemsNotice/index.d.ts +3 -0
- package/dist/NewItemsNotice/index.js +4 -0
- package/dist/NewItemsNotice-T4DSSPVV.css +60 -0
- package/dist/OrgLabel/OrgLabel.d.ts +117 -0
- package/dist/OrgLabel/index.d.ts +3 -0
- package/dist/OrgLabel/index.js +2 -0
- package/dist/OrgLabel-D7U6QJZD.css +293 -0
- package/dist/OrgNode/OrgNode.d.ts +103 -0
- package/dist/OrgNode/index.d.ts +3 -0
- package/dist/OrgNode/index.js +3 -0
- package/dist/OrgNode-BT7T2Q2X.css +214 -0
- package/dist/OrgTable/OrgTable.d.ts +113 -0
- package/dist/OrgTable/index.d.ts +3 -0
- package/dist/OrgTable/index.js +11 -0
- package/dist/OrgTable-VWMFC3TB.css +360 -0
- package/dist/PageHeader/PageHeader.d.ts +35 -0
- package/dist/PageHeader/index.d.ts +3 -0
- package/dist/PageHeader/index.js +3 -0
- package/dist/PageHeader-6EYWQXRE.css +88 -0
- package/dist/Popover/Popover.d.ts +91 -0
- package/dist/Popover/index.d.ts +3 -0
- package/dist/Popover/index.js +4 -0
- package/dist/Popover-WJGCF3ZQ.css +185 -0
- package/dist/PricingCard/PricingCard.d.ts +56 -0
- package/dist/PricingCard/index.d.ts +3 -0
- package/dist/PricingCard/index.js +4 -0
- package/dist/PricingCard-JFI7RYXP.css +278 -0
- package/dist/Prose/Prose.d.ts +33 -0
- package/dist/Prose/index.d.ts +3 -0
- package/dist/Prose/index.js +2 -0
- package/dist/Prose-BTXNFT2Q.css +99 -0
- package/dist/RelativeTime/RelativeTime.d.ts +31 -0
- package/dist/RelativeTime/clock.d.ts +9 -0
- package/dist/RelativeTime/format.d.ts +38 -0
- package/dist/RelativeTime/index.d.ts +6 -0
- package/dist/RelativeTime/index.js +4 -0
- package/dist/RelativeTime-EBAQPGO2.css +10 -0
- package/dist/SearchTrigger/SearchTrigger.d.ts +29 -0
- package/dist/SearchTrigger/index.d.ts +3 -0
- package/dist/SearchTrigger/index.js +2 -0
- package/dist/SearchTrigger-QXOYAUUY.css +79 -0
- package/dist/Section/Section.d.ts +41 -0
- package/dist/Section/index.d.ts +3 -0
- package/dist/Section/index.js +3 -0
- package/dist/Section-QRUPRIQ2.css +127 -0
- package/dist/SegmentedControl/SegmentedControl.d.ts +68 -0
- package/dist/SegmentedControl/index.d.ts +4 -0
- package/dist/SegmentedControl/index.js +5 -0
- package/dist/SegmentedControl-X3BI3XU4.css +68 -0
- package/dist/Select/Select.d.ts +138 -0
- package/dist/Select/index.d.ts +3 -0
- package/dist/Select/index.js +5 -0
- package/dist/Select-2X77FSWR.css +350 -0
- package/dist/Shortcut/index.d.ts +2 -0
- package/dist/Shortcut/index.js +4 -0
- package/dist/Shortcut/useShortcut.d.ts +68 -0
- package/dist/SidebarNav/SidebarNav.d.ts +117 -0
- package/dist/SidebarNav/index.d.ts +3 -0
- package/dist/SidebarNav/index.js +3 -0
- package/dist/SidebarNav-QGSFKZYA.css +319 -0
- package/dist/Skeleton/Skeleton.d.ts +50 -0
- package/dist/Skeleton/index.d.ts +3 -0
- package/dist/Skeleton/index.js +3 -0
- package/dist/Skeleton-V735HRGM.css +421 -0
- package/dist/StatCard/StatCard.d.ts +56 -0
- package/dist/StatCard/index.d.ts +3 -0
- package/dist/StatCard/index.js +3 -0
- package/dist/StatCard-KYPKZUWX.css +111 -0
- package/dist/StatGroup/StatGroup.d.ts +20 -0
- package/dist/StatGroup/index.d.ts +3 -0
- package/dist/StatGroup/index.js +2 -0
- package/dist/StatGroup-TGB6AEKM.css +80 -0
- package/dist/StatusDot/StatusDot.d.ts +25 -0
- package/dist/StatusDot/index.d.ts +3 -0
- package/dist/StatusDot/index.js +2 -0
- package/dist/StatusDot-HA2L2FSX.css +84 -0
- package/dist/Switch/Switch.d.ts +38 -0
- package/dist/Switch/index.d.ts +3 -0
- package/dist/Switch/index.js +2 -0
- package/dist/Switch-U4OWK4CL.css +169 -0
- package/dist/Table/Table.d.ts +51 -0
- package/dist/Table/index.d.ts +3 -0
- package/dist/Table/index.js +3 -0
- package/dist/Table-MDOLVUAW.css +159 -0
- package/dist/Tabs/Tabs.d.ts +97 -0
- package/dist/Tabs/index.d.ts +3 -0
- package/dist/Tabs/index.js +4 -0
- package/dist/Tabs/roving.d.ts +36 -0
- package/dist/Tabs-VLICJFVB.css +275 -0
- package/dist/Tag/Tag.d.ts +107 -0
- package/dist/Tag/index.d.ts +3 -0
- package/dist/Tag/index.js +3 -0
- package/dist/Tag-VNZEYLB6.css +406 -0
- package/dist/TagGroup/TagGroup.d.ts +41 -0
- package/dist/TagGroup/index.d.ts +3 -0
- package/dist/TagGroup/index.js +4 -0
- package/dist/TagGroup-APC2EFH4.css +75 -0
- package/dist/TagsInput/TagsInput.d.ts +112 -0
- package/dist/TagsInput/index.d.ts +3 -0
- package/dist/TagsInput/index.js +10 -0
- package/dist/TagsInput-W4P36PRJ.css +168 -0
- package/dist/Text/Text.d.ts +67 -0
- package/dist/Text/index.d.ts +3 -0
- package/dist/Text/index.js +2 -0
- package/dist/Text-XIPYYZX2.css +154 -0
- package/dist/ThemeSwitcher/ThemeSwitcher.d.ts +47 -0
- package/dist/ThemeSwitcher/index.d.ts +4 -0
- package/dist/ThemeSwitcher/index.js +6 -0
- package/dist/ThemeSwitcher/preferences.d.ts +51 -0
- package/dist/TimeWindowPicker/TimeWindowPicker.d.ts +231 -0
- package/dist/TimeWindowPicker/index.d.ts +3 -0
- package/dist/TimeWindowPicker/index.js +13 -0
- package/dist/TimeWindowPicker/mask.d.ts +82 -0
- package/dist/TimeWindowPicker-7I7KWCMU.css +403 -0
- package/dist/Timeline/Timeline.d.ts +51 -0
- package/dist/Timeline/index.d.ts +3 -0
- package/dist/Timeline/index.js +3 -0
- package/dist/Timeline-27SYKOFX.css +144 -0
- package/dist/Toaster/Toaster.d.ts +108 -0
- package/dist/Toaster/index.d.ts +3 -0
- package/dist/Toaster/index.js +5 -0
- package/dist/Toaster-NVDCEIP5.css +306 -0
- package/dist/Toolbar/Toolbar.d.ts +62 -0
- package/dist/Toolbar/index.d.ts +3 -0
- package/dist/Toolbar/index.js +4 -0
- package/dist/Toolbar-IP6LXN45.css +48 -0
- package/dist/Tooltip/Tooltip.d.ts +51 -0
- package/dist/Tooltip/index.d.ts +3 -0
- package/dist/Tooltip/index.js +4 -0
- package/dist/Tooltip-LKQF7CE4.css +71 -0
- package/dist/Tree/index.d.ts +8 -0
- package/dist/Tree/index.js +1 -0
- package/dist/Tree/layout.d.ts +160 -0
- package/dist/Tree/model.d.ts +110 -0
- package/dist/Tree/useMeasuredSizes.d.ts +61 -0
- package/dist/Tree/useTreeState.d.ts +89 -0
- package/dist/TreeCanvas/TreeCanvas.d.ts +384 -0
- package/dist/TreeCanvas/index.d.ts +3 -0
- package/dist/TreeCanvas/index.js +10 -0
- package/dist/TreeCanvas/motion.d.ts +59 -0
- package/dist/TreeCanvas-WBNQPHC7.css +1098 -0
- package/dist/TreeGrid/TreeGrid.d.ts +142 -0
- package/dist/TreeGrid/index.d.ts +3 -0
- package/dist/TreeGrid/index.js +8 -0
- package/dist/TreeGrid-NSW7VMOX.css +132 -0
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +23 -0
- package/dist/VisuallyHidden/index.d.ts +3 -0
- package/dist/VisuallyHidden/index.js +2 -0
- package/dist/VisuallyHidden-L552H7OA.css +21 -0
- package/dist/chunk-22O7LAW2.js +41 -0
- package/dist/chunk-23DHIMJA.js +38 -0
- package/dist/chunk-2EOKFKHX.js +263 -0
- package/dist/chunk-2PRH365R.js +74 -0
- package/dist/chunk-2ZQMA2WB.js +57 -0
- package/dist/chunk-3CZ7XAVY.js +139 -0
- package/dist/chunk-3EYF6HKB.js +135 -0
- package/dist/chunk-3ZP55QZE.js +40 -0
- package/dist/chunk-53DVJCVW.js +14 -0
- package/dist/chunk-5C5YMZQU.js +51 -0
- package/dist/chunk-5EKIWVOR.js +132 -0
- package/dist/chunk-5IMACPJS.js +495 -0
- package/dist/chunk-5KPQ6D7N.js +54 -0
- package/dist/chunk-5SDBMKUO.js +297 -0
- package/dist/chunk-5WS6L6FA.js +114 -0
- package/dist/chunk-7EM5T4ME.js +39 -0
- package/dist/chunk-7FZ53WDJ.js +163 -0
- package/dist/chunk-7HPRF5XN.js +525 -0
- package/dist/chunk-7RPGY3JE.js +43 -0
- package/dist/chunk-A2UXBCLO.js +48 -0
- package/dist/chunk-ARMRX2YV.js +96 -0
- package/dist/chunk-AV2DXAEL.js +27 -0
- package/dist/chunk-BHHIIK3M.js +17 -0
- package/dist/chunk-BZFWDIV6.js +9 -0
- package/dist/chunk-BZYDZBAN.js +123 -0
- package/dist/chunk-CMEE37QJ.js +628 -0
- package/dist/chunk-D3OADIM6.js +112 -0
- package/dist/chunk-DD5BBGBE.js +162 -0
- package/dist/chunk-EHMQQHYR.js +1652 -0
- package/dist/chunk-EN6K2IFA.js +256 -0
- package/dist/chunk-EPOOQZYA.js +118 -0
- package/dist/chunk-ESCO4XYW.js +144 -0
- package/dist/chunk-EUCC37WY.js +14 -0
- package/dist/chunk-EV6IMYJ6.js +62 -0
- package/dist/chunk-F27EPQ7D.js +68 -0
- package/dist/chunk-F4PJZ4ED.js +245 -0
- package/dist/chunk-F6OE5FH3.js +49 -0
- package/dist/chunk-FBZAKNSX.js +263 -0
- package/dist/chunk-FEFTGVMF.js +46 -0
- package/dist/chunk-G2QFRTJ2.js +823 -0
- package/dist/chunk-GHYY2WPF.js +907 -0
- package/dist/chunk-GTOUGQQK.js +147 -0
- package/dist/chunk-GUIF6Q6N.js +143 -0
- package/dist/chunk-GXQ3B46I.js +216 -0
- package/dist/chunk-H4FBTAYS.js +130 -0
- package/dist/chunk-HOXGBLEY.js +37 -0
- package/dist/chunk-HQNHV7D6.js +54 -0
- package/dist/chunk-HTDFCRJZ.js +92 -0
- package/dist/chunk-HZ5XZNPS.js +98 -0
- package/dist/chunk-IAJLHVUA.js +28 -0
- package/dist/chunk-IJ7QXNIJ.js +1 -0
- package/dist/chunk-ITHXJHBB.js +280 -0
- package/dist/chunk-JCSA3XVH.js +32 -0
- package/dist/chunk-KLJCCMF3.js +97 -0
- package/dist/chunk-LGCPQIOZ.js +49 -0
- package/dist/chunk-LWKJQTOM.js +77 -0
- package/dist/chunk-MNAXYY3R.js +215 -0
- package/dist/chunk-NN62JQLR.js +29 -0
- package/dist/chunk-NPZY6YYL.js +251 -0
- package/dist/chunk-NTRZGNEX.js +529 -0
- package/dist/chunk-O6232G37.js +273 -0
- package/dist/chunk-O67VF5MS.js +58 -0
- package/dist/chunk-ODEQTPFM.js +6 -0
- package/dist/chunk-PNFASD6F.js +98 -0
- package/dist/chunk-PQADV6P6.js +19 -0
- package/dist/chunk-PZSWF74H.js +15 -0
- package/dist/chunk-Q4ZPPART.js +26 -0
- package/dist/chunk-QNCVHRZL.js +17 -0
- package/dist/chunk-QVE4GJAT.js +15 -0
- package/dist/chunk-QYOFACSP.js +36 -0
- package/dist/chunk-RA2ULG6H.js +29 -0
- package/dist/chunk-RDGD7Z7I.js +350 -0
- package/dist/chunk-RK4XPHVG.js +16 -0
- package/dist/chunk-RSAQOKH3.js +38 -0
- package/dist/chunk-S2XHHEW4.js +84 -0
- package/dist/chunk-S4GZWSKR.js +137 -0
- package/dist/chunk-SFZOKW2G.js +52 -0
- package/dist/chunk-T7FKOJKW.js +221 -0
- package/dist/chunk-UG46QBLT.js +325 -0
- package/dist/chunk-UOGSZKLT.js +134 -0
- package/dist/chunk-V2XMNLMS.js +52 -0
- package/dist/chunk-V663QU4R.js +51 -0
- package/dist/chunk-W4ENKCXJ.js +40 -0
- package/dist/chunk-W5J7R5EB.js +107 -0
- package/dist/chunk-WNI2WSJF.js +27 -0
- package/dist/chunk-XDTYBF2F.js +36 -0
- package/dist/chunk-XN4JBAN3.js +32 -0
- package/dist/chunk-XV6WRMBC.js +211 -0
- package/dist/chunk-YLYOWZ4V.js +33 -0
- package/dist/chunk-YMWONFSI.js +170 -0
- package/dist/chunk-ZCR6YGQ4.js +1 -0
- package/dist/generated/index.d.ts +83 -0
- package/dist/generated/index.js +91 -0
- package/dist/index.d.ts +1 -1217
- package/dist/index.js +91 -4518
- package/dist/styles.css +14841 -4274
- package/dist/utils/cx.d.ts +10 -0
- package/dist/utils/headingLevel.d.ts +16 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/tone.d.ts +25 -0
- package/dist/utils/useClipboard.d.ts +30 -0
- package/package.json +18 -10
- package/scripts/bundle-css.mjs +25 -0
- package/scripts/check-css-literals.mjs +166 -0
- package/scripts/check-css-variables.mjs +184 -0
- package/scripts/check-css.mjs +27 -0
- package/scripts/css-source.mjs +67 -0
- package/scripts/write-barrel.mjs +60 -0
- package/dist/Accordion-NIMJQIOI.css +0 -88
- package/dist/AppShell-ZW3NSFBP.css +0 -51
- package/dist/Avatar-V6NG6Q45.css +0 -67
- package/dist/Button-XGCTXXYP.css +0 -174
- package/dist/Callout-LEGDIMAM.css +0 -52
- package/dist/Card-BOZGBML7.css +0 -86
- package/dist/Checkbox-OCUICIIZ.css +0 -58
- package/dist/CodeBlock-IEMBNIQC.css +0 -90
- package/dist/Container-LTKBA2FW.css +0 -21
- package/dist/Copyable-IB57OTHZ.css +0 -123
- package/dist/DataTable-3GALZUW2.css +0 -1593
- package/dist/DateTimePicker-NMSSGVPK.css +0 -312
- package/dist/Eyebrow-AVBORAS2.css +0 -30
- package/dist/IconButton-GB4PJDG2.css +0 -82
- package/dist/ImageUpload-3HQDF2KC.css +0 -158
- package/dist/Input-ZHUTN7CU.css +0 -210
- package/dist/Kbd-Q77CDZY7.css +0 -23
- package/dist/Modal-FJVG66S4.css +0 -138
- package/dist/Popover-FUFULUE2.css +0 -123
- package/dist/PricingCard-NKYV3JHA.css +0 -238
- package/dist/Section-665ZIPG6.css +0 -20
- package/dist/Select-GPRF7PRB.css +0 -294
- package/dist/Skeleton-3WEFLRDN.css +0 -378
- package/dist/StatCard-RTJIVTRB.css +0 -50
- package/dist/Table-AR3TRY2E.css +0 -89
- package/dist/Tabs-XZ4JIH3E.css +0 -153
- package/dist/Tag-R5QDJLYJ.css +0 -163
- package/dist/TimeWindowPicker-L3G5Q7UT.css +0 -629
- package/dist/Toaster-2O65VOR4.css +0 -264
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The list screen: header, toolbar, filter chips, table.
|
|
3
|
+
*
|
|
4
|
+
* THE VERTICAL RHYTHM IS THE WHOLE LAYOUT. Each part carries the space BELOW
|
|
5
|
+
* it, so a screen missing one of them (no header, no chips) closes the gap
|
|
6
|
+
* rather than leaving a band where it would have been. The chip row is the one
|
|
7
|
+
* that renders nothing at all when it is empty, which is why its rules can
|
|
8
|
+
* assume it has content.
|
|
9
|
+
*
|
|
10
|
+
* WHERE THE ACCENT GOES. On a chip, because a chip IS a filter that is on, and
|
|
11
|
+
* on a toolbar control only while what it controls is on (a sort, the archived
|
|
12
|
+
* rows). Everything else in the row is neutral: a toolbar painted with the
|
|
13
|
+
* accent at rest spends the colour that means "where the reader is" on a row
|
|
14
|
+
* where nothing is happening.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
.crewlet-data-view {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
min-width: 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* The screen's own rhythm: the head, the toolbar and the list are the three
|
|
24
|
+
bands of a list screen, and one step separates all of them. */
|
|
25
|
+
.crewlet-data-view > .crewlet-page-header {
|
|
26
|
+
margin-bottom: var(--spacing-5);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.crewlet-data-view__table {
|
|
30
|
+
min-width: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/*
|
|
34
|
+
* The table on a surface of its own. The boundary is what makes a long list
|
|
35
|
+
* read as one object inside a padded page rather than as text on the ground,
|
|
36
|
+
* and the radius is clipped so the header band stops at the edge.
|
|
37
|
+
*
|
|
38
|
+
* THE FRAME HOLDS THE TABLE AND NOTHING ELSE. It used to end on a count row
|
|
39
|
+
* saying "Showing 12 of 300", which is gone from every list, so the rows are
|
|
40
|
+
* the last thing inside it.
|
|
41
|
+
*/
|
|
42
|
+
.crewlet-data-view--framed .crewlet-data-view__table {
|
|
43
|
+
background: var(--color-surface-subtle);
|
|
44
|
+
border: 1px solid var(--color-border-default);
|
|
45
|
+
border-radius: var(--radius-lg);
|
|
46
|
+
/*
|
|
47
|
+
* CLIP, NOT HIDDEN. Both cut the corners the radius rounds, and only one of
|
|
48
|
+
* them leaves the toolbar able to stick: `overflow: hidden` makes this box
|
|
49
|
+
* the nearest scrollport, and a sticky child inside a scrollport that never
|
|
50
|
+
* scrolls never moves. `clip` cuts without becoming one, so the toolbar
|
|
51
|
+
* inside the panel pins against the page the way the bar above it used to.
|
|
52
|
+
*/
|
|
53
|
+
overflow: clip;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* AND THE FRAME IS WHAT CLOSES THEM. A row's hairline separates it from the
|
|
58
|
+
* row below, so the table draws one under every row including its last, which
|
|
59
|
+
* is what closes a table standing on the page with nothing underneath it.
|
|
60
|
+
* Inside this panel something already does: the frame's own bottom edge,
|
|
61
|
+
* directly beneath it. Left on, the two meet and the list ends on a doubled
|
|
62
|
+
* two-pixel rule the rest of the table never draws. The suppression is
|
|
63
|
+
* written here, where the frame is, rather than in the table, which cannot
|
|
64
|
+
* know what it has been put inside.
|
|
65
|
+
*
|
|
66
|
+
* ONLY WHERE THE ROWS REALLY ARE LAST. A cursor list draws a Load more strip
|
|
67
|
+
* under them, and an exhausted one the end message, and neither carries a
|
|
68
|
+
* fence of its own: the last row's hairline IS the fence, everywhere else a
|
|
69
|
+
* table is drawn. Cancelled unconditionally, the strip inside a panel sat
|
|
70
|
+
* against the rows with no line between them, which is the one case the rule
|
|
71
|
+
* was never about.
|
|
72
|
+
*/
|
|
73
|
+
.crewlet-data-view--framed .crewlet-data-table:not(:has(.crewlet-data-table__load-more, .crewlet-data-table__end)) .crewlet-data-table__table tbody tr:last-child td {
|
|
74
|
+
border-bottom: none;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* ── The toolbar ──────────────────────────────────────────────────────── */
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* THE SCREEN'S CONTROLS SIT IN THE TABLE'S OWN TOOLBAR ROW, beside the table's
|
|
81
|
+
* pagination and settings, so a list screen reads as one object rather than as
|
|
82
|
+
* a bar, a second bar and then a table with a third. In that slot the row owns
|
|
83
|
+
* neither the inset nor the space below it: the band it is in draws both.
|
|
84
|
+
*/
|
|
85
|
+
.crewlet-data-table__toolbar-start > .crewlet-data-view-toolbar {
|
|
86
|
+
margin-bottom: 0;
|
|
87
|
+
padding: 0;
|
|
88
|
+
flex: 1 1 auto;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.crewlet-data-view-toolbar {
|
|
92
|
+
/* The width under which the search box stops shrinking and the row wraps
|
|
93
|
+
instead, so the box never becomes a slot too narrow to read a query in. */
|
|
94
|
+
--crewlet-data-view-search-min: 240px;
|
|
95
|
+
|
|
96
|
+
margin-bottom: var(--spacing-3);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.crewlet-data-view-toolbar__search {
|
|
100
|
+
flex: 1 1 var(--crewlet-data-view-search-min);
|
|
101
|
+
min-width: var(--crewlet-data-view-search-min);
|
|
102
|
+
max-width: none;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/*
|
|
106
|
+
* A toolbar button's own label: the word, then whatever sits after it (the
|
|
107
|
+
* chevron that says a panel opens, the count on the archived toggle).
|
|
108
|
+
*/
|
|
109
|
+
.crewlet-data-view-toolbar__menu-label {
|
|
110
|
+
display: inline-flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
gap: var(--spacing-1);
|
|
113
|
+
white-space: nowrap;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.crewlet-data-view-toolbar__spacer {
|
|
117
|
+
flex: 1;
|
|
118
|
+
min-width: 0;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.crewlet-data-view-toolbar__actions {
|
|
122
|
+
display: flex;
|
|
123
|
+
align-items: center;
|
|
124
|
+
gap: var(--spacing-2);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* ── The sort panel ───────────────────────────────────────────────────── */
|
|
128
|
+
|
|
129
|
+
.crewlet-data-view-toolbar__sort {
|
|
130
|
+
--crewlet-data-view-sort-width: 240px;
|
|
131
|
+
|
|
132
|
+
min-width: var(--crewlet-data-view-sort-width);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.crewlet-data-view-toolbar__sort-list {
|
|
136
|
+
display: flex;
|
|
137
|
+
flex-direction: column;
|
|
138
|
+
gap: var(--spacing-1);
|
|
139
|
+
margin: 0;
|
|
140
|
+
padding: 0;
|
|
141
|
+
list-style: none;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.crewlet-data-view-toolbar__sort-row {
|
|
145
|
+
display: flex;
|
|
146
|
+
align-items: center;
|
|
147
|
+
justify-content: space-between;
|
|
148
|
+
gap: var(--spacing-4);
|
|
149
|
+
padding: var(--spacing-1) var(--spacing-2);
|
|
150
|
+
border-radius: var(--radius-sm);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.crewlet-data-view-toolbar__sort-row:hover {
|
|
154
|
+
background: var(--color-surface-hover);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.crewlet-data-view-toolbar__sort-label {
|
|
158
|
+
font-size: var(--font-size-compact);
|
|
159
|
+
color: var(--color-text-primary);
|
|
160
|
+
min-width: 0;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.crewlet-data-view-toolbar__sort-buttons {
|
|
164
|
+
display: inline-flex;
|
|
165
|
+
gap: var(--spacing-1);
|
|
166
|
+
flex: none;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.crewlet-data-view-toolbar__sort-footer {
|
|
170
|
+
display: flex;
|
|
171
|
+
justify-content: flex-start;
|
|
172
|
+
margin-top: var(--spacing-2);
|
|
173
|
+
padding-top: var(--spacing-2);
|
|
174
|
+
border-top: 1px solid var(--color-border-default);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* ── The chip row ─────────────────────────────────────────────────────── */
|
|
178
|
+
|
|
179
|
+
/*
|
|
180
|
+
* Between the toolbar and the table, fenced above and below: the chips are
|
|
181
|
+
* neither part of the controls that add them nor part of the data they narrow,
|
|
182
|
+
* and without the boundary a reader reads them as a row of the table's own.
|
|
183
|
+
*
|
|
184
|
+
* A SOLID HAIRLINE. The fence was dashed, and a dashed edge MEANS SOMETHING
|
|
185
|
+
* ELSE here: it is the mark a card or a node wears when it stands for somebody
|
|
186
|
+
* outside the system, on the canvas and in every chart. Two meanings for one
|
|
187
|
+
* stroke is how a reader learns neither. Every boundary in this system is the
|
|
188
|
+
* same hairline; what differs is where it is drawn.
|
|
189
|
+
*/
|
|
190
|
+
.crewlet-filter-axis-bar {
|
|
191
|
+
display: flex;
|
|
192
|
+
flex-wrap: wrap;
|
|
193
|
+
align-items: center;
|
|
194
|
+
gap: var(--spacing-2);
|
|
195
|
+
margin-bottom: var(--spacing-3);
|
|
196
|
+
padding: var(--spacing-2) 0;
|
|
197
|
+
border-top: 1px solid var(--color-border-default);
|
|
198
|
+
border-bottom: 1px solid var(--color-border-default);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/*
|
|
202
|
+
* Inside the table's own band the fence is already drawn: the toolbar above
|
|
203
|
+
* carries the rule over the chips and the band carries the rule under them, so
|
|
204
|
+
* the row itself takes no boundary, no inset and no space below it. The rules
|
|
205
|
+
* above stay for a chip row used on its own, which is what the exported
|
|
206
|
+
* FilterAxisBar is for.
|
|
207
|
+
*/
|
|
208
|
+
.crewlet-data-table__filter-bar > .crewlet-filter-axis-bar {
|
|
209
|
+
margin-bottom: 0;
|
|
210
|
+
padding: 0;
|
|
211
|
+
border: 0;
|
|
212
|
+
flex: 1 1 auto;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* Held to the end of the row, so it is never mistaken for one more chip. */
|
|
216
|
+
.crewlet-filter-axis-bar__clear {
|
|
217
|
+
margin-left: auto;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* ── One chip ─────────────────────────────────────────────────────────── */
|
|
221
|
+
|
|
222
|
+
/*
|
|
223
|
+
* TWO CONTROLS IN ONE PILL: pressing the chip opens its editor, pressing the
|
|
224
|
+
* cross takes the filter off. They are drawn as one object with a divider
|
|
225
|
+
* because they are one filter, and they are two BUTTONS because they do two
|
|
226
|
+
* different things, which is also why the cross carries its own name rather
|
|
227
|
+
* than relying on the chip's.
|
|
228
|
+
*/
|
|
229
|
+
.crewlet-filter-axis-chip {
|
|
230
|
+
display: inline-flex;
|
|
231
|
+
align-items: stretch;
|
|
232
|
+
height: var(--size-control-sm);
|
|
233
|
+
background: var(--color-brand-accent-soft);
|
|
234
|
+
border: 1px solid var(--color-brand-accent-soft-strong);
|
|
235
|
+
border-radius: var(--radius-pill);
|
|
236
|
+
overflow: hidden;
|
|
237
|
+
max-width: 100%;
|
|
238
|
+
transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/*
|
|
242
|
+
* THE EDGE, NOT THE FILL. `--color-surface-hover` is the overlay a row at rest
|
|
243
|
+
* carries, and the token says a surface shows it OR a selected tint, never
|
|
244
|
+
* both: put on a chip it REPLACED the accent fill, so the one control on screen
|
|
245
|
+
* that means "this filter is on" went pale under the pointer and read as the
|
|
246
|
+
* filter being switched off.
|
|
247
|
+
*
|
|
248
|
+
* The fill stays where it is and the boundary takes the accent itself.
|
|
249
|
+
* Deepening the fill to the next accent step instead measures 4.48:1 under the
|
|
250
|
+
* chip's own ink on the light ground, and 4.18:1 on a card, which is why that
|
|
251
|
+
* step is a BORDER value in the palette and is used as one here.
|
|
252
|
+
*/
|
|
253
|
+
.crewlet-filter-axis-chip:hover {
|
|
254
|
+
border-color: var(--color-brand-accent);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.crewlet-filter-axis-chip__trigger {
|
|
258
|
+
display: inline-flex;
|
|
259
|
+
align-items: center;
|
|
260
|
+
gap: var(--spacing-1);
|
|
261
|
+
min-width: 0;
|
|
262
|
+
padding: 0 var(--spacing-2) 0 var(--spacing-3);
|
|
263
|
+
background: transparent;
|
|
264
|
+
border: none;
|
|
265
|
+
cursor: pointer;
|
|
266
|
+
color: var(--color-brand-accent-ink);
|
|
267
|
+
font-family: var(--font-family-sans);
|
|
268
|
+
font-size: var(--font-size-xs);
|
|
269
|
+
line-height: 1;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.crewlet-filter-axis-chip__trigger:focus-visible {
|
|
273
|
+
outline: 2px solid var(--color-focus);
|
|
274
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/*
|
|
278
|
+
* THE AXIS NAME IS NOT DIMMED. It read at 0.85 opacity, which takes the chip's
|
|
279
|
+
* own ink off the step the pairing was measured at, and the name of the axis
|
|
280
|
+
* is exactly what a reader checks before the value: "status" and "stage" narrow
|
|
281
|
+
* a list to very different things. The value's own weight is what separates
|
|
282
|
+
* the halves, which is a difference a reader can see at any contrast.
|
|
283
|
+
*/
|
|
284
|
+
.crewlet-filter-axis-chip__label {
|
|
285
|
+
white-space: nowrap;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.crewlet-filter-axis-chip__value {
|
|
289
|
+
font-weight: var(--font-weight-semibold);
|
|
290
|
+
overflow: hidden;
|
|
291
|
+
text-overflow: ellipsis;
|
|
292
|
+
white-space: nowrap;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/*
|
|
296
|
+
* The chevron carries the chip's own ink rather than a fainter version of it,
|
|
297
|
+
* for the reason every mark beside its words does: a grey glyph next to
|
|
298
|
+
* coloured text reads as two things. At 0.7 it measured 3.00:1 on a card in
|
|
299
|
+
* light, which is the 3:1 floor for a glyph to the second decimal place.
|
|
300
|
+
*/
|
|
301
|
+
.crewlet-filter-axis-chip__chevron {
|
|
302
|
+
flex: none;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/*
|
|
306
|
+
* The remove control keeps the chip's own ink rather than taking the critical
|
|
307
|
+
* hue on hover: removing a filter destroys nothing, and a row of chips that
|
|
308
|
+
* turns red under the pointer reads as a row of dangerous things.
|
|
309
|
+
*/
|
|
310
|
+
.crewlet-filter-axis-chip__remove {
|
|
311
|
+
border-radius: 0;
|
|
312
|
+
border-left: 1px solid var(--color-brand-accent-soft-strong);
|
|
313
|
+
color: var(--color-brand-accent-ink);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/*
|
|
317
|
+
* Its ring is drawn INSIDE it, like the trigger's beside it. The pill clips to
|
|
318
|
+
* its own radius, so the outset ring an icon button carries everywhere else is
|
|
319
|
+
* cut off on every edge the control touches, which here is all of them.
|
|
320
|
+
*/
|
|
321
|
+
.crewlet-filter-axis-chip__remove:focus-visible {
|
|
322
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
@media (prefers-reduced-motion: reduce) {
|
|
326
|
+
.crewlet-filter-axis-chip {
|
|
327
|
+
transition: none;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/* ── A chip's editor ──────────────────────────────────────────────────── */
|
|
332
|
+
|
|
333
|
+
.crewlet-filter-axis__popover {
|
|
334
|
+
padding: 0;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.crewlet-filter-axis__editor {
|
|
338
|
+
--crewlet-filter-axis-editor-width: 220px;
|
|
339
|
+
--crewlet-filter-axis-options-max: 280px;
|
|
340
|
+
|
|
341
|
+
min-width: var(--crewlet-filter-axis-editor-width);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.crewlet-filter-axis__editor--text,
|
|
345
|
+
.crewlet-filter-axis__editor--moment {
|
|
346
|
+
padding: var(--spacing-2);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/*
|
|
350
|
+
* The option list is ONE tab stop and takes the focus ring itself, because the
|
|
351
|
+
* rows inside it are not focusable: the highlight moves with the arrows and is
|
|
352
|
+
* announced through aria-activedescendant.
|
|
353
|
+
*/
|
|
354
|
+
.crewlet-filter-axis__options {
|
|
355
|
+
display: flex;
|
|
356
|
+
flex-direction: column;
|
|
357
|
+
gap: 1px;
|
|
358
|
+
max-height: var(--crewlet-filter-axis-options-max);
|
|
359
|
+
overflow-y: auto;
|
|
360
|
+
padding: var(--spacing-2);
|
|
361
|
+
margin: 0;
|
|
362
|
+
list-style: none;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.crewlet-filter-axis__options:focus-visible {
|
|
366
|
+
outline: 2px solid var(--color-focus);
|
|
367
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.crewlet-filter-axis__option {
|
|
371
|
+
display: flex;
|
|
372
|
+
align-items: center;
|
|
373
|
+
gap: var(--spacing-3);
|
|
374
|
+
padding: var(--spacing-2);
|
|
375
|
+
border-radius: var(--radius-sm);
|
|
376
|
+
cursor: pointer;
|
|
377
|
+
color: var(--color-text-primary);
|
|
378
|
+
font-size: var(--font-size-compact);
|
|
379
|
+
text-align: left;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.crewlet-filter-axis__option.is-highlight {
|
|
383
|
+
background: var(--color-surface-hover);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.crewlet-filter-axis__option.is-selected {
|
|
387
|
+
color: var(--color-brand-accent-ink);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.crewlet-filter-axis__option.is-disabled {
|
|
391
|
+
opacity: 0.5;
|
|
392
|
+
cursor: not-allowed;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/* The tick box: drawn by the design system rather than by the platform, so it
|
|
396
|
+
takes the accent at the same step every other chosen thing here does. */
|
|
397
|
+
.crewlet-filter-axis__tick {
|
|
398
|
+
display: inline-flex;
|
|
399
|
+
align-items: center;
|
|
400
|
+
justify-content: center;
|
|
401
|
+
flex: none;
|
|
402
|
+
width: var(--spacing-4);
|
|
403
|
+
height: var(--spacing-4);
|
|
404
|
+
border: 1px solid var(--color-border-control);
|
|
405
|
+
border-radius: var(--radius-xs);
|
|
406
|
+
background: var(--color-surface-subtle);
|
|
407
|
+
color: var(--color-text-on-accent);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.crewlet-filter-axis__tick.is-checked {
|
|
411
|
+
background: var(--color-brand-accent);
|
|
412
|
+
border-color: var(--color-brand-accent);
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.crewlet-filter-axis__option-label {
|
|
416
|
+
flex: 1;
|
|
417
|
+
min-width: 0;
|
|
418
|
+
overflow: hidden;
|
|
419
|
+
text-overflow: ellipsis;
|
|
420
|
+
white-space: nowrap;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.crewlet-filter-axis__editor-footer {
|
|
424
|
+
display: flex;
|
|
425
|
+
justify-content: space-between;
|
|
426
|
+
gap: var(--spacing-2);
|
|
427
|
+
padding: var(--spacing-2);
|
|
428
|
+
border-top: 1px solid var(--color-border-default);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/*
|
|
432
|
+
* The panel's own toolbar band, held under the top of the scroller. It is the
|
|
433
|
+
* WHOLE band rather than the screen's half of it: the table's settings cog
|
|
434
|
+
* shares that row, and a row that pins half of itself leaves the other half
|
|
435
|
+
* behind.
|
|
436
|
+
*/
|
|
437
|
+
.crewlet-data-view--sticky-toolbar .crewlet-data-table__toolbar {
|
|
438
|
+
position: sticky;
|
|
439
|
+
top: 0;
|
|
440
|
+
z-index: var(--z-index-sticky);
|
|
441
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export interface DateTimePickerProps {
|
|
2
|
+
/** YYYY-MM-DDTHH:MM:SS, as `<input type="datetime-local" step="1">` emits. Empty when unset. */
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
/** Show the hour, minute and second boxes under the calendar. */
|
|
7
|
+
showTime?: boolean;
|
|
8
|
+
/** Inclusive lower bound, as a YYYY-MM-DD or a full datetime-local string. */
|
|
9
|
+
minDate?: string;
|
|
10
|
+
/** Inclusive upper bound. */
|
|
11
|
+
maxDate?: string;
|
|
12
|
+
/** 0 is Sunday (the United States), 1 is Monday (ISO 8601). */
|
|
13
|
+
firstDayOfWeek?: 0 | 1;
|
|
14
|
+
/** Names the trigger and the dialog it opens. */
|
|
15
|
+
ariaLabel?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Draws the panel itself, with no trigger and no overlay of its own.
|
|
18
|
+
*
|
|
19
|
+
* FOR A SURFACE THAT IS ALREADY AN OVERLAY. A filter chip's editor is a
|
|
20
|
+
* popover, and a picker inside one is a control that opens a control: a date
|
|
21
|
+
* took two presses and stacked two panels for one answer, which is the thing
|
|
22
|
+
* the chip editor refuses to do for a list of options. It is the same
|
|
23
|
+
* calendar, the same time boxes and the same bounds, because there is one
|
|
24
|
+
* picker rather than two.
|
|
25
|
+
*/
|
|
26
|
+
inline?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* The reader is finished: Done pressed, or a day taken where there is no
|
|
29
|
+
* time to set. Inline only, where this has no panel of its own to close, so
|
|
30
|
+
* it is what the surface holding it closes on.
|
|
31
|
+
*/
|
|
32
|
+
onDone?: (() => void) | undefined;
|
|
33
|
+
className?: string;
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
size?: 'sm' | 'md';
|
|
36
|
+
/** Every string the picker renders on its own, and the name it builds. */
|
|
37
|
+
labels?: Partial<DateTimePickerLabels> | undefined;
|
|
38
|
+
}
|
|
39
|
+
/** Every string the picker renders on its own, and the name it builds. */
|
|
40
|
+
export interface DateTimePickerLabels {
|
|
41
|
+
/**
|
|
42
|
+
* How the trigger is ANNOUNCED: its own name, and the moment it holds. The
|
|
43
|
+
* name has to carry the value, because an `aria-label` REPLACES the content
|
|
44
|
+
* of the element it is on, and a button drawn as a date that announces
|
|
45
|
+
* itself as "Starts at" is a control a reader cannot read the answer from.
|
|
46
|
+
*/
|
|
47
|
+
triggerName: (name: string, value: string) => string;
|
|
48
|
+
/** What an unset value is called inside that name. */
|
|
49
|
+
unsetLabel: string;
|
|
50
|
+
previousYearLabel: string;
|
|
51
|
+
previousMonthLabel: string;
|
|
52
|
+
nextMonthLabel: string;
|
|
53
|
+
nextYearLabel: string;
|
|
54
|
+
timeLabel: string;
|
|
55
|
+
hourLabel: string;
|
|
56
|
+
minuteLabel: string;
|
|
57
|
+
secondLabel: string;
|
|
58
|
+
/** The shortcut, when there is a time to set. */
|
|
59
|
+
nowLabel: string;
|
|
60
|
+
/** The same shortcut where there is not. */
|
|
61
|
+
todayLabel: string;
|
|
62
|
+
clearLabel: string;
|
|
63
|
+
doneLabel: string;
|
|
64
|
+
}
|
|
65
|
+
export declare const DEFAULT_DATE_TIME_PICKER_LABELS: DateTimePickerLabels;
|
|
66
|
+
/**
|
|
67
|
+
* A day, and the time of day, in the product's own chrome.
|
|
68
|
+
*
|
|
69
|
+
* The native control's picker is the operating system's, so a Chrome on macOS
|
|
70
|
+
* one looks nothing like a Firefox on Windows one, and neither looks like
|
|
71
|
+
* anything else on the page. The value is the same string the native control
|
|
72
|
+
* emits, so a caller swaps one for the other without touching its state.
|
|
73
|
+
*
|
|
74
|
+
* THE MONTH IS A REAL GRID now, shared with every other picker
|
|
75
|
+
* ([CalendarGrid]): one tab stop, the arrows moving a day and a week, Page
|
|
76
|
+
* moving a month, and each day named by its full date rather than by the
|
|
77
|
+
* number drawn on it. It used to be 42 buttons in a row under a `grid` role
|
|
78
|
+
* with no rows in it.
|
|
79
|
+
*
|
|
80
|
+
* THE TRIGGER IS NAMED BY THE MOMENT IT HOLDS. It carried
|
|
81
|
+
* `aria-label={ariaLabel}` over its own text, and an `aria-label` REPLACES the
|
|
82
|
+
* content of the element it is on: a button drawn as "Mar 10, 2026, 09:30"
|
|
83
|
+
* announced itself as "Starts at" and nothing else, so the value it exists to
|
|
84
|
+
* show was the one thing a screen reader could not hear from it.
|
|
85
|
+
*
|
|
86
|
+
* AND THIS MOMENT IS ONE PRESS. Now (or Today, where there is no time to set)
|
|
87
|
+
* is the answer a filter is given more often than any other, and without it
|
|
88
|
+
* every screen that wanted the shortcut drew a button of its own beside the
|
|
89
|
+
* picker.
|
|
90
|
+
*/
|
|
91
|
+
export declare function DateTimePicker({ value, onChange, placeholder, showTime, minDate, maxDate, firstDayOfWeek, ariaLabel, inline, onDone, className, disabled, size, labels: labelOverrides, }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-UG46QBLT.js';
|
|
2
|
+
import '../chunk-DD5BBGBE.js';
|
|
3
|
+
import '../chunk-GXQ3B46I.js';
|
|
4
|
+
import '../chunk-7RPGY3JE.js';
|
|
5
|
+
import '../chunk-ITHXJHBB.js';
|
|
6
|
+
import '../chunk-F27EPQ7D.js';
|
|
7
|
+
import '../chunk-BZYDZBAN.js';
|
|
8
|
+
import '../chunk-BZFWDIV6.js';
|
|
9
|
+
import '../chunk-ODEQTPFM.js';
|