@mastra/playground-ui 33.0.0-alpha.3 → 33.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +344 -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/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 +19 -8
- package/theme.css +412 -0
- package/dist/vite.config.d.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-filter-creator-CnuA0Otn.js","sources":["../src/ds/components/PropertyFilter/property-filter-actions.tsx","../src/ds/components/PropertyFilter/pick-multi-panel.tsx","../src/ds/components/PropertyFilter/property-filter-applied.tsx","../src/ds/components/PropertyFilter/property-filter-creator.tsx"],"sourcesContent":["import { EllipsisVerticalIcon, SaveIcon, Trash2Icon, XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button/Button';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu/dropdown-menu';\n\nexport type PropertyFilterActionsProps = {\n disabled?: boolean;\n /** Neutralize each pill's value (keep pills, clear values). Shown as a button, not a menu item. */\n onClear?: () => void;\n /** Fully remove all active filters. Rendered as \"Remove all filters\" inside the overflow menu. */\n onRemoveAll?: () => void;\n /** Persist the current filter set (typically to localStorage) for later restoration. */\n onSave?: () => void;\n /** Drop a previously-saved filter set. Wire only when a saved set actually exists. */\n onRemoveSaved?: () => void;\n};\n\n/**\n * Shared action bar for filter-driven pages (traces, logs, …). Renders a\n * Clear button and an overflow menu with Remove all / Save / Remove saved actions.\n */\nexport function PropertyFilterActions({\n disabled,\n onClear,\n onRemoveAll,\n onSave,\n onRemoveSaved,\n}: PropertyFilterActionsProps) {\n const hasMenuItems = !!(onRemoveAll || onSave || onRemoveSaved);\n const showClear = !!onClear;\n if (!showClear && !hasMenuItems) return null;\n\n return (\n <div className=\"flex items-center gap-2\">\n {showClear && (\n <Button disabled={disabled} size=\"md\" onClick={() => onClear!()}>\n <XIcon />\n Clear\n </Button>\n )}\n\n {hasMenuItems && (\n <DropdownMenu>\n <DropdownMenu.Trigger asChild>\n <Button disabled={disabled} size=\"md\" aria-label=\"More filter actions\">\n <EllipsisVerticalIcon />\n </Button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"end\">\n {onRemoveAll && (\n <DropdownMenu.Item onSelect={() => onRemoveAll()}>\n <XIcon />\n Remove all filters\n </DropdownMenu.Item>\n )}\n {onRemoveAll && (onSave || onRemoveSaved) && <DropdownMenu.Separator />}\n {onSave && (\n <DropdownMenu.Item onSelect={() => onSave()}>\n <SaveIcon />\n Save filters for next time\n </DropdownMenu.Item>\n )}\n {onRemoveSaved && (\n <DropdownMenu.Item onSelect={() => onRemoveSaved()}>\n <Trash2Icon />\n Remove saved filters\n </DropdownMenu.Item>\n )}\n </DropdownMenu.Content>\n </DropdownMenu>\n )}\n </div>\n );\n}\n","import { useMemo, useState } from 'react';\nimport type { PropertyFilterField, PropertyFilterToken } from './types';\nimport { Checkbox } from '@/ds/components/Checkbox';\nimport { Input } from '@/ds/components/Input';\nimport { RadioGroup, RadioGroupItem } from '@/ds/components/RadioGroup';\nimport { Spinner } from '@/ds/components/Spinner/spinner';\n\ntype PickMultiField = Extract<PropertyFilterField, { kind: 'pick-multi' }>;\n\nexport type PickMultiPanelProps = {\n field: PickMultiField;\n tokens: PropertyFilterToken[];\n onChange: (fieldId: string, value: string | string[] | undefined) => void;\n};\n\n/**\n * Reusable body for a pick-multi side popover: optional search input plus a\n * radio group (single-select) or checkbox list (when `field.multi` is true).\n * Shared between the Filter Creator's property-picker side popover and the\n * PropertyFilterApplied pill's inline editor so both surfaces use the exact same UI.\n */\nexport function PickMultiPanel({ field, tokens, onChange }: PickMultiPanelProps) {\n const [query, setQuery] = useState('');\n\n const filteredOptions = useMemo(() => {\n const q = query.trim().toLowerCase();\n if (!q) return field.options;\n return field.options.filter(o => o.label.toLowerCase().includes(q));\n }, [field.options, query]);\n\n const token = useMemo(() => tokens.find(t => t.fieldId === field.id), [tokens, field.id]);\n // Fall back to `defaultValue` when no token exists — lets view-toggle fields (e.g. List mode)\n // show their default option pre-selected before the user explicitly picks one.\n const selectedValue = typeof token?.value === 'string' ? token.value : !field.multi ? field.defaultValue : undefined;\n const selectedValues = useMemo<string[]>(() => {\n if (Array.isArray(token?.value)) return token!.value as string[];\n if (typeof token?.value === 'string') return [token.value];\n return [];\n }, [token]);\n\n return (\n <>\n {field.searchable !== false && (\n <Input\n size=\"sm\"\n value={query}\n onChange={e => setQuery(e.target.value)}\n placeholder={`Search ${field.label.toLowerCase()}...`}\n className=\"mb-2\"\n onKeyDown={e => {\n if (e.key !== 'ArrowDown') return;\n const panel = e.currentTarget.closest<HTMLElement>('[data-pick-multi-panel]');\n const first = panel?.querySelector<HTMLElement>('[data-pick-multi-item]:not([disabled])');\n if (!first) return;\n e.preventDefault();\n e.stopPropagation();\n first.focus();\n }}\n />\n )}\n\n {field.isLoading ? (\n <div className=\"flex items-center gap-2 px-2 py-1.5 text-ui-sm text-neutral3\">\n <Spinner size=\"sm\" className=\"size-3 text-neutral3\" />\n Loading options…\n </div>\n ) : filteredOptions.length === 0 ? (\n <div className=\"px-2 py-1.5 text-ui-sm text-neutral3\">{field.emptyText ?? 'No option found.'}</div>\n ) : field.multi ? (\n <div className=\"max-h-[80dvh] overflow-auto\">\n {filteredOptions.map(option => {\n const checked = selectedValues.includes(option.value);\n return (\n <label\n key={option.value}\n title={option.label}\n className=\"flex items-center gap-2 rounded-md px-2 py-1.5 text-ui-md text-neutral4 hover:bg-surface4 hover:text-neutral6 cursor-pointer focus-within:bg-surface4 focus-within:text-neutral6 min-w-0\"\n >\n <Checkbox\n data-pick-multi-item=\"\"\n checked={checked}\n onCheckedChange={next => {\n const isChecked = next === true;\n const nextValues = isChecked\n ? selectedValues.includes(option.value)\n ? selectedValues\n : [...selectedValues, option.value]\n : selectedValues.filter(v => v !== option.value);\n onChange(field.id, nextValues);\n }}\n className=\"shrink-0\"\n />\n <span className=\"truncate min-w-0 flex-1\">{option.label}</span>\n </label>\n );\n })}\n </div>\n ) : (\n <RadioGroup\n value={selectedValue ?? ''}\n onValueChange={value => onChange(field.id, value)}\n className=\"max-h-[80dvh] gap-0 overflow-auto\"\n >\n {filteredOptions.map(option => (\n <label\n key={option.value}\n title={option.label}\n className=\"flex items-center gap-2 rounded-md px-2 py-1.5 text-ui-md text-neutral4 hover:bg-surface4 hover:text-neutral6 cursor-pointer focus-within:bg-surface4 focus-within:text-neutral6 min-w-0\"\n >\n <RadioGroupItem data-pick-multi-item=\"\" value={option.value} className=\"shrink-0\" />\n <span className=\"truncate min-w-0 flex-1\">{option.label}</span>\n </label>\n ))}\n {!field.omitAnyOption && (\n <label\n title=\"Any\"\n className=\"flex items-center gap-2 rounded-md px-2 py-1.5 text-ui-md text-neutral4 hover:bg-surface4 hover:text-neutral6 cursor-pointer focus-within:bg-surface4 focus-within:text-neutral6 min-w-0\"\n >\n <RadioGroupItem data-pick-multi-item=\"\" value=\"Any\" className=\"shrink-0\" />\n <span className=\"truncate min-w-0 flex-1\">Any</span>\n </label>\n )}\n </RadioGroup>\n )}\n </>\n );\n}\n","import { LockIcon, XIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport { Button } from '../Button';\nimport { ButtonsGroup, ButtonsGroupText } from '../ButtonsGroup';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../Tooltip';\nimport { PickMultiPanel } from './pick-multi-panel';\nimport type { PropertyFilterField, PropertyFilterToken } from './types';\nimport { Input } from '@/ds/components/Input';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/ds/components/Popover/popover';\n\nexport type PropertyFilterAppliedProps = {\n fields: PropertyFilterField[];\n tokens: PropertyFilterToken[];\n onTokensChange: (tokens: PropertyFilterToken[]) => void;\n disabled?: boolean;\n /**\n * Field id that was just added via the Creator — rendered pill auto-focuses\n * its input so the user can start typing immediately.\n */\n autoFocusFieldId?: string;\n /**\n * Field ids whose pills must remain visible and read-only — value stays\n * displayed but cannot be edited or removed. Use when an upstream context\n * (e.g. agent-scoped traces tab) pre-applies a filter that the user must\n * not be able to clear.\n */\n lockedFieldIds?: readonly string[];\n /** Tooltip content shown on hover/focus of any locked pill. */\n lockedTooltipContent?: ReactNode;\n};\n\nfunction stringifyTokenValue(value: string | string[]) {\n if (Array.isArray(value)) return value.length === 0 ? 'Any' : value.join(', ');\n return value;\n}\n\nconst DEFAULT_LOCKED_TOOLTIP = 'This filter is set by the current context and cannot be removed here.';\n\nfunction lookupOptionLabel(field: PropertyFilterField, value: string | string[]): string {\n if (field.kind === 'pick-multi' && field.options) {\n if (Array.isArray(value)) {\n if (value.length === 0) return 'Any';\n return value.map(v => field.options.find(o => o.value === v)?.label ?? v).join(', ');\n }\n return field.options.find(o => o.value === value)?.label ?? value;\n }\n return stringifyTokenValue(value);\n}\n\ntype LockedTokenPillProps = {\n field: PropertyFilterField;\n value: string | string[];\n tooltipContent: ReactNode;\n};\n\nfunction LockedTokenPill({ field, value, tooltipContent }: LockedTokenPillProps) {\n const display = lookupOptionLabel(field, value);\n const lockA11yLabel = `${field.label} filter is locked by context`;\n\n return (\n <TooltipProvider delayDuration={150}>\n <Tooltip>\n <TooltipTrigger asChild>\n <ButtonsGroup\n spacing=\"close\"\n data-locked-field-id={field.id}\n data-property-filter-pill=\"locked\"\n tabIndex={0}\n aria-label={lockA11yLabel}\n >\n <ButtonsGroupText size=\"md\">{field.label}</ButtonsGroupText>\n <ButtonsGroupText size=\"md\">is</ButtonsGroupText>\n <ButtonsGroupText size=\"md\">{display}</ButtonsGroupText>\n <ButtonsGroupText size=\"md\">\n <LockIcon />\n </ButtonsGroupText>\n </ButtonsGroup>\n </TooltipTrigger>\n <TooltipContent>{tooltipContent}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n}\n\ntype TextTokenPillProps = {\n field: Extract<PropertyFilterField, { kind: 'text' }>;\n value: string;\n onChange: (value: string) => void;\n onRemove: () => void;\n disabled?: boolean;\n autoFocus?: boolean;\n};\n\nfunction TextTokenPill({ field, value, onChange, onRemove, disabled, autoFocus }: TextTokenPillProps) {\n // Local draft keeps the caret stable when the URL round-trip trims the\n // stored value (e.g. trailing spaces). We only re-sync from the prop when\n // the external value is genuinely different from our current (trimmed) draft.\n const [draft, setDraft] = useState(value);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (draft.trim() !== value) setDraft(value);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n if (autoFocus) inputRef.current?.focus();\n }, [autoFocus]);\n\n return (\n <ButtonsGroup spacing=\"close\">\n <ButtonsGroupText size=\"md\">{field.label}</ButtonsGroupText>\n <ButtonsGroupText size=\"md\">is</ButtonsGroupText>\n <Input\n ref={inputRef}\n size=\"md\"\n disabled={disabled}\n value={draft}\n placeholder={field.placeholder ?? `Enter ${field.label}`}\n onChange={e => {\n const next = e.target.value;\n setDraft(next);\n // Apply live — URL and traces query update on every keystroke.\n // Empty values persist as empty-value tokens so the pill stays visible.\n if (next.trim() !== value) onChange(next);\n }}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const trimmed = draft.trim();\n if (trimmed !== value) onChange(trimmed);\n } else if (e.key === 'Escape') {\n e.preventDefault();\n setDraft(value);\n (e.target as HTMLInputElement).blur();\n }\n }}\n />\n <Button\n type=\"button\"\n disabled={disabled}\n aria-label={`Remove ${field.label} filter`}\n size=\"md\"\n onMouseDown={e => e.preventDefault()}\n onClick={onRemove}\n >\n <XIcon />\n </Button>\n </ButtonsGroup>\n );\n}\n\ntype PickMultiTokenPillProps = {\n field: Extract<PropertyFilterField, { kind: 'pick-multi' }>;\n token: PropertyFilterToken;\n tokens: PropertyFilterToken[];\n onChange: (fieldId: string, value: string | string[] | undefined) => void;\n onRemove: () => void;\n disabled?: boolean;\n};\n\nfunction PickMultiTokenPill({ field, token, tokens, onChange, onRemove, disabled }: PickMultiTokenPillProps) {\n const [open, setOpen] = useState(false);\n\n return (\n <ButtonsGroup spacing=\"close\">\n <ButtonsGroupText size=\"md\">{field.label}</ButtonsGroupText>\n <ButtonsGroupText size=\"md\">is</ButtonsGroupText>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button type=\"button\" disabled={disabled} size=\"md\">\n {stringifyTokenValue(token.value)}\n </Button>\n </PopoverTrigger>\n <PopoverContent align=\"start\" sideOffset={8} className=\"w-64 p-2\" data-pick-multi-panel>\n <PickMultiPanel field={field} tokens={tokens} onChange={onChange} />\n </PopoverContent>\n </Popover>\n <Button\n type=\"button\"\n disabled={disabled}\n aria-label={`Remove ${field.label} filter`}\n size=\"md\"\n onClick={onRemove}\n >\n <XIcon />\n </Button>\n </ButtonsGroup>\n );\n}\n\n/**\n * Applied filter pills. Text/id-style tokens render with an always-active\n * input so the user can edit the value inline (and an empty token is valid —\n * it persists in the URL until the user explicitly removes it via ×).\n * Pick-multi tokens render with a clickable value that opens the same side\n * popover as the Filter Creator so the user can update selections in place.\n * Creation lives in a separate component (PropertyFilterCreator).\n */\nexport function PropertyFilterApplied({\n fields,\n tokens,\n onTokensChange,\n disabled,\n autoFocusFieldId,\n lockedFieldIds,\n lockedTooltipContent = DEFAULT_LOCKED_TOOLTIP,\n}: PropertyFilterAppliedProps) {\n if (tokens.length === 0) return null;\n\n const lockedSet = new Set(lockedFieldIds ?? []);\n\n const replaceTokenAt = (index: number, next: PropertyFilterToken) => {\n const copy = [...tokens];\n copy[index] = next;\n onTokensChange(copy);\n };\n\n const removeTokenAt = (index: number) => {\n onTokensChange(tokens.filter((_, i) => i !== index));\n };\n\n return (\n <div className=\"flex items-center gap-2 flex-wrap\">\n {tokens.map((token, index) => {\n const field = fields.find(f => f.id === token.fieldId);\n if (!field) return null;\n\n if (lockedSet.has(token.fieldId)) {\n return (\n <LockedTokenPill\n key={`${token.fieldId}-${index}`}\n field={field}\n value={token.value}\n tooltipContent={lockedTooltipContent}\n />\n );\n }\n\n if (field.kind === 'text' && typeof token.value === 'string') {\n return (\n <TextTokenPill\n key={`${token.fieldId}-${index}`}\n field={field}\n value={token.value}\n disabled={disabled}\n autoFocus={autoFocusFieldId === token.fieldId}\n onChange={nextValue => replaceTokenAt(index, { fieldId: token.fieldId, value: nextValue })}\n onRemove={() => removeTokenAt(index)}\n />\n );\n }\n\n if (field.kind === 'pick-multi') {\n return (\n <PickMultiTokenPill\n key={`${token.fieldId}-${index}`}\n field={field}\n token={token}\n tokens={tokens}\n disabled={disabled}\n onChange={(fieldId, value) => {\n // Unselecting everything (empty array) keeps the pill alive in\n // a neutral state — the user explicitly removes it via ×. This\n // lets the page-level Reset neutralize values without dropping\n // the pill structure.\n if (value === undefined) {\n removeTokenAt(index);\n return;\n }\n replaceTokenAt(index, { fieldId, value });\n }}\n onRemove={() => removeTokenAt(index)}\n />\n );\n }\n\n return (\n <ButtonsGroup spacing=\"close\" key={`${token.fieldId}-${index}`}>\n <ButtonsGroupText size=\"md\">{field.label}</ButtonsGroupText>\n <ButtonsGroupText size=\"md\">is</ButtonsGroupText>\n <ButtonsGroupText size=\"md\">{stringifyTokenValue(token.value)}</ButtonsGroupText>\n <Button\n type=\"button\"\n disabled={disabled}\n size=\"md\"\n aria-label={`Remove ${field.label} filter`}\n onClick={() => removeTokenAt(index)}\n >\n <XIcon />\n </Button>\n </ButtonsGroup>\n );\n })}\n </div>\n );\n}\n","import { ArrowLeftIcon, ChevronRightIcon, FilterIcon, ListFilterPlusIcon, PlusIcon } from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { PickMultiPanel } from './pick-multi-panel';\nimport type { PropertyFilterField, PropertyFilterToken } from './types';\nimport { Button } from '@/ds/components/Button/Button';\nimport type { ButtonProps } from '@/ds/components/Button/Button';\nimport { MultiCombobox } from '@/ds/components/Combobox/multi-combobox';\nimport { Input } from '@/ds/components/Input';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/ds/components/Popover/popover';\nimport { cn } from '@/lib/utils';\n\nexport type PropertyFilterCreatorProps = {\n fields: PropertyFilterField[];\n tokens: PropertyFilterToken[];\n onTokensChange: (tokens: PropertyFilterToken[]) => void;\n label?: string;\n disabled?: boolean;\n /** Size passed through to the trigger Button. Defaults to 'md'. */\n size?: ButtonProps['size'];\n /**\n * Called when the user picks a text (id-style) field. Consumers are expected\n * to render a pending applied-filter pill with an active input so the user\n * can type the value inline instead of in this popover.\n */\n onStartTextFilter?: (fieldId: string) => void;\n /**\n * Field ids hidden from the Add Filter dropdown. Use to prevent users from\n * recreating a filter that an upstream context already owns (e.g. the agent\n * id when viewing the agent-scoped traces tab).\n */\n hiddenFieldIds?: readonly string[];\n};\n\n/**\n * Minimal Linear-style filter creator: a `+ Filter` button whose popover walks\n * the user through property → value → commit. For id-style text fields, the\n * picker closes immediately and the applied-filter pill owns the input. For\n * `pick-multi` fields (e.g. Root Entity Name) hovering the item opens a\n * separate side popover with checkboxes — each check adds its own applied\n * filter and the main popover stays open so users can pick many.\n */\nexport function PropertyFilterCreator({\n fields,\n tokens,\n onTokensChange,\n label = 'Add Filter',\n disabled,\n size,\n onStartTextFilter,\n hiddenFieldIds,\n}: PropertyFilterCreatorProps) {\n const visibleFields = useMemo(() => {\n if (!hiddenFieldIds || hiddenFieldIds.length === 0) return fields;\n const hidden = new Set(hiddenFieldIds);\n return fields.filter(f => !hidden.has(f.id));\n }, [fields, hiddenFieldIds]);\n const [open, setOpen] = useState(false);\n const [fieldId, setFieldId] = useState<string | undefined>();\n const [textValue, setTextValue] = useState('');\n const [multiValue, setMultiValue] = useState<string[]>([]);\n const [error, setError] = useState<string | undefined>();\n // Single source of truth for which pick-multi side panel is open. Opens only\n // via explicit click/keyboard press on the menu item — no hover/focus\n // auto-open (was too flicker-prone).\n const [openPickMultiFieldId, setOpenPickMultiFieldId] = useState<string | undefined>();\n\n const textInputRef = useRef<HTMLInputElement>(null);\n // When the user picks a text field we close this popover and hand off focus\n // to the newly-created pill's input — prevent Radix from returning focus to\n // the trigger button in that case.\n const skipCloseFocusRef = useRef(false);\n\n const togglePickMulti = useCallback((id: string) => {\n setOpenPickMultiFieldId(current => (current === id ? undefined : id));\n }, []);\n const closePickMulti = useCallback(() => setOpenPickMultiFieldId(undefined), []);\n\n useEffect(() => {\n if (!open) setOpenPickMultiFieldId(undefined);\n }, [open]);\n\n const selectedField = useMemo(() => visibleFields.find(f => f.id === fieldId), [visibleFields, fieldId]);\n // Only single-use kinds (text, multi-select) count as \"used\". `pick-multi`\n // allows multiple tokens with the same fieldId.\n const singleUseFieldIds = useMemo(() => {\n const ids = new Set<string>();\n for (const token of tokens) {\n const field = fields.find(f => f.id === token.fieldId);\n if (field && field.kind !== 'pick-multi') ids.add(token.fieldId);\n }\n return ids;\n }, [tokens, fields]);\n\n const reset = useCallback(() => {\n setFieldId(undefined);\n setTextValue('');\n setMultiValue([]);\n setError(undefined);\n }, []);\n\n useEffect(() => {\n if (!open) reset();\n }, [open, reset]);\n\n useEffect(() => {\n if (!open) return;\n if (selectedField?.kind === 'text') textInputRef.current?.focus();\n }, [open, selectedField]);\n\n /**\n * Replace whatever token exists for `fieldId` with the given value. Used by\n * both single-select (radio) and multi-select (checkbox) pick-multi panels.\n * Pass `undefined` or `[]` to remove the token entirely.\n */\n const replacePickMultiToken = useCallback(\n (fieldId: string, value: string | string[] | undefined) => {\n const existingIndex = tokens.findIndex(t => t.fieldId === fieldId);\n const shouldRemove = value === undefined || (Array.isArray(value) && value.length === 0);\n\n if (shouldRemove) {\n if (existingIndex === -1) return;\n onTokensChange(tokens.filter((_, i) => i !== existingIndex));\n return;\n }\n\n if (existingIndex === -1) {\n onTokensChange([...tokens, { fieldId, value }]);\n return;\n }\n\n const nextTokens = [...tokens];\n nextTokens[existingIndex] = { fieldId, value };\n onTokensChange(nextTokens);\n },\n [onTokensChange, tokens],\n );\n\n const commit = useCallback(() => {\n if (!selectedField) {\n setError('Choose a property first.');\n return;\n }\n if (singleUseFieldIds.has(selectedField.id)) {\n setError(`Remove the existing ${selectedField.label} filter before adding another.`);\n return;\n }\n if (selectedField.kind === 'text' && !textValue.trim()) {\n setError(`Enter a value for ${selectedField.label}.`);\n return;\n }\n if (selectedField.kind === 'multi-select' && multiValue.length === 0) {\n setError(`Choose at least one ${selectedField.label.toLowerCase()} value.`);\n return;\n }\n const token: PropertyFilterToken =\n selectedField.kind === 'multi-select'\n ? { fieldId: selectedField.id, value: multiValue }\n : { fieldId: selectedField.id, value: (textValue as string).trim() };\n onTokensChange([...tokens, token]);\n setOpen(false);\n }, [multiValue, onTokensChange, selectedField, singleUseFieldIds, textValue, tokens]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button variant=\"outline\" size={size} disabled={disabled}>\n <ListFilterPlusIcon />\n {label}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"p-3 w-64\"\n initialFocus={false}\n finalFocus={() => {\n if (skipCloseFocusRef.current) {\n skipCloseFocusRef.current = false;\n return false;\n }\n return true;\n }}\n >\n <div className=\"grid gap-3\">\n {selectedField && (\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n aria-label=\"Back to properties\"\n className=\"text-neutral3 hover:text-neutral6 transition-colors\"\n onClick={() => {\n setFieldId(undefined);\n setTextValue('');\n setMultiValue([]);\n setError(undefined);\n }}\n >\n <ArrowLeftIcon className=\"h-4 w-4\" />\n </button>\n <FilterIcon className=\"h-4 w-4 shrink-0 text-neutral3\" />\n <span className=\"text-ui-sm text-neutral3\">{`${selectedField.label} · is`}</span>\n </div>\n )}\n\n {!selectedField && (\n <div\n role=\"menu\"\n className=\"max-h-[80dvh] overflow-auto\"\n onKeyDown={e => {\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp' && e.key !== 'Home' && e.key !== 'End') return;\n const buttons = Array.from(\n e.currentTarget.querySelectorAll<HTMLButtonElement>('[data-filter-item]:not([disabled])'),\n );\n if (buttons.length === 0) return;\n e.preventDefault();\n const active = document.activeElement as HTMLElement | null;\n const current = buttons.findIndex(b => b === active);\n let next: number;\n if (e.key === 'Home') next = 0;\n else if (e.key === 'End') next = buttons.length - 1;\n else if (e.key === 'ArrowDown') next = current < 0 ? 0 : (current + 1) % buttons.length;\n else next = current <= 0 ? buttons.length - 1 : current - 1;\n buttons[next]?.focus();\n }}\n >\n {visibleFields.length > 0 ? (\n visibleFields.map(f => {\n const used = singleUseFieldIds.has(f.id);\n if (f.kind === 'pick-multi') {\n return (\n <PickMultiMenuItem\n key={f.id}\n field={f}\n tokens={tokens}\n onChange={replacePickMultiToken}\n open={openPickMultiFieldId === f.id}\n onToggle={togglePickMulti}\n onClose={closePickMulti}\n />\n );\n }\n return (\n <button\n key={f.id}\n type=\"button\"\n role=\"menuitem\"\n data-filter-item=\"\"\n className={cn(\n 'group flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-ui-md transition-colors',\n 'focus:bg-surface4 focus:text-neutral6 focus:outline-none',\n used\n ? 'cursor-not-allowed text-neutral2 opacity-70'\n : 'text-neutral4 hover:bg-surface4 hover:text-neutral6',\n )}\n disabled={used}\n onClick={() => {\n setError(undefined);\n if (f.kind === 'text') {\n onTokensChange([...tokens, { fieldId: f.id, value: '' }]);\n onStartTextFilter?.(f.id);\n skipCloseFocusRef.current = true;\n setOpen(false);\n return;\n }\n setFieldId(f.id);\n }}\n >\n <span className=\"truncate\">{f.label}</span>\n {used ? (\n <span className=\"ml-auto text-neutral3\">In use</span>\n ) : (\n <PlusIcon className=\"ml-auto h-4 w-4 text-neutral3 opacity-0 transition-opacity group-hover:opacity-100 group-focus:opacity-100\" />\n )}\n </button>\n );\n })\n ) : (\n <div className=\"px-2 py-1.5 text-ui-sm text-neutral3\">No matching property.</div>\n )}\n </div>\n )}\n\n {selectedField && selectedField.kind === 'text' && (\n <Input\n ref={textInputRef}\n size=\"md\"\n value={textValue}\n onChange={e => {\n setTextValue(e.target.value);\n setError(undefined);\n }}\n placeholder={selectedField.placeholder ?? `Enter ${selectedField.label}`}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n commit();\n }\n }}\n />\n )}\n\n {selectedField && selectedField.kind === 'multi-select' && (\n <MultiCombobox\n options={selectedField.options ?? []}\n value={multiValue}\n onValueChange={v => {\n setMultiValue(v);\n setError(undefined);\n }}\n placeholder={selectedField.placeholder ?? `Choose ${selectedField.label}`}\n searchPlaceholder={`Search ${selectedField.label.toLowerCase()}...`}\n emptyText={selectedField.emptyText ?? 'No option found.'}\n size=\"md\"\n />\n )}\n\n {error && <div className=\"text-ui-sm text-red-500\">{error}</div>}\n\n {selectedField && selectedField.kind !== 'pick-multi' && (\n <div className=\"flex items-center justify-end gap-2\">\n <Button variant=\"ghost\" size=\"md\" onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <Button variant=\"outline\" size=\"md\" onClick={commit}>\n Add filter\n </Button>\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n\ntype PickMultiField = Extract<PropertyFilterField, { kind: 'pick-multi' }>;\n\ntype PickMultiMenuItemProps = {\n field: PickMultiField;\n tokens: PropertyFilterToken[];\n onChange: (fieldId: string, value: string | string[] | undefined) => void;\n open: boolean;\n onToggle: (fieldId: string) => void;\n onClose: () => void;\n};\n\n/**\n * A property-picker menu item that opens a separate Radix popover (portaled to\n * the side) with a radio group (single-select) or checkbox list (multi-select,\n * `field.multi === true`). Open/close is driven by explicit click / keyboard\n * press; the panel only closes when the user clicks outside, presses Escape,\n * or clicks the row again to toggle it off.\n */\nfunction PickMultiMenuItem({ field, tokens, onChange, open, onToggle, onClose }: PickMultiMenuItemProps) {\n const contentRef = useRef<HTMLDivElement>(null);\n\n return (\n <Popover\n open={open}\n onOpenChange={next => {\n if (next) onToggle(field.id);\n else onClose();\n }}\n >\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"menuitem\"\n data-filter-item=\"\"\n className={cn(\n 'flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-ui-md text-neutral4 hover:bg-surface4 hover:text-neutral6 transition-colors',\n 'focus:bg-surface4 focus:text-neutral6 focus:outline-none',\n )}\n onKeyDown={e => {\n if (e.key !== 'ArrowRight' && e.key !== 'ArrowLeft') return;\n if (!open) onToggle(field.id);\n e.preventDefault();\n requestAnimationFrame(() => {\n const first = contentRef.current?.querySelector<HTMLElement>(\n 'input, button, [tabindex]:not([tabindex=\"-1\"])',\n );\n first?.focus();\n });\n }}\n >\n {open && <ChevronRightIcon className=\"h-4 w-4 text-neutral3 shrink-0\" />}\n <span className=\"truncate\">{field.label}</span>\n {!open && <ChevronRightIcon className=\"h-4 w-4 ml-auto text-neutral3 shrink-0\" />}\n </button>\n </PopoverTrigger>\n <PopoverContent\n ref={contentRef}\n side=\"right\"\n align=\"start\"\n sideOffset={8}\n className=\"w-64 p-2\"\n initialFocus={false}\n onKeyDown={e => {\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp' && e.key !== 'Home' && e.key !== 'End') return;\n const items = Array.from(\n e.currentTarget.querySelectorAll<HTMLElement>('[data-pick-multi-item]:not([disabled])'),\n );\n if (items.length === 0) return;\n e.preventDefault();\n e.stopPropagation();\n const active = document.activeElement as HTMLElement | null;\n const current = items.findIndex(el => el === active);\n let next: number;\n if (e.key === 'Home') next = 0;\n else if (e.key === 'End') next = items.length - 1;\n else if (e.key === 'ArrowDown') next = current < 0 ? 0 : (current + 1) % items.length;\n else next = current <= 0 ? items.length - 1 : current - 1;\n items[next]?.focus();\n }}\n data-pick-multi-panel\n >\n <PickMultiPanel field={field} tokens={tokens} onChange={onChange} />\n </PopoverContent>\n </Popover>\n );\n}\n"],"names":["fieldId"],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const radio = require('@base-ui/react/radio');
|
|
5
|
+
const radioGroup = require('@base-ui/react/radio-group');
|
|
6
|
+
const React = require('react');
|
|
7
|
+
const transitions = require('./transitions-DpczSjmD.cjs');
|
|
8
|
+
const utils = require('./utils-vA5sWo9W.cjs');
|
|
9
|
+
|
|
10
|
+
function _interopNamespaceDefault(e) {
|
|
11
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
12
|
+
if (e) {
|
|
13
|
+
for (const k in e) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: () => e[k]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
n.default = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
28
|
+
|
|
29
|
+
const RadioGroup = React__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
30
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radioGroup.RadioGroup, { ref, "data-slot": "radio-group", className: utils.cn("grid gap-2", className), ...props });
|
|
31
|
+
});
|
|
32
|
+
RadioGroup.displayName = "RadioGroup";
|
|
33
|
+
const RadioGroupItem = React__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
radio.Radio.Root,
|
|
36
|
+
{
|
|
37
|
+
ref,
|
|
38
|
+
"data-slot": "radio-group-item",
|
|
39
|
+
className: utils.cn(
|
|
40
|
+
"flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center rounded-full",
|
|
41
|
+
"border border-neutral6/[0.06] bg-neutral6/[0.12] text-surface1 outline-hidden",
|
|
42
|
+
transitions.transitions.all,
|
|
43
|
+
"hover:border-neutral6/[0.12] hover:bg-neutral6/[0.16]",
|
|
44
|
+
"active:scale-95 active:border-neutral6/[0.18] active:bg-neutral6/[0.18]",
|
|
45
|
+
"focus-visible:border-neutral5/50 focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-neutral5/55",
|
|
46
|
+
// Base UI exposes `data-checked`/`data-unchecked` instead of Radix's `data-state`.
|
|
47
|
+
"data-[checked]:border-neutral6 data-[checked]:bg-neutral6 data-[checked]:text-surface1",
|
|
48
|
+
"data-[checked]:hover:border-neutral5 data-[checked]:hover:bg-neutral5",
|
|
49
|
+
"data-[checked]:active:border-neutral4 data-[checked]:active:bg-neutral4",
|
|
50
|
+
// Base UI's Radio.Root is a `<span>`, so `:disabled` never matches; target `data-disabled`.
|
|
51
|
+
"data-[disabled]:cursor-not-allowed data-[disabled]:border-neutral6/[0.38] data-[disabled]:bg-neutral6/[0.38] data-[disabled]:hover:border-neutral6/[0.38] data-[disabled]:hover:bg-neutral6/[0.38] data-[disabled]:active:scale-100",
|
|
52
|
+
"data-[disabled]:data-[checked]:border-neutral6/[0.38] data-[disabled]:data-[checked]:bg-neutral6/[0.38] data-[disabled]:data-[checked]:text-neutral6",
|
|
53
|
+
className
|
|
54
|
+
),
|
|
55
|
+
...props,
|
|
56
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
57
|
+
radio.Radio.Indicator,
|
|
58
|
+
{
|
|
59
|
+
keepMounted: true,
|
|
60
|
+
className: utils.cn(
|
|
61
|
+
"flex items-center justify-center text-current",
|
|
62
|
+
"scale-50 opacity-0 transition-[opacity,scale] duration-200 ease-out-custom",
|
|
63
|
+
"data-[checked]:scale-100 data-[checked]:opacity-100",
|
|
64
|
+
"data-[starting-style]:scale-50 data-[starting-style]:opacity-0",
|
|
65
|
+
"data-[ending-style]:scale-50 data-[ending-style]:opacity-0"
|
|
66
|
+
),
|
|
67
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-1.5 rounded-full bg-current" })
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
});
|
|
73
|
+
RadioGroupItem.displayName = "RadioGroupItem";
|
|
74
|
+
|
|
75
|
+
exports.RadioGroup = RadioGroup;
|
|
76
|
+
exports.RadioGroupItem = RadioGroupItem;
|
|
77
|
+
//# sourceMappingURL=radio-group-CcZMn-TY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group-CcZMn-TY.cjs","sources":["../src/ds/components/RadioGroup/radio-group.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport * as React from 'react';\n\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\ntype RadioGroupProps = Omit<RadioGroupPrimitive.Props, 'className'> & {\n className?: string;\n};\n\nconst RadioGroup = React.forwardRef<HTMLDivElement, RadioGroupProps>(({ className, ...props }, ref) => {\n return <RadioGroupPrimitive ref={ref} data-slot=\"radio-group\" className={cn('grid gap-2', className)} {...props} />;\n});\nRadioGroup.displayName = 'RadioGroup';\n\ntype RadioGroupItemProps = Omit<RadioPrimitive.Root.Props, 'className'> & {\n className?: string;\n};\n\nconst RadioGroupItem = React.forwardRef<HTMLSpanElement, RadioGroupItemProps>(({ className, ...props }, ref) => {\n return (\n <RadioPrimitive.Root\n ref={ref}\n data-slot=\"radio-group-item\"\n className={cn(\n 'flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center rounded-full',\n 'border border-neutral6/[0.06] bg-neutral6/[0.12] text-surface1 outline-hidden',\n transitions.all,\n 'hover:border-neutral6/[0.12] hover:bg-neutral6/[0.16]',\n 'active:scale-95 active:border-neutral6/[0.18] active:bg-neutral6/[0.18]',\n 'focus-visible:border-neutral5/50 focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-neutral5/55',\n // Base UI exposes `data-checked`/`data-unchecked` instead of Radix's `data-state`.\n 'data-[checked]:border-neutral6 data-[checked]:bg-neutral6 data-[checked]:text-surface1',\n 'data-[checked]:hover:border-neutral5 data-[checked]:hover:bg-neutral5',\n 'data-[checked]:active:border-neutral4 data-[checked]:active:bg-neutral4',\n // Base UI's Radio.Root is a `<span>`, so `:disabled` never matches; target `data-disabled`.\n 'data-[disabled]:cursor-not-allowed data-[disabled]:border-neutral6/[0.38] data-[disabled]:bg-neutral6/[0.38] data-[disabled]:hover:border-neutral6/[0.38] data-[disabled]:hover:bg-neutral6/[0.38] data-[disabled]:active:scale-100',\n 'data-[disabled]:data-[checked]:border-neutral6/[0.38] data-[disabled]:data-[checked]:bg-neutral6/[0.38] data-[disabled]:data-[checked]:text-neutral6',\n className,\n )}\n {...props}\n >\n <RadioPrimitive.Indicator\n keepMounted\n className={cn(\n 'flex items-center justify-center text-current',\n 'scale-50 opacity-0 transition-[opacity,scale] duration-200 ease-out-custom',\n 'data-[checked]:scale-100 data-[checked]:opacity-100',\n 'data-[starting-style]:scale-50 data-[starting-style]:opacity-0',\n 'data-[ending-style]:scale-50 data-[ending-style]:opacity-0',\n )}\n >\n <span className=\"size-1.5 rounded-full bg-current\" />\n </RadioPrimitive.Indicator>\n </RadioPrimitive.Root>\n );\n});\nRadioGroupItem.displayName = 'RadioGroupItem';\n\nexport { RadioGroup, RadioGroupItem };\n"],"names":["React","jsx","RadioGroupPrimitive","cn","RadioPrimitive","transitions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,UAAA,GAAaA,iBAAM,UAAA,CAA4C,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACrG,EAAA,uBAAOC,cAAA,CAACC,qBAAA,EAAA,EAAoB,GAAA,EAAU,WAAA,EAAU,aAAA,EAAc,SAAA,EAAWC,QAAA,CAAG,YAAA,EAAc,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AACnH,CAAC;AACD,UAAA,CAAW,WAAA,GAAc,YAAA;AAMzB,MAAM,cAAA,GAAiBH,iBAAM,UAAA,CAAiD,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC9G,EAAA,uBACEC,cAAA;AAAA,IAACG,WAAA,CAAe,IAAA;AAAA,IAAf;AAAA,MACC,GAAA;AAAA,MACA,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAWD,QAAA;AAAA,QACT,+EAAA;AAAA,QACA,+EAAA;AAAA,QACAE,uBAAA,CAAY,GAAA;AAAA,QACZ,uDAAA;AAAA,QACA,yEAAA;AAAA,QACA,iJAAA;AAAA;AAAA,QAEA,wFAAA;AAAA,QACA,uEAAA;AAAA,QACA,yEAAA;AAAA;AAAA,QAEA,qOAAA;AAAA,QACA,sJAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAJ,cAAA;AAAA,QAACG,WAAA,CAAe,SAAA;AAAA,QAAf;AAAA,UACC,WAAA,EAAW,IAAA;AAAA,UACX,SAAA,EAAWD,QAAA;AAAA,YACT,+CAAA;AAAA,YACA,4EAAA;AAAA,YACA,qDAAA;AAAA,YACA,gEAAA;AAAA,YACA;AAAA,WACF;AAAA,UAEA,QAAA,kBAAAF,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kCAAA,EAAmC;AAAA;AAAA;AACrD;AAAA,GACF;AAEJ,CAAC;AACD,cAAA,CAAe,WAAA,GAAc,gBAAA;;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Radio } from '@base-ui/react/radio';
|
|
3
|
+
import { RadioGroup as RadioGroup$1 } from '@base-ui/react/radio-group';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { t as transitions } from './transitions-tFfqxz40.js';
|
|
6
|
+
import { c as cn } from './utils-CzYGxqbG.js';
|
|
7
|
+
|
|
8
|
+
const RadioGroup = React.forwardRef(({ className, ...props }, ref) => {
|
|
9
|
+
return /* @__PURE__ */ jsx(RadioGroup$1, { ref, "data-slot": "radio-group", className: cn("grid gap-2", className), ...props });
|
|
10
|
+
});
|
|
11
|
+
RadioGroup.displayName = "RadioGroup";
|
|
12
|
+
const RadioGroupItem = React.forwardRef(({ className, ...props }, ref) => {
|
|
13
|
+
return /* @__PURE__ */ jsx(
|
|
14
|
+
Radio.Root,
|
|
15
|
+
{
|
|
16
|
+
ref,
|
|
17
|
+
"data-slot": "radio-group-item",
|
|
18
|
+
className: cn(
|
|
19
|
+
"flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center rounded-full",
|
|
20
|
+
"border border-neutral6/[0.06] bg-neutral6/[0.12] text-surface1 outline-hidden",
|
|
21
|
+
transitions.all,
|
|
22
|
+
"hover:border-neutral6/[0.12] hover:bg-neutral6/[0.16]",
|
|
23
|
+
"active:scale-95 active:border-neutral6/[0.18] active:bg-neutral6/[0.18]",
|
|
24
|
+
"focus-visible:border-neutral5/50 focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-neutral5/55",
|
|
25
|
+
// Base UI exposes `data-checked`/`data-unchecked` instead of Radix's `data-state`.
|
|
26
|
+
"data-[checked]:border-neutral6 data-[checked]:bg-neutral6 data-[checked]:text-surface1",
|
|
27
|
+
"data-[checked]:hover:border-neutral5 data-[checked]:hover:bg-neutral5",
|
|
28
|
+
"data-[checked]:active:border-neutral4 data-[checked]:active:bg-neutral4",
|
|
29
|
+
// Base UI's Radio.Root is a `<span>`, so `:disabled` never matches; target `data-disabled`.
|
|
30
|
+
"data-[disabled]:cursor-not-allowed data-[disabled]:border-neutral6/[0.38] data-[disabled]:bg-neutral6/[0.38] data-[disabled]:hover:border-neutral6/[0.38] data-[disabled]:hover:bg-neutral6/[0.38] data-[disabled]:active:scale-100",
|
|
31
|
+
"data-[disabled]:data-[checked]:border-neutral6/[0.38] data-[disabled]:data-[checked]:bg-neutral6/[0.38] data-[disabled]:data-[checked]:text-neutral6",
|
|
32
|
+
className
|
|
33
|
+
),
|
|
34
|
+
...props,
|
|
35
|
+
children: /* @__PURE__ */ jsx(
|
|
36
|
+
Radio.Indicator,
|
|
37
|
+
{
|
|
38
|
+
keepMounted: true,
|
|
39
|
+
className: cn(
|
|
40
|
+
"flex items-center justify-center text-current",
|
|
41
|
+
"scale-50 opacity-0 transition-[opacity,scale] duration-200 ease-out-custom",
|
|
42
|
+
"data-[checked]:scale-100 data-[checked]:opacity-100",
|
|
43
|
+
"data-[starting-style]:scale-50 data-[starting-style]:opacity-0",
|
|
44
|
+
"data-[ending-style]:scale-50 data-[ending-style]:opacity-0"
|
|
45
|
+
),
|
|
46
|
+
children: /* @__PURE__ */ jsx("span", { className: "size-1.5 rounded-full bg-current" })
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
});
|
|
52
|
+
RadioGroupItem.displayName = "RadioGroupItem";
|
|
53
|
+
|
|
54
|
+
export { RadioGroup as R, RadioGroupItem as a };
|
|
55
|
+
//# sourceMappingURL=radio-group-DIbajvIk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group-DIbajvIk.js","sources":["../src/ds/components/RadioGroup/radio-group.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport * as React from 'react';\n\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\ntype RadioGroupProps = Omit<RadioGroupPrimitive.Props, 'className'> & {\n className?: string;\n};\n\nconst RadioGroup = React.forwardRef<HTMLDivElement, RadioGroupProps>(({ className, ...props }, ref) => {\n return <RadioGroupPrimitive ref={ref} data-slot=\"radio-group\" className={cn('grid gap-2', className)} {...props} />;\n});\nRadioGroup.displayName = 'RadioGroup';\n\ntype RadioGroupItemProps = Omit<RadioPrimitive.Root.Props, 'className'> & {\n className?: string;\n};\n\nconst RadioGroupItem = React.forwardRef<HTMLSpanElement, RadioGroupItemProps>(({ className, ...props }, ref) => {\n return (\n <RadioPrimitive.Root\n ref={ref}\n data-slot=\"radio-group-item\"\n className={cn(\n 'flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center rounded-full',\n 'border border-neutral6/[0.06] bg-neutral6/[0.12] text-surface1 outline-hidden',\n transitions.all,\n 'hover:border-neutral6/[0.12] hover:bg-neutral6/[0.16]',\n 'active:scale-95 active:border-neutral6/[0.18] active:bg-neutral6/[0.18]',\n 'focus-visible:border-neutral5/50 focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-neutral5/55',\n // Base UI exposes `data-checked`/`data-unchecked` instead of Radix's `data-state`.\n 'data-[checked]:border-neutral6 data-[checked]:bg-neutral6 data-[checked]:text-surface1',\n 'data-[checked]:hover:border-neutral5 data-[checked]:hover:bg-neutral5',\n 'data-[checked]:active:border-neutral4 data-[checked]:active:bg-neutral4',\n // Base UI's Radio.Root is a `<span>`, so `:disabled` never matches; target `data-disabled`.\n 'data-[disabled]:cursor-not-allowed data-[disabled]:border-neutral6/[0.38] data-[disabled]:bg-neutral6/[0.38] data-[disabled]:hover:border-neutral6/[0.38] data-[disabled]:hover:bg-neutral6/[0.38] data-[disabled]:active:scale-100',\n 'data-[disabled]:data-[checked]:border-neutral6/[0.38] data-[disabled]:data-[checked]:bg-neutral6/[0.38] data-[disabled]:data-[checked]:text-neutral6',\n className,\n )}\n {...props}\n >\n <RadioPrimitive.Indicator\n keepMounted\n className={cn(\n 'flex items-center justify-center text-current',\n 'scale-50 opacity-0 transition-[opacity,scale] duration-200 ease-out-custom',\n 'data-[checked]:scale-100 data-[checked]:opacity-100',\n 'data-[starting-style]:scale-50 data-[starting-style]:opacity-0',\n 'data-[ending-style]:scale-50 data-[ending-style]:opacity-0',\n )}\n >\n <span className=\"size-1.5 rounded-full bg-current\" />\n </RadioPrimitive.Indicator>\n </RadioPrimitive.Root>\n );\n});\nRadioGroupItem.displayName = 'RadioGroupItem';\n\nexport { RadioGroup, RadioGroupItem };\n"],"names":["RadioGroupPrimitive","RadioPrimitive"],"mappings":";;;;;;;AAWA,MAAM,UAAA,GAAa,MAAM,UAAA,CAA4C,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACrG,EAAA,uBAAO,GAAA,CAACA,YAAA,EAAA,EAAoB,GAAA,EAAU,WAAA,EAAU,aAAA,EAAc,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AACnH,CAAC;AACD,UAAA,CAAW,WAAA,GAAc,YAAA;AAMzB,MAAM,cAAA,GAAiB,MAAM,UAAA,CAAiD,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC9G,EAAA,uBACE,GAAA;AAAA,IAACC,KAAA,CAAe,IAAA;AAAA,IAAf;AAAA,MACC,GAAA;AAAA,MACA,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,+EAAA;AAAA,QACA,+EAAA;AAAA,QACA,WAAA,CAAY,GAAA;AAAA,QACZ,uDAAA;AAAA,QACA,yEAAA;AAAA,QACA,iJAAA;AAAA;AAAA,QAEA,wFAAA;AAAA,QACA,uEAAA;AAAA,QACA,yEAAA;AAAA;AAAA,QAEA,qOAAA;AAAA,QACA,sJAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAACA,KAAA,CAAe,SAAA;AAAA,QAAf;AAAA,UACC,WAAA,EAAW,IAAA;AAAA,UACX,SAAA,EAAW,EAAA;AAAA,YACT,+CAAA;AAAA,YACA,4EAAA;AAAA,YACA,qDAAA;AAAA,YACA,gEAAA;AAAA,YACA;AAAA,WACF;AAAA,UAEA,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kCAAA,EAAmC;AAAA;AAAA;AACrD;AAAA,GACF;AAEJ,CAAC;AACD,cAAA,CAAe,WAAA,GAAc,gBAAA;;;;"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ScrollArea as ScrollArea$1 } from '@base-ui/react/scroll-area';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import React__default, { useRef } from 'react';
|
|
5
|
+
import { c as cn } from './utils-CzYGxqbG.js';
|
|
6
|
+
|
|
7
|
+
const SCROLL_END_THRESHOLD = 8;
|
|
8
|
+
const useAutoscroll = (ref, { enabled = true }) => {
|
|
9
|
+
const shouldScrollRef = useRef(enabled);
|
|
10
|
+
const scrollFrameRef = useRef(null);
|
|
11
|
+
const userScrollIntentRef = useRef(false);
|
|
12
|
+
const userScrollIntentTimeoutRef = useRef(null);
|
|
13
|
+
React__default.useEffect(() => {
|
|
14
|
+
if (!enabled) return;
|
|
15
|
+
if (!ref?.current) return;
|
|
16
|
+
const area = ref.current;
|
|
17
|
+
const scrollToEnd = () => {
|
|
18
|
+
if (!shouldScrollRef.current) return;
|
|
19
|
+
if (scrollFrameRef.current !== null) {
|
|
20
|
+
cancelAnimationFrame(scrollFrameRef.current);
|
|
21
|
+
}
|
|
22
|
+
scrollFrameRef.current = requestAnimationFrame(() => {
|
|
23
|
+
if (shouldScrollRef.current) {
|
|
24
|
+
area.scrollTop = area.scrollHeight;
|
|
25
|
+
}
|
|
26
|
+
scrollFrameRef.current = null;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const mutationObserver = new MutationObserver(scrollToEnd);
|
|
30
|
+
mutationObserver.observe(area, {
|
|
31
|
+
childList: true,
|
|
32
|
+
// observe direct children changes
|
|
33
|
+
subtree: true,
|
|
34
|
+
// observe all descendants
|
|
35
|
+
characterData: true
|
|
36
|
+
// observe text content changes
|
|
37
|
+
});
|
|
38
|
+
const resizeObserver = new ResizeObserver(scrollToEnd);
|
|
39
|
+
resizeObserver.observe(area);
|
|
40
|
+
const cancelPendingScroll = () => {
|
|
41
|
+
if (scrollFrameRef.current !== null) {
|
|
42
|
+
cancelAnimationFrame(scrollFrameRef.current);
|
|
43
|
+
scrollFrameRef.current = null;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const stopFollowing = () => {
|
|
47
|
+
shouldScrollRef.current = false;
|
|
48
|
+
cancelPendingScroll();
|
|
49
|
+
};
|
|
50
|
+
const registerUserScrollIntent = () => {
|
|
51
|
+
userScrollIntentRef.current = true;
|
|
52
|
+
if (userScrollIntentTimeoutRef.current !== null) {
|
|
53
|
+
window.clearTimeout(userScrollIntentTimeoutRef.current);
|
|
54
|
+
}
|
|
55
|
+
userScrollIntentTimeoutRef.current = window.setTimeout(() => {
|
|
56
|
+
userScrollIntentRef.current = false;
|
|
57
|
+
userScrollIntentTimeoutRef.current = null;
|
|
58
|
+
}, 250);
|
|
59
|
+
};
|
|
60
|
+
const handleWheel = (event) => {
|
|
61
|
+
registerUserScrollIntent();
|
|
62
|
+
if (event.deltaY < 0) {
|
|
63
|
+
stopFollowing();
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const handleKeyDown = (event) => {
|
|
67
|
+
registerUserScrollIntent();
|
|
68
|
+
if (["ArrowUp", "PageUp", "Home"].includes(event.key)) {
|
|
69
|
+
stopFollowing();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const handleScroll = (e) => {
|
|
73
|
+
const scrollElement = e.target;
|
|
74
|
+
const currentPosition = scrollElement.scrollTop + scrollElement.clientHeight;
|
|
75
|
+
const totalHeight = scrollElement.scrollHeight;
|
|
76
|
+
const isAtEnd = currentPosition >= totalHeight - SCROLL_END_THRESHOLD;
|
|
77
|
+
if (isAtEnd) {
|
|
78
|
+
shouldScrollRef.current = true;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (userScrollIntentRef.current) {
|
|
82
|
+
shouldScrollRef.current = false;
|
|
83
|
+
cancelPendingScroll();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
area.addEventListener("wheel", handleWheel, { passive: true });
|
|
87
|
+
area.addEventListener("touchmove", registerUserScrollIntent, { passive: true });
|
|
88
|
+
area.addEventListener("pointerdown", registerUserScrollIntent);
|
|
89
|
+
area.addEventListener("keydown", handleKeyDown);
|
|
90
|
+
area.addEventListener("scroll", handleScroll);
|
|
91
|
+
scrollToEnd();
|
|
92
|
+
return () => {
|
|
93
|
+
area.removeEventListener("wheel", handleWheel);
|
|
94
|
+
area.removeEventListener("touchmove", registerUserScrollIntent);
|
|
95
|
+
area.removeEventListener("pointerdown", registerUserScrollIntent);
|
|
96
|
+
area.removeEventListener("keydown", handleKeyDown);
|
|
97
|
+
area.removeEventListener("scroll", handleScroll);
|
|
98
|
+
mutationObserver.disconnect();
|
|
99
|
+
resizeObserver.disconnect();
|
|
100
|
+
cancelPendingScroll();
|
|
101
|
+
if (userScrollIntentTimeoutRef.current !== null) {
|
|
102
|
+
window.clearTimeout(userScrollIntentTimeoutRef.current);
|
|
103
|
+
userScrollIntentTimeoutRef.current = null;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}, [enabled, ref]);
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
function resolveMask(mask, orientation) {
|
|
110
|
+
if (mask === false) return { top: false, bottom: false, left: false, right: false };
|
|
111
|
+
const vertical = orientation === "vertical" || orientation === "both";
|
|
112
|
+
const horizontal = orientation === "horizontal" || orientation === "both";
|
|
113
|
+
const sides = { top: vertical, bottom: vertical, left: horizontal, right: horizontal };
|
|
114
|
+
if (mask === true || mask === void 0) return sides;
|
|
115
|
+
if (mask.y !== void 0) {
|
|
116
|
+
sides.top = mask.y;
|
|
117
|
+
sides.bottom = mask.y;
|
|
118
|
+
}
|
|
119
|
+
if (mask.x !== void 0) {
|
|
120
|
+
sides.left = mask.x;
|
|
121
|
+
sides.right = mask.x;
|
|
122
|
+
}
|
|
123
|
+
if (mask.top !== void 0) sides.top = mask.top;
|
|
124
|
+
if (mask.bottom !== void 0) sides.bottom = mask.bottom;
|
|
125
|
+
if (mask.left !== void 0) sides.left = mask.left;
|
|
126
|
+
if (mask.right !== void 0) sides.right = mask.right;
|
|
127
|
+
return sides;
|
|
128
|
+
}
|
|
129
|
+
function maskClasses(sides) {
|
|
130
|
+
return cn(
|
|
131
|
+
sides.top && "data-[overflow-y-start]:mask-t-from-[calc(100%-2rem)]",
|
|
132
|
+
sides.bottom && "data-[overflow-y-end]:mask-b-from-[calc(100%-2rem)]",
|
|
133
|
+
sides.left && "data-[overflow-x-start]:mask-l-from-[calc(100%-2rem)]",
|
|
134
|
+
sides.right && "data-[overflow-x-end]:mask-r-from-[calc(100%-2rem)]"
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
const ScrollArea = React.forwardRef(
|
|
138
|
+
({
|
|
139
|
+
className,
|
|
140
|
+
children,
|
|
141
|
+
viewPortClassName,
|
|
142
|
+
maxHeight,
|
|
143
|
+
autoScroll = false,
|
|
144
|
+
orientation = "vertical",
|
|
145
|
+
mask,
|
|
146
|
+
showMask,
|
|
147
|
+
...props
|
|
148
|
+
}, ref) => {
|
|
149
|
+
const areaRef = React.useRef(null);
|
|
150
|
+
useAutoscroll(areaRef, { enabled: autoScroll });
|
|
151
|
+
const effectiveMask = mask !== void 0 ? mask : showMask;
|
|
152
|
+
const sides = resolveMask(effectiveMask, orientation);
|
|
153
|
+
const viewportStyle = {};
|
|
154
|
+
if (maxHeight) viewportStyle.maxHeight = maxHeight;
|
|
155
|
+
if (orientation === "vertical") {
|
|
156
|
+
viewportStyle.overflowX = "hidden";
|
|
157
|
+
viewportStyle.overflowY = "scroll";
|
|
158
|
+
} else if (orientation === "horizontal") {
|
|
159
|
+
viewportStyle.overflowX = "scroll";
|
|
160
|
+
viewportStyle.overflowY = "hidden";
|
|
161
|
+
}
|
|
162
|
+
const contentStyle = orientation === "vertical" ? { minWidth: "0px" } : orientation === "horizontal" ? { minHeight: "0px" } : void 0;
|
|
163
|
+
return /* @__PURE__ */ jsxs(ScrollArea$1.Root, { ref, className: cn("relative overflow-hidden", className), ...props, children: [
|
|
164
|
+
/* @__PURE__ */ jsx(
|
|
165
|
+
ScrollArea$1.Viewport,
|
|
166
|
+
{
|
|
167
|
+
ref: areaRef,
|
|
168
|
+
className: cn("h-full w-full rounded-[inherit]", maskClasses(sides), viewPortClassName),
|
|
169
|
+
style: viewportStyle,
|
|
170
|
+
children: /* @__PURE__ */ jsx(ScrollArea$1.Content, { style: contentStyle, children })
|
|
171
|
+
}
|
|
172
|
+
),
|
|
173
|
+
(orientation === "vertical" || orientation === "both") && /* @__PURE__ */ jsx(ScrollBar, { orientation: "vertical" }),
|
|
174
|
+
(orientation === "horizontal" || orientation === "both") && /* @__PURE__ */ jsx(ScrollBar, { orientation: "horizontal" }),
|
|
175
|
+
orientation === "both" && /* @__PURE__ */ jsx(ScrollArea$1.Corner, {})
|
|
176
|
+
] });
|
|
177
|
+
}
|
|
178
|
+
);
|
|
179
|
+
ScrollArea.displayName = "ScrollArea";
|
|
180
|
+
const ScrollBar = React.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
181
|
+
ScrollArea$1.Scrollbar,
|
|
182
|
+
{
|
|
183
|
+
ref,
|
|
184
|
+
orientation,
|
|
185
|
+
className: cn(
|
|
186
|
+
"flex touch-none select-none transition-opacity duration-normal ease-out-custom",
|
|
187
|
+
"opacity-0 data-[hovering]:opacity-100 data-[scrolling]:opacity-100 data-[scrolling]:duration-0",
|
|
188
|
+
orientation === "vertical" && "h-full w-1.5 p-px",
|
|
189
|
+
orientation === "horizontal" && "h-1.5 w-full flex-col p-px",
|
|
190
|
+
className
|
|
191
|
+
),
|
|
192
|
+
...props,
|
|
193
|
+
children: /* @__PURE__ */ jsx(ScrollArea$1.Thumb, { className: "relative flex-1 rounded-full bg-neutral4/30 hover:bg-neutral4/60 transition-colors duration-normal" })
|
|
194
|
+
}
|
|
195
|
+
));
|
|
196
|
+
ScrollBar.displayName = "ScrollBar";
|
|
197
|
+
|
|
198
|
+
export { ScrollArea as S, ScrollBar as a, useAutoscroll as u };
|
|
199
|
+
//# sourceMappingURL=scroll-area-BCZiAvhR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-area-BCZiAvhR.js","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":["React","ScrollAreaPrimitive"],"mappings":";;;;;;AAMA,MAAM,oBAAA,GAAuB,CAAA;AAEtB,MAAM,gBAAgB,CAAC,GAAA,EAA0C,EAAE,OAAA,GAAU,MAAK,KAA4B;AACnH,EAAA,MAAM,eAAA,GAAkB,OAAO,OAAO,CAAA;AACtC,EAAA,MAAM,cAAA,GAAiB,OAAsB,IAAI,CAAA;AACjD,EAAA,MAAM,mBAAA,GAAsB,OAAO,KAAK,CAAA;AACxC,EAAA,MAAM,0BAAA,GAA6B,OAAsB,IAAI,CAAA;AAE7D,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,CAAC,OAAA,EAAS;AACd,IAAA,IAAI,CAAC,KAAK,OAAA,EAAS;AAEnB,IAAA,MAAM,OAAO,GAAA,CAAI,OAAA;AAEjB,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,IAAI,CAAC,gBAAgB,OAAA,EAAS;AAE9B,MAAA,IAAI,cAAA,CAAe,YAAY,IAAA,EAAM;AACnC,QAAA,oBAAA,CAAqB,eAAe,OAAO,CAAA;AAAA,MAC7C;AAEA,MAAA,cAAA,CAAe,OAAA,GAAU,sBAAsB,MAAM;AACnD,QAAA,IAAI,gBAAgB,OAAA,EAAS;AAC3B,UAAA,IAAA,CAAK,YAAY,IAAA,CAAK,YAAA;AAAA,QACxB;AACA,QAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AAAA,MAC3B,CAAC,CAAA;AAAA,IACH,CAAA;AAEA,IAAA,MAAM,gBAAA,GAAmB,IAAI,gBAAA,CAAiB,WAAW,CAAA;AAEzD,IAAA,gBAAA,CAAiB,QAAQ,IAAA,EAAM;AAAA,MAC7B,SAAA,EAAW,IAAA;AAAA;AAAA,MACX,OAAA,EAAS,IAAA;AAAA;AAAA,MACT,aAAA,EAAe;AAAA;AAAA,KAChB,CAAA;AAED,IAAA,MAAM,cAAA,GAAiB,IAAI,cAAA,CAAe,WAAW,CAAA;AACrD,IAAA,cAAA,CAAe,QAAQ,IAAI,CAAA;AAE3B,IAAA,MAAM,sBAAsB,MAAM;AAChC,MAAA,IAAI,cAAA,CAAe,YAAY,IAAA,EAAM;AACnC,QAAA,oBAAA,CAAqB,eAAe,OAAO,CAAA;AAC3C,QAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AAAA,MAC3B;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,eAAA,CAAgB,OAAA,GAAU,KAAA;AAC1B,MAAA,mBAAA,EAAoB;AAAA,IACtB,CAAA;AAEA,IAAA,MAAM,2BAA2B,MAAM;AACrC,MAAA,mBAAA,CAAoB,OAAA,GAAU,IAAA;AAE9B,MAAA,IAAI,0BAAA,CAA2B,YAAY,IAAA,EAAM;AAC/C,QAAA,MAAA,CAAO,YAAA,CAAa,2BAA2B,OAAO,CAAA;AAAA,MACxD;AAEA,MAAA,0BAAA,CAA2B,OAAA,GAAU,MAAA,CAAO,UAAA,CAAW,MAAM;AAC3D,QAAA,mBAAA,CAAoB,OAAA,GAAU,KAAA;AAC9B,QAAA,0BAAA,CAA2B,OAAA,GAAU,IAAA;AAAA,MACvC,GAAG,GAAG,CAAA;AAAA,IACR,CAAA;AAEA,IAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAsB;AACzC,MAAA,wBAAA,EAAyB;AAEzB,MAAA,IAAI,KAAA,CAAM,SAAS,CAAA,EAAG;AACpB,QAAA,aAAA,EAAc;AAAA,MAChB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAyB;AAC9C,MAAA,wBAAA,EAAyB;AAEzB,MAAA,IAAI,CAAC,WAAW,QAAA,EAAU,MAAM,EAAE,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,EAAG;AACrD,QAAA,aAAA,EAAc;AAAA,MAChB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,YAAA,GAAe,CAAC,CAAA,KAAa;AACjC,MAAA,MAAM,gBAAgB,CAAA,CAAE,MAAA;AACxB,MAAA,MAAM,eAAA,GAAkB,aAAA,CAAc,SAAA,GAAY,aAAA,CAAc,YAAA;AAChE,MAAA,MAAM,cAAc,aAAA,CAAc,YAAA;AAClC,MAAA,MAAM,OAAA,GAAU,mBAAmB,WAAA,GAAc,oBAAA;AAEjD,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,eAAA,CAAgB,OAAA,GAAU,IAAA;AAC1B,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,oBAAoB,OAAA,EAAS;AAC/B,QAAA,eAAA,CAAgB,OAAA,GAAU,KAAA;AAC1B,QAAA,mBAAA,EAAoB;AAAA,MACtB;AAAA,IACF,CAAA;AAEA,IAAA,IAAA,CAAK,iBAAiB,OAAA,EAAS,WAAA,EAAa,EAAE,OAAA,EAAS,MAAM,CAAA;AAC7D,IAAA,IAAA,CAAK,iBAAiB,WAAA,EAAa,wBAAA,EAA0B,EAAE,OAAA,EAAS,MAAM,CAAA;AAC9E,IAAA,IAAA,CAAK,gBAAA,CAAiB,eAAe,wBAAwB,CAAA;AAC7D,IAAA,IAAA,CAAK,gBAAA,CAAiB,WAAW,aAAa,CAAA;AAC9C,IAAA,IAAA,CAAK,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAC5C,IAAA,WAAA,EAAY;AAEZ,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,mBAAA,CAAoB,SAAS,WAAW,CAAA;AAC7C,MAAA,IAAA,CAAK,mBAAA,CAAoB,aAAa,wBAAwB,CAAA;AAC9D,MAAA,IAAA,CAAK,mBAAA,CAAoB,eAAe,wBAAwB,CAAA;AAChE,MAAA,IAAA,CAAK,mBAAA,CAAoB,WAAW,aAAa,CAAA;AACjD,MAAA,IAAA,CAAK,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAC/C,MAAA,gBAAA,CAAiB,UAAA,EAAW;AAC5B,MAAA,cAAA,CAAe,UAAA,EAAW;AAC1B,MAAA,mBAAA,EAAoB;AAEpB,MAAA,IAAI,0BAAA,CAA2B,YAAY,IAAA,EAAM;AAC/C,QAAA,MAAA,CAAO,YAAA,CAAa,2BAA2B,OAAO,CAAA;AACtD,QAAA,0BAAA,CAA2B,OAAA,GAAU,IAAA;AAAA,MACvC;AAAA,IACF,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,GAAG,CAAC,CAAA;AACnB;;ACxFA,SAAS,WAAA,CAAY,MAAkC,WAAA,EAAwC;AAC7F,EAAA,IAAI,IAAA,KAAS,KAAA,EAAO,OAAO,EAAE,GAAA,EAAK,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,KAAA,EAAM;AAElF,EAAA,MAAM,QAAA,GAAW,WAAA,KAAgB,UAAA,IAAc,WAAA,KAAgB,MAAA;AAC/D,EAAA,MAAM,UAAA,GAAa,WAAA,KAAgB,YAAA,IAAgB,WAAA,KAAgB,MAAA;AACnE,EAAA,MAAM,KAAA,GAAsB,EAAE,GAAA,EAAK,QAAA,EAAU,QAAQ,QAAA,EAAU,IAAA,EAAM,UAAA,EAAY,KAAA,EAAO,UAAA,EAAW;AAEnG,EAAA,IAAI,IAAA,KAAS,IAAA,IAAQ,IAAA,KAAS,MAAA,EAAW,OAAO,KAAA;AAEhD,EAAA,IAAI,IAAA,CAAK,MAAM,MAAA,EAAW;AACxB,IAAA,KAAA,CAAM,MAAM,IAAA,CAAK,CAAA;AACjB,IAAA,KAAA,CAAM,SAAS,IAAA,CAAK,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,IAAA,CAAK,MAAM,MAAA,EAAW;AACxB,IAAA,KAAA,CAAM,OAAO,IAAA,CAAK,CAAA;AAClB,IAAA,KAAA,CAAM,QAAQ,IAAA,CAAK,CAAA;AAAA,EACrB;AACA,EAAA,IAAI,IAAA,CAAK,GAAA,KAAQ,MAAA,EAAW,KAAA,CAAM,MAAM,IAAA,CAAK,GAAA;AAC7C,EAAA,IAAI,IAAA,CAAK,MAAA,KAAW,MAAA,EAAW,KAAA,CAAM,SAAS,IAAA,CAAK,MAAA;AACnD,EAAA,IAAI,IAAA,CAAK,IAAA,KAAS,MAAA,EAAW,KAAA,CAAM,OAAO,IAAA,CAAK,IAAA;AAC/C,EAAA,IAAI,IAAA,CAAK,KAAA,KAAU,MAAA,EAAW,KAAA,CAAM,QAAQ,IAAA,CAAK,KAAA;AAEjD,EAAA,OAAO,KAAA;AACT;AAEA,SAAS,YAAY,KAAA,EAAqB;AACxC,EAAA,OAAO,EAAA;AAAA,IACL,MAAM,GAAA,IAAO,uDAAA;AAAA,IACb,MAAM,MAAA,IAAU,qDAAA;AAAA,IAChB,MAAM,IAAA,IAAQ,uDAAA;AAAA,IACd,MAAM,KAAA,IAAS;AAAA,GACjB;AACF;AAEA,MAAM,aAAa,KAAA,CAAM,UAAA;AAAA,EACvB,CACE;AAAA,IACE,SAAA;AAAA,IACA,QAAA;AAAA,IACA,iBAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA,GAAa,KAAA;AAAA,IACb,WAAA,GAAc,UAAA;AAAA,IACd,IAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,OAAA,GAAU,KAAA,CAAM,MAAA,CAAuB,IAAI,CAAA;AACjD,IAAA,aAAA,CAAc,OAAA,EAAS,EAAE,OAAA,EAAS,UAAA,EAAY,CAAA;AAE9C,IAAA,MAAM,aAAA,GAA4C,IAAA,KAAS,MAAA,GAAY,IAAA,GAAO,QAAA;AAC9E,IAAA,MAAM,KAAA,GAAQ,WAAA,CAAY,aAAA,EAAe,WAAW,CAAA;AAEpD,IAAA,MAAM,gBAAqC,EAAC;AAC5C,IAAA,IAAI,SAAA,gBAAyB,SAAA,GAAY,SAAA;AACzC,IAAA,IAAI,gBAAgB,UAAA,EAAY;AAC9B,MAAA,aAAA,CAAc,SAAA,GAAY,QAAA;AAC1B,MAAA,aAAA,CAAc,SAAA,GAAY,QAAA;AAAA,IAC5B,CAAA,MAAA,IAAW,gBAAgB,YAAA,EAAc;AACvC,MAAA,aAAA,CAAc,SAAA,GAAY,QAAA;AAC1B,MAAA,aAAA,CAAc,SAAA,GAAY,QAAA;AAAA,IAC5B;AAMA,IAAA,MAAM,YAAA,GACJ,WAAA,KAAgB,UAAA,GACZ,EAAE,QAAA,EAAU,KAAA,EAAM,GAClB,WAAA,KAAgB,YAAA,GACd,EAAE,SAAA,EAAW,KAAA,EAAM,GACnB,MAAA;AAER,IAAA,uBACE,IAAA,CAACC,YAAA,CAAoB,IAAA,EAApB,EAAyB,GAAA,EAAU,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,CAAA,EAAI,GAAG,KAAA,EAC5F,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAACA,YAAA,CAAoB,QAAA;AAAA,QAApB;AAAA,UACC,GAAA,EAAK,OAAA;AAAA,UACL,WAAW,EAAA,CAAG,iCAAA,EAAmC,WAAA,CAAY,KAAK,GAAG,iBAAiB,CAAA;AAAA,UACtF,KAAA,EAAO,aAAA;AAAA,UAEP,8BAACA,YAAA,CAAoB,OAAA,EAApB,EAA4B,KAAA,EAAO,cAAe,QAAA,EAAS;AAAA;AAAA,OAC9D;AAAA,MAAA,CACE,gBAAgB,UAAA,IAAc,WAAA,KAAgB,2BAAW,GAAA,CAAC,SAAA,EAAA,EAAU,aAAY,UAAA,EAAW,CAAA;AAAA,MAAA,CAC3F,gBAAgB,YAAA,IAAgB,WAAA,KAAgB,2BAAW,GAAA,CAAC,SAAA,EAAA,EAAU,aAAY,YAAA,EAAa,CAAA;AAAA,MAChG,WAAA,KAAgB,MAAA,oBAAU,GAAA,CAACA,YAAA,CAAoB,QAApB,EAA2B;AAAA,KAAA,EACzD,CAAA;AAAA,EAEJ;AACF;AACA,UAAA,CAAW,WAAA,GAAc,YAAA;AAEzB,MAAM,SAAA,GAAY,KAAA,CAAM,UAAA,CAGtB,CAAC,EAAE,SAAA,EAAW,WAAA,GAAc,UAAA,EAAY,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpD,GAAA;AAAA,EAACA,YAAA,CAAoB,SAAA;AAAA,EAApB;AAAA,IACC,GAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,gFAAA;AAAA,MACA,gGAAA;AAAA,MACA,gBAAgB,UAAA,IAAc,mBAAA;AAAA,MAC9B,gBAAgB,YAAA,IAAgB,4BAAA;AAAA,MAChC;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAA,GAAA,CAACA,YAAA,CAAoB,KAAA,EAApB,EAA0B,WAAU,oGAAA,EAAqG;AAAA;AAC5I,CACD;AACD,SAAA,CAAU,WAAA,GAAc,WAAA;;;;"}
|