@rookcom/monarch-react 0.0.0-canary-20261103180711
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 +14 -0
- package/README.md +5 -0
- package/dist/components/actions/button/button.d.ts +32 -0
- package/dist/components/actions/button/button.d.ts.map +1 -0
- package/dist/components/actions/button/button.js +30 -0
- package/dist/components/actions/button/button.js.map +1 -0
- package/dist/components/actions/button/index.d.ts +2 -0
- package/dist/components/actions/button/index.d.ts.map +1 -0
- package/dist/components/actions/button/index.js +2 -0
- package/dist/components/actions/button/index.js.map +1 -0
- package/dist/components/actions/copy-button/copy-button.d.ts +71 -0
- package/dist/components/actions/copy-button/copy-button.d.ts.map +1 -0
- package/dist/components/actions/copy-button/copy-button.js +150 -0
- package/dist/components/actions/copy-button/copy-button.js.map +1 -0
- package/dist/components/actions/copy-button/index.d.ts +2 -0
- package/dist/components/actions/copy-button/index.d.ts.map +1 -0
- package/dist/components/actions/copy-button/index.js +2 -0
- package/dist/components/actions/copy-button/index.js.map +1 -0
- package/dist/components/actions/copy-field/copy-field.d.ts +47 -0
- package/dist/components/actions/copy-field/copy-field.d.ts.map +1 -0
- package/dist/components/actions/copy-field/copy-field.js +37 -0
- package/dist/components/actions/copy-field/copy-field.js.map +1 -0
- package/dist/components/actions/copy-field/index.d.ts +2 -0
- package/dist/components/actions/copy-field/index.d.ts.map +1 -0
- package/dist/components/actions/copy-field/index.js +2 -0
- package/dist/components/actions/copy-field/index.js.map +1 -0
- package/dist/components/data-display/badge/badge.d.ts +13 -0
- package/dist/components/data-display/badge/badge.d.ts.map +1 -0
- package/dist/components/data-display/badge/badge.js +7 -0
- package/dist/components/data-display/badge/badge.js.map +1 -0
- package/dist/components/data-display/badge/index.d.ts +2 -0
- package/dist/components/data-display/badge/index.d.ts.map +1 -0
- package/dist/components/data-display/badge/index.js +2 -0
- package/dist/components/data-display/badge/index.js.map +1 -0
- package/dist/components/data-display/card/card.d.ts +18 -0
- package/dist/components/data-display/card/card.d.ts.map +1 -0
- package/dist/components/data-display/card/card.js +21 -0
- package/dist/components/data-display/card/card.js.map +1 -0
- package/dist/components/data-display/card/index.d.ts +2 -0
- package/dist/components/data-display/card/index.d.ts.map +1 -0
- package/dist/components/data-display/card/index.js +2 -0
- package/dist/components/data-display/card/index.js.map +1 -0
- package/dist/components/data-display/description-list/description-list.d.ts +17 -0
- package/dist/components/data-display/description-list/description-list.d.ts.map +1 -0
- package/dist/components/data-display/description-list/description-list.js +10 -0
- package/dist/components/data-display/description-list/description-list.js.map +1 -0
- package/dist/components/data-display/description-list/index.d.ts +2 -0
- package/dist/components/data-display/description-list/index.d.ts.map +1 -0
- package/dist/components/data-display/description-list/index.js +2 -0
- package/dist/components/data-display/description-list/index.js.map +1 -0
- package/dist/components/data-display/progress-bar/index.d.ts +2 -0
- package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
- package/dist/components/data-display/progress-bar/index.js +2 -0
- package/dist/components/data-display/progress-bar/index.js.map +1 -0
- package/dist/components/data-display/progress-bar/progress-bar.d.ts +14 -0
- package/dist/components/data-display/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/components/data-display/progress-bar/progress-bar.js +12 -0
- package/dist/components/data-display/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/data-display/stat-card/index.d.ts +2 -0
- package/dist/components/data-display/stat-card/index.d.ts.map +1 -0
- package/dist/components/data-display/stat-card/index.js +2 -0
- package/dist/components/data-display/stat-card/index.js.map +1 -0
- package/dist/components/data-display/stat-card/stat-card.d.ts +19 -0
- package/dist/components/data-display/stat-card/stat-card.d.ts.map +1 -0
- package/dist/components/data-display/stat-card/stat-card.js +11 -0
- package/dist/components/data-display/stat-card/stat-card.js.map +1 -0
- package/dist/components/data-display/status-badge/index.d.ts +2 -0
- package/dist/components/data-display/status-badge/index.d.ts.map +1 -0
- package/dist/components/data-display/status-badge/index.js +2 -0
- package/dist/components/data-display/status-badge/index.js.map +1 -0
- package/dist/components/data-display/status-badge/status-badge.d.ts +169 -0
- package/dist/components/data-display/status-badge/status-badge.d.ts.map +1 -0
- package/dist/components/data-display/status-badge/status-badge.js +139 -0
- package/dist/components/data-display/status-badge/status-badge.js.map +1 -0
- package/dist/components/data-grid/data-table/data-table.d.ts +53 -0
- package/dist/components/data-grid/data-table/data-table.d.ts.map +1 -0
- package/dist/components/data-grid/data-table/data-table.js +47 -0
- package/dist/components/data-grid/data-table/data-table.js.map +1 -0
- package/dist/components/data-grid/data-table/index.d.ts +2 -0
- package/dist/components/data-grid/data-table/index.d.ts.map +1 -0
- package/dist/components/data-grid/data-table/index.js +2 -0
- package/dist/components/data-grid/data-table/index.js.map +1 -0
- package/dist/components/feedback/alert/alert.d.ts +17 -0
- package/dist/components/feedback/alert/alert.d.ts.map +1 -0
- package/dist/components/feedback/alert/alert.js +17 -0
- package/dist/components/feedback/alert/alert.js.map +1 -0
- package/dist/components/feedback/alert/index.d.ts +2 -0
- package/dist/components/feedback/alert/index.d.ts.map +1 -0
- package/dist/components/feedback/alert/index.js +2 -0
- package/dist/components/feedback/alert/index.js.map +1 -0
- package/dist/components/feedback/empty-state/empty-state.d.ts +17 -0
- package/dist/components/feedback/empty-state/empty-state.d.ts.map +1 -0
- package/dist/components/feedback/empty-state/empty-state.js +10 -0
- package/dist/components/feedback/empty-state/empty-state.js.map +1 -0
- package/dist/components/feedback/empty-state/index.d.ts +2 -0
- package/dist/components/feedback/empty-state/index.d.ts.map +1 -0
- package/dist/components/feedback/empty-state/index.js +2 -0
- package/dist/components/feedback/empty-state/index.js.map +1 -0
- package/dist/components/feedback/error-state/error-state.d.ts +23 -0
- package/dist/components/feedback/error-state/error-state.d.ts.map +1 -0
- package/dist/components/feedback/error-state/error-state.js +15 -0
- package/dist/components/feedback/error-state/error-state.js.map +1 -0
- package/dist/components/feedback/error-state/index.d.ts +2 -0
- package/dist/components/feedback/error-state/index.d.ts.map +1 -0
- package/dist/components/feedback/error-state/index.js +2 -0
- package/dist/components/feedback/error-state/index.js.map +1 -0
- package/dist/components/feedback/skeleton/index.d.ts +2 -0
- package/dist/components/feedback/skeleton/index.d.ts.map +1 -0
- package/dist/components/feedback/skeleton/index.js +2 -0
- package/dist/components/feedback/skeleton/index.js.map +1 -0
- package/dist/components/feedback/skeleton/skeleton.d.ts +12 -0
- package/dist/components/feedback/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/feedback/skeleton/skeleton.js +10 -0
- package/dist/components/feedback/skeleton/skeleton.js.map +1 -0
- package/dist/components/feedback/spinner/index.d.ts +2 -0
- package/dist/components/feedback/spinner/index.d.ts.map +1 -0
- package/dist/components/feedback/spinner/index.js +2 -0
- package/dist/components/feedback/spinner/index.js.map +1 -0
- package/dist/components/feedback/spinner/spinner.d.ts +12 -0
- package/dist/components/feedback/spinner/spinner.d.ts.map +1 -0
- package/dist/components/feedback/spinner/spinner.js +10 -0
- package/dist/components/feedback/spinner/spinner.js.map +1 -0
- package/dist/components/feedback/toast/index.d.ts +2 -0
- package/dist/components/feedback/toast/index.d.ts.map +1 -0
- package/dist/components/feedback/toast/index.js +2 -0
- package/dist/components/feedback/toast/index.js.map +1 -0
- package/dist/components/feedback/toast/toast.d.ts +40 -0
- package/dist/components/feedback/toast/toast.d.ts.map +1 -0
- package/dist/components/feedback/toast/toast.js +67 -0
- package/dist/components/feedback/toast/toast.js.map +1 -0
- package/dist/components/forms/checkbox/checkbox.d.ts +15 -0
- package/dist/components/forms/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/forms/checkbox/checkbox.js +23 -0
- package/dist/components/forms/checkbox/checkbox.js.map +1 -0
- package/dist/components/forms/checkbox/index.d.ts +2 -0
- package/dist/components/forms/checkbox/index.d.ts.map +1 -0
- package/dist/components/forms/checkbox/index.js +2 -0
- package/dist/components/forms/checkbox/index.js.map +1 -0
- package/dist/components/forms/combobox/combobox.d.ts +35 -0
- package/dist/components/forms/combobox/combobox.d.ts.map +1 -0
- package/dist/components/forms/combobox/combobox.js +152 -0
- package/dist/components/forms/combobox/combobox.js.map +1 -0
- package/dist/components/forms/combobox/index.d.ts +2 -0
- package/dist/components/forms/combobox/index.d.ts.map +1 -0
- package/dist/components/forms/combobox/index.js +2 -0
- package/dist/components/forms/combobox/index.js.map +1 -0
- package/dist/components/forms/form-field/form-field.d.ts +65 -0
- package/dist/components/forms/form-field/form-field.d.ts.map +1 -0
- package/dist/components/forms/form-field/form-field.js +101 -0
- package/dist/components/forms/form-field/form-field.js.map +1 -0
- package/dist/components/forms/form-field/index.d.ts +2 -0
- package/dist/components/forms/form-field/index.d.ts.map +1 -0
- package/dist/components/forms/form-field/index.js +2 -0
- package/dist/components/forms/form-field/index.js.map +1 -0
- package/dist/components/forms/segmented-control/index.d.ts +2 -0
- package/dist/components/forms/segmented-control/index.d.ts.map +1 -0
- package/dist/components/forms/segmented-control/index.js +2 -0
- package/dist/components/forms/segmented-control/index.js.map +1 -0
- package/dist/components/forms/segmented-control/segmented-control.d.ts +62 -0
- package/dist/components/forms/segmented-control/segmented-control.d.ts.map +1 -0
- package/dist/components/forms/segmented-control/segmented-control.js +139 -0
- package/dist/components/forms/segmented-control/segmented-control.js.map +1 -0
- package/dist/components/forms/select/index.d.ts +2 -0
- package/dist/components/forms/select/index.d.ts.map +1 -0
- package/dist/components/forms/select/index.js +2 -0
- package/dist/components/forms/select/index.js.map +1 -0
- package/dist/components/forms/select/select.d.ts +27 -0
- package/dist/components/forms/select/select.d.ts.map +1 -0
- package/dist/components/forms/select/select.js +39 -0
- package/dist/components/forms/select/select.js.map +1 -0
- package/dist/components/forms/switch/index.d.ts +2 -0
- package/dist/components/forms/switch/index.d.ts.map +1 -0
- package/dist/components/forms/switch/index.js +2 -0
- package/dist/components/forms/switch/index.js.map +1 -0
- package/dist/components/forms/switch/switch.d.ts +13 -0
- package/dist/components/forms/switch/switch.d.ts.map +1 -0
- package/dist/components/forms/switch/switch.js +21 -0
- package/dist/components/forms/switch/switch.js.map +1 -0
- package/dist/components/forms/text-field/index.d.ts +2 -0
- package/dist/components/forms/text-field/index.d.ts.map +1 -0
- package/dist/components/forms/text-field/index.js +2 -0
- package/dist/components/forms/text-field/index.js.map +1 -0
- package/dist/components/forms/text-field/text-field.d.ts +15 -0
- package/dist/components/forms/text-field/text-field.d.ts.map +1 -0
- package/dist/components/forms/text-field/text-field.js +14 -0
- package/dist/components/forms/text-field/text-field.js.map +1 -0
- package/dist/components/identity/avatar/avatar.d.ts +16 -0
- package/dist/components/identity/avatar/avatar.d.ts.map +1 -0
- package/dist/components/identity/avatar/avatar.js +28 -0
- package/dist/components/identity/avatar/avatar.js.map +1 -0
- package/dist/components/identity/avatar/index.d.ts +2 -0
- package/dist/components/identity/avatar/index.d.ts.map +1 -0
- package/dist/components/identity/avatar/index.js +2 -0
- package/dist/components/identity/avatar/index.js.map +1 -0
- package/dist/components/layout/separator/index.d.ts +2 -0
- package/dist/components/layout/separator/index.d.ts.map +1 -0
- package/dist/components/layout/separator/index.js +2 -0
- package/dist/components/layout/separator/index.js.map +1 -0
- package/dist/components/layout/separator/separator.d.ts +4 -0
- package/dist/components/layout/separator/separator.d.ts.map +1 -0
- package/dist/components/layout/separator/separator.js +9 -0
- package/dist/components/layout/separator/separator.js.map +1 -0
- package/dist/components/layout/visually-hidden/index.d.ts +2 -0
- package/dist/components/layout/visually-hidden/index.d.ts.map +1 -0
- package/dist/components/layout/visually-hidden/index.js +2 -0
- package/dist/components/layout/visually-hidden/index.js.map +1 -0
- package/dist/components/layout/visually-hidden/visually-hidden.d.ts +4 -0
- package/dist/components/layout/visually-hidden/visually-hidden.d.ts.map +1 -0
- package/dist/components/layout/visually-hidden/visually-hidden.js +7 -0
- package/dist/components/layout/visually-hidden/visually-hidden.js.map +1 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +19 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.js +19 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/navigation/breadcrumb/index.d.ts +2 -0
- package/dist/components/navigation/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumb/index.js +2 -0
- package/dist/components/navigation/breadcrumb/index.js.map +1 -0
- package/dist/components/navigation/link/index.d.ts +2 -0
- package/dist/components/navigation/link/index.d.ts.map +1 -0
- package/dist/components/navigation/link/index.js +2 -0
- package/dist/components/navigation/link/index.js.map +1 -0
- package/dist/components/navigation/link/link.d.ts +13 -0
- package/dist/components/navigation/link/link.d.ts.map +1 -0
- package/dist/components/navigation/link/link.js +18 -0
- package/dist/components/navigation/link/link.js.map +1 -0
- package/dist/components/navigation/pagination/index.d.ts +2 -0
- package/dist/components/navigation/pagination/index.d.ts.map +1 -0
- package/dist/components/navigation/pagination/index.js +2 -0
- package/dist/components/navigation/pagination/index.js.map +1 -0
- package/dist/components/navigation/pagination/pagination.d.ts +18 -0
- package/dist/components/navigation/pagination/pagination.d.ts.map +1 -0
- package/dist/components/navigation/pagination/pagination.js +40 -0
- package/dist/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +2 -0
- package/dist/components/navigation/tabs/index.d.ts.map +1 -0
- package/dist/components/navigation/tabs/index.js +2 -0
- package/dist/components/navigation/tabs/index.js.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +12 -0
- package/dist/components/navigation/tabs/tabs.d.ts.map +1 -0
- package/dist/components/navigation/tabs/tabs.js +17 -0
- package/dist/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/components/overlays/dialog/dialog.d.ts +22 -0
- package/dist/components/overlays/dialog/dialog.d.ts.map +1 -0
- package/dist/components/overlays/dialog/dialog.js +33 -0
- package/dist/components/overlays/dialog/dialog.js.map +1 -0
- package/dist/components/overlays/dialog/index.d.ts +2 -0
- package/dist/components/overlays/dialog/index.d.ts.map +1 -0
- package/dist/components/overlays/dialog/index.js +2 -0
- package/dist/components/overlays/dialog/index.js.map +1 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.d.ts +24 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.js +41 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/overlays/dropdown-menu/index.d.ts +2 -0
- package/dist/components/overlays/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/overlays/dropdown-menu/index.js +2 -0
- package/dist/components/overlays/dropdown-menu/index.js.map +1 -0
- package/dist/components/overlays/popover/index.d.ts +2 -0
- package/dist/components/overlays/popover/index.d.ts.map +1 -0
- package/dist/components/overlays/popover/index.js +2 -0
- package/dist/components/overlays/popover/index.js.map +1 -0
- package/dist/components/overlays/popover/popover.d.ts +8 -0
- package/dist/components/overlays/popover/popover.d.ts.map +1 -0
- package/dist/components/overlays/popover/popover.js +14 -0
- package/dist/components/overlays/popover/popover.js.map +1 -0
- package/dist/components/overlays/tooltip/index.d.ts +2 -0
- package/dist/components/overlays/tooltip/index.d.ts.map +1 -0
- package/dist/components/overlays/tooltip/index.js +2 -0
- package/dist/components/overlays/tooltip/index.js.map +1 -0
- package/dist/components/overlays/tooltip/tooltip.d.ts +20 -0
- package/dist/components/overlays/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/overlays/tooltip/tooltip.js +12 -0
- package/dist/components/overlays/tooltip/tooltip.js.map +1 -0
- package/dist/components/technical/secret-field/index.d.ts +2 -0
- package/dist/components/technical/secret-field/index.d.ts.map +1 -0
- package/dist/components/technical/secret-field/index.js +2 -0
- package/dist/components/technical/secret-field/index.js.map +1 -0
- package/dist/components/technical/secret-field/secret-field.d.ts +38 -0
- package/dist/components/technical/secret-field/secret-field.d.ts.map +1 -0
- package/dist/components/technical/secret-field/secret-field.js +42 -0
- package/dist/components/technical/secret-field/secret-field.js.map +1 -0
- package/dist/components/typography/kbd/index.d.ts +2 -0
- package/dist/components/typography/kbd/index.d.ts.map +1 -0
- package/dist/components/typography/kbd/index.js +2 -0
- package/dist/components/typography/kbd/index.js.map +1 -0
- package/dist/components/typography/kbd/kbd.d.ts +4 -0
- package/dist/components/typography/kbd/kbd.d.ts.map +1 -0
- package/dist/components/typography/kbd/kbd.js +7 -0
- package/dist/components/typography/kbd/kbd.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/cx.d.ts +3 -0
- package/dist/internal/cx.d.ts.map +1 -0
- package/dist/internal/cx.js +6 -0
- package/dist/internal/cx.js.map +1 -0
- package/dist/internal/icons.d.ts +20 -0
- package/dist/internal/icons.d.ts.map +1 -0
- package/dist/internal/icons.js +63 -0
- package/dist/internal/icons.js.map +1 -0
- package/dist/manifest.json +4484 -0
- package/dist/patterns/actions/toolbar/index.d.ts +2 -0
- package/dist/patterns/actions/toolbar/index.d.ts.map +1 -0
- package/dist/patterns/actions/toolbar/index.js +2 -0
- package/dist/patterns/actions/toolbar/index.js.map +1 -0
- package/dist/patterns/actions/toolbar/toolbar.d.ts +20 -0
- package/dist/patterns/actions/toolbar/toolbar.d.ts.map +1 -0
- package/dist/patterns/actions/toolbar/toolbar.js +46 -0
- package/dist/patterns/actions/toolbar/toolbar.js.map +1 -0
- package/dist/patterns/layout/page-header/index.d.ts +2 -0
- package/dist/patterns/layout/page-header/index.d.ts.map +1 -0
- package/dist/patterns/layout/page-header/index.js +2 -0
- package/dist/patterns/layout/page-header/index.js.map +1 -0
- package/dist/patterns/layout/page-header/page-header.d.ts +17 -0
- package/dist/patterns/layout/page-header/page-header.d.ts.map +1 -0
- package/dist/patterns/layout/page-header/page-header.js +7 -0
- package/dist/patterns/layout/page-header/page-header.js.map +1 -0
- package/dist/patterns/layout/settings-section/index.d.ts +2 -0
- package/dist/patterns/layout/settings-section/index.d.ts.map +1 -0
- package/dist/patterns/layout/settings-section/index.js +2 -0
- package/dist/patterns/layout/settings-section/index.js.map +1 -0
- package/dist/patterns/layout/settings-section/settings-section.d.ts +33 -0
- package/dist/patterns/layout/settings-section/settings-section.d.ts.map +1 -0
- package/dist/patterns/layout/settings-section/settings-section.js +15 -0
- package/dist/patterns/layout/settings-section/settings-section.js.map +1 -0
- package/dist/patterns/layout/split-layout/index.d.ts +2 -0
- package/dist/patterns/layout/split-layout/index.d.ts.map +1 -0
- package/dist/patterns/layout/split-layout/index.js +2 -0
- package/dist/patterns/layout/split-layout/index.js.map +1 -0
- package/dist/patterns/layout/split-layout/split-layout.d.ts +21 -0
- package/dist/patterns/layout/split-layout/split-layout.d.ts.map +1 -0
- package/dist/patterns/layout/split-layout/split-layout.js +10 -0
- package/dist/patterns/layout/split-layout/split-layout.js.map +1 -0
- package/dist/patterns/search/filter-bar/filter-bar.d.ts +25 -0
- package/dist/patterns/search/filter-bar/filter-bar.d.ts.map +1 -0
- package/dist/patterns/search/filter-bar/filter-bar.js +13 -0
- package/dist/patterns/search/filter-bar/filter-bar.js.map +1 -0
- package/dist/patterns/search/filter-bar/index.d.ts +2 -0
- package/dist/patterns/search/filter-bar/index.d.ts.map +1 -0
- package/dist/patterns/search/filter-bar/index.js +2 -0
- package/dist/patterns/search/filter-bar/index.js.map +1 -0
- package/dist/styles.css +2437 -0
- package/package.json +72 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface DescriptionListProps extends HTMLAttributes<HTMLDListElement> {
|
|
3
|
+
columns?: 1 | 2 | 3;
|
|
4
|
+
/** `stacked` (default) puts the term above the value; `inline` side by side. */
|
|
5
|
+
layout?: 'stacked' | 'inline';
|
|
6
|
+
}
|
|
7
|
+
/** Key/value facts on detail pages (owner, stage, created, …). */
|
|
8
|
+
export declare function DescriptionList({ columns, layout, className, ...rest }: DescriptionListProps): import("react").JSX.Element;
|
|
9
|
+
export interface DescriptionItemProps {
|
|
10
|
+
term: ReactNode;
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
/** Span all columns. */
|
|
13
|
+
wide?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function DescriptionItem({ term, children, wide, className }: DescriptionItemProps): import("react").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=description-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description-list.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/description-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IAC5E,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,gFAAgF;IAChF,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC/B;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,EAC9B,OAAW,EACX,MAAkB,EAClB,SAAS,EACT,GAAG,IAAI,EACR,EAAE,oBAAoB,+BAItB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,wBAAwB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAOxF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cx } from '../../../internal/cx.js';
|
|
3
|
+
/** Key/value facts on detail pages (owner, stage, created, …). */
|
|
4
|
+
export function DescriptionList({ columns = 2, layout = 'stacked', className, ...rest }) {
|
|
5
|
+
return (_jsx("dl", { ...rest, "data-columns": columns, "data-layout": layout, className: cx('mn-dl', className) }));
|
|
6
|
+
}
|
|
7
|
+
export function DescriptionItem({ term, children, wide, className }) {
|
|
8
|
+
return (_jsxs("div", { className: cx('mn-dl__item', className), "data-wide": wide || undefined, children: [_jsx("dt", { className: "mn-dl__term", children: term }), _jsx("dd", { className: "mn-dl__value", children: children })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=description-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description-list.js","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/description-list.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAQ7C,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,GAAG,CAAC,EACX,MAAM,GAAG,SAAS,EAClB,SAAS,EACT,GAAG,IAAI,EACc;IACrB,OAAO,CACL,gBAAQ,IAAI,kBAAgB,OAAO,iBAAe,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,GAAI,CAChG,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAwB;IACvF,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,eAAa,IAAI,IAAI,SAAS,aACxE,aAAI,SAAS,EAAC,aAAa,YAAE,IAAI,GAAM,EACvC,aAAI,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAM,IACxC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
3
|
+
export interface ProgressProps extends Omit<ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>, 'value'> {
|
|
4
|
+
/** 0–`max`. Omit for indeterminate. */
|
|
5
|
+
value?: number | null;
|
|
6
|
+
max?: number;
|
|
7
|
+
/** Accessible name, e.g. "Upload progress". Required unless aria-labelledby is set. */
|
|
8
|
+
label?: string;
|
|
9
|
+
size?: 'sm' | 'md';
|
|
10
|
+
tone?: 'accent' | 'success' | 'warning' | 'danger';
|
|
11
|
+
}
|
|
12
|
+
/** Linear progress bar; `value` undefined renders an indeterminate animation. */
|
|
13
|
+
export declare const Progress: import("react").ForwardRefExoticComponent<ProgressProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
|
+
//# sourceMappingURL=progress-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAmB,MAAM,OAAO,CAAC;AACnF,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAG9D,MAAM,WAAW,aAAc,SAAQ,IAAI,CACzC,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,EACvD,OAAO,CACR;IACC,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CACpD;AAED,iFAAiF;AACjF,eAAO,MAAM,QAAQ,0GA4BpB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
4
|
+
import { cx } from '../../../internal/cx.js';
|
|
5
|
+
/** Linear progress bar; `value` undefined renders an indeterminate animation. */
|
|
6
|
+
export const Progress = forwardRef(function Progress({ value, max = 100, label, size = 'md', tone = 'accent', className, ...rest }, ref) {
|
|
7
|
+
const pct = value === undefined || value === null
|
|
8
|
+
? undefined
|
|
9
|
+
: Math.min(100, Math.max(0, (value / max) * 100));
|
|
10
|
+
return (_jsx(ProgressPrimitive.Root, { ref: ref, value: value ?? null, max: max, "aria-label": label, ...rest, "data-size": size, "data-tone": tone, "data-indeterminate": pct === undefined || undefined, className: cx('mn-progress', className), children: _jsx(ProgressPrimitive.Indicator, { className: "mn-progress__bar", style: pct === undefined ? undefined : { width: `${pct}%` } }) }));
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=progress-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/progress-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkD,MAAM,OAAO,CAAC;AACnF,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAe7C,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,SAAS,QAAQ,CACf,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAC7E,GAAG;IAEH,MAAM,GAAG,GACP,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QACnC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,CACL,KAAC,iBAAiB,CAAC,IAAI,IACrB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,IAAI,IAAI,EACpB,GAAG,EAAE,GAAG,gBACI,KAAK,KACb,IAAI,eACG,IAAI,eACJ,IAAI,wBACK,GAAG,KAAK,SAAS,IAAI,SAAS,EAClD,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,YAEvC,KAAC,iBAAiB,CAAC,SAAS,IAC1B,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAC3D,GACqB,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface StatCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
/** Formatted value, e.g. "₹12.4L" or "143". */
|
|
5
|
+
value: ReactNode;
|
|
6
|
+
/** Change versus the previous period, e.g. "+12%". */
|
|
7
|
+
delta?: ReactNode;
|
|
8
|
+
/** Direction of the change; `up` is success unless `deltaTone` says otherwise. */
|
|
9
|
+
deltaDirection?: 'up' | 'down' | 'flat';
|
|
10
|
+
/** Override the colour of the delta, e.g. `danger` when up is bad (churn). */
|
|
11
|
+
deltaTone?: 'success' | 'danger' | 'neutral';
|
|
12
|
+
/** Period label, e.g. "vs last 30 days". */
|
|
13
|
+
caption?: ReactNode;
|
|
14
|
+
/** Sparkline or icon slot. */
|
|
15
|
+
visual?: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
/** Single KPI for dashboards (Dots pipelines, Pulse). */
|
|
18
|
+
export declare function StatCard({ label, value, delta, deltaDirection, deltaTone, caption, visual, className, ...rest }: StatCardProps): import("react").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=stat-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/stat-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,KAAK,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kFAAkF;IAClF,cAAc,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7C,4CAA4C;IAC5C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,KAAK,EACL,cAAuB,EACvB,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE,aAAa,+BAiCf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cx } from '../../../internal/cx.js';
|
|
3
|
+
import { VisuallyHidden } from '../../layout/visually-hidden/index.js';
|
|
4
|
+
/** Single KPI for dashboards (Dots pipelines, Pulse). */
|
|
5
|
+
export function StatCard({ label, value, delta, deltaDirection = 'flat', deltaTone, caption, visual, className, ...rest }) {
|
|
6
|
+
const tone = deltaTone ??
|
|
7
|
+
(deltaDirection === 'up' ? 'success' : deltaDirection === 'down' ? 'danger' : 'neutral');
|
|
8
|
+
const srDirection = deltaDirection === 'up' ? 'increase' : deltaDirection === 'down' ? 'decrease' : 'no change';
|
|
9
|
+
return (_jsxs("div", { ...rest, className: cx('mn-stat', className), children: [_jsxs("div", { className: "mn-stat__body", children: [_jsx("p", { className: "mn-stat__label", children: label }), _jsx("p", { className: "mn-stat__value", children: value }), delta !== undefined || caption ? (_jsxs("p", { className: "mn-stat__footer", children: [delta !== undefined ? (_jsxs("span", { className: "mn-stat__delta", "data-tone": tone, "data-direction": deltaDirection, children: [_jsx("span", { "aria-hidden": true, children: deltaDirection === 'up' ? '↑' : deltaDirection === 'down' ? '↓' : '→' }), _jsxs(VisuallyHidden, { children: [srDirection, " "] }), delta] })) : null, caption ? _jsx("span", { className: "mn-stat__caption", children: caption }) : null] })) : null] }), visual ? (_jsx("div", { className: "mn-stat__visual", "aria-hidden": true, children: visual })) : null] }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=stat-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-card.js","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/stat-card.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAkBvE,yDAAyD;AACzD,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,KAAK,EACL,cAAc,GAAG,MAAM,EACvB,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACO;IACd,MAAM,IAAI,GACR,SAAS;QACT,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,WAAW,GACf,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC9F,OAAO,CACL,kBAAS,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,aAChD,eAAK,SAAS,EAAC,eAAe,aAC5B,YAAG,SAAS,EAAC,gBAAgB,YAAE,KAAK,GAAK,EACzC,YAAG,SAAS,EAAC,gBAAgB,YAAE,KAAK,GAAK,EACxC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAChC,aAAG,SAAS,EAAC,iBAAiB,aAC3B,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CACrB,gBAAM,SAAS,EAAC,gBAAgB,eAAY,IAAI,oBAAkB,cAAc,aAC9E,8CACG,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GACjE,EACP,MAAC,cAAc,eAAE,WAAW,SAAmB,EAC9C,KAAK,IACD,CACR,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,kBAAkB,YAAE,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,IACnE,CACL,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,MAAM,CAAC,CAAC,CAAC,CACR,cAAK,SAAS,EAAC,iBAAiB,iCAC7B,MAAM,GACH,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/** The semantic tones a status maps to. They are Monarch intent tokens, so every theme works. */
|
|
3
|
+
export type StatusTone = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger';
|
|
4
|
+
export interface StatusDefinition {
|
|
5
|
+
/** Human label shown in the badge ("Partial outage"), never the raw enum. */
|
|
6
|
+
label: string;
|
|
7
|
+
tone: StatusTone;
|
|
8
|
+
/**
|
|
9
|
+
* Decorative icon. A distinct shape per status means colour is never the
|
|
10
|
+
* only signal. `null` for none.
|
|
11
|
+
*/
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Custom colour as `#rrggbb` (for example a workspace-defined ticket
|
|
15
|
+
* status). Used for the dot, icon and border only; the text stays a theme
|
|
16
|
+
* token. Adjusted per theme until it reaches 3:1 against the surface
|
|
17
|
+
* (WCAG 1.4.11); see `checkStatusColor`.
|
|
18
|
+
*/
|
|
19
|
+
color?: string;
|
|
20
|
+
/** One line explaining the status, for a tooltip or legend the product renders. */
|
|
21
|
+
description?: string;
|
|
22
|
+
}
|
|
23
|
+
export type StatusRegistry<K extends string = string> = Readonly<Record<K, StatusDefinition>>;
|
|
24
|
+
/** The statuses Monarch ships. Service health first, then the generic set. */
|
|
25
|
+
export declare const builtInStatuses: {
|
|
26
|
+
readonly operational: {
|
|
27
|
+
readonly label: "Operational";
|
|
28
|
+
readonly tone: "success";
|
|
29
|
+
readonly icon: import("react").JSX.Element;
|
|
30
|
+
};
|
|
31
|
+
readonly degraded: {
|
|
32
|
+
readonly label: "Degraded";
|
|
33
|
+
readonly tone: "warning";
|
|
34
|
+
readonly icon: import("react").JSX.Element;
|
|
35
|
+
};
|
|
36
|
+
readonly partial: {
|
|
37
|
+
readonly label: "Partial outage";
|
|
38
|
+
readonly tone: "warning";
|
|
39
|
+
readonly icon: import("react").JSX.Element;
|
|
40
|
+
};
|
|
41
|
+
readonly down: {
|
|
42
|
+
readonly label: "Down";
|
|
43
|
+
readonly tone: "danger";
|
|
44
|
+
readonly icon: import("react").JSX.Element;
|
|
45
|
+
};
|
|
46
|
+
readonly maintenance: {
|
|
47
|
+
readonly label: "Maintenance";
|
|
48
|
+
readonly tone: "info";
|
|
49
|
+
readonly icon: import("react").JSX.Element;
|
|
50
|
+
};
|
|
51
|
+
readonly unknown: {
|
|
52
|
+
readonly label: "Unknown";
|
|
53
|
+
readonly tone: "neutral";
|
|
54
|
+
readonly icon: import("react").JSX.Element;
|
|
55
|
+
};
|
|
56
|
+
readonly success: {
|
|
57
|
+
readonly label: "Success";
|
|
58
|
+
readonly tone: "success";
|
|
59
|
+
readonly icon: import("react").JSX.Element;
|
|
60
|
+
};
|
|
61
|
+
readonly warning: {
|
|
62
|
+
readonly label: "Warning";
|
|
63
|
+
readonly tone: "warning";
|
|
64
|
+
readonly icon: import("react").JSX.Element;
|
|
65
|
+
};
|
|
66
|
+
readonly danger: {
|
|
67
|
+
readonly label: "Error";
|
|
68
|
+
readonly tone: "danger";
|
|
69
|
+
readonly icon: import("react").JSX.Element;
|
|
70
|
+
};
|
|
71
|
+
readonly info: {
|
|
72
|
+
readonly label: "Info";
|
|
73
|
+
readonly tone: "info";
|
|
74
|
+
readonly icon: import("react").JSX.Element;
|
|
75
|
+
};
|
|
76
|
+
readonly neutral: {
|
|
77
|
+
readonly label: "Neutral";
|
|
78
|
+
readonly tone: "neutral";
|
|
79
|
+
readonly icon: import("react").JSX.Element;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export type BuiltInStatus = keyof typeof builtInStatuses;
|
|
83
|
+
/** Result of the contrast guard for a custom colour. */
|
|
84
|
+
export interface StatusColorCheck {
|
|
85
|
+
/** The colour as given. */
|
|
86
|
+
input: string;
|
|
87
|
+
/** Colour for light and more-contrast light themes. */
|
|
88
|
+
light: string;
|
|
89
|
+
/** Colour for dark and more-contrast dark themes. */
|
|
90
|
+
dark: string;
|
|
91
|
+
/** Text colour for a solid fill of `light` (4.5:1 or more). */
|
|
92
|
+
onLight: string;
|
|
93
|
+
/** Text colour for a solid fill of `dark` (4.5:1 or more). */
|
|
94
|
+
onDark: string;
|
|
95
|
+
/** True when the input had to be darkened or lightened for at least one theme. */
|
|
96
|
+
adjusted: boolean;
|
|
97
|
+
/** Contrast of the input against each theme's surface. */
|
|
98
|
+
ratios: {
|
|
99
|
+
light: number;
|
|
100
|
+
dark: number;
|
|
101
|
+
'hc-light': number;
|
|
102
|
+
'hc-dark': number;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The contrast guard. Measures `#rrggbb` against the surface of every Monarch
|
|
107
|
+
* theme and, where it is below the theme's non-text target (3:1, or more in
|
|
108
|
+
* the more-contrast themes), moves its lightness until it passes. Hue and
|
|
109
|
+
* saturation are kept, so a workspace's colour stays recognisable. Returns
|
|
110
|
+
* `null` for anything that is not `#rrggbb`.
|
|
111
|
+
*/
|
|
112
|
+
export declare function checkStatusColor(color: string): StatusColorCheck | null;
|
|
113
|
+
/**
|
|
114
|
+
* Defines a product's own statuses, typed by key. Custom colours are checked
|
|
115
|
+
* up front: an invalid one throws here, in development, instead of rendering
|
|
116
|
+
* an unreadable badge.
|
|
117
|
+
*
|
|
118
|
+
* const ticketStatuses = defineStatuses({
|
|
119
|
+
* open: { label: 'Open', tone: 'info' },
|
|
120
|
+
* waiting: { label: 'Waiting on customer', tone: 'warning', icon: <Clock /> },
|
|
121
|
+
* });
|
|
122
|
+
*/
|
|
123
|
+
export declare function defineStatuses<K extends string>(definitions: Record<K, StatusDefinition>): StatusRegistry<K>;
|
|
124
|
+
/** With `{ extend: true }` the result also contains the built-in statuses. */
|
|
125
|
+
export declare function defineStatuses<K extends string>(definitions: Record<K, StatusDefinition>, options: {
|
|
126
|
+
extend: true;
|
|
127
|
+
}): StatusRegistry<K | BuiltInStatus>;
|
|
128
|
+
export interface StatusRegistryProviderProps {
|
|
129
|
+
/** Statuses added to (and overriding) the built-in set for everything inside. */
|
|
130
|
+
statuses: StatusRegistry;
|
|
131
|
+
children: ReactNode;
|
|
132
|
+
}
|
|
133
|
+
/** Makes a product's statuses available to every StatusBadge below it. Nested providers add up. */
|
|
134
|
+
export declare function StatusRegistryProvider({ statuses, children }: StatusRegistryProviderProps): import("react").JSX.Element;
|
|
135
|
+
/** "pending_delete" → "Pending delete". Used for statuses that are not in the registry. */
|
|
136
|
+
export declare function formatStatusLabel(status: string): string;
|
|
137
|
+
/**
|
|
138
|
+
* Looks up a status: the `statuses` argument first, then the nearest
|
|
139
|
+
* StatusRegistryProvider, then the built-in set. Unknown values resolve to
|
|
140
|
+
* the neutral "unknown" look with a readable label, never a raw enum.
|
|
141
|
+
*/
|
|
142
|
+
export declare function resolveStatus(status: string | null | undefined, ...registries: (StatusRegistry | null | undefined)[]): StatusDefinition & {
|
|
143
|
+
known: boolean;
|
|
144
|
+
};
|
|
145
|
+
export interface StatusBadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {
|
|
146
|
+
/** The status key: a built-in one or one from `statuses` / a StatusRegistryProvider. */
|
|
147
|
+
status: BuiltInStatus | (string & {}) | null | undefined;
|
|
148
|
+
/** Statuses for this badge only, checked before the provider and the built-in set. */
|
|
149
|
+
statuses?: StatusRegistry;
|
|
150
|
+
/** Overrides the registry label, for example with a translated string. */
|
|
151
|
+
label?: ReactNode;
|
|
152
|
+
/**
|
|
153
|
+
* `subtle` (default) tinted pill; `outline` for dense tables; `solid` for a
|
|
154
|
+
* single prominent status; `dot` for a quiet coloured dot plus text.
|
|
155
|
+
*/
|
|
156
|
+
variant?: 'subtle' | 'outline' | 'solid' | 'dot';
|
|
157
|
+
size?: 'sm' | 'md';
|
|
158
|
+
/** Replaces the registry icon. `false` hides it (the text still carries the meaning). */
|
|
159
|
+
icon?: ReactNode | false;
|
|
160
|
+
/** Overrides the registry colour (`#rrggbb`), passed through the contrast guard. */
|
|
161
|
+
color?: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* A status shown as text plus a tone and a distinct icon or dot, so colour is
|
|
165
|
+
* never the only signal. Statuses come from a typed registry that products
|
|
166
|
+
* extend with `defineStatuses` and `StatusRegistryProvider`.
|
|
167
|
+
*/
|
|
168
|
+
export declare const StatusBadge: import("react").ForwardRefExoticComponent<StatusBadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
169
|
+
//# sourceMappingURL=status-badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/status-badge.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, forwardRef, useContext, useMemo, } from 'react';
|
|
4
|
+
import { bestForeground, contrast, ensureContrast, fromHex, themes, toHex, } from '@rookcom/monarch-tokens';
|
|
5
|
+
import { cx } from '../../../internal/cx.js';
|
|
6
|
+
import { DotGlyph, ErrorGlyph, HelpGlyph, InfoGlyph, PartialGlyph, SuccessGlyph, WarningGlyph, WrenchGlyph, } from '../../../internal/icons.js';
|
|
7
|
+
/** The statuses Monarch ships. Service health first, then the generic set. */
|
|
8
|
+
export const builtInStatuses = {
|
|
9
|
+
operational: { label: 'Operational', tone: 'success', icon: _jsx(SuccessGlyph, {}) },
|
|
10
|
+
degraded: { label: 'Degraded', tone: 'warning', icon: _jsx(WarningGlyph, {}) },
|
|
11
|
+
partial: { label: 'Partial outage', tone: 'warning', icon: _jsx(PartialGlyph, {}) },
|
|
12
|
+
down: { label: 'Down', tone: 'danger', icon: _jsx(ErrorGlyph, {}) },
|
|
13
|
+
maintenance: { label: 'Maintenance', tone: 'info', icon: _jsx(WrenchGlyph, {}) },
|
|
14
|
+
unknown: { label: 'Unknown', tone: 'neutral', icon: _jsx(HelpGlyph, {}) },
|
|
15
|
+
success: { label: 'Success', tone: 'success', icon: _jsx(SuccessGlyph, {}) },
|
|
16
|
+
warning: { label: 'Warning', tone: 'warning', icon: _jsx(WarningGlyph, {}) },
|
|
17
|
+
danger: { label: 'Error', tone: 'danger', icon: _jsx(ErrorGlyph, {}) },
|
|
18
|
+
info: { label: 'Info', tone: 'info', icon: _jsx(InfoGlyph, {}) },
|
|
19
|
+
neutral: { label: 'Neutral', tone: 'neutral', icon: _jsx(DotGlyph, {}) },
|
|
20
|
+
};
|
|
21
|
+
const HEX = /^#[0-9a-f]{6}$/i;
|
|
22
|
+
const TEXT_CANDIDATES = [
|
|
23
|
+
themes.light.neutrals['text-default'],
|
|
24
|
+
themes.light.neutrals['text-inverse'],
|
|
25
|
+
];
|
|
26
|
+
const BLACK_WHITE = [fromHex('#000000'), fromHex('#ffffff')];
|
|
27
|
+
/** Dark or light text, whichever reads better on `hex`; always 4.5:1 or more. */
|
|
28
|
+
function readableOn(hex) {
|
|
29
|
+
const bg = fromHex(hex);
|
|
30
|
+
const best = bestForeground(bg, TEXT_CANDIDATES);
|
|
31
|
+
return toHex(best.ratio >= 4.5 ? best.color : bestForeground(bg, BLACK_WHITE).color);
|
|
32
|
+
}
|
|
33
|
+
const guardCache = new Map();
|
|
34
|
+
/**
|
|
35
|
+
* The contrast guard. Measures `#rrggbb` against the surface of every Monarch
|
|
36
|
+
* theme and, where it is below the theme's non-text target (3:1, or more in
|
|
37
|
+
* the more-contrast themes), moves its lightness until it passes. Hue and
|
|
38
|
+
* saturation are kept, so a workspace's colour stays recognisable. Returns
|
|
39
|
+
* `null` for anything that is not `#rrggbb`.
|
|
40
|
+
*/
|
|
41
|
+
export function checkStatusColor(color) {
|
|
42
|
+
const cached = guardCache.get(color);
|
|
43
|
+
if (cached !== undefined)
|
|
44
|
+
return cached;
|
|
45
|
+
let result = null;
|
|
46
|
+
if (HEX.test(color)) {
|
|
47
|
+
const c = fromHex(color);
|
|
48
|
+
const surface = (id) => themes[id].neutrals['bg-surface'];
|
|
49
|
+
const ratios = {
|
|
50
|
+
light: contrast(c, surface('light')),
|
|
51
|
+
dark: contrast(c, surface('dark')),
|
|
52
|
+
'hc-light': contrast(c, surface('hc-light')),
|
|
53
|
+
'hc-dark': contrast(c, surface('hc-dark')),
|
|
54
|
+
};
|
|
55
|
+
const fit = (ids, dir) => {
|
|
56
|
+
const target = Math.max(...ids.map((id) => themes[id].targets.ui));
|
|
57
|
+
const against = ids.map(surface);
|
|
58
|
+
if (against.every((bg) => contrast(c, bg) >= target))
|
|
59
|
+
return { hex: color.toLowerCase(), moved: false };
|
|
60
|
+
return { hex: toHex(ensureContrast(c, against, target, dir)), moved: true };
|
|
61
|
+
};
|
|
62
|
+
const light = fit(['light', 'hc-light'], 'darken');
|
|
63
|
+
const dark = fit(['dark', 'hc-dark'], 'lighten');
|
|
64
|
+
result = {
|
|
65
|
+
input: color,
|
|
66
|
+
light: light.hex,
|
|
67
|
+
dark: dark.hex,
|
|
68
|
+
onLight: readableOn(light.hex),
|
|
69
|
+
onDark: readableOn(dark.hex),
|
|
70
|
+
adjusted: light.moved || dark.moved,
|
|
71
|
+
ratios,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
guardCache.set(color, result);
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
export function defineStatuses(definitions, options = {}) {
|
|
78
|
+
for (const [key, def] of Object.entries(definitions)) {
|
|
79
|
+
if (def.color !== undefined && checkStatusColor(def.color) === null) {
|
|
80
|
+
throw new Error(`defineStatuses: "${key}" has colour "${def.color}"; use #rrggbb.`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return options.extend ? { ...builtInStatuses, ...definitions } : { ...definitions };
|
|
84
|
+
}
|
|
85
|
+
const StatusRegistryContext = createContext(null);
|
|
86
|
+
/** Makes a product's statuses available to every StatusBadge below it. Nested providers add up. */
|
|
87
|
+
export function StatusRegistryProvider({ statuses, children }) {
|
|
88
|
+
const parent = useContext(StatusRegistryContext);
|
|
89
|
+
const value = useMemo(() => ({ ...(parent ?? {}), ...statuses }), [parent, statuses]);
|
|
90
|
+
return _jsx(StatusRegistryContext.Provider, { value: value, children: children });
|
|
91
|
+
}
|
|
92
|
+
/** "pending_delete" → "Pending delete". Used for statuses that are not in the registry. */
|
|
93
|
+
export function formatStatusLabel(status) {
|
|
94
|
+
const words = status.replace(/[_-]+/g, ' ').trim().toLowerCase();
|
|
95
|
+
return words ? words.charAt(0).toUpperCase() + words.slice(1) : 'Unknown';
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Looks up a status: the `statuses` argument first, then the nearest
|
|
99
|
+
* StatusRegistryProvider, then the built-in set. Unknown values resolve to
|
|
100
|
+
* the neutral "unknown" look with a readable label, never a raw enum.
|
|
101
|
+
*/
|
|
102
|
+
export function resolveStatus(status, ...registries) {
|
|
103
|
+
const key = status ?? 'unknown';
|
|
104
|
+
for (const registry of [...registries, builtInStatuses]) {
|
|
105
|
+
const def = registry && Object.prototype.hasOwnProperty.call(registry, key) ? registry[key] : undefined;
|
|
106
|
+
if (def)
|
|
107
|
+
return { ...def, known: true };
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
...builtInStatuses.unknown,
|
|
111
|
+
label: status ? formatStatusLabel(status) : 'Unknown',
|
|
112
|
+
known: false,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* A status shown as text plus a tone and a distinct icon or dot, so colour is
|
|
117
|
+
* never the only signal. Statuses come from a typed registry that products
|
|
118
|
+
* extend with `defineStatuses` and `StatusRegistryProvider`.
|
|
119
|
+
*/
|
|
120
|
+
export const StatusBadge = forwardRef(function StatusBadge({ status, statuses, label, variant = 'subtle', size = 'md', icon, color, className, style, children, ...rest }, ref) {
|
|
121
|
+
const provided = useContext(StatusRegistryContext);
|
|
122
|
+
const def = resolveStatus(status, statuses, provided);
|
|
123
|
+
const custom = checkStatusColor(color ?? def.color ?? '');
|
|
124
|
+
// The dot variant shows a dot instead of the icon, unless an icon is passed explicitly.
|
|
125
|
+
const explicitIcon = icon !== undefined && icon !== false;
|
|
126
|
+
const shownIcon = icon === false ? null : explicitIcon ? icon : variant === 'dot' ? null : def.icon;
|
|
127
|
+
// A custom colour must be visible somewhere: without an icon it gets a dot.
|
|
128
|
+
const showDot = !explicitIcon && (variant === 'dot' || (custom !== null && !shownIcon));
|
|
129
|
+
const customStyle = custom
|
|
130
|
+
? {
|
|
131
|
+
'--mn-status-light': custom.light,
|
|
132
|
+
'--mn-status-dark': custom.dark,
|
|
133
|
+
'--mn-status-on-light': custom.onLight,
|
|
134
|
+
'--mn-status-on-dark': custom.onDark,
|
|
135
|
+
}
|
|
136
|
+
: undefined;
|
|
137
|
+
return (_jsxs("span", { ref: ref, ...rest, className: cx('mn-status-badge', className), style: customStyle ? { ...customStyle, ...style } : style, "data-status": status ?? 'unknown', "data-tone": def.tone, "data-variant": variant, "data-size": size, "data-custom-color": custom ? '' : undefined, "data-known": def.known ? undefined : 'false', children: [showDot ? _jsx("span", { className: "mn-status-badge__dot", "aria-hidden": true }) : null, shownIcon ? (_jsx("span", { className: "mn-status-badge__icon", "aria-hidden": true, children: shownIcon })) : null, _jsx("span", { className: "mn-status-badge__label", children: label ?? children ?? def.label })] }));
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=status-badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-badge.js","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/status-badge.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type HTMLAttributes, type TableHTMLAttributes, type TdHTMLAttributes, type ThHTMLAttributes } from 'react';
|
|
2
|
+
import { type CheckboxProps } from '../../forms/checkbox/index.js';
|
|
3
|
+
export interface TableProps extends TableHTMLAttributes<HTMLTableElement> {
|
|
4
|
+
/** Row height. `compact` for dense data, `comfortable` (default) for mixed content. */
|
|
5
|
+
density?: 'compact' | 'comfortable';
|
|
6
|
+
/** Keep the header visible while the body scrolls (the wrapper needs a height). */
|
|
7
|
+
stickyHeader?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Data table primitives. Wrap in `<Card flush>` for a framed table. Pass a
|
|
11
|
+
* `<TableCaption>` or `aria-label` so the table has an accessible name.
|
|
12
|
+
*/
|
|
13
|
+
export declare const Table: import("react").ForwardRefExoticComponent<TableProps & import("react").RefAttributes<HTMLTableElement>>;
|
|
14
|
+
export declare function TableHeader({ className, ...rest }: HTMLAttributes<HTMLTableSectionElement>): import("react").JSX.Element;
|
|
15
|
+
export declare function TableBody({ className, ...rest }: HTMLAttributes<HTMLTableSectionElement>): import("react").JSX.Element;
|
|
16
|
+
export interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
|
|
17
|
+
/** Highlights the row (also sets aria-selected). */
|
|
18
|
+
selected?: boolean;
|
|
19
|
+
/** Pointer affordance for rows that open something on click. Keep a real link or button inside. */
|
|
20
|
+
interactive?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function TableRow({ selected, interactive, className, ...rest }: TableRowProps): import("react").JSX.Element;
|
|
23
|
+
export type SortDirection = 'ascending' | 'descending' | 'none';
|
|
24
|
+
export interface TableHeadProps extends ThHTMLAttributes<HTMLTableCellElement> {
|
|
25
|
+
/** Current sort of this column. Renders a SortButton and sets aria-sort. */
|
|
26
|
+
sort?: SortDirection;
|
|
27
|
+
/** Called when the sort button is pressed. Required when `sort` is set. */
|
|
28
|
+
onSortChange?: (next: 'ascending' | 'descending') => void;
|
|
29
|
+
/** Right-align numbers. */
|
|
30
|
+
numeric?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare function TableHead({ sort, onSortChange, numeric, className, children, scope, ...rest }: TableHeadProps): import("react").JSX.Element;
|
|
33
|
+
export interface SortButtonProps {
|
|
34
|
+
direction: SortDirection;
|
|
35
|
+
onClick: () => void;
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
}
|
|
38
|
+
/** Column sort toggle; its accessible name states the current direction. */
|
|
39
|
+
export declare function SortButton({ direction, onClick, children }: SortButtonProps): import("react").JSX.Element;
|
|
40
|
+
export interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
|
|
41
|
+
numeric?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare function TableCell({ numeric, className, ...rest }: TableCellProps): import("react").JSX.Element;
|
|
44
|
+
export declare function TableCaption({ className, ...rest }: HTMLAttributes<HTMLTableCaptionElement>): import("react").JSX.Element;
|
|
45
|
+
export interface TableSelectCellProps extends Omit<CheckboxProps, 'label' | 'description'> {
|
|
46
|
+
/** Accessible name, e.g. "Select ticket 42" or "Select all". */
|
|
47
|
+
label: string;
|
|
48
|
+
/** Render as a header cell (for the select-all checkbox). */
|
|
49
|
+
header?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/** Narrow checkbox column for row selection. */
|
|
52
|
+
export declare function TableSelectCell({ label, header, className, ...rest }: TableSelectCellProps): import("react").JSX.Element;
|
|
53
|
+
//# sourceMappingURL=data-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../../src/components/data-grid/data-table/data-table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE7E,MAAM,WAAW,UAAW,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IACvE,uFAAuF;IACvF,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,yGAehB,CAAC;AAEH,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,uBAAuB,CAAC,+BAE1F;AAED,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,uBAAuB,CAAC,+BAExF;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IACxE,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,+BAUpF;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,cAAe,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IAC5E,4EAA4E;IAC5E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,KAAK,IAAI,CAAC;IAC1D,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAa,EACb,GAAG,IAAI,EACR,EAAE,cAAc,+BAsBhB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,+BAc3E;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAIxE;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,uBAAuB,CAAC,+BAE3F;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,CAAC;IACxF,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,MAAc,EACd,SAAS,EACT,GAAG,IAAI,EACR,EAAE,oBAAoB,+BAUtB"}
|