@soybeanjs/headless 0.15.5 → 0.16.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/dist/components/autocomplete/autocomplete-compact.js +1 -1
- package/dist/components/autocomplete/autocomplete-input.js +1 -1
- package/dist/components/autocomplete/autocomplete-input.vue.d.ts +2 -2
- package/dist/components/autocomplete/autocomplete-root.js +1 -1
- package/dist/components/autocomplete/autocomplete-root.vue.d.ts +12 -2
- package/dist/components/autocomplete/context.d.ts +2 -2
- package/dist/components/autocomplete/context.js +1 -1
- package/dist/components/autocomplete/index.d.ts +17 -13
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/autocomplete/types.d.ts +18 -32
- package/dist/components/calendar/calendar-cell-trigger.js +1 -0
- package/dist/components/calendar/calendar-cell-trigger.vue.d.ts +28 -0
- package/dist/components/calendar/calendar-cell.js +1 -0
- package/dist/components/{autocomplete/autocomplete-anchor.vue.d.ts → calendar/calendar-cell.vue.d.ts} +3 -3
- package/dist/components/calendar/calendar-compact.js +1 -0
- package/dist/components/calendar/calendar-compact.vue.d.ts +23 -0
- package/dist/components/calendar/calendar-grid-body.js +1 -0
- package/dist/components/{combobox/combobox-item-indicator.vue.d.ts → calendar/calendar-grid-body.vue.d.ts} +3 -3
- package/dist/components/calendar/calendar-grid-head.js +1 -0
- package/dist/components/calendar/calendar-grid-head.vue.d.ts +21 -0
- package/dist/components/calendar/calendar-grid-row.js +1 -0
- package/dist/components/calendar/calendar-grid-row.vue.d.ts +21 -0
- package/dist/components/calendar/calendar-grid.js +1 -0
- package/dist/components/calendar/calendar-grid.vue.d.ts +21 -0
- package/dist/components/calendar/calendar-head-cell.js +1 -0
- package/dist/components/calendar/calendar-head-cell.vue.d.ts +21 -0
- package/dist/components/calendar/calendar-header.js +1 -0
- package/dist/components/calendar/calendar-header.vue.d.ts +21 -0
- package/dist/components/calendar/calendar-heading.js +1 -0
- package/dist/components/calendar/calendar-heading.vue.d.ts +22 -0
- package/dist/components/calendar/calendar-next.js +1 -0
- package/dist/components/calendar/calendar-next.vue.d.ts +24 -0
- package/dist/components/calendar/calendar-prev.js +1 -0
- package/dist/components/calendar/calendar-prev.vue.d.ts +24 -0
- package/dist/components/calendar/calendar-root.js +1 -0
- package/dist/components/calendar/calendar-root.vue.d.ts +25 -0
- package/dist/components/calendar/context.d.ts +9 -0
- package/dist/components/calendar/context.js +1 -0
- package/dist/components/calendar/index.d.ts +16 -0
- package/dist/components/calendar/index.js +1 -0
- package/dist/components/calendar/types.d.ts +165 -0
- package/dist/components/calendar/use-calendar.d.ts +45 -0
- package/dist/components/calendar/use-calendar.js +1 -0
- package/dist/components/card/card-compact.js +1 -0
- package/dist/components/card/card-compact.vue.d.ts +19 -0
- package/dist/components/card/card-root.vue.d.ts +1 -1
- package/dist/components/card/index.d.ts +10 -9
- package/dist/components/card/index.js +1 -1
- package/dist/components/card/types.d.ts +22 -1
- package/dist/components/carousel/carousel-root.vue.d.ts +39 -2
- package/dist/components/carousel/index.d.ts +4 -2
- package/dist/components/carousel/types.d.ts +8 -8
- package/dist/components/checkbox/checkbox-group-root.js +1 -1
- package/dist/components/checkbox/checkbox-root.js +1 -1
- package/dist/components/collapsible/collapsible-root.vue.d.ts +1 -1
- package/dist/components/color-area/color-area-root.vue.d.ts +3 -3
- package/dist/components/color-field/color-field-root.vue.d.ts +1 -1
- package/dist/components/color-picker/color-picker-root.vue.d.ts +3 -3
- package/dist/components/color-slider/color-slider-root.vue.d.ts +3 -3
- package/dist/components/color-swatch-picker/color-swatch-picker-root.vue.d.ts +2 -2
- package/dist/components/combobox/combobox-arrow.js +1 -1
- package/dist/components/combobox/combobox-arrow.vue.d.ts +2 -2
- package/dist/components/combobox/combobox-compact.js +1 -1
- package/dist/components/combobox/combobox-compact.vue.d.ts +2 -2
- package/dist/components/combobox/combobox-content-impl.js +1 -1
- package/dist/components/combobox/combobox-group.vue.d.ts +2 -2
- package/dist/components/combobox/combobox-input.js +1 -1
- package/dist/components/combobox/combobox-item.js +1 -1
- package/dist/components/combobox/combobox-root.js +1 -1
- package/dist/components/combobox/combobox-trigger.js +1 -1
- package/dist/components/combobox/combobox-virtualizer.js +1 -1
- package/dist/components/combobox/context.js +1 -1
- package/dist/components/combobox/index.d.ts +12 -10
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/combobox/types.d.ts +10 -20
- package/dist/components/command/command-compact.js +1 -1
- package/dist/components/command/command-compact.vue.d.ts +2 -2
- package/dist/components/command/types.d.ts +1 -1
- package/dist/components/context-menu/context-menu-checkbox-compact.js +1 -1
- package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +2 -2
- package/dist/components/context-menu/context-menu-compact.js +1 -1
- package/dist/components/context-menu/context-menu-compact.vue.d.ts +2 -2
- package/dist/components/context-menu/context-menu-radio-compact.js +1 -1
- package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +2 -2
- package/dist/components/context-menu/context-menu-wrapper-compact.js +1 -1
- package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +2 -2
- package/dist/components/context-menu/index.d.ts +2 -2
- package/dist/components/context-menu/index.js +1 -1
- package/dist/components/date-field/context.d.ts +9 -0
- package/dist/components/date-field/context.js +1 -0
- package/dist/components/date-field/date-field-compact.js +1 -0
- package/dist/components/date-field/date-field-compact.vue.d.ts +15 -0
- package/dist/components/date-field/date-field-input.js +1 -0
- package/dist/components/date-field/date-field-input.vue.d.ts +21 -0
- package/dist/components/date-field/date-field-root.js +1 -0
- package/dist/components/date-field/date-field-root.vue.d.ts +42 -0
- package/dist/components/date-field/index.d.ts +6 -0
- package/dist/components/date-field/index.js +1 -0
- package/dist/components/date-field/types.d.ts +67 -0
- package/dist/components/date-picker/context.d.ts +9 -0
- package/dist/components/date-picker/context.js +1 -0
- package/dist/components/date-picker/date-picker-popup.js +1 -0
- package/dist/components/date-picker/date-picker-popup.vue.d.ts +21 -0
- package/dist/components/date-picker/date-picker-root.js +1 -0
- package/dist/components/date-picker/date-picker-root.vue.d.ts +43 -0
- package/dist/components/date-picker/date-picker-trigger.js +1 -0
- package/dist/components/date-picker/date-picker-trigger.vue.d.ts +21 -0
- package/dist/components/date-picker/index.d.ts +6 -0
- package/dist/components/date-picker/index.js +1 -0
- package/dist/components/date-picker/types.d.ts +64 -0
- package/dist/components/date-range-field/context.d.ts +9 -0
- package/dist/components/date-range-field/context.js +1 -0
- package/dist/components/date-range-field/date-range-field-compact.js +1 -0
- package/dist/components/date-range-field/date-range-field-compact.vue.d.ts +29 -0
- package/dist/components/date-range-field/date-range-field-input.js +1 -0
- package/dist/components/date-range-field/date-range-field-input.vue.d.ts +22 -0
- package/dist/components/date-range-field/date-range-field-root.js +1 -0
- package/dist/components/date-range-field/date-range-field-root.vue.d.ts +55 -0
- package/dist/components/date-range-field/index.d.ts +6 -0
- package/dist/components/date-range-field/index.js +1 -0
- package/dist/components/date-range-field/types.d.ts +88 -0
- package/dist/components/date-range-picker/context.d.ts +9 -0
- package/dist/components/date-range-picker/context.js +1 -0
- package/dist/components/date-range-picker/date-range-picker-compact.js +1 -0
- package/dist/components/date-range-picker/date-range-picker-compact.vue.d.ts +31 -0
- package/dist/components/date-range-picker/date-range-picker-popup.js +1 -0
- package/dist/components/date-range-picker/date-range-picker-popup.vue.d.ts +21 -0
- package/dist/components/date-range-picker/date-range-picker-root.js +1 -0
- package/dist/components/date-range-picker/date-range-picker-root.vue.d.ts +50 -0
- package/dist/components/date-range-picker/date-range-picker-trigger.js +1 -0
- package/dist/components/date-range-picker/date-range-picker-trigger.vue.d.ts +21 -0
- package/dist/components/date-range-picker/index.d.ts +7 -0
- package/dist/components/date-range-picker/index.js +1 -0
- package/dist/components/date-range-picker/types.d.ts +93 -0
- package/dist/components/dialog/dialog-compact.vue.d.ts +3 -3
- package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-compact.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-radio-compact.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/index.d.ts +2 -2
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/editable/editable-compact.js +1 -0
- package/dist/components/editable/editable-compact.vue.d.ts +23 -0
- package/dist/components/editable/editable-root.vue.d.ts +1 -1
- package/dist/components/editable/index.d.ts +8 -7
- package/dist/components/editable/index.js +1 -1
- package/dist/components/editable/types.d.ts +28 -2
- package/dist/components/hover-card/hover-card-compact.js +1 -0
- package/dist/components/hover-card/hover-card-compact.vue.d.ts +30 -0
- package/dist/components/hover-card/hover-card-positioner.js +1 -1
- package/dist/components/hover-card/hover-card-positioner.vue.d.ts +1 -0
- package/dist/components/hover-card/hover-card-root.vue.d.ts +1 -1
- package/dist/components/hover-card/index.d.ts +8 -7
- package/dist/components/hover-card/index.js +1 -1
- package/dist/components/hover-card/types.d.ts +15 -1
- package/dist/components/input/input-root.js +1 -1
- package/dist/components/input-otp/input-otp-compact.vue.d.ts +2 -2
- package/dist/components/input-otp/input-otp-root.vue.d.ts +2 -2
- package/dist/components/layout/layout-classic-compact.vue.d.ts +1 -1
- package/dist/components/layout/layout-compact.vue.d.ts +1 -1
- package/dist/components/layout/layout-root.vue.d.ts +2 -2
- package/dist/components/link/link.vue.d.ts +1 -1
- package/dist/components/listbox/index.js +1 -1
- package/dist/components/listbox/listbox-root.js +1 -1
- package/dist/components/listbox/listbox-root.vue.d.ts +2 -2
- package/dist/components/menu/hooks.js +1 -1
- package/dist/components/menu/index.d.ts +2 -2
- package/dist/components/menu/index.js +1 -1
- package/dist/components/menu/menu-checkbox-options-compact.js +1 -1
- package/dist/components/menu/menu-option-compact.js +1 -1
- package/dist/components/menu/menu-option-compact.vue.d.ts +2 -2
- package/dist/components/menu/menu-options-compact.js +1 -1
- package/dist/components/menu/menu-options-compact.vue.d.ts +2 -2
- package/dist/components/menu/menu-radio-options-compact.js +1 -1
- package/dist/components/menu/types.d.ts +1 -1
- package/dist/components/menubar/index.js +1 -1
- package/dist/components/menubar/menubar-compact.js +1 -1
- package/dist/components/menubar/menubar-compact.vue.d.ts +2 -2
- package/dist/components/month-picker/context.d.ts +9 -0
- package/dist/components/month-picker/context.js +1 -0
- package/dist/components/month-picker/index.d.ts +6 -0
- package/dist/components/month-picker/index.js +1 -0
- package/dist/components/month-picker/month-picker-popup.js +1 -0
- package/dist/components/month-picker/month-picker-popup.vue.d.ts +36 -0
- package/dist/components/month-picker/month-picker-root.js +1 -0
- package/dist/components/month-picker/month-picker-root.vue.d.ts +39 -0
- package/dist/components/month-picker/month-picker-trigger.js +1 -0
- package/dist/components/{autocomplete/autocomplete-trigger.vue.d.ts → month-picker/month-picker-trigger.vue.d.ts} +3 -3
- package/dist/components/month-picker/types.d.ts +61 -0
- package/dist/components/month-range-picker/context.d.ts +9 -0
- package/dist/components/month-range-picker/context.js +1 -0
- package/dist/components/month-range-picker/index.d.ts +6 -0
- package/dist/components/month-range-picker/index.js +1 -0
- package/dist/components/month-range-picker/month-range-picker-popup.js +1 -0
- package/dist/components/month-range-picker/month-range-picker-popup.vue.d.ts +39 -0
- package/dist/components/month-range-picker/month-range-picker-root.js +1 -0
- package/dist/components/month-range-picker/month-range-picker-root.vue.d.ts +43 -0
- package/dist/components/month-range-picker/month-range-picker-trigger.js +1 -0
- package/dist/components/month-range-picker/month-range-picker-trigger.vue.d.ts +21 -0
- package/dist/components/month-range-picker/types.d.ts +69 -0
- package/dist/components/navigation-menu/index.d.ts +12 -11
- package/dist/components/navigation-menu/index.js +1 -1
- package/dist/components/navigation-menu/navigation-menu-compact.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-compact.vue.d.ts +34 -0
- package/dist/components/navigation-menu/navigation-menu-root.vue.d.ts +1 -1
- package/dist/components/navigation-menu/types.d.ts +66 -2
- package/dist/components/pagination/index.d.ts +11 -10
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/pagination-compact.js +1 -0
- package/dist/components/pagination/pagination-compact.vue.d.ts +23 -0
- package/dist/components/pagination/types.d.ts +21 -1
- package/dist/components/popover/index.d.ts +8 -7
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/popover-compact.js +1 -0
- package/dist/components/popover/popover-compact.vue.d.ts +36 -0
- package/dist/components/popover/popover-root.vue.d.ts +1 -1
- package/dist/components/popover/types.d.ts +19 -2
- package/dist/components/popper/index.js +1 -1
- package/dist/components/popper/popper-anchor.js +1 -1
- package/dist/components/popper/popper-positioner.vue.d.ts +2 -2
- package/dist/components/popper/types.d.ts +1 -1
- package/dist/components/range-calendar/context.d.ts +9 -0
- package/dist/components/range-calendar/context.js +1 -0
- package/dist/components/range-calendar/index.d.ts +16 -0
- package/dist/components/range-calendar/index.js +1 -0
- package/dist/components/range-calendar/range-calendar-cell-trigger.js +1 -0
- package/dist/components/range-calendar/range-calendar-cell-trigger.vue.d.ts +33 -0
- package/dist/components/range-calendar/range-calendar-cell.js +1 -0
- package/dist/components/range-calendar/range-calendar-cell.vue.d.ts +21 -0
- package/dist/components/range-calendar/range-calendar-compact.js +1 -0
- package/dist/components/range-calendar/range-calendar-compact.vue.d.ts +25 -0
- package/dist/components/range-calendar/range-calendar-grid-body.js +1 -0
- package/dist/components/range-calendar/range-calendar-grid-body.vue.d.ts +21 -0
- package/dist/components/range-calendar/range-calendar-grid-head.js +1 -0
- package/dist/components/range-calendar/range-calendar-grid-head.vue.d.ts +21 -0
- package/dist/components/range-calendar/range-calendar-grid-row.js +1 -0
- package/dist/components/range-calendar/range-calendar-grid-row.vue.d.ts +21 -0
- package/dist/components/range-calendar/range-calendar-grid.js +1 -0
- package/dist/components/range-calendar/range-calendar-grid.vue.d.ts +21 -0
- package/dist/components/range-calendar/range-calendar-head-cell.js +1 -0
- package/dist/components/range-calendar/range-calendar-head-cell.vue.d.ts +21 -0
- package/dist/components/range-calendar/range-calendar-header.js +1 -0
- package/dist/components/range-calendar/range-calendar-header.vue.d.ts +21 -0
- package/dist/components/range-calendar/range-calendar-heading.js +1 -0
- package/dist/components/range-calendar/range-calendar-heading.vue.d.ts +22 -0
- package/dist/components/range-calendar/range-calendar-next.js +1 -0
- package/dist/components/range-calendar/range-calendar-next.vue.d.ts +24 -0
- package/dist/components/range-calendar/range-calendar-prev.js +1 -0
- package/dist/components/range-calendar/range-calendar-prev.vue.d.ts +24 -0
- package/dist/components/range-calendar/range-calendar-root.js +1 -0
- package/dist/components/range-calendar/range-calendar-root.vue.d.ts +55 -0
- package/dist/components/range-calendar/types.d.ts +158 -0
- package/dist/components/range-calendar/use-range-calendar.js +1 -0
- package/dist/components/roving-focus/roving-focus-group.vue.d.ts +1 -1
- package/dist/components/slider/slider-root.vue.d.ts +1 -1
- package/dist/components/splitter/splitter-group.vue.d.ts +1 -1
- package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
- package/dist/components/stepper/index.d.ts +10 -9
- package/dist/components/stepper/index.js +1 -1
- package/dist/components/stepper/stepper-compact.js +1 -0
- package/dist/components/stepper/stepper-compact.vue.d.ts +19 -0
- package/dist/components/stepper/stepper-root.vue.d.ts +1 -1
- package/dist/components/stepper/types.d.ts +40 -2
- package/dist/components/table/table-compact.vue.d.ts +2 -2
- package/dist/components/tabs/tabs-root.vue.d.ts +1 -1
- package/dist/components/tags-input/tags-input-root.vue.d.ts +2 -2
- package/dist/components/time-field/context.d.ts +9 -0
- package/dist/components/time-field/context.js +1 -0
- package/dist/components/time-field/index.d.ts +5 -0
- package/dist/components/time-field/index.js +1 -0
- package/dist/components/time-field/time-field-input.js +1 -0
- package/dist/components/time-field/time-field-input.vue.d.ts +21 -0
- package/dist/components/time-field/time-field-root.js +1 -0
- package/dist/components/time-field/time-field-root.vue.d.ts +43 -0
- package/dist/components/time-field/types.d.ts +63 -0
- package/dist/components/time-picker/context.d.ts +9 -0
- package/dist/components/time-picker/context.js +1 -0
- package/dist/components/time-picker/index.d.ts +6 -0
- package/dist/components/time-picker/index.js +1 -0
- package/dist/components/time-picker/time-picker-popup.js +1 -0
- package/dist/components/time-picker/time-picker-popup.vue.d.ts +27 -0
- package/dist/components/time-picker/time-picker-root.js +1 -0
- package/dist/components/time-picker/time-picker-root.vue.d.ts +45 -0
- package/dist/components/time-picker/time-picker-trigger.js +1 -0
- package/dist/components/time-picker/time-picker-trigger.vue.d.ts +21 -0
- package/dist/components/time-picker/types.d.ts +68 -0
- package/dist/components/time-range-field/context.d.ts +9 -0
- package/dist/components/time-range-field/context.js +1 -0
- package/dist/components/time-range-field/index.d.ts +6 -0
- package/dist/components/time-range-field/index.js +1 -0
- package/dist/components/time-range-field/time-range-field-compact.js +1 -0
- package/dist/components/time-range-field/time-range-field-compact.vue.d.ts +29 -0
- package/dist/components/time-range-field/time-range-field-input.js +1 -0
- package/dist/components/time-range-field/time-range-field-input.vue.d.ts +22 -0
- package/dist/components/time-range-field/time-range-field-root.js +1 -0
- package/dist/components/time-range-field/time-range-field-root.vue.d.ts +53 -0
- package/dist/components/time-range-field/types.d.ts +88 -0
- package/dist/components/time-range-picker/context.d.ts +9 -0
- package/dist/components/time-range-picker/context.js +1 -0
- package/dist/components/time-range-picker/index.d.ts +7 -0
- package/dist/components/time-range-picker/index.js +1 -0
- package/dist/components/time-range-picker/time-range-picker-compact.js +1 -0
- package/dist/components/time-range-picker/time-range-picker-compact.vue.d.ts +31 -0
- package/dist/components/time-range-picker/time-range-picker-popup.js +1 -0
- package/dist/components/time-range-picker/time-range-picker-popup.vue.d.ts +30 -0
- package/dist/components/time-range-picker/time-range-picker-root.js +1 -0
- package/dist/components/time-range-picker/time-range-picker-root.vue.d.ts +50 -0
- package/dist/components/time-range-picker/time-range-picker-trigger.js +1 -0
- package/dist/components/time-range-picker/time-range-picker-trigger.vue.d.ts +21 -0
- package/dist/components/time-range-picker/types.d.ts +103 -0
- package/dist/components/toast/shared.js +1 -1
- package/dist/components/toast/toaster.vue.d.ts +2 -2
- package/dist/components/toggle/toggle.vue.d.ts +2 -2
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooltip/tooltip-popup.js +1 -1
- package/dist/components/tooltip/tooltip-root.vue.d.ts +1 -1
- package/dist/components/year-picker/context.d.ts +9 -0
- package/dist/components/year-picker/context.js +1 -0
- package/dist/components/year-picker/index.d.ts +6 -0
- package/dist/components/year-picker/index.js +1 -0
- package/dist/components/year-picker/types.d.ts +63 -0
- package/dist/components/year-picker/year-picker-popup.js +1 -0
- package/dist/components/year-picker/year-picker-popup.vue.d.ts +36 -0
- package/dist/components/year-picker/year-picker-root.js +1 -0
- package/dist/components/year-picker/year-picker-root.vue.d.ts +39 -0
- package/dist/components/year-picker/year-picker-trigger.js +1 -0
- package/dist/components/year-picker/year-picker-trigger.vue.d.ts +21 -0
- package/dist/components/year-range-picker/context.d.ts +9 -0
- package/dist/components/year-range-picker/context.js +1 -0
- package/dist/components/year-range-picker/index.d.ts +6 -0
- package/dist/components/year-range-picker/index.js +1 -0
- package/dist/components/year-range-picker/types.d.ts +71 -0
- package/dist/components/year-range-picker/year-range-picker-popup.js +1 -0
- package/dist/components/year-range-picker/year-range-picker-popup.vue.d.ts +39 -0
- package/dist/components/year-range-picker/year-range-picker-root.js +1 -0
- package/dist/components/year-range-picker/year-range-picker-root.vue.d.ts +43 -0
- package/dist/components/year-range-picker/year-range-picker-trigger.js +1 -0
- package/dist/components/year-range-picker/year-range-picker-trigger.vue.d.ts +21 -0
- package/dist/composables/use-hide-others.d.ts +2 -1
- package/dist/composables/use-hide-others.js +1 -1
- package/dist/constants/components.d.ts +14 -0
- package/dist/constants/components.js +1 -1
- package/dist/date/comparators.d.ts +24 -14
- package/dist/date/comparators.js +1 -1
- package/dist/date/formatter.d.ts +27 -0
- package/dist/date/formatter.js +1 -0
- package/dist/date/index.d.ts +10 -4
- package/dist/date/index.js +1 -1
- package/dist/date/parser.d.ts +34 -0
- package/dist/date/parser.js +1 -0
- package/dist/date/parts.d.ts +15 -0
- package/dist/date/parts.js +1 -0
- package/dist/date/placeholders.d.ts +23 -0
- package/dist/date/placeholders.js +1 -0
- package/dist/date/segment.d.ts +7 -0
- package/dist/date/segment.js +1 -0
- package/dist/date/types.d.ts +34 -21
- package/dist/date/use-date-field.d.ts +50 -0
- package/dist/date/use-date-field.js +1 -0
- package/dist/date/utils.d.ts +15 -1
- package/dist/date/utils.js +1 -1
- package/dist/index.d.ts +419 -335
- package/dist/index.js +1 -1
- package/dist/namespaced/index.d.ts +871 -717
- package/dist/namespaced/index.js +1 -1
- package/dist/node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts +4 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts +11 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts +16 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts +9 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts +13 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts +4 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts +31 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts +67 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts +29 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts +10 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts +13 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts +11 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts +43 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts +11 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts +6 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts +20 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts +11 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts +14 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts +8 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts +4 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts +6 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts +6 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts +12 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts +7 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts +10 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts +19 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts +6 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts +11 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts +9 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts +7 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts +8 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts +9 -0
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts +4 -0
- package/dist/shared/index.d.ts +2 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/time-picker.d.ts +30 -0
- package/dist/shared/time-picker.js +1 -0
- package/package.json +8 -8
- package/dist/components/autocomplete/autocomplete-anchor.js +0 -1
- package/dist/components/autocomplete/autocomplete-content.js +0 -1
- package/dist/components/autocomplete/autocomplete-content.vue.d.ts +0 -24
- package/dist/components/autocomplete/autocomplete-group-label.js +0 -1
- package/dist/components/autocomplete/autocomplete-group-label.vue.d.ts +0 -18
- package/dist/components/autocomplete/autocomplete-group.js +0 -1
- package/dist/components/autocomplete/autocomplete-group.vue.d.ts +0 -18
- package/dist/components/autocomplete/autocomplete-item-indicator.js +0 -1
- package/dist/components/autocomplete/autocomplete-item-indicator.vue.d.ts +0 -18
- package/dist/components/autocomplete/autocomplete-item.js +0 -1
- package/dist/components/autocomplete/autocomplete-item.vue.d.ts +0 -26
- package/dist/components/autocomplete/autocomplete-separator.js +0 -1
- package/dist/components/autocomplete/autocomplete-separator.vue.d.ts +0 -18
- package/dist/components/autocomplete/autocomplete-trigger.js +0 -1
- package/dist/components/autocomplete/autocomplete-viewport.js +0 -1
- package/dist/components/autocomplete/autocomplete-viewport.vue.d.ts +0 -18
- package/dist/components/combobox/combobox-anchor.js +0 -1
- package/dist/components/combobox/combobox-anchor.vue.d.ts +0 -18
- package/dist/components/combobox/combobox-group-label.js +0 -1
- package/dist/components/combobox/combobox-group-label.vue.d.ts +0 -18
- package/dist/components/combobox/combobox-item-indicator.js +0 -1
- package/dist/node_modules/.pnpm/@soybeanjs_utils@0.1.0/node_modules/@soybeanjs/utils/dist/index.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useDateField as e}from"../../date/use-date-field.js";import"../../date/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{useTimeFieldRootContext as n,useTimeFieldUi as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,mergeProps as s,openBlock as c,ref as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";const m=o({name:`TimeFieldInput`,__name:`time-field-input`,props:{part:{},asChild:{type:Boolean},as:{default:`span`}},setup(o){let m=o,h=r(`input`),{disabled:g,readonly:_,placeholder:v,hourCycle:y,step:b,segmentValues:x,formatter:S,focusNext:C,modelValue:w,isInvalid:T,setFocusedElement:E}=n(`TimeFieldInput`),D=l(!0),O=l(!1),k=i(()=>!!g.value),A=i(()=>!!_.value),{attributes:j,handleSegmentClick:M,handleSegmentFocusOut:N,handleSegmentKeydown:P}=e({hasLeftFocus:D,lastKeyZero:O,placeholder:v,hourCycle:y,step:b,segmentValues:x,formatter:S,part:m.part,disabled:k,readonly:A,focusNext:C,modelValue:w}),F=i(()=>k.value||A.value?!1:m.part!==`literal`&&m.part!==`timeZoneName`),I=i(()=>m.part===`literal`?{}:{mousedown:M,keydown:P,focusout:()=>{D.value=!0,N()},focusin:e=>{E(e.target)}});return(e,n)=>(c(),a(f(t),s({as:o.as,"as-child":o.asChild},f(j),{"aria-disabled":k.value?!0:void 0,"aria-invalid":f(T)?!0:void 0,"aria-readonly":A.value||o.part===`timeZoneName`?!0:void 0,class:f(h),contenteditable:F.value,"data-disabled":k.value?``:void 0,"data-invalid":f(T)?``:void 0,"data-readonly":A.value||o.part===`timeZoneName`?``:void 0,"data-segment":o.part,"data-soybean-date-field-segment":o.part,"data-slot":`input`},d(I.value)),{default:p(()=>[u(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`aria-disabled`,`aria-invalid`,`aria-readonly`,`class`,`contenteditable`,`data-disabled`,`data-invalid`,`data-readonly`,`data-segment`,`data-soybean-date-field-segment`]))}});export{m as default};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AsTag } from "../primitive/types.js";
|
|
2
|
+
import { TimeFieldInputProps } from "./types.js";
|
|
3
|
+
import * as _$vue from "vue";
|
|
4
|
+
|
|
5
|
+
//#region src/components/time-field/time-field-input.vue.d.ts
|
|
6
|
+
declare var __VLS_8: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_8) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: _$vue.DefineComponent<TimeFieldInputProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<TimeFieldInputProps> & Readonly<{}>, {
|
|
11
|
+
as: AsTag | _$vue.Component;
|
|
12
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
16
|
+
new (): {
|
|
17
|
+
$slots: S;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isNullish as e}from"../../shared/guard.js";import{getDefaultTime as t,isBefore as n,isEqualValue as ee}from"../../date/comparators.js";import{getTimeInputType as r,normalizeDateStep as i,normalizeHourCycle as te,normalizeTimeInputValue as a}from"../../date/utils.js";import{useDateFormatter as ne}from"../../date/formatter.js";import{createContent as re,syncTimeSegmentValues as o}from"../../date/parser.js";import{getSegmentElements as s}from"../../date/segment.js";import"../../date/index.js";import"../../shared/index.js";import{useControllableState as c}from"../../composables/use-controllable-state.js";import{useForwardElement as l}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{useDirection as u,useLocale as d}from"../config-provider/context.js";import{Primitive as f}from"../primitive/primitive.js";import"../primitive/index.js";import p from"../visually-hidden/visually-hidden.js";import"../visually-hidden/index.js";import{provideTimeFieldRootContext as m,useTimeFieldUi as h}from"./context.js";import{computed as g,createBlock as _,createVNode as v,defineComponent as y,nextTick as b,normalizeClass as x,onMounted as S,openBlock as C,renderSlot as w,shallowRef as T,unref as E,watch as D,withCtx as ie}from"vue";const O=y({name:`TimeFieldRoot`,__name:`time-field-root`,props:{defaultValue:{default:void 0},defaultPlaceholder:{default:void 0},placeholder:{default:void 0},modelValue:{},hourCycle:{default:void 0},step:{default:void 0},granularity:{default:void 0},hideTimeZone:{type:Boolean,default:!1},maxValue:{},minValue:{},locale:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},isTimeUnavailable:{type:Function,default:void 0},id:{},dir:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:placeholder`],setup(y,{emit:O}){let k=y,A=O,j=h(`root`),[M,N]=l(),P=d(()=>k.locale),F=u(()=>k.dir),I=ne(P.value,{hourCycle:te(k.hourCycle)}),L=c(()=>k.modelValue,e=>A(`update:modelValue`,e),k.defaultValue),R=t({defaultPlaceholder:k.placeholder,defaultValue:L.value}),z=c(()=>k.placeholder,e=>A(`update:placeholder`,e),k.defaultPlaceholder??R.copy()),B=g(()=>k.granularity??`minute`),V=g(()=>i(k)),H=g(()=>L.value?!!(k.isTimeUnavailable?.(L.value)||k.minValue&&n(L.value,k.minValue)||k.maxValue&&n(k.maxValue,L.value)):!1),U=T(L.value?{...o({value:L.value,formatter:I})}:{...o({value:z.value,formatter:I})}),W=g(()=>re({granularity:B.value,dateRef:z.value,formatter:I,hideTimeZone:k.hideTimeZone,hourCycle:k.hourCycle,segmentValues:U.value,locale:P,isTimeValue:!0}).arr),G=T([]),K=T(null),q=()=>{M.value&&(G.value=s(M.value))};D(P,e=>{I.getLocale()!==e&&I.setLocale(e),b(q)}),D(L,t=>{!e(t)&&!ee(z.value,t)&&(z.value=t.copy())}),D([L,P,B],([t])=>{if(!e(t)){U.value={...o({value:t,formatter:I})};return}U.value={...o({value:z.value,formatter:I})}});let J=g(()=>G.value.findIndex(e=>e.getAttribute(`data-soybean-date-field-segment`)===K.value?.getAttribute(`data-soybean-date-field-segment`))),Y=e=>{let t=F.value===`rtl`?-1:1,n=e===`next`?t:-t;G.value[J.value+n]?.focus()},X=g(()=>r(B.value)),Z=g(()=>a(L.value,B.value)),Q=g(()=>k.maxValue?a(k.maxValue,B.value):void 0),$=g(()=>k.minValue?a(k.minValue,B.value):void 0),ae=e=>{e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),Y(e.key===`ArrowRight`?`next`:`prev`))};return m({locale:P,dir:F,modelValue:L,placeholder:z,isTimeUnavailable:k.isTimeUnavailable,isInvalid:H,disabled:g(()=>k.disabled),readonly:g(()=>k.readonly),formatter:I,hourCycle:k.hourCycle,step:V,segmentValues:U,segmentContents:W,inputType:X,inputValue:Z,inputMaxValue:Q,inputMinValue:$,elements:G,focusNext(){Y(`next`)},setFocusedElement(e){K.value=e}}),S(q),(e,t)=>(C(),_(E(f),{ref:E(N),as:y.as,"as-child":y.asChild,class:x(E(j)),"data-disabled":y.disabled?``:void 0,"data-invalid":H.value?``:void 0,"data-readonly":y.readonly?``:void 0,dir:E(F),"data-slot":`root`,role:`group`,onKeydown:ae},{default:ie(()=>[w(e.$slots,`default`,{isInvalid:H.value,modelValue:E(L),segments:W.value}),v(E(p),{id:y.id,as:`input`,feature:`focusable`,type:X.value,tabindex:`-1`,value:Z.value,name:y.name,disabled:y.disabled,required:y.required,max:Q.value,min:$.value,onFocus:t[0]||(t[0]=e=>G.value[0]?.focus())},null,8,[`id`,`type`,`value`,`name`,`disabled`,`required`,`max`,`min`])]),_:3},8,[`as`,`as-child`,`class`,`data-disabled`,`data-invalid`,`data-readonly`,`dir`]))}});export{O as default};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
2
|
+
import { DateStep, SegmentPart, TimeGranularity, TimeMatcher } from "../../date/types.js";
|
|
3
|
+
import { TimeFieldRootProps } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-field/time-field-root.vue.d.ts
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default?: (props: {
|
|
9
|
+
modelValue: TimeValue | undefined;
|
|
10
|
+
segments: {
|
|
11
|
+
part: SegmentPart;
|
|
12
|
+
value: string;
|
|
13
|
+
}[];
|
|
14
|
+
isInvalid: boolean;
|
|
15
|
+
}) => any;
|
|
16
|
+
};
|
|
17
|
+
declare const __VLS_base: _$vue.DefineComponent<TimeFieldRootProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
18
|
+
"update:modelValue": (time: TimeValue | undefined) => any;
|
|
19
|
+
"update:placeholder": (time: TimeValue) => any;
|
|
20
|
+
}, string, _$vue.PublicProps, Readonly<TimeFieldRootProps> & Readonly<{
|
|
21
|
+
"onUpdate:modelValue"?: ((time: TimeValue | undefined) => any) | undefined;
|
|
22
|
+
"onUpdate:placeholder"?: ((time: TimeValue) => any) | undefined;
|
|
23
|
+
}>, {
|
|
24
|
+
placeholder: TimeValue;
|
|
25
|
+
disabled: boolean;
|
|
26
|
+
step: DateStep;
|
|
27
|
+
defaultValue: TimeValue;
|
|
28
|
+
defaultPlaceholder: TimeValue;
|
|
29
|
+
hourCycle: 12 | 24;
|
|
30
|
+
granularity: TimeGranularity;
|
|
31
|
+
hideTimeZone: boolean;
|
|
32
|
+
readonly: boolean;
|
|
33
|
+
isTimeUnavailable: TimeMatcher;
|
|
34
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
35
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
36
|
+
declare const _default: typeof __VLS_export;
|
|
37
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
38
|
+
new (): {
|
|
39
|
+
$slots: S;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
//#endregion
|
|
43
|
+
export { _default };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Direction, UiClass } from "../../types/common.js";
|
|
2
|
+
import { FormFieldCommonProps } from "../../types/component.js";
|
|
3
|
+
import { PropsToContext } from "../../types/vue.js";
|
|
4
|
+
import { PrimitiveProps } from "../primitive/types.js";
|
|
5
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
6
|
+
import { DateStep, HourCycle, SegmentPart, SegmentValueObj, TimeGranularity, TimeInputType, TimeMatcher } from "../../date/types.js";
|
|
7
|
+
import { Formatter } from "../../date/formatter.js";
|
|
8
|
+
import { ComputedRef, HTMLAttributes, ShallowRef } from "vue";
|
|
9
|
+
|
|
10
|
+
//#region src/components/time-field/types.d.ts
|
|
11
|
+
interface TimeFieldRootProps extends PrimitiveProps, FormFieldCommonProps, /** @vue-ignore */Omit<HTMLAttributes, 'placeholder'> {
|
|
12
|
+
defaultValue?: TimeValue;
|
|
13
|
+
defaultPlaceholder?: TimeValue;
|
|
14
|
+
placeholder?: TimeValue;
|
|
15
|
+
modelValue?: TimeValue;
|
|
16
|
+
hourCycle?: HourCycle;
|
|
17
|
+
step?: DateStep;
|
|
18
|
+
granularity?: TimeGranularity;
|
|
19
|
+
hideTimeZone?: boolean;
|
|
20
|
+
maxValue?: TimeValue;
|
|
21
|
+
minValue?: TimeValue;
|
|
22
|
+
locale?: string;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
readonly?: boolean;
|
|
25
|
+
isTimeUnavailable?: TimeMatcher;
|
|
26
|
+
id?: string;
|
|
27
|
+
dir?: Direction;
|
|
28
|
+
}
|
|
29
|
+
type TimeFieldRootEmits = {
|
|
30
|
+
'update:modelValue': [time: TimeValue | undefined];
|
|
31
|
+
'update:placeholder': [time: TimeValue];
|
|
32
|
+
};
|
|
33
|
+
interface TimeFieldInputProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
|
|
34
|
+
part: SegmentPart;
|
|
35
|
+
}
|
|
36
|
+
interface TimeFieldSegment {
|
|
37
|
+
part: SegmentPart;
|
|
38
|
+
value: string;
|
|
39
|
+
}
|
|
40
|
+
interface TimeFieldRootContext extends PropsToContext<TimeFieldRootProps, 'disabled' | 'readonly'> {
|
|
41
|
+
locale: ComputedRef<string>;
|
|
42
|
+
dir: ComputedRef<Direction>;
|
|
43
|
+
modelValue: ShallowRef<TimeValue | undefined>;
|
|
44
|
+
placeholder: ShallowRef<TimeValue>;
|
|
45
|
+
isTimeUnavailable?: TimeMatcher;
|
|
46
|
+
isInvalid: ComputedRef<boolean>;
|
|
47
|
+
formatter: Formatter;
|
|
48
|
+
hourCycle: HourCycle;
|
|
49
|
+
step: ComputedRef<DateStep>;
|
|
50
|
+
segmentValues: ShallowRef<SegmentValueObj>;
|
|
51
|
+
segmentContents: ComputedRef<TimeFieldSegment[]>;
|
|
52
|
+
inputType: ComputedRef<TimeInputType>;
|
|
53
|
+
inputValue: ComputedRef<string>;
|
|
54
|
+
inputMaxValue: ComputedRef<string | undefined>;
|
|
55
|
+
inputMinValue: ComputedRef<string | undefined>;
|
|
56
|
+
elements: ShallowRef<HTMLElement[]>;
|
|
57
|
+
focusNext: () => void;
|
|
58
|
+
setFocusedElement: (el: HTMLElement) => void;
|
|
59
|
+
}
|
|
60
|
+
type TimeFieldUiSlot = 'root' | 'input';
|
|
61
|
+
type TimeFieldUi = UiClass<TimeFieldUiSlot>;
|
|
62
|
+
//#endregion
|
|
63
|
+
export { TimeFieldInputProps, TimeFieldRootContext, TimeFieldRootEmits, TimeFieldRootProps, TimeFieldUi, TimeFieldUiSlot };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UiClass } from "../../types/common.js";
|
|
2
|
+
import { UseUiConsumer } from "../../composables/use-ui-context.js";
|
|
3
|
+
import { TimePickerUiSlot } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-picker/context.d.ts
|
|
7
|
+
declare const provideTimePickerUi: (ui: _$vue.ComputedRef<Partial<UiClass<TimePickerUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TimePickerUiSlot>>>, useTimePickerUi: UseUiConsumer<TimePickerUiSlot>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { provideTimePickerUi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";const[n,r]=e(`TimePickerRoot`),[i,a]=t(`TimePickerUi`);export{n as provideTimePickerRootContext,i as provideTimePickerUi,r as useTimePickerRootContext,a as useTimePickerUi};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TimePickerPopupProps, TimePickerRootContext, TimePickerRootEmits, TimePickerRootProps, TimePickerTriggerProps, TimePickerUi, TimePickerUiSlot } from "./types.js";
|
|
2
|
+
import { _default } from "./time-picker-popup.vue.js";
|
|
3
|
+
import { _default as _default$1 } from "./time-picker-root.vue.js";
|
|
4
|
+
import { _default as _default$2 } from "./time-picker-trigger.vue.js";
|
|
5
|
+
import { provideTimePickerUi } from "./context.js";
|
|
6
|
+
export { _default as TimePickerPopup, type TimePickerPopupProps, _default$1 as TimePickerRoot, type TimePickerRootContext, type TimePickerRootEmits, type TimePickerRootProps, _default$2 as TimePickerTrigger, type TimePickerTriggerProps, type TimePickerUi, type TimePickerUiSlot, provideTimePickerUi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{provideTimePickerUi as e}from"./context.js";import t from"./time-picker-popup.js";import n from"./time-picker-root.js";import r from"./time-picker-trigger.js";export{t as TimePickerPopup,n as TimePickerRoot,r as TimePickerTrigger,e as provideTimePickerUi};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{findClosestTimeOption as e}from"../../shared/time-picker.js";import{useForwardElement as t}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{useTimePickerRootContext as r,useTimePickerUi as i}from"./context.js";import{Fragment as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,defineComponent as d,nextTick as f,normalizeClass as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,unref as v,watch as y,withCtx as b}from"vue";const x=[`aria-label`,`aria-pressed`,`data-disabled`,`data-focused`,`data-selected`,`data-time-key`,`disabled`,`tabindex`,`onClick`,`onFocus`,`onKeydown`],S=d({name:`TimePickerPopup`,__name:`time-picker-popup`,props:{asChild:{type:Boolean},as:{default:`div`}},setup(d){let S=i(`popup`),C=i(`list`),w=i(`cellTrigger`),{focusedTime:T,isTimeDisabled:E,isTimeSelected:D,modelValue:O,onTimeChange:k,open:A,options:j,popupId:M,setFocusedTime:N}=r(`TimePickerPopup`),[P,F]=t(),I=e=>{let t=P.value?.querySelector(`[data-time-key='${e}']`);t?.focus(),t?.scrollIntoView({block:`nearest`})},L=(e,t)=>{let n=j.value,r=e;for(;r>=0&&r<n.length;){let e=n[r];if(!E(e.value))return N(e.value),f(()=>{I(e.key)}),!0;r+=t}return!1},R=()=>{let t=e(j.value,O.value??T.value);if(!t)return;let n=j.value.findIndex(e=>e.key===t.key);L(n===-1?0:n,1)},z=(e,t)=>{let n=e+t,r=t>=0?1:-1;n<0||n>=j.value.length||L(n,r)},B=e=>{E(e)||k(e)},V=e=>{N(e)},H=(e,t,n)=>{if(!E(e))switch(n.key){case`ArrowDown`:n.preventDefault(),z(t,1);break;case`ArrowUp`:n.preventDefault(),z(t,-1);break;case`Home`:n.preventDefault(),L(0,1);break;case`End`:n.preventDefault(),L(j.value.length-1,-1);break;case`Enter`:case` `:n.preventDefault(),k(e);break;default:break}};return y(()=>A.value,e=>{e&&f(()=>{R()})}),(e,t)=>v(A)?(m(),o(v(n),{key:0,id:v(M),ref:v(F),as:d.as,"as-child":d.asChild,"aria-label":`Time picker`,class:p(v(S)),"data-slot":`popup`,role:`dialog`},{default:b(()=>[l(`div`,{class:p(v(C)),"data-slot":`list`},[(m(!0),c(a,null,h(v(j),(t,n)=>(m(),c(`button`,{key:t.key,"aria-label":t.label,"aria-pressed":v(D)(t.value)?!0:void 0,class:p(v(w)),"data-disabled":v(E)(t.value)?``:void 0,"data-focused":t.value.toString()===v(T).toString()?``:void 0,"data-selected":v(D)(t.value)?``:void 0,"data-slot":`cell-trigger`,"data-time-key":t.key,disabled:v(E)(t.value),tabindex:t.value.toString()===v(T).toString()&&!v(E)(t.value)?0:-1,type:`button`,onClick:e=>B(t.value),onFocus:e=>V(t.value),onKeydown:e=>H(t.value,n,e)},[g(e.$slots,`time`,{disabled:v(E)(t.value),focused:t.value.toString()===v(T).toString(),label:t.label,selected:v(D)(t.value),time:t.value},()=>[u(_(t.label),1)])],42,x))),128))],2)]),_:3},8,[`id`,`as`,`as-child`,`class`])):s(`v-if`,!0)}});export{S as default};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AsTag } from "../primitive/types.js";
|
|
2
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
3
|
+
import { TimePickerPopupProps } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-picker/time-picker-popup.vue.d.ts
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
time?: (props: {
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
focused: boolean;
|
|
11
|
+
label: string;
|
|
12
|
+
selected: boolean;
|
|
13
|
+
time: TimeValue;
|
|
14
|
+
}) => any;
|
|
15
|
+
};
|
|
16
|
+
declare const __VLS_base: _$vue.DefineComponent<TimePickerPopupProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<TimePickerPopupProps> & Readonly<{}>, {
|
|
17
|
+
as: AsTag | _$vue.Component;
|
|
18
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
|
+
declare const _default: typeof __VLS_export;
|
|
21
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isNullish as e}from"../../shared/guard.js";import{getDefaultTime as t,isBefore as n}from"../../date/comparators.js";import{normalizeHourCycle as r}from"../../date/utils.js";import{useDateFormatter as i}from"../../date/formatter.js";import"../../date/index.js";import{createTimeOptions as a,formatTimeValue as o}from"../../shared/time-picker.js";import"../../shared/index.js";import{useControllableState as s}from"../../composables/use-controllable-state.js";import"../../composables/index.js";import{useDirection as c,useLocale as l}from"../config-provider/context.js";import{Primitive as u}from"../primitive/primitive.js";import"../primitive/index.js";import{provideTimePickerRootContext as d,useTimePickerUi as f}from"./context.js";import{computed as p,createBlock as m,defineComponent as h,normalizeClass as g,openBlock as _,renderSlot as v,unref as y,useId as b,watch as x,withCtx as S}from"vue";const C=h({name:`TimePickerRoot`,__name:`time-picker-root`,props:{defaultValue:{default:void 0},defaultPlaceholder:{default:void 0},placeholder:{default:void 0},modelValue:{},hourCycle:{default:void 0},step:{default:void 0},granularity:{default:void 0},hideTimeZone:{type:Boolean,default:!1},maxValue:{},minValue:{},locale:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},isTimeUnavailable:{type:Function,default:void 0},id:{},dir:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},modal:{type:Boolean,default:!1},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:placeholder`,`update:open`],setup(h,{emit:C}){let w=h,T=C,E=f(`root`),D=b(),O=l(()=>w.locale),k=c(()=>w.dir),A=i(O.value,{hourCycle:r(w.hourCycle)}),j=p(()=>w.granularity??`minute`),M=p(()=>w.hideTimeZone),N=s(()=>w.modelValue,e=>T(`update:modelValue`,e),w.defaultValue),P=t({defaultPlaceholder:w.placeholder,defaultValue:N.value}),F=s(()=>w.placeholder,e=>T(`update:placeholder`,e),w.defaultPlaceholder??P.copy()),I=s(()=>w.open,e=>T(`update:open`,e??!1),w.defaultOpen),L=p({get:()=>F.value,set:e=>{F.value=e.copy()}}),R=p(()=>w.minValue),z=p(()=>w.maxValue),B=e=>!!(w.disabled||w.isTimeUnavailable?.(e)||R.value&&n(e,R.value)||z.value&&n(z.value,e)),V=e=>N.value?N.value.toString()===e.toString():!1,H=p(()=>N.value?B(N.value):!1),U=p(()=>N.value?o({formatter:A,granularity:j.value,hideTimeZone:M.value,hourCycle:w.hourCycle,value:N.value}):``),W=p(()=>a({formatter:A,granularity:j.value,hideTimeZone:M.value,hourCycle:w.hourCycle,isTimeUnavailable:w.isTimeUnavailable,maxValue:z.value,minValue:R.value,reference:N.value??F.value,step:w.step})),G=e=>{F.value=e.copy()};return x(O,e=>{A.getLocale()!==e&&A.setLocale(e)}),x(N,t=>{if(e(t)){L.value=F.value.copy();return}F.value.toString()!==t.toString()&&(F.value=t.copy()),L.value=t.copy()}),d({locale:O,dir:k,modelValue:N,placeholder:F,isTimeUnavailable:w.isTimeUnavailable,isInvalid:H,formatter:A,granularity:j,hourCycle:w.hourCycle,hideTimeZone:M,open:I,popupId:D,displayValue:U,focusedTime:L,options:W,minValue:R,maxValue:z,onTimeChange:e=>{w.readonly||B(e)||(N.value=e.copy(),G(e),I.value=!1)},onPlaceholderChange:G,isTimeDisabled:B,isTimeSelected:V,setOpen(e){I.value=e},setFocusedTime:e=>{L.value=e.copy()},disabled:p(()=>w.disabled),readonly:p(()=>w.readonly)}),(e,t)=>(_(),m(y(u),{as:h.as,"as-child":h.asChild,class:g(y(E)),"data-disabled":h.disabled?``:void 0,"data-invalid":H.value?``:void 0,"data-readonly":h.readonly?``:void 0,dir:y(k),"data-slot":`root`},{default:S(()=>[v(e.$slots,`default`,{displayValue:U.value,modelValue:y(N),open:!!y(I)})]),_:3},8,[`as`,`as-child`,`class`,`data-disabled`,`data-invalid`,`data-readonly`,`dir`]))}});export{C as default};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
2
|
+
import { DateStep, TimeGranularity, TimeMatcher } from "../../date/types.js";
|
|
3
|
+
import { TimePickerRootProps } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-picker/time-picker-root.vue.d.ts
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default?: (props: {
|
|
9
|
+
displayValue: string;
|
|
10
|
+
modelValue: TimeValue | undefined;
|
|
11
|
+
open: boolean;
|
|
12
|
+
}) => any;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_base: _$vue.DefineComponent<TimePickerRootProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
15
|
+
"update:modelValue": (time: TimeValue | undefined) => any;
|
|
16
|
+
"update:placeholder": (time: TimeValue) => any;
|
|
17
|
+
"update:open": (open: boolean) => any;
|
|
18
|
+
}, string, _$vue.PublicProps, Readonly<TimePickerRootProps> & Readonly<{
|
|
19
|
+
"onUpdate:modelValue"?: ((time: TimeValue | undefined) => any) | undefined;
|
|
20
|
+
"onUpdate:placeholder"?: ((time: TimeValue) => any) | undefined;
|
|
21
|
+
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
22
|
+
}>, {
|
|
23
|
+
placeholder: TimeValue;
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
step: DateStep;
|
|
26
|
+
defaultValue: TimeValue;
|
|
27
|
+
defaultPlaceholder: TimeValue;
|
|
28
|
+
hourCycle: 12 | 24;
|
|
29
|
+
granularity: TimeGranularity;
|
|
30
|
+
hideTimeZone: boolean;
|
|
31
|
+
readonly: boolean;
|
|
32
|
+
open: boolean;
|
|
33
|
+
defaultOpen: boolean;
|
|
34
|
+
modal: boolean;
|
|
35
|
+
isTimeUnavailable: TimeMatcher;
|
|
36
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
37
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
|
+
declare const _default: typeof __VLS_export;
|
|
39
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useTimePickerRootContext as t,useTimePickerUi as n}from"./context.js";import{createBlock as r,defineComponent as i,normalizeClass as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";const u=i({name:`TimePickerTrigger`,__name:`time-picker-trigger`,props:{asChild:{type:Boolean},as:{default:`button`}},setup(i){let u=n(`trigger`),{disabled:d,readonly:f,open:p,setOpen:m,popupId:h}=t(`TimePickerTrigger`),g=()=>{d.value||f.value||m(!p.value)};return(t,n)=>(o(),r(c(e),{as:i.as,"as-child":i.asChild,"aria-controls":c(h),"aria-disabled":c(d)?!0:void 0,"aria-expanded":!!c(p),class:a(c(u)),"data-disabled":c(d)?``:void 0,"data-state":c(p)?`open`:`closed`,"data-slot":`trigger`,type:`button`,onClick:g},{default:l(()=>[s(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-controls`,`aria-disabled`,`aria-expanded`,`class`,`data-disabled`,`data-state`]))}});export{u as default};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AsTag } from "../primitive/types.js";
|
|
2
|
+
import { TimePickerTriggerProps } from "./types.js";
|
|
3
|
+
import * as _$vue from "vue";
|
|
4
|
+
|
|
5
|
+
//#region src/components/time-picker/time-picker-trigger.vue.d.ts
|
|
6
|
+
declare var __VLS_10: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_10) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: _$vue.DefineComponent<TimePickerTriggerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<TimePickerTriggerProps> & Readonly<{}>, {
|
|
11
|
+
as: AsTag | _$vue.Component;
|
|
12
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
16
|
+
new (): {
|
|
17
|
+
$slots: S;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { _default };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Direction, UiClass } from "../../types/common.js";
|
|
2
|
+
import { FormFieldCommonProps } from "../../types/component.js";
|
|
3
|
+
import { PropsToContext } from "../../types/vue.js";
|
|
4
|
+
import { PrimitiveProps } from "../primitive/types.js";
|
|
5
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
6
|
+
import { DateStep, HourCycle, TimeGranularity, TimeMatcher } from "../../date/types.js";
|
|
7
|
+
import { Formatter } from "../../date/formatter.js";
|
|
8
|
+
import { TimePickerOption } from "../../shared/time-picker.js";
|
|
9
|
+
import { ComputedRef, HTMLAttributes, ShallowRef } from "vue";
|
|
10
|
+
|
|
11
|
+
//#region src/components/time-picker/types.d.ts
|
|
12
|
+
interface TimePickerRootProps extends PrimitiveProps, FormFieldCommonProps, /** @vue-ignore */Omit<HTMLAttributes, 'placeholder'> {
|
|
13
|
+
defaultValue?: TimeValue;
|
|
14
|
+
defaultPlaceholder?: TimeValue;
|
|
15
|
+
placeholder?: TimeValue;
|
|
16
|
+
modelValue?: TimeValue;
|
|
17
|
+
hourCycle?: HourCycle;
|
|
18
|
+
step?: DateStep;
|
|
19
|
+
granularity?: TimeGranularity;
|
|
20
|
+
hideTimeZone?: boolean;
|
|
21
|
+
maxValue?: TimeValue;
|
|
22
|
+
minValue?: TimeValue;
|
|
23
|
+
locale?: string;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
readonly?: boolean;
|
|
26
|
+
isTimeUnavailable?: TimeMatcher;
|
|
27
|
+
id?: string;
|
|
28
|
+
dir?: Direction;
|
|
29
|
+
defaultOpen?: boolean;
|
|
30
|
+
open?: boolean;
|
|
31
|
+
modal?: boolean;
|
|
32
|
+
}
|
|
33
|
+
type TimePickerRootEmits = {
|
|
34
|
+
'update:modelValue': [time: TimeValue | undefined];
|
|
35
|
+
'update:placeholder': [time: TimeValue];
|
|
36
|
+
'update:open': [open: boolean];
|
|
37
|
+
};
|
|
38
|
+
interface TimePickerTriggerProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
|
|
39
|
+
interface TimePickerPopupProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
|
|
40
|
+
interface TimePickerRootContext extends PropsToContext<TimePickerRootProps, 'disabled' | 'readonly'> {
|
|
41
|
+
locale: ComputedRef<string>;
|
|
42
|
+
dir: ComputedRef<Direction>;
|
|
43
|
+
modelValue: ShallowRef<TimeValue | undefined>;
|
|
44
|
+
placeholder: ShallowRef<TimeValue>;
|
|
45
|
+
isTimeUnavailable?: TimeMatcher;
|
|
46
|
+
isInvalid: ComputedRef<boolean>;
|
|
47
|
+
formatter: Formatter;
|
|
48
|
+
granularity: ComputedRef<TimeGranularity>;
|
|
49
|
+
hourCycle: HourCycle;
|
|
50
|
+
hideTimeZone: ComputedRef<boolean>;
|
|
51
|
+
open: ShallowRef<boolean | undefined>;
|
|
52
|
+
popupId: string;
|
|
53
|
+
displayValue: ComputedRef<string>;
|
|
54
|
+
focusedTime: ShallowRef<TimeValue>;
|
|
55
|
+
options: ComputedRef<TimePickerOption[]>;
|
|
56
|
+
minValue: ComputedRef<TimeValue | undefined>;
|
|
57
|
+
maxValue: ComputedRef<TimeValue | undefined>;
|
|
58
|
+
onTimeChange: (time: TimeValue) => void;
|
|
59
|
+
onPlaceholderChange: (time: TimeValue) => void;
|
|
60
|
+
isTimeDisabled: (time: TimeValue) => boolean;
|
|
61
|
+
isTimeSelected: (time: TimeValue) => boolean;
|
|
62
|
+
setOpen: (value: boolean) => void;
|
|
63
|
+
setFocusedTime: (time: TimeValue) => void;
|
|
64
|
+
}
|
|
65
|
+
type TimePickerUiSlot = 'root' | 'trigger' | 'popup' | 'list' | 'cellTrigger';
|
|
66
|
+
type TimePickerUi = UiClass<TimePickerUiSlot>;
|
|
67
|
+
//#endregion
|
|
68
|
+
export { TimePickerPopupProps, TimePickerRootContext, TimePickerRootEmits, TimePickerRootProps, TimePickerTriggerProps, TimePickerUi, TimePickerUiSlot };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UiClass } from "../../types/common.js";
|
|
2
|
+
import { UseUiConsumer } from "../../composables/use-ui-context.js";
|
|
3
|
+
import { TimeRangeFieldUiSlot } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-range-field/context.d.ts
|
|
7
|
+
declare const provideTimeRangeFieldUi: (ui: _$vue.ComputedRef<Partial<UiClass<TimeRangeFieldUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TimeRangeFieldUiSlot>>>, useTimeRangeFieldUi: UseUiConsumer<TimeRangeFieldUiSlot>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { provideTimeRangeFieldUi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";const[n,r]=e(`TimeRangeFieldRoot`),[i,a]=t(`TimeRangeFieldUi`);export{n as provideTimeRangeFieldRootContext,i as provideTimeRangeFieldUi,r as useTimeRangeFieldRootContext,a as useTimeRangeFieldUi};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TimeRangeFieldCompactEmits, TimeRangeFieldCompactProps, TimeRangeFieldCompactSlots, TimeRangeFieldInputProps, TimeRangeFieldRootContext, TimeRangeFieldRootEmits, TimeRangeFieldRootProps, TimeRangeFieldSegment, TimeRangeFieldUi, TimeRangeFieldUiSlot } from "./types.js";
|
|
2
|
+
import { _default } from "./time-range-field-compact.vue.js";
|
|
3
|
+
import { _default as _default$2 } from "./time-range-field-root.vue.js";
|
|
4
|
+
import { _default as _default$1 } from "./time-range-field-input.vue.js";
|
|
5
|
+
import { provideTimeRangeFieldUi } from "./context.js";
|
|
6
|
+
export { _default as TimeRangeFieldCompact, type TimeRangeFieldCompactEmits, type TimeRangeFieldCompactProps, type TimeRangeFieldCompactSlots, _default$1 as TimeRangeFieldInput, type TimeRangeFieldInputProps, _default$2 as TimeRangeFieldRoot, type TimeRangeFieldRootContext, type TimeRangeFieldRootEmits, type TimeRangeFieldRootProps, type TimeRangeFieldSegment, type TimeRangeFieldUi, type TimeRangeFieldUiSlot, provideTimeRangeFieldUi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{provideTimeRangeFieldUi as e}from"./context.js";import t from"./time-range-field-root.js";import n from"./time-range-field-input.js";import r from"./time-range-field-compact.js";export{r as TimeRangeFieldCompact,n as TimeRangeFieldInput,t as TimeRangeFieldRoot,e as provideTimeRangeFieldUi};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{useTimeRangeFieldUi as n}from"./context.js";import r from"./time-range-field-root.js";import i from"./time-range-field-input.js";import{Fragment as a,createBlock as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,toHandlers as v,unref as y,withCtx as b}from"vue";const x={"data-time-range-field-part":`start`},S={"data-time-range-field-part":`end`},C=u({name:`TimeRangeFieldCompact`,__name:`time-range-field-compact`,props:{inputProps:{},separator:{default:`–`},defaultValue:{},defaultPlaceholder:{},placeholder:{},modelValue:{},hourCycle:{},step:{},granularity:{},hideTimeZone:{type:Boolean},maxValue:{},minValue:{},locale:{},disabled:{type:Boolean},readonly:{type:Boolean},isTimeUnavailable:{},id:{},dir:{},startName:{},endName:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`,`update:endValue`],setup(u,{emit:C}){let w=u,T=C,E=t(w,[`inputProps`,`separator`]),D=e(T),O=n();return(e,t)=>(m(),o(r,d(y(E),v(y(D))),{default:b(t=>[e.$slots.default?g(e.$slots,`default`,p(d({key:0},t))):(m(),s(a,{key:1},[c(`div`,x,[(m(!0),s(a,null,h(t.startSegments,(e,t)=>(m(),o(i,d({key:`start-${e.part}-${t}`,part:e.part,type:`start`},{ref_for:!0},u.inputProps),{default:b(()=>[l(_(e.value),1)]),_:2},1040,[`part`]))),128))]),c(`div`,{class:f(y(O).separator)},[g(e.$slots,`separator`,{},()=>[l(_(u.separator),1)])],2),c(`div`,S,[(m(!0),s(a,null,h(t.endSegments,(e,t)=>(m(),o(i,d({key:`end-${e.part}-${t}`,part:e.part,type:`end`},{ref_for:!0},u.inputProps),{default:b(()=>[l(_(e.value),1)]),_:2},1040,[`part`]))),128))])],64))]),_:3},16))}});export{C as default};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
2
|
+
import { TimeRange } from "../../date/types.js";
|
|
3
|
+
import { TimeRangeFieldCompactProps, TimeRangeFieldCompactSlots } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-range-field/time-range-field-compact.vue.d.ts
|
|
7
|
+
type __VLS_Slots = TimeRangeFieldCompactSlots;
|
|
8
|
+
declare const __VLS_base: _$vue.DefineComponent<TimeRangeFieldCompactProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (range: TimeRange) => any;
|
|
10
|
+
"update:placeholder": (time: TimeValue) => any;
|
|
11
|
+
"update:startValue": (time: TimeValue | undefined) => any;
|
|
12
|
+
"update:endValue": (time: TimeValue | undefined) => any;
|
|
13
|
+
}, string, _$vue.PublicProps, Readonly<TimeRangeFieldCompactProps> & Readonly<{
|
|
14
|
+
"onUpdate:modelValue"?: ((range: TimeRange) => any) | undefined;
|
|
15
|
+
"onUpdate:placeholder"?: ((time: TimeValue) => any) | undefined;
|
|
16
|
+
"onUpdate:startValue"?: ((time: TimeValue | undefined) => any) | undefined;
|
|
17
|
+
"onUpdate:endValue"?: ((time: TimeValue | undefined) => any) | undefined;
|
|
18
|
+
}>, {
|
|
19
|
+
separator: string;
|
|
20
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
22
|
+
declare const _default: typeof __VLS_export;
|
|
23
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
24
|
+
new (): {
|
|
25
|
+
$slots: S;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useDateField as e}from"../../date/use-date-field.js";import"../../date/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{useTimeRangeFieldRootContext as n,useTimeRangeFieldUi as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,mergeProps as s,openBlock as c,ref as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";const m=o({name:`TimeRangeFieldInput`,__name:`time-range-field-input`,props:{part:{},type:{default:`start`},asChild:{type:Boolean},as:{default:`span`}},setup(o){let m=o,h=r(`input`),{disabled:g,readonly:_,placeholder:v,hourCycle:y,step:b,startSegmentValues:x,endSegmentValues:S,formatter:C,focusNext:w,modelValue:T,isInvalid:E,setFocusedElement:D}=n(`TimeRangeFieldInput`),O=l(!0),k=l(!1),A=i(()=>!!g.value),j=i(()=>!!_.value),{attributes:M,handleSegmentClick:N,handleSegmentFocusOut:P,handleSegmentKeydown:F}=e({hasLeftFocus:O,lastKeyZero:k,placeholder:v,hourCycle:y,step:b,segmentValues:i(()=>m.type===`start`?x.value:S.value),formatter:C,part:m.part,disabled:A,readonly:j,focusNext:()=>w(m.type),modelValue:i({get:()=>m.type===`start`?T.value.start:T.value.end,set:e=>{m.type===`start`?T.value={...T.value,start:e}:T.value={...T.value,end:e}}})}),I=i(()=>A.value||j.value?!1:m.part!==`literal`&&m.part!==`timeZoneName`),L=i(()=>m.part===`literal`?{}:{mousedown:N,keydown:F,focusout:()=>{O.value=!0,P()},focusin:e=>{D(e.target,m.type)}});return(e,n)=>(c(),a(f(t),s({as:o.as,"as-child":o.asChild},f(M),{"aria-disabled":A.value?!0:void 0,"aria-invalid":f(E)?!0:void 0,"aria-readonly":j.value||o.part===`timeZoneName`?!0:void 0,class:f(h),contenteditable:I.value,"data-disabled":A.value?``:void 0,"data-invalid":f(E)?``:void 0,"data-readonly":j.value||o.part===`timeZoneName`?``:void 0,"data-segment":o.part,"data-soybean-date-field-segment":o.part,"data-slot":`input`},d(L.value)),{default:p(()=>[u(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`aria-disabled`,`aria-invalid`,`aria-readonly`,`class`,`contenteditable`,`data-disabled`,`data-invalid`,`data-readonly`,`data-segment`,`data-soybean-date-field-segment`]))}});export{m as default};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AsTag } from "../primitive/types.js";
|
|
2
|
+
import { TimeRangeFieldInputProps } from "./types.js";
|
|
3
|
+
import * as _$vue from "vue";
|
|
4
|
+
|
|
5
|
+
//#region src/components/time-range-field/time-range-field-input.vue.d.ts
|
|
6
|
+
declare var __VLS_8: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_8) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: _$vue.DefineComponent<TimeRangeFieldInputProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<TimeRangeFieldInputProps> & Readonly<{}>, {
|
|
11
|
+
type: "start" | "end";
|
|
12
|
+
as: AsTag | _$vue.Component;
|
|
13
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
17
|
+
new (): {
|
|
18
|
+
$slots: S;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isNullish as e}from"../../shared/guard.js";import{getDefaultTime as t,isBefore as n,isEqualValue as r}from"../../date/comparators.js";import{getTimeInputType as i,normalizeDateStep as a,normalizeHourCycle as ee,normalizeTimeInputValue as o}from"../../date/utils.js";import{useDateFormatter as s}from"../../date/formatter.js";import{createContent as c,syncTimeSegmentValues as l}from"../../date/parser.js";import{getSegmentElements as u}from"../../date/segment.js";import"../../date/index.js";import"../../shared/index.js";import{useControllableState as d}from"../../composables/use-controllable-state.js";import{useForwardElement as te}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{useDirection as f,useLocale as p}from"../config-provider/context.js";import{Primitive as ne}from"../primitive/primitive.js";import"../primitive/index.js";import m from"../visually-hidden/visually-hidden.js";import"../visually-hidden/index.js";import{provideTimeRangeFieldRootContext as re,useTimeRangeFieldUi as ie}from"./context.js";import{computed as h,createBlock as g,createVNode as _,defineComponent as v,nextTick as y,normalizeClass as b,onMounted as ae,openBlock as x,renderSlot as oe,shallowRef as S,unref as C,watch as w,withCtx as T}from"vue";const E=v({name:`TimeRangeFieldRoot`,__name:`time-range-field-root`,props:{defaultValue:{default:void 0},defaultPlaceholder:{default:void 0},placeholder:{default:void 0},modelValue:{},hourCycle:{default:void 0},step:{default:void 0},granularity:{default:void 0},hideTimeZone:{type:Boolean,default:!1},maxValue:{},minValue:{},locale:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},isTimeUnavailable:{type:Function,default:void 0},id:{},dir:{},startName:{default:void 0},endName:{default:void 0},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`,`update:endValue`],setup(v,{emit:E}){let D=v,O=E,k=ie(`root`),[A,j]=te(),M=p(()=>D.locale),N=f(()=>D.dir),P=s(M.value,{hourCycle:ee(D.hourCycle)}),F=d(()=>D.modelValue,e=>{O(`update:modelValue`,e),O(`update:startValue`,e.start),O(`update:endValue`,e.end)},D.defaultValue??{}),se=t({defaultPlaceholder:D.placeholder,defaultValue:F.value.start}),I=d(()=>D.placeholder,e=>O(`update:placeholder`,e),D.defaultPlaceholder??se.copy()),ce=h(()=>a(D)),L=h(()=>D.granularity??`minute`),R=h(()=>{let{start:e,end:t}=F.value;return!!(e&&t&&n(t,e)||e&&(D.isTimeUnavailable?.(e)||D.minValue&&n(e,D.minValue)||D.maxValue&&n(D.maxValue,e))||t&&(D.isTimeUnavailable?.(t)||D.minValue&&n(t,D.minValue)||D.maxValue&&n(D.maxValue,t)))}),z=S(F.value.start?{...l({value:F.value.start,formatter:P})}:{...l({value:I.value,formatter:P})}),B=S(F.value.end?{...l({value:F.value.end,formatter:P})}:{...l({value:I.value,formatter:P})}),V=h(()=>c({granularity:L.value,dateRef:I.value,formatter:P,hideTimeZone:D.hideTimeZone,hourCycle:D.hourCycle,segmentValues:z.value,locale:M,isTimeValue:!0}).arr),H=h(()=>c({granularity:L.value,dateRef:I.value,formatter:P,hideTimeZone:D.hideTimeZone,hourCycle:D.hourCycle,segmentValues:B.value,locale:M,isTimeValue:!0}).arr),U=S([]),W=S([]),G=S(null),K=S(`start`),q=()=>{if(!A.value)return;let e=A.value.querySelector(`[data-time-range-field-part="start"]`),t=A.value.querySelector(`[data-time-range-field-part="end"]`);e&&(U.value=u(e)),t&&(W.value=u(t))};w(M,e=>{P.getLocale()!==e&&P.setLocale(e),y(q)}),w(()=>F.value.start,t=>{!e(t)&&!r(I.value,t)&&(I.value=t.copy())}),w([()=>F.value.start,M,L],([t])=>{if(!e(t)){z.value={...l({value:t,formatter:P})};return}z.value={...l({value:I.value,formatter:P})}}),w([()=>F.value.end,M,L],([t])=>{if(!e(t)){B.value={...l({value:t,formatter:P})};return}B.value={...l({value:I.value,formatter:P})}});let le=h(()=>(K.value===`start`?U.value:W.value).findIndex(e=>e.getAttribute(`data-soybean-date-field-segment`)===G.value?.getAttribute(`data-soybean-date-field-segment`))),J=(e,t)=>{let n=N.value===`rtl`?-1:1,r=t===`next`?n:-n,i=e===`start`?U.value:W.value,a=le.value+r;a>=0&&a<i.length?i[a]?.focus():t===`next`&&e===`start`&&W.value.length>0?(K.value=`end`,W.value[0]?.focus()):t===`prev`&&e===`end`&&U.value.length>0&&(K.value=`start`,U.value[U.value.length-1]?.focus())},Y=h(()=>i(L.value)),X=h(()=>o(F.value.start,L.value)),Z=h(()=>o(F.value.end,L.value)),Q=h(()=>D.maxValue?o(D.maxValue,L.value):void 0),$=h(()=>D.minValue?o(D.minValue,L.value):void 0),ue=e=>{e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),J(K.value,e.key===`ArrowRight`?`next`:`prev`))};return re({locale:M,dir:N,modelValue:F,placeholder:I,isTimeUnavailable:D.isTimeUnavailable,isInvalid:R,disabled:h(()=>D.disabled),readonly:h(()=>D.readonly),formatter:P,hourCycle:D.hourCycle,step:ce,startSegmentValues:z,endSegmentValues:B,startSegmentContents:V,endSegmentContents:H,startInputType:Y,endInputType:Y,startInputValue:X,endInputValue:Z,inputMaxValue:Q,inputMinValue:$,startElements:U,endElements:W,focusedType:K,focusNext(e){J(e,`next`)},setFocusedElement(e,t){G.value=e,K.value=t}}),ae(q),(e,t)=>(x(),g(C(ne),{ref:C(j),as:v.as,"as-child":v.asChild,class:b(C(k)),"data-disabled":v.disabled?``:void 0,"data-invalid":R.value?``:void 0,"data-readonly":v.readonly?``:void 0,dir:C(N),"data-slot":`root`,role:`group`,onKeydown:ue},{default:T(()=>[oe(e.$slots,`default`,{endSegments:H.value,isInvalid:R.value,modelValue:C(F),startSegments:V.value}),_(C(m),{id:v.id,as:`input`,feature:`focusable`,type:Y.value,tabindex:`-1`,value:X.value,name:v.startName||v.name,disabled:v.disabled,required:v.required,max:Q.value,min:$.value,onFocus:t[0]||(t[0]=e=>U.value[0]?.focus())},null,8,[`id`,`type`,`value`,`name`,`disabled`,`required`,`max`,`min`]),_(C(m),{as:`input`,feature:`focusable`,type:Y.value,tabindex:`-1`,value:Z.value,name:v.endName,disabled:v.disabled,required:v.required,max:Q.value,min:$.value,onFocus:t[1]||(t[1]=e=>W.value[0]?.focus())},null,8,[`type`,`value`,`name`,`disabled`,`required`,`max`,`min`])]),_:3},8,[`as`,`as-child`,`class`,`data-disabled`,`data-invalid`,`data-readonly`,`dir`]))}});export{E as default};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
2
|
+
import { DateStep, SegmentPart, TimeGranularity, TimeMatcher, TimeRange } from "../../date/types.js";
|
|
3
|
+
import { TimeRangeFieldRootProps } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-range-field/time-range-field-root.vue.d.ts
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default?: (props: {
|
|
9
|
+
modelValue: TimeRange;
|
|
10
|
+
startSegments: {
|
|
11
|
+
part: SegmentPart;
|
|
12
|
+
value: string;
|
|
13
|
+
}[];
|
|
14
|
+
endSegments: {
|
|
15
|
+
part: SegmentPart;
|
|
16
|
+
value: string;
|
|
17
|
+
}[];
|
|
18
|
+
isInvalid: boolean;
|
|
19
|
+
}) => any;
|
|
20
|
+
};
|
|
21
|
+
declare const __VLS_base: _$vue.DefineComponent<TimeRangeFieldRootProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
22
|
+
"update:modelValue": (range: TimeRange) => any;
|
|
23
|
+
"update:placeholder": (time: TimeValue) => any;
|
|
24
|
+
"update:startValue": (time: TimeValue | undefined) => any;
|
|
25
|
+
"update:endValue": (time: TimeValue | undefined) => any;
|
|
26
|
+
}, string, _$vue.PublicProps, Readonly<TimeRangeFieldRootProps> & Readonly<{
|
|
27
|
+
"onUpdate:modelValue"?: ((range: TimeRange) => any) | undefined;
|
|
28
|
+
"onUpdate:placeholder"?: ((time: TimeValue) => any) | undefined;
|
|
29
|
+
"onUpdate:startValue"?: ((time: TimeValue | undefined) => any) | undefined;
|
|
30
|
+
"onUpdate:endValue"?: ((time: TimeValue | undefined) => any) | undefined;
|
|
31
|
+
}>, {
|
|
32
|
+
placeholder: TimeValue;
|
|
33
|
+
disabled: boolean;
|
|
34
|
+
step: DateStep;
|
|
35
|
+
defaultValue: TimeRange;
|
|
36
|
+
defaultPlaceholder: TimeValue;
|
|
37
|
+
hourCycle: 12 | 24;
|
|
38
|
+
granularity: TimeGranularity;
|
|
39
|
+
hideTimeZone: boolean;
|
|
40
|
+
readonly: boolean;
|
|
41
|
+
isTimeUnavailable: TimeMatcher;
|
|
42
|
+
startName: string;
|
|
43
|
+
endName: string;
|
|
44
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
45
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
46
|
+
declare const _default: typeof __VLS_export;
|
|
47
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
48
|
+
new (): {
|
|
49
|
+
$slots: S;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
export { _default };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Direction, UiClass } from "../../types/common.js";
|
|
2
|
+
import { FormFieldCommonProps } from "../../types/component.js";
|
|
3
|
+
import { PropsToContext } from "../../types/vue.js";
|
|
4
|
+
import { PrimitiveProps } from "../primitive/types.js";
|
|
5
|
+
import { TimeValue } from "../../date/comparators.js";
|
|
6
|
+
import { DateStep, HourCycle, SegmentPart, SegmentValueObj, TimeGranularity, TimeInputType, TimeMatcher, TimeRange } from "../../date/types.js";
|
|
7
|
+
import { Formatter } from "../../date/formatter.js";
|
|
8
|
+
import { ComputedRef, HTMLAttributes, ShallowRef } from "vue";
|
|
9
|
+
|
|
10
|
+
//#region src/components/time-range-field/types.d.ts
|
|
11
|
+
interface TimeRangeFieldRootProps extends PrimitiveProps, FormFieldCommonProps, /** @vue-ignore */Omit<HTMLAttributes, 'placeholder'> {
|
|
12
|
+
defaultValue?: TimeRange;
|
|
13
|
+
defaultPlaceholder?: TimeValue;
|
|
14
|
+
placeholder?: TimeValue;
|
|
15
|
+
modelValue?: TimeRange;
|
|
16
|
+
hourCycle?: HourCycle;
|
|
17
|
+
step?: DateStep;
|
|
18
|
+
granularity?: TimeGranularity;
|
|
19
|
+
hideTimeZone?: boolean;
|
|
20
|
+
maxValue?: TimeValue;
|
|
21
|
+
minValue?: TimeValue;
|
|
22
|
+
locale?: string;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
readonly?: boolean;
|
|
25
|
+
isTimeUnavailable?: TimeMatcher;
|
|
26
|
+
id?: string;
|
|
27
|
+
dir?: Direction;
|
|
28
|
+
startName?: string;
|
|
29
|
+
endName?: string;
|
|
30
|
+
}
|
|
31
|
+
type TimeRangeFieldRootEmits = {
|
|
32
|
+
'update:modelValue': [range: TimeRange];
|
|
33
|
+
'update:placeholder': [time: TimeValue];
|
|
34
|
+
'update:startValue': [time: TimeValue | undefined];
|
|
35
|
+
'update:endValue': [time: TimeValue | undefined];
|
|
36
|
+
};
|
|
37
|
+
interface TimeRangeFieldInputProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
|
|
38
|
+
part: SegmentPart;
|
|
39
|
+
type?: 'start' | 'end';
|
|
40
|
+
}
|
|
41
|
+
interface TimeRangeFieldSegment {
|
|
42
|
+
part: SegmentPart;
|
|
43
|
+
value: string;
|
|
44
|
+
}
|
|
45
|
+
interface TimeRangeFieldRootContext extends PropsToContext<TimeRangeFieldRootProps, 'disabled' | 'readonly'> {
|
|
46
|
+
locale: ComputedRef<string>;
|
|
47
|
+
dir: ComputedRef<Direction>;
|
|
48
|
+
modelValue: ShallowRef<TimeRange>;
|
|
49
|
+
placeholder: ShallowRef<TimeValue>;
|
|
50
|
+
isTimeUnavailable?: TimeMatcher;
|
|
51
|
+
isInvalid: ComputedRef<boolean>;
|
|
52
|
+
formatter: Formatter;
|
|
53
|
+
hourCycle: HourCycle;
|
|
54
|
+
step: ComputedRef<DateStep>;
|
|
55
|
+
startSegmentValues: ShallowRef<SegmentValueObj>;
|
|
56
|
+
endSegmentValues: ShallowRef<SegmentValueObj>;
|
|
57
|
+
startSegmentContents: ComputedRef<TimeRangeFieldSegment[]>;
|
|
58
|
+
endSegmentContents: ComputedRef<TimeRangeFieldSegment[]>;
|
|
59
|
+
startInputType: ComputedRef<TimeInputType>;
|
|
60
|
+
endInputType: ComputedRef<TimeInputType>;
|
|
61
|
+
startInputValue: ComputedRef<string>;
|
|
62
|
+
endInputValue: ComputedRef<string>;
|
|
63
|
+
inputMaxValue: ComputedRef<string | undefined>;
|
|
64
|
+
inputMinValue: ComputedRef<string | undefined>;
|
|
65
|
+
startElements: ShallowRef<HTMLElement[]>;
|
|
66
|
+
endElements: ShallowRef<HTMLElement[]>;
|
|
67
|
+
focusedType: ShallowRef<'start' | 'end'>;
|
|
68
|
+
focusNext: (type: 'start' | 'end') => void;
|
|
69
|
+
setFocusedElement: (el: HTMLElement, type: 'start' | 'end') => void;
|
|
70
|
+
}
|
|
71
|
+
type TimeRangeFieldUiSlot = 'root' | 'input' | 'separator';
|
|
72
|
+
type TimeRangeFieldUi = UiClass<TimeRangeFieldUiSlot>;
|
|
73
|
+
interface TimeRangeFieldCompactProps extends TimeRangeFieldRootProps {
|
|
74
|
+
inputProps?: Omit<TimeRangeFieldInputProps, 'part' | 'type'>;
|
|
75
|
+
separator?: string;
|
|
76
|
+
}
|
|
77
|
+
type TimeRangeFieldCompactEmits = TimeRangeFieldRootEmits;
|
|
78
|
+
type TimeRangeFieldCompactSlots = {
|
|
79
|
+
default?: (props: {
|
|
80
|
+
startSegments: TimeRangeFieldSegment[];
|
|
81
|
+
endSegments: TimeRangeFieldSegment[];
|
|
82
|
+
modelValue: TimeRange;
|
|
83
|
+
isInvalid: boolean;
|
|
84
|
+
}) => any;
|
|
85
|
+
separator?: () => any;
|
|
86
|
+
};
|
|
87
|
+
//#endregion
|
|
88
|
+
export { TimeRangeFieldCompactEmits, TimeRangeFieldCompactProps, TimeRangeFieldCompactSlots, TimeRangeFieldInputProps, TimeRangeFieldRootContext, TimeRangeFieldRootEmits, TimeRangeFieldRootProps, TimeRangeFieldSegment, TimeRangeFieldUi, TimeRangeFieldUiSlot };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UiClass } from "../../types/common.js";
|
|
2
|
+
import { UseUiConsumer } from "../../composables/use-ui-context.js";
|
|
3
|
+
import { TimeRangePickerUiSlot } from "./types.js";
|
|
4
|
+
import * as _$vue from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/time-range-picker/context.d.ts
|
|
7
|
+
declare const provideTimeRangePickerUi: (ui: _$vue.ComputedRef<Partial<UiClass<TimeRangePickerUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TimeRangePickerUiSlot>>>, useTimeRangePickerUi: UseUiConsumer<TimeRangePickerUiSlot>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { provideTimeRangePickerUi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";const[n,r]=e(`TimeRangePickerRoot`),[i,a]=t(`TimeRangePickerUi`);export{n as provideTimeRangePickerRootContext,i as provideTimeRangePickerUi,r as useTimeRangePickerRootContext,a as useTimeRangePickerUi};
|