@mastra/playground-ui 33.0.0-alpha.2 → 33.0.0-alpha.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/CHANGELOG.md +179 -0
- package/dist/Avatar-Dcmi3-pN.js +42 -0
- package/dist/Avatar-Dcmi3-pN.js.map +1 -0
- package/dist/Avatar-Y-1fas25.cjs +44 -0
- package/dist/Avatar-Y-1fas25.cjs.map +1 -0
- package/dist/Badge-C5MzMyCa.js +34 -0
- package/dist/Badge-C5MzMyCa.js.map +1 -0
- package/dist/Badge-CQD9T1Yd.cjs +36 -0
- package/dist/Badge-CQD9T1Yd.cjs.map +1 -0
- package/dist/Breadcrumb-BT_nzL3M.cjs +39 -0
- package/dist/Breadcrumb-BT_nzL3M.cjs.map +1 -0
- package/dist/Breadcrumb-CxbCgAij.js +35 -0
- package/dist/Breadcrumb-CxbCgAij.js.map +1 -0
- package/dist/Button-DoOEJwa_.js +105 -0
- package/dist/Button-DoOEJwa_.js.map +1 -0
- package/dist/Button-DpIX8JMz.cjs +108 -0
- package/dist/Button-DpIX8JMz.cjs.map +1 -0
- package/dist/Card-Xx0_PeuI.cjs +90 -0
- package/dist/Card-Xx0_PeuI.cjs.map +1 -0
- package/dist/Card-cFJPRQ9O.js +64 -0
- package/dist/Card-cFJPRQ9O.js.map +1 -0
- package/dist/EmptyState-DfXdX6I8.js +31 -0
- package/dist/EmptyState-DfXdX6I8.js.map +1 -0
- package/dist/EmptyState-vw7dhSKP.cjs +33 -0
- package/dist/EmptyState-vw7dhSKP.cjs.map +1 -0
- package/dist/Entity-CVzaJDXu.js +42 -0
- package/dist/Entity-CVzaJDXu.js.map +1 -0
- package/dist/Entity-DALpbsRa.cjs +48 -0
- package/dist/Entity-DALpbsRa.cjs.map +1 -0
- package/dist/ErrorBoundary-6_BD8AkH.js +154 -0
- package/dist/ErrorBoundary-6_BD8AkH.js.map +1 -0
- package/dist/ErrorBoundary-BqiUSXyJ.cjs +175 -0
- package/dist/ErrorBoundary-BqiUSXyJ.cjs.map +1 -0
- package/dist/ErrorState-DH5KsoFs.js +14 -0
- package/dist/ErrorState-DH5KsoFs.js.map +1 -0
- package/dist/ErrorState-Dq9BVWmR.cjs +16 -0
- package/dist/ErrorState-Dq9BVWmR.cjs.map +1 -0
- package/dist/Header-Cfc5fIp6.js +31 -0
- package/dist/Header-Cfc5fIp6.js.map +1 -0
- package/dist/Header-wkLHG26m.cjs +36 -0
- package/dist/Header-wkLHG26m.cjs.map +1 -0
- package/dist/Icon-CJEjdbjB.js +14 -0
- package/dist/Icon-CJEjdbjB.js.map +1 -0
- package/dist/Icon-C_Ooy-cP.cjs +16 -0
- package/dist/Icon-C_Ooy-cP.cjs.map +1 -0
- package/dist/Notice-D5nzvm08.js +89 -0
- package/dist/Notice-D5nzvm08.js.map +1 -0
- package/dist/Notice-Mjo3MJi2.cjs +91 -0
- package/dist/Notice-Mjo3MJi2.cjs.map +1 -0
- package/dist/PermissionDenied-DFCUFnNH.js +22 -0
- package/dist/PermissionDenied-DFCUFnNH.js.map +1 -0
- package/dist/PermissionDenied-DjZjq-3E.cjs +24 -0
- package/dist/PermissionDenied-DjZjq-3E.cjs.map +1 -0
- package/dist/SessionExpired-DGk3CXNp.cjs +47 -0
- package/dist/SessionExpired-DGk3CXNp.cjs.map +1 -0
- package/dist/SessionExpired-Dhmm8eLq.js +45 -0
- package/dist/SessionExpired-Dhmm8eLq.js.map +1 -0
- package/dist/StatusBadge-Bow-zeGQ.cjs +74 -0
- package/dist/StatusBadge-Bow-zeGQ.cjs.map +1 -0
- package/dist/StatusBadge-CBbwykMh.js +72 -0
- package/dist/StatusBadge-CBbwykMh.js.map +1 -0
- package/dist/Txt-AhytBlTj.js +26 -0
- package/dist/Txt-AhytBlTj.js.map +1 -0
- package/dist/Txt-Cmn4ug68.cjs +28 -0
- package/dist/Txt-Cmn4ug68.cjs.map +1 -0
- package/dist/alert-dialog-DfQhrc2F.cjs +120 -0
- package/dist/alert-dialog-DfQhrc2F.cjs.map +1 -0
- package/dist/alert-dialog-bKOBpddM.js +99 -0
- package/dist/alert-dialog-bKOBpddM.js.map +1 -0
- package/dist/as-child-Dgr1RHLO.cjs +29 -0
- package/dist/as-child-Dgr1RHLO.cjs.map +1 -0
- package/dist/as-child-N1qMDCr8.js +8 -0
- package/dist/as-child-N1qMDCr8.js.map +1 -0
- package/dist/brand-loader-Bxz0bWdp.js +52 -0
- package/dist/brand-loader-Bxz0bWdp.js.map +1 -0
- package/dist/brand-loader-DNMY5ZK7.cjs +54 -0
- package/dist/brand-loader-DNMY5ZK7.cjs.map +1 -0
- package/dist/brand-loader.css +68 -0
- package/dist/buttons-group-BAU7uXE9.js +161 -0
- package/dist/buttons-group-BAU7uXE9.js.map +1 -0
- package/dist/buttons-group-BvLg2kpv.cjs +185 -0
- package/dist/buttons-group-BvLg2kpv.cjs.map +1 -0
- package/dist/checkbox-Bda6srNY.cjs +109 -0
- package/dist/checkbox-Bda6srNY.cjs.map +1 -0
- package/dist/checkbox-DmKlRClz.js +88 -0
- package/dist/checkbox-DmKlRClz.js.map +1 -0
- package/dist/chip-Cx5D5DkA.cjs +68 -0
- package/dist/chip-Cx5D5DkA.cjs.map +1 -0
- package/dist/chip-Dgrpa03p.js +66 -0
- package/dist/chip-Dgrpa03p.js.map +1 -0
- package/dist/chips-group-CaxAKuxv.cjs +23 -0
- package/dist/chips-group-CaxAKuxv.cjs.map +1 -0
- package/dist/chips-group-DgaAmiHe.js +21 -0
- package/dist/chips-group-DgaAmiHe.js.map +1 -0
- package/dist/code-B3WONxnA.cjs +68 -0
- package/dist/code-B3WONxnA.cjs.map +1 -0
- package/dist/code-C5KVVzOZ.js +47 -0
- package/dist/code-C5KVVzOZ.js.map +1 -0
- package/dist/code-block-53x4kvYO.js +73 -0
- package/dist/code-block-53x4kvYO.js.map +1 -0
- package/dist/code-block-UyWLLMZ0.cjs +75 -0
- package/dist/code-block-UyWLLMZ0.cjs.map +1 -0
- package/dist/code-diff-C2vuR6Ti.cjs +136 -0
- package/dist/code-diff-C2vuR6Ti.cjs.map +1 -0
- package/dist/code-diff-lktH1err.js +134 -0
- package/dist/code-diff-lktH1err.js.map +1 -0
- package/dist/code-editor-BuzhLm2a.cjs +446 -0
- package/dist/code-editor-BuzhLm2a.cjs.map +1 -0
- package/dist/code-editor-XAfFI9V8.js +438 -0
- package/dist/code-editor-XAfFI9V8.js.map +1 -0
- package/dist/collapsible-CDSgJ39O.cjs +61 -0
- package/dist/collapsible-CDSgJ39O.cjs.map +1 -0
- package/dist/collapsible-PODbdTuV.js +57 -0
- package/dist/collapsible-PODbdTuV.js.map +1 -0
- package/dist/combobox-B2TriE9Z.cjs +77 -0
- package/dist/combobox-B2TriE9Z.cjs.map +1 -0
- package/dist/combobox-q2xPfCZc.js +75 -0
- package/dist/combobox-q2xPfCZc.js.map +1 -0
- package/dist/command-D0tQ1Lpz.cjs +151 -0
- package/dist/command-D0tQ1Lpz.cjs.map +1 -0
- package/dist/command-DPEUOKZw.js +122 -0
- package/dist/command-DPEUOKZw.js.map +1 -0
- package/dist/components/AlertDialog.cjs.js +10 -0
- package/dist/components/AlertDialog.cjs.js.map +1 -0
- package/dist/components/AlertDialog.d.ts +2 -0
- package/dist/components/AlertDialog.es.js +2 -0
- package/dist/components/AlertDialog.es.js.map +1 -0
- package/dist/components/Avatar.cjs.js +10 -0
- package/dist/components/Avatar.cjs.js.map +1 -0
- package/dist/components/Avatar.d.ts +2 -0
- package/dist/components/Avatar.es.js +2 -0
- package/dist/components/Avatar.es.js.map +1 -0
- package/dist/components/Badge.cjs.js +10 -0
- package/dist/components/Badge.cjs.js.map +1 -0
- package/dist/components/Badge.d.ts +2 -0
- package/dist/components/Badge.es.js +2 -0
- package/dist/components/Badge.es.js.map +1 -0
- package/dist/components/BrandLoader.cjs.js +10 -0
- package/dist/components/BrandLoader.cjs.js.map +1 -0
- package/dist/components/BrandLoader.d.ts +2 -0
- package/dist/components/BrandLoader.es.js +2 -0
- package/dist/components/BrandLoader.es.js.map +1 -0
- package/dist/components/Breadcrumb.cjs.js +11 -0
- package/dist/components/Breadcrumb.cjs.js.map +1 -0
- package/dist/components/Breadcrumb.d.ts +2 -0
- package/dist/components/Breadcrumb.es.js +2 -0
- package/dist/components/Breadcrumb.es.js.map +1 -0
- package/dist/components/Button.cjs.js +11 -0
- package/dist/components/Button.cjs.js.map +1 -0
- package/dist/components/Button.d.ts +2 -0
- package/dist/components/Button.es.js +2 -0
- package/dist/components/Button.es.js.map +1 -0
- package/dist/components/ButtonsGroup.cjs.js +13 -0
- package/dist/components/ButtonsGroup.cjs.js.map +1 -0
- package/dist/components/ButtonsGroup.d.ts +2 -0
- package/dist/components/ButtonsGroup.es.js +2 -0
- package/dist/components/ButtonsGroup.es.js.map +1 -0
- package/dist/components/Card.cjs.js +15 -0
- package/dist/components/Card.cjs.js.map +1 -0
- package/dist/components/Card.d.ts +2 -0
- package/dist/components/Card.es.js +2 -0
- package/dist/components/Card.es.js.map +1 -0
- package/dist/components/Checkbox.cjs.js +10 -0
- package/dist/components/Checkbox.cjs.js.map +1 -0
- package/dist/components/Checkbox.d.ts +2 -0
- package/dist/components/Checkbox.es.js +2 -0
- package/dist/components/Checkbox.es.js.map +1 -0
- package/dist/components/Chip.cjs.js +12 -0
- package/dist/components/Chip.cjs.js.map +1 -0
- package/dist/components/Chip.d.ts +2 -0
- package/dist/components/Chip.es.js +3 -0
- package/dist/components/Chip.es.js.map +1 -0
- package/dist/components/Code.cjs.js +10 -0
- package/dist/components/Code.cjs.js.map +1 -0
- package/dist/components/Code.d.ts +2 -0
- package/dist/components/Code.es.js +2 -0
- package/dist/components/Code.es.js.map +1 -0
- package/dist/components/CodeBlock.cjs.js +10 -0
- package/dist/components/CodeBlock.cjs.js.map +1 -0
- package/dist/components/CodeBlock.d.ts +2 -0
- package/dist/components/CodeBlock.es.js +2 -0
- package/dist/components/CodeBlock.es.js.map +1 -0
- package/dist/components/CodeDiff.cjs.js +10 -0
- package/dist/components/CodeDiff.cjs.js.map +1 -0
- package/dist/components/CodeDiff.d.ts +2 -0
- package/dist/components/CodeDiff.es.js +2 -0
- package/dist/components/CodeDiff.es.js.map +1 -0
- package/dist/components/CodeEditor.cjs.js +18 -0
- package/dist/components/CodeEditor.cjs.js.map +1 -0
- package/dist/components/CodeEditor.d.ts +2 -0
- package/dist/components/CodeEditor.es.js +3 -0
- package/dist/components/CodeEditor.es.js.map +1 -0
- package/dist/components/Collapsible.cjs.js +12 -0
- package/dist/components/Collapsible.cjs.js.map +1 -0
- package/dist/components/Collapsible.d.ts +2 -0
- package/dist/components/Collapsible.es.js +2 -0
- package/dist/components/Collapsible.es.js.map +1 -0
- package/dist/components/Columns.cjs.js +12 -0
- package/dist/components/Columns.cjs.js.map +1 -0
- package/dist/components/Columns.d.ts +2 -0
- package/dist/components/Columns.es.js +2 -0
- package/dist/components/Columns.es.js.map +1 -0
- package/dist/components/Combobox.cjs.js +18 -0
- package/dist/components/Combobox.cjs.js.map +1 -0
- package/dist/components/Combobox.d.ts +2 -0
- package/dist/components/Combobox.es.js +4 -0
- package/dist/components/Combobox.es.js.map +1 -0
- package/dist/components/Command.cjs.js +18 -0
- package/dist/components/Command.cjs.js.map +1 -0
- package/dist/components/Command.d.ts +2 -0
- package/dist/components/Command.es.js +2 -0
- package/dist/components/Command.es.js.map +1 -0
- package/dist/components/ContentBlocks.cjs.js +11 -0
- package/dist/components/ContentBlocks.cjs.js.map +1 -0
- package/dist/components/ContentBlocks.d.ts +2 -0
- package/dist/components/ContentBlocks.es.js +2 -0
- package/dist/components/ContentBlocks.es.js.map +1 -0
- package/dist/components/ContextMenu.cjs.js +212 -0
- package/dist/components/ContextMenu.cjs.js.map +1 -0
- package/dist/components/ContextMenu.d.ts +2 -0
- package/dist/components/ContextMenu.es.js +189 -0
- package/dist/components/ContextMenu.es.js.map +1 -0
- package/dist/components/CopyButton.cjs.js +10 -0
- package/dist/components/CopyButton.cjs.js.map +1 -0
- package/dist/components/CopyButton.d.ts +2 -0
- package/dist/components/CopyButton.es.js +2 -0
- package/dist/components/CopyButton.es.js.map +1 -0
- package/dist/components/DashboardCard.cjs.js +10 -0
- package/dist/components/DashboardCard.cjs.js.map +1 -0
- package/dist/components/DashboardCard.d.ts +2 -0
- package/dist/components/DashboardCard.es.js +2 -0
- package/dist/components/DashboardCard.es.js.map +1 -0
- package/dist/components/DataCodeSection.cjs.js +10 -0
- package/dist/components/DataCodeSection.cjs.js.map +1 -0
- package/dist/components/DataCodeSection.d.ts +2 -0
- package/dist/components/DataCodeSection.es.js +2 -0
- package/dist/components/DataCodeSection.es.js.map +1 -0
- package/dist/components/DataDetailsPanel.cjs.js +228 -0
- package/dist/components/DataDetailsPanel.cjs.js.map +1 -0
- package/dist/components/DataDetailsPanel.d.ts +2 -0
- package/dist/components/DataDetailsPanel.es.js +224 -0
- package/dist/components/DataDetailsPanel.es.js.map +1 -0
- package/dist/components/DataFilter.cjs.js +10 -0
- package/dist/components/DataFilter.cjs.js.map +1 -0
- package/dist/components/DataFilter.d.ts +2 -0
- package/dist/components/DataFilter.es.js +2 -0
- package/dist/components/DataFilter.es.js.map +1 -0
- package/dist/components/DataKeysAndValues.cjs.js +10 -0
- package/dist/components/DataKeysAndValues.cjs.js.map +1 -0
- package/dist/components/DataKeysAndValues.d.ts +2 -0
- package/dist/components/DataKeysAndValues.es.js +2 -0
- package/dist/components/DataKeysAndValues.es.js.map +1 -0
- package/dist/components/DataList.cjs.js +14 -0
- package/dist/components/DataList.cjs.js.map +1 -0
- package/dist/components/DataList.d.ts +2 -0
- package/dist/components/DataList.es.js +3 -0
- package/dist/components/DataList.es.js.map +1 -0
- package/dist/components/DataPanel.cjs.js +10 -0
- package/dist/components/DataPanel.cjs.js.map +1 -0
- package/dist/components/DataPanel.d.ts +2 -0
- package/dist/components/DataPanel.es.js +2 -0
- package/dist/components/DataPanel.es.js.map +1 -0
- package/dist/components/DateTimePicker.cjs.js +15 -0
- package/dist/components/DateTimePicker.cjs.js.map +1 -0
- package/dist/components/DateTimePicker.d.ts +2 -0
- package/dist/components/DateTimePicker.es.js +3 -0
- package/dist/components/DateTimePicker.es.js.map +1 -0
- package/dist/components/DateTimeRangePicker.cjs.js +10 -0
- package/dist/components/DateTimeRangePicker.cjs.js.map +1 -0
- package/dist/components/DateTimeRangePicker.d.ts +2 -0
- package/dist/components/DateTimeRangePicker.es.js +2 -0
- package/dist/components/DateTimeRangePicker.es.js.map +1 -0
- package/dist/components/Dialog.cjs.js +20 -0
- package/dist/components/Dialog.cjs.js.map +1 -0
- package/dist/components/Dialog.d.ts +2 -0
- package/dist/components/Dialog.es.js +2 -0
- package/dist/components/Dialog.es.js.map +1 -0
- package/dist/components/Drawer.cjs.js +29 -0
- package/dist/components/Drawer.cjs.js.map +1 -0
- package/dist/components/Drawer.d.ts +2 -0
- package/dist/components/Drawer.es.js +2 -0
- package/dist/components/Drawer.es.js.map +1 -0
- package/dist/components/DropdownMenu.cjs.js +10 -0
- package/dist/components/DropdownMenu.cjs.js.map +1 -0
- package/dist/components/DropdownMenu.d.ts +2 -0
- package/dist/components/DropdownMenu.es.js +2 -0
- package/dist/components/DropdownMenu.es.js.map +1 -0
- package/dist/components/EmptyState.cjs.js +10 -0
- package/dist/components/EmptyState.cjs.js.map +1 -0
- package/dist/components/EmptyState.d.ts +2 -0
- package/dist/components/EmptyState.es.js +2 -0
- package/dist/components/EmptyState.es.js.map +1 -0
- package/dist/components/Entity.cjs.js +14 -0
- package/dist/components/Entity.cjs.js.map +1 -0
- package/dist/components/Entity.d.ts +2 -0
- package/dist/components/Entity.es.js +2 -0
- package/dist/components/Entity.es.js.map +1 -0
- package/dist/components/EntityHeader.cjs.js +10 -0
- package/dist/components/EntityHeader.cjs.js.map +1 -0
- package/dist/components/EntityHeader.d.ts +2 -0
- package/dist/components/EntityHeader.es.js +2 -0
- package/dist/components/EntityHeader.es.js.map +1 -0
- package/dist/components/Entry.cjs.js +10 -0
- package/dist/components/Entry.cjs.js.map +1 -0
- package/dist/components/Entry.d.ts +2 -0
- package/dist/components/Entry.es.js +2 -0
- package/dist/components/Entry.es.js.map +1 -0
- package/dist/components/ErrorBoundary.cjs.js +10 -0
- package/dist/components/ErrorBoundary.cjs.js.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +2 -0
- package/dist/components/ErrorBoundary.es.js +2 -0
- package/dist/components/ErrorBoundary.es.js.map +1 -0
- package/dist/components/ErrorState.cjs.js +10 -0
- package/dist/components/ErrorState.cjs.js.map +1 -0
- package/dist/components/ErrorState.d.ts +2 -0
- package/dist/components/ErrorState.es.js +2 -0
- package/dist/components/ErrorState.es.js.map +1 -0
- package/dist/components/FormFieldBlocks.cjs.js +18 -0
- package/dist/components/FormFieldBlocks.cjs.js.map +1 -0
- package/dist/components/FormFieldBlocks.d.ts +2 -0
- package/dist/components/FormFieldBlocks.es.js +6 -0
- package/dist/components/FormFieldBlocks.es.js.map +1 -0
- package/dist/components/Header.cjs.js +13 -0
- package/dist/components/Header.cjs.js.map +1 -0
- package/dist/components/Header.d.ts +2 -0
- package/dist/components/Header.es.js +2 -0
- package/dist/components/Header.es.js.map +1 -0
- package/dist/components/HorizontalBars.cjs.js +10 -0
- package/dist/components/HorizontalBars.cjs.js.map +1 -0
- package/dist/components/HorizontalBars.d.ts +2 -0
- package/dist/components/HorizontalBars.es.js +2 -0
- package/dist/components/HorizontalBars.es.js.map +1 -0
- package/dist/components/HoverCard.cjs.js +12 -0
- package/dist/components/HoverCard.cjs.js.map +1 -0
- package/dist/components/HoverCard.d.ts +2 -0
- package/dist/components/HoverCard.es.js +2 -0
- package/dist/components/HoverCard.es.js.map +1 -0
- package/dist/components/Input.cjs.js +10 -0
- package/dist/components/Input.cjs.js.map +1 -0
- package/dist/components/Input.d.ts +2 -0
- package/dist/components/Input.es.js +2 -0
- package/dist/components/Input.es.js.map +1 -0
- package/dist/components/InputGroup.cjs.js +15 -0
- package/dist/components/InputGroup.cjs.js.map +1 -0
- package/dist/components/InputGroup.d.ts +2 -0
- package/dist/components/InputGroup.es.js +2 -0
- package/dist/components/InputGroup.es.js.map +1 -0
- package/dist/components/ItemList.cjs.js +14 -0
- package/dist/components/ItemList.cjs.js.map +1 -0
- package/dist/components/ItemList.d.ts +2 -0
- package/dist/components/ItemList.es.js +2 -0
- package/dist/components/ItemList.es.js.map +1 -0
- package/dist/components/JSONSchemaForm.cjs.js +547 -0
- package/dist/components/JSONSchemaForm.cjs.js.map +1 -0
- package/dist/components/JSONSchemaForm.d.ts +2 -0
- package/dist/components/JSONSchemaForm.es.js +507 -0
- package/dist/components/JSONSchemaForm.es.js.map +1 -0
- package/dist/components/Kbd.cjs.js +10 -0
- package/dist/components/Kbd.cjs.js.map +1 -0
- package/dist/components/Kbd.d.ts +2 -0
- package/dist/components/Kbd.es.js +2 -0
- package/dist/components/Kbd.es.js.map +1 -0
- package/dist/components/KeyValueList.cjs.js +10 -0
- package/dist/components/KeyValueList.cjs.js.map +1 -0
- package/dist/components/KeyValueList.d.ts +2 -0
- package/dist/components/KeyValueList.es.js +2 -0
- package/dist/components/KeyValueList.es.js.map +1 -0
- package/dist/components/Label.cjs.js +10 -0
- package/dist/components/Label.cjs.js.map +1 -0
- package/dist/components/Label.d.ts +2 -0
- package/dist/components/Label.es.js +2 -0
- package/dist/components/Label.es.js.map +1 -0
- package/dist/components/ListSearch.cjs.js +10 -0
- package/dist/components/ListSearch.cjs.js.map +1 -0
- package/dist/components/ListSearch.d.ts +2 -0
- package/dist/components/ListSearch.es.js +2 -0
- package/dist/components/ListSearch.es.js.map +1 -0
- package/dist/components/Logo.cjs.js +11 -0
- package/dist/components/Logo.cjs.js.map +1 -0
- package/dist/components/Logo.d.ts +2 -0
- package/dist/components/Logo.es.js +2 -0
- package/dist/components/Logo.es.js.map +1 -0
- package/dist/components/LogsDataList.cjs.js +12 -0
- package/dist/components/LogsDataList.cjs.js.map +1 -0
- package/dist/components/LogsDataList.d.ts +2 -0
- package/dist/components/LogsDataList.es.js +3 -0
- package/dist/components/LogsDataList.es.js.map +1 -0
- package/dist/components/MainContent.cjs.js +12 -0
- package/dist/components/MainContent.cjs.js.map +1 -0
- package/dist/components/MainContent.d.ts +2 -0
- package/dist/components/MainContent.es.js +2 -0
- package/dist/components/MainContent.es.js.map +1 -0
- package/dist/components/MainHeader.cjs.js +10 -0
- package/dist/components/MainHeader.cjs.js.map +1 -0
- package/dist/components/MainHeader.d.ts +2 -0
- package/dist/components/MainHeader.es.js +2 -0
- package/dist/components/MainHeader.es.js.map +1 -0
- package/dist/components/MainSidebar.cjs.js +17 -0
- package/dist/components/MainSidebar.cjs.js.map +1 -0
- package/dist/components/MainSidebar.d.ts +2 -0
- package/dist/components/MainSidebar.es.js +2 -0
- package/dist/components/MainSidebar.es.js.map +1 -0
- package/dist/components/MarkdownRenderer.cjs.js +10 -0
- package/dist/components/MarkdownRenderer.cjs.js.map +1 -0
- package/dist/components/MarkdownRenderer.d.ts +2 -0
- package/dist/components/MarkdownRenderer.es.js +2 -0
- package/dist/components/MarkdownRenderer.es.js.map +1 -0
- package/dist/components/MetricsCard.cjs.js +10 -0
- package/dist/components/MetricsCard.cjs.js.map +1 -0
- package/dist/components/MetricsCard.d.ts +2 -0
- package/dist/components/MetricsCard.es.js +2 -0
- package/dist/components/MetricsCard.es.js.map +1 -0
- package/dist/components/MetricsDataTable.cjs.js +10 -0
- package/dist/components/MetricsDataTable.cjs.js.map +1 -0
- package/dist/components/MetricsDataTable.d.ts +2 -0
- package/dist/components/MetricsDataTable.es.js +2 -0
- package/dist/components/MetricsDataTable.es.js.map +1 -0
- package/dist/components/MetricsFlexGrid.cjs.js +10 -0
- package/dist/components/MetricsFlexGrid.cjs.js.map +1 -0
- package/dist/components/MetricsFlexGrid.d.ts +2 -0
- package/dist/components/MetricsFlexGrid.es.js +2 -0
- package/dist/components/MetricsFlexGrid.es.js.map +1 -0
- package/dist/components/MetricsKpiCard.cjs.js +10 -0
- package/dist/components/MetricsKpiCard.cjs.js.map +1 -0
- package/dist/components/MetricsKpiCard.d.ts +2 -0
- package/dist/components/MetricsKpiCard.es.js +2 -0
- package/dist/components/MetricsKpiCard.es.js.map +1 -0
- package/dist/components/MetricsLineChart.cjs.js +11 -0
- package/dist/components/MetricsLineChart.cjs.js.map +1 -0
- package/dist/components/MetricsLineChart.d.ts +2 -0
- package/dist/components/MetricsLineChart.es.js +2 -0
- package/dist/components/MetricsLineChart.es.js.map +1 -0
- package/dist/components/Notice.cjs.js +10 -0
- package/dist/components/Notice.cjs.js.map +1 -0
- package/dist/components/Notice.d.ts +2 -0
- package/dist/components/Notice.es.js +2 -0
- package/dist/components/Notice.es.js.map +1 -0
- package/dist/components/PageHeader.cjs.js +10 -0
- package/dist/components/PageHeader.cjs.js.map +1 -0
- package/dist/components/PageHeader.d.ts +2 -0
- package/dist/components/PageHeader.es.js +2 -0
- package/dist/components/PageHeader.es.js.map +1 -0
- package/dist/components/PageLayout.cjs.js +14 -0
- package/dist/components/PageLayout.cjs.js.map +1 -0
- package/dist/components/PageLayout.d.ts +2 -0
- package/dist/components/PageLayout.es.js +3 -0
- package/dist/components/PageLayout.es.js.map +1 -0
- package/dist/components/PendingIndicator.cjs.js +10 -0
- package/dist/components/PendingIndicator.cjs.js.map +1 -0
- package/dist/components/PendingIndicator.d.ts +2 -0
- package/dist/components/PendingIndicator.es.js +2 -0
- package/dist/components/PendingIndicator.es.js.map +1 -0
- package/dist/components/PermissionDenied.cjs.js +10 -0
- package/dist/components/PermissionDenied.cjs.js.map +1 -0
- package/dist/components/PermissionDenied.d.ts +2 -0
- package/dist/components/PermissionDenied.es.js +2 -0
- package/dist/components/PermissionDenied.es.js.map +1 -0
- package/dist/components/Popover.cjs.js +13 -0
- package/dist/components/Popover.cjs.js.map +1 -0
- package/dist/components/Popover.d.ts +2 -0
- package/dist/components/Popover.es.js +2 -0
- package/dist/components/Popover.es.js.map +1 -0
- package/dist/components/PrevNextNav.cjs.js +29 -0
- package/dist/components/PrevNextNav.cjs.js.map +1 -0
- package/dist/components/PrevNextNav.d.ts +2 -0
- package/dist/components/PrevNextNav.es.js +25 -0
- package/dist/components/PrevNextNav.es.js.map +1 -0
- package/dist/components/PropertyFilter.cjs.js +13 -0
- package/dist/components/PropertyFilter.cjs.js.map +1 -0
- package/dist/components/PropertyFilter.d.ts +2 -0
- package/dist/components/PropertyFilter.es.js +2 -0
- package/dist/components/PropertyFilter.es.js.map +1 -0
- package/dist/components/RadioGroup.cjs.js +11 -0
- package/dist/components/RadioGroup.cjs.js.map +1 -0
- package/dist/components/RadioGroup.d.ts +2 -0
- package/dist/components/RadioGroup.es.js +2 -0
- package/dist/components/RadioGroup.es.js.map +1 -0
- package/dist/components/ScrollArea.cjs.js +11 -0
- package/dist/components/ScrollArea.cjs.js.map +1 -0
- package/dist/components/ScrollArea.d.ts +2 -0
- package/dist/components/ScrollArea.es.js +2 -0
- package/dist/components/ScrollArea.es.js.map +1 -0
- package/dist/components/ScrollableContainer.cjs.js +10 -0
- package/dist/components/ScrollableContainer.cjs.js.map +1 -0
- package/dist/components/ScrollableContainer.d.ts +2 -0
- package/dist/components/ScrollableContainer.es.js +2 -0
- package/dist/components/ScrollableContainer.es.js.map +1 -0
- package/dist/components/Searchbar.cjs.js +11 -0
- package/dist/components/Searchbar.cjs.js.map +1 -0
- package/dist/components/Searchbar.d.ts +2 -0
- package/dist/components/Searchbar.es.js +2 -0
- package/dist/components/Searchbar.es.js.map +1 -0
- package/dist/components/Section.cjs.js +12 -0
- package/dist/components/Section.cjs.js.map +1 -0
- package/dist/components/Section.d.ts +2 -0
- package/dist/components/Section.es.js +2 -0
- package/dist/components/Section.es.js.map +1 -0
- package/dist/components/SectionCard.cjs.js +11 -0
- package/dist/components/SectionCard.cjs.js.map +1 -0
- package/dist/components/SectionCard.d.ts +2 -0
- package/dist/components/SectionCard.es.js +2 -0
- package/dist/components/SectionCard.es.js.map +1 -0
- package/dist/components/Sections.cjs.js +10 -0
- package/dist/components/Sections.cjs.js.map +1 -0
- package/dist/components/Sections.d.ts +2 -0
- package/dist/components/Sections.es.js +2 -0
- package/dist/components/Sections.es.js.map +1 -0
- package/dist/components/Select.cjs.js +15 -0
- package/dist/components/Select.cjs.js.map +1 -0
- package/dist/components/Select.d.ts +2 -0
- package/dist/components/Select.es.js +2 -0
- package/dist/components/Select.es.js.map +1 -0
- package/dist/components/SessionExpired.cjs.js +10 -0
- package/dist/components/SessionExpired.cjs.js.map +1 -0
- package/dist/components/SessionExpired.d.ts +2 -0
- package/dist/components/SessionExpired.es.js +2 -0
- package/dist/components/SessionExpired.es.js.map +1 -0
- package/dist/components/SettingsRow.cjs.js +27 -0
- package/dist/components/SettingsRow.cjs.js.map +1 -0
- package/dist/components/SettingsRow.d.ts +2 -0
- package/dist/components/SettingsRow.es.js +23 -0
- package/dist/components/SettingsRow.es.js.map +1 -0
- package/dist/components/Shimmer.cjs.js +10 -0
- package/dist/components/Shimmer.cjs.js.map +1 -0
- package/dist/components/Shimmer.d.ts +2 -0
- package/dist/components/Shimmer.es.js +2 -0
- package/dist/components/Shimmer.es.js.map +1 -0
- package/dist/components/SideDialog.cjs.js +297 -0
- package/dist/components/SideDialog.cjs.js.map +1 -0
- package/dist/components/SideDialog.d.ts +2 -0
- package/dist/components/SideDialog.es.js +275 -0
- package/dist/components/SideDialog.es.js.map +1 -0
- package/dist/components/Skeleton.cjs.js +10 -0
- package/dist/components/Skeleton.cjs.js.map +1 -0
- package/dist/components/Skeleton.d.ts +2 -0
- package/dist/components/Skeleton.es.js +2 -0
- package/dist/components/Skeleton.es.js.map +1 -0
- package/dist/components/Slider.cjs.js +10 -0
- package/dist/components/Slider.cjs.js.map +1 -0
- package/dist/components/Slider.d.ts +2 -0
- package/dist/components/Slider.es.js +2 -0
- package/dist/components/Slider.es.js.map +1 -0
- package/dist/components/Spinner.cjs.js +10 -0
- package/dist/components/Spinner.cjs.js.map +1 -0
- package/dist/components/Spinner.d.ts +2 -0
- package/dist/components/Spinner.es.js +2 -0
- package/dist/components/Spinner.es.js.map +1 -0
- package/dist/components/StatusBadge.cjs.js +10 -0
- package/dist/components/StatusBadge.cjs.js.map +1 -0
- package/dist/components/StatusBadge.d.ts +2 -0
- package/dist/components/StatusBadge.es.js +2 -0
- package/dist/components/StatusBadge.es.js.map +1 -0
- package/dist/components/Steps.cjs.js +13 -0
- package/dist/components/Steps.cjs.js.map +1 -0
- package/dist/components/Steps.d.ts +2 -0
- package/dist/components/Steps.es.js +2 -0
- package/dist/components/Steps.es.js.map +1 -0
- package/dist/components/Switch.cjs.js +10 -0
- package/dist/components/Switch.cjs.js.map +1 -0
- package/dist/components/Switch.d.ts +2 -0
- package/dist/components/Switch.es.js +2 -0
- package/dist/components/Switch.es.js.map +1 -0
- package/dist/components/Table.cjs.js +19 -0
- package/dist/components/Table.cjs.js.map +1 -0
- package/dist/components/Table.d.ts +2 -0
- package/dist/components/Table.es.js +2 -0
- package/dist/components/Table.es.js.map +1 -0
- package/dist/components/Tabs.cjs.js +14 -0
- package/dist/components/Tabs.cjs.js.map +1 -0
- package/dist/components/Tabs.d.ts +2 -0
- package/dist/components/Tabs.es.js +3 -0
- package/dist/components/Tabs.es.js.map +1 -0
- package/dist/components/Text.cjs.js +11 -0
- package/dist/components/Text.cjs.js.map +1 -0
- package/dist/components/Text.d.ts +2 -0
- package/dist/components/Text.es.js +2 -0
- package/dist/components/Text.es.js.map +1 -0
- package/dist/components/Textarea.cjs.js +10 -0
- package/dist/components/Textarea.cjs.js.map +1 -0
- package/dist/components/Textarea.d.ts +2 -0
- package/dist/components/Textarea.es.js +2 -0
- package/dist/components/Textarea.es.js.map +1 -0
- package/dist/components/ThemeProvider.cjs.js +11 -0
- package/dist/components/ThemeProvider.cjs.js.map +1 -0
- package/dist/components/ThemeProvider.d.ts +2 -0
- package/dist/components/ThemeProvider.es.js +2 -0
- package/dist/components/ThemeProvider.es.js.map +1 -0
- package/dist/components/ThemeToggle.cjs.js +10 -0
- package/dist/components/ThemeToggle.cjs.js.map +1 -0
- package/dist/components/ThemeToggle.d.ts +2 -0
- package/dist/components/ThemeToggle.es.js +2 -0
- package/dist/components/ThemeToggle.es.js.map +1 -0
- package/dist/components/Tooltip.cjs.js +13 -0
- package/dist/components/Tooltip.cjs.js.map +1 -0
- package/dist/components/Tooltip.d.ts +2 -0
- package/dist/components/Tooltip.es.js +2 -0
- package/dist/components/Tooltip.es.js.map +1 -0
- package/dist/components/Tree.cjs.js +10 -0
- package/dist/components/Tree.cjs.js.map +1 -0
- package/dist/components/Tree.d.ts +2 -0
- package/dist/components/Tree.es.js +2 -0
- package/dist/components/Tree.es.js.map +1 -0
- package/dist/components/Truncate.cjs.js +10 -0
- package/dist/components/Truncate.cjs.js.map +1 -0
- package/dist/components/Truncate.d.ts +2 -0
- package/dist/components/Truncate.es.js +2 -0
- package/dist/components/Truncate.es.js.map +1 -0
- package/dist/components/Txt.cjs.js +10 -0
- package/dist/components/Txt.cjs.js.map +1 -0
- package/dist/components/Txt.d.ts +2 -0
- package/dist/components/Txt.es.js +2 -0
- package/dist/components/Txt.es.js.map +1 -0
- package/dist/content-block-BTpK7gPz.js +38 -0
- package/dist/content-block-BTpK7gPz.js.map +1 -0
- package/dist/content-block-Csb01oxE.cjs +41 -0
- package/dist/content-block-Csb01oxE.cjs.map +1 -0
- package/dist/control-size-BdDLgGX4.js +22 -0
- package/dist/control-size-BdDLgGX4.js.map +1 -0
- package/dist/control-size-D67C0kPZ.cjs +26 -0
- package/dist/control-size-D67C0kPZ.cjs.map +1 -0
- package/dist/copy-button-DDKn1NUS.js +42 -0
- package/dist/copy-button-DDKn1NUS.js.map +1 -0
- package/dist/copy-button-lrxHKwwi.cjs +44 -0
- package/dist/copy-button-lrxHKwwi.cjs.map +1 -0
- package/dist/dashboard-card-B9enj4NG.cjs +11 -0
- package/dist/dashboard-card-B9enj4NG.cjs.map +1 -0
- package/dist/dashboard-card-C7nmBU5A.js +9 -0
- package/dist/dashboard-card-C7nmBU5A.js.map +1 -0
- package/dist/data-code-section-BYhkWiIy.js +332 -0
- package/dist/data-code-section-BYhkWiIy.js.map +1 -0
- package/dist/data-code-section-Bz_B8nrw.cjs +335 -0
- package/dist/data-code-section-Bz_B8nrw.cjs.map +1 -0
- package/dist/data-keys-and-values-BSeQG7jb.js +122 -0
- package/dist/data-keys-and-values-BSeQG7jb.js.map +1 -0
- package/dist/data-keys-and-values-Spy2O_IE.cjs +124 -0
- package/dist/data-keys-and-values-Spy2O_IE.cjs.map +1 -0
- package/dist/data-list-skeleton-Bges_t5u.cjs +416 -0
- package/dist/data-list-skeleton-Bges_t5u.cjs.map +1 -0
- package/dist/data-list-skeleton-C9Ncz3jM.js +389 -0
- package/dist/data-list-skeleton-C9Ncz3jM.js.map +1 -0
- package/dist/data-panel-CaS60apX.js +87 -0
- package/dist/data-panel-CaS60apX.js.map +1 -0
- package/dist/data-panel-CbV9Ycys.cjs +89 -0
- package/dist/data-panel-CbV9Ycys.cjs.map +1 -0
- package/dist/date-time-picker-BKqGpw5w.cjs +268 -0
- package/dist/date-time-picker-BKqGpw5w.cjs.map +1 -0
- package/dist/date-time-picker-t67keTZg.js +245 -0
- package/dist/date-time-picker-t67keTZg.js.map +1 -0
- package/dist/date-time-range-picker-Do-3VVvo.cjs +170 -0
- package/dist/date-time-range-picker-Do-3VVvo.cjs.map +1 -0
- package/dist/date-time-range-picker-iMvwOfiZ.js +168 -0
- package/dist/date-time-range-picker-iMvwOfiZ.js.map +1 -0
- package/dist/dialog-46zkb32X.cjs +105 -0
- package/dist/dialog-46zkb32X.cjs.map +1 -0
- package/dist/dialog-CSSfcjSX.js +74 -0
- package/dist/dialog-CSSfcjSX.js.map +1 -0
- package/dist/dialog.css +70 -0
- package/dist/drawer-BaUXhUlI.cjs +177 -0
- package/dist/drawer-BaUXhUlI.cjs.map +1 -0
- package/dist/drawer-wvz8SreU.js +137 -0
- package/dist/drawer-wvz8SreU.js.map +1 -0
- package/dist/drawer.css +131 -0
- package/dist/dropdown-menu-Dh-CMMjl.js +203 -0
- package/dist/dropdown-menu-Dh-CMMjl.js.map +1 -0
- package/dist/dropdown-menu-Vl_C0N5e.cjs +224 -0
- package/dist/dropdown-menu-Vl_C0N5e.cjs.map +1 -0
- package/dist/entity-header-CpClAdJT.js +17 -0
- package/dist/entity-header-CpClAdJT.js.map +1 -0
- package/dist/entity-header-D2q5PizE.cjs +19 -0
- package/dist/entity-header-D2q5PizE.cjs.map +1 -0
- package/dist/entry-B53NXi9c.js +12 -0
- package/dist/entry-B53NXi9c.js.map +1 -0
- package/dist/entry-BwpOISbt.cjs +14 -0
- package/dist/entry-BwpOISbt.cjs.map +1 -0
- package/dist/field-block-CdCFQi7X.js +85 -0
- package/dist/field-block-CdCFQi7X.js.map +1 -0
- package/dist/field-block-D9R9O6XE.cjs +87 -0
- package/dist/field-block-D9R9O6XE.cjs.map +1 -0
- package/dist/field-blocks-layout-BpbpaIev.js +31 -0
- package/dist/field-blocks-layout-BpbpaIev.js.map +1 -0
- package/dist/field-blocks-layout-Bqock2Nu.cjs +33 -0
- package/dist/field-blocks-layout-Bqock2Nu.cjs.map +1 -0
- package/dist/form-element-Cy7aV1Ds.cjs +22 -0
- package/dist/form-element-Cy7aV1Ds.cjs.map +1 -0
- package/dist/form-element-DUtZESwq.js +12 -0
- package/dist/form-element-DUtZESwq.js.map +1 -0
- package/dist/get-short-id-B4_2mLzM.js +25 -0
- package/dist/get-short-id-B4_2mLzM.js.map +1 -0
- package/dist/get-short-id-DtN4BmrD.cjs +28 -0
- package/dist/get-short-id-DtN4BmrD.cjs.map +1 -0
- package/dist/helpers-BH-wPlF0.js +346 -0
- package/dist/helpers-BH-wPlF0.js.map +1 -0
- package/dist/helpers-BbJUaSrW.cjs +352 -0
- package/dist/helpers-BbJUaSrW.cjs.map +1 -0
- package/dist/highlight-C2uRVhiA.cjs +68 -0
- package/dist/highlight-C2uRVhiA.cjs.map +1 -0
- package/dist/highlight-Dis62bkj.js +66 -0
- package/dist/highlight-Dis62bkj.js.map +1 -0
- package/dist/horizontal-bars-B43f5B_S.js +106 -0
- package/dist/horizontal-bars-B43f5B_S.js.map +1 -0
- package/dist/horizontal-bars-DkJlf6-x.cjs +108 -0
- package/dist/horizontal-bars-DkJlf6-x.cjs.map +1 -0
- package/dist/hover-card-ByLYfB05.cjs +56 -0
- package/dist/hover-card-ByLYfB05.cjs.map +1 -0
- package/dist/hover-card-CV2ASE_w.js +33 -0
- package/dist/hover-card-CV2ASE_w.js.map +1 -0
- package/dist/index-CsyK0ihk.js +45 -0
- package/dist/index-CsyK0ihk.js.map +1 -0
- package/dist/index-DPkWrpVb.cjs +47 -0
- package/dist/index-DPkWrpVb.cjs.map +1 -0
- package/dist/index.cjs.js +1477 -15901
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +343 -1960
- package/dist/index.es.js +881 -15301
- package/dist/index.es.js.map +1 -1
- package/dist/input-DGvJg7no.cjs +86 -0
- package/dist/input-DGvJg7no.cjs.map +1 -0
- package/dist/input-DsX-P_dO.js +65 -0
- package/dist/input-DsX-P_dO.js.map +1 -0
- package/dist/input-group-Bi_4j-WW.cjs +245 -0
- package/dist/input-group-Bi_4j-WW.cjs.map +1 -0
- package/dist/input-group-DpQPpHRU.js +219 -0
- package/dist/input-group-DpQPpHRU.js.map +1 -0
- package/dist/kbd-CnIg1L19.cjs +29 -0
- package/dist/kbd-CnIg1L19.cjs.map +1 -0
- package/dist/kbd-DRd56y7q.js +27 -0
- package/dist/kbd-DRd56y7q.js.map +1 -0
- package/dist/key-value-list-BFGuMFbL.js +84 -0
- package/dist/key-value-list-BFGuMFbL.js.map +1 -0
- package/dist/key-value-list-D067I300.cjs +86 -0
- package/dist/key-value-list-D067I300.cjs.map +1 -0
- package/dist/label-Dgz2hRMg.js +13 -0
- package/dist/label-Dgz2hRMg.js.map +1 -0
- package/dist/label-U8omtW8w.cjs +34 -0
- package/dist/label-U8omtW8w.cjs.map +1 -0
- package/dist/list-search-DY84ZCM-.cjs +59 -0
- package/dist/list-search-DY84ZCM-.cjs.map +1 -0
- package/dist/list-search-Dk2A1fUf.js +57 -0
- package/dist/list-search-Dk2A1fUf.js.map +1 -0
- package/dist/logo-BvzT5a1s.cjs +70 -0
- package/dist/logo-BvzT5a1s.cjs.map +1 -0
- package/dist/logo-CaqfKyP7.js +67 -0
- package/dist/logo-CaqfKyP7.js.map +1 -0
- package/dist/logo.css +70 -0
- package/dist/logs-data-list-B0Y5AHWL.js +87 -0
- package/dist/logs-data-list-B0Y5AHWL.js.map +1 -0
- package/dist/logs-data-list-DikL8ZQ0.cjs +90 -0
- package/dist/logs-data-list-DikL8ZQ0.cjs.map +1 -0
- package/dist/main-content-CR0j00N1.js +75 -0
- package/dist/main-content-CR0j00N1.js.map +1 -0
- package/dist/main-content-CnmMWNin.cjs +79 -0
- package/dist/main-content-CnmMWNin.cjs.map +1 -0
- package/dist/main-header-Bp0d1TMi.js +96 -0
- package/dist/main-header-Bp0d1TMi.js.map +1 -0
- package/dist/main-header-DJLRceP9.cjs +98 -0
- package/dist/main-header-DJLRceP9.cjs.map +1 -0
- package/dist/main-sidebar-0q7MXh2j.js +761 -0
- package/dist/main-sidebar-0q7MXh2j.js.map +1 -0
- package/dist/main-sidebar-H8NQ7njm.cjs +771 -0
- package/dist/main-sidebar-H8NQ7njm.cjs.map +1 -0
- package/dist/markdown-renderer-BjWUNVYf.cjs +88 -0
- package/dist/markdown-renderer-BjWUNVYf.cjs.map +1 -0
- package/dist/markdown-renderer-fXSUbDkK.js +86 -0
- package/dist/markdown-renderer-fXSUbDkK.js.map +1 -0
- package/dist/metrics-card-Bk3X19xx.js +93 -0
- package/dist/metrics-card-Bk3X19xx.js.map +1 -0
- package/dist/metrics-card-hs1pqY2Y.cjs +95 -0
- package/dist/metrics-card-hs1pqY2Y.cjs.map +1 -0
- package/dist/metrics-data-table-BpEAlJi0.cjs +77 -0
- package/dist/metrics-data-table-BpEAlJi0.cjs.map +1 -0
- package/dist/metrics-data-table-Dds2TkvE.js +75 -0
- package/dist/metrics-data-table-Dds2TkvE.js.map +1 -0
- package/dist/metrics-flex-grid-BqtZ5emh.js +9 -0
- package/dist/metrics-flex-grid-BqtZ5emh.js.map +1 -0
- package/dist/metrics-flex-grid-DzlyAgr7.cjs +11 -0
- package/dist/metrics-flex-grid-DzlyAgr7.cjs.map +1 -0
- package/dist/metrics-kpi-card-CNUpkoQO.js +77 -0
- package/dist/metrics-kpi-card-CNUpkoQO.js.map +1 -0
- package/dist/metrics-kpi-card-D_SaIWBc.cjs +79 -0
- package/dist/metrics-kpi-card-D_SaIWBc.cjs.map +1 -0
- package/dist/metrics-line-chart-BUUqDQPW.js +106 -0
- package/dist/metrics-line-chart-BUUqDQPW.js.map +1 -0
- package/dist/metrics-line-chart-D1ZGVepo.cjs +109 -0
- package/dist/metrics-line-chart-D1ZGVepo.cjs.map +1 -0
- package/dist/multi-column-BzL86JPK.cjs +136 -0
- package/dist/multi-column-BzL86JPK.cjs.map +1 -0
- package/dist/multi-column-C1sXoVG3.js +132 -0
- package/dist/multi-column-C1sXoVG3.js.map +1 -0
- package/dist/multi-combobox-DkFLK64B.cjs +193 -0
- package/dist/multi-combobox-DkFLK64B.cjs.map +1 -0
- package/dist/multi-combobox-Y3gT0MqV.js +189 -0
- package/dist/multi-combobox-Y3gT0MqV.js.map +1 -0
- package/dist/no-data-page-layout-CZzEj0NE.js +101 -0
- package/dist/no-data-page-layout-CZzEj0NE.js.map +1 -0
- package/dist/no-data-page-layout-CiNBx-vK.cjs +104 -0
- package/dist/no-data-page-layout-CiNBx-vK.cjs.map +1 -0
- package/dist/page-header-BS_LNnKw.js +51 -0
- package/dist/page-header-BS_LNnKw.js.map +1 -0
- package/dist/page-header-C1ZlL4Ua.cjs +53 -0
- package/dist/page-header-C1ZlL4Ua.cjs.map +1 -0
- package/dist/page-heading-context-D3yjYoJE.js +9 -0
- package/dist/page-heading-context-D3yjYoJE.js.map +1 -0
- package/dist/page-heading-context-Du-CpxAx.cjs +12 -0
- package/dist/page-heading-context-Du-CpxAx.cjs.map +1 -0
- package/dist/pending-indicator-BxD-kwEk.cjs +9 -0
- package/dist/pending-indicator-BxD-kwEk.cjs.map +1 -0
- package/dist/pending-indicator-DmowRHLo.js +7 -0
- package/dist/pending-indicator-DmowRHLo.js.map +1 -0
- package/dist/popover-CRLP2Ay_.js +75 -0
- package/dist/popover-CRLP2Ay_.js.map +1 -0
- package/dist/popover-ttQgAb0m.cjs +99 -0
- package/dist/popover-ttQgAb0m.cjs.map +1 -0
- package/dist/portal-container-BlQ6JKob.js +17 -0
- package/dist/portal-container-BlQ6JKob.js.map +1 -0
- package/dist/portal-container-BsvHZxj7.cjs +39 -0
- package/dist/portal-container-BsvHZxj7.cjs.map +1 -0
- package/dist/process-step-progress-bar-C0mArMKD.js +136 -0
- package/dist/process-step-progress-bar-C0mArMKD.js.map +1 -0
- package/dist/process-step-progress-bar-D74Y-8Jo.cjs +141 -0
- package/dist/process-step-progress-bar-D74Y-8Jo.cjs.map +1 -0
- package/dist/property-filter-creator-Cl7xhaML.cjs +673 -0
- package/dist/property-filter-creator-Cl7xhaML.cjs.map +1 -0
- package/dist/property-filter-creator-CnuA0Otn.js +668 -0
- package/dist/property-filter-creator-CnuA0Otn.js.map +1 -0
- package/dist/radio-group-CcZMn-TY.cjs +77 -0
- package/dist/radio-group-CcZMn-TY.cjs.map +1 -0
- package/dist/radio-group-DIbajvIk.js +55 -0
- package/dist/radio-group-DIbajvIk.js.map +1 -0
- package/dist/scroll-area-BCZiAvhR.js +199 -0
- package/dist/scroll-area-BCZiAvhR.js.map +1 -0
- package/dist/scroll-area-KogxLVrV.cjs +221 -0
- package/dist/scroll-area-KogxLVrV.cjs.map +1 -0
- package/dist/scrollable-container-BqOFHwdb.js +151 -0
- package/dist/scrollable-container-BqOFHwdb.js.map +1 -0
- package/dist/scrollable-container-Btq-TfCL.cjs +153 -0
- package/dist/scrollable-container-Btq-TfCL.cjs.map +1 -0
- package/dist/search-field-block-Cn_Ffn5P.cjs +117 -0
- package/dist/search-field-block-Cn_Ffn5P.cjs.map +1 -0
- package/dist/search-field-block-CuyiDT1k.js +115 -0
- package/dist/search-field-block-CuyiDT1k.js.map +1 -0
- package/dist/searchbar-8KtQRL0s.cjs +105 -0
- package/dist/searchbar-8KtQRL0s.cjs.map +1 -0
- package/dist/searchbar-HmTfVgXd.js +102 -0
- package/dist/searchbar-HmTfVgXd.js.map +1 -0
- package/dist/section-BUngbrvn.js +36 -0
- package/dist/section-BUngbrvn.js.map +1 -0
- package/dist/section-card-23Os1QRs.cjs +96 -0
- package/dist/section-card-23Os1QRs.cjs.map +1 -0
- package/dist/section-card-BMArnkcD.js +93 -0
- package/dist/section-card-BMArnkcD.js.map +1 -0
- package/dist/section-muObW4n-.cjs +40 -0
- package/dist/section-muObW4n-.cjs.map +1 -0
- package/dist/sections-BgrvBjOR.cjs +11 -0
- package/dist/sections-BgrvBjOR.cjs.map +1 -0
- package/dist/sections-SdJxf4JD.js +9 -0
- package/dist/sections-SdJxf4JD.js.map +1 -0
- package/dist/select-D2w0zRz4.js +138 -0
- package/dist/select-D2w0zRz4.js.map +1 -0
- package/dist/select-DDgw1wG-.cjs +164 -0
- package/dist/select-DDgw1wG-.cjs.map +1 -0
- package/dist/select-data-filter-BFGZYkQ_.js +192 -0
- package/dist/select-data-filter-BFGZYkQ_.js.map +1 -0
- package/dist/select-data-filter-DxoxTXk2.cjs +194 -0
- package/dist/select-data-filter-DxoxTXk2.cjs.map +1 -0
- package/dist/select-field-block-BA6vHkOP.js +48 -0
- package/dist/select-field-block-BA6vHkOP.js.map +1 -0
- package/dist/select-field-block-BpXYm4K0.cjs +50 -0
- package/dist/select-field-block-BpXYm4K0.cjs.map +1 -0
- package/dist/shimmer-CTVYNDBn.js +22 -0
- package/dist/shimmer-CTVYNDBn.js.map +1 -0
- package/dist/shimmer-DK8TWAV-.cjs +24 -0
- package/dist/shimmer-DK8TWAV-.cjs.map +1 -0
- package/dist/skeleton-Bo71UMWV.cjs +25 -0
- package/dist/skeleton-Bo71UMWV.cjs.map +1 -0
- package/dist/skeleton-Dbr54vol.js +23 -0
- package/dist/skeleton-Dbr54vol.js.map +1 -0
- package/dist/slider-BhA0bVR8.js +88 -0
- package/dist/slider-BhA0bVR8.js.map +1 -0
- package/dist/slider-b9_82QLR.cjs +90 -0
- package/dist/slider-b9_82QLR.cjs.map +1 -0
- package/dist/spacings-0Zbr65EW.js +208 -0
- package/dist/spacings-0Zbr65EW.js.map +1 -0
- package/dist/spacings-BP8L49kn.cjs +218 -0
- package/dist/spacings-BP8L49kn.cjs.map +1 -0
- package/dist/spinner-DuizqJj9.js +51 -0
- package/dist/spinner-DuizqJj9.js.map +1 -0
- package/dist/spinner-PSUHmhye.cjs +53 -0
- package/dist/spinner-PSUHmhye.cjs.map +1 -0
- package/dist/spinner.css +114 -0
- package/dist/src/domains/metrics/components/index.d.ts +1 -0
- package/dist/src/domains/metrics/components/token-usage-timeline-card-view.d.ts +10 -0
- package/dist/src/domains/metrics/hooks/index.d.ts +1 -0
- package/dist/src/domains/metrics/hooks/use-token-usage-timeseries.d.ts +15 -0
- package/dist/src/domains/traces/hooks/index.d.ts +1 -0
- package/dist/src/domains/traces/hooks/use-download-trace-json.d.ts +4 -0
- package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +6 -0
- package/dist/src/ds/components/AlertDialog/alert-dialog.d.ts +1 -0
- package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +1 -0
- package/dist/src/ds/components/Button/Button.d.ts +3 -2
- package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +4 -4
- package/dist/src/ds/components/Code/code.d.ts +14 -0
- package/dist/src/ds/components/Code/code.stories.d.ts +9 -0
- package/dist/src/ds/components/Code/index.d.ts +1 -0
- package/dist/src/ds/components/CodeBlock/code-block.d.ts +5 -1
- package/dist/src/ds/components/CodeBlock/code-block.stories.d.ts +1 -0
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +27 -12
- package/dist/src/ds/components/Combobox/combobox.d.ts +4 -3
- package/dist/src/ds/components/Combobox/multi-combobox.d.ts +5 -5
- package/dist/src/ds/components/DataList/data-list-cells.d.ts +2 -2
- package/dist/src/ds/components/DataList/data-list-row-wrapper-context.d.ts +2 -0
- package/dist/src/ds/components/DataList/data-list.stories.d.ts +2 -0
- package/dist/src/ds/components/DataList/shared.d.ts +8 -6
- package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +1 -1
- package/dist/src/ds/components/Dialog/dialog.d.ts +2 -0
- package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +1 -0
- package/dist/src/ds/components/Input/input.d.ts +2 -2
- package/dist/src/ds/components/InputGroup/input-group.d.ts +3 -3
- package/dist/src/ds/components/MetricsCard/index.d.ts +0 -1
- package/dist/src/ds/components/PendingIndicator/index.d.ts +1 -0
- package/dist/src/ds/components/PendingIndicator/pending-indicator.d.ts +9 -0
- package/dist/src/ds/components/Popover/popover.d.ts +1 -0
- package/dist/src/ds/components/Searchbar/searchbar.d.ts +2 -2
- package/dist/src/ds/components/Select/select.d.ts +12 -5
- package/dist/src/ds/components/Select/select.stories.d.ts +8 -0
- package/dist/src/ds/components/Shimmer/index.d.ts +1 -0
- package/dist/src/ds/components/Shimmer/shimmer.d.ts +6 -0
- package/dist/src/ds/components/Textarea/textarea.d.ts +2 -2
- package/dist/src/ds/primitives/control-size.d.ts +5 -0
- package/dist/src/ds/primitives/form-element.d.ts +1 -9
- package/dist/src/ds/primitives/resize-handle-indicator.d.ts +9 -0
- package/dist/src/ds/tokens/sizes.d.ts +1 -0
- package/dist/src/index.d.ts +4 -5
- package/dist/src/lib/as-child.d.ts +22 -0
- package/dist/src/lib/file/downloadJson.d.ts +1 -0
- package/dist/src/lib/file/index.d.ts +1 -0
- package/dist/src/lib/resize/separator.d.ts +5 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/switch-DJRX_Onf.cjs +124 -0
- package/dist/switch-DJRX_Onf.cjs.map +1 -0
- package/dist/switch-VX4iYp3j.js +103 -0
- package/dist/switch-VX4iYp3j.js.map +1 -0
- package/dist/switch.css +51 -0
- package/dist/tabs-content-D-fKCtLW.js +18 -0
- package/dist/tabs-content-D-fKCtLW.js.map +1 -0
- package/dist/tabs-content-m86TGI_b.cjs +20 -0
- package/dist/tabs-content-m86TGI_b.cjs.map +1 -0
- package/dist/tabs-tab-Cjv_3xGC.js +118 -0
- package/dist/tabs-tab-Cjv_3xGC.js.map +1 -0
- package/dist/tabs-tab-Dl9FqQhm.cjs +122 -0
- package/dist/tabs-tab-Dl9FqQhm.cjs.map +1 -0
- package/dist/text-field-block-CGzVPqnF.cjs +50 -0
- package/dist/text-field-block-CGzVPqnF.cjs.map +1 -0
- package/dist/text-field-block-gjrZyIFr.js +48 -0
- package/dist/text-field-block-gjrZyIFr.js.map +1 -0
- package/dist/textarea-DTTTODYL.js +62 -0
- package/dist/textarea-DTTTODYL.js.map +1 -0
- package/dist/textarea-DdUaiUA3.cjs +83 -0
- package/dist/textarea-DdUaiUA3.cjs.map +1 -0
- package/dist/theme-provider-C9ih9jSS.js +117 -0
- package/dist/theme-provider-C9ih9jSS.js.map +1 -0
- package/dist/theme-provider-aO5-jZVp.cjs +120 -0
- package/dist/theme-provider-aO5-jZVp.cjs.map +1 -0
- package/dist/theme-toggle-AzjABhTN.js +85 -0
- package/dist/theme-toggle-AzjABhTN.js.map +1 -0
- package/dist/theme-toggle-DWtjTo-a.cjs +87 -0
- package/dist/theme-toggle-DWtjTo-a.cjs.map +1 -0
- package/dist/time-picker-BtJz6IU2.js +110 -0
- package/dist/time-picker-BtJz6IU2.js.map +1 -0
- package/dist/time-picker-DWrxHBfR.cjs +113 -0
- package/dist/time-picker-DWrxHBfR.cjs.map +1 -0
- package/dist/tokens.cjs.js +11 -214
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +3 -206
- package/dist/tokens.es.js.map +1 -1
- package/dist/tooltip-DehuxlSR.js +90 -0
- package/dist/tooltip-DehuxlSR.js.map +1 -0
- package/dist/tooltip-j8gUR1Qk.cjs +114 -0
- package/dist/tooltip-j8gUR1Qk.cjs.map +1 -0
- package/dist/traces-data-list-5GA3JumQ.cjs +238 -0
- package/dist/traces-data-list-5GA3JumQ.cjs.map +1 -0
- package/dist/traces-data-list-Dru2XnRN.js +234 -0
- package/dist/traces-data-list-Dru2XnRN.js.map +1 -0
- package/dist/transitions-DpczSjmD.cjs +39 -0
- package/dist/transitions-DpczSjmD.cjs.map +1 -0
- package/dist/transitions-tFfqxz40.js +35 -0
- package/dist/transitions-tFfqxz40.js.map +1 -0
- package/dist/tree-D04KhP5w.js +212 -0
- package/dist/tree-D04KhP5w.js.map +1 -0
- package/dist/tree-P2k9UCFX.cjs +233 -0
- package/dist/tree-P2k9UCFX.cjs.map +1 -0
- package/dist/truncate-B2kAcoie.js +47 -0
- package/dist/truncate-B2kAcoie.js.map +1 -0
- package/dist/truncate-mOutaqxm.cjs +49 -0
- package/dist/truncate-mOutaqxm.cjs.map +1 -0
- package/dist/use-copy-to-clipboard-CGqfkXnN.js +73 -0
- package/dist/use-copy-to-clipboard-CGqfkXnN.js.map +1 -0
- package/dist/use-copy-to-clipboard-CQgIuR1c.cjs +77 -0
- package/dist/use-copy-to-clipboard-CQgIuR1c.cjs.map +1 -0
- package/dist/use-copy-to-clipboard.css +126 -0
- package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs +214 -0
- package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs.map +1 -0
- package/dist/use-table-keyboard-navigation-TaCn1tec.js +203 -0
- package/dist/use-table-keyboard-navigation-TaCn1tec.js.map +1 -0
- package/dist/utils-CzYGxqbG.js +3290 -0
- package/dist/utils-CzYGxqbG.js.map +1 -0
- package/dist/utils-vA5sWo9W.cjs +3293 -0
- package/dist/utils-vA5sWo9W.cjs.map +1 -0
- package/package.json +18 -7
- package/theme.css +412 -0
- package/dist/vite.config.d.ts +0 -3
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/* Toast tokens live here — only consumed by `.mastra-toaster` so they don't need to ship in
|
|
2
|
+
index.css for every component. The bg/border use color-mix on theme-scoped notice tokens,
|
|
3
|
+
so the single :root declaration computes correctly under `html.light` too. Only the shadow
|
|
4
|
+
needs an explicit per-theme override (light gets a gloss highlight, dark stays elevation-only). */
|
|
5
|
+
:root {
|
|
6
|
+
--toast-success-bg: color-mix(in srgb, var(--notice-success) 20%, var(--surface1));
|
|
7
|
+
--toast-success-border: color-mix(in srgb, var(--notice-success) 45%, var(--surface1));
|
|
8
|
+
--toast-destructive-bg: color-mix(in srgb, var(--notice-destructive) 20%, var(--surface1));
|
|
9
|
+
--toast-destructive-border: color-mix(in srgb, var(--notice-destructive) 45%, var(--surface1));
|
|
10
|
+
--toast-warning-bg: color-mix(in srgb, var(--notice-warning) 20%, var(--surface1));
|
|
11
|
+
--toast-warning-border: color-mix(in srgb, var(--notice-warning) 45%, var(--surface1));
|
|
12
|
+
--toast-info-bg: color-mix(in srgb, var(--notice-info) 20%, var(--surface1));
|
|
13
|
+
--toast-info-border: color-mix(in srgb, var(--notice-info) 45%, var(--surface1));
|
|
14
|
+
--toast-shadow: 0 1px 2px oklch(0 0 0 / 0.4), 0 12px 32px -12px oklch(0 0 0 / 0.55);
|
|
15
|
+
}
|
|
16
|
+
html.light {
|
|
17
|
+
--toast-shadow:
|
|
18
|
+
inset 0 1px 0 0 oklch(1 0 0 / 0.6), 0 1px 2px oklch(0 0 0 / 0.04), 0 12px 32px -12px oklch(0 0 0 / 0.14);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Mastra toast theming — applied to sonner's Toaster wrapper via className.
|
|
22
|
+
Sonner reads its per-type colors from --success-bg / --error-bg / etc. (richColors mode).
|
|
23
|
+
The `[data-sonner-toaster][data-sonner-theme]` prefix matches sonner's own theme rules
|
|
24
|
+
(specificity 0,2,0) and adds our class for (0,3,0) so our notice tokens win without !important. */
|
|
25
|
+
[data-sonner-toaster][data-sonner-theme].mastra-toaster {
|
|
26
|
+
--normal-bg: var(--surface3);
|
|
27
|
+
--normal-text: var(--neutral5);
|
|
28
|
+
--normal-border: var(--border1);
|
|
29
|
+
--success-bg: var(--toast-success-bg);
|
|
30
|
+
--success-text: var(--notice-success-fg);
|
|
31
|
+
--success-border: var(--toast-success-border);
|
|
32
|
+
--error-bg: var(--toast-destructive-bg);
|
|
33
|
+
--error-text: var(--notice-destructive-fg);
|
|
34
|
+
--error-border: var(--toast-destructive-border);
|
|
35
|
+
--warning-bg: var(--toast-warning-bg);
|
|
36
|
+
--warning-text: var(--notice-warning-fg);
|
|
37
|
+
--warning-border: var(--toast-warning-border);
|
|
38
|
+
--info-bg: var(--toast-info-bg);
|
|
39
|
+
--info-text: var(--notice-info-fg);
|
|
40
|
+
--info-border: var(--toast-info-border);
|
|
41
|
+
--border-radius: var(--radius-xl);
|
|
42
|
+
|
|
43
|
+
/* Move the close button to the top-right corner. Sonner's defaults pin it to the LEFT in LTR;
|
|
44
|
+
we flip start/end and mirror the overhang transform so the chip sits in the same position
|
|
45
|
+
RTL would normally use. Keeps the icon and the close affordance from competing visually. */
|
|
46
|
+
--toast-close-button-start: unset;
|
|
47
|
+
--toast-close-button-end: 0;
|
|
48
|
+
--toast-close-button-transform: translate(35%, -35%);
|
|
49
|
+
}
|
|
50
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast] {
|
|
51
|
+
box-shadow: var(--toast-shadow);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Close button — size + transitions are shared. Per-variant rules below own bg/border colors
|
|
55
|
+
and beat sonner's per-type rules on specificity (we add .mastra-toaster + [data-type] for 0,5,0). */
|
|
56
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast] [data-close-button] {
|
|
57
|
+
width: 22px;
|
|
58
|
+
height: 22px;
|
|
59
|
+
box-shadow: 0 1px 2px oklch(0 0 0 / 0.25);
|
|
60
|
+
transition:
|
|
61
|
+
background-color 160ms var(--ease-out-custom),
|
|
62
|
+
border-color 160ms var(--ease-out-custom),
|
|
63
|
+
box-shadow 160ms var(--ease-out-custom),
|
|
64
|
+
transform 200ms var(--ease-out-custom);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Per-variant tint cascade. Three vars per variant — all theme-aware via the underlying tokens:
|
|
68
|
+
--close-tint → text/icon color (always strong contrast in both themes)
|
|
69
|
+
--close-bg → chip surface, equal to the toast's own bg so the chip blends at rest
|
|
70
|
+
--close-border → chip border, equal to the toast's own border so the chip blends at rest */
|
|
71
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast]:not([data-type]) {
|
|
72
|
+
--close-tint: var(--neutral5);
|
|
73
|
+
--close-bg: var(--normal-bg);
|
|
74
|
+
--close-border: var(--normal-border);
|
|
75
|
+
}
|
|
76
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast][data-type='success'] {
|
|
77
|
+
--close-tint: var(--notice-success-fg);
|
|
78
|
+
--close-bg: var(--success-bg);
|
|
79
|
+
--close-border: var(--success-border);
|
|
80
|
+
}
|
|
81
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast][data-type='error'] {
|
|
82
|
+
--close-tint: var(--notice-destructive-fg);
|
|
83
|
+
--close-bg: var(--error-bg);
|
|
84
|
+
--close-border: var(--error-border);
|
|
85
|
+
}
|
|
86
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast][data-type='warning'] {
|
|
87
|
+
--close-tint: var(--notice-warning-fg);
|
|
88
|
+
--close-bg: var(--warning-bg);
|
|
89
|
+
--close-border: var(--warning-border);
|
|
90
|
+
}
|
|
91
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast][data-type='info'] {
|
|
92
|
+
--close-tint: var(--notice-info-fg);
|
|
93
|
+
--close-bg: var(--info-bg);
|
|
94
|
+
--close-border: var(--info-border);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Default state: chip mirrors the toast — only the X icon shows. `color` is set explicitly
|
|
98
|
+
because sonner's theme-conditional color rule won't apply when the Toaster's `theme` prop
|
|
99
|
+
doesn't match the app theme; var(--close-tint) flips correctly via the underlying tokens. */
|
|
100
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast][data-type] [data-close-button],
|
|
101
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast]:not([data-type]) [data-close-button] {
|
|
102
|
+
background: var(--close-bg);
|
|
103
|
+
border-color: var(--close-border);
|
|
104
|
+
color: var(--close-tint);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Hover/focus: chip lifts — bg shifts one tonal step toward the tint, border bumps to a
|
|
108
|
+
visible-but-soft 55%-mix of the tint. Smooth in dark mode (no stark white edge). */
|
|
109
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast][data-type]:hover [data-close-button]:hover,
|
|
110
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast]:not([data-type]):hover [data-close-button]:hover,
|
|
111
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast][data-type] [data-close-button]:focus-visible,
|
|
112
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast]:not([data-type]) [data-close-button]:focus-visible {
|
|
113
|
+
background: color-mix(in srgb, var(--close-bg), var(--close-tint) 14%);
|
|
114
|
+
border-color: color-mix(in srgb, var(--close-tint) 55%, transparent);
|
|
115
|
+
box-shadow: 0 4px 12px oklch(0 0 0 / 0.3);
|
|
116
|
+
transform: var(--toast-close-button-transform) scale(1.08);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast] [data-close-button]:active {
|
|
120
|
+
transform: var(--toast-close-button-transform) scale(0.94);
|
|
121
|
+
transition-duration: 80ms;
|
|
122
|
+
}
|
|
123
|
+
[data-sonner-toaster].mastra-toaster [data-sonner-toast] [data-close-button] svg {
|
|
124
|
+
width: 13px;
|
|
125
|
+
height: 13px;
|
|
126
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const React = require('react');
|
|
5
|
+
const utils = require('./utils-vA5sWo9W.cjs');
|
|
6
|
+
const Icon = require('./Icon-C_Ooy-cP.cjs');
|
|
7
|
+
const Txt = require('./Txt-Cmn4ug68.cjs');
|
|
8
|
+
|
|
9
|
+
const rowSize = {
|
|
10
|
+
default: "[&>tbody>tr]:h-table-row",
|
|
11
|
+
small: "[&>tbody>tr]:h-table-row-small"
|
|
12
|
+
};
|
|
13
|
+
const Table = ({ className, children, size = "default", style }) => {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx("table", { className: utils.cn("w-full", rowSize[size], className), style, children });
|
|
15
|
+
};
|
|
16
|
+
const Thead = ({ className, children }) => {
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: utils.cn("h-table-header border-b border-border1 bg-surface2/80", className), children }) });
|
|
18
|
+
};
|
|
19
|
+
const Th = ({ className, children, ...props }) => {
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21
|
+
"th",
|
|
22
|
+
{
|
|
23
|
+
className: utils.cn(
|
|
24
|
+
"text-neutral2 text-ui-xs h-full whitespace-nowrap text-left font-medium uppercase tracking-wide first:pl-3 last:pr-3",
|
|
25
|
+
className
|
|
26
|
+
),
|
|
27
|
+
...props,
|
|
28
|
+
children
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
const Tbody = ({ className, children, ...props }) => {
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: utils.cn("", className), ...props, children });
|
|
34
|
+
};
|
|
35
|
+
const Row = React.forwardRef(
|
|
36
|
+
({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {
|
|
37
|
+
const internalRef = React.useRef(null);
|
|
38
|
+
React.useEffect(() => {
|
|
39
|
+
if (!ref) return;
|
|
40
|
+
if (typeof ref === "function") {
|
|
41
|
+
ref(internalRef.current);
|
|
42
|
+
} else {
|
|
43
|
+
ref.current = internalRef.current;
|
|
44
|
+
}
|
|
45
|
+
}, [ref]);
|
|
46
|
+
React.useEffect(() => {
|
|
47
|
+
if (isActive && internalRef.current) {
|
|
48
|
+
internalRef.current.focus();
|
|
49
|
+
internalRef.current.scrollIntoView({ block: "nearest" });
|
|
50
|
+
}
|
|
51
|
+
}, [isActive]);
|
|
52
|
+
const handleKeyDown = (event) => {
|
|
53
|
+
if (event.key === "Enter" && onClick) {
|
|
54
|
+
onClick();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
+
"tr",
|
|
59
|
+
{
|
|
60
|
+
className: utils.cn(
|
|
61
|
+
"border-b border-border1",
|
|
62
|
+
// Smooth hover transition
|
|
63
|
+
"transition-colors duration-normal ease-out-custom",
|
|
64
|
+
"hover:bg-surface3",
|
|
65
|
+
// Focus state
|
|
66
|
+
"focus:bg-surface3 focus:outline-hidden focus:ring-1 focus:ring-inset focus:ring-accent1/50",
|
|
67
|
+
selected && "bg-surface4",
|
|
68
|
+
onClick && "cursor-pointer",
|
|
69
|
+
className
|
|
70
|
+
),
|
|
71
|
+
style,
|
|
72
|
+
onClick,
|
|
73
|
+
ref: internalRef,
|
|
74
|
+
tabIndex: onClick ? 0 : void 0,
|
|
75
|
+
onKeyDown: handleKeyDown,
|
|
76
|
+
"data-active": isActive || void 0,
|
|
77
|
+
...props,
|
|
78
|
+
children
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
const formatDateCell = (date) => {
|
|
85
|
+
const month = new Intl.DateTimeFormat("en-US", { month: "short" }).format(date).toUpperCase();
|
|
86
|
+
const day = date.getDate();
|
|
87
|
+
const formattedDay = `${month} ${day}`;
|
|
88
|
+
const time = new Intl.DateTimeFormat("en-US", {
|
|
89
|
+
hour: "2-digit",
|
|
90
|
+
minute: "2-digit",
|
|
91
|
+
second: "2-digit",
|
|
92
|
+
hour12: false
|
|
93
|
+
// Use 24-hour format
|
|
94
|
+
}).format(date);
|
|
95
|
+
return { day: formattedDay, time };
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const Cell = ({ className, children, ...props }) => {
|
|
99
|
+
return /* @__PURE__ */ jsxRuntime.jsx("td", { className: utils.cn("text-neutral5 first:pl-3 last:pr-3", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("flex h-full w-full shrink-0 items-center"), children }) });
|
|
100
|
+
};
|
|
101
|
+
const TxtCell = ({ className, children }) => {
|
|
102
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Cell, { className, children: /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "ui-md", className: "w-full truncate", children }) });
|
|
103
|
+
};
|
|
104
|
+
const DateTimeCell = ({ dateTime, ...props }) => {
|
|
105
|
+
const { day, time } = formatDateCell(dateTime);
|
|
106
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Cell, { ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "shrink-0", children: [
|
|
107
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "ui-sm", className: "text-neutral3", children: day }),
|
|
108
|
+
" ",
|
|
109
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "ui-md", children: time })
|
|
110
|
+
] }) });
|
|
111
|
+
};
|
|
112
|
+
const EntryCell = ({ name, description, icon, meta, ...props }) => {
|
|
113
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Cell, { ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3.5", children: [
|
|
114
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { size: "lg", className: "text-neutral5", children: icon }),
|
|
115
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0", children: [
|
|
116
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "ui-md", className: "text-neutral6 !leading-tight", children: name }),
|
|
117
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
118
|
+
Txt.Txt,
|
|
119
|
+
{
|
|
120
|
+
as: "span",
|
|
121
|
+
variant: "ui-xs",
|
|
122
|
+
className: "text-neutral3 w-full max-w-dropdown-max-height truncate !leading-tight pt-1",
|
|
123
|
+
children: description
|
|
124
|
+
}
|
|
125
|
+
)
|
|
126
|
+
] }),
|
|
127
|
+
meta
|
|
128
|
+
] }) });
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
function useTableKeyboardNavigation({
|
|
132
|
+
itemCount,
|
|
133
|
+
initialIndex = -1,
|
|
134
|
+
wrap = false,
|
|
135
|
+
onSelect,
|
|
136
|
+
global = false
|
|
137
|
+
}) {
|
|
138
|
+
const [activeIndex, setActiveIndex] = React.useState(initialIndex);
|
|
139
|
+
const handleKeyDown = React.useCallback(
|
|
140
|
+
(e) => {
|
|
141
|
+
if (itemCount === 0) return;
|
|
142
|
+
switch (e.key) {
|
|
143
|
+
case "ArrowDown": {
|
|
144
|
+
e.preventDefault();
|
|
145
|
+
setActiveIndex((prev) => {
|
|
146
|
+
if (prev === -1) return 0;
|
|
147
|
+
if (prev >= itemCount - 1) {
|
|
148
|
+
return wrap ? 0 : itemCount - 1;
|
|
149
|
+
}
|
|
150
|
+
return prev + 1;
|
|
151
|
+
});
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case "ArrowUp": {
|
|
155
|
+
e.preventDefault();
|
|
156
|
+
setActiveIndex((prev) => {
|
|
157
|
+
if (prev === -1) return itemCount - 1;
|
|
158
|
+
if (prev <= 0) {
|
|
159
|
+
return wrap ? itemCount - 1 : 0;
|
|
160
|
+
}
|
|
161
|
+
return prev - 1;
|
|
162
|
+
});
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
case "Home": {
|
|
166
|
+
e.preventDefault();
|
|
167
|
+
setActiveIndex(0);
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
case "End": {
|
|
171
|
+
e.preventDefault();
|
|
172
|
+
setActiveIndex(itemCount - 1);
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
case "Enter": {
|
|
176
|
+
if (activeIndex >= 0 && onSelect) {
|
|
177
|
+
e.preventDefault();
|
|
178
|
+
onSelect(activeIndex);
|
|
179
|
+
}
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
[itemCount, wrap, activeIndex, onSelect]
|
|
185
|
+
);
|
|
186
|
+
React.useEffect(() => {
|
|
187
|
+
if (!global) return;
|
|
188
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
189
|
+
return () => {
|
|
190
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
191
|
+
};
|
|
192
|
+
}, [global, handleKeyDown]);
|
|
193
|
+
const getKeyboardProps = React.useCallback(() => {
|
|
194
|
+
if (global) return null;
|
|
195
|
+
return { onKeyDown: handleKeyDown, tabIndex: 0 };
|
|
196
|
+
}, [global, handleKeyDown]);
|
|
197
|
+
return {
|
|
198
|
+
activeIndex,
|
|
199
|
+
setActiveIndex,
|
|
200
|
+
getKeyboardProps
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
exports.Cell = Cell;
|
|
205
|
+
exports.DateTimeCell = DateTimeCell;
|
|
206
|
+
exports.EntryCell = EntryCell;
|
|
207
|
+
exports.Row = Row;
|
|
208
|
+
exports.Table = Table;
|
|
209
|
+
exports.Tbody = Tbody;
|
|
210
|
+
exports.Th = Th;
|
|
211
|
+
exports.Thead = Thead;
|
|
212
|
+
exports.TxtCell = TxtCell;
|
|
213
|
+
exports.useTableKeyboardNavigation = useTableKeyboardNavigation;
|
|
214
|
+
//# sourceMappingURL=use-table-keyboard-navigation-D9tbkeqJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-table-keyboard-navigation-D9tbkeqJ.cjs","sources":["../src/ds/components/Table/Table.tsx","../src/ds/components/Table/utils.ts","../src/ds/components/Table/Cells.tsx","../src/ds/components/Table/use-table-keyboard-navigation.ts"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, ReactNode, ThHTMLAttributes } from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface TableProps {\n className?: string;\n children: ReactNode;\n size?: 'default' | 'small';\n style?: CSSProperties;\n}\n\nconst rowSize = {\n default: '[&>tbody>tr]:h-table-row',\n small: '[&>tbody>tr]:h-table-row-small',\n};\n\nexport const Table = ({ className, children, size = 'default', style }: TableProps) => {\n return (\n <table className={cn('w-full', rowSize[size], className)} style={style}>\n {children}\n </table>\n );\n};\n\nexport interface TheadProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const Thead = ({ className, children }: TheadProps) => {\n return (\n <thead>\n <tr className={cn('h-table-header border-b border-border1 bg-surface2/80', className)}>{children}</tr>\n </thead>\n );\n};\n\nexport interface ThProps extends ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n style?: CSSProperties;\n children: ReactNode;\n}\n\nexport const Th = ({ className, children, ...props }: ThProps) => {\n return (\n <th\n className={cn(\n 'text-neutral2 text-ui-xs h-full whitespace-nowrap text-left font-medium uppercase tracking-wide first:pl-3 last:pr-3',\n className,\n )}\n {...props}\n >\n {children}\n </th>\n );\n};\n\nexport interface TbodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children: ReactNode;\n}\n\nexport const Tbody = ({ className, children, ...props }: TbodyProps) => {\n return (\n <tbody className={cn('', className)} {...props}>\n {children}\n </tbody>\n );\n};\n\nexport interface RowProps {\n className?: string;\n children: ReactNode;\n selected?: boolean;\n style?: CSSProperties;\n onClick?: () => void;\n tabIndex?: number;\n /** When true, row receives focus and scrolls into view */\n isActive?: boolean;\n}\n\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(\n ({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {\n const internalRef = useRef<HTMLTableRowElement>(null);\n\n // Merge forwarded ref with internal ref\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === 'function') {\n ref(internalRef.current);\n } else {\n ref.current = internalRef.current;\n }\n }, [ref]);\n\n // Focus and scroll into view when active\n useEffect(() => {\n if (isActive && internalRef.current) {\n internalRef.current.focus();\n internalRef.current.scrollIntoView({ block: 'nearest' });\n }\n }, [isActive]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' && onClick) {\n onClick();\n }\n };\n\n return (\n <tr\n className={cn(\n 'border-b border-border1',\n // Smooth hover transition\n 'transition-colors duration-normal ease-out-custom',\n 'hover:bg-surface3',\n // Focus state\n 'focus:bg-surface3 focus:outline-hidden focus:ring-1 focus:ring-inset focus:ring-accent1/50',\n selected && 'bg-surface4',\n onClick && 'cursor-pointer',\n className,\n )}\n style={style}\n onClick={onClick}\n ref={internalRef}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={handleKeyDown}\n data-active={isActive || undefined}\n {...props}\n >\n {children}\n </tr>\n );\n },\n);\n","export const formatDateCell = (date: Date) => {\n // Format the month as a short text representation\n const month = new Intl.DateTimeFormat('en-US', { month: 'short' }).format(date).toUpperCase();\n const day = date.getDate();\n\n const formattedDay = `${month} ${day}`;\n\n const time = new Intl.DateTimeFormat('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false, // Use 24-hour format\n }).format(date);\n\n return { day: formattedDay, time };\n};\n","import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Txt } from '../Txt';\nimport { formatDateCell } from './utils';\nimport { cn } from '@/lib/utils';\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children: React.ReactNode;\n}\n\nexport const Cell = ({ className, children, ...props }: CellProps) => {\n return (\n <td className={cn('text-neutral5 first:pl-3 last:pr-3', className)} {...props}>\n <div className={cn('flex h-full w-full shrink-0 items-center')}>{children}</div>\n </td>\n );\n};\n\nexport const TxtCell = ({ className, children }: CellProps) => {\n return (\n <Cell className={className}>\n <Txt as=\"span\" variant=\"ui-md\" className=\"w-full truncate\">\n {children}\n </Txt>\n </Cell>\n );\n};\n\nexport interface DateTimeCellProps extends Omit<CellProps, 'children'> {\n dateTime: Date;\n}\n\nexport const DateTimeCell = ({ dateTime, ...props }: DateTimeCellProps) => {\n const { day, time } = formatDateCell(dateTime);\n\n return (\n <Cell {...props}>\n <div className=\"shrink-0\">\n <Txt as=\"span\" variant=\"ui-sm\" className=\"text-neutral3\">\n {day}\n </Txt>{' '}\n <Txt as=\"span\" variant=\"ui-md\">\n {time}\n </Txt>\n </div>\n </Cell>\n );\n};\n\nexport interface EntryCellProps extends Omit<CellProps, 'children'> {\n name: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n meta?: React.ReactNode;\n}\n\nexport const EntryCell = ({ name, description, icon, meta, ...props }: EntryCellProps) => {\n return (\n <Cell {...props}>\n <div className=\"flex items-center gap-3.5\">\n {icon && (\n <Icon size=\"lg\" className=\"text-neutral5\">\n {icon}\n </Icon>\n )}\n\n <div className=\"flex flex-col gap-0\">\n <Txt as=\"span\" variant=\"ui-md\" className=\"text-neutral6 !leading-tight\">\n {name}\n </Txt>\n {description && (\n <Txt\n as=\"span\"\n variant=\"ui-xs\"\n className=\"text-neutral3 w-full max-w-dropdown-max-height truncate !leading-tight pt-1\"\n >\n {description}\n </Txt>\n )}\n </div>\n {meta}\n </div>\n </Cell>\n );\n};\n","import { useState, useCallback, useEffect } from 'react';\n\nexport interface UseTableKeyboardNavigationOptions {\n /** Number of items in the list */\n itemCount: number;\n /** Initial active index (-1 = none) */\n initialIndex?: number;\n /** Wrap around at boundaries */\n wrap?: boolean;\n /** Callback when Enter pressed on active row */\n onSelect?: (index: number) => void;\n /** When true, registers keyboard handlers globally on the document */\n global?: boolean;\n}\n\nexport interface UseTableKeyboardNavigationReturn {\n /** Currently active index (-1 if none) */\n activeIndex: number;\n /** Set active index programmatically */\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n /** Returns props to spread on the Tbody element. Returns null when global is true. */\n getKeyboardProps: () => { onKeyDown: (e: React.KeyboardEvent) => void; tabIndex: number } | null;\n}\n\nexport function useTableKeyboardNavigation({\n itemCount,\n initialIndex = -1,\n wrap = false,\n onSelect,\n global = false,\n}: UseTableKeyboardNavigationOptions): UseTableKeyboardNavigationReturn {\n const [activeIndex, setActiveIndex] = useState(initialIndex);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent | React.KeyboardEvent) => {\n // No-op for empty list\n if (itemCount === 0) return;\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return 0;\n if (prev >= itemCount - 1) {\n return wrap ? 0 : itemCount - 1;\n }\n return prev + 1;\n });\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return itemCount - 1;\n if (prev <= 0) {\n return wrap ? itemCount - 1 : 0;\n }\n return prev - 1;\n });\n break;\n }\n case 'Home': {\n e.preventDefault();\n setActiveIndex(0);\n break;\n }\n case 'End': {\n e.preventDefault();\n setActiveIndex(itemCount - 1);\n break;\n }\n case 'Enter': {\n if (activeIndex >= 0 && onSelect) {\n e.preventDefault();\n onSelect(activeIndex);\n }\n break;\n }\n }\n },\n [itemCount, wrap, activeIndex, onSelect],\n );\n\n // Register global keyboard handlers when global option is enabled\n useEffect(() => {\n if (!global) return;\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [global, handleKeyDown]);\n\n const getKeyboardProps = useCallback(() => {\n if (global) return null;\n return { onKeyDown: handleKeyDown as (e: React.KeyboardEvent) => void, tabIndex: 0 };\n }, [global, handleKeyDown]);\n\n return {\n activeIndex,\n setActiveIndex,\n getKeyboardProps,\n };\n}\n"],"names":["jsx","cn","forwardRef","useRef","useEffect","Txt","jsxs","Icon","useState","useCallback"],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef, useRef, useEffect, useState, useCallback } from 'react';
|
|
3
|
+
import { c as cn } from './utils-CzYGxqbG.js';
|
|
4
|
+
import { I as Icon } from './Icon-CJEjdbjB.js';
|
|
5
|
+
import { T as Txt } from './Txt-AhytBlTj.js';
|
|
6
|
+
|
|
7
|
+
const rowSize = {
|
|
8
|
+
default: "[&>tbody>tr]:h-table-row",
|
|
9
|
+
small: "[&>tbody>tr]:h-table-row-small"
|
|
10
|
+
};
|
|
11
|
+
const Table = ({ className, children, size = "default", style }) => {
|
|
12
|
+
return /* @__PURE__ */ jsx("table", { className: cn("w-full", rowSize[size], className), style, children });
|
|
13
|
+
};
|
|
14
|
+
const Thead = ({ className, children }) => {
|
|
15
|
+
return /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: cn("h-table-header border-b border-border1 bg-surface2/80", className), children }) });
|
|
16
|
+
};
|
|
17
|
+
const Th = ({ className, children, ...props }) => {
|
|
18
|
+
return /* @__PURE__ */ jsx(
|
|
19
|
+
"th",
|
|
20
|
+
{
|
|
21
|
+
className: cn(
|
|
22
|
+
"text-neutral2 text-ui-xs h-full whitespace-nowrap text-left font-medium uppercase tracking-wide first:pl-3 last:pr-3",
|
|
23
|
+
className
|
|
24
|
+
),
|
|
25
|
+
...props,
|
|
26
|
+
children
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
const Tbody = ({ className, children, ...props }) => {
|
|
31
|
+
return /* @__PURE__ */ jsx("tbody", { className: cn("", className), ...props, children });
|
|
32
|
+
};
|
|
33
|
+
const Row = forwardRef(
|
|
34
|
+
({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {
|
|
35
|
+
const internalRef = useRef(null);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!ref) return;
|
|
38
|
+
if (typeof ref === "function") {
|
|
39
|
+
ref(internalRef.current);
|
|
40
|
+
} else {
|
|
41
|
+
ref.current = internalRef.current;
|
|
42
|
+
}
|
|
43
|
+
}, [ref]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (isActive && internalRef.current) {
|
|
46
|
+
internalRef.current.focus();
|
|
47
|
+
internalRef.current.scrollIntoView({ block: "nearest" });
|
|
48
|
+
}
|
|
49
|
+
}, [isActive]);
|
|
50
|
+
const handleKeyDown = (event) => {
|
|
51
|
+
if (event.key === "Enter" && onClick) {
|
|
52
|
+
onClick();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
return /* @__PURE__ */ jsx(
|
|
56
|
+
"tr",
|
|
57
|
+
{
|
|
58
|
+
className: cn(
|
|
59
|
+
"border-b border-border1",
|
|
60
|
+
// Smooth hover transition
|
|
61
|
+
"transition-colors duration-normal ease-out-custom",
|
|
62
|
+
"hover:bg-surface3",
|
|
63
|
+
// Focus state
|
|
64
|
+
"focus:bg-surface3 focus:outline-hidden focus:ring-1 focus:ring-inset focus:ring-accent1/50",
|
|
65
|
+
selected && "bg-surface4",
|
|
66
|
+
onClick && "cursor-pointer",
|
|
67
|
+
className
|
|
68
|
+
),
|
|
69
|
+
style,
|
|
70
|
+
onClick,
|
|
71
|
+
ref: internalRef,
|
|
72
|
+
tabIndex: onClick ? 0 : void 0,
|
|
73
|
+
onKeyDown: handleKeyDown,
|
|
74
|
+
"data-active": isActive || void 0,
|
|
75
|
+
...props,
|
|
76
|
+
children
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
const formatDateCell = (date) => {
|
|
83
|
+
const month = new Intl.DateTimeFormat("en-US", { month: "short" }).format(date).toUpperCase();
|
|
84
|
+
const day = date.getDate();
|
|
85
|
+
const formattedDay = `${month} ${day}`;
|
|
86
|
+
const time = new Intl.DateTimeFormat("en-US", {
|
|
87
|
+
hour: "2-digit",
|
|
88
|
+
minute: "2-digit",
|
|
89
|
+
second: "2-digit",
|
|
90
|
+
hour12: false
|
|
91
|
+
// Use 24-hour format
|
|
92
|
+
}).format(date);
|
|
93
|
+
return { day: formattedDay, time };
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
const Cell = ({ className, children, ...props }) => {
|
|
97
|
+
return /* @__PURE__ */ jsx("td", { className: cn("text-neutral5 first:pl-3 last:pr-3", className), ...props, children: /* @__PURE__ */ jsx("div", { className: cn("flex h-full w-full shrink-0 items-center"), children }) });
|
|
98
|
+
};
|
|
99
|
+
const TxtCell = ({ className, children }) => {
|
|
100
|
+
return /* @__PURE__ */ jsx(Cell, { className, children: /* @__PURE__ */ jsx(Txt, { as: "span", variant: "ui-md", className: "w-full truncate", children }) });
|
|
101
|
+
};
|
|
102
|
+
const DateTimeCell = ({ dateTime, ...props }) => {
|
|
103
|
+
const { day, time } = formatDateCell(dateTime);
|
|
104
|
+
return /* @__PURE__ */ jsx(Cell, { ...props, children: /* @__PURE__ */ jsxs("div", { className: "shrink-0", children: [
|
|
105
|
+
/* @__PURE__ */ jsx(Txt, { as: "span", variant: "ui-sm", className: "text-neutral3", children: day }),
|
|
106
|
+
" ",
|
|
107
|
+
/* @__PURE__ */ jsx(Txt, { as: "span", variant: "ui-md", children: time })
|
|
108
|
+
] }) });
|
|
109
|
+
};
|
|
110
|
+
const EntryCell = ({ name, description, icon, meta, ...props }) => {
|
|
111
|
+
return /* @__PURE__ */ jsx(Cell, { ...props, children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3.5", children: [
|
|
112
|
+
icon && /* @__PURE__ */ jsx(Icon, { size: "lg", className: "text-neutral5", children: icon }),
|
|
113
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0", children: [
|
|
114
|
+
/* @__PURE__ */ jsx(Txt, { as: "span", variant: "ui-md", className: "text-neutral6 !leading-tight", children: name }),
|
|
115
|
+
description && /* @__PURE__ */ jsx(
|
|
116
|
+
Txt,
|
|
117
|
+
{
|
|
118
|
+
as: "span",
|
|
119
|
+
variant: "ui-xs",
|
|
120
|
+
className: "text-neutral3 w-full max-w-dropdown-max-height truncate !leading-tight pt-1",
|
|
121
|
+
children: description
|
|
122
|
+
}
|
|
123
|
+
)
|
|
124
|
+
] }),
|
|
125
|
+
meta
|
|
126
|
+
] }) });
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
function useTableKeyboardNavigation({
|
|
130
|
+
itemCount,
|
|
131
|
+
initialIndex = -1,
|
|
132
|
+
wrap = false,
|
|
133
|
+
onSelect,
|
|
134
|
+
global = false
|
|
135
|
+
}) {
|
|
136
|
+
const [activeIndex, setActiveIndex] = useState(initialIndex);
|
|
137
|
+
const handleKeyDown = useCallback(
|
|
138
|
+
(e) => {
|
|
139
|
+
if (itemCount === 0) return;
|
|
140
|
+
switch (e.key) {
|
|
141
|
+
case "ArrowDown": {
|
|
142
|
+
e.preventDefault();
|
|
143
|
+
setActiveIndex((prev) => {
|
|
144
|
+
if (prev === -1) return 0;
|
|
145
|
+
if (prev >= itemCount - 1) {
|
|
146
|
+
return wrap ? 0 : itemCount - 1;
|
|
147
|
+
}
|
|
148
|
+
return prev + 1;
|
|
149
|
+
});
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
case "ArrowUp": {
|
|
153
|
+
e.preventDefault();
|
|
154
|
+
setActiveIndex((prev) => {
|
|
155
|
+
if (prev === -1) return itemCount - 1;
|
|
156
|
+
if (prev <= 0) {
|
|
157
|
+
return wrap ? itemCount - 1 : 0;
|
|
158
|
+
}
|
|
159
|
+
return prev - 1;
|
|
160
|
+
});
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
case "Home": {
|
|
164
|
+
e.preventDefault();
|
|
165
|
+
setActiveIndex(0);
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
case "End": {
|
|
169
|
+
e.preventDefault();
|
|
170
|
+
setActiveIndex(itemCount - 1);
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
case "Enter": {
|
|
174
|
+
if (activeIndex >= 0 && onSelect) {
|
|
175
|
+
e.preventDefault();
|
|
176
|
+
onSelect(activeIndex);
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
[itemCount, wrap, activeIndex, onSelect]
|
|
183
|
+
);
|
|
184
|
+
useEffect(() => {
|
|
185
|
+
if (!global) return;
|
|
186
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
187
|
+
return () => {
|
|
188
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
189
|
+
};
|
|
190
|
+
}, [global, handleKeyDown]);
|
|
191
|
+
const getKeyboardProps = useCallback(() => {
|
|
192
|
+
if (global) return null;
|
|
193
|
+
return { onKeyDown: handleKeyDown, tabIndex: 0 };
|
|
194
|
+
}, [global, handleKeyDown]);
|
|
195
|
+
return {
|
|
196
|
+
activeIndex,
|
|
197
|
+
setActiveIndex,
|
|
198
|
+
getKeyboardProps
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export { Cell as C, DateTimeCell as D, EntryCell as E, Row as R, Table as T, Tbody as a, Th as b, Thead as c, TxtCell as d, useTableKeyboardNavigation as u };
|
|
203
|
+
//# sourceMappingURL=use-table-keyboard-navigation-TaCn1tec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-table-keyboard-navigation-TaCn1tec.js","sources":["../src/ds/components/Table/Table.tsx","../src/ds/components/Table/utils.ts","../src/ds/components/Table/Cells.tsx","../src/ds/components/Table/use-table-keyboard-navigation.ts"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, ReactNode, ThHTMLAttributes } from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface TableProps {\n className?: string;\n children: ReactNode;\n size?: 'default' | 'small';\n style?: CSSProperties;\n}\n\nconst rowSize = {\n default: '[&>tbody>tr]:h-table-row',\n small: '[&>tbody>tr]:h-table-row-small',\n};\n\nexport const Table = ({ className, children, size = 'default', style }: TableProps) => {\n return (\n <table className={cn('w-full', rowSize[size], className)} style={style}>\n {children}\n </table>\n );\n};\n\nexport interface TheadProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const Thead = ({ className, children }: TheadProps) => {\n return (\n <thead>\n <tr className={cn('h-table-header border-b border-border1 bg-surface2/80', className)}>{children}</tr>\n </thead>\n );\n};\n\nexport interface ThProps extends ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n style?: CSSProperties;\n children: ReactNode;\n}\n\nexport const Th = ({ className, children, ...props }: ThProps) => {\n return (\n <th\n className={cn(\n 'text-neutral2 text-ui-xs h-full whitespace-nowrap text-left font-medium uppercase tracking-wide first:pl-3 last:pr-3',\n className,\n )}\n {...props}\n >\n {children}\n </th>\n );\n};\n\nexport interface TbodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children: ReactNode;\n}\n\nexport const Tbody = ({ className, children, ...props }: TbodyProps) => {\n return (\n <tbody className={cn('', className)} {...props}>\n {children}\n </tbody>\n );\n};\n\nexport interface RowProps {\n className?: string;\n children: ReactNode;\n selected?: boolean;\n style?: CSSProperties;\n onClick?: () => void;\n tabIndex?: number;\n /** When true, row receives focus and scrolls into view */\n isActive?: boolean;\n}\n\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(\n ({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {\n const internalRef = useRef<HTMLTableRowElement>(null);\n\n // Merge forwarded ref with internal ref\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === 'function') {\n ref(internalRef.current);\n } else {\n ref.current = internalRef.current;\n }\n }, [ref]);\n\n // Focus and scroll into view when active\n useEffect(() => {\n if (isActive && internalRef.current) {\n internalRef.current.focus();\n internalRef.current.scrollIntoView({ block: 'nearest' });\n }\n }, [isActive]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' && onClick) {\n onClick();\n }\n };\n\n return (\n <tr\n className={cn(\n 'border-b border-border1',\n // Smooth hover transition\n 'transition-colors duration-normal ease-out-custom',\n 'hover:bg-surface3',\n // Focus state\n 'focus:bg-surface3 focus:outline-hidden focus:ring-1 focus:ring-inset focus:ring-accent1/50',\n selected && 'bg-surface4',\n onClick && 'cursor-pointer',\n className,\n )}\n style={style}\n onClick={onClick}\n ref={internalRef}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={handleKeyDown}\n data-active={isActive || undefined}\n {...props}\n >\n {children}\n </tr>\n );\n },\n);\n","export const formatDateCell = (date: Date) => {\n // Format the month as a short text representation\n const month = new Intl.DateTimeFormat('en-US', { month: 'short' }).format(date).toUpperCase();\n const day = date.getDate();\n\n const formattedDay = `${month} ${day}`;\n\n const time = new Intl.DateTimeFormat('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false, // Use 24-hour format\n }).format(date);\n\n return { day: formattedDay, time };\n};\n","import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Txt } from '../Txt';\nimport { formatDateCell } from './utils';\nimport { cn } from '@/lib/utils';\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children: React.ReactNode;\n}\n\nexport const Cell = ({ className, children, ...props }: CellProps) => {\n return (\n <td className={cn('text-neutral5 first:pl-3 last:pr-3', className)} {...props}>\n <div className={cn('flex h-full w-full shrink-0 items-center')}>{children}</div>\n </td>\n );\n};\n\nexport const TxtCell = ({ className, children }: CellProps) => {\n return (\n <Cell className={className}>\n <Txt as=\"span\" variant=\"ui-md\" className=\"w-full truncate\">\n {children}\n </Txt>\n </Cell>\n );\n};\n\nexport interface DateTimeCellProps extends Omit<CellProps, 'children'> {\n dateTime: Date;\n}\n\nexport const DateTimeCell = ({ dateTime, ...props }: DateTimeCellProps) => {\n const { day, time } = formatDateCell(dateTime);\n\n return (\n <Cell {...props}>\n <div className=\"shrink-0\">\n <Txt as=\"span\" variant=\"ui-sm\" className=\"text-neutral3\">\n {day}\n </Txt>{' '}\n <Txt as=\"span\" variant=\"ui-md\">\n {time}\n </Txt>\n </div>\n </Cell>\n );\n};\n\nexport interface EntryCellProps extends Omit<CellProps, 'children'> {\n name: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n meta?: React.ReactNode;\n}\n\nexport const EntryCell = ({ name, description, icon, meta, ...props }: EntryCellProps) => {\n return (\n <Cell {...props}>\n <div className=\"flex items-center gap-3.5\">\n {icon && (\n <Icon size=\"lg\" className=\"text-neutral5\">\n {icon}\n </Icon>\n )}\n\n <div className=\"flex flex-col gap-0\">\n <Txt as=\"span\" variant=\"ui-md\" className=\"text-neutral6 !leading-tight\">\n {name}\n </Txt>\n {description && (\n <Txt\n as=\"span\"\n variant=\"ui-xs\"\n className=\"text-neutral3 w-full max-w-dropdown-max-height truncate !leading-tight pt-1\"\n >\n {description}\n </Txt>\n )}\n </div>\n {meta}\n </div>\n </Cell>\n );\n};\n","import { useState, useCallback, useEffect } from 'react';\n\nexport interface UseTableKeyboardNavigationOptions {\n /** Number of items in the list */\n itemCount: number;\n /** Initial active index (-1 = none) */\n initialIndex?: number;\n /** Wrap around at boundaries */\n wrap?: boolean;\n /** Callback when Enter pressed on active row */\n onSelect?: (index: number) => void;\n /** When true, registers keyboard handlers globally on the document */\n global?: boolean;\n}\n\nexport interface UseTableKeyboardNavigationReturn {\n /** Currently active index (-1 if none) */\n activeIndex: number;\n /** Set active index programmatically */\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n /** Returns props to spread on the Tbody element. Returns null when global is true. */\n getKeyboardProps: () => { onKeyDown: (e: React.KeyboardEvent) => void; tabIndex: number } | null;\n}\n\nexport function useTableKeyboardNavigation({\n itemCount,\n initialIndex = -1,\n wrap = false,\n onSelect,\n global = false,\n}: UseTableKeyboardNavigationOptions): UseTableKeyboardNavigationReturn {\n const [activeIndex, setActiveIndex] = useState(initialIndex);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent | React.KeyboardEvent) => {\n // No-op for empty list\n if (itemCount === 0) return;\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return 0;\n if (prev >= itemCount - 1) {\n return wrap ? 0 : itemCount - 1;\n }\n return prev + 1;\n });\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return itemCount - 1;\n if (prev <= 0) {\n return wrap ? itemCount - 1 : 0;\n }\n return prev - 1;\n });\n break;\n }\n case 'Home': {\n e.preventDefault();\n setActiveIndex(0);\n break;\n }\n case 'End': {\n e.preventDefault();\n setActiveIndex(itemCount - 1);\n break;\n }\n case 'Enter': {\n if (activeIndex >= 0 && onSelect) {\n e.preventDefault();\n onSelect(activeIndex);\n }\n break;\n }\n }\n },\n [itemCount, wrap, activeIndex, onSelect],\n );\n\n // Register global keyboard handlers when global option is enabled\n useEffect(() => {\n if (!global) return;\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [global, handleKeyDown]);\n\n const getKeyboardProps = useCallback(() => {\n if (global) return null;\n return { onKeyDown: handleKeyDown as (e: React.KeyboardEvent) => void, tabIndex: 0 };\n }, [global, handleKeyDown]);\n\n return {\n activeIndex,\n setActiveIndex,\n getKeyboardProps,\n };\n}\n"],"names":[],"mappings":"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"}
|