@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,19 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
+
*/
|
|
5
12
|
|
|
13
|
+
import { CoordinateSystem, CoordinateValue } from "../../components/coordinate-field/types.js";
|
|
14
|
+
import { UseTimeoutCleanupResult } from "./use-timeout-cleanup.js";
|
|
15
|
+
|
|
16
|
+
//#region src/hooks/coordinate-field/use-coordinate-copy.d.ts
|
|
6
17
|
interface UseCoordinateCopyOptions {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
18
|
+
currentValue: CoordinateValue | null;
|
|
19
|
+
validationErrors: string[];
|
|
20
|
+
isDisabled: boolean;
|
|
21
|
+
registerTimeout: UseTimeoutCleanupResult['registerTimeout'];
|
|
11
22
|
}
|
|
12
23
|
interface UseCoordinateCopyResult {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
24
|
+
copiedFormat: CoordinateSystem | null;
|
|
25
|
+
handleCopyFormat: (formatToCopy: CoordinateSystem) => Promise<void>;
|
|
26
|
+
isFormatButtonEnabled: boolean;
|
|
16
27
|
}
|
|
17
|
-
declare function useCoordinateCopy({
|
|
18
|
-
|
|
19
|
-
|
|
28
|
+
declare function useCoordinateCopy({
|
|
29
|
+
currentValue,
|
|
30
|
+
validationErrors,
|
|
31
|
+
isDisabled,
|
|
32
|
+
registerTimeout
|
|
33
|
+
}: UseCoordinateCopyOptions): UseCoordinateCopyResult;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { UseCoordinateCopyOptions, UseCoordinateCopyResult, useCoordinateCopy };
|
|
36
|
+
//# sourceMappingURL=use-coordinate-copy.d.ts.map
|
|
@@ -1,2 +1,88 @@
|
|
|
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
|
+
import { getAllCoordinateFormats } from "../../components/coordinate-field/coordinate-utils.js";
|
|
15
|
+
import { useState } from "react";
|
|
16
|
+
import { getLogger } from "@accelint/logger";
|
|
17
|
+
|
|
18
|
+
//#region src/hooks/coordinate-field/use-coordinate-copy.ts
|
|
19
|
+
const logger = getLogger({
|
|
20
|
+
enabled: process.env.NODE_ENV !== "production",
|
|
21
|
+
level: "debug",
|
|
22
|
+
prefix: "[CoordinateField]",
|
|
23
|
+
pretty: true
|
|
24
|
+
});
|
|
25
|
+
const COPY_FEEDBACK_DURATION_MS = 2e3;
|
|
26
|
+
function useCoordinateCopy({ currentValue, validationErrors, isDisabled, registerTimeout }) {
|
|
27
|
+
const [copiedFormat, setCopiedFormat] = useState(null);
|
|
28
|
+
/**
|
|
29
|
+
* Fallback clipboard copy for browsers that don't support navigator.clipboard API.
|
|
30
|
+
* Creates a temporary textarea, copies text using document.execCommand('copy'),
|
|
31
|
+
* and provides visual feedback by setting copiedFormat state for 2 seconds.
|
|
32
|
+
*
|
|
33
|
+
* @param text - The coordinate string to copy to clipboard
|
|
34
|
+
* @param formatToCopy - The coordinate format being copied (for UI feedback)
|
|
35
|
+
*/
|
|
36
|
+
const fallbackCopyToClipboard = (text, formatToCopy) => {
|
|
37
|
+
const textArea = document.createElement("textarea");
|
|
38
|
+
textArea.value = text;
|
|
39
|
+
textArea.style.position = "fixed";
|
|
40
|
+
textArea.style.left = "-999999px";
|
|
41
|
+
textArea.style.top = "-999999px";
|
|
42
|
+
document.body.appendChild(textArea);
|
|
43
|
+
textArea.focus();
|
|
44
|
+
textArea.select();
|
|
45
|
+
try {
|
|
46
|
+
document.execCommand("copy");
|
|
47
|
+
setCopiedFormat(formatToCopy);
|
|
48
|
+
registerTimeout(setTimeout(() => {
|
|
49
|
+
setCopiedFormat(null);
|
|
50
|
+
}, COPY_FEEDBACK_DURATION_MS));
|
|
51
|
+
} catch (err) {
|
|
52
|
+
logger.withError(err).warn("Fallback copy to clipboard failed");
|
|
53
|
+
}
|
|
54
|
+
document.body.removeChild(textArea);
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Handles copying a coordinate in the specified format to the clipboard.
|
|
58
|
+
* Uses modern clipboard API (navigator.clipboard.writeText) with fallback
|
|
59
|
+
* to document.execCommand for older browsers.
|
|
60
|
+
*
|
|
61
|
+
* Sets copiedFormat state to show visual feedback (Check icon) for 2 seconds.
|
|
62
|
+
*
|
|
63
|
+
* @param formatToCopy - The coordinate format to copy (dd, ddm, dms, mgrs, utm)
|
|
64
|
+
*/
|
|
65
|
+
const handleCopyFormat = async (formatToCopy) => {
|
|
66
|
+
if (!currentValue) return;
|
|
67
|
+
const formatResult = getAllCoordinateFormats(currentValue)[formatToCopy];
|
|
68
|
+
if (!formatResult.isValid) return;
|
|
69
|
+
try {
|
|
70
|
+
await navigator.clipboard.writeText(formatResult.value);
|
|
71
|
+
setCopiedFormat(formatToCopy);
|
|
72
|
+
registerTimeout(setTimeout(() => {
|
|
73
|
+
setCopiedFormat(null);
|
|
74
|
+
}, COPY_FEEDBACK_DURATION_MS));
|
|
75
|
+
} catch (_err) {
|
|
76
|
+
fallbackCopyToClipboard(formatResult.value, formatToCopy);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
copiedFormat,
|
|
81
|
+
handleCopyFormat,
|
|
82
|
+
isFormatButtonEnabled: currentValue !== null && validationErrors.length === 0 && !isDisabled
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//#endregion
|
|
87
|
+
export { useCoordinateCopy };
|
|
2
88
|
//# sourceMappingURL=use-coordinate-copy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"use-coordinate-copy.js","names":[],"sources":["../../../src/hooks/coordinate-field/use-coordinate-copy.ts"],"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\nimport { getLogger } from '@accelint/logger';\nimport { useState } from 'react';\n\nconst logger = getLogger({\n enabled: process.env.NODE_ENV !== 'production',\n level: 'debug',\n prefix: '[CoordinateField]',\n pretty: true,\n});\n\nimport { getAllCoordinateFormats } from '../../components/coordinate-field/coordinate-utils';\nimport type {\n CoordinateSystem,\n CoordinateValue,\n} from '../../components/coordinate-field/types';\nimport type { UseTimeoutCleanupResult } from './use-timeout-cleanup';\n\nconst COPY_FEEDBACK_DURATION_MS = 2000;\n\nexport interface UseCoordinateCopyOptions {\n currentValue: CoordinateValue | null;\n validationErrors: string[];\n isDisabled: boolean;\n registerTimeout: UseTimeoutCleanupResult['registerTimeout'];\n}\n\nexport interface UseCoordinateCopyResult {\n copiedFormat: CoordinateSystem | null;\n handleCopyFormat: (formatToCopy: CoordinateSystem) => Promise<void>;\n isFormatButtonEnabled: boolean;\n}\n\nexport function useCoordinateCopy({\n currentValue,\n validationErrors,\n isDisabled,\n registerTimeout,\n}: UseCoordinateCopyOptions): UseCoordinateCopyResult {\n const [copiedFormat, setCopiedFormat] = useState<CoordinateSystem | null>(\n null,\n );\n\n /**\n * Fallback clipboard copy for browsers that don't support navigator.clipboard API.\n * Creates a temporary textarea, copies text using document.execCommand('copy'),\n * and provides visual feedback by setting copiedFormat state for 2 seconds.\n *\n * @param text - The coordinate string to copy to clipboard\n * @param formatToCopy - The coordinate format being copied (for UI feedback)\n */\n const fallbackCopyToClipboard = (\n text: string,\n formatToCopy: CoordinateSystem,\n ) => {\n // Create temporary textarea for copy operation\n const textArea = document.createElement('textarea');\n textArea.value = text;\n // Position off-screen so it's not visible to user\n textArea.style.position = 'fixed';\n textArea.style.left = '-999999px';\n textArea.style.top = '-999999px';\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n document.execCommand('copy');\n\n // Set copied format to show Check icon in UI\n setCopiedFormat(formatToCopy);\n\n // Reset to null after 2 seconds to return to Copy icon\n registerTimeout(\n setTimeout(() => {\n setCopiedFormat(null);\n }, COPY_FEEDBACK_DURATION_MS),\n );\n } catch (err) {\n logger.withError(err).warn('Fallback copy to clipboard failed');\n }\n\n // Clean up temporary textarea\n document.body.removeChild(textArea);\n };\n\n /**\n * Handles copying a coordinate in the specified format to the clipboard.\n * Uses modern clipboard API (navigator.clipboard.writeText) with fallback\n * to document.execCommand for older browsers.\n *\n * Sets copiedFormat state to show visual feedback (Check icon) for 2 seconds.\n *\n * @param formatToCopy - The coordinate format to copy (dd, ddm, dms, mgrs, utm)\n */\n const handleCopyFormat = async (formatToCopy: CoordinateSystem) => {\n if (!currentValue) {\n return;\n }\n\n const allFormats = getAllCoordinateFormats(currentValue);\n const formatResult = allFormats[formatToCopy];\n\n if (!formatResult.isValid) {\n return;\n }\n\n try {\n // Modern clipboard API - copy and show feedback\n await navigator.clipboard.writeText(formatResult.value);\n\n // Set copied format to show Check icon in UI\n setCopiedFormat(formatToCopy);\n\n // Reset to null after 2 seconds to return to Copy icon\n registerTimeout(\n setTimeout(() => {\n setCopiedFormat(null);\n }, COPY_FEEDBACK_DURATION_MS),\n );\n } catch (_err) {\n // Fall back to document.execCommand for older browsers\n fallbackCopyToClipboard(formatResult.value, formatToCopy);\n }\n };\n\n const isFormatButtonEnabled =\n currentValue !== null && validationErrors.length === 0 && !isDisabled;\n\n return {\n copiedFormat,\n handleCopyFormat,\n isFormatButtonEnabled,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAeA,MAAM,SAAS,UAAU;CACvB,SAAS,QAAQ,IAAI,aAAa;CAClC,OAAO;CACP,QAAQ;CACR,QAAQ;CACT,CAAC;AASF,MAAM,4BAA4B;AAelC,SAAgB,kBAAkB,EAChC,cACA,kBACA,YACA,mBACoD;CACpD,MAAM,CAAC,cAAc,mBAAmB,SACtC,KACD;;;;;;;;;CAUD,MAAM,2BACJ,MACA,iBACG;EAEH,MAAM,WAAW,SAAS,cAAc,WAAW;AACnD,WAAS,QAAQ;AAEjB,WAAS,MAAM,WAAW;AAC1B,WAAS,MAAM,OAAO;AACtB,WAAS,MAAM,MAAM;AACrB,WAAS,KAAK,YAAY,SAAS;AACnC,WAAS,OAAO;AAChB,WAAS,QAAQ;AAEjB,MAAI;AACF,YAAS,YAAY,OAAO;AAG5B,mBAAgB,aAAa;AAG7B,mBACE,iBAAiB;AACf,oBAAgB,KAAK;MACpB,0BAA0B,CAC9B;WACM,KAAK;AACZ,UAAO,UAAU,IAAI,CAAC,KAAK,oCAAoC;;AAIjE,WAAS,KAAK,YAAY,SAAS;;;;;;;;;;;CAYrC,MAAM,mBAAmB,OAAO,iBAAmC;AACjE,MAAI,CAAC,aACH;EAIF,MAAM,eADa,wBAAwB,aAAa,CACxB;AAEhC,MAAI,CAAC,aAAa,QAChB;AAGF,MAAI;AAEF,SAAM,UAAU,UAAU,UAAU,aAAa,MAAM;AAGvD,mBAAgB,aAAa;AAG7B,mBACE,iBAAiB;AACf,oBAAgB,KAAK;MACpB,0BAA0B,CAC9B;WACM,MAAM;AAEb,2BAAwB,aAAa,OAAO,aAAa;;;AAO7D,QAAO;EACL;EACA;EACA,uBALA,iBAAiB,QAAQ,iBAAiB,WAAW,KAAK,CAAC;EAM5D"}
|
|
@@ -1,28 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
*/
|
|
4
12
|
|
|
13
|
+
import { CoordinateSystem, CoordinateValue, SegmentConfig } from "../../components/coordinate-field/types.js";
|
|
14
|
+
import { Dispatch, SetStateAction } from "react";
|
|
15
|
+
|
|
16
|
+
//#region src/hooks/coordinate-field/use-coordinate-field-state.d.ts
|
|
5
17
|
interface UseCoordinateFieldStateOptions {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
value?: CoordinateValue | null;
|
|
19
|
+
defaultValue?: CoordinateValue;
|
|
20
|
+
format: CoordinateSystem;
|
|
21
|
+
onChange?: Dispatch<SetStateAction<CoordinateValue | null>> | ((value: CoordinateValue | null) => void);
|
|
22
|
+
onError?: (message: string, context?: Record<string, unknown>) => void;
|
|
23
|
+
registerTimeout?: (timeoutId: NodeJS.Timeout) => void;
|
|
12
24
|
}
|
|
13
25
|
interface UseCoordinateFieldStateResult {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
currentValue: CoordinateValue | null;
|
|
27
|
+
segmentValues: string[];
|
|
28
|
+
validationErrors: string[];
|
|
29
|
+
segmentConfigs: SegmentConfig[];
|
|
30
|
+
editableSegmentConfigs: SegmentConfig[];
|
|
31
|
+
handleSegmentChange: (index: number, newValue: string) => void;
|
|
32
|
+
setSegmentValues: (values: string[]) => void;
|
|
33
|
+
setValidationErrors: (errors: string[]) => void;
|
|
34
|
+
effectiveErrorMessage: string | null;
|
|
35
|
+
applyPastedCoordinate: (pastedValue: CoordinateValue) => void;
|
|
36
|
+
flushPendingValidation: () => void;
|
|
25
37
|
}
|
|
26
|
-
declare function useCoordinateFieldState({
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
declare function useCoordinateFieldState({
|
|
39
|
+
value,
|
|
40
|
+
defaultValue,
|
|
41
|
+
format,
|
|
42
|
+
onChange,
|
|
43
|
+
onError,
|
|
44
|
+
registerTimeout
|
|
45
|
+
}: UseCoordinateFieldStateOptions): UseCoordinateFieldStateResult;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { UseCoordinateFieldStateOptions, UseCoordinateFieldStateResult, useCoordinateFieldState };
|
|
48
|
+
//# sourceMappingURL=use-coordinate-field-state.d.ts.map
|
|
@@ -1,2 +1,147 @@
|
|
|
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
|
+
import { areAllSegmentsFilled, convertDDToDisplaySegments, convertDisplaySegmentsToDD, validateCoordinateSegments } from "../../components/coordinate-field/coordinate-utils.js";
|
|
15
|
+
import { getSegmentConfigs } from "../../components/coordinate-field/segment-configs.js";
|
|
16
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
17
|
+
|
|
18
|
+
//#region src/hooks/coordinate-field/use-coordinate-field-state.ts
|
|
19
|
+
function useCoordinateFieldState({ value, defaultValue, format, onChange, onError, registerTimeout }) {
|
|
20
|
+
const [internalValue, setInternalValue] = useState(defaultValue || null);
|
|
21
|
+
const [validationErrors, setValidationErrors] = useState([]);
|
|
22
|
+
const validationTimeoutRef = useRef(null);
|
|
23
|
+
const currentValue = value !== void 0 ? value : internalValue;
|
|
24
|
+
const clearValidationTimeout = () => {
|
|
25
|
+
if (validationTimeoutRef.current) {
|
|
26
|
+
clearTimeout(validationTimeoutRef.current);
|
|
27
|
+
validationTimeoutRef.current = null;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const handleChange = (newValue) => {
|
|
31
|
+
if (value === void 0) setInternalValue(newValue);
|
|
32
|
+
onChange?.(newValue);
|
|
33
|
+
};
|
|
34
|
+
const segmentConfigs = useMemo(() => getSegmentConfigs(format), [format]);
|
|
35
|
+
const editableSegmentConfigs = useMemo(() => segmentConfigs.filter((config) => config.type !== "literal"), [segmentConfigs]);
|
|
36
|
+
const [segmentValues, setSegmentValues] = useState(() => {
|
|
37
|
+
const initialValue = value !== void 0 ? value : defaultValue;
|
|
38
|
+
if (!initialValue) return new Array(editableSegmentConfigs.length).fill("");
|
|
39
|
+
const segments = convertDDToDisplaySegments(initialValue, format);
|
|
40
|
+
if (!segments) return new Array(editableSegmentConfigs.length).fill("");
|
|
41
|
+
return segments;
|
|
42
|
+
});
|
|
43
|
+
const convertValueToSegmentsOrClear = useCallback((valueToConvert) => {
|
|
44
|
+
clearValidationTimeout();
|
|
45
|
+
setSegmentValues((valueToConvert ? convertDDToDisplaySegments(valueToConvert, format) : null) || new Array(editableSegmentConfigs.length).fill(""));
|
|
46
|
+
setValidationErrors([]);
|
|
47
|
+
}, [format, editableSegmentConfigs.length]);
|
|
48
|
+
const prevFormatRef = useRef(format);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (prevFormatRef.current !== format) {
|
|
51
|
+
prevFormatRef.current = format;
|
|
52
|
+
convertValueToSegmentsOrClear(value !== void 0 ? value : internalValue);
|
|
53
|
+
}
|
|
54
|
+
}, [
|
|
55
|
+
format,
|
|
56
|
+
value,
|
|
57
|
+
internalValue,
|
|
58
|
+
convertValueToSegmentsOrClear
|
|
59
|
+
]);
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
if (value !== void 0) convertValueToSegmentsOrClear(value);
|
|
62
|
+
}, [value, convertValueToSegmentsOrClear]);
|
|
63
|
+
/**
|
|
64
|
+
* Validates segment values and updates the coordinate state
|
|
65
|
+
*
|
|
66
|
+
* When validation fails, calls onError with "Invalid coordinate value" message
|
|
67
|
+
* and context containing the detailed validation errors from @accelint/geo.
|
|
68
|
+
*
|
|
69
|
+
* @param updatedValues - Array of segment values to validate
|
|
70
|
+
*/
|
|
71
|
+
const validateAndUpdateCoordinate = (updatedValues) => {
|
|
72
|
+
const errors = validateCoordinateSegments(updatedValues, format);
|
|
73
|
+
if (errors.length > 0) {
|
|
74
|
+
setValidationErrors(errors);
|
|
75
|
+
onError?.("Invalid coordinate value", {
|
|
76
|
+
errors,
|
|
77
|
+
format,
|
|
78
|
+
segments: updatedValues
|
|
79
|
+
});
|
|
80
|
+
handleChange(null);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const ddValue = convertDisplaySegmentsToDD(updatedValues, format);
|
|
84
|
+
if (!ddValue) {
|
|
85
|
+
const errorMsg = "Invalid coordinate value";
|
|
86
|
+
setValidationErrors([errorMsg]);
|
|
87
|
+
onError?.(errorMsg, {
|
|
88
|
+
format,
|
|
89
|
+
segments: updatedValues
|
|
90
|
+
});
|
|
91
|
+
handleChange(null);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
setValidationErrors([]);
|
|
95
|
+
handleChange(ddValue);
|
|
96
|
+
};
|
|
97
|
+
const handleSegmentChange = (index, newValue) => {
|
|
98
|
+
const updatedValues = [...segmentValues];
|
|
99
|
+
updatedValues[index] = newValue;
|
|
100
|
+
setSegmentValues(updatedValues);
|
|
101
|
+
if (areAllSegmentsFilled(updatedValues)) {
|
|
102
|
+
clearValidationTimeout();
|
|
103
|
+
const timeoutId = setTimeout(() => {
|
|
104
|
+
validateAndUpdateCoordinate(updatedValues);
|
|
105
|
+
validationTimeoutRef.current = null;
|
|
106
|
+
}, 400);
|
|
107
|
+
validationTimeoutRef.current = timeoutId;
|
|
108
|
+
registerTimeout?.(timeoutId);
|
|
109
|
+
} else {
|
|
110
|
+
clearValidationTimeout();
|
|
111
|
+
setValidationErrors([]);
|
|
112
|
+
if (currentValue !== null) handleChange(null);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
const applyPastedCoordinate = (pastedValue) => {
|
|
116
|
+
clearValidationTimeout();
|
|
117
|
+
const segments = convertDDToDisplaySegments(pastedValue, format);
|
|
118
|
+
if (segments) {
|
|
119
|
+
setSegmentValues(segments);
|
|
120
|
+
setValidationErrors([]);
|
|
121
|
+
handleChange(pastedValue);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const flushPendingValidation = () => {
|
|
125
|
+
if (validationTimeoutRef.current) {
|
|
126
|
+
clearValidationTimeout();
|
|
127
|
+
if (areAllSegmentsFilled(segmentValues)) validateAndUpdateCoordinate(segmentValues);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
return {
|
|
131
|
+
currentValue,
|
|
132
|
+
segmentValues,
|
|
133
|
+
validationErrors,
|
|
134
|
+
segmentConfigs,
|
|
135
|
+
editableSegmentConfigs,
|
|
136
|
+
handleSegmentChange,
|
|
137
|
+
setSegmentValues,
|
|
138
|
+
setValidationErrors,
|
|
139
|
+
effectiveErrorMessage: useMemo(() => validationErrors[0] || null, [validationErrors]),
|
|
140
|
+
applyPastedCoordinate,
|
|
141
|
+
flushPendingValidation
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
//#endregion
|
|
146
|
+
export { useCoordinateFieldState };
|
|
2
147
|
//# sourceMappingURL=use-coordinate-field-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/coordinate-field/use-coordinate-field-state.ts"],"names":["value","format","onError","internalValue","setInternalValue","defaultValue","p","validationErrors","useState","validationTimeoutRef","useRef","currentValue","handleChange","onChange","newValue","segmentConfigs","getSegmentConfigs","N","editableSegmentConfigs","useMemo","V","config","segmentValues","setSegmentValues","initialValue","segments","convertDDToDisplaySegments","v","convertValueToSegmentsOrClear","useCallback","valueToConvert","clearValidationTimeout","O","useEffect","F","prevFormatRef","validateAndUpdateCoordinate","updatedValues","errors","validateCoordinateSegments","ddValue","convertDisplaySegmentsToDD","k","errorMsg","setValidationErrors","handleSegmentChange","index","areAllSegmentsFilled","R","timeoutId","applyPastedCoordinate","pastedValue","flushPendingValidation","effectiveErrorMessage"],"mappings":"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","file":"use-coordinate-field-state.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\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n areAllSegmentsFilled,\n convertDDToDisplaySegments,\n convertDisplaySegmentsToDD,\n validateCoordinateSegments,\n} from '../../components/coordinate-field/coordinate-utils';\nimport { getSegmentConfigs } from '../../components/coordinate-field/segment-configs';\nimport type {\n CoordinateSystem,\n CoordinateValue,\n SegmentConfig,\n} from '../../components/coordinate-field/types';\n\nexport interface UseCoordinateFieldStateOptions {\n value?: CoordinateValue | null;\n defaultValue?: CoordinateValue;\n format: CoordinateSystem;\n onChange?:\n | Dispatch<SetStateAction<CoordinateValue | null>>\n | ((value: CoordinateValue | null) => void);\n onError?: (message: string, context?: Record<string, unknown>) => void;\n registerTimeout?: (timeoutId: NodeJS.Timeout) => void;\n}\n\nexport interface UseCoordinateFieldStateResult {\n currentValue: CoordinateValue | null;\n segmentValues: string[];\n validationErrors: string[];\n segmentConfigs: SegmentConfig[];\n editableSegmentConfigs: SegmentConfig[];\n handleSegmentChange: (index: number, newValue: string) => void;\n setSegmentValues: (values: string[]) => void;\n setValidationErrors: (errors: string[]) => void;\n effectiveErrorMessage: string | null;\n applyPastedCoordinate: (pastedValue: CoordinateValue) => void;\n flushPendingValidation: () => void;\n}\n\nexport function useCoordinateFieldState({\n value,\n defaultValue,\n format,\n onChange,\n onError,\n registerTimeout,\n}: UseCoordinateFieldStateOptions): UseCoordinateFieldStateResult {\n const [internalValue, setInternalValue] = useState<CoordinateValue | null>(\n defaultValue || null,\n );\n const [validationErrors, setValidationErrors] = useState<string[]>([]);\n const validationTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const currentValue = value !== undefined ? value : internalValue;\n\n const clearValidationTimeout = () => {\n if (validationTimeoutRef.current) {\n clearTimeout(validationTimeoutRef.current);\n validationTimeoutRef.current = null;\n }\n };\n\n const handleChange = (newValue: CoordinateValue | null) => {\n if (value === undefined) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n };\n\n const segmentConfigs = useMemo(() => getSegmentConfigs(format), [format]);\n\n const editableSegmentConfigs = useMemo(\n () => segmentConfigs.filter((config) => config.type !== 'literal'),\n [segmentConfigs],\n );\n\n const [segmentValues, setSegmentValues] = useState<string[]>(() => {\n const initialValue = value !== undefined ? value : defaultValue;\n if (!initialValue) {\n return new Array(editableSegmentConfigs.length).fill('');\n }\n\n const segments = convertDDToDisplaySegments(initialValue, format);\n if (!segments) {\n return new Array(editableSegmentConfigs.length).fill('');\n }\n\n return segments;\n });\n\n const convertValueToSegmentsOrClear = useCallback(\n (valueToConvert: CoordinateValue | null) => {\n // Clear any pending validation when value changes\n clearValidationTimeout();\n\n const segments = valueToConvert\n ? convertDDToDisplaySegments(valueToConvert, format)\n : null;\n\n setSegmentValues(\n segments || new Array(editableSegmentConfigs.length).fill(''),\n );\n setValidationErrors([]);\n },\n [format, editableSegmentConfigs.length],\n );\n\n const prevFormatRef = useRef(format);\n\n useEffect(() => {\n if (prevFormatRef.current !== format) {\n prevFormatRef.current = format;\n const valueToConvert = value !== undefined ? value : internalValue;\n convertValueToSegmentsOrClear(valueToConvert);\n }\n }, [format, value, internalValue, convertValueToSegmentsOrClear]);\n\n useEffect(() => {\n if (value !== undefined) {\n convertValueToSegmentsOrClear(value);\n }\n }, [value, convertValueToSegmentsOrClear]);\n\n /**\n * Validates segment values and updates the coordinate state\n *\n * When validation fails, calls onError with \"Invalid coordinate value\" message\n * and context containing the detailed validation errors from @accelint/geo.\n *\n * @param updatedValues - Array of segment values to validate\n */\n const validateAndUpdateCoordinate = (updatedValues: string[]) => {\n const errors = validateCoordinateSegments(updatedValues, format);\n\n if (errors.length > 0) {\n setValidationErrors(errors);\n onError?.('Invalid coordinate value', {\n errors,\n format,\n segments: updatedValues,\n });\n handleChange(null);\n return;\n }\n\n const ddValue = convertDisplaySegmentsToDD(updatedValues, format);\n if (!ddValue) {\n const errorMsg = 'Invalid coordinate value';\n setValidationErrors([errorMsg]);\n onError?.(errorMsg, { format, segments: updatedValues });\n handleChange(null);\n return;\n }\n\n setValidationErrors([]);\n handleChange(ddValue);\n };\n\n const handleSegmentChange = (index: number, newValue: string) => {\n const updatedValues = [...segmentValues];\n updatedValues[index] = newValue;\n setSegmentValues(updatedValues);\n\n if (areAllSegmentsFilled(updatedValues)) {\n // Clear any pending validation timeout\n clearValidationTimeout();\n\n // Debounce validation by 400ms when all segments are full\n const timeoutId = setTimeout(() => {\n validateAndUpdateCoordinate(updatedValues);\n validationTimeoutRef.current = null;\n }, 400);\n\n validationTimeoutRef.current = timeoutId;\n registerTimeout?.(timeoutId);\n } else {\n // Clear any pending validation when segments become incomplete\n clearValidationTimeout();\n setValidationErrors([]);\n if (currentValue !== null) {\n handleChange(null);\n }\n }\n };\n\n const applyPastedCoordinate = (pastedValue: CoordinateValue) => {\n // Clear any pending validation when applying pasted coordinate\n clearValidationTimeout();\n\n const segments = convertDDToDisplaySegments(pastedValue, format);\n\n if (segments) {\n setSegmentValues(segments);\n setValidationErrors([]);\n handleChange(pastedValue);\n }\n };\n\n const flushPendingValidation = () => {\n if (validationTimeoutRef.current) {\n clearValidationTimeout();\n\n // Immediately validate if all segments are filled\n if (areAllSegmentsFilled(segmentValues)) {\n validateAndUpdateCoordinate(segmentValues);\n }\n }\n };\n\n const effectiveErrorMessage = useMemo(\n () => validationErrors[0] || null,\n [validationErrors],\n );\n\n return {\n currentValue,\n segmentValues,\n validationErrors,\n segmentConfigs,\n editableSegmentConfigs,\n handleSegmentChange,\n setSegmentValues,\n setValidationErrors,\n effectiveErrorMessage,\n applyPastedCoordinate,\n flushPendingValidation,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-coordinate-field-state.js","names":[],"sources":["../../../src/hooks/coordinate-field/use-coordinate-field-state.ts"],"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\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n areAllSegmentsFilled,\n convertDDToDisplaySegments,\n convertDisplaySegmentsToDD,\n validateCoordinateSegments,\n} from '../../components/coordinate-field/coordinate-utils';\nimport { getSegmentConfigs } from '../../components/coordinate-field/segment-configs';\nimport type {\n CoordinateSystem,\n CoordinateValue,\n SegmentConfig,\n} from '../../components/coordinate-field/types';\n\nexport interface UseCoordinateFieldStateOptions {\n value?: CoordinateValue | null;\n defaultValue?: CoordinateValue;\n format: CoordinateSystem;\n onChange?:\n | Dispatch<SetStateAction<CoordinateValue | null>>\n | ((value: CoordinateValue | null) => void);\n onError?: (message: string, context?: Record<string, unknown>) => void;\n registerTimeout?: (timeoutId: NodeJS.Timeout) => void;\n}\n\nexport interface UseCoordinateFieldStateResult {\n currentValue: CoordinateValue | null;\n segmentValues: string[];\n validationErrors: string[];\n segmentConfigs: SegmentConfig[];\n editableSegmentConfigs: SegmentConfig[];\n handleSegmentChange: (index: number, newValue: string) => void;\n setSegmentValues: (values: string[]) => void;\n setValidationErrors: (errors: string[]) => void;\n effectiveErrorMessage: string | null;\n applyPastedCoordinate: (pastedValue: CoordinateValue) => void;\n flushPendingValidation: () => void;\n}\n\nexport function useCoordinateFieldState({\n value,\n defaultValue,\n format,\n onChange,\n onError,\n registerTimeout,\n}: UseCoordinateFieldStateOptions): UseCoordinateFieldStateResult {\n const [internalValue, setInternalValue] = useState<CoordinateValue | null>(\n defaultValue || null,\n );\n const [validationErrors, setValidationErrors] = useState<string[]>([]);\n const validationTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const currentValue = value !== undefined ? value : internalValue;\n\n const clearValidationTimeout = () => {\n if (validationTimeoutRef.current) {\n clearTimeout(validationTimeoutRef.current);\n validationTimeoutRef.current = null;\n }\n };\n\n const handleChange = (newValue: CoordinateValue | null) => {\n if (value === undefined) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n };\n\n const segmentConfigs = useMemo(() => getSegmentConfigs(format), [format]);\n\n const editableSegmentConfigs = useMemo(\n () => segmentConfigs.filter((config) => config.type !== 'literal'),\n [segmentConfigs],\n );\n\n const [segmentValues, setSegmentValues] = useState<string[]>(() => {\n const initialValue = value !== undefined ? value : defaultValue;\n if (!initialValue) {\n return new Array(editableSegmentConfigs.length).fill('');\n }\n\n const segments = convertDDToDisplaySegments(initialValue, format);\n if (!segments) {\n return new Array(editableSegmentConfigs.length).fill('');\n }\n\n return segments;\n });\n\n const convertValueToSegmentsOrClear = useCallback(\n (valueToConvert: CoordinateValue | null) => {\n // Clear any pending validation when value changes\n clearValidationTimeout();\n\n const segments = valueToConvert\n ? convertDDToDisplaySegments(valueToConvert, format)\n : null;\n\n setSegmentValues(\n segments || new Array(editableSegmentConfigs.length).fill(''),\n );\n setValidationErrors([]);\n },\n [format, editableSegmentConfigs.length],\n );\n\n const prevFormatRef = useRef(format);\n\n useEffect(() => {\n if (prevFormatRef.current !== format) {\n prevFormatRef.current = format;\n const valueToConvert = value !== undefined ? value : internalValue;\n convertValueToSegmentsOrClear(valueToConvert);\n }\n }, [format, value, internalValue, convertValueToSegmentsOrClear]);\n\n useEffect(() => {\n if (value !== undefined) {\n convertValueToSegmentsOrClear(value);\n }\n }, [value, convertValueToSegmentsOrClear]);\n\n /**\n * Validates segment values and updates the coordinate state\n *\n * When validation fails, calls onError with \"Invalid coordinate value\" message\n * and context containing the detailed validation errors from @accelint/geo.\n *\n * @param updatedValues - Array of segment values to validate\n */\n const validateAndUpdateCoordinate = (updatedValues: string[]) => {\n const errors = validateCoordinateSegments(updatedValues, format);\n\n if (errors.length > 0) {\n setValidationErrors(errors);\n onError?.('Invalid coordinate value', {\n errors,\n format,\n segments: updatedValues,\n });\n handleChange(null);\n return;\n }\n\n const ddValue = convertDisplaySegmentsToDD(updatedValues, format);\n if (!ddValue) {\n const errorMsg = 'Invalid coordinate value';\n setValidationErrors([errorMsg]);\n onError?.(errorMsg, { format, segments: updatedValues });\n handleChange(null);\n return;\n }\n\n setValidationErrors([]);\n handleChange(ddValue);\n };\n\n const handleSegmentChange = (index: number, newValue: string) => {\n const updatedValues = [...segmentValues];\n updatedValues[index] = newValue;\n setSegmentValues(updatedValues);\n\n if (areAllSegmentsFilled(updatedValues)) {\n // Clear any pending validation timeout\n clearValidationTimeout();\n\n // Debounce validation by 400ms when all segments are full\n const timeoutId = setTimeout(() => {\n validateAndUpdateCoordinate(updatedValues);\n validationTimeoutRef.current = null;\n }, 400);\n\n validationTimeoutRef.current = timeoutId;\n registerTimeout?.(timeoutId);\n } else {\n // Clear any pending validation when segments become incomplete\n clearValidationTimeout();\n setValidationErrors([]);\n if (currentValue !== null) {\n handleChange(null);\n }\n }\n };\n\n const applyPastedCoordinate = (pastedValue: CoordinateValue) => {\n // Clear any pending validation when applying pasted coordinate\n clearValidationTimeout();\n\n const segments = convertDDToDisplaySegments(pastedValue, format);\n\n if (segments) {\n setSegmentValues(segments);\n setValidationErrors([]);\n handleChange(pastedValue);\n }\n };\n\n const flushPendingValidation = () => {\n if (validationTimeoutRef.current) {\n clearValidationTimeout();\n\n // Immediately validate if all segments are filled\n if (areAllSegmentsFilled(segmentValues)) {\n validateAndUpdateCoordinate(segmentValues);\n }\n }\n };\n\n const effectiveErrorMessage = useMemo(\n () => validationErrors[0] || null,\n [validationErrors],\n );\n\n return {\n currentValue,\n segmentValues,\n validationErrors,\n segmentConfigs,\n editableSegmentConfigs,\n handleSegmentChange,\n setSegmentValues,\n setValidationErrors,\n effectiveErrorMessage,\n applyPastedCoordinate,\n flushPendingValidation,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,49 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
+
*/
|
|
9
12
|
|
|
13
|
+
import { CoordinateFieldProps } from "../../components/coordinate-field/types.js";
|
|
14
|
+
import { useCoordinateCopy } from "./use-coordinate-copy.js";
|
|
15
|
+
import { useCoordinateFieldState } from "./use-coordinate-field-state.js";
|
|
16
|
+
import { useCoordinateFocus } from "./use-coordinate-focus.js";
|
|
17
|
+
import { useCoordinatePaste } from "./use-coordinate-paste.js";
|
|
18
|
+
import { ValidationResult } from "react-aria-components";
|
|
19
|
+
|
|
20
|
+
//#region src/hooks/coordinate-field/use-coordinate-field.d.ts
|
|
10
21
|
interface UseCoordinateFieldResult {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
22
|
+
state: ReturnType<typeof useCoordinateFieldState>;
|
|
23
|
+
focus: ReturnType<typeof useCoordinateFocus>;
|
|
24
|
+
paste: ReturnType<typeof useCoordinatePaste>;
|
|
25
|
+
copy: ReturnType<typeof useCoordinateCopy>;
|
|
26
|
+
registerTimeout: (timeoutId: NodeJS.Timeout) => void;
|
|
27
|
+
fieldProps: {
|
|
28
|
+
id: string;
|
|
29
|
+
role: 'group';
|
|
30
|
+
'aria-labelledby': string | undefined;
|
|
31
|
+
'aria-describedby': string | undefined;
|
|
32
|
+
'aria-label': string | undefined;
|
|
33
|
+
'aria-details': string | undefined;
|
|
34
|
+
'aria-invalid': boolean | undefined;
|
|
35
|
+
'aria-required': boolean | undefined;
|
|
36
|
+
'aria-disabled': boolean | undefined;
|
|
37
|
+
};
|
|
38
|
+
labelProps: {
|
|
39
|
+
id: string;
|
|
40
|
+
htmlFor: string;
|
|
41
|
+
};
|
|
42
|
+
descriptionProps: {
|
|
43
|
+
id: string;
|
|
44
|
+
};
|
|
45
|
+
errorProps: {
|
|
46
|
+
id: string;
|
|
47
|
+
};
|
|
48
|
+
validation: ValidationResult;
|
|
49
|
+
ids: {
|
|
50
|
+
fieldId: string;
|
|
51
|
+
labelId: string;
|
|
52
|
+
descriptionId: string;
|
|
53
|
+
errorId: string;
|
|
54
|
+
};
|
|
55
|
+
effectiveErrorMessage: string | null;
|
|
56
|
+
isInvalid: boolean;
|
|
46
57
|
}
|
|
47
58
|
declare function useCoordinateField(props: CoordinateFieldProps, customAriaLabel?: string, customAriaDescribedby?: string, customAriaDetails?: string): UseCoordinateFieldResult;
|
|
48
|
-
|
|
49
|
-
export {
|
|
59
|
+
//#endregion
|
|
60
|
+
export { UseCoordinateFieldResult, useCoordinateField };
|
|
61
|
+
//# sourceMappingURL=use-coordinate-field.d.ts.map
|