@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,221 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const scrollArea = require('@base-ui/react/scroll-area');
|
|
5
|
+
const React = require('react');
|
|
6
|
+
const utils = require('./utils-vA5sWo9W.cjs');
|
|
7
|
+
|
|
8
|
+
function _interopNamespaceDefault(e) {
|
|
9
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
10
|
+
if (e) {
|
|
11
|
+
for (const k in e) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: () => e[k]
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
26
|
+
|
|
27
|
+
const SCROLL_END_THRESHOLD = 8;
|
|
28
|
+
const useAutoscroll = (ref, { enabled = true }) => {
|
|
29
|
+
const shouldScrollRef = React.useRef(enabled);
|
|
30
|
+
const scrollFrameRef = React.useRef(null);
|
|
31
|
+
const userScrollIntentRef = React.useRef(false);
|
|
32
|
+
const userScrollIntentTimeoutRef = React.useRef(null);
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
if (!enabled) return;
|
|
35
|
+
if (!ref?.current) return;
|
|
36
|
+
const area = ref.current;
|
|
37
|
+
const scrollToEnd = () => {
|
|
38
|
+
if (!shouldScrollRef.current) return;
|
|
39
|
+
if (scrollFrameRef.current !== null) {
|
|
40
|
+
cancelAnimationFrame(scrollFrameRef.current);
|
|
41
|
+
}
|
|
42
|
+
scrollFrameRef.current = requestAnimationFrame(() => {
|
|
43
|
+
if (shouldScrollRef.current) {
|
|
44
|
+
area.scrollTop = area.scrollHeight;
|
|
45
|
+
}
|
|
46
|
+
scrollFrameRef.current = null;
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const mutationObserver = new MutationObserver(scrollToEnd);
|
|
50
|
+
mutationObserver.observe(area, {
|
|
51
|
+
childList: true,
|
|
52
|
+
// observe direct children changes
|
|
53
|
+
subtree: true,
|
|
54
|
+
// observe all descendants
|
|
55
|
+
characterData: true
|
|
56
|
+
// observe text content changes
|
|
57
|
+
});
|
|
58
|
+
const resizeObserver = new ResizeObserver(scrollToEnd);
|
|
59
|
+
resizeObserver.observe(area);
|
|
60
|
+
const cancelPendingScroll = () => {
|
|
61
|
+
if (scrollFrameRef.current !== null) {
|
|
62
|
+
cancelAnimationFrame(scrollFrameRef.current);
|
|
63
|
+
scrollFrameRef.current = null;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const stopFollowing = () => {
|
|
67
|
+
shouldScrollRef.current = false;
|
|
68
|
+
cancelPendingScroll();
|
|
69
|
+
};
|
|
70
|
+
const registerUserScrollIntent = () => {
|
|
71
|
+
userScrollIntentRef.current = true;
|
|
72
|
+
if (userScrollIntentTimeoutRef.current !== null) {
|
|
73
|
+
window.clearTimeout(userScrollIntentTimeoutRef.current);
|
|
74
|
+
}
|
|
75
|
+
userScrollIntentTimeoutRef.current = window.setTimeout(() => {
|
|
76
|
+
userScrollIntentRef.current = false;
|
|
77
|
+
userScrollIntentTimeoutRef.current = null;
|
|
78
|
+
}, 250);
|
|
79
|
+
};
|
|
80
|
+
const handleWheel = (event) => {
|
|
81
|
+
registerUserScrollIntent();
|
|
82
|
+
if (event.deltaY < 0) {
|
|
83
|
+
stopFollowing();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const handleKeyDown = (event) => {
|
|
87
|
+
registerUserScrollIntent();
|
|
88
|
+
if (["ArrowUp", "PageUp", "Home"].includes(event.key)) {
|
|
89
|
+
stopFollowing();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const handleScroll = (e) => {
|
|
93
|
+
const scrollElement = e.target;
|
|
94
|
+
const currentPosition = scrollElement.scrollTop + scrollElement.clientHeight;
|
|
95
|
+
const totalHeight = scrollElement.scrollHeight;
|
|
96
|
+
const isAtEnd = currentPosition >= totalHeight - SCROLL_END_THRESHOLD;
|
|
97
|
+
if (isAtEnd) {
|
|
98
|
+
shouldScrollRef.current = true;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (userScrollIntentRef.current) {
|
|
102
|
+
shouldScrollRef.current = false;
|
|
103
|
+
cancelPendingScroll();
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
area.addEventListener("wheel", handleWheel, { passive: true });
|
|
107
|
+
area.addEventListener("touchmove", registerUserScrollIntent, { passive: true });
|
|
108
|
+
area.addEventListener("pointerdown", registerUserScrollIntent);
|
|
109
|
+
area.addEventListener("keydown", handleKeyDown);
|
|
110
|
+
area.addEventListener("scroll", handleScroll);
|
|
111
|
+
scrollToEnd();
|
|
112
|
+
return () => {
|
|
113
|
+
area.removeEventListener("wheel", handleWheel);
|
|
114
|
+
area.removeEventListener("touchmove", registerUserScrollIntent);
|
|
115
|
+
area.removeEventListener("pointerdown", registerUserScrollIntent);
|
|
116
|
+
area.removeEventListener("keydown", handleKeyDown);
|
|
117
|
+
area.removeEventListener("scroll", handleScroll);
|
|
118
|
+
mutationObserver.disconnect();
|
|
119
|
+
resizeObserver.disconnect();
|
|
120
|
+
cancelPendingScroll();
|
|
121
|
+
if (userScrollIntentTimeoutRef.current !== null) {
|
|
122
|
+
window.clearTimeout(userScrollIntentTimeoutRef.current);
|
|
123
|
+
userScrollIntentTimeoutRef.current = null;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}, [enabled, ref]);
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
function resolveMask(mask, orientation) {
|
|
130
|
+
if (mask === false) return { top: false, bottom: false, left: false, right: false };
|
|
131
|
+
const vertical = orientation === "vertical" || orientation === "both";
|
|
132
|
+
const horizontal = orientation === "horizontal" || orientation === "both";
|
|
133
|
+
const sides = { top: vertical, bottom: vertical, left: horizontal, right: horizontal };
|
|
134
|
+
if (mask === true || mask === void 0) return sides;
|
|
135
|
+
if (mask.y !== void 0) {
|
|
136
|
+
sides.top = mask.y;
|
|
137
|
+
sides.bottom = mask.y;
|
|
138
|
+
}
|
|
139
|
+
if (mask.x !== void 0) {
|
|
140
|
+
sides.left = mask.x;
|
|
141
|
+
sides.right = mask.x;
|
|
142
|
+
}
|
|
143
|
+
if (mask.top !== void 0) sides.top = mask.top;
|
|
144
|
+
if (mask.bottom !== void 0) sides.bottom = mask.bottom;
|
|
145
|
+
if (mask.left !== void 0) sides.left = mask.left;
|
|
146
|
+
if (mask.right !== void 0) sides.right = mask.right;
|
|
147
|
+
return sides;
|
|
148
|
+
}
|
|
149
|
+
function maskClasses(sides) {
|
|
150
|
+
return utils.cn(
|
|
151
|
+
sides.top && "data-[overflow-y-start]:mask-t-from-[calc(100%-2rem)]",
|
|
152
|
+
sides.bottom && "data-[overflow-y-end]:mask-b-from-[calc(100%-2rem)]",
|
|
153
|
+
sides.left && "data-[overflow-x-start]:mask-l-from-[calc(100%-2rem)]",
|
|
154
|
+
sides.right && "data-[overflow-x-end]:mask-r-from-[calc(100%-2rem)]"
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
const ScrollArea = React__namespace.forwardRef(
|
|
158
|
+
({
|
|
159
|
+
className,
|
|
160
|
+
children,
|
|
161
|
+
viewPortClassName,
|
|
162
|
+
maxHeight,
|
|
163
|
+
autoScroll = false,
|
|
164
|
+
orientation = "vertical",
|
|
165
|
+
mask,
|
|
166
|
+
showMask,
|
|
167
|
+
...props
|
|
168
|
+
}, ref) => {
|
|
169
|
+
const areaRef = React__namespace.useRef(null);
|
|
170
|
+
useAutoscroll(areaRef, { enabled: autoScroll });
|
|
171
|
+
const effectiveMask = mask !== void 0 ? mask : showMask;
|
|
172
|
+
const sides = resolveMask(effectiveMask, orientation);
|
|
173
|
+
const viewportStyle = {};
|
|
174
|
+
if (maxHeight) viewportStyle.maxHeight = maxHeight;
|
|
175
|
+
if (orientation === "vertical") {
|
|
176
|
+
viewportStyle.overflowX = "hidden";
|
|
177
|
+
viewportStyle.overflowY = "scroll";
|
|
178
|
+
} else if (orientation === "horizontal") {
|
|
179
|
+
viewportStyle.overflowX = "scroll";
|
|
180
|
+
viewportStyle.overflowY = "hidden";
|
|
181
|
+
}
|
|
182
|
+
const contentStyle = orientation === "vertical" ? { minWidth: "0px" } : orientation === "horizontal" ? { minHeight: "0px" } : void 0;
|
|
183
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(scrollArea.ScrollArea.Root, { ref, className: utils.cn("relative overflow-hidden", className), ...props, children: [
|
|
184
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
185
|
+
scrollArea.ScrollArea.Viewport,
|
|
186
|
+
{
|
|
187
|
+
ref: areaRef,
|
|
188
|
+
className: utils.cn("h-full w-full rounded-[inherit]", maskClasses(sides), viewPortClassName),
|
|
189
|
+
style: viewportStyle,
|
|
190
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea.Content, { style: contentStyle, children })
|
|
191
|
+
}
|
|
192
|
+
),
|
|
193
|
+
(orientation === "vertical" || orientation === "both") && /* @__PURE__ */ jsxRuntime.jsx(ScrollBar, { orientation: "vertical" }),
|
|
194
|
+
(orientation === "horizontal" || orientation === "both") && /* @__PURE__ */ jsxRuntime.jsx(ScrollBar, { orientation: "horizontal" }),
|
|
195
|
+
orientation === "both" && /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea.Corner, {})
|
|
196
|
+
] });
|
|
197
|
+
}
|
|
198
|
+
);
|
|
199
|
+
ScrollArea.displayName = "ScrollArea";
|
|
200
|
+
const ScrollBar = React__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
201
|
+
scrollArea.ScrollArea.Scrollbar,
|
|
202
|
+
{
|
|
203
|
+
ref,
|
|
204
|
+
orientation,
|
|
205
|
+
className: utils.cn(
|
|
206
|
+
"flex touch-none select-none transition-opacity duration-normal ease-out-custom",
|
|
207
|
+
"opacity-0 data-[hovering]:opacity-100 data-[scrolling]:opacity-100 data-[scrolling]:duration-0",
|
|
208
|
+
orientation === "vertical" && "h-full w-1.5 p-px",
|
|
209
|
+
orientation === "horizontal" && "h-1.5 w-full flex-col p-px",
|
|
210
|
+
className
|
|
211
|
+
),
|
|
212
|
+
...props,
|
|
213
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-neutral4/30 hover:bg-neutral4/60 transition-colors duration-normal" })
|
|
214
|
+
}
|
|
215
|
+
));
|
|
216
|
+
ScrollBar.displayName = "ScrollBar";
|
|
217
|
+
|
|
218
|
+
exports.ScrollArea = ScrollArea;
|
|
219
|
+
exports.ScrollBar = ScrollBar;
|
|
220
|
+
exports.useAutoscroll = useAutoscroll;
|
|
221
|
+
//# sourceMappingURL=scroll-area-KogxLVrV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-area-KogxLVrV.cjs","sources":["../src/hooks/use-autoscroll.tsx","../src/ds/components/ScrollArea/scroll-area.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nexport interface UseAutoscrollOptions {\n enabled?: boolean;\n}\n\nconst SCROLL_END_THRESHOLD = 8;\n\nexport const useAutoscroll = (ref: React.RefObject<HTMLElement | null>, { enabled = true }: UseAutoscrollOptions) => {\n const shouldScrollRef = useRef(enabled);\n const scrollFrameRef = useRef<number | null>(null);\n const userScrollIntentRef = useRef(false);\n const userScrollIntentTimeoutRef = useRef<number | null>(null);\n\n React.useEffect(() => {\n if (!enabled) return;\n if (!ref?.current) return;\n\n const area = ref.current;\n\n const scrollToEnd = () => {\n if (!shouldScrollRef.current) return;\n\n if (scrollFrameRef.current !== null) {\n cancelAnimationFrame(scrollFrameRef.current);\n }\n\n scrollFrameRef.current = requestAnimationFrame(() => {\n if (shouldScrollRef.current) {\n area.scrollTop = area.scrollHeight;\n }\n scrollFrameRef.current = null;\n });\n };\n\n const mutationObserver = new MutationObserver(scrollToEnd);\n\n mutationObserver.observe(area, {\n childList: true, // observe direct children changes\n subtree: true, // observe all descendants\n characterData: true, // observe text content changes\n });\n\n const resizeObserver = new ResizeObserver(scrollToEnd);\n resizeObserver.observe(area);\n\n const cancelPendingScroll = () => {\n if (scrollFrameRef.current !== null) {\n cancelAnimationFrame(scrollFrameRef.current);\n scrollFrameRef.current = null;\n }\n };\n\n const stopFollowing = () => {\n shouldScrollRef.current = false;\n cancelPendingScroll();\n };\n\n const registerUserScrollIntent = () => {\n userScrollIntentRef.current = true;\n\n if (userScrollIntentTimeoutRef.current !== null) {\n window.clearTimeout(userScrollIntentTimeoutRef.current);\n }\n\n userScrollIntentTimeoutRef.current = window.setTimeout(() => {\n userScrollIntentRef.current = false;\n userScrollIntentTimeoutRef.current = null;\n }, 250);\n };\n\n const handleWheel = (event: WheelEvent) => {\n registerUserScrollIntent();\n\n if (event.deltaY < 0) {\n stopFollowing();\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n registerUserScrollIntent();\n\n if (['ArrowUp', 'PageUp', 'Home'].includes(event.key)) {\n stopFollowing();\n }\n };\n\n const handleScroll = (e: Event) => {\n const scrollElement = e.target as HTMLElement;\n const currentPosition = scrollElement.scrollTop + scrollElement.clientHeight;\n const totalHeight = scrollElement.scrollHeight;\n const isAtEnd = currentPosition >= totalHeight - SCROLL_END_THRESHOLD;\n\n if (isAtEnd) {\n shouldScrollRef.current = true;\n return;\n }\n\n if (userScrollIntentRef.current) {\n shouldScrollRef.current = false;\n cancelPendingScroll();\n }\n };\n\n area.addEventListener('wheel', handleWheel, { passive: true });\n area.addEventListener('touchmove', registerUserScrollIntent, { passive: true });\n area.addEventListener('pointerdown', registerUserScrollIntent);\n area.addEventListener('keydown', handleKeyDown);\n area.addEventListener('scroll', handleScroll);\n scrollToEnd();\n\n return () => {\n area.removeEventListener('wheel', handleWheel);\n area.removeEventListener('touchmove', registerUserScrollIntent);\n area.removeEventListener('pointerdown', registerUserScrollIntent);\n area.removeEventListener('keydown', handleKeyDown);\n area.removeEventListener('scroll', handleScroll);\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n cancelPendingScroll();\n\n if (userScrollIntentTimeoutRef.current !== null) {\n window.clearTimeout(userScrollIntentTimeoutRef.current);\n userScrollIntentTimeoutRef.current = null;\n }\n };\n }, [enabled, ref]);\n};\n","import { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area';\nimport * as React from 'react';\n\nimport { useAutoscroll } from '@/hooks/use-autoscroll';\nimport { cn } from '@/lib/utils';\n\ntype Orientation = 'vertical' | 'horizontal' | 'both';\n\nexport type MaskSides = {\n top?: boolean;\n bottom?: boolean;\n left?: boolean;\n right?: boolean;\n /** Shorthand: sets both `left` and `right`. Per-side keys override. */\n x?: boolean;\n /** Shorthand: sets both `top` and `bottom`. Per-side keys override. */\n y?: boolean;\n};\n\n/**\n * - `true` / omitted: fade the edges that match `orientation`.\n * - `false`: no fade.\n * - object: per-side override on top of the orientation default.\n */\nexport type ScrollAreaMask = boolean | MaskSides;\n\nexport type ScrollAreaProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> & {\n viewPortClassName?: string;\n maxHeight?: string;\n autoScroll?: boolean;\n orientation?: Orientation;\n /** Fade content at the edges where it's clipped by overflow. Defaults to the axes matching `orientation`. */\n mask?: ScrollAreaMask;\n /** @deprecated Use `mask` instead. Retained for backward compatibility. */\n showMask?: boolean;\n};\n\ntype ResolvedMask = { top: boolean; bottom: boolean; left: boolean; right: boolean };\n\nfunction resolveMask(mask: ScrollAreaMask | undefined, orientation: Orientation): ResolvedMask {\n if (mask === false) return { top: false, bottom: false, left: false, right: false };\n\n const vertical = orientation === 'vertical' || orientation === 'both';\n const horizontal = orientation === 'horizontal' || orientation === 'both';\n const sides: ResolvedMask = { top: vertical, bottom: vertical, left: horizontal, right: horizontal };\n\n if (mask === true || mask === undefined) return sides;\n\n if (mask.y !== undefined) {\n sides.top = mask.y;\n sides.bottom = mask.y;\n }\n if (mask.x !== undefined) {\n sides.left = mask.x;\n sides.right = mask.x;\n }\n if (mask.top !== undefined) sides.top = mask.top;\n if (mask.bottom !== undefined) sides.bottom = mask.bottom;\n if (mask.left !== undefined) sides.left = mask.left;\n if (mask.right !== undefined) sides.right = mask.right;\n\n return sides;\n}\n\nfunction maskClasses(sides: ResolvedMask) {\n return cn(\n sides.top && 'data-[overflow-y-start]:mask-t-from-[calc(100%-2rem)]',\n sides.bottom && 'data-[overflow-y-end]:mask-b-from-[calc(100%-2rem)]',\n sides.left && 'data-[overflow-x-start]:mask-l-from-[calc(100%-2rem)]',\n sides.right && 'data-[overflow-x-end]:mask-r-from-[calc(100%-2rem)]',\n );\n}\n\nconst ScrollArea = React.forwardRef<HTMLDivElement, ScrollAreaProps>(\n (\n {\n className,\n children,\n viewPortClassName,\n maxHeight,\n autoScroll = false,\n orientation = 'vertical',\n mask,\n showMask,\n ...props\n },\n ref,\n ) => {\n const areaRef = React.useRef<HTMLDivElement>(null);\n useAutoscroll(areaRef, { enabled: autoScroll });\n\n const effectiveMask: ScrollAreaMask | undefined = mask !== undefined ? mask : showMask;\n const sides = resolveMask(effectiveMask, orientation);\n\n const viewportStyle: React.CSSProperties = {};\n if (maxHeight) viewportStyle.maxHeight = maxHeight;\n if (orientation === 'vertical') {\n viewportStyle.overflowX = 'hidden';\n viewportStyle.overflowY = 'scroll';\n } else if (orientation === 'horizontal') {\n viewportStyle.overflowX = 'scroll';\n viewportStyle.overflowY = 'hidden';\n }\n\n // Base UI's ScrollAreaContent forces `min-width: fit-content` so the\n // content can grow wider than the viewport (required for horizontal scroll\n // measurement). For vertical-only scroll we override it so children shrink\n // to the viewport width instead of forcing horizontal scroll.\n const contentStyle: React.CSSProperties | undefined =\n orientation === 'vertical'\n ? { minWidth: '0px' }\n : orientation === 'horizontal'\n ? { minHeight: '0px' }\n : undefined;\n\n return (\n <ScrollAreaPrimitive.Root ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport\n ref={areaRef}\n className={cn('h-full w-full rounded-[inherit]', maskClasses(sides), viewPortClassName)}\n style={viewportStyle}\n >\n <ScrollAreaPrimitive.Content style={contentStyle}>{children}</ScrollAreaPrimitive.Content>\n </ScrollAreaPrimitive.Viewport>\n {(orientation === 'vertical' || orientation === 'both') && <ScrollBar orientation=\"vertical\" />}\n {(orientation === 'horizontal' || orientation === 'both') && <ScrollBar orientation=\"horizontal\" />}\n {orientation === 'both' && <ScrollAreaPrimitive.Corner />}\n </ScrollAreaPrimitive.Root>\n );\n },\n);\nScrollArea.displayName = 'ScrollArea';\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Scrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.Scrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-opacity duration-normal ease-out-custom',\n 'opacity-0 data-[hovering]:opacity-100 data-[scrolling]:opacity-100 data-[scrolling]:duration-0',\n orientation === 'vertical' && 'h-full w-1.5 p-px',\n orientation === 'horizontal' && 'h-1.5 w-full flex-col p-px',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.Thumb className=\"relative flex-1 rounded-full bg-neutral4/30 hover:bg-neutral4/60 transition-colors duration-normal\" />\n </ScrollAreaPrimitive.Scrollbar>\n));\nScrollBar.displayName = 'ScrollBar';\n\nexport { ScrollArea, ScrollBar };\n"],"names":["useRef","cn","React","jsxs","ScrollAreaPrimitive","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useState, useEffect, useCallback } from 'react';
|
|
3
|
+
import { c as cn } from './utils-CzYGxqbG.js';
|
|
4
|
+
|
|
5
|
+
const INDICATOR_WIDTH = 40;
|
|
6
|
+
const INDICATOR_HEIGHT = 150;
|
|
7
|
+
const INDICATOR_SPACE = 10;
|
|
8
|
+
const ScrollableContainer = ({
|
|
9
|
+
className,
|
|
10
|
+
children,
|
|
11
|
+
scrollSpeed = 100,
|
|
12
|
+
scrollIntervalTime = 20
|
|
13
|
+
}) => {
|
|
14
|
+
const containerRef = useRef(null);
|
|
15
|
+
const scrollInterval = useRef(null);
|
|
16
|
+
const [containerHeight, setContainerHeight] = useState(0);
|
|
17
|
+
const [containerRight, setContainerRight] = useState(0);
|
|
18
|
+
const [containerTop, setContainerTop] = useState(0);
|
|
19
|
+
const [containerLeft, setContainerLeft] = useState(0);
|
|
20
|
+
const [showRightIndicator, setShowRightIndicator] = useState(false);
|
|
21
|
+
const [showLeftIndicator, setShowLeftIndicator] = useState(false);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const updatePositions = () => {
|
|
24
|
+
if (!containerRef.current) return;
|
|
25
|
+
const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
|
|
26
|
+
setShowRightIndicator(canScrollRight);
|
|
27
|
+
setContainerHeight(containerRef.current.clientHeight);
|
|
28
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
29
|
+
setContainerRight(rect.right);
|
|
30
|
+
setContainerLeft(rect.left);
|
|
31
|
+
setContainerTop(rect.top);
|
|
32
|
+
};
|
|
33
|
+
updatePositions();
|
|
34
|
+
const resizeObserver = new ResizeObserver(updatePositions);
|
|
35
|
+
if (containerRef.current) {
|
|
36
|
+
resizeObserver.observe(containerRef.current);
|
|
37
|
+
}
|
|
38
|
+
const handleScroll = () => {
|
|
39
|
+
if (!containerRef.current) return;
|
|
40
|
+
const canScrollLeft = containerRef.current.scrollLeft > 0;
|
|
41
|
+
const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
|
|
42
|
+
setShowLeftIndicator(canScrollLeft);
|
|
43
|
+
setShowRightIndicator(canScrollRight);
|
|
44
|
+
updatePositions();
|
|
45
|
+
};
|
|
46
|
+
containerRef?.current?.addEventListener("scroll", handleScroll);
|
|
47
|
+
const container = containerRef.current;
|
|
48
|
+
return () => {
|
|
49
|
+
if (container) {
|
|
50
|
+
resizeObserver.unobserve(container);
|
|
51
|
+
container.removeEventListener("scroll", handleScroll);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}, []);
|
|
55
|
+
const ScrollIndicator = ({
|
|
56
|
+
isVisible,
|
|
57
|
+
position,
|
|
58
|
+
containerHeight: containerHeight2,
|
|
59
|
+
containerTop: containerTop2,
|
|
60
|
+
containerRight: containerRight2,
|
|
61
|
+
onStartScrolling,
|
|
62
|
+
onStopScrolling
|
|
63
|
+
}) => {
|
|
64
|
+
if (!isVisible) return null;
|
|
65
|
+
const styles = {
|
|
66
|
+
top: containerHeight2 < INDICATOR_HEIGHT ? containerTop2 : containerTop2 + (containerHeight2 - INDICATOR_HEIGHT) / 2,
|
|
67
|
+
width: INDICATOR_WIDTH,
|
|
68
|
+
height: containerHeight2 < INDICATOR_HEIGHT ? `${containerHeight2}px` : `${INDICATOR_HEIGHT}px`
|
|
69
|
+
};
|
|
70
|
+
return /* @__PURE__ */ jsxs(
|
|
71
|
+
"button",
|
|
72
|
+
{
|
|
73
|
+
onMouseDown: onStartScrolling,
|
|
74
|
+
onTouchStart: onStartScrolling,
|
|
75
|
+
onMouseUp: onStopScrolling,
|
|
76
|
+
onTouchEnd: onStopScrolling,
|
|
77
|
+
onTouchCancel: onStopScrolling,
|
|
78
|
+
className: "bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white",
|
|
79
|
+
style: {
|
|
80
|
+
...styles,
|
|
81
|
+
left: position === "left" ? containerLeft + INDICATOR_SPACE : containerRight2 - INDICATOR_WIDTH - INDICATOR_SPACE
|
|
82
|
+
},
|
|
83
|
+
children: [
|
|
84
|
+
" ",
|
|
85
|
+
position === "left" ? "«" : "»"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
};
|
|
90
|
+
const startScrolling = useCallback(
|
|
91
|
+
(direction, e) => {
|
|
92
|
+
e?.preventDefault();
|
|
93
|
+
e?.stopPropagation();
|
|
94
|
+
if (scrollInterval.current) {
|
|
95
|
+
clearInterval(scrollInterval.current);
|
|
96
|
+
scrollInterval.current = null;
|
|
97
|
+
}
|
|
98
|
+
if (containerRef.current) {
|
|
99
|
+
containerRef.current.scrollBy({
|
|
100
|
+
left: direction === "right" ? scrollSpeed * 2 : -scrollSpeed * 2,
|
|
101
|
+
behavior: "smooth"
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
scrollInterval.current = setInterval(() => {
|
|
105
|
+
if (containerRef.current) {
|
|
106
|
+
containerRef.current.scrollBy({
|
|
107
|
+
left: direction === "right" ? scrollSpeed : -scrollSpeed,
|
|
108
|
+
behavior: "smooth"
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}, scrollIntervalTime);
|
|
112
|
+
},
|
|
113
|
+
[scrollSpeed, scrollIntervalTime]
|
|
114
|
+
);
|
|
115
|
+
const stopScrolling = useCallback(() => {
|
|
116
|
+
if (scrollInterval.current) {
|
|
117
|
+
clearInterval(scrollInterval.current);
|
|
118
|
+
scrollInterval.current = null;
|
|
119
|
+
}
|
|
120
|
+
}, []);
|
|
121
|
+
return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: cn("relative max-h-full overflow-auto", className), children: [
|
|
122
|
+
children,
|
|
123
|
+
/* @__PURE__ */ jsx(
|
|
124
|
+
ScrollIndicator,
|
|
125
|
+
{
|
|
126
|
+
isVisible: showLeftIndicator,
|
|
127
|
+
position: "left",
|
|
128
|
+
containerHeight,
|
|
129
|
+
containerTop,
|
|
130
|
+
containerRight,
|
|
131
|
+
onStartScrolling: (e) => startScrolling("left", e),
|
|
132
|
+
onStopScrolling: stopScrolling
|
|
133
|
+
}
|
|
134
|
+
),
|
|
135
|
+
/* @__PURE__ */ jsx(
|
|
136
|
+
ScrollIndicator,
|
|
137
|
+
{
|
|
138
|
+
isVisible: showRightIndicator,
|
|
139
|
+
position: "right",
|
|
140
|
+
containerHeight,
|
|
141
|
+
containerTop,
|
|
142
|
+
containerRight,
|
|
143
|
+
onStartScrolling: (e) => startScrolling("right", e),
|
|
144
|
+
onStopScrolling: stopScrolling
|
|
145
|
+
}
|
|
146
|
+
)
|
|
147
|
+
] });
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export { ScrollableContainer as S };
|
|
151
|
+
//# sourceMappingURL=scrollable-container-BqOFHwdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollable-container-BqOFHwdb.js","sources":["../src/ds/components/ScrollableContainer/scrollable-container.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect, useCallback } from 'react';\nimport { cn } from '@/lib/utils';\n\nconst INDICATOR_WIDTH = 40;\nconst INDICATOR_HEIGHT = 150;\nconst INDICATOR_SPACE = 10;\n\nexport type ScrollableContainerProps = {\n className?: string;\n children: React.ReactNode;\n scrollSpeed?: number; // Optional prop to set scroll speed (pixels per interval)\n scrollIntervalTime?: number; // Optional prop to set scroll interval time (ms)\n};\n\nexport const ScrollableContainer = ({\n className,\n children,\n scrollSpeed = 100,\n scrollIntervalTime = 20,\n}: ScrollableContainerProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollInterval = useRef<ReturnType<typeof setInterval> | null>(null);\n\n const [containerHeight, setContainerHeight] = useState(0);\n const [containerRight, setContainerRight] = useState(0);\n const [containerTop, setContainerTop] = useState(0);\n const [containerLeft, setContainerLeft] = useState(0);\n const [showRightIndicator, setShowRightIndicator] = useState(false);\n const [showLeftIndicator, setShowLeftIndicator] = useState(false);\n\n useEffect(() => {\n const updatePositions = () => {\n if (!containerRef.current) return;\n\n // Update container dimensions\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n setShowRightIndicator(canScrollRight);\n setContainerHeight(containerRef.current.clientHeight);\n\n // Calculate container's edges relative to viewport\n const rect = containerRef.current.getBoundingClientRect();\n setContainerRight(rect.right);\n setContainerLeft(rect.left);\n setContainerTop(rect.top);\n };\n\n // Initial update\n updatePositions();\n\n // Observe resize\n const resizeObserver = new ResizeObserver(updatePositions);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n // Handle scroll\n const handleScroll = () => {\n if (!containerRef.current) return;\n\n // Check if we can scroll in either direction\n const canScrollLeft = containerRef.current.scrollLeft > 0;\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n\n // Update indicator states\n setShowLeftIndicator(canScrollLeft);\n setShowRightIndicator(canScrollRight);\n\n // Update positions\n updatePositions();\n };\n\n // Add scroll listener\n containerRef?.current?.addEventListener('scroll', handleScroll);\n\n const container = containerRef.current;\n\n return () => {\n if (container) {\n resizeObserver.unobserve(container);\n container.removeEventListener('scroll', handleScroll);\n }\n };\n }, []);\n\n const ScrollIndicator = ({\n isVisible,\n position,\n containerHeight,\n containerTop,\n containerRight,\n onStartScrolling,\n onStopScrolling,\n }: {\n isVisible: boolean;\n position: 'left' | 'right';\n containerHeight: number;\n containerTop: number;\n containerRight: number;\n onStartScrolling: (e: React.MouseEvent | React.TouchEvent) => void;\n onStopScrolling: () => void;\n }) => {\n if (!isVisible) return null;\n\n const styles = {\n top: containerHeight < INDICATOR_HEIGHT ? containerTop : containerTop + (containerHeight - INDICATOR_HEIGHT) / 2,\n width: INDICATOR_WIDTH,\n height: containerHeight < INDICATOR_HEIGHT ? `${containerHeight}px` : `${INDICATOR_HEIGHT}px`,\n } as const;\n\n return (\n <button\n onMouseDown={onStartScrolling}\n onTouchStart={onStartScrolling}\n onMouseUp={onStopScrolling}\n onTouchEnd={onStopScrolling}\n onTouchCancel={onStopScrolling}\n className=\"bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white\"\n style={{\n ...styles,\n left:\n position === 'left' ? containerLeft + INDICATOR_SPACE : containerRight - INDICATOR_WIDTH - INDICATOR_SPACE,\n }}\n >\n {' '}\n {position === 'left' ? '«' : '»'}\n </button>\n );\n };\n\n const startScrolling = useCallback(\n (direction: 'left' | 'right', e?: React.MouseEvent | React.TouchEvent) => {\n // Prevent default to avoid any text selection or other default behaviors\n e?.preventDefault();\n e?.stopPropagation();\n\n // Clear any existing interval to prevent duplicates\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n\n // Initial scroll to handle the first click immediately\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed * 2 : -scrollSpeed * 2,\n behavior: 'smooth',\n });\n }\n\n // Then start the interval for continuous scrolling\n scrollInterval.current = setInterval(() => {\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed : -scrollSpeed,\n behavior: 'smooth',\n });\n }\n }, scrollIntervalTime);\n },\n [scrollSpeed, scrollIntervalTime],\n );\n\n const stopScrolling = useCallback(() => {\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n }, []);\n\n return (\n <div ref={containerRef} className={cn('relative max-h-full overflow-auto', className)}>\n {children}\n <ScrollIndicator\n isVisible={showLeftIndicator}\n position=\"left\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('left', e)}\n onStopScrolling={stopScrolling}\n />\n <ScrollIndicator\n isVisible={showRightIndicator}\n position=\"right\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('right', e)}\n onStopScrolling={stopScrolling}\n />\n </div>\n );\n};\n"],"names":["containerHeight","containerTop","containerRight"],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const React = require('react');
|
|
5
|
+
const utils = require('./utils-vA5sWo9W.cjs');
|
|
6
|
+
|
|
7
|
+
const INDICATOR_WIDTH = 40;
|
|
8
|
+
const INDICATOR_HEIGHT = 150;
|
|
9
|
+
const INDICATOR_SPACE = 10;
|
|
10
|
+
const ScrollableContainer = ({
|
|
11
|
+
className,
|
|
12
|
+
children,
|
|
13
|
+
scrollSpeed = 100,
|
|
14
|
+
scrollIntervalTime = 20
|
|
15
|
+
}) => {
|
|
16
|
+
const containerRef = React.useRef(null);
|
|
17
|
+
const scrollInterval = React.useRef(null);
|
|
18
|
+
const [containerHeight, setContainerHeight] = React.useState(0);
|
|
19
|
+
const [containerRight, setContainerRight] = React.useState(0);
|
|
20
|
+
const [containerTop, setContainerTop] = React.useState(0);
|
|
21
|
+
const [containerLeft, setContainerLeft] = React.useState(0);
|
|
22
|
+
const [showRightIndicator, setShowRightIndicator] = React.useState(false);
|
|
23
|
+
const [showLeftIndicator, setShowLeftIndicator] = React.useState(false);
|
|
24
|
+
React.useEffect(() => {
|
|
25
|
+
const updatePositions = () => {
|
|
26
|
+
if (!containerRef.current) return;
|
|
27
|
+
const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
|
|
28
|
+
setShowRightIndicator(canScrollRight);
|
|
29
|
+
setContainerHeight(containerRef.current.clientHeight);
|
|
30
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
31
|
+
setContainerRight(rect.right);
|
|
32
|
+
setContainerLeft(rect.left);
|
|
33
|
+
setContainerTop(rect.top);
|
|
34
|
+
};
|
|
35
|
+
updatePositions();
|
|
36
|
+
const resizeObserver = new ResizeObserver(updatePositions);
|
|
37
|
+
if (containerRef.current) {
|
|
38
|
+
resizeObserver.observe(containerRef.current);
|
|
39
|
+
}
|
|
40
|
+
const handleScroll = () => {
|
|
41
|
+
if (!containerRef.current) return;
|
|
42
|
+
const canScrollLeft = containerRef.current.scrollLeft > 0;
|
|
43
|
+
const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
|
|
44
|
+
setShowLeftIndicator(canScrollLeft);
|
|
45
|
+
setShowRightIndicator(canScrollRight);
|
|
46
|
+
updatePositions();
|
|
47
|
+
};
|
|
48
|
+
containerRef?.current?.addEventListener("scroll", handleScroll);
|
|
49
|
+
const container = containerRef.current;
|
|
50
|
+
return () => {
|
|
51
|
+
if (container) {
|
|
52
|
+
resizeObserver.unobserve(container);
|
|
53
|
+
container.removeEventListener("scroll", handleScroll);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}, []);
|
|
57
|
+
const ScrollIndicator = ({
|
|
58
|
+
isVisible,
|
|
59
|
+
position,
|
|
60
|
+
containerHeight: containerHeight2,
|
|
61
|
+
containerTop: containerTop2,
|
|
62
|
+
containerRight: containerRight2,
|
|
63
|
+
onStartScrolling,
|
|
64
|
+
onStopScrolling
|
|
65
|
+
}) => {
|
|
66
|
+
if (!isVisible) return null;
|
|
67
|
+
const styles = {
|
|
68
|
+
top: containerHeight2 < INDICATOR_HEIGHT ? containerTop2 : containerTop2 + (containerHeight2 - INDICATOR_HEIGHT) / 2,
|
|
69
|
+
width: INDICATOR_WIDTH,
|
|
70
|
+
height: containerHeight2 < INDICATOR_HEIGHT ? `${containerHeight2}px` : `${INDICATOR_HEIGHT}px`
|
|
71
|
+
};
|
|
72
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
73
|
+
"button",
|
|
74
|
+
{
|
|
75
|
+
onMouseDown: onStartScrolling,
|
|
76
|
+
onTouchStart: onStartScrolling,
|
|
77
|
+
onMouseUp: onStopScrolling,
|
|
78
|
+
onTouchEnd: onStopScrolling,
|
|
79
|
+
onTouchCancel: onStopScrolling,
|
|
80
|
+
className: "bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white",
|
|
81
|
+
style: {
|
|
82
|
+
...styles,
|
|
83
|
+
left: position === "left" ? containerLeft + INDICATOR_SPACE : containerRight2 - INDICATOR_WIDTH - INDICATOR_SPACE
|
|
84
|
+
},
|
|
85
|
+
children: [
|
|
86
|
+
" ",
|
|
87
|
+
position === "left" ? "«" : "»"
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
};
|
|
92
|
+
const startScrolling = React.useCallback(
|
|
93
|
+
(direction, e) => {
|
|
94
|
+
e?.preventDefault();
|
|
95
|
+
e?.stopPropagation();
|
|
96
|
+
if (scrollInterval.current) {
|
|
97
|
+
clearInterval(scrollInterval.current);
|
|
98
|
+
scrollInterval.current = null;
|
|
99
|
+
}
|
|
100
|
+
if (containerRef.current) {
|
|
101
|
+
containerRef.current.scrollBy({
|
|
102
|
+
left: direction === "right" ? scrollSpeed * 2 : -scrollSpeed * 2,
|
|
103
|
+
behavior: "smooth"
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
scrollInterval.current = setInterval(() => {
|
|
107
|
+
if (containerRef.current) {
|
|
108
|
+
containerRef.current.scrollBy({
|
|
109
|
+
left: direction === "right" ? scrollSpeed : -scrollSpeed,
|
|
110
|
+
behavior: "smooth"
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}, scrollIntervalTime);
|
|
114
|
+
},
|
|
115
|
+
[scrollSpeed, scrollIntervalTime]
|
|
116
|
+
);
|
|
117
|
+
const stopScrolling = React.useCallback(() => {
|
|
118
|
+
if (scrollInterval.current) {
|
|
119
|
+
clearInterval(scrollInterval.current);
|
|
120
|
+
scrollInterval.current = null;
|
|
121
|
+
}
|
|
122
|
+
}, []);
|
|
123
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: utils.cn("relative max-h-full overflow-auto", className), children: [
|
|
124
|
+
children,
|
|
125
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
126
|
+
ScrollIndicator,
|
|
127
|
+
{
|
|
128
|
+
isVisible: showLeftIndicator,
|
|
129
|
+
position: "left",
|
|
130
|
+
containerHeight,
|
|
131
|
+
containerTop,
|
|
132
|
+
containerRight,
|
|
133
|
+
onStartScrolling: (e) => startScrolling("left", e),
|
|
134
|
+
onStopScrolling: stopScrolling
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
138
|
+
ScrollIndicator,
|
|
139
|
+
{
|
|
140
|
+
isVisible: showRightIndicator,
|
|
141
|
+
position: "right",
|
|
142
|
+
containerHeight,
|
|
143
|
+
containerTop,
|
|
144
|
+
containerRight,
|
|
145
|
+
onStartScrolling: (e) => startScrolling("right", e),
|
|
146
|
+
onStopScrolling: stopScrolling
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
] });
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
exports.ScrollableContainer = ScrollableContainer;
|
|
153
|
+
//# sourceMappingURL=scrollable-container-Btq-TfCL.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollable-container-Btq-TfCL.cjs","sources":["../src/ds/components/ScrollableContainer/scrollable-container.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect, useCallback } from 'react';\nimport { cn } from '@/lib/utils';\n\nconst INDICATOR_WIDTH = 40;\nconst INDICATOR_HEIGHT = 150;\nconst INDICATOR_SPACE = 10;\n\nexport type ScrollableContainerProps = {\n className?: string;\n children: React.ReactNode;\n scrollSpeed?: number; // Optional prop to set scroll speed (pixels per interval)\n scrollIntervalTime?: number; // Optional prop to set scroll interval time (ms)\n};\n\nexport const ScrollableContainer = ({\n className,\n children,\n scrollSpeed = 100,\n scrollIntervalTime = 20,\n}: ScrollableContainerProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollInterval = useRef<ReturnType<typeof setInterval> | null>(null);\n\n const [containerHeight, setContainerHeight] = useState(0);\n const [containerRight, setContainerRight] = useState(0);\n const [containerTop, setContainerTop] = useState(0);\n const [containerLeft, setContainerLeft] = useState(0);\n const [showRightIndicator, setShowRightIndicator] = useState(false);\n const [showLeftIndicator, setShowLeftIndicator] = useState(false);\n\n useEffect(() => {\n const updatePositions = () => {\n if (!containerRef.current) return;\n\n // Update container dimensions\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n setShowRightIndicator(canScrollRight);\n setContainerHeight(containerRef.current.clientHeight);\n\n // Calculate container's edges relative to viewport\n const rect = containerRef.current.getBoundingClientRect();\n setContainerRight(rect.right);\n setContainerLeft(rect.left);\n setContainerTop(rect.top);\n };\n\n // Initial update\n updatePositions();\n\n // Observe resize\n const resizeObserver = new ResizeObserver(updatePositions);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n // Handle scroll\n const handleScroll = () => {\n if (!containerRef.current) return;\n\n // Check if we can scroll in either direction\n const canScrollLeft = containerRef.current.scrollLeft > 0;\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n\n // Update indicator states\n setShowLeftIndicator(canScrollLeft);\n setShowRightIndicator(canScrollRight);\n\n // Update positions\n updatePositions();\n };\n\n // Add scroll listener\n containerRef?.current?.addEventListener('scroll', handleScroll);\n\n const container = containerRef.current;\n\n return () => {\n if (container) {\n resizeObserver.unobserve(container);\n container.removeEventListener('scroll', handleScroll);\n }\n };\n }, []);\n\n const ScrollIndicator = ({\n isVisible,\n position,\n containerHeight,\n containerTop,\n containerRight,\n onStartScrolling,\n onStopScrolling,\n }: {\n isVisible: boolean;\n position: 'left' | 'right';\n containerHeight: number;\n containerTop: number;\n containerRight: number;\n onStartScrolling: (e: React.MouseEvent | React.TouchEvent) => void;\n onStopScrolling: () => void;\n }) => {\n if (!isVisible) return null;\n\n const styles = {\n top: containerHeight < INDICATOR_HEIGHT ? containerTop : containerTop + (containerHeight - INDICATOR_HEIGHT) / 2,\n width: INDICATOR_WIDTH,\n height: containerHeight < INDICATOR_HEIGHT ? `${containerHeight}px` : `${INDICATOR_HEIGHT}px`,\n } as const;\n\n return (\n <button\n onMouseDown={onStartScrolling}\n onTouchStart={onStartScrolling}\n onMouseUp={onStopScrolling}\n onTouchEnd={onStopScrolling}\n onTouchCancel={onStopScrolling}\n className=\"bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white\"\n style={{\n ...styles,\n left:\n position === 'left' ? containerLeft + INDICATOR_SPACE : containerRight - INDICATOR_WIDTH - INDICATOR_SPACE,\n }}\n >\n {' '}\n {position === 'left' ? '«' : '»'}\n </button>\n );\n };\n\n const startScrolling = useCallback(\n (direction: 'left' | 'right', e?: React.MouseEvent | React.TouchEvent) => {\n // Prevent default to avoid any text selection or other default behaviors\n e?.preventDefault();\n e?.stopPropagation();\n\n // Clear any existing interval to prevent duplicates\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n\n // Initial scroll to handle the first click immediately\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed * 2 : -scrollSpeed * 2,\n behavior: 'smooth',\n });\n }\n\n // Then start the interval for continuous scrolling\n scrollInterval.current = setInterval(() => {\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed : -scrollSpeed,\n behavior: 'smooth',\n });\n }\n }, scrollIntervalTime);\n },\n [scrollSpeed, scrollIntervalTime],\n );\n\n const stopScrolling = useCallback(() => {\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n }, []);\n\n return (\n <div ref={containerRef} className={cn('relative max-h-full overflow-auto', className)}>\n {children}\n <ScrollIndicator\n isVisible={showLeftIndicator}\n position=\"left\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('left', e)}\n onStopScrolling={stopScrolling}\n />\n <ScrollIndicator\n isVisible={showRightIndicator}\n position=\"right\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('right', e)}\n onStopScrolling={stopScrolling}\n />\n </div>\n );\n};\n"],"names":["useRef","useState","useEffect","containerHeight","containerTop","containerRight","jsxs","useCallback","cn","jsx"],"mappings":"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"}
|