@accelint/design-toolkit 8.1.2 → 9.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/README.md +1 -0
- package/catalog-info.yaml +5 -7
- package/dist/components/accordion/context.d.ts +19 -5
- package/dist/components/accordion/context.js +21 -1
- package/dist/components/accordion/context.js.map +1 -1
- package/dist/components/accordion/group.d.ts +25 -6
- package/dist/components/accordion/group.js +38 -1
- package/dist/components/accordion/group.js.map +1 -1
- package/dist/components/accordion/header.d.ts +22 -6
- package/dist/components/accordion/header.js +47 -1
- package/dist/components/accordion/header.js.map +1 -1
- package/dist/components/accordion/index.d.ts +23 -7
- package/dist/components/accordion/index.js +82 -1
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/accordion/panel.d.ts +23 -6
- package/dist/components/accordion/panel.js +31 -1
- package/dist/components/accordion/panel.js.map +1 -1
- package/dist/components/accordion/styles.module.css +14 -2
- package/dist/components/accordion/trigger.d.ts +22 -6
- package/dist/components/accordion/trigger.js +47 -1
- package/dist/components/accordion/trigger.js.map +1 -1
- package/dist/components/accordion/types.d.ts +24 -10
- package/dist/components/accordion/types.js +12 -2
- package/dist/components/action-bar/index.d.ts +23 -5
- package/dist/components/action-bar/index.js +51 -1
- package/dist/components/action-bar/index.js.map +1 -1
- package/dist/components/action-bar/styles.module.css +1 -1
- package/dist/components/action-bar/types.d.ts +18 -4
- package/dist/components/action-bar/types.js +12 -2
- package/dist/components/avatar/context.d.ts +25 -8
- package/dist/components/avatar/context.js +28 -1
- package/dist/components/avatar/context.js.map +1 -1
- package/dist/components/avatar/index.d.ts +23 -6
- package/dist/components/avatar/index.js +92 -1
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/avatar/styles.module.css +1 -1
- package/dist/components/avatar/types.d.ts +27 -13
- package/dist/components/avatar/types.js +12 -2
- package/dist/components/badge/context.d.ts +25 -8
- package/dist/components/badge/context.js +28 -1
- package/dist/components/badge/context.js.map +1 -1
- package/dist/components/badge/index.d.ts +23 -6
- package/dist/components/badge/index.js +61 -1
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/badge/styles.module.css +1 -1
- package/dist/components/badge/types.d.ts +25 -11
- package/dist/components/badge/types.js +12 -2
- package/dist/components/breadcrumbs/index.d.ts +22 -4
- package/dist/components/breadcrumbs/index.js +41 -1
- package/dist/components/breadcrumbs/index.js.map +1 -1
- package/dist/components/breadcrumbs/item.d.ts +23 -4
- package/dist/components/breadcrumbs/item.js +40 -1
- package/dist/components/breadcrumbs/item.js.map +1 -1
- package/dist/components/breadcrumbs/styles.module.css +1 -1
- package/dist/components/breadcrumbs/types.d.ts +30 -16
- package/dist/components/breadcrumbs/types.js +12 -2
- package/dist/components/button/context.d.ts +35 -11
- package/dist/components/button/context.js +42 -1
- package/dist/components/button/context.js.map +1 -1
- package/dist/components/button/index.d.ts +23 -7
- package/dist/components/button/index.js +74 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/link.d.ts +23 -7
- package/dist/components/button/link.js +74 -1
- package/dist/components/button/link.js.map +1 -1
- package/dist/components/button/styles.module.css +1 -1
- package/dist/components/button/toggle.d.ts +23 -7
- package/dist/components/button/toggle.js +76 -1
- package/dist/components/button/toggle.js.map +1 -1
- package/dist/components/button/types.d.ts +22 -9
- package/dist/components/button/types.js +12 -2
- package/dist/components/checkbox/context.d.ts +20 -7
- package/dist/components/checkbox/context.js +22 -1
- package/dist/components/checkbox/context.js.map +1 -1
- package/dist/components/checkbox/group.d.ts +21 -7
- package/dist/components/checkbox/group.js +41 -1
- package/dist/components/checkbox/group.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +23 -8
- package/dist/components/checkbox/index.js +78 -1
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/styles.module.css +1 -1
- package/dist/components/checkbox/types.d.ts +31 -17
- package/dist/components/checkbox/types.js +12 -2
- package/dist/components/chip/context.d.ts +25 -7
- package/dist/components/chip/context.js +28 -1
- package/dist/components/chip/context.js.map +1 -1
- package/dist/components/chip/deletable.d.ts +21 -5
- package/dist/components/chip/deletable.js +53 -1
- package/dist/components/chip/deletable.js.map +1 -1
- package/dist/components/chip/index.d.ts +52 -17
- package/dist/components/chip/index.js +94 -1
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/chip/list.d.ts +23 -6
- package/dist/components/chip/list.js +48 -1
- package/dist/components/chip/list.js.map +1 -1
- package/dist/components/chip/selectable.d.ts +21 -5
- package/dist/components/chip/selectable.js +35 -1
- package/dist/components/chip/selectable.js.map +1 -1
- package/dist/components/chip/styles.module.css +1 -1
- package/dist/components/chip/types.d.ts +25 -11
- package/dist/components/chip/types.js +12 -2
- package/dist/components/classification-badge/context.d.ts +25 -8
- package/dist/components/classification-badge/context.js +28 -1
- package/dist/components/classification-badge/context.js.map +1 -1
- package/dist/components/classification-badge/index.d.ts +22 -6
- package/dist/components/classification-badge/index.js +58 -1
- package/dist/components/classification-badge/index.js.map +1 -1
- package/dist/components/classification-badge/styles.module.css +1 -1
- package/dist/components/classification-badge/types.d.ts +19 -5
- package/dist/components/classification-badge/types.js +12 -2
- package/dist/components/classification-banner/context.d.ts +25 -7
- package/dist/components/classification-banner/context.js +28 -1
- package/dist/components/classification-banner/context.js.map +1 -1
- package/dist/components/classification-banner/index.d.ts +22 -5
- package/dist/components/classification-banner/index.js +54 -1
- package/dist/components/classification-banner/index.js.map +1 -1
- package/dist/components/classification-banner/styles.module.css +1 -1
- package/dist/components/classification-banner/types.d.ts +18 -4
- package/dist/components/classification-banner/types.js +12 -2
- package/dist/components/clock/index.d.ts +23 -5
- package/dist/components/clock/index.js +65 -1
- package/dist/components/clock/index.js.map +1 -1
- package/dist/components/clock/types.d.ts +18 -4
- package/dist/components/clock/types.js +12 -2
- package/dist/components/color-picker/index.d.ts +24 -6
- package/dist/components/color-picker/index.js +74 -1
- package/dist/components/color-picker/index.js.map +1 -1
- package/dist/components/color-picker/styles.module.css +1 -1
- package/dist/components/color-picker/types.d.ts +24 -10
- package/dist/components/color-picker/types.js +12 -2
- package/dist/components/combobox-field/context.d.ts +26 -10
- package/dist/components/combobox-field/context.js +28 -1
- package/dist/components/combobox-field/context.js.map +1 -1
- package/dist/components/combobox-field/index.d.ts +23 -10
- package/dist/components/combobox-field/index.js +91 -1
- package/dist/components/combobox-field/index.js.map +1 -1
- package/dist/components/combobox-field/styles.module.css +1 -1
- package/dist/components/combobox-field/types.d.ts +34 -22
- package/dist/components/combobox-field/types.js +12 -2
- package/dist/components/coordinate-field/context.d.ts +34 -13
- package/dist/components/coordinate-field/context.js +102 -1
- package/dist/components/coordinate-field/context.js.map +1 -1
- package/dist/components/coordinate-field/coordinate-utils.d.ts +28 -16
- package/dist/components/coordinate-field/coordinate-utils.js +792 -1
- package/dist/components/coordinate-field/coordinate-utils.js.map +1 -1
- package/dist/components/coordinate-field/index.d.ts +23 -6
- package/dist/components/coordinate-field/index.js +302 -1
- package/dist/components/coordinate-field/index.js.map +1 -1
- package/dist/components/coordinate-field/segment-configs.d.ts +16 -25
- package/dist/components/coordinate-field/segment-configs.js +474 -1
- package/dist/components/coordinate-field/segment-configs.js.map +1 -1
- package/dist/components/coordinate-field/segment.d.ts +38 -6
- package/dist/components/coordinate-field/segment.js +142 -1
- package/dist/components/coordinate-field/segment.js.map +1 -1
- package/dist/components/coordinate-field/styles.module.css +5 -1
- package/dist/components/coordinate-field/types.d.ts +152 -138
- package/dist/components/coordinate-field/types.js +48 -1
- package/dist/components/coordinate-field/types.js.map +1 -1
- package/dist/components/coordinate-field/width-utils.d.ts +16 -4
- package/dist/components/coordinate-field/width-utils.js +52 -1
- package/dist/components/coordinate-field/width-utils.js.map +1 -1
- package/dist/components/date-field/index.d.ts +34 -6
- package/dist/components/date-field/index.js +133 -1
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-field/styles.module.css +1 -1
- package/dist/components/date-field/types.d.ts +34 -20
- package/dist/components/date-field/types.js +12 -2
- package/dist/components/details-list/context.d.ts +25 -7
- package/dist/components/details-list/context.js +28 -1
- package/dist/components/details-list/context.js.map +1 -1
- package/dist/components/details-list/index.d.ts +23 -6
- package/dist/components/details-list/index.js +69 -1
- package/dist/components/details-list/index.js.map +1 -1
- package/dist/components/details-list/label.d.ts +18 -5
- package/dist/components/details-list/label.js +28 -1
- package/dist/components/details-list/label.js.map +1 -1
- package/dist/components/details-list/styles.module.css +1 -1
- package/dist/components/details-list/types.d.ts +24 -10
- package/dist/components/details-list/types.js +12 -2
- package/dist/components/details-list/value.d.ts +18 -5
- package/dist/components/details-list/value.js +28 -1
- package/dist/components/details-list/value.js.map +1 -1
- package/dist/components/dialog/content.d.ts +21 -3
- package/dist/components/dialog/content.js +28 -1
- package/dist/components/dialog/content.js.map +1 -1
- package/dist/components/dialog/context.d.ts +19 -4
- package/dist/components/dialog/context.js +21 -1
- package/dist/components/dialog/context.js.map +1 -1
- package/dist/components/dialog/footer.d.ts +21 -3
- package/dist/components/dialog/footer.js +42 -1
- package/dist/components/dialog/footer.js.map +1 -1
- package/dist/components/dialog/index.d.ts +23 -6
- package/dist/components/dialog/index.js +72 -1
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/styles.module.css +1 -1
- package/dist/components/dialog/title.d.ts +21 -3
- package/dist/components/dialog/title.js +30 -1
- package/dist/components/dialog/title.js.map +1 -1
- package/dist/components/dialog/trigger.d.ts +17 -2
- package/dist/components/dialog/trigger.js +23 -1
- package/dist/components/dialog/trigger.js.map +1 -1
- package/dist/components/dialog/types.d.ts +25 -11
- package/dist/components/dialog/types.js +12 -2
- package/dist/components/divider/context.d.ts +25 -7
- package/dist/components/divider/context.js +28 -1
- package/dist/components/divider/context.js.map +1 -1
- package/dist/components/divider/index.d.ts +22 -5
- package/dist/components/divider/index.js +59 -1
- package/dist/components/divider/index.js.map +1 -1
- package/dist/components/divider/styles.module.css +1 -1
- package/dist/components/divider/types.d.ts +22 -8
- package/dist/components/divider/types.js +12 -2
- package/dist/components/drawer/back.d.ts +17 -2
- package/dist/components/drawer/back.js +36 -1
- package/dist/components/drawer/back.js.map +1 -1
- package/dist/components/drawer/close.d.ts +17 -2
- package/dist/components/drawer/close.js +33 -1
- package/dist/components/drawer/close.js.map +1 -1
- package/dist/components/drawer/content.d.ts +20 -3
- package/dist/components/drawer/content.js +27 -1
- package/dist/components/drawer/content.js.map +1 -1
- package/dist/components/drawer/context.d.ts +35 -27
- package/dist/components/drawer/context.js +47 -1
- package/dist/components/drawer/context.js.map +1 -1
- package/dist/components/drawer/events.d.ts +6 -4
- package/dist/components/drawer/events.js +23 -1
- package/dist/components/drawer/events.js.map +1 -1
- package/dist/components/drawer/footer.d.ts +20 -3
- package/dist/components/drawer/footer.js +27 -1
- package/dist/components/drawer/footer.js.map +1 -1
- package/dist/components/drawer/header-title.d.ts +22 -14
- package/dist/components/drawer/header-title.js +34 -1
- package/dist/components/drawer/header-title.js.map +1 -1
- package/dist/components/drawer/header.d.ts +23 -3
- package/dist/components/drawer/header.js +44 -1
- package/dist/components/drawer/header.js.map +1 -1
- package/dist/components/drawer/index.d.ts +29 -14
- package/dist/components/drawer/index.js +105 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/layout-main.d.ts +20 -3
- package/dist/components/drawer/layout-main.js +27 -1
- package/dist/components/drawer/layout-main.js.map +1 -1
- package/dist/components/drawer/layout.d.ts +22 -13
- package/dist/components/drawer/layout.js +29 -1
- package/dist/components/drawer/layout.js.map +1 -1
- package/dist/components/drawer/menu-item.d.ts +25 -13
- package/dist/components/drawer/menu-item.js +64 -1
- package/dist/components/drawer/menu-item.js.map +1 -1
- package/dist/components/drawer/menu.d.ts +22 -13
- package/dist/components/drawer/menu.js +28 -1
- package/dist/components/drawer/menu.js.map +1 -1
- package/dist/components/drawer/panel.d.ts +20 -3
- package/dist/components/drawer/panel.js +27 -1
- package/dist/components/drawer/panel.js.map +1 -1
- package/dist/components/drawer/styles.module.css +1 -1
- package/dist/components/drawer/trigger.d.ts +21 -13
- package/dist/components/drawer/trigger.js +41 -1
- package/dist/components/drawer/trigger.js.map +1 -1
- package/dist/components/drawer/types.d.ts +178 -165
- package/dist/components/drawer/types.js +12 -2
- package/dist/components/drawer/view.d.ts +24 -8
- package/dist/components/drawer/view.js +45 -1
- package/dist/components/drawer/view.js.map +1 -1
- package/dist/components/flashcard/index.d.ts +32 -19
- package/dist/components/flashcard/index.js +140 -1
- package/dist/components/flashcard/index.js.map +1 -1
- package/dist/components/flashcard/styles.module.css +1 -1
- package/dist/components/flashcard/types.d.ts +21 -8
- package/dist/components/flashcard/types.js +12 -2
- package/dist/components/hero/context.d.ts +19 -4
- package/dist/components/hero/context.js +21 -1
- package/dist/components/hero/context.js.map +1 -1
- package/dist/components/hero/index.d.ts +23 -5
- package/dist/components/hero/index.js +79 -1
- package/dist/components/hero/index.js.map +1 -1
- package/dist/components/hero/styles.module.css +1 -1
- package/dist/components/hero/subtitle.d.ts +18 -3
- package/dist/components/hero/subtitle.js +21 -1
- package/dist/components/hero/subtitle.js.map +1 -1
- package/dist/components/hero/title.d.ts +18 -3
- package/dist/components/hero/title.js +21 -1
- package/dist/components/hero/title.js.map +1 -1
- package/dist/components/hero/types.d.ts +24 -10
- package/dist/components/hero/types.js +12 -2
- package/dist/components/hotkey/context.d.ts +25 -7
- package/dist/components/hotkey/context.js +28 -1
- package/dist/components/hotkey/context.js.map +1 -1
- package/dist/components/hotkey/index.d.ts +24 -5
- package/dist/components/hotkey/index.js +65 -1
- package/dist/components/hotkey/index.js.map +1 -1
- package/dist/components/hotkey/set.d.ts +21 -3
- package/dist/components/hotkey/set.js +32 -1
- package/dist/components/hotkey/set.js.map +1 -1
- package/dist/components/hotkey/styles.module.css +1 -1
- package/dist/components/hotkey/types.d.ts +18 -4
- package/dist/components/hotkey/types.js +12 -2
- package/dist/components/icon/context.d.ts +25 -7
- package/dist/components/icon/context.js +28 -1
- package/dist/components/icon/context.js.map +1 -1
- package/dist/components/icon/index.d.ts +23 -5
- package/dist/components/icon/index.js +64 -1
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/icon/styles.module.css +1 -1
- package/dist/components/icon/types.d.ts +18 -4
- package/dist/components/icon/types.js +12 -2
- package/dist/components/input/context.d.ts +19 -6
- package/dist/components/input/context.js +21 -1
- package/dist/components/input/context.js.map +1 -1
- package/dist/components/input/index.d.ts +23 -8
- package/dist/components/input/index.js +126 -1
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/styles.module.css +1 -1
- package/dist/components/input/types.d.ts +33 -20
- package/dist/components/input/types.js +12 -2
- package/dist/components/kanban/card-body.d.ts +22 -9
- package/dist/components/kanban/card-body.js +29 -1
- package/dist/components/kanban/card-body.js.map +1 -1
- package/dist/components/kanban/card-header-actions.d.ts +22 -9
- package/dist/components/kanban/card-header-actions.js +29 -1
- package/dist/components/kanban/card-header-actions.js.map +1 -1
- package/dist/components/kanban/card-header-title.d.ts +22 -9
- package/dist/components/kanban/card-header-title.js +29 -1
- package/dist/components/kanban/card-header-title.js.map +1 -1
- package/dist/components/kanban/card-header.d.ts +22 -9
- package/dist/components/kanban/card-header.js +30 -1
- package/dist/components/kanban/card-header.js.map +1 -1
- package/dist/components/kanban/card.d.ts +24 -9
- package/dist/components/kanban/card.js +48 -1
- package/dist/components/kanban/card.js.map +1 -1
- package/dist/components/kanban/column-actions.d.ts +22 -9
- package/dist/components/kanban/column-actions.js +37 -1
- package/dist/components/kanban/column-actions.js.map +1 -1
- package/dist/components/kanban/column-container.d.ts +22 -9
- package/dist/components/kanban/column-container.js +29 -1
- package/dist/components/kanban/column-container.js.map +1 -1
- package/dist/components/kanban/column-content.d.ts +23 -9
- package/dist/components/kanban/column-content.js +34 -1
- package/dist/components/kanban/column-content.js.map +1 -1
- package/dist/components/kanban/column-header-actions.d.ts +23 -9
- package/dist/components/kanban/column-header-actions.js +30 -1
- package/dist/components/kanban/column-header-actions.js.map +1 -1
- package/dist/components/kanban/column-header-drag-handle.d.ts +17 -2
- package/dist/components/kanban/column-header-drag-handle.js +29 -1
- package/dist/components/kanban/column-header-drag-handle.js.map +1 -1
- package/dist/components/kanban/column-header-title.d.ts +22 -9
- package/dist/components/kanban/column-header-title.js +29 -1
- package/dist/components/kanban/column-header-title.js.map +1 -1
- package/dist/components/kanban/column-header.d.ts +22 -9
- package/dist/components/kanban/column-header.js +29 -1
- package/dist/components/kanban/column-header.js.map +1 -1
- package/dist/components/kanban/column.d.ts +23 -9
- package/dist/components/kanban/column.js +34 -1
- package/dist/components/kanban/column.js.map +1 -1
- package/dist/components/kanban/context.d.ts +77 -58
- package/dist/components/kanban/context.js +201 -1
- package/dist/components/kanban/context.js.map +1 -1
- package/dist/components/kanban/header-actions.d.ts +22 -9
- package/dist/components/kanban/header-actions.js +29 -1
- package/dist/components/kanban/header-actions.js.map +1 -1
- package/dist/components/kanban/header-search.d.ts +21 -9
- package/dist/components/kanban/header-search.js +29 -1
- package/dist/components/kanban/header-search.js.map +1 -1
- package/dist/components/kanban/header-title.d.ts +22 -9
- package/dist/components/kanban/header-title.js +30 -1
- package/dist/components/kanban/header-title.js.map +1 -1
- package/dist/components/kanban/header.d.ts +22 -9
- package/dist/components/kanban/header.js +29 -1
- package/dist/components/kanban/header.js.map +1 -1
- package/dist/components/kanban/index.d.ts +15 -9
- package/dist/components/kanban/index.js +16 -2
- package/dist/components/kanban/kanban.d.ts +27 -13
- package/dist/components/kanban/kanban.js +81 -1
- package/dist/components/kanban/kanban.js.map +1 -1
- package/dist/components/kanban/mock-data.d.ts +11 -9
- package/dist/components/kanban/mock-data.js +89 -1
- package/dist/components/kanban/mock-data.js.map +1 -1
- package/dist/components/kanban/styles.module.css +1 -1
- package/dist/components/kanban/types.d.ts +39 -29
- package/dist/components/kanban/types.js +12 -2
- package/dist/components/label/context.d.ts +25 -7
- package/dist/components/label/context.js +28 -1
- package/dist/components/label/context.js.map +1 -1
- package/dist/components/label/index.d.ts +23 -6
- package/dist/components/label/index.js +54 -1
- package/dist/components/label/index.js.map +1 -1
- package/dist/components/label/styles.module.css +1 -1
- package/dist/components/label/types.d.ts +20 -6
- package/dist/components/label/types.js +12 -2
- package/dist/components/lines/index.d.ts +23 -5
- package/dist/components/lines/index.js +37 -1
- package/dist/components/lines/index.js.map +1 -1
- package/dist/components/lines/styles.module.css +1 -1
- package/dist/components/lines/types.d.ts +20 -6
- package/dist/components/lines/types.js +12 -2
- package/dist/components/link/context.d.ts +22 -6
- package/dist/components/link/context.js +27 -1
- package/dist/components/link/context.js.map +1 -1
- package/dist/components/link/index.d.ts +22 -6
- package/dist/components/link/index.js +42 -1
- package/dist/components/link/index.js.map +1 -1
- package/dist/components/link/styles.module.css +1 -1
- package/dist/components/link/types.d.ts +20 -6
- package/dist/components/link/types.js +12 -2
- package/dist/components/menu/context.d.ts +19 -5
- package/dist/components/menu/context.js +21 -1
- package/dist/components/menu/context.js.map +1 -1
- package/dist/components/menu/index.d.ts +47 -7
- package/dist/components/menu/index.js +128 -1
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/menu/item-description.d.ts +22 -3
- package/dist/components/menu/item-description.js +31 -1
- package/dist/components/menu/item-description.js.map +1 -1
- package/dist/components/menu/item-label.d.ts +22 -3
- package/dist/components/menu/item-label.js +31 -1
- package/dist/components/menu/item-label.js.map +1 -1
- package/dist/components/menu/item.d.ts +23 -6
- package/dist/components/menu/item.js +52 -1
- package/dist/components/menu/item.js.map +1 -1
- package/dist/components/menu/section.d.ts +24 -6
- package/dist/components/menu/section.js +36 -1
- package/dist/components/menu/section.js.map +1 -1
- package/dist/components/menu/separator.d.ts +21 -3
- package/dist/components/menu/separator.js +29 -1
- package/dist/components/menu/separator.js.map +1 -1
- package/dist/components/menu/styles.module.css +1 -1
- package/dist/components/menu/submenu.d.ts +18 -3
- package/dist/components/menu/submenu.js +21 -1
- package/dist/components/menu/submenu.js.map +1 -1
- package/dist/components/menu/trigger.d.ts +17 -2
- package/dist/components/menu/trigger.js +21 -1
- package/dist/components/menu/trigger.js.map +1 -1
- package/dist/components/menu/types.d.ts +38 -24
- package/dist/components/menu/types.js +12 -2
- package/dist/components/notice/events.d.ts +8 -6
- package/dist/components/notice/events.js +25 -1
- package/dist/components/notice/events.js.map +1 -1
- package/dist/components/notice/index.d.ts +32 -10
- package/dist/components/notice/index.js +88 -1
- package/dist/components/notice/index.js.map +1 -1
- package/dist/components/notice/list.d.ts +29 -10
- package/dist/components/notice/list.js +102 -1
- package/dist/components/notice/list.js.map +1 -1
- package/dist/components/notice/notice-icon.d.ts +21 -10
- package/dist/components/notice/notice-icon.js +34 -1
- package/dist/components/notice/notice-icon.js.map +1 -1
- package/dist/components/notice/styles.module.css +1 -1
- package/dist/components/notice/types.d.ts +67 -55
- package/dist/components/notice/types.js +12 -2
- package/dist/components/notice/utils.d.ts +17 -1
- package/dist/components/notice/utils.js +24 -1
- package/dist/components/notice/utils.js.map +1 -1
- package/dist/components/options/context.d.ts +19 -5
- package/dist/components/options/context.js +21 -1
- package/dist/components/options/context.js.map +1 -1
- package/dist/components/options/index.d.ts +23 -7
- package/dist/components/options/index.js +76 -1
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/options/item-content.d.ts +20 -3
- package/dist/components/options/item-content.js +27 -1
- package/dist/components/options/item-content.js.map +1 -1
- package/dist/components/options/item-description.d.ts +20 -3
- package/dist/components/options/item-description.js +29 -1
- package/dist/components/options/item-description.js.map +1 -1
- package/dist/components/options/item-label.d.ts +20 -3
- package/dist/components/options/item-label.js +29 -1
- package/dist/components/options/item-label.js.map +1 -1
- package/dist/components/options/item.d.ts +24 -6
- package/dist/components/options/item.js +38 -1
- package/dist/components/options/item.js.map +1 -1
- package/dist/components/options/section.d.ts +22 -6
- package/dist/components/options/section.js +35 -1
- package/dist/components/options/section.js.map +1 -1
- package/dist/components/options/styles.module.css +1 -1
- package/dist/components/options/types.d.ts +32 -18
- package/dist/components/options/types.js +12 -2
- package/dist/components/pagination/context.d.ts +18 -6
- package/dist/components/pagination/context.js +26 -1
- package/dist/components/pagination/context.js.map +1 -1
- package/dist/components/pagination/index.d.ts +28 -8
- package/dist/components/pagination/index.js +63 -1
- package/dist/components/pagination/index.js.map +1 -1
- package/dist/components/pagination/next.d.ts +21 -7
- package/dist/components/pagination/next.js +44 -1
- package/dist/components/pagination/next.js.map +1 -1
- package/dist/components/pagination/pages.d.ts +21 -7
- package/dist/components/pagination/pages.js +45 -1
- package/dist/components/pagination/pages.js.map +1 -1
- package/dist/components/pagination/prev.d.ts +21 -7
- package/dist/components/pagination/prev.js +44 -1
- package/dist/components/pagination/prev.js.map +1 -1
- package/dist/components/pagination/styles.module.css +1 -1
- package/dist/components/pagination/types.d.ts +36 -24
- package/dist/components/pagination/types.js +12 -2
- package/dist/components/pagination/utils.d.ts +5 -3
- package/dist/components/pagination/utils.js +59 -1
- package/dist/components/pagination/utils.js.map +1 -1
- package/dist/components/popover/content.d.ts +21 -3
- package/dist/components/popover/content.js +28 -1
- package/dist/components/popover/content.js.map +1 -1
- package/dist/components/popover/footer.d.ts +21 -3
- package/dist/components/popover/footer.js +28 -1
- package/dist/components/popover/footer.js.map +1 -1
- package/dist/components/popover/index.d.ts +24 -6
- package/dist/components/popover/index.js +64 -1
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/styles.module.css +1 -1
- package/dist/components/popover/title.d.ts +21 -3
- package/dist/components/popover/title.js +30 -1
- package/dist/components/popover/title.js.map +1 -1
- package/dist/components/popover/trigger.d.ts +22 -5
- package/dist/components/popover/trigger.js +33 -1
- package/dist/components/popover/trigger.js.map +1 -1
- package/dist/components/popover/types.d.ts +23 -9
- package/dist/components/popover/types.js +12 -2
- package/dist/components/query-builder/action-element.d.ts +23 -3
- package/dist/components/query-builder/action-element.js +36 -1
- package/dist/components/query-builder/action-element.js.map +1 -1
- package/dist/components/query-builder/actions.d.ts +32 -5
- package/dist/components/query-builder/actions.js +53 -1
- package/dist/components/query-builder/actions.js.map +1 -1
- package/dist/components/query-builder/combinator-selector.d.ts +22 -3
- package/dist/components/query-builder/combinator-selector.js +47 -1
- package/dist/components/query-builder/combinator-selector.js.map +1 -1
- package/dist/components/query-builder/constants.d.ts +3 -1
- package/dist/components/query-builder/constants.js +24 -1
- package/dist/components/query-builder/constants.js.map +1 -1
- package/dist/components/query-builder/index.d.ts +26 -7
- package/dist/components/query-builder/index.js +119 -1
- package/dist/components/query-builder/index.js.map +1 -1
- package/dist/components/query-builder/rule-group.d.ts +20 -5
- package/dist/components/query-builder/rule-group.js +167 -1
- package/dist/components/query-builder/rule-group.js.map +1 -1
- package/dist/components/query-builder/rule.d.ts +18 -3
- package/dist/components/query-builder/rule.js +148 -1
- package/dist/components/query-builder/rule.js.map +1 -1
- package/dist/components/query-builder/styles.module.css +1 -1
- package/dist/components/query-builder/types.d.ts +21 -7
- package/dist/components/query-builder/types.js +12 -2
- package/dist/components/query-builder/utils.d.ts +16 -2
- package/dist/components/query-builder/utils.js +26 -1
- package/dist/components/query-builder/utils.js.map +1 -1
- package/dist/components/query-builder/value-editor.d.ts +18 -3
- package/dist/components/query-builder/value-editor.js +156 -1
- package/dist/components/query-builder/value-editor.js.map +1 -1
- package/dist/components/query-builder/value-selector.d.ts +18 -3
- package/dist/components/query-builder/value-selector.js +57 -1
- package/dist/components/query-builder/value-selector.js.map +1 -1
- package/dist/components/radio/context.d.ts +20 -6
- package/dist/components/radio/context.js +26 -1
- package/dist/components/radio/context.js.map +1 -1
- package/dist/components/radio/group.d.ts +22 -7
- package/dist/components/radio/group.js +46 -1
- package/dist/components/radio/group.js.map +1 -1
- package/dist/components/radio/index.d.ts +24 -7
- package/dist/components/radio/index.js +64 -1
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/styles.module.css +1 -1
- package/dist/components/radio/types.d.ts +29 -15
- package/dist/components/radio/types.js +12 -2
- package/dist/components/search-field/context.d.ts +26 -10
- package/dist/components/search-field/context.js +38 -1
- package/dist/components/search-field/context.js.map +1 -1
- package/dist/components/search-field/index.d.ts +28 -12
- package/dist/components/search-field/index.js +88 -1
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/search-field/styles.module.css +1 -2
- package/dist/components/search-field/types.d.ts +31 -18
- package/dist/components/search-field/types.js +12 -2
- package/dist/components/select-field/context.d.ts +25 -9
- package/dist/components/select-field/context.js +28 -1
- package/dist/components/select-field/context.js.map +1 -1
- package/dist/components/select-field/index.d.ts +23 -9
- package/dist/components/select-field/index.js +119 -1
- package/dist/components/select-field/index.js.map +1 -1
- package/dist/components/select-field/styles.module.css +1 -1
- package/dist/components/select-field/types.d.ts +32 -19
- package/dist/components/select-field/types.js +12 -2
- package/dist/components/sidenav/avatar.d.ts +23 -9
- package/dist/components/sidenav/avatar.js +48 -1
- package/dist/components/sidenav/avatar.js.map +1 -1
- package/dist/components/sidenav/content.d.ts +23 -9
- package/dist/components/sidenav/content.js +39 -1
- package/dist/components/sidenav/content.js.map +1 -1
- package/dist/components/sidenav/context.d.ts +18 -7
- package/dist/components/sidenav/context.js +25 -1
- package/dist/components/sidenav/context.js.map +1 -1
- package/dist/components/sidenav/events.d.ts +6 -4
- package/dist/components/sidenav/events.js +23 -1
- package/dist/components/sidenav/events.js.map +1 -1
- package/dist/components/sidenav/footer.d.ts +18 -9
- package/dist/components/sidenav/footer.js +27 -1
- package/dist/components/sidenav/footer.js.map +1 -1
- package/dist/components/sidenav/header.d.ts +23 -9
- package/dist/components/sidenav/header.js +50 -1
- package/dist/components/sidenav/header.js.map +1 -1
- package/dist/components/sidenav/index.d.ts +26 -9
- package/dist/components/sidenav/index.js +112 -1
- package/dist/components/sidenav/index.js.map +1 -1
- package/dist/components/sidenav/item.d.ts +24 -9
- package/dist/components/sidenav/item.js +54 -1
- package/dist/components/sidenav/item.js.map +1 -1
- package/dist/components/sidenav/link.d.ts +24 -9
- package/dist/components/sidenav/link.js +58 -1
- package/dist/components/sidenav/link.js.map +1 -1
- package/dist/components/sidenav/menu-item.d.ts +22 -9
- package/dist/components/sidenav/menu-item.js +34 -1
- package/dist/components/sidenav/menu-item.js.map +1 -1
- package/dist/components/sidenav/menu.d.ts +25 -9
- package/dist/components/sidenav/menu.js +87 -1
- package/dist/components/sidenav/menu.js.map +1 -1
- package/dist/components/sidenav/styles.module.css +9 -1
- package/dist/components/sidenav/trigger.d.ts +23 -9
- package/dist/components/sidenav/trigger.js +38 -1
- package/dist/components/sidenav/trigger.js.map +1 -1
- package/dist/components/sidenav/types.d.ts +55 -41
- package/dist/components/sidenav/types.js +12 -2
- package/dist/components/skeleton/index.d.ts +23 -5
- package/dist/components/skeleton/index.js +57 -1
- package/dist/components/skeleton/index.js.map +1 -1
- package/dist/components/skeleton/styles.module.css +1 -1
- package/dist/components/skeleton/types.d.ts +18 -4
- package/dist/components/skeleton/types.js +12 -2
- package/dist/components/slider/index.d.ts +63 -5
- package/dist/components/slider/index.js +269 -1
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/styles.module.css +67 -9
- package/dist/components/slider/types.d.ts +65 -19
- package/dist/components/slider/types.js +12 -2
- package/dist/components/switch/context.d.ts +26 -8
- package/dist/components/switch/context.js +38 -1
- package/dist/components/switch/context.js.map +1 -1
- package/dist/components/switch/index.d.ts +23 -6
- package/dist/components/switch/index.js +73 -1
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/styles.module.css +1 -1
- package/dist/components/switch/types.d.ts +24 -10
- package/dist/components/switch/types.js +12 -2
- package/dist/components/table/body.d.ts +23 -6
- package/dist/components/table/body.js +29 -1
- package/dist/components/table/body.js.map +1 -1
- package/dist/components/table/cell.d.ts +23 -6
- package/dist/components/table/cell.js +39 -1
- package/dist/components/table/cell.js.map +1 -1
- package/dist/components/table/constants/table.d.ts +22 -8
- package/dist/components/table/constants/table.js +30 -1
- package/dist/components/table/constants/table.js.map +1 -1
- package/dist/components/table/context.d.ts +17 -5
- package/dist/components/table/context.js +34 -1
- package/dist/components/table/context.js.map +1 -1
- package/dist/components/table/header-cell.d.ts +23 -6
- package/dist/components/table/header-cell.js +113 -1
- package/dist/components/table/header-cell.js.map +1 -1
- package/dist/components/table/header.d.ts +24 -6
- package/dist/components/table/header.js +28 -1
- package/dist/components/table/header.js.map +1 -1
- package/dist/components/table/index.d.ts +40 -8
- package/dist/components/table/index.js +250 -1
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/table/row.d.ts +23 -6
- package/dist/components/table/row.js +33 -1
- package/dist/components/table/row.js.map +1 -1
- package/dist/components/table/styles.module.css +1 -1
- package/dist/components/table/types.d.ts +152 -142
- package/dist/components/table/types.js +12 -2
- package/dist/components/tabs/context.d.ts +26 -8
- package/dist/components/tabs/context.js +38 -1
- package/dist/components/tabs/context.js.map +1 -1
- package/dist/components/tabs/index.d.ts +23 -6
- package/dist/components/tabs/index.js +80 -1
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/list.d.ts +23 -4
- package/dist/components/tabs/list.js +35 -1
- package/dist/components/tabs/list.js.map +1 -1
- package/dist/components/tabs/panel.d.ts +23 -4
- package/dist/components/tabs/panel.js +35 -1
- package/dist/components/tabs/panel.js.map +1 -1
- package/dist/components/tabs/styles.module.css +1 -1
- package/dist/components/tabs/tab.d.ts +23 -4
- package/dist/components/tabs/tab.js +35 -1
- package/dist/components/tabs/tab.js.map +1 -1
- package/dist/components/tabs/types.d.ts +18 -4
- package/dist/components/tabs/types.js +12 -2
- package/dist/components/text-area-field/context.d.ts +26 -8
- package/dist/components/text-area-field/context.js +38 -1
- package/dist/components/text-area-field/context.js.map +1 -1
- package/dist/components/text-area-field/index.d.ts +23 -6
- package/dist/components/text-area-field/index.js +80 -1
- package/dist/components/text-area-field/index.js.map +1 -1
- package/dist/components/text-area-field/styles.module.css +1 -1
- package/dist/components/text-area-field/types.d.ts +28 -14
- package/dist/components/text-area-field/types.js +12 -2
- package/dist/components/text-field/context.d.ts +25 -10
- package/dist/components/text-field/context.js +28 -1
- package/dist/components/text-field/context.js.map +1 -1
- package/dist/components/text-field/index.d.ts +23 -10
- package/dist/components/text-field/index.js +154 -1
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/text-field/styles.module.css +1 -1
- package/dist/components/text-field/types.d.ts +31 -19
- package/dist/components/text-field/types.js +12 -2
- package/dist/components/time-field/index.d.ts +34 -5
- package/dist/components/time-field/index.js +83 -1
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/time-field/styles.module.css +1 -1
- package/dist/components/time-field/types.d.ts +30 -16
- package/dist/components/time-field/types.js +12 -2
- package/dist/components/tooltip/context.d.ts +19 -4
- package/dist/components/tooltip/context.js +21 -1
- package/dist/components/tooltip/context.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +27 -6
- package/dist/components/tooltip/index.js +81 -1
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/styles.module.css +1 -1
- package/dist/components/tooltip/trigger.d.ts +21 -5
- package/dist/components/tooltip/trigger.js +47 -1
- package/dist/components/tooltip/trigger.js.map +1 -1
- package/dist/components/tooltip/types.d.ts +19 -5
- package/dist/components/tooltip/types.js +12 -2
- package/dist/components/tree/context.d.ts +20 -8
- package/dist/components/tree/context.js +39 -1
- package/dist/components/tree/context.js.map +1 -1
- package/dist/components/tree/index.d.ts +36 -8
- package/dist/components/tree/index.js +125 -1
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/item-actions.d.ts +23 -6
- package/dist/components/tree/item-actions.js +35 -1
- package/dist/components/tree/item-actions.js.map +1 -1
- package/dist/components/tree/item-content.d.ts +20 -8
- package/dist/components/tree/item-content.js +102 -1
- package/dist/components/tree/item-content.js.map +1 -1
- package/dist/components/tree/item-description.d.ts +21 -4
- package/dist/components/tree/item-description.js +37 -1
- package/dist/components/tree/item-description.js.map +1 -1
- package/dist/components/tree/item-label.d.ts +21 -4
- package/dist/components/tree/item-label.js +33 -1
- package/dist/components/tree/item-label.js.map +1 -1
- package/dist/components/tree/item-prefix-icon.d.ts +21 -5
- package/dist/components/tree/item-prefix-icon.js +33 -1
- package/dist/components/tree/item-prefix-icon.js.map +1 -1
- package/dist/components/tree/item.d.ts +23 -8
- package/dist/components/tree/item.js +50 -1
- package/dist/components/tree/item.js.map +1 -1
- package/dist/components/tree/lines.d.ts +19 -5
- package/dist/components/tree/lines.js +36 -1
- package/dist/components/tree/lines.js.map +1 -1
- package/dist/components/tree/styles.module.css +5 -1
- package/dist/components/tree/types.d.ts +42 -29
- package/dist/components/tree/types.js +12 -2
- package/dist/components/view-stack/context.d.ts +28 -16
- package/dist/components/view-stack/context.js +58 -1
- package/dist/components/view-stack/context.js.map +1 -1
- package/dist/components/view-stack/events.d.ts +7 -5
- package/dist/components/view-stack/events.js +24 -1
- package/dist/components/view-stack/events.js.map +1 -1
- package/dist/components/view-stack/index.d.ts +25 -9
- package/dist/components/view-stack/index.js +114 -1
- package/dist/components/view-stack/index.js.map +1 -1
- package/dist/components/view-stack/trigger.d.ts +22 -9
- package/dist/components/view-stack/trigger.js +45 -1
- package/dist/components/view-stack/trigger.js.map +1 -1
- package/dist/components/view-stack/types.d.ts +55 -41
- package/dist/components/view-stack/types.js +12 -2
- package/dist/components/view-stack/view.d.ts +22 -9
- package/dist/components/view-stack/view.js +42 -1
- package/dist/components/view-stack/view.js.map +1 -1
- package/dist/hooks/coordinate-field/index.d.ts +19 -9
- package/dist/hooks/coordinate-field/index.js +21 -2
- package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +31 -14
- package/dist/hooks/coordinate-field/use-coordinate-copy.js +87 -1
- package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +43 -23
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js +146 -1
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +57 -45
- package/dist/hooks/coordinate-field/use-coordinate-field.js +106 -1
- package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +31 -16
- package/dist/hooks/coordinate-field/use-coordinate-focus.js +65 -1
- package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +31 -16
- package/dist/hooks/coordinate-field/use-coordinate-paste.js +80 -1
- package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -1
- package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +5 -3
- package/dist/hooks/coordinate-field/use-timeout-cleanup.js +32 -1
- package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -1
- package/dist/hooks/kanban/index.d.ts +31 -22
- package/dist/hooks/kanban/index.js +120 -1
- package/dist/hooks/kanban/index.js.map +1 -1
- package/dist/hooks/use-tree/actions/cache.d.ts +79 -63
- package/dist/hooks/use-tree/actions/cache.js +254 -1
- package/dist/hooks/use-tree/actions/cache.js.map +1 -1
- package/dist/hooks/use-tree/actions/index.d.ts +21 -6
- package/dist/hooks/use-tree/actions/index.js +179 -1
- package/dist/hooks/use-tree/actions/index.js.map +1 -1
- package/dist/hooks/use-tree/state/index.d.ts +19 -5
- package/dist/hooks/use-tree/state/index.js +107 -1
- package/dist/hooks/use-tree/state/index.js.map +1 -1
- package/dist/hooks/use-tree/state/utils.d.ts +16 -2
- package/dist/hooks/use-tree/state/utils.js +29 -1
- package/dist/hooks/use-tree/state/utils.js.map +1 -1
- package/dist/hooks/use-tree/types.d.ts +160 -146
- package/dist/hooks/use-tree/types.js +12 -2
- package/dist/index.d.ts +268 -270
- package/dist/index.js +220 -2
- package/dist/lib/types.d.ts +28 -14
- package/dist/lib/types.js +12 -2
- package/dist/lib/utils.d.ts +19 -5
- package/dist/lib/utils.js +23 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/providers/portal.d.ts +24 -6
- package/dist/providers/portal.js +46 -1
- package/dist/providers/portal.js.map +1 -1
- package/dist/providers/theme-provider.d.ts +34 -14
- package/dist/providers/theme-provider.js +62 -1
- package/dist/providers/theme-provider.js.map +1 -1
- package/package.json +376 -132
- package/dist/components/accordion/types.js.map +0 -1
- package/dist/components/action-bar/types.js.map +0 -1
- package/dist/components/avatar/types.js.map +0 -1
- package/dist/components/badge/types.js.map +0 -1
- package/dist/components/breadcrumbs/types.js.map +0 -1
- package/dist/components/button/types.js.map +0 -1
- package/dist/components/checkbox/types.js.map +0 -1
- package/dist/components/chip/types.js.map +0 -1
- package/dist/components/classification-badge/types.js.map +0 -1
- package/dist/components/classification-banner/types.js.map +0 -1
- package/dist/components/clock/types.js.map +0 -1
- package/dist/components/color-picker/types.js.map +0 -1
- package/dist/components/combobox-field/types.js.map +0 -1
- package/dist/components/date-field/types.js.map +0 -1
- package/dist/components/details-list/types.js.map +0 -1
- package/dist/components/dialog/types.js.map +0 -1
- package/dist/components/divider/types.js.map +0 -1
- package/dist/components/drawer/types.js.map +0 -1
- package/dist/components/flashcard/types.js.map +0 -1
- package/dist/components/hero/types.js.map +0 -1
- package/dist/components/hotkey/types.js.map +0 -1
- package/dist/components/icon/types.js.map +0 -1
- package/dist/components/input/types.js.map +0 -1
- package/dist/components/kanban/index.js.map +0 -1
- package/dist/components/kanban/types.js.map +0 -1
- package/dist/components/label/types.js.map +0 -1
- package/dist/components/lines/types.js.map +0 -1
- package/dist/components/link/types.js.map +0 -1
- package/dist/components/menu/types.js.map +0 -1
- package/dist/components/notice/types.js.map +0 -1
- package/dist/components/options/types.js.map +0 -1
- package/dist/components/pagination/types.js.map +0 -1
- package/dist/components/popover/types.js.map +0 -1
- package/dist/components/query-builder/types.js.map +0 -1
- package/dist/components/radio/types.js.map +0 -1
- package/dist/components/search-field/types.js.map +0 -1
- package/dist/components/select-field/types.js.map +0 -1
- package/dist/components/sidenav/types.js.map +0 -1
- package/dist/components/skeleton/types.js.map +0 -1
- package/dist/components/slider/types.js.map +0 -1
- package/dist/components/switch/types.js.map +0 -1
- package/dist/components/table/types.js.map +0 -1
- package/dist/components/tabs/types.js.map +0 -1
- package/dist/components/text-area-field/types.js.map +0 -1
- package/dist/components/text-field/types.js.map +0 -1
- package/dist/components/time-field/types.js.map +0 -1
- package/dist/components/tooltip/types.js.map +0 -1
- package/dist/components/tree/types.js.map +0 -1
- package/dist/components/view-stack/types.js.map +0 -1
- package/dist/foundation/token-data.d.ts +0 -17
- package/dist/foundation/token-data.js +0 -2
- package/dist/foundation/token-data.js.map +0 -1
- package/dist/hooks/coordinate-field/index.js.map +0 -1
- package/dist/hooks/use-tree/types.js.map +0 -1
- package/dist/icons/catalog.d.ts +0 -48
- package/dist/icons/catalog.js +0 -2
- package/dist/icons/catalog.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.module.css +0 -19
- package/dist/lib/types.js.map +0 -1
- package/dist/metafile-esm.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/coordinate-field/index.tsx"],"names":["isDisabled","re","isInvalidProp","O","rest","filterDOMProps","ariaLabelForSmallSize","isSmall","labelProp","state","paste","fieldProps","labelProps","Y","errorProps","effectiveErrorMessage","useCoordinateField","format","ie","isInvalid","registerTimeout","handlePopoverOpenChange","setAllCoordinateFormats","getAllCoordinateFormats","calculateMaxControlWidth","Se","jsx","Provider","CoordinateFieldContext","props","Q","CoordinateFieldStateContext","Ne","GroupContext","jsxs","e","te","styles","ae","classNames","size","i","Label","isRequired","maxControlWidth","pe","clsx","d","configIndex","c","newValue","editableIndex","focus","he","config","getSegmentLabel","PopoverTrigger","Button","Pe","fe","copy","R","allCoordinateFormats","COORDINATE_SYSTEMS","ce","formatKey","formatResult","ue","Fe","COORDINATE_FORMAT_LABELS","A","g","Icon","isCopied","CopyToClipboard","descriptionProp","FieldError","composeRenderProps","className","X","j","Z","de","DialogContent","value","ve","match","COORDINATE_FORMAT_NAMES"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport Check from '@accelint/icons/check';\nimport CopyToClipboard from '@accelint/icons/copy-to-clipboard';\nimport GlobalShare from '@accelint/icons/global-share';\nimport { filterDOMProps } from '@react-aria/utils';\nimport { useCallback, useMemo, useState } from 'react';\nimport {\n Text as AriaText,\n composeRenderProps,\n FieldError,\n FieldErrorContext,\n GroupContext,\n LabelContext,\n Provider,\n TextContext,\n useContextProps,\n} from 'react-aria-components';\nimport { useCoordinateField } from '../../hooks/coordinate-field';\nimport { Button } from '../button';\nimport { Dialog } from '../dialog';\nimport { DialogContent } from '../dialog/content';\nimport { DialogFooter } from '../dialog/footer';\nimport { DialogTitle } from '../dialog/title';\nimport { DialogTrigger } from '../dialog/trigger';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { Popover } from '../popover';\nimport { PopoverContent } from '../popover/content';\nimport { PopoverTitle } from '../popover/title';\nimport { PopoverTrigger } from '../popover/trigger';\nimport { Radio } from '../radio';\nimport { RadioGroup } from '../radio/group';\nimport { CoordinateFieldContext, CoordinateFieldStateContext } from './context';\nimport {\n type CoordinateFormatResult,\n getAllCoordinateFormats,\n} from './coordinate-utils';\nimport { CoordinateSegment } from './segment';\nimport { getSegmentLabel } from './segment-configs';\nimport styles from './styles.module.css';\nimport {\n COORDINATE_FORMAT_LABELS,\n COORDINATE_FORMAT_NAMES,\n COORDINATE_SYSTEMS,\n type CoordinateSystem,\n} from './types';\nimport { calculateMaxControlWidth } from './width-utils';\nimport type { CoordinateFieldProps } from './types';\n\n/**\n * CoordinateField - A comprehensive coordinate input component with multiple format support\n *\n * Provides accessible coordinate input functionality with support for multiple coordinate\n * systems (DD, DDM, DMS, MGRS, UTM). All values are normalized to Decimal Degrees internally\n * for consistency.\n *\n * @example\n * // Basic coordinate field\n * <CoordinateField label=\"Location\" />\n *\n * @example\n * // Coordinate field with validation\n * <CoordinateField\n * label=\"Target Coordinates\"\n * isRequired\n * isInvalid={hasError}\n * errorMessage=\"Please enter a valid coordinate\"\n * />\n *\n * @example\n * // Coordinate field with specific format\n * <CoordinateField\n * label=\"Position\"\n * format=\"dms\"\n * description=\"Enter coordinates in Degrees Minutes Seconds format\"\n * />\n *\n * @example\n * // Compact coordinate field\n * <CoordinateField\n * label=\"Coordinates\"\n * size=\"small\"\n * format=\"dd\"\n * />\n *\n * @example\n * // Controlled coordinate field\n * <CoordinateField\n * label=\"Selected Location\"\n * value={coordinates}\n * onChange={setCoordinates}\n * />\n *\n * @example\n * // Coordinate field with error handling\n * <CoordinateField\n * label=\"Target Coordinates\"\n * onError={(message, context) => {\n * // message will be \"Invalid coordinate value\" for validation errors\n * // or \"Invalid coordinate format\" for paste errors\n * setErrorMessage(message);\n * console.error(message, context);\n * }}\n * isInvalid={!!errorMessage}\n * errorMessage={errorMessage}\n * />\n */\nexport function CoordinateField({ ref, ...props }: CoordinateFieldProps) {\n [props, ref] = useContextProps(props, ref, CoordinateFieldContext);\n\n const {\n classNames,\n description: descriptionProp,\n label: labelProp,\n format = 'dd',\n size = 'medium',\n showFormatButton = true,\n isDisabled = false,\n isInvalid: isInvalidProp = false,\n isRequired = false,\n ...rest\n } = props;\n\n const isSmall = size === 'small';\n\n const DOMProps = filterDOMProps(rest, { global: true });\n\n // When size is small and label is hidden, use aria-label instead of aria-labelledby\n // to ensure screen readers have an accessible name\n const ariaLabelForSmallSize =\n isSmall && labelProp ? labelProp : rest['aria-label'];\n\n const {\n state,\n focus,\n paste,\n copy,\n registerTimeout,\n fieldProps,\n labelProps,\n descriptionProps,\n errorProps,\n validation,\n effectiveErrorMessage,\n isInvalid,\n } = useCoordinateField(\n props,\n ariaLabelForSmallSize,\n rest['aria-describedby'],\n rest['aria-details'],\n );\n\n const componentState = {\n segmentValues: state.segmentValues,\n format,\n currentValue: state.currentValue,\n validationErrors: state.validationErrors,\n isDisabled,\n isInvalid,\n isRequired,\n size,\n registerTimeout,\n };\n\n // Store all coordinate formats, calculated only when popover opens\n const [allCoordinateFormats, setAllCoordinateFormats] = useState<Record<\n CoordinateSystem,\n CoordinateFormatResult\n > | null>(null);\n\n const handlePopoverOpenChange = useCallback(\n (isOpen: boolean) => {\n if (isOpen) {\n setAllCoordinateFormats(getAllCoordinateFormats(state.currentValue));\n }\n },\n [state.currentValue],\n );\n\n // Calculate the maximum width needed for the control container\n // This keeps the outlined container at a fixed width while segments animate\n const maxControlWidth = useMemo(\n () =>\n calculateMaxControlWidth(\n state.editableSegmentConfigs,\n state.segmentConfigs,\n showFormatButton,\n ),\n [state.editableSegmentConfigs, state.segmentConfigs, showFormatButton],\n );\n\n return (\n <Provider\n values={[\n [CoordinateFieldContext, props],\n [CoordinateFieldStateContext, componentState],\n [GroupContext, fieldProps],\n [LabelContext, labelProps],\n [\n TextContext,\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorProps,\n },\n },\n ],\n [FieldErrorContext, validation],\n ]}\n >\n <div\n {...DOMProps}\n {...fieldProps}\n ref={ref}\n className={clsx(\n 'group/coordinate-field',\n styles.field,\n classNames?.field,\n )}\n data-size={size}\n data-disabled={isDisabled || null}\n data-invalid={isInvalid || null}\n >\n {!isSmall && labelProp && (\n <Label\n className={classNames?.label}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n\n <div\n className={clsx(styles.control, classNames?.control)}\n style={{ width: maxControlWidth }}\n >\n <div\n className={clsx(styles.input, classNames?.input)}\n onPasteCapture={paste.handleInputPaste}\n data-input-container\n >\n {state.segmentConfigs.map((config, configIndex) => {\n if (config.type === 'literal') {\n return (\n <span\n key={`${format}-literal-${configIndex}-${config.value}`}\n className='fg-primary-muted'\n >\n {config.value}\n </span>\n );\n }\n\n const editableIndex = state.segmentConfigs\n .slice(0, configIndex)\n .filter((c) => c.type !== 'literal').length;\n\n return (\n <CoordinateSegment\n key={`${format}-segment-${editableIndex}`}\n value={state.segmentValues[editableIndex] || ''}\n onChange={(newValue) =>\n state.handleSegmentChange(editableIndex, newValue)\n }\n onFocus={() => focus.setFocusedSegmentIndex(editableIndex)}\n onBlur={() => {\n focus.setFocusedSegmentIndex(-1);\n state.flushPendingValidation();\n }}\n onKeyDown={(e) =>\n focus.handleSegmentKeyDown(editableIndex, e)\n }\n onAutoAdvance={() => focus.focusNextSegment(editableIndex)}\n onAutoRetreat={() =>\n focus.focusPreviousSegment(editableIndex)\n }\n placeholder={config.placeholder}\n maxLength={config.maxLength}\n pad={config.pad}\n className={clsx(styles.segment, classNames?.segment)}\n isDisabled={isDisabled}\n allowedChars={config.allowedChars}\n segmentRef={focus.segmentRefs[editableIndex]}\n segmentIndex={editableIndex}\n totalSegments={state.editableSegmentConfigs.length}\n ariaLabel={getSegmentLabel(format, editableIndex)}\n />\n );\n })}\n </div>\n\n {showFormatButton && (\n <PopoverTrigger onOpenChange={handlePopoverOpenChange}>\n <Button\n variant='icon'\n size={size}\n color='mono-bold'\n className={classNames?.formatButton}\n aria-label='View coordinate in all formats'\n isDisabled={!copy.isFormatButtonEnabled}\n >\n <Icon>\n <GlobalShare />\n </Icon>\n </Button>\n <Popover classNames={{ popover: styles.popover }}>\n <PopoverTitle className={styles.popoverTitle}>\n Copy Coordinates\n </PopoverTitle>\n <PopoverContent>\n {allCoordinateFormats &&\n COORDINATE_SYSTEMS.map((formatKey) => {\n const formatResult = allCoordinateFormats[formatKey];\n const isCopied = copy.copiedFormat === formatKey;\n\n return (\n <div key={formatKey} className={styles.formatRow}>\n <div className={styles.formatLabels}>\n <span className={styles.formatLabel}>\n {COORDINATE_FORMAT_LABELS[formatKey]}\n </span>\n <span\n className={styles.formatValue}\n title={formatResult.value}\n >\n {formatResult.value}\n </span>\n </div>\n <Button\n variant='icon'\n color='mono-bold'\n aria-label={`Copy ${COORDINATE_FORMAT_LABELS[formatKey]} format`}\n onClick={() => copy.handleCopyFormat(formatKey)}\n isDisabled={!formatResult.isValid}\n >\n <Icon>\n {isCopied ? <Check /> : <CopyToClipboard />}\n </Icon>\n </Button>\n </div>\n );\n })}\n </PopoverContent>\n </Popover>\n </PopoverTrigger>\n )}\n </div>\n\n {/* Description is hidden when field is invalid (unless disabled) to make room for error message */}\n {descriptionProp && !isSmall && (!isInvalid || isDisabled) && (\n <AriaText\n className={clsx(styles.description, classNames?.description)}\n slot='description'\n >\n {descriptionProp}\n </AriaText>\n )}\n\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {effectiveErrorMessage}\n </FieldError>\n\n <DialogTrigger\n isOpen={paste.showDisambiguationModal}\n onOpenChange={paste.setShowDisambiguationModal}\n >\n <Button className='hidden'>Hidden Trigger</Button>\n <Dialog size='small'>\n <DialogTitle className={styles.modalTitle}>\n Select Coordinate Format\n </DialogTitle>\n <DialogContent>\n <p className={styles.modalDescription}>\n The pasted value matches multiple coordinate formats. Please\n select the correct interpretation:\n </p>\n\n <RadioGroup\n classNames={{ group: styles.formatOptions }}\n value={paste.selectedDisambiguationFormat}\n onChange={(value) =>\n paste.setSelectedDisambiguationFormat(\n value as CoordinateSystem,\n )\n }\n >\n {paste.disambiguationMatches.map((match) => (\n <Radio key={match.format} value={match.format}>\n <div className={styles.modalOptionContent}>\n <span className={styles.formatOptionLabel}>\n {COORDINATE_FORMAT_NAMES[match.format]}\n </span>\n <span className={styles.formatOptionValue}>\n {match.displayString}\n </span>\n </div>\n </Radio>\n ))}\n </RadioGroup>\n </DialogContent>\n <DialogFooter className={styles.modalActions}>\n <Button\n variant='flat'\n onPress={() => paste.setShowDisambiguationModal(false)}\n >\n Cancel\n </Button>\n <Button onPress={paste.handleDisambiguationSelect}>\n Apply Selected\n </Button>\n </DialogFooter>\n </Dialog>\n </DialogTrigger>\n </div>\n </Provider>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Label","Button","Popover","AriaText","DialogTrigger","Dialog","RadioGroup","Radio"],"sources":["../../../src/components/coordinate-field/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport Check from '@accelint/icons/check';\nimport CopyToClipboard from '@accelint/icons/copy-to-clipboard';\nimport GlobalShare from '@accelint/icons/global-share';\nimport { filterDOMProps } from '@react-aria/utils';\nimport { useCallback, useMemo, useState } from 'react';\nimport {\n Text as AriaText,\n composeRenderProps,\n FieldError,\n FieldErrorContext,\n GroupContext,\n LabelContext,\n Provider,\n TextContext,\n useContextProps,\n} from 'react-aria-components';\nimport { useCoordinateField } from '../../hooks/coordinate-field';\nimport { Button } from '../button';\nimport { Dialog } from '../dialog';\nimport { DialogContent } from '../dialog/content';\nimport { DialogFooter } from '../dialog/footer';\nimport { DialogTitle } from '../dialog/title';\nimport { DialogTrigger } from '../dialog/trigger';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { Popover } from '../popover';\nimport { PopoverContent } from '../popover/content';\nimport { PopoverTitle } from '../popover/title';\nimport { PopoverTrigger } from '../popover/trigger';\nimport { Radio } from '../radio';\nimport { RadioGroup } from '../radio/group';\nimport { CoordinateFieldContext, CoordinateFieldStateContext } from './context';\nimport {\n type CoordinateFormatResult,\n getAllCoordinateFormats,\n} from './coordinate-utils';\nimport { CoordinateSegment } from './segment';\nimport { getSegmentLabel } from './segment-configs';\nimport styles from './styles.module.css';\nimport {\n COORDINATE_FORMAT_LABELS,\n COORDINATE_FORMAT_NAMES,\n COORDINATE_SYSTEMS,\n type CoordinateSystem,\n} from './types';\nimport { calculateMaxControlWidth } from './width-utils';\nimport type { CoordinateFieldProps } from './types';\n\n/**\n * CoordinateField - A comprehensive coordinate input component with multiple format support\n *\n * Provides accessible coordinate input functionality with support for multiple coordinate\n * systems (DD, DDM, DMS, MGRS, UTM). All values are normalized to Decimal Degrees internally\n * for consistency.\n *\n * @example\n * // Basic coordinate field\n * <CoordinateField label=\"Location\" />\n *\n * @example\n * // Coordinate field with validation\n * <CoordinateField\n * label=\"Target Coordinates\"\n * isRequired\n * isInvalid={hasError}\n * errorMessage=\"Please enter a valid coordinate\"\n * />\n *\n * @example\n * // Coordinate field with specific format\n * <CoordinateField\n * label=\"Position\"\n * format=\"dms\"\n * description=\"Enter coordinates in Degrees Minutes Seconds format\"\n * />\n *\n * @example\n * // Compact coordinate field\n * <CoordinateField\n * label=\"Coordinates\"\n * size=\"small\"\n * format=\"dd\"\n * />\n *\n * @example\n * // Controlled coordinate field\n * <CoordinateField\n * label=\"Selected Location\"\n * value={coordinates}\n * onChange={setCoordinates}\n * />\n *\n * @example\n * // Coordinate field with error handling\n * <CoordinateField\n * label=\"Target Coordinates\"\n * onError={(message, context) => {\n * // message will be \"Invalid coordinate value\" for validation errors\n * // or \"Invalid coordinate format\" for paste errors\n * setErrorMessage(message);\n * console.error(message, context);\n * }}\n * isInvalid={!!errorMessage}\n * errorMessage={errorMessage}\n * />\n */\nexport function CoordinateField({ ref, ...props }: CoordinateFieldProps) {\n [props, ref] = useContextProps(props, ref, CoordinateFieldContext);\n\n const {\n classNames,\n description: descriptionProp,\n label: labelProp,\n format = 'dd',\n size = 'medium',\n showFormatButton = true,\n isDisabled = false,\n isInvalid: isInvalidProp = false,\n isRequired = false,\n ...rest\n } = props;\n\n const isSmall = size === 'small';\n\n const DOMProps = filterDOMProps(rest, { global: true });\n\n // When size is small and label is hidden, use aria-label instead of aria-labelledby\n // to ensure screen readers have an accessible name\n const ariaLabelForSmallSize =\n isSmall && labelProp ? labelProp : rest['aria-label'];\n\n const {\n state,\n focus,\n paste,\n copy,\n registerTimeout,\n fieldProps,\n labelProps,\n descriptionProps,\n errorProps,\n validation,\n effectiveErrorMessage,\n isInvalid,\n } = useCoordinateField(\n props,\n ariaLabelForSmallSize,\n rest['aria-describedby'],\n rest['aria-details'],\n );\n\n const componentState = {\n segmentValues: state.segmentValues,\n format,\n currentValue: state.currentValue,\n validationErrors: state.validationErrors,\n isDisabled,\n isInvalid,\n isRequired,\n size,\n registerTimeout,\n };\n\n // Store all coordinate formats, calculated only when popover opens\n const [allCoordinateFormats, setAllCoordinateFormats] = useState<Record<\n CoordinateSystem,\n CoordinateFormatResult\n > | null>(null);\n\n const handlePopoverOpenChange = useCallback(\n (isOpen: boolean) => {\n if (isOpen) {\n setAllCoordinateFormats(getAllCoordinateFormats(state.currentValue));\n }\n },\n [state.currentValue],\n );\n\n // Calculate the maximum width needed for the control container\n // This keeps the outlined container at a fixed width while segments animate\n const maxControlWidth = useMemo(\n () =>\n calculateMaxControlWidth(\n state.editableSegmentConfigs,\n state.segmentConfigs,\n showFormatButton,\n ),\n [state.editableSegmentConfigs, state.segmentConfigs, showFormatButton],\n );\n\n return (\n <Provider\n values={[\n [CoordinateFieldContext, props],\n [CoordinateFieldStateContext, componentState],\n [GroupContext, fieldProps],\n [LabelContext, labelProps],\n [\n TextContext,\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorProps,\n },\n },\n ],\n [FieldErrorContext, validation],\n ]}\n >\n <div\n {...DOMProps}\n {...fieldProps}\n ref={ref}\n className={clsx(\n 'group/coordinate-field',\n styles.field,\n classNames?.field,\n )}\n data-size={size}\n data-disabled={isDisabled || null}\n data-invalid={isInvalid || null}\n >\n {!isSmall && labelProp && (\n <Label\n className={classNames?.label}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n\n <div\n className={clsx(styles.control, classNames?.control)}\n style={{ width: maxControlWidth }}\n >\n <div\n className={clsx(styles.input, classNames?.input)}\n onPasteCapture={paste.handleInputPaste}\n data-input-container\n >\n {state.segmentConfigs.map((config, configIndex) => {\n if (config.type === 'literal') {\n return (\n <span\n key={`${format}-literal-${configIndex}-${config.value}`}\n className={styles.literal}\n >\n {config.value}\n </span>\n );\n }\n\n const editableIndex = state.segmentConfigs\n .slice(0, configIndex)\n .filter((c) => c.type !== 'literal').length;\n\n return (\n <CoordinateSegment\n key={`${format}-segment-${editableIndex}`}\n value={state.segmentValues[editableIndex] || ''}\n onChange={(newValue) =>\n state.handleSegmentChange(editableIndex, newValue)\n }\n onFocus={() => focus.setFocusedSegmentIndex(editableIndex)}\n onBlur={() => {\n focus.setFocusedSegmentIndex(-1);\n state.flushPendingValidation();\n }}\n onKeyDown={(e) =>\n focus.handleSegmentKeyDown(editableIndex, e)\n }\n onAutoAdvance={() => focus.focusNextSegment(editableIndex)}\n onAutoRetreat={() =>\n focus.focusPreviousSegment(editableIndex)\n }\n placeholder={config.placeholder}\n maxLength={config.maxLength}\n pad={config.pad}\n className={clsx(styles.segment, classNames?.segment)}\n isDisabled={isDisabled}\n allowedChars={config.allowedChars}\n segmentRef={focus.segmentRefs[editableIndex]}\n segmentIndex={editableIndex}\n totalSegments={state.editableSegmentConfigs.length}\n ariaLabel={getSegmentLabel(format, editableIndex)}\n />\n );\n })}\n </div>\n\n {showFormatButton && (\n <PopoverTrigger onOpenChange={handlePopoverOpenChange}>\n <Button\n variant='icon'\n size={size}\n color='mono-bold'\n className={classNames?.formatButton}\n aria-label='View coordinate in all formats'\n isDisabled={!copy.isFormatButtonEnabled}\n >\n <Icon>\n <GlobalShare />\n </Icon>\n </Button>\n <Popover classNames={{ popover: styles.popover }}>\n <PopoverTitle className={styles.popoverTitle}>\n Copy Coordinates\n </PopoverTitle>\n <PopoverContent>\n {allCoordinateFormats &&\n COORDINATE_SYSTEMS.map((formatKey) => {\n const formatResult = allCoordinateFormats[formatKey];\n const isCopied = copy.copiedFormat === formatKey;\n\n return (\n <div key={formatKey} className={styles.formatRow}>\n <div className={styles.formatLabels}>\n <span className={styles.formatLabel}>\n {COORDINATE_FORMAT_LABELS[formatKey]}\n </span>\n <span\n className={styles.formatValue}\n title={formatResult.value}\n >\n {formatResult.value}\n </span>\n </div>\n <Button\n variant='icon'\n color='mono-bold'\n aria-label={`Copy ${COORDINATE_FORMAT_LABELS[formatKey]} format`}\n onClick={() => copy.handleCopyFormat(formatKey)}\n isDisabled={!formatResult.isValid}\n >\n <Icon>\n {isCopied ? <Check /> : <CopyToClipboard />}\n </Icon>\n </Button>\n </div>\n );\n })}\n </PopoverContent>\n </Popover>\n </PopoverTrigger>\n )}\n </div>\n\n {/* Description is hidden when field is invalid (unless disabled) to make room for error message */}\n {descriptionProp && !isSmall && (!isInvalid || isDisabled) && (\n <AriaText\n className={clsx(styles.description, classNames?.description)}\n slot='description'\n >\n {descriptionProp}\n </AriaText>\n )}\n\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {effectiveErrorMessage}\n </FieldError>\n\n <DialogTrigger\n isOpen={paste.showDisambiguationModal}\n onOpenChange={paste.setShowDisambiguationModal}\n >\n <Button className='hidden'>Hidden Trigger</Button>\n <Dialog size='small'>\n <DialogTitle className={styles.modalTitle}>\n Select Coordinate Format\n </DialogTitle>\n <DialogContent>\n <p className={styles.modalDescription}>\n The pasted value matches multiple coordinate formats. Please\n select the correct interpretation:\n </p>\n\n <RadioGroup\n classNames={{ group: styles.formatOptions }}\n value={paste.selectedDisambiguationFormat}\n onChange={(value) =>\n paste.setSelectedDisambiguationFormat(\n value as CoordinateSystem,\n )\n }\n >\n {paste.disambiguationMatches.map((match) => (\n <Radio key={match.format} value={match.format}>\n <div className={styles.modalOptionContent}>\n <span className={styles.formatOptionLabel}>\n {COORDINATE_FORMAT_NAMES[match.format]}\n </span>\n <span className={styles.formatOptionValue}>\n {match.displayString}\n </span>\n </div>\n </Radio>\n ))}\n </RadioGroup>\n </DialogContent>\n <DialogFooter className={styles.modalActions}>\n <Button\n variant='flat'\n onPress={() => paste.setShowDisambiguationModal(false)}\n >\n Cancel\n </Button>\n <Button onPress={paste.handleDisambiguationSelect}>\n Apply Selected\n </Button>\n </DialogFooter>\n </Dialog>\n </DialogTrigger>\n </div>\n </Provider>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,29 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Supported formats:
|
|
13
|
-
* - DD (Decimal Degrees) - 2 editable segments
|
|
14
|
-
* - DDM (Degrees Decimal Minutes) - 6 editable segments
|
|
15
|
-
* - DMS (Degrees Minutes Seconds) - 8 editable segments
|
|
16
|
-
* - MGRS (Military Grid Reference System) - 5 editable segments
|
|
17
|
-
* - UTM (Universal Transverse Mercator) - 4 editable segments
|
|
18
|
-
*
|
|
19
|
-
* References:
|
|
20
|
-
* - DD parser: /packages/geo/src/coordinates/latlon/decimal-degrees/parser.ts
|
|
21
|
-
* - DDM parser: /packages/geo/src/coordinates/latlon/degrees-decimal-minutes/parser.ts
|
|
22
|
-
* - DMS parser: /packages/geo/src/coordinates/latlon/degrees-minutes-seconds/parser.ts
|
|
23
|
-
* - MGRS parser: /packages/geo/src/coordinates/mgrs/parser.ts
|
|
24
|
-
* - UTM parser: /packages/geo/src/coordinates/utm/parser.ts
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
25
11
|
*/
|
|
26
12
|
|
|
13
|
+
import { CoordinateSystem, SegmentConfig } from "./types.js";
|
|
14
|
+
|
|
15
|
+
//#region src/components/coordinate-field/segment-configs.d.ts
|
|
16
|
+
|
|
27
17
|
/**
|
|
28
18
|
* DD (Decimal Degrees) Segment Configuration
|
|
29
19
|
*
|
|
@@ -159,5 +149,6 @@ declare const EXPECTED_SEGMENT_COUNTS: Record<CoordinateSystem, number>;
|
|
|
159
149
|
* @returns Semantic label string for the segment
|
|
160
150
|
*/
|
|
161
151
|
declare function getSegmentLabel(format: CoordinateSystem, editableIndex: number): string;
|
|
162
|
-
|
|
152
|
+
//#endregion
|
|
163
153
|
export { EXPECTED_SEGMENT_COUNTS, ddSegmentConfigs, ddmSegmentConfigs, dmsSegmentConfigs, getEditableSegmentCount, getFormatDescription, getSegmentConfigs, getSegmentLabel, mgrsSegmentConfigs, utmSegmentConfigs };
|
|
154
|
+
//# sourceMappingURL=segment-configs.d.ts.map
|
|
@@ -1,2 +1,475 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
//#region src/components/coordinate-field/segment-configs.ts
|
|
15
|
+
/** Padding for numeric segments (0.25ch ≈ quarter character width for visual spacing) */
|
|
16
|
+
const NUMERIC_PAD = .25;
|
|
17
|
+
/** Larger padding for final segment to account for container edge (0.5ch ≈ half character) */
|
|
18
|
+
const LAST_PAD = .5;
|
|
19
|
+
/**
|
|
20
|
+
* DD (Decimal Degrees) Segment Configuration
|
|
21
|
+
*
|
|
22
|
+
* Format: [lat_deg], [lon_deg]
|
|
23
|
+
* Example: 89.765432, -123.456789
|
|
24
|
+
*
|
|
25
|
+
* Segments:
|
|
26
|
+
* - Latitude degrees: -90 to 90, allows negative sign, decimals, 0-9
|
|
27
|
+
* - Longitude degrees: -180 to 180, allows negative sign, decimals, 0-9
|
|
28
|
+
*
|
|
29
|
+
* Total segments: 2 editable
|
|
30
|
+
*/
|
|
31
|
+
const ddSegmentConfigs = [
|
|
32
|
+
{
|
|
33
|
+
type: "numeric",
|
|
34
|
+
placeholder: "00.000000",
|
|
35
|
+
allowedChars: "[0-9\\-\\.]",
|
|
36
|
+
maxLength: 10,
|
|
37
|
+
pad: NUMERIC_PAD
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: "literal",
|
|
41
|
+
value: ", "
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
type: "numeric",
|
|
45
|
+
placeholder: "-000.000000",
|
|
46
|
+
allowedChars: "[0-9\\-\\.]",
|
|
47
|
+
maxLength: 11,
|
|
48
|
+
pad: LAST_PAD
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
/**
|
|
52
|
+
* DDM (Degrees Decimal Minutes) Segment Configuration
|
|
53
|
+
*
|
|
54
|
+
* Format: [lat_deg]° [lat_min]' [lat_dir], [lon_deg]° [lon_min]' [lon_dir]
|
|
55
|
+
* Example: 89° 45.9259' N, 123° 27.4073' W
|
|
56
|
+
*
|
|
57
|
+
* Segments:
|
|
58
|
+
* - Latitude degrees: 0-90, whole number only (no decimals)
|
|
59
|
+
* - Latitude minutes: 0-59.9999, decimals allowed
|
|
60
|
+
* - Latitude direction: N or S
|
|
61
|
+
* - Longitude degrees: 0-180, whole number only (no decimals)
|
|
62
|
+
* - Longitude minutes: 0-59.9999, decimals allowed
|
|
63
|
+
* - Longitude direction: E or W
|
|
64
|
+
*
|
|
65
|
+
* Total segments: 6 editable
|
|
66
|
+
*/
|
|
67
|
+
const ddmSegmentConfigs = [
|
|
68
|
+
{
|
|
69
|
+
type: "numeric",
|
|
70
|
+
placeholder: "00",
|
|
71
|
+
allowedChars: "[0-9]",
|
|
72
|
+
maxLength: 2,
|
|
73
|
+
pad: NUMERIC_PAD
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: "literal",
|
|
77
|
+
value: "° "
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: "numeric",
|
|
81
|
+
placeholder: "00.0000",
|
|
82
|
+
allowedChars: "[0-9\\.]",
|
|
83
|
+
maxLength: 7,
|
|
84
|
+
pad: NUMERIC_PAD
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: "literal",
|
|
88
|
+
value: "' "
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: "directional",
|
|
92
|
+
placeholder: "N",
|
|
93
|
+
allowedChars: "[NS]",
|
|
94
|
+
maxLength: 1,
|
|
95
|
+
pad: 0
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: "literal",
|
|
99
|
+
value: ", "
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: "numeric",
|
|
103
|
+
placeholder: "000",
|
|
104
|
+
allowedChars: "[0-9]",
|
|
105
|
+
maxLength: 3,
|
|
106
|
+
pad: NUMERIC_PAD
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: "literal",
|
|
110
|
+
value: "° "
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: "numeric",
|
|
114
|
+
placeholder: "00.0000",
|
|
115
|
+
allowedChars: "[0-9\\.]",
|
|
116
|
+
maxLength: 7,
|
|
117
|
+
pad: LAST_PAD
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: "literal",
|
|
121
|
+
value: "' "
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: "directional",
|
|
125
|
+
placeholder: "W",
|
|
126
|
+
allowedChars: "[EW]",
|
|
127
|
+
maxLength: 1,
|
|
128
|
+
pad: 0
|
|
129
|
+
}
|
|
130
|
+
];
|
|
131
|
+
/**
|
|
132
|
+
* DMS (Degrees Minutes Seconds) Segment Configuration
|
|
133
|
+
*
|
|
134
|
+
* Format: [lat_deg]° [lat_min]' [lat_sec]" [lat_dir], [lon_deg]° [lon_min]' [lon_sec]" [lon_dir]
|
|
135
|
+
* Example: 89° 45' 55.56" N, 123° 27' 24.44" W
|
|
136
|
+
*
|
|
137
|
+
* Segments:
|
|
138
|
+
* - Latitude degrees: 0-90, whole number only (no decimals)
|
|
139
|
+
* - Latitude minutes: 0-59, whole number only (no decimals)
|
|
140
|
+
* - Latitude seconds: 0-59.999, decimals allowed
|
|
141
|
+
* - Latitude direction: N or S
|
|
142
|
+
* - Longitude degrees: 0-180, whole number only (no decimals)
|
|
143
|
+
* - Longitude minutes: 0-59, whole number only (no decimals)
|
|
144
|
+
* - Longitude seconds: 0-59.999, decimals allowed
|
|
145
|
+
* - Longitude direction: E or W
|
|
146
|
+
*
|
|
147
|
+
* Total segments: 8 editable
|
|
148
|
+
*/
|
|
149
|
+
const dmsSegmentConfigs = [
|
|
150
|
+
{
|
|
151
|
+
type: "numeric",
|
|
152
|
+
placeholder: "00",
|
|
153
|
+
allowedChars: "[0-9]",
|
|
154
|
+
maxLength: 2,
|
|
155
|
+
pad: NUMERIC_PAD
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: "literal",
|
|
159
|
+
value: "° "
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: "numeric",
|
|
163
|
+
placeholder: "00",
|
|
164
|
+
allowedChars: "[0-9]",
|
|
165
|
+
maxLength: 2,
|
|
166
|
+
pad: NUMERIC_PAD
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: "literal",
|
|
170
|
+
value: "' "
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: "numeric",
|
|
174
|
+
placeholder: "00.00",
|
|
175
|
+
allowedChars: "[0-9\\.]",
|
|
176
|
+
maxLength: 5,
|
|
177
|
+
pad: NUMERIC_PAD
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: "literal",
|
|
181
|
+
value: "\" "
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: "directional",
|
|
185
|
+
placeholder: "N",
|
|
186
|
+
allowedChars: "[NS]",
|
|
187
|
+
maxLength: 1,
|
|
188
|
+
pad: 0
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
type: "literal",
|
|
192
|
+
value: ", "
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
type: "numeric",
|
|
196
|
+
placeholder: "000",
|
|
197
|
+
allowedChars: "[0-9]",
|
|
198
|
+
maxLength: 3,
|
|
199
|
+
pad: NUMERIC_PAD
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
type: "literal",
|
|
203
|
+
value: "° "
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
type: "numeric",
|
|
207
|
+
placeholder: "00",
|
|
208
|
+
allowedChars: "[0-9]",
|
|
209
|
+
maxLength: 2,
|
|
210
|
+
pad: NUMERIC_PAD
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
type: "literal",
|
|
214
|
+
value: "' "
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
type: "numeric",
|
|
218
|
+
placeholder: "00.00",
|
|
219
|
+
allowedChars: "[0-9\\.]",
|
|
220
|
+
maxLength: 5,
|
|
221
|
+
pad: NUMERIC_PAD
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
type: "literal",
|
|
225
|
+
value: "\" "
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
type: "directional",
|
|
229
|
+
placeholder: "W",
|
|
230
|
+
allowedChars: "[EW]",
|
|
231
|
+
maxLength: 1,
|
|
232
|
+
pad: 0
|
|
233
|
+
}
|
|
234
|
+
];
|
|
235
|
+
/**
|
|
236
|
+
* MGRS (Military Grid Reference System) Segment Configuration
|
|
237
|
+
*
|
|
238
|
+
* Format: [zone][band] [grid_100km] [easting] [northing]
|
|
239
|
+
* Example: 18T WM 12345 67890
|
|
240
|
+
*
|
|
241
|
+
* Segments:
|
|
242
|
+
* - Zone: 1-60, 2 digits
|
|
243
|
+
* - Band: C-X (excluding I and O), 1 letter
|
|
244
|
+
* - Grid 100km: 2 letters (A-Z excluding I and O)
|
|
245
|
+
* - Easting: 5 digits (can be 1-5 based on precision)
|
|
246
|
+
* - Northing: 5 digits (can be 1-5 based on precision)
|
|
247
|
+
*
|
|
248
|
+
* Total segments: 5 editable
|
|
249
|
+
*
|
|
250
|
+
* Reference: /packages/geo/src/coordinates/mgrs/parser.ts
|
|
251
|
+
* Pattern: /^((?:..?)?)(\w?)\s*((?:\w{2})?)\s*(?:(\d+(?:\.\d*)?)?)\s*(?:(\d+(?:\.\d*)?)?)$/i
|
|
252
|
+
*/
|
|
253
|
+
const mgrsSegmentConfigs = [
|
|
254
|
+
{
|
|
255
|
+
type: "numeric",
|
|
256
|
+
placeholder: "00",
|
|
257
|
+
allowedChars: "[0-9]",
|
|
258
|
+
maxLength: 2,
|
|
259
|
+
pad: NUMERIC_PAD
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
type: "alphanumeric",
|
|
263
|
+
placeholder: "T",
|
|
264
|
+
allowedChars: "[C-HJ-NP-X]",
|
|
265
|
+
maxLength: 1,
|
|
266
|
+
pad: 0
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
type: "literal",
|
|
270
|
+
value: " "
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
type: "alphanumeric",
|
|
274
|
+
placeholder: "WM",
|
|
275
|
+
allowedChars: "[A-HJ-NP-Z]",
|
|
276
|
+
maxLength: 2,
|
|
277
|
+
pad: 0
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
type: "literal",
|
|
281
|
+
value: " "
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
type: "numeric",
|
|
285
|
+
placeholder: "00000",
|
|
286
|
+
allowedChars: "[0-9]",
|
|
287
|
+
maxLength: 5,
|
|
288
|
+
pad: NUMERIC_PAD
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
type: "literal",
|
|
292
|
+
value: " "
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
type: "numeric",
|
|
296
|
+
placeholder: "00000",
|
|
297
|
+
allowedChars: "[0-9]",
|
|
298
|
+
maxLength: 5,
|
|
299
|
+
pad: LAST_PAD
|
|
300
|
+
}
|
|
301
|
+
];
|
|
302
|
+
/**
|
|
303
|
+
* UTM (Universal Transverse Mercator) Segment Configuration
|
|
304
|
+
*
|
|
305
|
+
* Format: [zone][hemisphere] [easting] [northing]
|
|
306
|
+
* Example: 18N 585628 4511644
|
|
307
|
+
*
|
|
308
|
+
* Segments:
|
|
309
|
+
* - Zone: 1-60, 2 digits
|
|
310
|
+
* - Hemisphere: N or S, 1 letter
|
|
311
|
+
* - Easting: 6-7 digits
|
|
312
|
+
* - Northing: 7 digits
|
|
313
|
+
*
|
|
314
|
+
* Total segments: 4 editable
|
|
315
|
+
*
|
|
316
|
+
* Reference: /packages/geo/src/coordinates/utm/parser.ts
|
|
317
|
+
* Pattern: /^((?:..)?)\s*(\w?)\s*(?:(\d+(?:\.\d*)?)?)\s*(?:(\d+(?:\.\d*)?)?)$/i
|
|
318
|
+
*/
|
|
319
|
+
const utmSegmentConfigs = [
|
|
320
|
+
{
|
|
321
|
+
type: "numeric",
|
|
322
|
+
placeholder: "00",
|
|
323
|
+
allowedChars: "[0-9]",
|
|
324
|
+
maxLength: 2,
|
|
325
|
+
pad: NUMERIC_PAD
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
type: "directional",
|
|
329
|
+
placeholder: "N",
|
|
330
|
+
allowedChars: "[NS]",
|
|
331
|
+
maxLength: 1,
|
|
332
|
+
pad: 0
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
type: "literal",
|
|
336
|
+
value: " "
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
type: "numeric",
|
|
340
|
+
placeholder: "000000",
|
|
341
|
+
allowedChars: "[0-9]",
|
|
342
|
+
maxLength: 7,
|
|
343
|
+
pad: NUMERIC_PAD
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
type: "literal",
|
|
347
|
+
value: " "
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
type: "numeric",
|
|
351
|
+
placeholder: "0000000",
|
|
352
|
+
allowedChars: "[0-9]",
|
|
353
|
+
maxLength: 7,
|
|
354
|
+
pad: LAST_PAD
|
|
355
|
+
}
|
|
356
|
+
];
|
|
357
|
+
/**
|
|
358
|
+
* Get segment configurations for a specific coordinate system
|
|
359
|
+
*
|
|
360
|
+
* @param format - The coordinate system format
|
|
361
|
+
* @returns Array of segment configurations for the specified format
|
|
362
|
+
*/
|
|
363
|
+
function getSegmentConfigs(format) {
|
|
364
|
+
switch (format) {
|
|
365
|
+
case "dd": return ddSegmentConfigs;
|
|
366
|
+
case "ddm": return ddmSegmentConfigs;
|
|
367
|
+
case "dms": return dmsSegmentConfigs;
|
|
368
|
+
case "mgrs": return mgrsSegmentConfigs;
|
|
369
|
+
case "utm": return utmSegmentConfigs;
|
|
370
|
+
default: return ddSegmentConfigs;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Get format description with example
|
|
375
|
+
*
|
|
376
|
+
* Provides a user-friendly description of the coordinate format with an example value.
|
|
377
|
+
* These descriptions can be used as helper text to guide users on the expected format.
|
|
378
|
+
*
|
|
379
|
+
* @param format - The coordinate system format
|
|
380
|
+
* @returns Description string with format example
|
|
381
|
+
*/
|
|
382
|
+
function getFormatDescription(format) {
|
|
383
|
+
switch (format) {
|
|
384
|
+
case "dd": return "Example: 40.7128, -74.0060 (New York City)";
|
|
385
|
+
case "ddm": return "Example: 40° 42.768' N, 74° 0.360' W (New York City)";
|
|
386
|
+
case "dms": return "Example: 40° 42' 46.08\" N, 74° 0' 21.60\" W (New York City)";
|
|
387
|
+
case "mgrs": return "Example: 18T WL 80654 06346 (New York City)";
|
|
388
|
+
case "utm": return "Example: 18N 585628 4511644 (New York City)";
|
|
389
|
+
default: return "";
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Get editable segment count for a format
|
|
394
|
+
*
|
|
395
|
+
* Returns the number of editable segments (excluding literal separators) for each format.
|
|
396
|
+
* This is useful for initializing segment values and validation.
|
|
397
|
+
*
|
|
398
|
+
* @param format - The coordinate system format
|
|
399
|
+
* @returns Number of editable segments
|
|
400
|
+
*/
|
|
401
|
+
function getEditableSegmentCount(format) {
|
|
402
|
+
return getSegmentConfigs(format).filter((config) => config.type !== "literal").length;
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Validate segment count for each format
|
|
406
|
+
*
|
|
407
|
+
* Expected editable segment counts:
|
|
408
|
+
* - DD: 2 segments (lat, lon)
|
|
409
|
+
* - DDM: 6 segments (lat_deg, lat_min, lat_dir, lon_deg, lon_min, lon_dir)
|
|
410
|
+
* - DMS: 8 segments (lat_deg, lat_min, lat_sec, lat_dir, lon_deg, lon_min, lon_sec, lon_dir)
|
|
411
|
+
* - MGRS: 5 segments (zone, band, grid, easting, northing)
|
|
412
|
+
* - UTM: 4 segments (zone, hemisphere, easting, northing)
|
|
413
|
+
*/
|
|
414
|
+
const EXPECTED_SEGMENT_COUNTS = {
|
|
415
|
+
dd: 2,
|
|
416
|
+
ddm: 6,
|
|
417
|
+
dms: 8,
|
|
418
|
+
mgrs: 5,
|
|
419
|
+
utm: 4
|
|
420
|
+
};
|
|
421
|
+
/**
|
|
422
|
+
* Get semantic accessibility label for a segment based on format and editable index
|
|
423
|
+
*
|
|
424
|
+
* Provides descriptive labels for screen readers (e.g., "Latitude degrees", "Longitude minutes")
|
|
425
|
+
* to improve accessibility beyond generic "Coordinate segment 1" announcements.
|
|
426
|
+
*
|
|
427
|
+
* @param format - The coordinate system format
|
|
428
|
+
* @param editableIndex - The index of the editable segment (0-based, excluding literals)
|
|
429
|
+
* @returns Semantic label string for the segment
|
|
430
|
+
*/
|
|
431
|
+
function getSegmentLabel(format, editableIndex) {
|
|
432
|
+
switch (format) {
|
|
433
|
+
case "dd": return editableIndex === 0 ? "Latitude" : "Longitude";
|
|
434
|
+
case "ddm": switch (editableIndex) {
|
|
435
|
+
case 0: return "Latitude degrees";
|
|
436
|
+
case 1: return "Latitude minutes";
|
|
437
|
+
case 2: return "Latitude direction";
|
|
438
|
+
case 3: return "Longitude degrees";
|
|
439
|
+
case 4: return "Longitude minutes";
|
|
440
|
+
case 5: return "Longitude direction";
|
|
441
|
+
default: return `Coordinate segment ${editableIndex + 1}`;
|
|
442
|
+
}
|
|
443
|
+
case "dms": switch (editableIndex) {
|
|
444
|
+
case 0: return "Latitude degrees";
|
|
445
|
+
case 1: return "Latitude minutes";
|
|
446
|
+
case 2: return "Latitude seconds";
|
|
447
|
+
case 3: return "Latitude direction";
|
|
448
|
+
case 4: return "Longitude degrees";
|
|
449
|
+
case 5: return "Longitude minutes";
|
|
450
|
+
case 6: return "Longitude seconds";
|
|
451
|
+
case 7: return "Longitude direction";
|
|
452
|
+
default: return `Coordinate segment ${editableIndex + 1}`;
|
|
453
|
+
}
|
|
454
|
+
case "mgrs": switch (editableIndex) {
|
|
455
|
+
case 0: return "MGRS zone";
|
|
456
|
+
case 1: return "MGRS band";
|
|
457
|
+
case 2: return "MGRS grid square";
|
|
458
|
+
case 3: return "MGRS easting";
|
|
459
|
+
case 4: return "MGRS northing";
|
|
460
|
+
default: return `Coordinate segment ${editableIndex + 1}`;
|
|
461
|
+
}
|
|
462
|
+
case "utm": switch (editableIndex) {
|
|
463
|
+
case 0: return "UTM zone";
|
|
464
|
+
case 1: return "UTM hemisphere";
|
|
465
|
+
case 2: return "UTM easting";
|
|
466
|
+
case 3: return "UTM northing";
|
|
467
|
+
default: return `Coordinate segment ${editableIndex + 1}`;
|
|
468
|
+
}
|
|
469
|
+
default: return `Coordinate segment ${editableIndex + 1}`;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
//#endregion
|
|
474
|
+
export { EXPECTED_SEGMENT_COUNTS, ddSegmentConfigs, ddmSegmentConfigs, dmsSegmentConfigs, getEditableSegmentCount, getFormatDescription, getSegmentConfigs, getSegmentLabel, mgrsSegmentConfigs, utmSegmentConfigs };
|
|
2
475
|
//# sourceMappingURL=segment-configs.js.map
|