@llui/components 0.0.13 → 0.0.15
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/accordion.js +1 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.d.ts +1 -1
- package/dist/components/alert-dialog.d.ts.map +1 -1
- package/dist/components/alert-dialog.js +2 -1
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/angle-slider.js +2 -1
- package/dist/components/angle-slider.js.map +1 -0
- package/dist/components/async-list.js +1 -0
- package/dist/components/async-list.js.map +1 -0
- package/dist/components/avatar.js +1 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/carousel.js +2 -1
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/cascade-select.js +2 -1
- package/dist/components/cascade-select.js.map +1 -0
- package/dist/components/checkbox.js +1 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/clipboard.js +2 -1
- package/dist/components/clipboard.js.map +1 -0
- package/dist/components/collapsible.js +1 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/color-picker.js +2 -1
- package/dist/components/color-picker.js.map +1 -0
- package/dist/components/combobox.d.ts +1 -1
- package/dist/components/combobox.d.ts.map +1 -1
- package/dist/components/combobox.js +4 -3
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/context-menu.js +2 -1
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/date-input.js +2 -1
- package/dist/components/date-input.js.map +1 -0
- package/dist/components/date-picker.js +3 -2
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/dialog.js +6 -5
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.js +6 -5
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/editable.js +1 -0
- package/dist/components/editable.js.map +1 -0
- package/dist/components/file-upload.js +2 -1
- package/dist/components/file-upload.js.map +1 -0
- package/dist/components/floating-panel.js +2 -1
- package/dist/components/floating-panel.js.map +1 -0
- package/dist/components/form.js +1 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/hover-card.d.ts +1 -1
- package/dist/components/hover-card.d.ts.map +1 -1
- package/dist/components/hover-card.js +2 -1
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/image-cropper.js +2 -1
- package/dist/components/image-cropper.js.map +1 -0
- package/dist/components/in-view.js +1 -0
- package/dist/components/in-view.js.map +1 -0
- package/dist/components/index.d.ts +119 -119
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +62 -61
- package/dist/components/index.js.map +1 -0
- package/dist/components/listbox.js +2 -1
- package/dist/components/listbox.js.map +1 -0
- package/dist/components/marquee.js +1 -0
- package/dist/components/marquee.js.map +1 -0
- package/dist/components/menu.d.ts +1 -1
- package/dist/components/menu.d.ts.map +1 -1
- package/dist/components/menu.js +4 -3
- package/dist/components/menu.js.map +1 -0
- package/dist/components/navigation-menu.js +2 -1
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/number-input.js +2 -1
- package/dist/components/number-input.js.map +1 -0
- package/dist/components/pagination.js +2 -1
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/password-input.js +2 -1
- package/dist/components/password-input.js.map +1 -0
- package/dist/components/pin-input.js +3 -2
- package/dist/components/pin-input.js.map +1 -0
- package/dist/components/popover.d.ts +1 -1
- package/dist/components/popover.d.ts.map +1 -1
- package/dist/components/popover.js +5 -4
- package/dist/components/popover.js.map +1 -0
- package/dist/components/presence.js +1 -0
- package/dist/components/presence.js.map +1 -0
- package/dist/components/progress.js +2 -1
- package/dist/components/progress.js.map +1 -0
- package/dist/components/qr-code.js +2 -1
- package/dist/components/qr-code.js.map +1 -0
- package/dist/components/radio-group.js +2 -1
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/rating-group.js +2 -1
- package/dist/components/rating-group.js.map +1 -0
- package/dist/components/scroll-area.js +1 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +1 -1
- package/dist/components/select.d.ts.map +1 -1
- package/dist/components/select.js +4 -3
- package/dist/components/select.js.map +1 -0
- package/dist/components/signature-pad.js +2 -1
- package/dist/components/signature-pad.js.map +1 -0
- package/dist/components/slider.js +2 -1
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sortable.js +1 -0
- package/dist/components/sortable.js.map +1 -0
- package/dist/components/splitter.js +2 -1
- package/dist/components/splitter.js.map +1 -0
- package/dist/components/steps.js +2 -1
- package/dist/components/steps.js.map +1 -0
- package/dist/components/switch.js +1 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/tabs.js +2 -1
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/tags-input.js +3 -2
- package/dist/components/tags-input.js.map +1 -0
- package/dist/components/theme-switch.js +1 -0
- package/dist/components/theme-switch.js.map +1 -0
- package/dist/components/time-picker.js +2 -1
- package/dist/components/time-picker.js.map +1 -0
- package/dist/components/timer.js +2 -1
- package/dist/components/timer.js.map +1 -0
- package/dist/components/toast.js +2 -1
- package/dist/components/toast.js.map +1 -0
- package/dist/components/toc.js +2 -1
- package/dist/components/toc.js.map +1 -0
- package/dist/components/toggle-group.js +2 -1
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.js +1 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/tooltip.d.ts +1 -1
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip.js +2 -1
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/tour.js +2 -1
- package/dist/components/tour.js.map +1 -0
- package/dist/components/tree-view.js +3 -2
- package/dist/components/tree-view.js.map +1 -0
- package/dist/format/cache.js +1 -0
- package/dist/format/cache.js.map +1 -0
- package/dist/format/defaults.js +1 -0
- package/dist/format/defaults.js.map +1 -0
- package/dist/format/format-date.js +3 -2
- package/dist/format/format-date.js.map +1 -0
- package/dist/format/format-display-name.js +3 -2
- package/dist/format/format-display-name.js.map +1 -0
- package/dist/format/format-file-size.js +3 -2
- package/dist/format/format-file-size.js.map +1 -0
- package/dist/format/format-list.js +3 -2
- package/dist/format/format-list.js.map +1 -0
- package/dist/format/format-number.js +3 -2
- package/dist/format/format-number.js.map +1 -0
- package/dist/format/format-plural.js +3 -2
- package/dist/format/format-plural.js.map +1 -0
- package/dist/format/format-relative-time.js +3 -2
- package/dist/format/format-relative-time.js.map +1 -0
- package/dist/format/index.d.ts +7 -7
- package/dist/format/index.d.ts.map +1 -1
- package/dist/format/index.js +8 -7
- package/dist/format/index.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -0
- package/dist/locale.js +1 -0
- package/dist/locale.js.map +1 -0
- package/dist/patterns/confirm-dialog.d.ts +1 -1
- package/dist/patterns/confirm-dialog.d.ts.map +1 -1
- package/dist/patterns/confirm-dialog.js +2 -1
- package/dist/patterns/confirm-dialog.js.map +1 -0
- package/dist/patterns/index.d.ts +2 -2
- package/dist/patterns/index.d.ts.map +1 -1
- package/dist/patterns/index.js +2 -1
- package/dist/patterns/index.js.map +1 -0
- package/dist/styles/classes/accordion.d.ts +1 -1
- package/dist/styles/classes/accordion.d.ts.map +1 -1
- package/dist/styles/classes/accordion.js +2 -1
- package/dist/styles/classes/accordion.js.map +1 -0
- package/dist/styles/classes/angle-slider.d.ts +1 -1
- package/dist/styles/classes/angle-slider.d.ts.map +1 -1
- package/dist/styles/classes/angle-slider.js +2 -1
- package/dist/styles/classes/angle-slider.js.map +1 -0
- package/dist/styles/classes/async-list.d.ts +1 -1
- package/dist/styles/classes/async-list.d.ts.map +1 -1
- package/dist/styles/classes/async-list.js +1 -0
- package/dist/styles/classes/async-list.js.map +1 -0
- package/dist/styles/classes/avatar.d.ts +1 -1
- package/dist/styles/classes/avatar.d.ts.map +1 -1
- package/dist/styles/classes/avatar.js +2 -1
- package/dist/styles/classes/avatar.js.map +1 -0
- package/dist/styles/classes/carousel.d.ts +1 -1
- package/dist/styles/classes/carousel.d.ts.map +1 -1
- package/dist/styles/classes/carousel.js +2 -1
- package/dist/styles/classes/carousel.js.map +1 -0
- package/dist/styles/classes/cascade-select.d.ts +1 -1
- package/dist/styles/classes/cascade-select.d.ts.map +1 -1
- package/dist/styles/classes/cascade-select.js +2 -1
- package/dist/styles/classes/cascade-select.js.map +1 -0
- package/dist/styles/classes/checkbox.d.ts +1 -1
- package/dist/styles/classes/checkbox.d.ts.map +1 -1
- package/dist/styles/classes/checkbox.js +2 -1
- package/dist/styles/classes/checkbox.js.map +1 -0
- package/dist/styles/classes/clipboard.d.ts +1 -1
- package/dist/styles/classes/clipboard.d.ts.map +1 -1
- package/dist/styles/classes/clipboard.js +1 -0
- package/dist/styles/classes/clipboard.js.map +1 -0
- package/dist/styles/classes/collapsible.d.ts +1 -1
- package/dist/styles/classes/collapsible.d.ts.map +1 -1
- package/dist/styles/classes/collapsible.js +2 -1
- package/dist/styles/classes/collapsible.js.map +1 -0
- package/dist/styles/classes/color-picker.d.ts +1 -1
- package/dist/styles/classes/color-picker.d.ts.map +1 -1
- package/dist/styles/classes/color-picker.js +1 -0
- package/dist/styles/classes/color-picker.js.map +1 -0
- package/dist/styles/classes/combobox.d.ts +1 -1
- package/dist/styles/classes/combobox.d.ts.map +1 -1
- package/dist/styles/classes/combobox.js +2 -1
- package/dist/styles/classes/combobox.js.map +1 -0
- package/dist/styles/classes/context-menu.d.ts +1 -1
- package/dist/styles/classes/context-menu.d.ts.map +1 -1
- package/dist/styles/classes/context-menu.js +2 -1
- package/dist/styles/classes/context-menu.js.map +1 -0
- package/dist/styles/classes/date-input.d.ts +1 -1
- package/dist/styles/classes/date-input.d.ts.map +1 -1
- package/dist/styles/classes/date-input.js +2 -1
- package/dist/styles/classes/date-input.js.map +1 -0
- package/dist/styles/classes/date-picker.d.ts +1 -1
- package/dist/styles/classes/date-picker.d.ts.map +1 -1
- package/dist/styles/classes/date-picker.js +2 -1
- package/dist/styles/classes/date-picker.js.map +1 -0
- package/dist/styles/classes/dialog.d.ts +1 -1
- package/dist/styles/classes/dialog.d.ts.map +1 -1
- package/dist/styles/classes/dialog.js +2 -1
- package/dist/styles/classes/dialog.js.map +1 -0
- package/dist/styles/classes/drawer.d.ts +1 -1
- package/dist/styles/classes/drawer.d.ts.map +1 -1
- package/dist/styles/classes/drawer.js +2 -1
- package/dist/styles/classes/drawer.js.map +1 -0
- package/dist/styles/classes/editable.d.ts +1 -1
- package/dist/styles/classes/editable.d.ts.map +1 -1
- package/dist/styles/classes/editable.js +2 -1
- package/dist/styles/classes/editable.js.map +1 -0
- package/dist/styles/classes/file-upload.d.ts +1 -1
- package/dist/styles/classes/file-upload.d.ts.map +1 -1
- package/dist/styles/classes/file-upload.js +1 -0
- package/dist/styles/classes/file-upload.js.map +1 -0
- package/dist/styles/classes/floating-panel.d.ts +1 -1
- package/dist/styles/classes/floating-panel.d.ts.map +1 -1
- package/dist/styles/classes/floating-panel.js +2 -1
- package/dist/styles/classes/floating-panel.js.map +1 -0
- package/dist/styles/classes/hover-card.d.ts +1 -1
- package/dist/styles/classes/hover-card.d.ts.map +1 -1
- package/dist/styles/classes/hover-card.js +2 -1
- package/dist/styles/classes/hover-card.js.map +1 -0
- package/dist/styles/classes/image-cropper.d.ts +1 -1
- package/dist/styles/classes/image-cropper.d.ts.map +1 -1
- package/dist/styles/classes/image-cropper.js +1 -0
- package/dist/styles/classes/image-cropper.js.map +1 -0
- package/dist/styles/classes/index.d.ts +53 -53
- package/dist/styles/classes/index.d.ts.map +1 -1
- package/dist/styles/classes/index.js +54 -53
- package/dist/styles/classes/index.js.map +1 -0
- package/dist/styles/classes/listbox.d.ts +1 -1
- package/dist/styles/classes/listbox.d.ts.map +1 -1
- package/dist/styles/classes/listbox.js +2 -1
- package/dist/styles/classes/listbox.js.map +1 -0
- package/dist/styles/classes/marquee.d.ts +1 -1
- package/dist/styles/classes/marquee.d.ts.map +1 -1
- package/dist/styles/classes/marquee.js +1 -0
- package/dist/styles/classes/marquee.js.map +1 -0
- package/dist/styles/classes/menu.d.ts +1 -1
- package/dist/styles/classes/menu.d.ts.map +1 -1
- package/dist/styles/classes/menu.js +2 -1
- package/dist/styles/classes/menu.js.map +1 -0
- package/dist/styles/classes/navigation-menu.d.ts +1 -1
- package/dist/styles/classes/navigation-menu.d.ts.map +1 -1
- package/dist/styles/classes/navigation-menu.js +1 -0
- package/dist/styles/classes/navigation-menu.js.map +1 -0
- package/dist/styles/classes/number-input.d.ts +1 -1
- package/dist/styles/classes/number-input.d.ts.map +1 -1
- package/dist/styles/classes/number-input.js +2 -1
- package/dist/styles/classes/number-input.js.map +1 -0
- package/dist/styles/classes/pagination.d.ts +1 -1
- package/dist/styles/classes/pagination.d.ts.map +1 -1
- package/dist/styles/classes/pagination.js +2 -1
- package/dist/styles/classes/pagination.js.map +1 -0
- package/dist/styles/classes/password-input.d.ts +1 -1
- package/dist/styles/classes/password-input.d.ts.map +1 -1
- package/dist/styles/classes/password-input.js +2 -1
- package/dist/styles/classes/password-input.js.map +1 -0
- package/dist/styles/classes/pin-input.d.ts +1 -1
- package/dist/styles/classes/pin-input.d.ts.map +1 -1
- package/dist/styles/classes/pin-input.js +2 -1
- package/dist/styles/classes/pin-input.js.map +1 -0
- package/dist/styles/classes/popover.d.ts +1 -1
- package/dist/styles/classes/popover.d.ts.map +1 -1
- package/dist/styles/classes/popover.js +2 -1
- package/dist/styles/classes/popover.js.map +1 -0
- package/dist/styles/classes/presence.d.ts +1 -1
- package/dist/styles/classes/presence.d.ts.map +1 -1
- package/dist/styles/classes/presence.js +1 -0
- package/dist/styles/classes/presence.js.map +1 -0
- package/dist/styles/classes/progress.d.ts +1 -1
- package/dist/styles/classes/progress.d.ts.map +1 -1
- package/dist/styles/classes/progress.js +2 -1
- package/dist/styles/classes/progress.js.map +1 -0
- package/dist/styles/classes/qr-code.d.ts +1 -1
- package/dist/styles/classes/qr-code.d.ts.map +1 -1
- package/dist/styles/classes/qr-code.js +1 -0
- package/dist/styles/classes/qr-code.js.map +1 -0
- package/dist/styles/classes/radio-group.d.ts +1 -1
- package/dist/styles/classes/radio-group.d.ts.map +1 -1
- package/dist/styles/classes/radio-group.js +2 -1
- package/dist/styles/classes/radio-group.js.map +1 -0
- package/dist/styles/classes/rating-group.d.ts +1 -1
- package/dist/styles/classes/rating-group.d.ts.map +1 -1
- package/dist/styles/classes/rating-group.js +2 -1
- package/dist/styles/classes/rating-group.js.map +1 -0
- package/dist/styles/classes/scroll-area.d.ts +1 -1
- package/dist/styles/classes/scroll-area.d.ts.map +1 -1
- package/dist/styles/classes/scroll-area.js +1 -0
- package/dist/styles/classes/scroll-area.js.map +1 -0
- package/dist/styles/classes/select.d.ts +1 -1
- package/dist/styles/classes/select.d.ts.map +1 -1
- package/dist/styles/classes/select.js +2 -1
- package/dist/styles/classes/select.js.map +1 -0
- package/dist/styles/classes/signature-pad.d.ts +1 -1
- package/dist/styles/classes/signature-pad.d.ts.map +1 -1
- package/dist/styles/classes/signature-pad.js +1 -0
- package/dist/styles/classes/signature-pad.js.map +1 -0
- package/dist/styles/classes/slider.d.ts +1 -1
- package/dist/styles/classes/slider.d.ts.map +1 -1
- package/dist/styles/classes/slider.js +2 -1
- package/dist/styles/classes/slider.js.map +1 -0
- package/dist/styles/classes/splitter.d.ts +1 -1
- package/dist/styles/classes/splitter.d.ts.map +1 -1
- package/dist/styles/classes/splitter.js +2 -1
- package/dist/styles/classes/splitter.js.map +1 -0
- package/dist/styles/classes/steps.d.ts +1 -1
- package/dist/styles/classes/steps.d.ts.map +1 -1
- package/dist/styles/classes/steps.js +2 -1
- package/dist/styles/classes/steps.js.map +1 -0
- package/dist/styles/classes/switch.d.ts +1 -1
- package/dist/styles/classes/switch.d.ts.map +1 -1
- package/dist/styles/classes/switch.js +2 -1
- package/dist/styles/classes/switch.js.map +1 -0
- package/dist/styles/classes/tabs.d.ts +1 -1
- package/dist/styles/classes/tabs.d.ts.map +1 -1
- package/dist/styles/classes/tabs.js +2 -1
- package/dist/styles/classes/tabs.js.map +1 -0
- package/dist/styles/classes/tags-input.d.ts +1 -1
- package/dist/styles/classes/tags-input.d.ts.map +1 -1
- package/dist/styles/classes/tags-input.js +2 -1
- package/dist/styles/classes/tags-input.js.map +1 -0
- package/dist/styles/classes/time-picker.d.ts +1 -1
- package/dist/styles/classes/time-picker.d.ts.map +1 -1
- package/dist/styles/classes/time-picker.js +2 -1
- package/dist/styles/classes/time-picker.js.map +1 -0
- package/dist/styles/classes/timer.d.ts +1 -1
- package/dist/styles/classes/timer.d.ts.map +1 -1
- package/dist/styles/classes/timer.js +2 -1
- package/dist/styles/classes/timer.js.map +1 -0
- package/dist/styles/classes/toast.d.ts +1 -1
- package/dist/styles/classes/toast.d.ts.map +1 -1
- package/dist/styles/classes/toast.js +2 -1
- package/dist/styles/classes/toast.js.map +1 -0
- package/dist/styles/classes/toc.d.ts +1 -1
- package/dist/styles/classes/toc.d.ts.map +1 -1
- package/dist/styles/classes/toc.js +2 -1
- package/dist/styles/classes/toc.js.map +1 -0
- package/dist/styles/classes/toggle-group.d.ts +1 -1
- package/dist/styles/classes/toggle-group.d.ts.map +1 -1
- package/dist/styles/classes/toggle-group.js +2 -1
- package/dist/styles/classes/toggle-group.js.map +1 -0
- package/dist/styles/classes/toggle.d.ts +1 -1
- package/dist/styles/classes/toggle.d.ts.map +1 -1
- package/dist/styles/classes/toggle.js +2 -1
- package/dist/styles/classes/toggle.js.map +1 -0
- package/dist/styles/classes/tooltip.d.ts +1 -1
- package/dist/styles/classes/tooltip.d.ts.map +1 -1
- package/dist/styles/classes/tooltip.js +2 -1
- package/dist/styles/classes/tooltip.js.map +1 -0
- package/dist/styles/classes/tour.d.ts +1 -1
- package/dist/styles/classes/tour.d.ts.map +1 -1
- package/dist/styles/classes/tour.js +1 -0
- package/dist/styles/classes/tour.js.map +1 -0
- package/dist/styles/classes/tree-view.d.ts +1 -1
- package/dist/styles/classes/tree-view.d.ts.map +1 -1
- package/dist/styles/classes/tree-view.js +2 -1
- package/dist/styles/classes/tree-view.js.map +1 -0
- package/dist/styles/index.d.ts +4 -4
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +3 -2
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/theme.js +1 -0
- package/dist/styles/theme.js.map +1 -0
- package/dist/styles/utils/cx.js +1 -0
- package/dist/styles/utils/cx.js.map +1 -0
- package/dist/styles/utils/index.d.ts +2 -2
- package/dist/styles/utils/index.d.ts.map +1 -1
- package/dist/styles/utils/index.js +3 -2
- package/dist/styles/utils/index.js.map +1 -0
- package/dist/styles/utils/variants.js +2 -1
- package/dist/styles/utils/variants.js.map +1 -0
- package/dist/utils/anatomy.js +1 -0
- package/dist/utils/anatomy.js.map +1 -0
- package/dist/utils/aria-hidden.js +1 -0
- package/dist/utils/aria-hidden.js.map +1 -0
- package/dist/utils/direction.js +1 -0
- package/dist/utils/direction.js.map +1 -0
- package/dist/utils/dismissable.d.ts +1 -1
- package/dist/utils/dismissable.d.ts.map +1 -1
- package/dist/utils/dismissable.js +2 -1
- package/dist/utils/dismissable.js.map +1 -0
- package/dist/utils/dom.js +1 -0
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/floating.js +1 -0
- package/dist/utils/floating.js.map +1 -0
- package/dist/utils/focus-trap.d.ts +1 -1
- package/dist/utils/focus-trap.d.ts.map +1 -1
- package/dist/utils/focus-trap.js +3 -2
- package/dist/utils/focus-trap.js.map +1 -0
- package/dist/utils/focusables.js +1 -0
- package/dist/utils/focusables.js.map +1 -0
- package/dist/utils/index.d.ts +18 -18
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +12 -11
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/interact-outside.d.ts +1 -1
- package/dist/utils/interact-outside.d.ts.map +1 -1
- package/dist/utils/interact-outside.js +2 -1
- package/dist/utils/interact-outside.js.map +1 -0
- package/dist/utils/remove-scroll.js +1 -0
- package/dist/utils/remove-scroll.js.map +1 -0
- package/dist/utils/tree-collection.js +1 -0
- package/dist/utils/tree-collection.js.map +1 -0
- package/dist/utils/typeahead.js +1 -0
- package/dist/utils/typeahead.js.map +1 -0
- package/package.json +12 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-view.js","sourceRoot":"","sources":["../../src/components/tree-view.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Send } from '@llui/dom'\nimport { flipArrow } from '../utils/direction.js'\nimport {\n typeaheadAccumulate,\n typeaheadMatch,\n isTypeaheadKey,\n TYPEAHEAD_TIMEOUT_MS,\n} from '../utils/typeahead.js'\n\n/**\n * Tree view — hierarchical list with expand/collapse. Items are identified\n * by opaque string ids; the tree structure (children relationship) is\n * provided externally. The machine tracks which branches are expanded,\n * which items are selected, and which item has keyboard focus.\n */\n\nexport type SelectionMode = 'single' | 'multiple' | 'checkbox'\n\nexport interface TreeViewState {\n /** Ids of expanded branches. */\n expanded: string[]\n /** Ids of selected items. */\n selected: string[]\n /** Ids of checked items (checkbox selection mode). */\n checked: string[]\n /** Ids known to be in the indeterminate tri-state (some-but-not-all\n * descendants checked). Consumer-computed via propagation logic or the\n * `toggleChecked` message's `descendantIds` parameter. */\n indeterminate: string[]\n /** Currently focused item id. */\n focused: string | null\n selectionMode: SelectionMode\n /** Ordered list of currently-visible item ids (updated by consumer via setVisible). */\n visibleItems: string[]\n /** Parallel array of visible-item labels for typeahead. If empty, typeahead\n * matches against ids directly. Updated alongside visibleItems via the\n * optional `labels` field on `setVisibleItems`. */\n visibleLabels: string[]\n disabled: boolean\n /** Typeahead accumulator buffer. */\n typeahead: string\n typeaheadExpiresAt: number\n /** Id of item currently being renamed, or null. */\n renaming: string | null\n /** Draft value during rename. */\n renameDraft: string\n /**\n * Ids of branches currently loading their children asynchronously. Item\n * parts expose `aria-busy` while loading so assistive tech announces\n * the in-progress state. The consumer kicks off the fetch externally\n * (in a handler that intercepts `expand`, or via an effect), dispatches\n * `loadingStart` immediately, fetches the children, then dispatches\n * `setVisibleItems` with the new tree contents followed by `loadingEnd`.\n */\n loading: string[]\n}\n\nexport type TreeViewMsg =\n | { type: 'toggleBranch'; id: string }\n | { type: 'expand'; id: string }\n | { type: 'collapse'; id: string }\n | { type: 'expandAll'; ids: string[] }\n | { type: 'collapseAll' }\n | { type: 'select'; id: string; additive?: boolean }\n | { type: 'setSelected'; ids: string[] }\n | { type: 'focus'; id: string | null }\n | { type: 'focusNext' }\n | { type: 'focusPrev' }\n | { type: 'focusFirst' }\n | { type: 'focusLast' }\n | { type: 'setVisibleItems'; ids: string[]; labels?: string[] }\n | { type: 'typeahead'; char: string; now: number }\n | { type: 'arrowLeftFrom'; id: string; isBranch: boolean; parentId: string | null }\n | { type: 'arrowRightFrom'; id: string }\n | { type: 'toggleChecked'; id: string; descendantIds?: string[] }\n | { type: 'setChecked'; ids: string[] }\n | { type: 'setIndeterminate'; ids: string[] }\n | { type: 'renameStart'; id: string; initial: string }\n | { type: 'renameChange'; value: string }\n | { type: 'renameCommit' }\n | { type: 'renameCancel' }\n | { type: 'loadingStart'; id: string }\n | { type: 'loadingEnd'; id: string }\n\nexport interface TreeViewInit {\n expanded?: string[]\n selected?: string[]\n checked?: string[]\n indeterminate?: string[]\n selectionMode?: SelectionMode\n disabled?: boolean\n visibleItems?: string[]\n visibleLabels?: string[]\n}\n\nexport function init(opts: TreeViewInit = {}): TreeViewState {\n return {\n expanded: opts.expanded ?? [],\n selected: opts.selected ?? [],\n checked: opts.checked ?? [],\n indeterminate: opts.indeterminate ?? [],\n focused: null,\n selectionMode: opts.selectionMode ?? 'single',\n visibleItems: opts.visibleItems ?? [],\n visibleLabels: opts.visibleLabels ?? [],\n disabled: opts.disabled ?? false,\n typeahead: '',\n typeaheadExpiresAt: 0,\n renaming: null,\n renameDraft: '',\n loading: [],\n }\n}\n\nexport function update(state: TreeViewState, msg: TreeViewMsg): [TreeViewState, never[]] {\n if (state.disabled && msg.type !== 'setVisibleItems') return [state, []]\n switch (msg.type) {\n case 'toggleBranch': {\n const expanded = state.expanded.includes(msg.id)\n ? state.expanded.filter((id) => id !== msg.id)\n : [...state.expanded, msg.id]\n return [{ ...state, expanded }, []]\n }\n case 'expand':\n if (state.expanded.includes(msg.id)) return [state, []]\n return [{ ...state, expanded: [...state.expanded, msg.id] }, []]\n case 'collapse':\n if (!state.expanded.includes(msg.id)) return [state, []]\n return [{ ...state, expanded: state.expanded.filter((id) => id !== msg.id) }, []]\n case 'expandAll':\n return [{ ...state, expanded: msg.ids }, []]\n case 'collapseAll':\n return [{ ...state, expanded: [] }, []]\n case 'select': {\n if (state.selectionMode === 'single') {\n return [{ ...state, selected: [msg.id] }, []]\n }\n if (msg.additive) {\n const isSelected = state.selected.includes(msg.id)\n const selected = isSelected\n ? state.selected.filter((id) => id !== msg.id)\n : [...state.selected, msg.id]\n return [{ ...state, selected }, []]\n }\n return [{ ...state, selected: [msg.id] }, []]\n }\n case 'setSelected':\n return [{ ...state, selected: msg.ids }, []]\n case 'focus':\n return [{ ...state, focused: msg.id }, []]\n case 'focusNext': {\n if (state.visibleItems.length === 0) return [state, []]\n const idx = state.focused ? state.visibleItems.indexOf(state.focused) : -1\n const next = state.visibleItems[Math.min(idx + 1, state.visibleItems.length - 1)]\n return [{ ...state, focused: next ?? state.focused }, []]\n }\n case 'focusPrev': {\n if (state.visibleItems.length === 0) return [state, []]\n const idx = state.focused\n ? state.visibleItems.indexOf(state.focused)\n : state.visibleItems.length\n const prev = state.visibleItems[Math.max(0, idx - 1)]\n return [{ ...state, focused: prev ?? state.focused }, []]\n }\n case 'focusFirst':\n return [{ ...state, focused: state.visibleItems[0] ?? null }, []]\n case 'focusLast':\n return [{ ...state, focused: state.visibleItems[state.visibleItems.length - 1] ?? null }, []]\n case 'setVisibleItems':\n return [\n { ...state, visibleItems: msg.ids, visibleLabels: msg.labels ?? state.visibleLabels },\n [],\n ]\n case 'arrowLeftFrom': {\n // If this is an expanded branch, collapse it and stay focused.\n if (msg.isBranch && state.expanded.includes(msg.id)) {\n return [{ ...state, expanded: state.expanded.filter((id) => id !== msg.id) }, []]\n }\n // Otherwise, move focus to parent if provided (WAI-ARIA).\n if (msg.parentId !== null) {\n return [{ ...state, focused: msg.parentId }, []]\n }\n return [state, []]\n }\n case 'arrowRightFrom': {\n // If this branch is closed, expand it; otherwise focus the first\n // visible child (the next item in depth-first visibleItems order).\n if (!state.expanded.includes(msg.id)) {\n return [{ ...state, expanded: [...state.expanded, msg.id] }, []]\n }\n const idx = state.visibleItems.indexOf(msg.id)\n if (idx === -1 || idx === state.visibleItems.length - 1) return [state, []]\n const next = state.visibleItems[idx + 1]!\n return [{ ...state, focused: next }, []]\n }\n case 'typeahead': {\n if (state.visibleItems.length === 0) return [state, []]\n const acc = typeaheadAccumulate(state.typeahead, msg.char, msg.now, state.typeaheadExpiresAt)\n // Fall back to matching ids if labels weren't provided.\n const labels = state.visibleLabels.length > 0 ? state.visibleLabels : state.visibleItems\n const disabledMask = new Array<boolean>(labels.length).fill(false)\n const startIdx = state.focused ? state.visibleItems.indexOf(state.focused) : null\n const matchIdx = typeaheadMatch(labels, disabledMask, acc, startIdx)\n const focused =\n matchIdx === null ? state.focused : (state.visibleItems[matchIdx] ?? state.focused)\n return [\n { ...state, typeahead: acc, typeaheadExpiresAt: msg.now + TYPEAHEAD_TIMEOUT_MS, focused },\n [],\n ]\n }\n case 'toggleChecked': {\n // Toggle the item's checked state, propagating to descendants if any.\n // The caller passes `descendantIds` for branches; for leaves, pass\n // an empty list or omit. Indeterminate flag is cleared on the id\n // (a deliberate toggle is a definite state). The caller is\n // responsible for recomputing `indeterminate` on ancestors via\n // setIndeterminate after this message.\n const desc = msg.descendantIds ?? []\n const all = [msg.id, ...desc]\n const isChecked = state.checked.includes(msg.id)\n const next = isChecked\n ? state.checked.filter((id) => !all.includes(id))\n : Array.from(new Set([...state.checked, ...all]))\n const indeterminate = state.indeterminate.filter((id) => !all.includes(id))\n return [{ ...state, checked: next, indeterminate }, []]\n }\n case 'setChecked':\n return [{ ...state, checked: msg.ids }, []]\n case 'setIndeterminate':\n return [{ ...state, indeterminate: msg.ids }, []]\n case 'renameStart':\n return [{ ...state, renaming: msg.id, renameDraft: msg.initial }, []]\n case 'renameChange':\n return [{ ...state, renameDraft: msg.value }, []]\n case 'renameCommit':\n case 'renameCancel':\n return [{ ...state, renaming: null, renameDraft: '' }, []]\n case 'loadingStart':\n if (state.loading.includes(msg.id)) return [state, []]\n return [{ ...state, loading: [...state.loading, msg.id] }, []]\n case 'loadingEnd':\n return [{ ...state, loading: state.loading.filter((id) => id !== msg.id) }, []]\n }\n}\n\nexport function isExpanded(state: TreeViewState, id: string): boolean {\n return state.expanded.includes(id)\n}\n\nexport function isSelected(state: TreeViewState, id: string): boolean {\n return state.selected.includes(id)\n}\n\nexport function isChecked(state: TreeViewState, id: string): boolean {\n return state.checked.includes(id)\n}\n\nexport function isIndeterminate(state: TreeViewState, id: string): boolean {\n return state.indeterminate.includes(id)\n}\n\nexport function isRenaming(state: TreeViewState, id: string): boolean {\n return state.renaming === id\n}\n\nexport function isLoading(state: TreeViewState, id: string): boolean {\n return state.loading.includes(id)\n}\n\nexport interface TreeItemParts<S> {\n item: {\n role: 'treeitem'\n id: string\n 'aria-expanded': (s: S) => boolean | undefined\n 'aria-selected': (s: S) => boolean | undefined\n 'aria-level': number\n 'aria-busy': (s: S) => 'true' | undefined\n tabIndex: (s: S) => number\n 'data-scope': 'tree-view'\n 'data-part': 'item'\n 'data-value': string\n 'data-depth': string\n 'data-selected': (s: S) => '' | undefined\n 'data-focused': (s: S) => '' | undefined\n 'data-loading': (s: S) => '' | undefined\n onClick: (e: MouseEvent) => void\n onKeyDown: (e: KeyboardEvent) => void\n onFocus: (e: FocusEvent) => void\n }\n /** For branch items — expand/collapse disclosure trigger. */\n branchTrigger: {\n 'data-scope': 'tree-view'\n 'data-part': 'branch-trigger'\n 'data-state': (s: S) => 'open' | 'closed'\n onClick: (e: MouseEvent) => void\n }\n /**\n * Checkbox element (only meaningful when `selectionMode === 'checkbox'`).\n * `aria-checked` is the tri-state string ('true' | 'false' | 'mixed').\n * The consumer must render a checkbox input or a visual proxy and\n * dispatch `toggleChecked` via the `onClick` binding. For branches,\n * pass the branch's descendant ids via `descendantIds` on the message\n * so children are propagated in a single reducer step.\n */\n checkbox: {\n role: 'checkbox'\n 'aria-checked': (s: S) => 'true' | 'false' | 'mixed'\n 'data-scope': 'tree-view'\n 'data-part': 'checkbox'\n 'data-state': (s: S) => 'checked' | 'unchecked' | 'indeterminate'\n }\n}\n\nexport interface TreeViewParts<S> {\n root: {\n role: 'tree'\n 'aria-owns': (s: S) => string | undefined\n 'aria-multiselectable': (s: S) => 'true' | undefined\n 'aria-disabled': (s: S) => 'true' | undefined\n 'data-scope': 'tree-view'\n 'data-part': 'root'\n 'data-disabled': (s: S) => '' | undefined\n }\n item: (id: string, depth: number, isBranch: boolean, parentId?: string | null) => TreeItemParts<S>\n}\n\nexport interface ConnectOptions {\n id: string\n /**\n * If true, clicking anywhere on a branch item (not just the disclosure\n * caret) toggles its expanded state. Default: false — clicks on the row\n * select it without toggling, consistent with most file-tree UIs.\n */\n expandOnClick?: boolean\n}\n\nexport function connect<S>(\n get: (s: S) => TreeViewState,\n send: Send<TreeViewMsg>,\n opts: ConnectOptions,\n): TreeViewParts<S> {\n const itemId = (v: string): string => `${opts.id}:item:${v}`\n const expandOnClick = opts.expandOnClick === true\n\n return {\n root: {\n role: 'tree',\n 'aria-owns': (s) => {\n const items = get(s).visibleItems\n if (items.length === 0) return undefined\n return items.map((id) => itemId(id)).join(' ')\n },\n 'aria-multiselectable': (s) => (get(s).selectionMode === 'multiple' ? 'true' : undefined),\n 'aria-disabled': (s) => (get(s).disabled ? 'true' : undefined),\n 'data-scope': 'tree-view',\n 'data-part': 'root',\n 'data-disabled': (s) => (get(s).disabled ? '' : undefined),\n },\n item: (\n id: string,\n depth: number,\n isBranch: boolean,\n parentId: string | null = null,\n ): TreeItemParts<S> => ({\n item: {\n role: 'treeitem',\n id: itemId(id),\n 'aria-expanded': (s) => (isBranch ? isExpanded(get(s), id) : undefined),\n 'aria-selected': (s) =>\n get(s).selectionMode === 'single' ? isSelected(get(s), id) : undefined,\n 'aria-level': depth + 1,\n 'aria-busy': (s) => (isLoading(get(s), id) ? 'true' : undefined),\n tabIndex: (s) => (get(s).focused === id ? 0 : -1),\n 'data-scope': 'tree-view',\n 'data-part': 'item',\n 'data-value': id,\n 'data-depth': String(depth),\n 'data-selected': (s) => (isSelected(get(s), id) ? '' : undefined),\n 'data-focused': (s) => (get(s).focused === id ? '' : undefined),\n 'data-loading': (s) => (isLoading(get(s), id) ? '' : undefined),\n onClick: (e) => {\n send({ type: 'select', id, additive: e.metaKey || e.ctrlKey })\n if (expandOnClick && isBranch) send({ type: 'toggleBranch', id })\n },\n onFocus: () => send({ type: 'focus', id }),\n onKeyDown: (e) => {\n const key = flipArrow(e.key, e.currentTarget as Element)\n switch (key) {\n case 'ArrowDown':\n e.preventDefault()\n send({ type: 'focusNext' })\n return\n case 'ArrowUp':\n e.preventDefault()\n send({ type: 'focusPrev' })\n return\n case 'ArrowRight':\n // WAI-ARIA: closed branch → expand (stay); open branch →\n // focus first child. Leaf → nothing. The reducer decides\n // based on current expanded state.\n if (!isBranch) return\n e.preventDefault()\n send({ type: 'arrowRightFrom', id })\n return\n case 'ArrowLeft':\n // WAI-ARIA: open branch → collapse (stay); closed branch or\n // leaf → focus parent (if known). Root end-nodes → nothing.\n e.preventDefault()\n send({ type: 'arrowLeftFrom', id, isBranch, parentId })\n return\n case 'Home':\n e.preventDefault()\n send({ type: 'focusFirst' })\n return\n case 'End':\n e.preventDefault()\n send({ type: 'focusLast' })\n return\n case 'Enter':\n case ' ':\n e.preventDefault()\n send({ type: 'select', id, additive: e.metaKey || e.ctrlKey })\n if (isBranch) send({ type: 'toggleBranch', id })\n return\n default:\n if (isTypeaheadKey(e)) {\n send({ type: 'typeahead', char: e.key, now: Date.now() })\n }\n }\n },\n },\n branchTrigger: {\n 'data-scope': 'tree-view',\n 'data-part': 'branch-trigger',\n 'data-state': (s) => (isExpanded(get(s), id) ? 'open' : 'closed'),\n onClick: (e) => {\n e.stopPropagation()\n send({ type: 'toggleBranch', id })\n },\n },\n checkbox: {\n role: 'checkbox',\n 'aria-checked': (s) => {\n if (isIndeterminate(get(s), id)) return 'mixed'\n return isChecked(get(s), id) ? 'true' : 'false'\n },\n 'data-scope': 'tree-view',\n 'data-part': 'checkbox',\n 'data-state': (s) => {\n if (isIndeterminate(get(s), id)) return 'indeterminate'\n return isChecked(get(s), id) ? 'checked' : 'unchecked'\n },\n },\n }),\n }\n}\n\nexport const treeView = {\n init,\n update,\n connect,\n isExpanded,\n isSelected,\n isChecked,\n isIndeterminate,\n isRenaming,\n isLoading,\n}\n"]}
|
package/dist/format/cache.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/format/cache.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAA;AACxC,MAAM,SAAS,GAAG,EAAE,CAAA;AAEpB,MAAM,UAAU,MAAM,CAAI,GAAW,EAAE,MAAe;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,QAAQ;QAAE,OAAO,QAAa,CAAA;IAClC,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAA;QACxC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;IACzB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACxB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,MAAc,EAAE,IAA6B;IACpF,IAAI,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IAC1C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC","sourcesContent":["/** LRU cache for Intl formatter instances (expensive to construct). */\nconst cache = new Map<string, unknown>()\nconst MAX_CACHE = 64\n\nexport function cached<T>(key: string, create: () => T): T {\n const existing = cache.get(key)\n if (existing) return existing as T\n if (cache.size >= MAX_CACHE) {\n const first = cache.keys().next().value!\n cache.delete(first)\n }\n const instance = create()\n cache.set(key, instance)\n return instance\n}\n\nexport function cacheKey(prefix: string, locale: string, opts: Record<string, unknown>): string {\n let key = `${prefix}:${locale}`\n for (const k of Object.keys(opts).sort()) {\n const v = opts[k]\n if (v !== undefined) key += `:${k}=${v}`\n }\n return key\n}\n"]}
|
package/dist/format/defaults.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/format/defaults.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;AACrE,CAAC","sourcesContent":["/** Default locale: navigator.language in browsers, 'en' in SSR/tests. */\nexport function defaultLocale(): string {\n return typeof navigator !== 'undefined' ? navigator.language : 'en'\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cached, cacheKey } from './cache';
|
|
2
|
-
import { defaultLocale } from './defaults';
|
|
1
|
+
import { cached, cacheKey } from './cache.js';
|
|
2
|
+
import { defaultLocale } from './defaults.js';
|
|
3
3
|
function toDate(value) {
|
|
4
4
|
if (value instanceof Date)
|
|
5
5
|
return value;
|
|
@@ -46,3 +46,4 @@ export function formatDateTime(value, opts = {}) {
|
|
|
46
46
|
});
|
|
47
47
|
return fmt('dt', locale, intlOpts).format(toDate(value));
|
|
48
48
|
}
|
|
49
|
+
//# sourceMappingURL=format-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-date.js","sourceRoot":"","sources":["../../src/format/format-date.ts"],"names":[],"mappings":"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","sourcesContent":["import { cached, cacheKey } from './cache.js'\nimport { defaultLocale } from './defaults.js'\n\nexport type DateValue = Date | string | number\n\nfunction toDate(value: DateValue): Date {\n if (value instanceof Date) return value\n if (typeof value === 'string') return new Date(value)\n return new Date(value)\n}\n\ntype DateStyle = 'full' | 'long' | 'medium' | 'short'\n\nexport interface FormatDateOptions {\n locale?: string\n dateStyle?: DateStyle\n calendar?: string\n numberingSystem?: string\n timeZone?: string\n weekday?: 'long' | 'short' | 'narrow'\n year?: 'numeric' | '2-digit'\n month?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow'\n day?: 'numeric' | '2-digit'\n era?: 'long' | 'short' | 'narrow'\n}\n\nexport interface FormatTimeOptions {\n locale?: string\n timeStyle?: DateStyle\n timeZone?: string\n hour12?: boolean\n hourCycle?: 'h11' | 'h12' | 'h23' | 'h24'\n hour?: 'numeric' | '2-digit'\n minute?: 'numeric' | '2-digit'\n second?: 'numeric' | '2-digit'\n fractionalSecondDigits?: 0 | 1 | 2 | 3\n timeZoneName?: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric'\n dayPeriod?: 'narrow' | 'short' | 'long'\n}\n\nexport interface FormatDateTimeOptions {\n locale?: string\n dateStyle?: DateStyle\n timeStyle?: DateStyle\n timeZone?: string\n calendar?: string\n hour12?: boolean\n hourCycle?: 'h11' | 'h12' | 'h23' | 'h24'\n}\n\nfunction buildIntlOpts(opts: object): Intl.DateTimeFormatOptions {\n const result: Intl.DateTimeFormatOptions = {}\n for (const [k, v] of Object.entries(opts)) {\n if (v !== undefined && k !== 'locale') {\n ;(result as Record<string, unknown>)[k] = v\n }\n }\n return result\n}\n\nfunction fmt(\n prefix: string,\n locale: string,\n intlOpts: Intl.DateTimeFormatOptions,\n): Intl.DateTimeFormat {\n const key = cacheKey(prefix, locale, intlOpts as unknown as Record<string, unknown>)\n return cached(key, () => new Intl.DateTimeFormat(locale, intlOpts))\n}\n\nexport function formatDate(value: DateValue, opts: FormatDateOptions = {}): string {\n const locale = opts.locale ?? defaultLocale()\n const hasFineGrained = opts.weekday || opts.year || opts.month || opts.day || opts.era\n const intlOpts = hasFineGrained\n ? buildIntlOpts(opts)\n : buildIntlOpts({ ...opts, dateStyle: opts.dateStyle ?? 'medium' })\n return fmt('date', locale, intlOpts).format(toDate(value))\n}\n\nexport function formatTime(value: DateValue, opts: FormatTimeOptions = {}): string {\n const locale = opts.locale ?? defaultLocale()\n const hasFineGrained =\n opts.hour || opts.minute || opts.second || opts.fractionalSecondDigits || opts.dayPeriod\n const intlOpts = hasFineGrained\n ? buildIntlOpts(opts)\n : buildIntlOpts({ ...opts, timeStyle: opts.timeStyle ?? 'medium' })\n return fmt('time', locale, intlOpts).format(toDate(value))\n}\n\nexport function formatDateTime(value: DateValue, opts: FormatDateTimeOptions = {}): string {\n const locale = opts.locale ?? defaultLocale()\n const intlOpts = buildIntlOpts({\n ...opts,\n dateStyle: opts.dateStyle ?? 'medium',\n timeStyle: opts.timeStyle ?? 'short',\n })\n return fmt('dt', locale, intlOpts).format(toDate(value))\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cached, cacheKey } from './cache';
|
|
2
|
-
import { defaultLocale } from './defaults';
|
|
1
|
+
import { cached, cacheKey } from './cache.js';
|
|
2
|
+
import { defaultLocale } from './defaults.js';
|
|
3
3
|
export function formatDisplayName(value, type, opts = {}) {
|
|
4
4
|
const locale = opts.locale ?? defaultLocale();
|
|
5
5
|
const intlOpts = {
|
|
@@ -19,3 +19,4 @@ export function formatDisplayName(value, type, opts = {}) {
|
|
|
19
19
|
return opts.fallback === 'none' ? undefined : value;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
+
//# sourceMappingURL=format-display-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-display-name.js","sourceRoot":"","sources":["../../src/format/format-display-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAiB7C,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,IAAqB,EACrB,OAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAA6B;QACzC,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;KAClC,CAAA;IACD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9D,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,QAAQ,EAA6B,CAAC,CAAA;IAC9E,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IACrD,CAAC;AACH,CAAC","sourcesContent":["import { cached, cacheKey } from './cache.js'\nimport { defaultLocale } from './defaults.js'\n\nexport type DisplayNameType =\n | 'language'\n | 'region'\n | 'script'\n | 'currency'\n | 'calendar'\n | 'dateTimeField'\n\nexport interface FormatDisplayNameOptions {\n locale?: string\n style?: 'long' | 'short' | 'narrow'\n languageDisplay?: 'dialect' | 'standard'\n fallback?: 'code' | 'none'\n}\n\nexport function formatDisplayName(\n value: string,\n type: DisplayNameType,\n opts: FormatDisplayNameOptions = {},\n): string | undefined {\n const locale = opts.locale ?? defaultLocale()\n const intlOpts: Intl.DisplayNamesOptions = {\n type,\n style: opts.style ?? 'long',\n fallback: opts.fallback ?? 'code',\n }\n if (opts.languageDisplay !== undefined && type === 'language') {\n intlOpts.languageDisplay = opts.languageDisplay\n }\n const key = cacheKey('dn', locale, { ...intlOpts } as Record<string, unknown>)\n const dn = cached(key, () => new Intl.DisplayNames(locale, intlOpts))\n try {\n return dn.of(value)\n } catch {\n return opts.fallback === 'none' ? undefined : value\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cached, cacheKey } from './cache';
|
|
2
|
-
import { defaultLocale } from './defaults';
|
|
1
|
+
import { cached, cacheKey } from './cache.js';
|
|
2
|
+
import { defaultLocale } from './defaults.js';
|
|
3
3
|
const DEFAULT_UNITS = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
4
4
|
export function formatFileSize(value, opts = {}) {
|
|
5
5
|
const locale = opts.locale ?? defaultLocale();
|
|
@@ -25,3 +25,4 @@ export function formatFileSize(value, opts = {}) {
|
|
|
25
25
|
: formatted;
|
|
26
26
|
return `${display} ${units[unitIndex]}`;
|
|
27
27
|
}
|
|
28
|
+
//# sourceMappingURL=format-file-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-file-size.js","sourceRoot":"","sources":["../../src/format/format-file-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAQnD,MAAM,UAAU,cAAc,CAAC,KAAsB,EAAE,OAA8B,EAAE;IACrF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,aAAa,CAAA;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAA;IAExC,IAAI,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3D,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,OAAO,GAAG,IAAI,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,GAAG,IAAI,IAAI,CAAA;QACX,SAAS,EAAE,CAAA;IACb,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACrD,MAAM,QAAQ,GAA6B;QACzC,qBAAqB,EAAE,cAAc;QACrC,qBAAqB,EAAE,cAAc;KACtC,CAAA;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAmC,CAAC,CAAA;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEjC,yDAAyD;IACzD,MAAM,OAAO,GACX,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAA;AACzC,CAAC","sourcesContent":["import { cached, cacheKey } from './cache.js'\nimport { defaultLocale } from './defaults.js'\n\nconst DEFAULT_UNITS = ['B', 'KB', 'MB', 'GB', 'TB']\n\nexport interface FormatFileSizeOptions {\n locale?: string\n units?: string[]\n decimalPlaces?: number\n}\n\nexport function formatFileSize(value: number | bigint, opts: FormatFileSizeOptions = {}): string {\n const locale = opts.locale ?? defaultLocale()\n const units = opts.units ?? DEFAULT_UNITS\n const decimals = opts.decimalPlaces ?? 1\n\n let num = typeof value === 'bigint' ? Number(value) : value\n let unitIndex = 0\n while (num >= 1024 && unitIndex < units.length - 1) {\n num /= 1024\n unitIndex++\n }\n\n const fractionDigits = unitIndex === 0 ? 0 : decimals\n const intlOpts: Intl.NumberFormatOptions = {\n minimumFractionDigits: fractionDigits,\n maximumFractionDigits: fractionDigits,\n }\n const key = cacheKey('fs', locale, intlOpts as Record<string, unknown>)\n const fmt = cached(key, () => new Intl.NumberFormat(locale, intlOpts))\n const formatted = fmt.format(num)\n\n // Strip trailing zeros when using default decimal places\n const display =\n opts.decimalPlaces === undefined && unitIndex > 0\n ? formatted.replace(/([.,]\\d*?)0+$/, '$1').replace(/[.,]$/, '')\n : formatted\n\n return `${display} ${units[unitIndex]}`\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cached, cacheKey } from './cache';
|
|
2
|
-
import { defaultLocale } from './defaults';
|
|
1
|
+
import { cached, cacheKey } from './cache.js';
|
|
2
|
+
import { defaultLocale } from './defaults.js';
|
|
3
3
|
export function formatList(value, opts = {}) {
|
|
4
4
|
const locale = opts.locale ?? defaultLocale();
|
|
5
5
|
const intlOpts = {
|
|
@@ -10,3 +10,4 @@ export function formatList(value, opts = {}) {
|
|
|
10
10
|
const fmt = cached(key, () => new Intl.ListFormat(locale, intlOpts));
|
|
11
11
|
return fmt.format(value);
|
|
12
12
|
}
|
|
13
|
+
//# sourceMappingURL=format-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-list.js","sourceRoot":"","sources":["../../src/format/format-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAQ7C,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,OAA0B,EAAE;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAA2B;QACvC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,aAAa;QAChC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;KAC5B,CAAA;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAmC,CAAC,CAAA;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACpE,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC","sourcesContent":["import { cached, cacheKey } from './cache.js'\nimport { defaultLocale } from './defaults.js'\n\nexport interface FormatListOptions {\n locale?: string\n type?: 'conjunction' | 'disjunction' | 'unit'\n style?: 'long' | 'short' | 'narrow'\n}\n\nexport function formatList(value: string[], opts: FormatListOptions = {}): string {\n const locale = opts.locale ?? defaultLocale()\n const intlOpts: Intl.ListFormatOptions = {\n type: opts.type ?? 'conjunction',\n style: opts.style ?? 'long',\n }\n const key = cacheKey('list', locale, intlOpts as Record<string, unknown>)\n const fmt = cached(key, () => new Intl.ListFormat(locale, intlOpts))\n return fmt.format(value)\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cached, cacheKey } from './cache';
|
|
2
|
-
import { defaultLocale } from './defaults';
|
|
1
|
+
import { cached, cacheKey } from './cache.js';
|
|
2
|
+
import { defaultLocale } from './defaults.js';
|
|
3
3
|
export function formatNumber(value, opts = {}) {
|
|
4
4
|
const locale = opts.locale ?? defaultLocale();
|
|
5
5
|
const intlOpts = {};
|
|
@@ -35,3 +35,4 @@ export function formatNumber(value, opts = {}) {
|
|
|
35
35
|
const fmt = cached(key, () => new Intl.NumberFormat(locale, intlOpts));
|
|
36
36
|
return fmt.format(value);
|
|
37
37
|
}
|
|
38
|
+
//# sourceMappingURL=format-number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-number.js","sourceRoot":"","sources":["../../src/format/format-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAoB7C,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,OAA4B,EAAE;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAA6B,EAAE,CAAA;IAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAClE,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;QAAE,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;IACvF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAClE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;QAAE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IACpF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC3E,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC3E,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS;QACzC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC3D,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS;QAC1C,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAA;IAC7D,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS;QAC1C,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAA;IAC7D,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS;QAC7C,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAA;IACnE,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS;QAC7C,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAA;IAEnE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAmC,CAAC,CAAA;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtE,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC","sourcesContent":["import { cached, cacheKey } from './cache.js'\nimport { defaultLocale } from './defaults.js'\n\nexport interface FormatNumberOptions {\n locale?: string\n style?: 'decimal' | 'currency' | 'percent' | 'unit'\n currency?: string\n currencyDisplay?: 'symbol' | 'narrowSymbol' | 'code' | 'name'\n signDisplay?: 'auto' | 'never' | 'always' | 'exceptZero'\n notation?: 'standard' | 'scientific' | 'engineering' | 'compact'\n compactDisplay?: 'short' | 'long'\n unit?: string\n unitDisplay?: 'short' | 'long' | 'narrow'\n useGrouping?: boolean\n minimumIntegerDigits?: number\n minimumFractionDigits?: number\n maximumFractionDigits?: number\n minimumSignificantDigits?: number\n maximumSignificantDigits?: number\n}\n\nexport function formatNumber(value: number, opts: FormatNumberOptions = {}): string {\n const locale = opts.locale ?? defaultLocale()\n const intlOpts: Intl.NumberFormatOptions = {}\n if (opts.style !== undefined) intlOpts.style = opts.style\n if (opts.currency !== undefined) intlOpts.currency = opts.currency\n if (opts.currencyDisplay !== undefined) intlOpts.currencyDisplay = opts.currencyDisplay\n if (opts.signDisplay !== undefined) intlOpts.signDisplay = opts.signDisplay\n if (opts.notation !== undefined) intlOpts.notation = opts.notation\n if (opts.compactDisplay !== undefined) intlOpts.compactDisplay = opts.compactDisplay\n if (opts.unit !== undefined) intlOpts.unit = opts.unit\n if (opts.unitDisplay !== undefined) intlOpts.unitDisplay = opts.unitDisplay\n if (opts.useGrouping !== undefined) intlOpts.useGrouping = opts.useGrouping\n if (opts.minimumIntegerDigits !== undefined)\n intlOpts.minimumIntegerDigits = opts.minimumIntegerDigits\n if (opts.minimumFractionDigits !== undefined)\n intlOpts.minimumFractionDigits = opts.minimumFractionDigits\n if (opts.maximumFractionDigits !== undefined)\n intlOpts.maximumFractionDigits = opts.maximumFractionDigits\n if (opts.minimumSignificantDigits !== undefined)\n intlOpts.minimumSignificantDigits = opts.minimumSignificantDigits\n if (opts.maximumSignificantDigits !== undefined)\n intlOpts.maximumSignificantDigits = opts.maximumSignificantDigits\n\n const key = cacheKey('num', locale, intlOpts as Record<string, unknown>)\n const fmt = cached(key, () => new Intl.NumberFormat(locale, intlOpts))\n return fmt.format(value)\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cached, cacheKey } from './cache';
|
|
2
|
-
import { defaultLocale } from './defaults';
|
|
1
|
+
import { cached, cacheKey } from './cache.js';
|
|
2
|
+
import { defaultLocale } from './defaults.js';
|
|
3
3
|
export function resolvePluralCategory(value, opts = {}) {
|
|
4
4
|
const locale = opts.locale ?? defaultLocale();
|
|
5
5
|
const intlOpts = { type: opts.type ?? 'cardinal' };
|
|
@@ -28,3 +28,4 @@ export function formatPlural(value, messages, opts = {}) {
|
|
|
28
28
|
const formatted = new Intl.NumberFormat(locale).format(value);
|
|
29
29
|
return template.replace(/\{count\}/g, formatted);
|
|
30
30
|
}
|
|
31
|
+
//# sourceMappingURL=format-plural.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-plural.js","sourceRoot":"","sources":["../../src/format/format-plural.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAe7C,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,OAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAA;IAC3E,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS;QACzC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC3D,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS;QAC1C,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAA;IAC7D,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS;QAC1C,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAA;IAC7D,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS;QAC7C,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAA;IACnE,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS;QAC7C,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAA;IAEnE,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAmC,CAAC,CAAA;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAmB,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,QAAwB,EACxB,OAA4B,EAAE;IAE9B,6DAA6D;IAC7D,kFAAkF;IAClF,IAAI,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAA;IACpE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAA;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAA;IAC7C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;AAClD,CAAC","sourcesContent":["import { cached, cacheKey } from './cache.js'\nimport { defaultLocale } from './defaults.js'\n\nexport type PluralCategory = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other'\nexport type PluralMessages = Partial<Record<PluralCategory, string>> & { other: string }\n\nexport interface FormatPluralOptions {\n locale?: string\n type?: 'cardinal' | 'ordinal'\n minimumIntegerDigits?: number\n minimumFractionDigits?: number\n maximumFractionDigits?: number\n minimumSignificantDigits?: number\n maximumSignificantDigits?: number\n}\n\nexport function resolvePluralCategory(\n value: number,\n opts: FormatPluralOptions = {},\n): PluralCategory {\n const locale = opts.locale ?? defaultLocale()\n const intlOpts: Intl.PluralRulesOptions = { type: opts.type ?? 'cardinal' }\n if (opts.minimumIntegerDigits !== undefined)\n intlOpts.minimumIntegerDigits = opts.minimumIntegerDigits\n if (opts.minimumFractionDigits !== undefined)\n intlOpts.minimumFractionDigits = opts.minimumFractionDigits\n if (opts.maximumFractionDigits !== undefined)\n intlOpts.maximumFractionDigits = opts.maximumFractionDigits\n if (opts.minimumSignificantDigits !== undefined)\n intlOpts.minimumSignificantDigits = opts.minimumSignificantDigits\n if (opts.maximumSignificantDigits !== undefined)\n intlOpts.maximumSignificantDigits = opts.maximumSignificantDigits\n\n const key = cacheKey('plural', locale, intlOpts as Record<string, unknown>)\n const rules = cached(key, () => new Intl.PluralRules(locale, intlOpts))\n return rules.select(value) as PluralCategory\n}\n\nexport function formatPlural(\n value: number,\n messages: PluralMessages,\n opts: FormatPluralOptions = {},\n): string {\n // Check for explicit zero/one/two messages before CLDR rules\n // (English PluralRules returns 'other' for 0, but apps may want a 'zero' message)\n if (value === 0 && messages.zero !== undefined) return messages.zero\n const category = resolvePluralCategory(value, opts)\n const template = messages[category] ?? messages.other\n const locale = opts.locale ?? defaultLocale()\n const formatted = new Intl.NumberFormat(locale).format(value)\n return template.replace(/\\{count\\}/g, formatted)\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cached, cacheKey } from './cache';
|
|
2
|
-
import { defaultLocale } from './defaults';
|
|
1
|
+
import { cached, cacheKey } from './cache.js';
|
|
2
|
+
import { defaultLocale } from './defaults.js';
|
|
3
3
|
export function formatRelativeTime(value, unit, opts = {}) {
|
|
4
4
|
const locale = opts.locale ?? defaultLocale();
|
|
5
5
|
const intlOpts = {
|
|
@@ -10,3 +10,4 @@ export function formatRelativeTime(value, unit, opts = {}) {
|
|
|
10
10
|
const fmt = cached(key, () => new Intl.RelativeTimeFormat(locale, intlOpts));
|
|
11
11
|
return fmt.format(value, unit);
|
|
12
12
|
}
|
|
13
|
+
//# sourceMappingURL=format-relative-time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-relative-time.js","sourceRoot":"","sources":["../../src/format/format-relative-time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAkB7C,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,IAAsB,EACtB,OAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAAmC;QAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;KAC5B,CAAA;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAmC,CAAC,CAAA;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC5E,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAChC,CAAC","sourcesContent":["import { cached, cacheKey } from './cache.js'\nimport { defaultLocale } from './defaults.js'\n\nexport type RelativeTimeUnit =\n | 'year'\n | 'quarter'\n | 'month'\n | 'week'\n | 'day'\n | 'hour'\n | 'minute'\n | 'second'\n\nexport interface FormatRelativeTimeOptions {\n locale?: string\n numeric?: 'always' | 'auto'\n style?: 'long' | 'short' | 'narrow'\n}\n\nexport function formatRelativeTime(\n value: number,\n unit: RelativeTimeUnit,\n opts: FormatRelativeTimeOptions = {},\n): string {\n const locale = opts.locale ?? defaultLocale()\n const intlOpts: Intl.RelativeTimeFormatOptions = {\n numeric: opts.numeric ?? 'auto',\n style: opts.style ?? 'long',\n }\n const key = cacheKey('rel', locale, intlOpts as Record<string, unknown>)\n const fmt = cached(key, () => new Intl.RelativeTimeFormat(locale, intlOpts))\n return fmt.format(value, unit)\n}\n"]}
|
package/dist/format/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { formatNumber, type FormatNumberOptions } from './format-number';
|
|
2
|
-
export { formatDate, formatTime, formatDateTime, type DateValue, type FormatDateOptions, type FormatTimeOptions, type FormatDateTimeOptions, } from './format-date';
|
|
3
|
-
export { formatRelativeTime, type RelativeTimeUnit, type FormatRelativeTimeOptions, } from './format-relative-time';
|
|
4
|
-
export { formatList, type FormatListOptions } from './format-list';
|
|
5
|
-
export { formatPlural, resolvePluralCategory, type PluralCategory, type PluralMessages, type FormatPluralOptions, } from './format-plural';
|
|
6
|
-
export { formatDisplayName, type DisplayNameType, type FormatDisplayNameOptions, } from './format-display-name';
|
|
7
|
-
export { formatFileSize, type FormatFileSizeOptions } from './format-file-size';
|
|
1
|
+
export { formatNumber, type FormatNumberOptions } from './format-number.js';
|
|
2
|
+
export { formatDate, formatTime, formatDateTime, type DateValue, type FormatDateOptions, type FormatTimeOptions, type FormatDateTimeOptions, } from './format-date.js';
|
|
3
|
+
export { formatRelativeTime, type RelativeTimeUnit, type FormatRelativeTimeOptions, } from './format-relative-time.js';
|
|
4
|
+
export { formatList, type FormatListOptions } from './format-list.js';
|
|
5
|
+
export { formatPlural, resolvePluralCategory, type PluralCategory, type PluralMessages, type FormatPluralOptions, } from './format-plural.js';
|
|
6
|
+
export { formatDisplayName, type DisplayNameType, type FormatDisplayNameOptions, } from './format-display-name.js';
|
|
7
|
+
export { formatFileSize, type FormatFileSizeOptions } from './format-file-size.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA"}
|
package/dist/format/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { formatNumber } from './format-number';
|
|
2
|
-
export { formatDate, formatTime, formatDateTime, } from './format-date';
|
|
3
|
-
export { formatRelativeTime, } from './format-relative-time';
|
|
4
|
-
export { formatList } from './format-list';
|
|
5
|
-
export { formatPlural, resolvePluralCategory, } from './format-plural';
|
|
6
|
-
export { formatDisplayName, } from './format-display-name';
|
|
7
|
-
export { formatFileSize } from './format-file-size';
|
|
1
|
+
export { formatNumber } from './format-number.js';
|
|
2
|
+
export { formatDate, formatTime, formatDateTime, } from './format-date.js';
|
|
3
|
+
export { formatRelativeTime, } from './format-relative-time.js';
|
|
4
|
+
export { formatList } from './format-list.js';
|
|
5
|
+
export { formatPlural, resolvePluralCategory, } from './format-plural.js';
|
|
6
|
+
export { formatDisplayName, } from './format-display-name.js';
|
|
7
|
+
export { formatFileSize } from './format-file-size.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,GAKf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,GAGnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,YAAY,EACZ,qBAAqB,GAItB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,iBAAiB,GAGlB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAA8B,MAAM,uBAAuB,CAAA","sourcesContent":["export { formatNumber, type FormatNumberOptions } from './format-number.js'\nexport {\n formatDate,\n formatTime,\n formatDateTime,\n type DateValue,\n type FormatDateOptions,\n type FormatTimeOptions,\n type FormatDateTimeOptions,\n} from './format-date.js'\nexport {\n formatRelativeTime,\n type RelativeTimeUnit,\n type FormatRelativeTimeOptions,\n} from './format-relative-time.js'\nexport { formatList, type FormatListOptions } from './format-list.js'\nexport {\n formatPlural,\n resolvePluralCategory,\n type PluralCategory,\n type PluralMessages,\n type FormatPluralOptions,\n} from './format-plural.js'\nexport {\n formatDisplayName,\n type DisplayNameType,\n type FormatDisplayNameOptions,\n} from './format-display-name.js'\nexport { formatFileSize, type FormatFileSizeOptions } from './format-file-size.js'\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { en, LocaleContext, type Locale } from './locale';
|
|
2
|
-
export * from './format/index';
|
|
3
|
-
export * from './utils/index';
|
|
4
|
-
export * from './components/index';
|
|
1
|
+
export { en, LocaleContext, type Locale } from './locale.js';
|
|
2
|
+
export * from './format/index.js';
|
|
3
|
+
export * from './utils/index.js';
|
|
4
|
+
export * from './components/index.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAE5D,cAAc,mBAAmB,CAAA;AAEjC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,uBAAuB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Locale
|
|
2
|
-
export { en, LocaleContext } from './locale';
|
|
2
|
+
export { en, LocaleContext } from './locale.js';
|
|
3
3
|
// Format utilities
|
|
4
|
-
export * from './format/index';
|
|
4
|
+
export * from './format/index.js';
|
|
5
5
|
// Utilities — re-exported from @llui/components/utils for convenience.
|
|
6
|
-
export * from './utils/index';
|
|
6
|
+
export * from './utils/index.js';
|
|
7
7
|
// Components
|
|
8
|
-
export * from './components/index';
|
|
8
|
+
export * from './components/index.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,EAAE,EAAE,aAAa,EAAe,MAAM,aAAa,CAAA;AAC5D,mBAAmB;AACnB,cAAc,mBAAmB,CAAA;AACjC,uEAAuE;AACvE,cAAc,kBAAkB,CAAA;AAChC,aAAa;AACb,cAAc,uBAAuB,CAAA","sourcesContent":["// Locale\nexport { en, LocaleContext, type Locale } from './locale.js'\n// Format utilities\nexport * from './format/index.js'\n// Utilities — re-exported from @llui/components/utils for convenience.\nexport * from './utils/index.js'\n// Components\nexport * from './components/index.js'\n"]}
|
package/dist/locale.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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","sourcesContent":["import { createContext } from '@llui/dom'\n\n/** Per-component locale strings. Only components with user-facing text have entries. */\nexport interface Locale {\n carousel: {\n label: string\n indicators: string\n next: string\n prev: string\n slide: (index: number) => string\n goToSlide: (index: number) => string\n }\n cascadeSelect: { clear: string }\n clipboard: { copy: string }\n colorPicker: { hue: string; saturation: string; lightness: string; hex: string }\n combobox: { toggle: string }\n dateInput: { clear: string }\n datePicker: {\n prev: string\n next: string\n monthNames: string[]\n grid: (year: number, month: number) => string\n }\n dialog: { close: string }\n drawer: { close: string }\n fileUpload: { remove: string; clear: string }\n floatingPanel: { label: string; minimize: string; maximize: string; close: string }\n imageCropper: { reset: string }\n navigationMenu: { label: string }\n numberInput: { increment: string; decrement: string }\n pagination: { label: string; prev: string; next: string; page: (n: number) => string }\n passwordInput: { show: string; hide: string }\n pinInput: { input: (index: number) => string }\n popover: { close: string }\n progress: { loading: string }\n qrCode: { label: string; download: string }\n signaturePad: { label: string; clear: string; undo: string }\n steps: { label: string }\n tagsInput: { input: string; remove: string; clear: string }\n timePicker: { label: string; hours: string; minutes: string; period: string }\n timer: { start: string; pause: string; reset: string }\n toast: { region: string; dismiss: string }\n toc: { label: string; expand: string }\n tour: { close: string }\n}\n\nconst MONTH_NAMES = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n]\n\n/** English locale — used as the default when no provider is in the tree. */\nexport const en: Locale = {\n carousel: {\n label: 'Carousel',\n indicators: 'Slide indicators',\n next: 'Next slide',\n prev: 'Previous slide',\n slide: (i) => `Slide ${i + 1}`,\n goToSlide: (i) => `Go to slide ${i + 1}`,\n },\n cascadeSelect: { clear: 'Clear selection' },\n clipboard: { copy: 'Copy to clipboard' },\n colorPicker: { hue: 'Hue', saturation: 'Saturation', lightness: 'Lightness', hex: 'Hex color' },\n combobox: { toggle: 'Toggle options' },\n dateInput: { clear: 'Clear date' },\n datePicker: {\n prev: 'Previous month',\n next: 'Next month',\n monthNames: MONTH_NAMES,\n grid: (y, m) => `${MONTH_NAMES[m - 1]} ${y}`,\n },\n dialog: { close: 'Close' },\n drawer: { close: 'Close' },\n fileUpload: { remove: 'Remove file', clear: 'Clear files' },\n floatingPanel: {\n label: 'Floating panel',\n minimize: 'Minimize',\n maximize: 'Maximize',\n close: 'Close',\n },\n imageCropper: { reset: 'Reset crop' },\n navigationMenu: { label: 'Main navigation' },\n numberInput: { increment: 'Increase value', decrement: 'Decrease value' },\n pagination: {\n label: 'Pagination',\n prev: 'Previous page',\n next: 'Next page',\n page: (n) => `Page ${n}`,\n },\n passwordInput: { show: 'Show password', hide: 'Hide password' },\n pinInput: { input: (i) => `Digit ${i + 1}` },\n popover: { close: 'Close' },\n progress: { loading: 'Loading\\u2026' },\n qrCode: { label: 'QR code', download: 'Download QR code' },\n signaturePad: { label: 'Signature pad', clear: 'Clear signature', undo: 'Undo last stroke' },\n steps: { label: 'Progress' },\n tagsInput: { input: 'Add tag', remove: 'Remove tag', clear: 'Clear all tags' },\n timePicker: { label: 'Time', hours: 'Hours', minutes: 'Minutes', period: 'Toggle AM/PM' },\n timer: { start: 'Start timer', pause: 'Pause timer', reset: 'Reset timer' },\n toast: { region: 'Notifications', dismiss: 'Dismiss notification' },\n toc: { label: 'Table of contents', expand: 'Toggle section' },\n tour: { close: 'Close tour' },\n}\n\n/**\n * Locale context. Components read from this via `useContext(LocaleContext)`.\n * English defaults are provided — apps that don't call `provide()` get English for free.\n */\nexport const LocaleContext = createContext<Locale>(en, 'LocaleContext')\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Send, TransitionOptions } from '@llui/dom';
|
|
2
|
-
import { init as dialogInit, update as dialogUpdate } from '../components/dialog';
|
|
2
|
+
import { init as dialogInit, update as dialogUpdate } from '../components/dialog.js';
|
|
3
3
|
/**
|
|
4
4
|
* ConfirmDialog — a pre-wired dialog pattern for confirmations.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm-dialog.d.ts","sourceRoot":"","sources":["../../src/patterns/confirm-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAExD,OAAO,EACL,IAAI,IAAI,UAAU,EAClB,MAAM,IAAI,YAAY,EAIvB,MAAM,
|
|
1
|
+
{"version":3,"file":"confirm-dialog.d.ts","sourceRoot":"","sources":["../../src/patterns/confirm-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAExD,OAAO,EACL,IAAI,IAAI,UAAU,EAClB,MAAM,IAAI,YAAY,EAIvB,MAAM,yBAAyB,CAAA;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAEtC,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,IAAI,CAAC,IAAI,GAAE,iBAAsB,GAAG,kBAAkB,CAUrE;AAED,wBAAgB,MAAM,CACpB,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,gBAAgB,GACpB,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAuB/B;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,kBAAkB,CAAA;IACjC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAkDjE;AAED,oDAAoD;AACpD,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,GACA,gBAAgB,CAUlB;AAED,eAAO,MAAM,aAAa;;;;;CAAmC,CAAA;AAG7D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { button, text, div, h2, p } from '@llui/dom';
|
|
2
|
-
import { init as dialogInit, update as dialogUpdate, connect as dialogConnect, overlay as dialogOverlay, } from '../components/dialog';
|
|
2
|
+
import { init as dialogInit, update as dialogUpdate, connect as dialogConnect, overlay as dialogOverlay, } from '../components/dialog.js';
|
|
3
3
|
export function init(opts = {}) {
|
|
4
4
|
return {
|
|
5
5
|
open: false,
|
|
@@ -90,3 +90,4 @@ export function openWith(tag, opts) {
|
|
|
90
90
|
export const confirmDialog = { init, update, view, openWith };
|
|
91
91
|
// Re-exported dialog primitives (available for advanced use cases)
|
|
92
92
|
export { dialogInit, dialogUpdate };
|
|
93
|
+
//# sourceMappingURL=confirm-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-dialog.js","sourceRoot":"","sources":["../../src/patterns/confirm-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Send, TransitionOptions } from '@llui/dom'\nimport { button, text, div, h2, p } from '@llui/dom'\nimport {\n init as dialogInit,\n update as dialogUpdate,\n connect as dialogConnect,\n overlay as dialogOverlay,\n type DialogParts,\n} from '../components/dialog.js'\n\n/**\n * ConfirmDialog — a pre-wired dialog pattern for confirmations.\n *\n * Composes `dialog` with conventional content: title, description, cancel,\n * confirm. Carries an opaque `tag` so the consumer's update handler can\n * recognize which confirmation resolved.\n *\n * Usage in consumer's update:\n *\n * ```ts\n * case 'confirm': {\n * const [s, fx] = confirmDialog.update(state.confirm, msg.msg)\n * // When the user clicks confirm, branch on the tag:\n * if (msg.msg.type === 'confirm') {\n * switch (state.confirm.tag) {\n * case 'delete-user': return [{ ...state, confirm: s, users: ... }, fx]\n * case 'logout': return [{ ...state, confirm: s }, [...fx, logoutEffect]]\n * }\n * }\n * return [{ ...state, confirm: s }, fx]\n * }\n * ```\n */\n\nexport interface ConfirmDialogState {\n open: boolean\n tag: string\n title: string\n description: string\n confirmLabel: string\n cancelLabel: string\n destructive: boolean\n}\n\nexport type ConfirmDialogMsg =\n | {\n type: 'openWith'\n tag: string\n title: string\n description?: string\n confirmLabel?: string\n cancelLabel?: string\n destructive?: boolean\n }\n | { type: 'confirm' }\n | { type: 'cancel' }\n | { type: 'setOpen'; open: boolean }\n\nexport interface ConfirmDialogInit {\n tag?: string\n title?: string\n description?: string\n confirmLabel?: string\n cancelLabel?: string\n destructive?: boolean\n}\n\nexport function init(opts: ConfirmDialogInit = {}): ConfirmDialogState {\n return {\n open: false,\n tag: opts.tag ?? '',\n title: opts.title ?? '',\n description: opts.description ?? '',\n confirmLabel: opts.confirmLabel ?? 'Confirm',\n cancelLabel: opts.cancelLabel ?? 'Cancel',\n destructive: opts.destructive ?? false,\n }\n}\n\nexport function update(\n state: ConfirmDialogState,\n msg: ConfirmDialogMsg,\n): [ConfirmDialogState, never[]] {\n switch (msg.type) {\n case 'openWith':\n return [\n {\n ...state,\n open: true,\n tag: msg.tag,\n title: msg.title,\n description: msg.description ?? '',\n confirmLabel: msg.confirmLabel ?? state.confirmLabel,\n cancelLabel: msg.cancelLabel ?? state.cancelLabel,\n destructive: msg.destructive ?? false,\n },\n [],\n ]\n case 'confirm':\n return [{ ...state, open: false }, []]\n case 'cancel':\n return [{ ...state, open: false }, []]\n case 'setOpen':\n return [{ ...state, open: msg.open }, []]\n }\n}\n\n/**\n * View the ConfirmDialog. Returns a `show`-wrapped tree that appears when\n * the dialog is open, renders default content (title/description/buttons).\n * Uses role=\"alertdialog\" for destructive confirms.\n */\nexport interface ConfirmDialogViewOptions<S> {\n get: (s: S) => ConfirmDialogState\n send: Send<ConfirmDialogMsg>\n id: string\n transition?: TransitionOptions\n /** Custom class for content root. */\n contentClass?: string\n /** Custom class for destructive confirm button. */\n destructiveClass?: string\n}\n\nexport function view<S>(opts: ConfirmDialogViewOptions<S>): Node[] {\n // Build dialog parts — role='alertdialog' for proper modal semantics.\n // Trigger + closeTrigger parts are unused (we provide our own buttons);\n // their send is a no-op.\n const parts: DialogParts<S> = dialogConnect<S>(\n (s) => ({ open: opts.get(s).open }),\n () => {\n /* unused — our buttons dispatch directly via opts.send */\n },\n { id: opts.id, role: 'alertdialog', closeLabel: 'Cancel' },\n )\n\n return dialogOverlay<S>({\n get: (s) => ({ open: opts.get(s).open }),\n // Dismissable (Esc/outside-click) dispatches dialog.close, which we\n // translate into confirm-dialog.cancel.\n send: (m) => {\n if (m.type === 'close') opts.send({ type: 'cancel' })\n },\n parts,\n content: () => [\n div({ ...parts.content, class: opts.contentClass ?? 'confirm-dialog' }, [\n h2({ ...parts.title }, [text((s: S) => opts.get(s).title)]),\n p({ ...parts.description }, [text((s: S) => opts.get(s).description)]),\n div({ class: 'confirm-dialog__actions' }, [\n button(\n {\n type: 'button',\n class: 'btn btn-secondary',\n onClick: () => opts.send({ type: 'cancel' }),\n },\n [text((s: S) => opts.get(s).cancelLabel)],\n ),\n button(\n {\n type: 'button',\n class: (s: S) =>\n opts.get(s).destructive\n ? (opts.destructiveClass ?? 'btn btn-danger')\n : 'btn btn-primary',\n onClick: () => opts.send({ type: 'confirm' }),\n },\n [text((s: S) => opts.get(s).confirmLabel)],\n ),\n ]),\n ]),\n ],\n transition: opts.transition,\n closeOnOutsideClick: false, // alertdialog default\n })\n}\n\n/** Helper to create an openWith message builder. */\nexport function openWith(\n tag: string,\n opts: {\n title: string\n description?: string\n confirmLabel?: string\n cancelLabel?: string\n destructive?: boolean\n },\n): ConfirmDialogMsg {\n return {\n type: 'openWith',\n tag,\n title: opts.title,\n description: opts.description,\n confirmLabel: opts.confirmLabel,\n cancelLabel: opts.cancelLabel,\n destructive: opts.destructive,\n }\n}\n\nexport const confirmDialog = { init, update, view, openWith }\n\n// Re-exported dialog primitives (available for advanced use cases)\nexport { dialogInit, dialogUpdate }\n"]}
|
package/dist/patterns/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * as confirmDialog from './confirm-dialog';
|
|
2
|
-
export type { ConfirmDialogState, ConfirmDialogMsg, ConfirmDialogInit, ConfirmDialogViewOptions, } from './confirm-dialog';
|
|
1
|
+
export * as confirmDialog from './confirm-dialog.js';
|
|
2
|
+
export type { ConfirmDialogState, ConfirmDialogMsg, ConfirmDialogInit, ConfirmDialogViewOptions, } from './confirm-dialog.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/patterns/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/patterns/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAA;AACpD,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,qBAAqB,CAAA"}
|
package/dist/patterns/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * as confirmDialog from './confirm-dialog';
|
|
1
|
+
export * as confirmDialog from './confirm-dialog.js';
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/patterns/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAA","sourcesContent":["export * as confirmDialog from './confirm-dialog.js'\nexport type {\n ConfirmDialogState,\n ConfirmDialogMsg,\n ConfirmDialogInit,\n ConfirmDialogViewOptions,\n} from './confirm-dialog.js'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AA2CxE,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,gBAAgB,CAOjF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createVariants } from '../utils/variants';
|
|
1
|
+
import { createVariants } from '../utils/variants.js';
|
|
2
2
|
const rootVariants = createVariants({
|
|
3
3
|
base: 'flex flex-col overflow-hidden',
|
|
4
4
|
variants: {
|
|
@@ -45,3 +45,4 @@ export function accordionClasses(props) {
|
|
|
45
45
|
content: contentVariants(props),
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/styles/classes/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAA;AAExE,MAAM,YAAY,GAAG,cAAc,CAAC;IAClC,IAAI,EAAE,+BAA+B;IACrC,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,SAAS;SACd;QACD,OAAO,EAAE;YACP,OAAO,EAAE,iCAAiC;YAC1C,MAAM,EAAE,6BAA6B;YACrC,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE;CACpD,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,cAAc,CAAC;IACrC,IAAI,EAAE,kNAAkN;IACxN,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,cAAc;YAClB,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,cAAc;SACnB;KACF;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CAChC,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,cAAc,CAAC;IACrC,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,aAAa;SAClB;KACF;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CAChC,CAAC,CAAA;AAgBF,MAAM,UAAU,gBAAgB,CAAC,KAA8B;IAC7D,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;QACzB,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;QAC/B,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;KAChC,CAAA;AACH,CAAC","sourcesContent":["import { createVariants, type VariantProps } from '../utils/variants.js'\n\nconst rootVariants = createVariants({\n base: 'flex flex-col overflow-hidden',\n variants: {\n size: {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n variant: {\n outline: 'border border-border rounded-lg',\n filled: 'bg-surface-muted rounded-lg',\n ghost: '',\n },\n },\n defaultVariants: { size: 'md', variant: 'outline' },\n})\n\nconst triggerVariants = createVariants({\n base: 'flex items-center justify-between w-full px-4 font-medium bg-surface border-none border-b border-border cursor-pointer transition-colors duration-fast hover:bg-surface-hover data-[state=open]:bg-surface-muted',\n variants: {\n size: {\n sm: 'py-2 text-sm',\n md: 'py-3',\n lg: 'py-4 text-lg',\n },\n },\n defaultVariants: { size: 'md' },\n})\n\nconst contentVariants = createVariants({\n base: '',\n variants: {\n size: {\n sm: 'p-3 text-sm',\n md: 'p-4',\n lg: 'p-6 text-lg',\n },\n },\n defaultVariants: { size: 'md' },\n})\n\ntype Variants = {\n size: { sm: string; md: string; lg: string }\n variant: { outline: string; filled: string; ghost: string }\n}\n\nexport type AccordionStyleVariants = VariantProps<Variants>\n\nexport interface AccordionClasses {\n root: string\n item: string\n trigger: string\n content: string\n}\n\nexport function accordionClasses(props?: AccordionStyleVariants): AccordionClasses {\n return {\n root: rootVariants(props),\n item: 'border-b border-border last:border-b-0',\n trigger: triggerVariants(props),\n content: contentVariants(props),\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angle-slider.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/angle-slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"angle-slider.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/angle-slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AA0BxE,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE7D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,wBAAwB,GAAG,kBAAkB,CAQvF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createVariants } from '../utils/variants';
|
|
1
|
+
import { createVariants } from '../utils/variants.js';
|
|
2
2
|
const rootVariants = createVariants({
|
|
3
3
|
base: 'relative inline-flex items-center justify-center rounded-full border-2 border-border bg-surface',
|
|
4
4
|
variants: {
|
|
@@ -30,3 +30,4 @@ export function angleSliderClasses(props) {
|
|
|
30
30
|
hiddenInput: 'sr-only',
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
+
//# sourceMappingURL=angle-slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angle-slider.js","sourceRoot":"","sources":["../../../src/styles/classes/angle-slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAA;AAExE,MAAM,YAAY,GAAG,cAAc,CAAC;IAClC,IAAI,EAAE,iGAAiG;IACvG,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,WAAW;SAChB;KACF;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CAChC,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,cAAc,CAAC;IACnC,IAAI,EAAE,2DAA2D;IACjE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;SACd;KACF;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CAChC,CAAC,CAAA;AAgBF,MAAM,UAAU,kBAAkB,CAAC,KAAgC;IACjE,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;QACzB,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;QAC3B,SAAS,EAAE,+BAA+B;QAC1C,WAAW,EAAE,SAAS;KACvB,CAAA;AACH,CAAC","sourcesContent":["import { createVariants, type VariantProps } from '../utils/variants.js'\n\nconst rootVariants = createVariants({\n base: 'relative inline-flex items-center justify-center rounded-full border-2 border-border bg-surface',\n variants: {\n size: {\n sm: 'w-16 h-16',\n md: 'w-24 h-24',\n lg: 'w-32 h-32',\n },\n },\n defaultVariants: { size: 'md' },\n})\n\nconst thumbVariants = createVariants({\n base: 'absolute rounded-full bg-primary shadow-sm cursor-pointer',\n variants: {\n size: {\n sm: 'w-3 h-3',\n md: 'w-4 h-4',\n lg: 'w-5 h-5',\n },\n },\n defaultVariants: { size: 'md' },\n})\n\ntype Variants = {\n size: { sm: string; md: string; lg: string }\n}\n\nexport type AngleSliderStyleVariants = VariantProps<Variants>\n\nexport interface AngleSliderClasses {\n root: string\n control: string\n thumb: string\n valueText: string\n hiddenInput: string\n}\n\nexport function angleSliderClasses(props?: AngleSliderStyleVariants): AngleSliderClasses {\n return {\n root: rootVariants(props),\n control: 'absolute inset-0',\n thumb: thumbVariants(props),\n valueText: 'text-sm font-medium text-text',\n hiddenInput: 'sr-only',\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-list.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/async-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"async-list.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/async-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAErC,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,gBAAgB,IAAI,gBAAgB,CAUnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-list.js","sourceRoot":"","sources":["../../../src/styles/classes/async-list.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,EAAE;QACZ,eAAe,EACb,sKAAsK;QACxK,YAAY,EACV,6LAA6L;QAC/L,SAAS,EAAE,2CAA2C;KACvD,CAAA;AACH,CAAC","sourcesContent":["import { type VariantProps } from '../utils/variants.js'\n\ntype Variants = Record<string, never>\n\nexport type AsyncListStyleVariants = VariantProps<Variants>\n\nexport interface AsyncListClasses {\n root: string\n sentinel: string\n loadMoreTrigger: string\n retryTrigger: string\n errorText: string\n}\n\nexport function asyncListClasses(): AsyncListClasses {\n return {\n root: 'flex flex-col',\n sentinel: '',\n loadMoreTrigger:\n 'inline-flex items-center justify-center px-4 py-2 border border-border rounded-md cursor-pointer transition-colors duration-fast hover:bg-surface-hover mx-auto mt-4',\n retryTrigger:\n 'inline-flex items-center justify-center px-4 py-2 border border-destructive text-destructive rounded-md cursor-pointer transition-colors duration-fast hover:bg-destructive/10 mx-auto mt-4',\n errorText: 'text-destructive text-sm text-center mt-2',\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/styles/classes/avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAexE,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAExD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAMxE"}
|