@hina-ui/vue 1.7.4 → 1.7.6
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 +37 -0
- package/dist/index.js +2251 -992
- package/dist/index.js.map +1 -1
- package/dist/shared/behavior/anchor-follow.ts +95 -0
- package/dist/shared/behavior/form.ts +187 -0
- package/dist/shared/behavior/ripple.ts +222 -0
- package/dist/shared/behavior/spoiler/painter.ts +197 -0
- package/dist/shared/behavior/spoiler/worklet.ts +199 -0
- package/dist/shared/behavior/toast.ts +243 -0
- package/dist/shared/lib/anchor.ts +83 -0
- package/dist/shared/lib/banner.ts +10 -0
- package/dist/shared/lib/calendar/format.ts +23 -0
- package/dist/shared/lib/caret.ts +48 -0
- package/dist/shared/lib/collapse.ts +29 -0
- package/dist/shared/lib/command-palette/hotkey.ts +27 -0
- package/dist/shared/lib/command-palette/match.ts +92 -0
- package/dist/shared/lib/data-list.ts +40 -0
- package/dist/shared/lib/data-table/column-sizing-styles.ts +41 -0
- package/dist/shared/lib/data-table/column-sizing.ts +101 -0
- package/dist/shared/lib/data-table/csv.ts +51 -0
- package/dist/shared/lib/data-table/layout.ts +199 -0
- package/dist/shared/lib/data-table/resize.ts +66 -0
- package/dist/shared/lib/data-table/state.ts +226 -0
- package/dist/shared/lib/data-table/utils.ts +80 -0
- package/dist/shared/lib/date-range-field/validity.ts +21 -0
- package/dist/shared/lib/date.ts +111 -0
- package/dist/shared/lib/field-focus.ts +36 -0
- package/dist/shared/lib/file-upload/select.ts +58 -0
- package/dist/shared/lib/file-upload/size.ts +16 -0
- package/dist/shared/lib/form/errors.ts +48 -0
- package/dist/shared/lib/form/focus.ts +10 -0
- package/dist/shared/lib/form/standard-schema.ts +26 -0
- package/dist/shared/lib/form/values.ts +23 -0
- package/dist/shared/lib/highlighter.ts +98 -0
- package/dist/shared/lib/iris-origin.ts +40 -0
- package/dist/shared/lib/lightbox/clip.ts +117 -0
- package/dist/shared/lib/lightbox/download.ts +29 -0
- package/dist/shared/lib/lightbox/gesture.ts +54 -0
- package/dist/shared/lib/lightbox/paging.ts +33 -0
- package/dist/shared/lib/lightbox/pose.ts +142 -0
- package/dist/shared/lib/lightbox/source.ts +17 -0
- package/dist/shared/lib/lightbox/types.ts +14 -0
- package/dist/shared/lib/lightbox/zoom.ts +127 -0
- package/dist/shared/lib/meter-group.ts +16 -0
- package/dist/shared/lib/overlay-anchor.ts +42 -0
- package/dist/shared/lib/pagination.ts +16 -0
- package/dist/shared/lib/pointer-corridor.ts +26 -0
- package/dist/shared/lib/qr-code-export.ts +68 -0
- package/dist/shared/lib/range-calendar/limit.ts +11 -0
- package/dist/shared/lib/rating.ts +4 -0
- package/dist/shared/lib/relative-time.ts +20 -0
- package/dist/shared/lib/scroll-area.ts +77 -0
- package/dist/shared/lib/scroll-restore.ts +148 -0
- package/dist/shared/lib/toast-layout.ts +42 -0
- package/dist/shared/lib/tree/selection.ts +131 -0
- package/dist/shared/lib/tree-select/filter.ts +19 -0
- package/dist/shared/lib/virtual/choices.ts +193 -0
- package/dist/shared/lib/virtual/collection.ts +71 -0
- package/dist/shared/lib/virtual/filter.ts +26 -0
- package/dist/shared/lib/virtual/flow.ts +32 -0
- package/dist/shared/lib/virtual/list.ts +63 -0
- package/dist/shared/lib/virtual/navigation.ts +26 -0
- package/dist/shared/lib/virtual/tree.ts +98 -0
- package/dist/shared/locale/en-US.ts +220 -0
- package/dist/shared/locale/index.ts +52 -0
- package/dist/shared/locale/types.ts +225 -0
- package/dist/shared/locale/zh-CN.ts +215 -0
- package/dist/shared/primitives/number-field/LICENSE +21 -0
- package/dist/shared/primitives/number-field/index.ts +407 -0
- package/dist/shared/styles/semantic.css +10 -2
- package/dist/shared/types/autocomplete.ts +16 -0
- package/dist/shared/types/data-table.ts +170 -0
- package/dist/shared/types/pagination.ts +19 -0
- package/dist/shared/types/select.ts +23 -0
- package/dist/shared/types/tree-select.ts +34 -0
- package/dist/shared/types/tree.ts +20 -0
- package/dist/types/shared/src/behavior/anchor-follow.d.ts +13 -0
- package/dist/types/shared/src/behavior/anchor-follow.d.ts.map +1 -0
- package/dist/types/shared/src/behavior/form.d.ts +24 -0
- package/dist/types/shared/src/behavior/form.d.ts.map +1 -0
- package/dist/types/shared/src/behavior/ripple.d.ts +11 -0
- package/dist/types/shared/src/behavior/ripple.d.ts.map +1 -0
- package/dist/types/shared/src/behavior/spoiler/painter.d.ts +35 -0
- package/dist/types/shared/src/behavior/spoiler/painter.d.ts.map +1 -0
- package/dist/types/shared/src/behavior/spoiler/worklet.d.ts +2 -0
- package/dist/types/shared/src/behavior/spoiler/worklet.d.ts.map +1 -0
- package/dist/types/shared/src/behavior/toast.d.ts +72 -0
- package/dist/types/shared/src/behavior/toast.d.ts.map +1 -0
- package/dist/types/shared/src/lib/anchor.d.ts +31 -0
- package/dist/types/shared/src/lib/anchor.d.ts.map +1 -0
- package/dist/types/shared/src/lib/banner.d.ts +3 -0
- package/dist/types/shared/src/lib/banner.d.ts.map +1 -0
- package/dist/types/shared/src/lib/calendar/format.d.ts +7 -0
- package/dist/types/shared/src/lib/calendar/format.d.ts.map +1 -0
- package/dist/types/shared/src/lib/caret.d.ts +2 -0
- package/dist/types/shared/src/lib/caret.d.ts.map +1 -0
- package/dist/types/shared/src/lib/collapse.d.ts +9 -0
- package/dist/types/shared/src/lib/collapse.d.ts.map +1 -0
- package/dist/types/shared/src/lib/command-palette/hotkey.d.ts +9 -0
- package/dist/types/shared/src/lib/command-palette/hotkey.d.ts.map +1 -0
- package/dist/types/shared/src/lib/command-palette/match.d.ts +21 -0
- package/dist/types/shared/src/lib/command-palette/match.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-list.d.ts +7 -0
- package/dist/types/shared/src/lib/data-list.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-table/column-sizing-styles.d.ts +8 -0
- package/dist/types/shared/src/lib/data-table/column-sizing-styles.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-table/column-sizing.d.ts +22 -0
- package/dist/types/shared/src/lib/data-table/column-sizing.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-table/csv.d.ts +5 -0
- package/dist/types/shared/src/lib/data-table/csv.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-table/layout.d.ts +28 -0
- package/dist/types/shared/src/lib/data-table/layout.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-table/resize.d.ts +15 -0
- package/dist/types/shared/src/lib/data-table/resize.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-table/state.d.ts +103 -0
- package/dist/types/shared/src/lib/data-table/state.d.ts.map +1 -0
- package/dist/types/shared/src/lib/data-table/utils.d.ts +11 -0
- package/dist/types/shared/src/lib/data-table/utils.d.ts.map +1 -0
- package/dist/types/shared/src/lib/date-range-field/validity.d.ts +12 -0
- package/dist/types/shared/src/lib/date-range-field/validity.d.ts.map +1 -0
- package/dist/types/shared/src/lib/date.d.ts +28 -0
- package/dist/types/shared/src/lib/date.d.ts.map +1 -0
- package/dist/types/shared/src/lib/field-focus.d.ts +2 -0
- package/dist/types/shared/src/lib/field-focus.d.ts.map +1 -0
- package/dist/types/shared/src/lib/file-upload/select.d.ts +17 -0
- package/dist/types/shared/src/lib/file-upload/select.d.ts.map +1 -0
- package/dist/types/shared/src/lib/file-upload/size.d.ts +2 -0
- package/dist/types/shared/src/lib/file-upload/size.d.ts.map +1 -0
- package/dist/types/shared/src/lib/form/errors.d.ts +7 -0
- package/dist/types/shared/src/lib/form/errors.d.ts.map +1 -0
- package/dist/types/shared/src/lib/form/focus.d.ts +2 -0
- package/dist/types/shared/src/lib/form/focus.d.ts.map +1 -0
- package/dist/types/shared/src/lib/form/standard-schema.d.ts +23 -0
- package/dist/types/shared/src/lib/form/standard-schema.d.ts.map +1 -0
- package/dist/types/shared/src/lib/form/values.d.ts +3 -0
- package/dist/types/shared/src/lib/form/values.d.ts.map +1 -0
- package/dist/types/shared/src/lib/highlighter.d.ts +4 -0
- package/dist/types/shared/src/lib/highlighter.d.ts.map +1 -0
- package/dist/types/shared/src/lib/iris-origin.d.ts +6 -0
- package/dist/types/shared/src/lib/iris-origin.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/clip.d.ts +16 -0
- package/dist/types/shared/src/lib/lightbox/clip.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/download.d.ts +3 -0
- package/dist/types/shared/src/lib/lightbox/download.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/gesture.d.ts +26 -0
- package/dist/types/shared/src/lib/lightbox/gesture.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/paging.d.ts +9 -0
- package/dist/types/shared/src/lib/lightbox/paging.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/pose.d.ts +38 -0
- package/dist/types/shared/src/lib/lightbox/pose.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/source.d.ts +4 -0
- package/dist/types/shared/src/lib/lightbox/source.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/types.d.ts +16 -0
- package/dist/types/shared/src/lib/lightbox/types.d.ts.map +1 -0
- package/dist/types/shared/src/lib/lightbox/zoom.d.ts +40 -0
- package/dist/types/shared/src/lib/lightbox/zoom.d.ts.map +1 -0
- package/dist/types/shared/src/lib/meter-group.d.ts +5 -0
- package/dist/types/shared/src/lib/meter-group.d.ts.map +1 -0
- package/dist/types/shared/src/lib/overlay-anchor.d.ts +10 -0
- package/dist/types/shared/src/lib/overlay-anchor.d.ts.map +1 -0
- package/dist/types/shared/src/lib/pagination.d.ts +4 -0
- package/dist/types/shared/src/lib/pagination.d.ts.map +1 -0
- package/dist/types/shared/src/lib/pointer-corridor.d.ts +7 -0
- package/dist/types/shared/src/lib/pointer-corridor.d.ts.map +1 -0
- package/dist/types/shared/src/lib/qr-code-export.d.ts +6 -0
- package/dist/types/shared/src/lib/qr-code-export.d.ts.map +1 -0
- package/dist/types/shared/src/lib/range-calendar/limit.d.ts +3 -0
- package/dist/types/shared/src/lib/range-calendar/limit.d.ts.map +1 -0
- package/dist/types/shared/src/lib/rating.d.ts +2 -0
- package/dist/types/shared/src/lib/rating.d.ts.map +1 -0
- package/dist/types/shared/src/lib/relative-time.d.ts +2 -0
- package/dist/types/shared/src/lib/relative-time.d.ts.map +1 -0
- package/dist/types/shared/src/lib/scroll-area.d.ts +50 -0
- package/dist/types/shared/src/lib/scroll-area.d.ts.map +1 -0
- package/dist/types/shared/src/lib/scroll-restore.d.ts +34 -0
- package/dist/types/shared/src/lib/scroll-restore.d.ts.map +1 -0
- package/dist/types/shared/src/lib/toast-layout.d.ts +13 -0
- package/dist/types/shared/src/lib/toast-layout.d.ts.map +1 -0
- package/dist/types/shared/src/lib/tree/selection.d.ts +23 -0
- package/dist/types/shared/src/lib/tree/selection.d.ts.map +1 -0
- package/dist/types/shared/src/lib/tree-select/filter.d.ts +7 -0
- package/dist/types/shared/src/lib/tree-select/filter.d.ts.map +1 -0
- package/dist/types/shared/src/lib/virtual/choices.d.ts +59 -0
- package/dist/types/shared/src/lib/virtual/choices.d.ts.map +1 -0
- package/dist/types/shared/src/lib/virtual/collection.d.ts +25 -0
- package/dist/types/shared/src/lib/virtual/collection.d.ts.map +1 -0
- package/dist/types/shared/src/lib/virtual/flow.d.ts +18 -0
- package/dist/types/shared/src/lib/virtual/flow.d.ts.map +1 -0
- package/dist/types/shared/src/lib/virtual/list.d.ts +46 -0
- package/dist/types/shared/src/lib/virtual/list.d.ts.map +1 -0
- package/dist/types/shared/src/lib/virtual/navigation.d.ts +3 -0
- package/dist/types/shared/src/lib/virtual/navigation.d.ts.map +1 -0
- package/dist/types/shared/src/lib/virtual/tree.d.ts +31 -0
- package/dist/types/shared/src/lib/virtual/tree.d.ts.map +1 -0
- package/dist/types/shared/src/locale/en-US.d.ts +3 -0
- package/dist/types/shared/src/locale/en-US.d.ts.map +1 -0
- package/dist/types/shared/src/locale/index.d.ts +6 -0
- package/dist/types/shared/src/locale/index.d.ts.map +1 -0
- package/dist/types/shared/src/locale/types.d.ts +235 -0
- package/dist/types/shared/src/locale/types.d.ts.map +1 -0
- package/dist/types/shared/src/locale/zh-CN.d.ts +3 -0
- package/dist/types/shared/src/locale/zh-CN.d.ts.map +1 -0
- package/dist/types/shared/src/primitives/number-field/index.d.ts +155 -0
- package/dist/types/shared/src/primitives/number-field/index.d.ts.map +1 -0
- package/dist/types/shared/src/types/autocomplete.d.ts +14 -0
- package/dist/types/shared/src/types/autocomplete.d.ts.map +1 -0
- package/dist/types/shared/src/types/data-table.d.ts +169 -0
- package/dist/types/shared/src/types/data-table.d.ts.map +1 -0
- package/dist/types/shared/src/types/pagination.d.ts +23 -0
- package/dist/types/shared/src/types/pagination.d.ts.map +1 -0
- package/dist/types/shared/src/types/select.d.ts +14 -0
- package/dist/types/shared/src/types/select.d.ts.map +1 -0
- package/dist/types/shared/src/types/tree-select.d.ts +10 -0
- package/dist/types/shared/src/types/tree-select.d.ts.map +1 -0
- package/dist/types/shared/src/types/tree.d.ts +18 -0
- package/dist/types/shared/src/types/tree.d.ts.map +1 -0
- package/dist/types/shared/src/variants/autocomplete.d.ts +3 -0
- package/dist/types/shared/src/variants/autocomplete.d.ts.map +1 -0
- package/dist/types/shared/src/variants/editable.d.ts +52 -0
- package/dist/types/shared/src/variants/editable.d.ts.map +1 -0
- package/dist/types/shared/src/variants/float-button.d.ts +74 -0
- package/dist/types/shared/src/variants/float-button.d.ts.map +1 -0
- package/dist/types/shared/src/variants/split-button.d.ts +18 -0
- package/dist/types/shared/src/variants/split-button.d.ts.map +1 -0
- package/dist/types/vue/src/components/accordion/AccordionTrigger.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/anchor/Anchor.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/anchor/composables/useAnchor.d.ts +2 -7
- package/dist/types/vue/src/components/anchor/composables/useAnchor.d.ts.map +1 -1
- package/dist/types/vue/src/components/anchor/composables/useAnchorFollow.d.ts +1 -1
- package/dist/types/vue/src/components/anchor/composables/useAnchorFollow.d.ts.map +1 -1
- package/dist/types/vue/src/components/anchor/composables/useScrollSpy.d.ts +2 -5
- package/dist/types/vue/src/components/anchor/composables/useScrollSpy.d.ts.map +1 -1
- package/dist/types/vue/src/components/anchor/types.d.ts +1 -8
- package/dist/types/vue/src/components/anchor/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/autocomplete/autocomplete.variants.d.ts +1 -1
- package/dist/types/vue/src/components/autocomplete/autocomplete.variants.d.ts.map +1 -1
- package/dist/types/vue/src/components/autocomplete/types.d.ts +1 -13
- package/dist/types/vue/src/components/autocomplete/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/banner/utils/direction.d.ts +1 -2
- package/dist/types/vue/src/components/banner/utils/direction.d.ts.map +1 -1
- package/dist/types/vue/src/components/calendar/utils/format.d.ts +1 -6
- package/dist/types/vue/src/components/calendar/utils/format.d.ts.map +1 -1
- package/dist/types/vue/src/components/code-block/highlighter.d.ts +1 -3
- package/dist/types/vue/src/components/code-block/highlighter.d.ts.map +1 -1
- package/dist/types/vue/src/components/collapsible/CollapsibleTrigger.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/command-palette/composables/useCommandItems.d.ts +1 -1
- package/dist/types/vue/src/components/command-palette/utils/hotkey.d.ts +1 -8
- package/dist/types/vue/src/components/command-palette/utils/hotkey.d.ts.map +1 -1
- package/dist/types/vue/src/components/command-palette/utils/match.d.ts +5 -12
- package/dist/types/vue/src/components/command-palette/utils/match.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-list/composables/useDataList.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-list/utils/scroll.d.ts +1 -2
- package/dist/types/vue/src/components/data-list/utils/scroll.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/column-sizing-styles.d.ts +1 -3
- package/dist/types/vue/src/components/data-table/column-sizing-styles.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/column-sizing.d.ts +1 -21
- package/dist/types/vue/src/components/data-table/column-sizing.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/composables/useDataTable.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/composables/useTableColumns.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/composables/useTableDrag.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/composables/useTableExport.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/composables/useTableResize.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/composables/useTableResizeHandles.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/composables/useTableVirtual.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/types.d.ts +3 -153
- package/dist/types/vue/src/components/data-table/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/data-table/utils.d.ts +1 -9
- package/dist/types/vue/src/components/data-table/utils.d.ts.map +1 -1
- package/dist/types/vue/src/components/date-range-field/utils/validity.d.ts +1 -11
- package/dist/types/vue/src/components/date-range-field/utils/validity.d.ts.map +1 -1
- package/dist/types/vue/src/components/editable/editable.variants.d.ts +1 -1
- package/dist/types/vue/src/components/editable/editable.variants.d.ts.map +1 -1
- package/dist/types/vue/src/components/file-upload/utils/select.d.ts +1 -16
- package/dist/types/vue/src/components/file-upload/utils/select.d.ts.map +1 -1
- package/dist/types/vue/src/components/file-upload/utils/size.d.ts +1 -1
- package/dist/types/vue/src/components/file-upload/utils/size.d.ts.map +1 -1
- package/dist/types/vue/src/components/float-button/float-button.variants.d.ts +1 -1
- package/dist/types/vue/src/components/float-button/float-button.variants.d.ts.map +1 -1
- package/dist/types/vue/src/components/form/Form.vue.d.ts +1 -1
- package/dist/types/vue/src/components/form/composables/useForm.d.ts +9 -15
- package/dist/types/vue/src/components/form/composables/useForm.d.ts.map +1 -1
- package/dist/types/vue/src/components/form/standard-schema.d.ts +1 -22
- package/dist/types/vue/src/components/form/standard-schema.d.ts.map +1 -1
- package/dist/types/vue/src/components/form/utils/errors.d.ts +1 -6
- package/dist/types/vue/src/components/form/utils/errors.d.ts.map +1 -1
- package/dist/types/vue/src/components/form/utils/focus.d.ts +1 -1
- package/dist/types/vue/src/components/form/utils/focus.d.ts.map +1 -1
- package/dist/types/vue/src/components/form/utils/values.d.ts +1 -2
- package/dist/types/vue/src/components/form/utils/values.d.ts.map +1 -1
- package/dist/types/vue/src/components/form-field/FormField.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/composables/useLightboxHint.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/types.d.ts +1 -15
- package/dist/types/vue/src/components/lightbox/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/utils/clip.d.ts +1 -15
- package/dist/types/vue/src/components/lightbox/utils/clip.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/utils/download.d.ts +1 -2
- package/dist/types/vue/src/components/lightbox/utils/download.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/utils/gesture.d.ts +1 -25
- package/dist/types/vue/src/components/lightbox/utils/gesture.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/utils/paging.d.ts +1 -8
- package/dist/types/vue/src/components/lightbox/utils/paging.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/utils/pose.d.ts +1 -37
- package/dist/types/vue/src/components/lightbox/utils/pose.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/utils/source.d.ts +1 -3
- package/dist/types/vue/src/components/lightbox/utils/source.d.ts.map +1 -1
- package/dist/types/vue/src/components/lightbox/utils/zoom.d.ts +1 -39
- package/dist/types/vue/src/components/lightbox/utils/zoom.d.ts.map +1 -1
- package/dist/types/vue/src/components/meter-group/utils/tones.d.ts +1 -3
- package/dist/types/vue/src/components/meter-group/utils/tones.d.ts.map +1 -1
- package/dist/types/vue/src/components/month-grid/MonthGrid.vue.d.ts +1 -1
- package/dist/types/vue/src/components/multi-select/MultiSelect.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/pagination/composables/usePagination.d.ts +2 -2
- package/dist/types/vue/src/components/pagination/composables/usePagination.d.ts.map +1 -1
- package/dist/types/vue/src/components/pagination/types.d.ts +1 -22
- package/dist/types/vue/src/components/pagination/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/pagination/utils/ranges.d.ts +1 -2
- package/dist/types/vue/src/components/pagination/utils/ranges.d.ts.map +1 -1
- package/dist/types/vue/src/components/password-input/PasswordInput.vue.d.ts +4 -1
- package/dist/types/vue/src/components/password-input/PasswordInput.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/prev-next/PrevNextLink.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/qr-code/export.d.ts +1 -2
- package/dist/types/vue/src/components/qr-code/export.d.ts.map +1 -1
- package/dist/types/vue/src/components/range-calendar/utils/limit.d.ts +1 -2
- package/dist/types/vue/src/components/range-calendar/utils/limit.d.ts.map +1 -1
- package/dist/types/vue/src/components/range-slider/RangeSlider.vue.d.ts +2 -2
- package/dist/types/vue/src/components/rating/utils/fill.d.ts +1 -1
- package/dist/types/vue/src/components/rating/utils/fill.d.ts.map +1 -1
- package/dist/types/vue/src/components/ripple/useRipple.d.ts.map +1 -1
- package/dist/types/vue/src/components/scroll-area/ScrollArea.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/scroll-area/composables/useEdgeShadow.d.ts +2 -1
- package/dist/types/vue/src/components/scroll-area/composables/useEdgeShadow.d.ts.map +1 -1
- package/dist/types/vue/src/components/scroll-area/composables/useLayerLock.d.ts.map +1 -1
- package/dist/types/vue/src/components/scroll-area/composables/useWheelRedirect.d.ts.map +1 -1
- package/dist/types/vue/src/components/scroll-area/scroll-restore.d.ts +1 -33
- package/dist/types/vue/src/components/scroll-area/scroll-restore.d.ts.map +1 -1
- package/dist/types/vue/src/components/search-input/SearchInput.vue.d.ts +4 -1
- package/dist/types/vue/src/components/search-input/SearchInput.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/select/types.d.ts +1 -13
- package/dist/types/vue/src/components/select/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/slider/Slider.vue.d.ts +2 -2
- package/dist/types/vue/src/components/split-button/split-button.variants.d.ts +1 -1
- package/dist/types/vue/src/components/split-button/split-button.variants.d.ts.map +1 -1
- package/dist/types/vue/src/components/spoiler/SpoilerPainter.d.ts +1 -34
- package/dist/types/vue/src/components/spoiler/SpoilerPainter.d.ts.map +1 -1
- package/dist/types/vue/src/components/spoiler/utils/irisOrigin.d.ts +1 -5
- package/dist/types/vue/src/components/spoiler/utils/irisOrigin.d.ts.map +1 -1
- package/dist/types/vue/src/components/spoiler/worklet.d.ts +1 -1
- package/dist/types/vue/src/components/spoiler/worklet.d.ts.map +1 -1
- package/dist/types/vue/src/components/table/Table.vue.d.ts +6 -3
- package/dist/types/vue/src/components/table/Table.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/tabs/TabsList.vue.d.ts +6 -3
- package/dist/types/vue/src/components/tabs/TabsList.vue.d.ts.map +1 -1
- package/dist/types/vue/src/components/time/utils/relativeTime.d.ts +1 -1
- package/dist/types/vue/src/components/time/utils/relativeTime.d.ts.map +1 -1
- package/dist/types/vue/src/components/toast/composables/useToastLayout.d.ts +4 -11
- package/dist/types/vue/src/components/toast/composables/useToastLayout.d.ts.map +1 -1
- package/dist/types/vue/src/components/toast/store.d.ts +14 -62
- package/dist/types/vue/src/components/toast/store.d.ts.map +1 -1
- package/dist/types/vue/src/components/tree/composables/useTree.d.ts.map +1 -1
- package/dist/types/vue/src/components/tree/types.d.ts +1 -17
- package/dist/types/vue/src/components/tree/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/tree/utils/selection.d.ts +1 -15
- package/dist/types/vue/src/components/tree/utils/selection.d.ts.map +1 -1
- package/dist/types/vue/src/components/tree-select/types.d.ts +1 -9
- package/dist/types/vue/src/components/tree-select/types.d.ts.map +1 -1
- package/dist/types/vue/src/components/tree-select/utils/filterTree.d.ts +1 -6
- package/dist/types/vue/src/components/tree-select/utils/filterTree.d.ts.map +1 -1
- package/dist/types/vue/src/components/virtual-list/composables/useVirtualList.d.ts +1 -1
- package/dist/types/vue/src/components/virtual-list/composables/useVirtualList.d.ts.map +1 -1
- package/dist/types/vue/src/components/visually-hidden/VisuallyHidden.vue.d.ts +4 -1
- package/dist/types/vue/src/components/visually-hidden/VisuallyHidden.vue.d.ts.map +1 -1
- package/dist/types/vue/src/lib/caret.d.ts +1 -1
- package/dist/types/vue/src/lib/caret.d.ts.map +1 -1
- package/dist/types/vue/src/lib/collapse.d.ts +2 -8
- package/dist/types/vue/src/lib/collapse.d.ts.map +1 -1
- package/dist/types/vue/src/lib/date.d.ts +1 -27
- package/dist/types/vue/src/lib/date.d.ts.map +1 -1
- package/dist/types/vue/src/lib/field-focus.d.ts +1 -1
- package/dist/types/vue/src/lib/field-focus.d.ts.map +1 -1
- package/dist/types/vue/src/lib/overlay-anchor.d.ts +2 -7
- package/dist/types/vue/src/lib/overlay-anchor.d.ts.map +1 -1
- package/dist/types/vue/src/lib/pointer-corridor.d.ts +1 -6
- package/dist/types/vue/src/lib/pointer-corridor.d.ts.map +1 -1
- package/dist/types/vue/src/lib/reka/useVirtualChoices.d.ts +3 -11
- package/dist/types/vue/src/lib/reka/useVirtualChoices.d.ts.map +1 -1
- package/dist/types/vue/src/lib/reka/useVirtualTree.d.ts +1 -1
- package/dist/types/vue/src/lib/reka/useVirtualTree.d.ts.map +1 -1
- package/dist/types/vue/src/lib/virtual/navigation.d.ts +1 -2
- package/dist/types/vue/src/lib/virtual/navigation.d.ts.map +1 -1
- package/dist/types/vue/src/lib/virtual/useVirtualCollection.d.ts +1 -1
- package/dist/types/vue/src/lib/virtual/useVirtualCollection.d.ts.map +1 -1
- package/dist/types/vue/src/lib/virtual/useVirtualWindow.d.ts +2 -15
- package/dist/types/vue/src/lib/virtual/useVirtualWindow.d.ts.map +1 -1
- package/dist/types/vue/src/locale/en-US.d.ts +1 -2
- package/dist/types/vue/src/locale/en-US.d.ts.map +1 -1
- package/dist/types/vue/src/locale/index.d.ts +3 -4
- package/dist/types/vue/src/locale/index.d.ts.map +1 -1
- package/dist/types/vue/src/locale/types.d.ts +1 -234
- package/dist/types/vue/src/locale/types.d.ts.map +1 -1
- package/dist/types/vue/src/locale/zh-CN.d.ts +1 -2
- package/dist/types/vue/src/locale/zh-CN.d.ts.map +1 -1
- package/dist/types/vue/src/primitives/number-field/NumberFieldDecrement.vue.d.ts +17 -0
- package/dist/types/vue/src/primitives/number-field/NumberFieldDecrement.vue.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/number-field/NumberFieldIncrement.vue.d.ts +17 -0
- package/dist/types/vue/src/primitives/number-field/NumberFieldIncrement.vue.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/number-field/NumberFieldInput.vue.d.ts +16 -0
- package/dist/types/vue/src/primitives/number-field/NumberFieldInput.vue.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/number-field/NumberFieldRoot.vue.d.ts +47 -0
- package/dist/types/vue/src/primitives/number-field/NumberFieldRoot.vue.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/number-field/context.d.ts +41 -0
- package/dist/types/vue/src/primitives/number-field/context.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/number-field/index.d.ts +5 -0
- package/dist/types/vue/src/primitives/number-field/index.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/utils/timers.d.ts +6 -0
- package/dist/types/vue/src/primitives/utils/timers.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/utils/usePrimitiveElement.d.ts +6 -0
- package/dist/types/vue/src/primitives/utils/usePrimitiveElement.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/utils/useVModel.d.ts +7 -0
- package/dist/types/vue/src/primitives/utils/useVModel.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInput.d.ts +66 -0
- package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInput.d.ts.map +1 -0
- package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInputBubble.vue.d.ts +28 -0
- package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInputBubble.vue.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/components/accordion/AccordionTrigger.vue +9 -1
- package/src/components/anchor/Anchor.vue +13 -9
- package/src/components/anchor/composables/useAnchor.ts +3 -12
- package/src/components/anchor/composables/useAnchorFollow.ts +10 -63
- package/src/components/anchor/composables/useScrollSpy.ts +22 -38
- package/src/components/anchor/types.ts +1 -8
- package/src/components/autocomplete/autocomplete.variants.ts +1 -1
- package/src/components/autocomplete/composables/useAutocomplete.ts +1 -1
- package/src/components/autocomplete/types.ts +1 -16
- package/src/components/banner/utils/direction.ts +1 -10
- package/src/components/calendar/utils/format.ts +1 -23
- package/src/components/code-block/highlighter.ts +1 -98
- package/src/components/collapsible/CollapsibleTrigger.vue +8 -1
- package/src/components/command-palette/utils/hotkey.ts +1 -27
- package/src/components/command-palette/utils/match.ts +5 -75
- package/src/components/data-list/composables/useDataList.ts +2 -4
- package/src/components/data-list/utils/scroll.ts +1 -26
- package/src/components/data-table/column-sizing-styles.ts +1 -40
- package/src/components/data-table/column-sizing.ts +1 -101
- package/src/components/data-table/composables/useDataTable.ts +103 -123
- package/src/components/data-table/composables/useTableColumns.ts +38 -113
- package/src/components/data-table/composables/useTableDrag.ts +21 -11
- package/src/components/data-table/composables/useTableExport.ts +8 -32
- package/src/components/data-table/composables/useTableResize.ts +13 -17
- package/src/components/data-table/composables/useTableResizeHandles.ts +6 -21
- package/src/components/data-table/types.ts +15 -155
- package/src/components/data-table/utils.ts +1 -75
- package/src/components/date-range-field/utils/validity.ts +1 -21
- package/src/components/editable/editable.variants.ts +1 -1
- package/src/components/file-upload/utils/select.ts +1 -58
- package/src/components/file-upload/utils/size.ts +1 -16
- package/src/components/float-button/float-button.variants.ts +1 -1
- package/src/components/form/composables/useForm.ts +24 -135
- package/src/components/form/standard-schema.ts +1 -26
- package/src/components/form/utils/errors.ts +1 -48
- package/src/components/form/utils/focus.ts +1 -10
- package/src/components/form/utils/values.ts +1 -23
- package/src/components/form-field/FormField.vue +3 -2
- package/src/components/lightbox/composables/useLightboxHint.ts +6 -1
- package/src/components/lightbox/types.ts +1 -14
- package/src/components/lightbox/utils/clip.ts +1 -117
- package/src/components/lightbox/utils/download.ts +1 -29
- package/src/components/lightbox/utils/gesture.ts +1 -54
- package/src/components/lightbox/utils/paging.ts +1 -33
- package/src/components/lightbox/utils/pose.ts +1 -142
- package/src/components/lightbox/utils/source.ts +1 -17
- package/src/components/lightbox/utils/zoom.ts +1 -127
- package/src/components/meter-group/utils/tones.ts +1 -14
- package/src/components/multi-select/MultiSelect.vue +1 -2
- package/src/components/number-input/NumberInput.vue +2 -2
- package/src/components/pagination/composables/usePagination.ts +2 -3
- package/src/components/pagination/types.ts +1 -19
- package/src/components/pagination/utils/ranges.ts +1 -12
- package/src/components/password-input/PasswordInput.vue +6 -0
- package/src/components/prev-next/PrevNext.vue +1 -1
- package/src/components/prev-next/PrevNextLink.vue +1 -1
- package/src/components/qr-code/export.ts +1 -65
- package/src/components/range-calendar/utils/limit.ts +1 -11
- package/src/components/rating/utils/fill.ts +1 -4
- package/src/components/ripple/useRipple.ts +10 -198
- package/src/components/scroll-area/ScrollArea.vue +6 -18
- package/src/components/scroll-area/composables/useEdgeShadow.ts +7 -16
- package/src/components/scroll-area/composables/useLayerLock.ts +2 -9
- package/src/components/scroll-area/composables/useWheelRedirect.ts +2 -10
- package/src/components/scroll-area/scroll-restore.ts +1 -148
- package/src/components/search-input/SearchInput.vue +6 -0
- package/src/components/select/types.ts +1 -23
- package/src/components/split-button/split-button.variants.ts +1 -1
- package/src/components/spoiler/SpoilerPainter.ts +1 -197
- package/src/components/spoiler/utils/irisOrigin.ts +1 -40
- package/src/components/spoiler/worklet.ts +1 -199
- package/src/components/table/Table.vue +9 -0
- package/src/components/tabs/TabsList.vue +9 -0
- package/src/components/time/utils/relativeTime.ts +1 -20
- package/src/components/toast/composables/useToastLayout.ts +12 -24
- package/src/components/toast/store.ts +16 -228
- package/src/components/tree/composables/useTree.ts +17 -33
- package/src/components/tree/types.ts +1 -20
- package/src/components/tree/utils/selection.ts +1 -78
- package/src/components/tree-select/types.ts +1 -34
- package/src/components/tree-select/utils/filterTree.ts +1 -19
- package/src/components/virtual-list/composables/useVirtualList.ts +16 -42
- package/src/components/visually-hidden/VisuallyHidden.vue +21 -3
- package/src/lib/caret.ts +1 -48
- package/src/lib/collapse.ts +6 -29
- package/src/lib/date.ts +1 -111
- package/src/lib/field-focus.ts +1 -36
- package/src/lib/overlay-anchor.ts +11 -37
- package/src/lib/pointer-corridor.ts +1 -26
- package/src/lib/reka/useVirtualChoices.ts +55 -133
- package/src/lib/reka/useVirtualTree.ts +22 -65
- package/src/lib/virtual/navigation.ts +1 -26
- package/src/lib/virtual/useVirtualCollection.ts +28 -47
- package/src/lib/virtual/useVirtualWindow.ts +15 -25
- package/src/locale/en-US.ts +1 -220
- package/src/locale/index.ts +9 -53
- package/src/locale/types.ts +1 -225
- package/src/locale/zh-CN.ts +1 -215
- package/src/primitives/number-field/LICENSE +21 -0
- package/src/primitives/number-field/NumberFieldDecrement.vue +21 -0
- package/src/primitives/number-field/NumberFieldIncrement.vue +21 -0
- package/src/primitives/number-field/NumberFieldInput.vue +114 -0
- package/src/primitives/number-field/NumberFieldRoot.vue +169 -0
- package/src/primitives/number-field/context.ts +111 -0
- package/src/primitives/number-field/index.ts +14 -0
- package/src/primitives/utils/LICENSE +44 -0
- package/src/primitives/utils/timers.ts +6 -0
- package/src/primitives/utils/usePrimitiveElement.ts +12 -0
- package/src/primitives/utils/useVModel.ts +37 -0
- package/src/primitives/visually-hidden/LICENSE +21 -0
- package/src/primitives/visually-hidden/VisuallyHiddenInput.ts +97 -0
- package/src/primitives/visually-hidden/VisuallyHiddenInputBubble.vue +49 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import { type NumberFieldBound, type NumberFieldFormat, type NumberFieldInputMode, type NumberFieldRange, type NumberFieldStep } from '../../../../shared/src/primitives/number-field';
|
|
3
|
+
export interface NumberFieldRootContext {
|
|
4
|
+
modelValue: Ref<number | null | undefined>;
|
|
5
|
+
step: (direction: NumberFieldStep, multiplier?: number) => void;
|
|
6
|
+
jump: (bound: NumberFieldBound) => void;
|
|
7
|
+
commit: (text: string) => void;
|
|
8
|
+
inputEl: Ref<HTMLInputElement | undefined>;
|
|
9
|
+
onInputElement: (element: HTMLInputElement) => void;
|
|
10
|
+
inputMode: Ref<NumberFieldInputMode>;
|
|
11
|
+
textValue: Ref<string>;
|
|
12
|
+
range: Ref<NumberFieldRange>;
|
|
13
|
+
format: Ref<NumberFieldFormat>;
|
|
14
|
+
disabled: Ref<boolean>;
|
|
15
|
+
readonly: Ref<boolean>;
|
|
16
|
+
disableWheelChange: Ref<boolean>;
|
|
17
|
+
invertWheelChange: Ref<boolean>;
|
|
18
|
+
isDecreaseDisabled: Ref<boolean>;
|
|
19
|
+
isIncreaseDisabled: Ref<boolean>;
|
|
20
|
+
id: Ref<string | undefined>;
|
|
21
|
+
}
|
|
22
|
+
export declare function provideNumberFieldRootContext(context: NumberFieldRootContext): NumberFieldRootContext;
|
|
23
|
+
export declare function injectNumberFieldRootContext(): NumberFieldRootContext;
|
|
24
|
+
export declare function useNumberFieldStep(direction: NumberFieldStep, props: {
|
|
25
|
+
as?: unknown;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
}): {
|
|
28
|
+
primitiveElement: Ref<import("vue").ComponentPublicInstance | undefined, import("vue").ComponentPublicInstance | undefined>;
|
|
29
|
+
attributes: import("vue").ComputedRef<{
|
|
30
|
+
readonly tabindex: "-1";
|
|
31
|
+
readonly 'aria-label': "Increase" | "Decrease";
|
|
32
|
+
readonly type: "button" | undefined;
|
|
33
|
+
readonly style: {
|
|
34
|
+
readonly userSelect: "none" | undefined;
|
|
35
|
+
};
|
|
36
|
+
readonly disabled: "" | undefined;
|
|
37
|
+
readonly 'data-disabled': "" | undefined;
|
|
38
|
+
readonly 'data-pressed': "true" | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/primitives/number-field/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,GAAG,EACT,MAAM,KAAK,CAAA;AACZ,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,gDAAgD,CAAA;AAIvD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IAC1C,IAAI,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/D,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACvC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,OAAO,EAAE,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;IAC1C,cAAc,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACnD,SAAS,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACpC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACtB,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC5B,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAChC,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC/B,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAChC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAChC,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAC5B;AAID,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,sBAAsB,0BAG5E;AAED,wBAAgB,4BAA4B,2BAO3C;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;EAiD5C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as NumberFieldRoot, type NumberFieldRootEmits, type NumberFieldRootProps, } from './NumberFieldRoot.vue';
|
|
2
|
+
export { default as NumberFieldInput, type NumberFieldInputProps } from './NumberFieldInput.vue';
|
|
3
|
+
export { default as NumberFieldIncrement, type NumberFieldIncrementProps, } from './NumberFieldIncrement.vue';
|
|
4
|
+
export { default as NumberFieldDecrement, type NumberFieldDecrementProps, } from './NumberFieldDecrement.vue';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/primitives/number-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAChG,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,4BAA4B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../../../../../src/primitives/utils/timers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;2BACA,MAAM,IAAI,SAAS,MAAM;2BACzB,OAAO;CAC/B,CAAA;AAED,eAAO,MAAM,QAAQ,SAAmE,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ComponentPublicInstance } from 'vue';
|
|
2
|
+
export declare function usePrimitiveElement<T extends ComponentPublicInstance>(): {
|
|
3
|
+
primitiveElement: import("vue").Ref<T | undefined, T | undefined>;
|
|
4
|
+
currentElement: import("vue").ComputedRef<HTMLElement | undefined>;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=usePrimitiveElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrimitiveElement.d.ts","sourceRoot":"","sources":["../../../../../../src/primitives/utils/usePrimitiveElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,uBAAuB,EAAE,MAAM,KAAK,CAAA;AAEjE,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,uBAAuB;;;EASpE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
export interface VModelOptions<V> {
|
|
3
|
+
defaultValue?: V;
|
|
4
|
+
passive?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function useVModel<P extends object, K extends keyof P & string, V = P[K]>(props: P, key: K, emit: (event: `update:${K}`, value: V) => void, options?: VModelOptions<V>): Ref<V>;
|
|
7
|
+
//# sourceMappingURL=useVModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVModel.d.ts","sourceRoot":"","sources":["../../../../../../src/primitives/utils/useVModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9D,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC9E,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,EAC9C,OAAO,GAAE,aAAa,CAAC,CAAC,CAAM,GAC7B,GAAG,CAAC,CAAC,CAAC,CAwBR"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { VisuallyHiddenProps } from 'reka-ui';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
name: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
value: {
|
|
9
|
+
type: PropType<unknown>;
|
|
10
|
+
required: true;
|
|
11
|
+
};
|
|
12
|
+
checked: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
required: false;
|
|
15
|
+
default: undefined;
|
|
16
|
+
};
|
|
17
|
+
required: {
|
|
18
|
+
type: BooleanConstructor;
|
|
19
|
+
required: false;
|
|
20
|
+
};
|
|
21
|
+
disabled: {
|
|
22
|
+
type: BooleanConstructor;
|
|
23
|
+
required: false;
|
|
24
|
+
};
|
|
25
|
+
feature: {
|
|
26
|
+
type: PropType<VisuallyHiddenProps["feature"]>;
|
|
27
|
+
required: false;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
33
|
+
name: {
|
|
34
|
+
type: StringConstructor;
|
|
35
|
+
required: true;
|
|
36
|
+
};
|
|
37
|
+
value: {
|
|
38
|
+
type: PropType<unknown>;
|
|
39
|
+
required: true;
|
|
40
|
+
};
|
|
41
|
+
checked: {
|
|
42
|
+
type: BooleanConstructor;
|
|
43
|
+
required: false;
|
|
44
|
+
default: undefined;
|
|
45
|
+
};
|
|
46
|
+
required: {
|
|
47
|
+
type: BooleanConstructor;
|
|
48
|
+
required: false;
|
|
49
|
+
};
|
|
50
|
+
disabled: {
|
|
51
|
+
type: BooleanConstructor;
|
|
52
|
+
required: false;
|
|
53
|
+
};
|
|
54
|
+
feature: {
|
|
55
|
+
type: PropType<VisuallyHiddenProps["feature"]>;
|
|
56
|
+
required: false;
|
|
57
|
+
default: string;
|
|
58
|
+
};
|
|
59
|
+
}>> & Readonly<{}>, {
|
|
60
|
+
required: boolean;
|
|
61
|
+
disabled: boolean;
|
|
62
|
+
checked: boolean;
|
|
63
|
+
feature: "focusable" | "fully-hidden" | undefined;
|
|
64
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
65
|
+
export default _default;
|
|
66
|
+
//# sourceMappingURL=VisuallyHiddenInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisuallyHiddenInput.d.ts","sourceRoot":"","sources":["../../../../../../src/primitives/visually-hidden/VisuallyHiddenInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,KAAK,CAAA;AACZ,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;;;;;;;cAYZ,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;cAKjC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;;;;;;;;;;;;cALxB,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;cAKjC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;;;;;;;;;;AAV9D,wBAgFE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { VisuallyHiddenProps } from 'reka-ui';
|
|
2
|
+
export interface VisuallyHiddenInputBubbleProps<T> {
|
|
3
|
+
name: string;
|
|
4
|
+
value: T;
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
feature?: VisuallyHiddenProps['feature'];
|
|
9
|
+
}
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
12
|
+
declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
13
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<VisuallyHiddenInputBubbleProps<T>> & (typeof globalThis extends {
|
|
14
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
15
|
+
} ? P : {});
|
|
16
|
+
expose: (exposed: {}) => void;
|
|
17
|
+
attrs: any;
|
|
18
|
+
slots: {};
|
|
19
|
+
emit: {};
|
|
20
|
+
}>) => import("vue").VNode & {
|
|
21
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
22
|
+
};
|
|
23
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
24
|
+
[K in keyof T]: T[K];
|
|
25
|
+
} : {
|
|
26
|
+
[K in keyof T as K]: T[K];
|
|
27
|
+
}) & {};
|
|
28
|
+
//# sourceMappingURL=VisuallyHiddenInputBubble.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisuallyHiddenInputBubble.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/primitives/visually-hidden/VisuallyHiddenInputBubble.vue"],"names":[],"mappings":"AAyDE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,WAAW,8BAA8B,CAAC,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,CAAC,CAAA;IACR,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CACzC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY,GAAK,CAAC,EACvB,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WA2EO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,mCAAmB,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC1I,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;WACH,EAAE;UACH,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;CAAI,CAAC;AACzF,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hina-ui/vue",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.7.6",
|
|
4
|
+
"description": "The design system behind Hikarinagi: Vue 3 components built on Reka UI and Tailwind CSS v4.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
7
7
|
"vue3",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@internationalized/date": "^3.12.4",
|
|
53
|
+
"@internationalized/number": "^3.6.8",
|
|
53
54
|
"@lucide/vue": "^1.37.0",
|
|
54
55
|
"@tanstack/vue-table": "^9.2.4",
|
|
55
56
|
"@tanstack/vue-virtual": "^3.13.36",
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
AccordionHeader,
|
|
4
|
+
AccordionTrigger as RekaAccordionTrigger,
|
|
5
|
+
injectCollapsibleRootContext,
|
|
6
|
+
useId,
|
|
7
|
+
} from 'reka-ui'
|
|
3
8
|
import { cn } from '../../lib/cn'
|
|
4
9
|
import Ripple from '../ripple/Ripple.vue'
|
|
5
10
|
import DisclosureIcon from '../disclosure-icon/DisclosureIcon.vue'
|
|
@@ -7,6 +12,9 @@
|
|
|
7
12
|
|
|
8
13
|
defineOptions({ name: 'HnAccordionTrigger' })
|
|
9
14
|
|
|
15
|
+
const root = injectCollapsibleRootContext()
|
|
16
|
+
root.contentId ||= useId(undefined, 'reka-collapsible-content')
|
|
17
|
+
|
|
10
18
|
const props = withDefaults(
|
|
11
19
|
defineProps<{
|
|
12
20
|
level?: 2 | 3 | 4 | 5 | 6
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts" generic="T extends AnchorItem = AnchorItem">
|
|
2
|
-
import { useTemplateRef, watch } from 'vue'
|
|
2
|
+
import { computed, useTemplateRef, watch } from 'vue'
|
|
3
3
|
import { cn } from '../../lib/cn'
|
|
4
4
|
import { useUiLocale } from '../../locale'
|
|
5
5
|
import Highlight from '../highlight/Highlight.vue'
|
|
@@ -11,12 +11,15 @@
|
|
|
11
11
|
|
|
12
12
|
defineOptions({ name: 'HnAnchor' })
|
|
13
13
|
|
|
14
|
-
const props =
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
const props = withDefaults(
|
|
15
|
+
defineProps<{
|
|
16
|
+
items: T[]
|
|
17
|
+
label?: string
|
|
18
|
+
autoScroll?: boolean
|
|
19
|
+
class?: string
|
|
20
|
+
}>(),
|
|
21
|
+
{ autoScroll: true },
|
|
22
|
+
)
|
|
20
23
|
|
|
21
24
|
const emit = defineEmits<{ change: [current: string | undefined] }>()
|
|
22
25
|
|
|
@@ -26,9 +29,10 @@
|
|
|
26
29
|
|
|
27
30
|
const t = useUiLocale()
|
|
28
31
|
|
|
29
|
-
const { entries, visible, current, span, jump } = useAnchor(() => props.items)
|
|
32
|
+
const { entries, visible, covered, current, span, jump } = useAnchor(() => props.items)
|
|
33
|
+
const lastCovered = computed(() => covered.value.at(-1)?.id)
|
|
30
34
|
const root = useTemplateRef<HTMLElement>('root')
|
|
31
|
-
useAnchorFollow(root, current, () => props.autoScroll
|
|
35
|
+
useAnchorFollow(root, current, lastCovered, () => props.autoScroll)
|
|
32
36
|
watch(current, id => emit('change', id), { flush: 'post' })
|
|
33
37
|
defineExpose({ current })
|
|
34
38
|
</script>
|
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
import { computed } from 'vue'
|
|
2
|
-
import
|
|
2
|
+
import { anchorEntries } from '../../../../../shared/src/lib/anchor'
|
|
3
|
+
import type { AnchorItem } from '../types'
|
|
3
4
|
import { useScrollSpy } from './useScrollSpy'
|
|
4
5
|
|
|
5
6
|
export function useAnchor<T extends AnchorItem>(items: () => T[]) {
|
|
6
|
-
const entries = computed(() =>
|
|
7
|
-
items().flatMap(item => [
|
|
8
|
-
{ id: item.id, label: item.label, depth: 0, item: item as AnchorSlotItem<T> },
|
|
9
|
-
...(item.children ?? []).map(child => ({
|
|
10
|
-
id: child.id,
|
|
11
|
-
label: child.label,
|
|
12
|
-
depth: 1,
|
|
13
|
-
item: child as AnchorSlotItem<T>,
|
|
14
|
-
})),
|
|
15
|
-
]),
|
|
16
|
-
)
|
|
7
|
+
const entries = computed(() => anchorEntries(items()))
|
|
17
8
|
|
|
18
9
|
return { entries, ...useScrollSpy(() => entries.value) }
|
|
19
10
|
}
|
|
@@ -1,87 +1,34 @@
|
|
|
1
1
|
import { useResizeObserver } from '@vueuse/core'
|
|
2
2
|
import { onBeforeUnmount, onMounted, shallowRef, watch, type Ref } from 'vue'
|
|
3
|
-
import {
|
|
3
|
+
import { createAnchorFollow } from '../../../../../shared/src/behavior/anchor-follow'
|
|
4
4
|
|
|
5
5
|
export function useAnchorFollow(
|
|
6
6
|
root: Readonly<Ref<HTMLElement | null>>,
|
|
7
7
|
current: Readonly<Ref<string | undefined>>,
|
|
8
|
+
lastCovered: Readonly<Ref<string | undefined>>,
|
|
8
9
|
enabled: () => boolean,
|
|
9
10
|
) {
|
|
10
11
|
const viewport = shallowRef<HTMLElement>()
|
|
12
|
+
const follower = createAnchorFollow()
|
|
11
13
|
let mounted = false
|
|
12
14
|
let frame = 0
|
|
13
|
-
let lastCurrent: string | undefined
|
|
14
|
-
|
|
15
|
-
function findViewport(nav: HTMLElement, target: HTMLElement) {
|
|
16
|
-
const doc = nav.ownerDocument
|
|
17
|
-
const view = doc.defaultView!
|
|
18
|
-
for (
|
|
19
|
-
let node: HTMLElement | null = nav;
|
|
20
|
-
node && node !== doc.body && node !== doc.documentElement;
|
|
21
|
-
node = node.parentElement
|
|
22
|
-
) {
|
|
23
|
-
// A shared page/content scroller is not the directory's own viewport.
|
|
24
|
-
if (node.contains(target)) break
|
|
25
|
-
if (/^(auto|scroll|overlay)$/.test(view.getComputedStyle(node).overflowY)) return node
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
15
|
|
|
29
16
|
function follow() {
|
|
30
17
|
frame = 0
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (!target || !link || !link.getClientRects().length) return
|
|
37
|
-
const port = findViewport(nav, target)
|
|
38
|
-
viewport.value = port
|
|
39
|
-
const changed = lastCurrent !== undefined && lastCurrent !== id
|
|
40
|
-
lastCurrent = id
|
|
41
|
-
if (!port || port.clientHeight <= 0 || port.scrollHeight <= port.clientHeight) return
|
|
42
|
-
|
|
43
|
-
const box = port.getBoundingClientRect()
|
|
44
|
-
const row = link.getBoundingClientRect()
|
|
45
|
-
const scale = port.offsetHeight ? box.height / port.offsetHeight : 1
|
|
46
|
-
if (scale <= 0) return
|
|
47
|
-
const top = box.top + port.clientTop * scale
|
|
48
|
-
const bottom = top + port.clientHeight * scale
|
|
49
|
-
if (row.top >= top && row.bottom <= bottom) return
|
|
50
|
-
// A wrapped item taller than the viewport cannot be fully visible. Avoid
|
|
51
|
-
// alternating between its top and bottom when resize observers run again.
|
|
52
|
-
if (row.top <= top && row.bottom >= bottom) return
|
|
53
|
-
|
|
54
|
-
const style = port.ownerDocument.defaultView!.getComputedStyle(port)
|
|
55
|
-
const margin = Math.min(row.height / scale / 2, port.clientHeight / 4)
|
|
56
|
-
const padding = (value: string) =>
|
|
57
|
-
Math.min(
|
|
58
|
-
Math.max(0, (port.clientHeight - row.height / scale) / 2),
|
|
59
|
-
value === 'auto'
|
|
60
|
-
? margin
|
|
61
|
-
: (parseFloat(value) || 0) * (value.endsWith('%') ? port.clientHeight / 100 : 1),
|
|
62
|
-
)
|
|
63
|
-
const before = padding(style.scrollPaddingTop)
|
|
64
|
-
const after = padding(style.scrollPaddingBottom)
|
|
65
|
-
const delta =
|
|
66
|
-
row.height > bottom - top || row.top < top
|
|
67
|
-
? (row.top - top) / scale - before
|
|
68
|
-
: (row.bottom - bottom) / scale + after
|
|
69
|
-
const next = Math.max(
|
|
70
|
-
0,
|
|
71
|
-
Math.min(port.scrollHeight - port.clientHeight, port.scrollTop + delta),
|
|
72
|
-
)
|
|
73
|
-
if (Math.abs(next - port.scrollTop) < 1) return
|
|
74
|
-
port.scrollTo({
|
|
75
|
-
top: next,
|
|
76
|
-
behavior: changed && !prefersReducedMotion() ? 'smooth' : 'instant',
|
|
18
|
+
const result = follower.follow({
|
|
19
|
+
nav: root.value,
|
|
20
|
+
current: current.value,
|
|
21
|
+
lastCovered: lastCovered.value,
|
|
22
|
+
enabled: enabled(),
|
|
77
23
|
})
|
|
24
|
+
if (result) viewport.value = result.viewport
|
|
78
25
|
}
|
|
79
26
|
|
|
80
27
|
function schedule() {
|
|
81
28
|
if (mounted && !frame) frame = requestAnimationFrame(follow)
|
|
82
29
|
}
|
|
83
30
|
|
|
84
|
-
watch([root, current, enabled], schedule, { flush: 'post' })
|
|
31
|
+
watch([root, current, lastCovered, enabled], schedule, { flush: 'post' })
|
|
85
32
|
useResizeObserver(
|
|
86
33
|
() =>
|
|
87
34
|
[root.value, root.value?.parentElement, viewport.value].filter(
|
|
@@ -1,70 +1,54 @@
|
|
|
1
1
|
import { useIntersectionObserver } from '@vueuse/core'
|
|
2
2
|
import { computed, onMounted, shallowRef, watch } from 'vue'
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import {
|
|
4
|
+
SCROLL_SPY_OPTIONS,
|
|
5
|
+
applyIntersections,
|
|
6
|
+
coveredEntries,
|
|
7
|
+
coveredSpan,
|
|
8
|
+
hashTarget,
|
|
9
|
+
jumpToAnchor,
|
|
10
|
+
sameTargets,
|
|
11
|
+
spyTargets,
|
|
12
|
+
type SpyEntry,
|
|
13
|
+
} from '../../../../../shared/src/lib/anchor'
|
|
14
|
+
|
|
15
|
+
export type { SpyEntry }
|
|
10
16
|
|
|
11
17
|
export function useScrollSpy(entries: () => SpyEntry[]) {
|
|
12
18
|
const visible = shallowRef<ReadonlySet<string>>(new Set())
|
|
13
19
|
const targets = shallowRef<Array<HTMLElement | null>>([])
|
|
14
20
|
const intersecting = new Set<string>()
|
|
15
21
|
|
|
16
|
-
const covered = computed(() => entries()
|
|
22
|
+
const covered = computed(() => coveredEntries(entries(), visible.value))
|
|
17
23
|
const current = computed(() => covered.value[0]?.id)
|
|
18
|
-
const span = computed(() =>
|
|
19
|
-
const rows = entries().flatMap((entry, index) => (visible.value.has(entry.id) ? [index] : []))
|
|
20
|
-
return rows.length ? `${rows[0]! + 1} / ${rows.at(-1)! + 2}` : undefined
|
|
21
|
-
})
|
|
24
|
+
const span = computed(() => coveredSpan(entries(), visible.value))
|
|
22
25
|
|
|
23
26
|
useIntersectionObserver(
|
|
24
27
|
targets,
|
|
25
28
|
observed => {
|
|
26
|
-
|
|
27
|
-
if (entry.isIntersecting && entry.intersectionRatio > 0) intersecting.add(entry.target.id)
|
|
28
|
-
else intersecting.delete(entry.target.id)
|
|
29
|
-
}
|
|
30
|
-
visible.value = intersecting.size
|
|
31
|
-
? new Set(intersecting)
|
|
32
|
-
: new Set(current.value ? [current.value] : [])
|
|
29
|
+
visible.value = applyIntersections(intersecting, observed, current.value)
|
|
33
30
|
},
|
|
34
|
-
|
|
31
|
+
SCROLL_SPY_OPTIONS,
|
|
35
32
|
)
|
|
36
33
|
|
|
37
|
-
function targetOf(id: string) {
|
|
38
|
-
return document.getElementById(id)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
34
|
function locate() {
|
|
42
35
|
intersecting.clear()
|
|
43
|
-
targets.value = entries()
|
|
36
|
+
targets.value = spyTargets(entries())
|
|
44
37
|
}
|
|
45
38
|
|
|
46
39
|
onMounted(() => {
|
|
47
|
-
const hash =
|
|
48
|
-
if (hash
|
|
40
|
+
const hash = hashTarget(entries())
|
|
41
|
+
if (hash) visible.value = new Set([hash])
|
|
49
42
|
locate()
|
|
50
43
|
watch(entries, (next, previous) => {
|
|
51
|
-
if (
|
|
52
|
-
next.length === previous.length &&
|
|
53
|
-
next.every((entry, index) => entry.id === previous[index]?.id)
|
|
54
|
-
)
|
|
55
|
-
return
|
|
44
|
+
if (sameTargets(next, previous)) return
|
|
56
45
|
visible.value = new Set()
|
|
57
46
|
locate()
|
|
58
47
|
})
|
|
59
48
|
})
|
|
60
49
|
|
|
61
50
|
function jump(event: MouseEvent, id: string) {
|
|
62
|
-
|
|
63
|
-
if (!el) return
|
|
64
|
-
event.preventDefault()
|
|
65
|
-
el.scrollIntoView({ behavior: prefersReducedMotion() ? 'auto' : 'smooth', block: 'start' })
|
|
66
|
-
history.replaceState(history.state, '', `#${id}`)
|
|
67
|
-
visible.value = new Set([id])
|
|
51
|
+
if (jumpToAnchor(event, id)) visible.value = new Set([id])
|
|
68
52
|
}
|
|
69
53
|
|
|
70
54
|
return { visible, covered, current, span, jump }
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
id: string
|
|
3
|
-
label: string
|
|
4
|
-
children?: AnchorItem[]
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export type AnchorSlotItem<T extends AnchorItem> =
|
|
8
|
-
T | (T extends { children?: AnchorItem[] } ? NonNullable<T['children']>[number] : never)
|
|
1
|
+
export type { AnchorItem, AnchorSlotItem } from '../../../../shared/src/lib/anchor'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { autocompleteContent, autocompleteList } from '
|
|
1
|
+
export { autocompleteContent, autocompleteList } from '../../../../shared/src/variants/autocomplete'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, nextTick, shallowRef, useId, watch, type Ref } from 'vue'
|
|
2
2
|
import { useEventListener } from '@vueuse/core'
|
|
3
|
-
import { applyCompletion } from '
|
|
3
|
+
import { applyCompletion } from '../../../../../shared/src/lib/completion'
|
|
4
4
|
import type {
|
|
5
5
|
AutocompleteOption,
|
|
6
6
|
AutocompleteSelection,
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export type { CompletionContext, CompletionEdit } from '../../../../shared/src/lib/completion'
|
|
4
|
-
|
|
5
|
-
export interface AutocompleteOption {
|
|
6
|
-
value: string | number
|
|
7
|
-
label: string
|
|
8
|
-
description?: string
|
|
9
|
-
disabled?: boolean
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface AutocompleteSelection<T extends AutocompleteOption = AutocompleteOption> {
|
|
13
|
-
option: T
|
|
14
|
-
context: CompletionContext
|
|
15
|
-
edit: CompletionEdit
|
|
16
|
-
}
|
|
1
|
+
export * from '../../../../shared/src/types/autocomplete'
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
export function stepBetween(previous: number, next: number, count: number): SlideDirection {
|
|
4
|
-
if (count < 2) return 1
|
|
5
|
-
const from = ((previous % count) + count) % count
|
|
6
|
-
const to = ((next % count) + count) % count
|
|
7
|
-
if (to === (from + 1) % count) return 1
|
|
8
|
-
if (to === (from - 1 + count) % count) return -1
|
|
9
|
-
return to > from ? 1 : -1
|
|
10
|
-
}
|
|
1
|
+
export * from '../../../../../shared/src/lib/banner'
|
|
@@ -1,23 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const local = (date: DateValue) => date.toDate(getLocalTimeZone())
|
|
4
|
-
|
|
5
|
-
export function formatMonthHeading(tag: string, date: DateValue) {
|
|
6
|
-
return new Intl.DateTimeFormat(tag, { year: 'numeric', month: 'long' }).format(local(date))
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function formatYearHeading(tag: string, date: DateValue) {
|
|
10
|
-
return new Intl.DateTimeFormat(tag, { year: 'numeric' }).format(local(date))
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function formatMonthName(tag: string, date: DateValue) {
|
|
14
|
-
return new Intl.DateTimeFormat(tag, { month: 'short' }).format(local(date))
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function formatDigits(tag: string, value: number) {
|
|
18
|
-
return new Intl.NumberFormat(tag, { useGrouping: false }).format(value)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function formatYearsHeading(tag: string, cells: DateValue[]) {
|
|
22
|
-
return `${formatDigits(tag, cells[0]!.year)} – ${formatDigits(tag, cells.at(-1)!.year)}`
|
|
23
|
-
}
|
|
1
|
+
export * from '../../../../../shared/src/lib/calendar/format'
|