@vielzeug/refine 2.1.0 → 2.1.3
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/accordion-item.cjs +1 -1
- package/dist/accordion-item.cjs.map +1 -1
- package/dist/accordion-item.js +1 -1
- package/dist/accordion-item.js.map +1 -1
- package/dist/accordion.cjs +1 -1
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.js +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/alert.cjs.map +1 -1
- package/dist/alert.js.map +1 -1
- package/dist/async.cjs.map +1 -1
- package/dist/async.js.map +1 -1
- package/dist/avatar-group.cjs.map +1 -1
- package/dist/avatar-group.js.map +1 -1
- package/dist/avatar.cjs +6 -6
- package/dist/avatar.cjs.map +1 -1
- package/dist/avatar.js +1 -2
- package/dist/avatar.js.map +1 -1
- package/dist/badge.cjs.map +1 -1
- package/dist/badge.js.map +1 -1
- package/dist/box.cjs.map +1 -1
- package/dist/box.js.map +1 -1
- package/dist/breadcrumb.cjs +3 -3
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.js +4 -4
- package/dist/breadcrumb.js.map +1 -1
- package/dist/button-group.cjs +1 -1
- package/dist/button-group.cjs.map +1 -1
- package/dist/button-group.js +0 -1
- package/dist/button-group.js.map +1 -1
- package/dist/button.cjs.map +1 -1
- package/dist/button.js.map +1 -1
- package/dist/calendar.cjs.map +1 -1
- package/dist/calendar.js.map +1 -1
- package/dist/card.cjs +7 -7
- package/dist/card.cjs.map +1 -1
- package/dist/card.js +27 -27
- package/dist/card.js.map +1 -1
- package/dist/carousel.cjs +20 -20
- package/dist/carousel.cjs.map +1 -1
- package/dist/carousel.js +7 -8
- package/dist/carousel.js.map +1 -1
- package/dist/chat-message.cjs +10 -10
- package/dist/chat-message.cjs.map +1 -1
- package/dist/chat-message.js +1 -2
- package/dist/chat-message.js.map +1 -1
- package/dist/checkbox-group.cjs +7 -7
- package/dist/checkbox-group.cjs.map +1 -1
- package/dist/checkbox-group.js +26 -26
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox.cjs +2 -2
- package/dist/checkbox.cjs.map +1 -1
- package/dist/checkbox.js +33 -33
- package/dist/checkbox.js.map +1 -1
- package/dist/chip.cjs +16 -16
- package/dist/chip.cjs.map +1 -1
- package/dist/chip.js +1 -2
- package/dist/chip.js.map +1 -1
- package/dist/combobox.cjs +28 -28
- package/dist/combobox.cjs.map +1 -1
- package/dist/combobox.js +211 -211
- package/dist/combobox.js.map +1 -1
- package/dist/command-palette.cjs +21 -21
- package/dist/command-palette.cjs.map +1 -1
- package/dist/command-palette.js +27 -28
- package/dist/command-palette.js.map +1 -1
- package/dist/content/avatar/avatar.css.cjs +1 -1
- package/dist/content/avatar/avatar.css.js +1 -1
- package/dist/content/avatar/avatar.d.ts.map +1 -1
- package/dist/content/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/content/card/card.css.cjs +1 -1
- package/dist/content/card/card.css.cjs.map +1 -1
- package/dist/content/card/card.css.js +1 -1
- package/dist/content/card/card.css.js.map +1 -1
- package/dist/content/card/card.d.ts.map +1 -1
- package/dist/content/carousel/carousel-slide.cjs.map +1 -1
- package/dist/content/carousel/carousel-slide.js.map +1 -1
- package/dist/content/carousel/carousel.css.cjs +1 -1
- package/dist/content/carousel/carousel.css.cjs.map +1 -1
- package/dist/content/carousel/carousel.css.js +1 -1
- package/dist/content/carousel/carousel.css.js.map +1 -1
- package/dist/content/carousel/carousel.d.ts.map +1 -1
- package/dist/content/carousel/index.d.ts +1 -1
- package/dist/content/carousel/index.d.ts.map +1 -1
- package/dist/content/chat-message/chat-message.css.cjs +1 -1
- package/dist/content/chat-message/chat-message.css.js +1 -1
- package/dist/content/chat-message/chat-message.d.ts.map +1 -1
- package/dist/content/code-window/code-window.css.cjs +1 -1
- package/dist/content/code-window/code-window.css.js +1 -1
- package/dist/content/copy-command/copy-command.css.cjs +1 -1
- package/dist/content/copy-command/copy-command.css.js +1 -1
- package/dist/content/copy-command/copy-command.d.ts.map +1 -1
- package/dist/content/index.d.ts +22 -22
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/list/_list-item-reveal.cjs.map +1 -1
- package/dist/content/list/_list-item-reveal.d.ts +1 -1
- package/dist/content/list/_list-item-reveal.d.ts.map +1 -1
- package/dist/content/list/_list-item-reveal.js.map +1 -1
- package/dist/content/list/list-item.css.cjs +1 -1
- package/dist/content/list/list-item.css.cjs.map +1 -1
- package/dist/content/list/list-item.css.js +1 -1
- package/dist/content/list/list-item.css.js.map +1 -1
- package/dist/content/list/list.d.ts.map +1 -1
- package/dist/content/marquee/marquee.css.cjs +1 -1
- package/dist/content/marquee/marquee.css.js +1 -1
- package/dist/content/pagination/pagination.css.cjs +1 -1
- package/dist/content/pagination/pagination.css.js +1 -1
- package/dist/content/pagination/pagination.d.ts.map +1 -1
- package/dist/content/separator/separator.css.cjs +1 -1
- package/dist/content/separator/separator.css.js +1 -1
- package/dist/content/separator/separator.d.ts.map +1 -1
- package/dist/content/stepper/step.css.cjs.map +1 -1
- package/dist/content/stepper/step.css.js.map +1 -1
- package/dist/content/stepper/stepper.d.ts.map +1 -1
- package/dist/content/table/table.css.cjs +1 -1
- package/dist/content/table/table.css.js +1 -1
- package/dist/content/text/text.css.cjs +1 -1
- package/dist/content/text/text.css.js +1 -1
- package/dist/copy-command.cjs.map +1 -1
- package/dist/copy-command.js.map +1 -1
- package/dist/core/checkable.cjs +1 -1
- package/dist/core/checkable.cjs.map +1 -1
- package/dist/core/checkable.d.ts.map +1 -1
- package/dist/core/checkable.js +4 -4
- package/dist/core/checkable.js.map +1 -1
- package/dist/core/choice-field.cjs +1 -1
- package/dist/core/choice-field.cjs.map +1 -1
- package/dist/core/choice-field.d.ts.map +1 -1
- package/dist/core/choice-field.js +1 -2
- package/dist/core/choice-field.js.map +1 -1
- package/dist/core/date-picker.cjs +1 -1
- package/dist/core/date-picker.cjs.map +1 -1
- package/dist/core/date-picker.d.ts.map +1 -1
- package/dist/core/date-picker.js +3 -3
- package/dist/core/date-picker.js.map +1 -1
- package/dist/core/index.d.ts +17 -17
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/option-list.cjs +1 -1
- package/dist/core/option-list.cjs.map +1 -1
- package/dist/core/option-list.d.ts.map +1 -1
- package/dist/core/option-list.js +4 -4
- package/dist/core/option-list.js.map +1 -1
- package/dist/core/ref-callback.cjs +1 -1
- package/dist/core/ref-callback.cjs.map +1 -1
- package/dist/core/ref-callback.d.ts.map +1 -1
- package/dist/core/ref-callback.js +1 -1
- package/dist/core/ref-callback.js.map +1 -1
- package/dist/core/signals.cjs +1 -1
- package/dist/core/signals.cjs.map +1 -1
- package/dist/core/signals.d.ts.map +1 -1
- package/dist/core/signals.js +1 -2
- package/dist/core/signals.js.map +1 -1
- package/dist/core/slider.cjs.map +1 -1
- package/dist/core/slider.d.ts.map +1 -1
- package/dist/core/slider.js.map +1 -1
- package/dist/core/spinner.cjs.map +1 -1
- package/dist/core/spinner.d.ts.map +1 -1
- package/dist/core/spinner.js.map +1 -1
- package/dist/core/text-field.cjs +1 -1
- package/dist/core/text-field.cjs.map +1 -1
- package/dist/core/text-field.js +1 -1
- package/dist/core/text-field.js.map +1 -1
- package/dist/custom-elements.json +4253 -4253
- package/dist/datagrid.cjs +114 -114
- package/dist/datagrid.cjs.map +1 -1
- package/dist/datagrid.js +42 -43
- package/dist/datagrid.js.map +1 -1
- package/dist/date-picker.cjs.map +1 -1
- package/dist/date-picker.js.map +1 -1
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js.map +1 -1
- package/dist/disclosure/accordion/accordion.d.ts.map +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.cjs +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.cjs.map +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.js +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.js.map +1 -1
- package/dist/disclosure/index.d.ts +6 -6
- package/dist/disclosure/index.d.ts.map +1 -1
- package/dist/disclosure/tab-item/tab-item.css.cjs.map +1 -1
- package/dist/disclosure/tab-item/tab-item.css.js.map +1 -1
- package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -1
- package/dist/disclosure/tabs/tabs.css.cjs +1 -1
- package/dist/disclosure/tabs/tabs.css.cjs.map +1 -1
- package/dist/disclosure/tabs/tabs.css.js +1 -1
- package/dist/disclosure/tabs/tabs.css.js.map +1 -1
- package/dist/disclosure/tabs/tabs.d.ts.map +1 -1
- package/dist/drawer.cjs +5 -5
- package/dist/drawer.cjs.map +1 -1
- package/dist/drawer.js +26 -26
- package/dist/drawer.js.map +1 -1
- package/dist/feedback/alert/alert.css.cjs +1 -1
- package/dist/feedback/alert/alert.css.js +1 -1
- package/dist/feedback/async/async.d.ts +1 -1
- package/dist/feedback/async/async.d.ts.map +1 -1
- package/dist/feedback/badge/badge.css.cjs +1 -1
- package/dist/feedback/badge/badge.css.js +1 -1
- package/dist/feedback/badge/badge.d.ts.map +1 -1
- package/dist/feedback/chip/chip.css.cjs.map +1 -1
- package/dist/feedback/chip/chip.css.js.map +1 -1
- package/dist/feedback/chip/chip.d.ts.map +1 -1
- package/dist/feedback/index.d.ts +12 -12
- package/dist/feedback/index.d.ts.map +1 -1
- package/dist/feedback/progress/progress.d.ts.map +1 -1
- package/dist/feedback/skeleton/skeleton.d.ts.map +1 -1
- package/dist/feedback/toast/index.d.ts +1 -1
- package/dist/feedback/toast/index.d.ts.map +1 -1
- package/dist/feedback/toast/toast.css.cjs +1 -1
- package/dist/feedback/toast/toast.css.cjs.map +1 -1
- package/dist/feedback/toast/toast.css.js +1 -1
- package/dist/feedback/toast/toast.css.js.map +1 -1
- package/dist/feedback/toast/toast.d.ts +1 -1
- package/dist/feedback/toast/toast.d.ts.map +1 -1
- package/dist/feedback/typing-indicator/typing-indicator.d.ts.map +1 -1
- package/dist/file-input.cjs +67 -67
- package/dist/file-input.cjs.map +1 -1
- package/dist/file-input.js +129 -130
- package/dist/file-input.js.map +1 -1
- package/dist/grid.cjs.map +1 -1
- package/dist/grid.js.map +1 -1
- package/dist/icon.cjs.map +1 -1
- package/dist/icon.js.map +1 -1
- package/dist/input.cjs +21 -21
- package/dist/input.cjs.map +1 -1
- package/dist/input.js +58 -58
- package/dist/input.js.map +1 -1
- package/dist/inputs/button/button.css.cjs +1 -1
- package/dist/inputs/button/button.css.js +1 -1
- package/dist/inputs/button/button.d.ts.map +1 -1
- package/dist/inputs/button-group/button-group.css.cjs.map +1 -1
- package/dist/inputs/button-group/button-group.css.js.map +1 -1
- package/dist/inputs/button-group/button-group.d.ts +1 -1
- package/dist/inputs/button-group/button-group.d.ts.map +1 -1
- package/dist/inputs/calendar/calendar.css.cjs +1 -1
- package/dist/inputs/calendar/calendar.css.cjs.map +1 -1
- package/dist/inputs/calendar/calendar.css.js +1 -1
- package/dist/inputs/calendar/calendar.css.js.map +1 -1
- package/dist/inputs/calendar/calendar.d.ts.map +1 -1
- package/dist/inputs/checkbox/checkbox.css.cjs +1 -1
- package/dist/inputs/checkbox/checkbox.css.js +1 -1
- package/dist/inputs/checkbox/checkbox.d.ts.map +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox.css.cjs +1 -1
- package/dist/inputs/combobox/combobox.css.js +1 -1
- package/dist/inputs/combobox/combobox.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-column.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid-column.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-column.js.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.cjs +1 -1
- package/dist/inputs/datagrid/datagrid-model.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.js +1 -2
- package/dist/inputs/datagrid/datagrid-model.js.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.cjs +1 -1
- package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.js +1 -1
- package/dist/inputs/datagrid/datagrid.css.js.map +1 -1
- package/dist/inputs/datagrid/datagrid.d.ts +1 -1
- package/dist/inputs/datagrid/datagrid.d.ts.map +1 -1
- package/dist/inputs/date-picker/date-picker.css.cjs +1 -1
- package/dist/inputs/date-picker/date-picker.css.cjs.map +1 -1
- package/dist/inputs/date-picker/date-picker.css.js +1 -1
- package/dist/inputs/date-picker/date-picker.css.js.map +1 -1
- package/dist/inputs/date-picker/date-picker.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs.map +1 -1
- package/dist/inputs/file-input/file-input-upload.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.js +2 -3
- package/dist/inputs/file-input/file-input-upload.js.map +1 -1
- package/dist/inputs/file-input/file-input.css.cjs +1 -1
- package/dist/inputs/file-input/file-input.css.js +1 -1
- package/dist/inputs/file-input/file-input.d.ts.map +1 -1
- package/dist/inputs/index.d.ts +28 -28
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/input/input.css.cjs +1 -1
- package/dist/inputs/input/input.css.js +1 -1
- package/dist/inputs/input/input.d.ts.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.cjs +1 -1
- package/dist/inputs/message-composer/message-composer.css.js +1 -1
- package/dist/inputs/message-composer/message-composer.d.ts +1 -1
- package/dist/inputs/message-composer/message-composer.d.ts.map +1 -1
- package/dist/inputs/number-input/number-input.d.ts.map +1 -1
- package/dist/inputs/otp-input/otp-input.d.ts.map +1 -1
- package/dist/inputs/radio/radio.css.cjs +1 -1
- package/dist/inputs/radio/radio.css.js +1 -1
- package/dist/inputs/radio/radio.d.ts.map +1 -1
- package/dist/inputs/radio-group/radio-group.d.ts +2 -2
- package/dist/inputs/radio-group/radio-group.d.ts.map +1 -1
- package/dist/inputs/rating/rating.d.ts.map +1 -1
- package/dist/inputs/select/select.css.cjs +1 -1
- package/dist/inputs/select/select.css.js +1 -1
- package/dist/inputs/select/select.d.ts.map +1 -1
- package/dist/inputs/shared/field-binding.cjs.map +1 -1
- package/dist/inputs/shared/field-binding.d.ts.map +1 -1
- package/dist/inputs/shared/field-binding.js.map +1 -1
- package/dist/inputs/shared/templates.cjs.map +1 -1
- package/dist/inputs/shared/templates.d.ts.map +1 -1
- package/dist/inputs/shared/templates.js.map +1 -1
- package/dist/inputs/slider/slider.d.ts.map +1 -1
- package/dist/inputs/switch/switch.css.cjs +1 -1
- package/dist/inputs/switch/switch.css.js +1 -1
- package/dist/inputs/switch/switch.d.ts.map +1 -1
- package/dist/inputs/textarea/textarea.css.cjs +1 -1
- package/dist/inputs/textarea/textarea.css.js +1 -1
- package/dist/inputs/textarea/textarea.d.ts.map +1 -1
- package/dist/inputs/time-picker/time-picker.css.cjs +1 -1
- package/dist/inputs/time-picker/time-picker.css.cjs.map +1 -1
- package/dist/inputs/time-picker/time-picker.css.js +1 -1
- package/dist/inputs/time-picker/time-picker.css.js.map +1 -1
- package/dist/inputs/time-picker/time-picker.d.ts.map +1 -1
- package/dist/layout/box/box.d.ts.map +1 -1
- package/dist/layout/grid/grid.d.ts.map +1 -1
- package/dist/layout/index.d.ts +6 -6
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/navbar/navbar.css.cjs +1 -1
- package/dist/layout/navbar/navbar.css.js +1 -1
- package/dist/layout/navbar/navbar.d.ts.map +1 -1
- package/dist/layout/sidebar/sidebar-group.css.cjs +1 -1
- package/dist/layout/sidebar/sidebar-group.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar-group.css.js +1 -1
- package/dist/layout/sidebar/sidebar-group.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar.css.js +1 -1
- package/dist/layout/sidebar/sidebar.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/list-item.cjs.map +1 -1
- package/dist/list-item.js.map +1 -1
- package/dist/list.cjs +2 -2
- package/dist/list.cjs.map +1 -1
- package/dist/list.js +15 -16
- package/dist/list.js.map +1 -1
- package/dist/marquee.cjs +1 -1
- package/dist/marquee.cjs.map +1 -1
- package/dist/marquee.js +1 -1
- package/dist/marquee.js.map +1 -1
- package/dist/menu.cjs +5 -5
- package/dist/menu.cjs.map +1 -1
- package/dist/menu.js +38 -39
- package/dist/menu.js.map +1 -1
- package/dist/message-composer.cjs +16 -16
- package/dist/message-composer.cjs.map +1 -1
- package/dist/message-composer.js +61 -61
- package/dist/message-composer.js.map +1 -1
- package/dist/navbar.cjs +9 -9
- package/dist/navbar.cjs.map +1 -1
- package/dist/navbar.js +1 -2
- package/dist/navbar.js.map +1 -1
- package/dist/navigation-menu.cjs +5 -5
- package/dist/navigation-menu.cjs.map +1 -1
- package/dist/navigation-menu.js +33 -34
- package/dist/navigation-menu.js.map +1 -1
- package/dist/number-input.cjs +24 -24
- package/dist/number-input.cjs.map +1 -1
- package/dist/number-input.js +41 -42
- package/dist/number-input.js.map +1 -1
- package/dist/otp-input.cjs +13 -13
- package/dist/otp-input.cjs.map +1 -1
- package/dist/otp-input.js +32 -33
- package/dist/otp-input.js.map +1 -1
- package/dist/overlay/command-palette/command-palette-items.cjs.map +1 -1
- package/dist/overlay/command-palette/command-palette-items.d.ts.map +1 -1
- package/dist/overlay/command-palette/command-palette-items.js.map +1 -1
- package/dist/overlay/command-palette/command-palette.css.cjs +1 -1
- package/dist/overlay/command-palette/command-palette.css.cjs.map +1 -1
- package/dist/overlay/command-palette/command-palette.css.js +1 -1
- package/dist/overlay/command-palette/command-palette.css.js.map +1 -1
- package/dist/overlay/command-palette/command-palette.d.ts.map +1 -1
- package/dist/overlay/dialog/dialog.css.cjs +1 -1
- package/dist/overlay/dialog/dialog.css.js +1 -1
- package/dist/overlay/dialog/dialog.d.ts.map +1 -1
- package/dist/overlay/drawer/drawer.css.cjs +1 -1
- package/dist/overlay/drawer/drawer.css.js +1 -1
- package/dist/overlay/drawer/drawer.d.ts +2 -2
- package/dist/overlay/drawer/drawer.d.ts.map +1 -1
- package/dist/overlay/index.d.ts +6 -6
- package/dist/overlay/index.d.ts.map +1 -1
- package/dist/overlay/menu/menu.css.cjs +1 -1
- package/dist/overlay/menu/menu.css.js +1 -1
- package/dist/overlay/menu/menu.d.ts +2 -2
- package/dist/overlay/menu/menu.d.ts.map +1 -1
- package/dist/overlay/navigation-menu/navigation-menu.d.ts.map +1 -1
- package/dist/overlay/popover/popover.d.ts +1 -1
- package/dist/overlay/popover/popover.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.cjs +1 -1
- package/dist/overlay/shared/use-dialog.cjs.map +1 -1
- package/dist/overlay/shared/use-dialog.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.js +4 -5
- package/dist/overlay/shared/use-dialog.js.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.d.ts.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.js +1 -2
- package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
- package/dist/overlay/tooltip/tooltip.d.ts +1 -1
- package/dist/overlay/tooltip/tooltip.d.ts.map +1 -1
- package/dist/pagination.cjs.map +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/popover.cjs +1 -1
- package/dist/popover.cjs.map +1 -1
- package/dist/popover.js +0 -1
- package/dist/popover.js.map +1 -1
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.js.map +1 -1
- package/dist/radio-group.cjs +5 -5
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.js +26 -27
- package/dist/radio-group.js.map +1 -1
- package/dist/radio.cjs +2 -2
- package/dist/radio.cjs.map +1 -1
- package/dist/radio.js +41 -41
- package/dist/radio.js.map +1 -1
- package/dist/rating.cjs +4 -4
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.js +36 -36
- package/dist/rating.js.map +1 -1
- package/dist/refine.cjs +686 -686
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +686 -686
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +737 -737
- package/dist/refine.js.map +1 -1
- package/dist/select.cjs +42 -42
- package/dist/select.cjs.map +1 -1
- package/dist/select.js +146 -147
- package/dist/select.js.map +1 -1
- package/dist/separator.cjs.map +1 -1
- package/dist/separator.js.map +1 -1
- package/dist/sidebar.cjs +17 -17
- package/dist/sidebar.cjs.map +1 -1
- package/dist/sidebar.js +7 -8
- package/dist/sidebar.js.map +1 -1
- package/dist/skeleton.cjs +3 -3
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js +1 -2
- package/dist/skeleton.js.map +1 -1
- package/dist/slider.cjs +12 -12
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +54 -55
- package/dist/slider.js.map +1 -1
- package/dist/step.cjs.map +1 -1
- package/dist/step.js.map +1 -1
- package/dist/stepper.cjs +2 -2
- package/dist/stepper.cjs.map +1 -1
- package/dist/stepper.js +8 -7
- package/dist/stepper.js.map +1 -1
- package/dist/styles/index.d.ts +2 -2
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/preflight.css +1 -1
- package/dist/styles/theme.css +15 -30
- package/dist/switch.cjs +3 -3
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +28 -28
- package/dist/switch.js.map +1 -1
- package/dist/tab-item.cjs +2 -2
- package/dist/tab-item.cjs.map +1 -1
- package/dist/tab-item.js +21 -21
- package/dist/tab-item.js.map +1 -1
- package/dist/tab-panel.cjs +2 -2
- package/dist/tab-panel.cjs.map +1 -1
- package/dist/tab-panel.js +9 -9
- package/dist/tab-panel.js.map +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +1 -1
- package/dist/table.js.map +1 -1
- package/dist/tabs.cjs +6 -6
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.js +14 -15
- package/dist/tabs.js.map +1 -1
- package/dist/textarea.cjs +11 -11
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.js +59 -59
- package/dist/textarea.js.map +1 -1
- package/dist/time-picker.cjs.map +1 -1
- package/dist/time-picker.js.map +1 -1
- package/dist/toast.cjs +16 -16
- package/dist/toast.cjs.map +1 -1
- package/dist/toast.js +20 -21
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js.map +1 -1
- package/dist/typing-indicator.cjs +1 -1
- package/dist/typing-indicator.cjs.map +1 -1
- package/dist/typing-indicator.js +1 -1
- package/dist/typing-indicator.js.map +1 -1
- package/package.json +96 -97
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.css.cjs","names":[],"sources":["../../../src/inputs/calendar/calendar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-focus));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-focus));\n --_day-outside-opacity: var(--calendar-day-outside-opacity, 0.35);\n --_bg: var(--calendar-bg, var(--color-canvas));\n --_border-color: var(--calendar-border-color, var(--color-contrast-200));\n --_radius: var(--calendar-radius, var(--rounded-xl));\n\n display: inline-block;\n }\n\n :host([fullwidth]) {\n display: block;\n }\n\n :host([color='secondary']) {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-base));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-base));\n }\n\n /* ── Root panel ──────────────────────────────────────────────────────────── */\n\n .calendar {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n min-width: 18rem;\n padding: var(--size-3);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--calendar-shadow, var(--shadow-md));\n }\n\n :host([fullwidth]) .calendar {\n min-width: 0;\n }\n\n /* ── Header ──────────────────────────────────────────────────────────────── */\n\n .cal-header {\n display: flex;\n gap: var(--size-1);\n align-items: center;\n justify-content: space-between;\n padding-block-end: var(--size-2);\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n .nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n padding: 0;\n color: var(--color-contrast-600);\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .nav-btn:hover:not(:disabled) {\n color: var(--color-contrast-900);\n background: var(--color-contrast-300);\n }\n\n .nav-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .nav-btn:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .cal-label-btn {\n flex: 1;\n padding: var(--size-1) var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition: background var(--transition-fast);\n }\n\n .cal-label-btn:hover:not(:disabled) {\n background: var(--color-contrast-300);\n }\n\n .cal-label-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-label-btn:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .cal-label-month,\n .cal-label-year {\n display: inline-block;\n }\n\n .cal-label-sep {\n display: inline-block;\n padding-inline: var(--size-1);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n /* ── Grid base ───────────────────────────────────────────────────────────── */\n\n [hidden] {\n display: none !important;\n }\n\n .cal-grid {\n display: flex;\n flex-direction: column;\n gap: var(--size-0-5);\n }\n\n .cal-grid-days {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: var(--size-0-5);\n\n /* Reserve max height (6 week rows + 1 header) so the panel never shrinks\n on 5-week months or when switching to month/year view. */\n min-height: calc(7 * var(--size-10) + 6 * var(--size-0-5));\n }\n\n /* role=\"row\" wrappers exist for ARIA grid structure only — `display: contents`\n removes them from layout so their children still participate directly in the\n parent's CSS grid tracks. */\n .cal-grid [role='row'] {\n display: contents;\n }\n\n .cal-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--text-sm);\n cursor: pointer;\n outline: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* ── Column headers ──────────────────────────────────────────────────────── */\n\n .cal-cell-head {\n height: var(--size-8);\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n color: var(--color-contrast-500);\n cursor: default;\n }\n\n /* ── Day cells ───────────────────────────────────────────────────────────── */\n\n .cal-cell-day {\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n height: var(--size-10);\n overflow: hidden;\n color: var(--color-contrast-800);\n }\n\n .cal-cell-day:hover:not([data-disabled]) {\n color: var(--color-contrast-900);\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-day:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-today] {\n font-weight: var(--font-semibold);\n color: var(--_day-today-color);\n }\n\n .cal-cell-day[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-outside] {\n opacity: var(--_day-outside-opacity);\n }\n\n .cal-cell-day[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Event dots (normal mode) ────────────────────────────────────────────── */\n\n .cal-dots {\n display: flex;\n gap: 2px;\n align-items: center;\n justify-content: center;\n margin-block-start: var(--size-0-5);\n }\n\n .cal-dot {\n --badge-bg: var(--_day-selected-bg);\n --badge-border-color: var(--_day-selected-bg);\n }\n\n .cal-dot-overflow {\n font-size: 8px;\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-500);\n }\n\n /* ── Month / year grids ──────────────────────────────────────────────────── */\n\n .cal-grid-months,\n .cal-grid-years {\n /* 4-column grid — same width as cal-grid-days, natural height. */\n display: grid;\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: var(--size-1);\n }\n\n .cal-cell-month,\n .cal-cell-year {\n height: var(--size-10);\n font-size: var(--text-sm);\n color: var(--color-contrast-800);\n cursor: pointer;\n border-radius: var(--rounded-md);\n }\n\n .cal-cell-month:hover:not([data-disabled]),\n .cal-cell-year:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-month:focus-visible,\n .cal-cell-year:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-selected],\n .cal-cell-year[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-disabled],\n .cal-cell-year[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Expanded variant ────────────────────────────────────────────────────── */\n\n :host([expanded]) {\n display: block;\n width: 100%;\n }\n\n :host([expanded]) .calendar {\n width: 100%;\n min-width: 0;\n padding: 0;\n overflow: hidden;\n }\n\n :host([expanded]) .cal-header {\n padding: var(--size-3) var(--size-4);\n }\n\n :host([expanded]) .cal-label-btn {\n font-size: var(--text-base);\n }\n\n :host([expanded]) .cal-grid {\n gap: 0;\n }\n\n :host([expanded]) .cal-grid-days {\n gap: 0;\n border-block-start: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell {\n border-radius: 0;\n }\n\n :host([expanded]) .cal-cell-head {\n height: var(--size-9);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell-day {\n position: relative;\n flex-direction: column;\n gap: 0;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n min-height: var(--calendar-expanded-cell-height, var(--size-28));\n aspect-ratio: auto;\n padding: var(--size-2);\n font-size: var(--text-sm);\n vertical-align: top;\n border-block-end: var(--border) solid var(--_border-color);\n border-inline-end: var(--border) solid var(--_border-color);\n }\n\n /* Remove right border on last column */\n :host([expanded]) .cal-cell-day:nth-child(7n) {\n border-inline-end: none;\n }\n\n :host([expanded]) .cal-cell-day:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 6%, transparent);\n }\n\n /* Selected day — circle around the number only */\n :host([expanded]) .cal-cell-day[data-selected] {\n color: inherit;\n background: transparent;\n }\n\n :host([expanded]) .cal-cell-day[data-selected]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-selected-bg);\n border-radius: var(--rounded-full);\n }\n\n /* Today — circle in accent colour */\n :host([expanded]) .cal-cell-day[data-today] {\n font-weight: inherit;\n color: inherit;\n }\n\n :host([expanded]) .cal-cell-day[data-today]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-today-color);\n border-radius: var(--rounded-full);\n }\n\n /* When both today AND selected — selected wins */\n :host([expanded]) .cal-cell-day[data-today][data-selected]::before {\n background: var(--_day-selected-bg);\n }\n\n /* ── Expanded event pills ────────────────────────────────────────────────── */\n\n /* Push events below the day-number circle row */\n :host([expanded]) .cal-events {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin-block-start: var(--size-4);\n overflow: hidden;\n }\n\n :host([expanded]) .cal-event-pill {\n max-width: 100%;\n\n --badge-max-width: 100%;\n }\n\n :host([expanded]) .cal-event-pill-overflow {\n padding-inline: var(--size-1);\n font-size: 10px;\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n }\n\n /* Dots are hidden in expanded mode — pills take over */\n :host([expanded]) .cal-dots {\n display: none;\n }\n\n :host([expanded]) .cal-cell-day[data-outside] {\n background: color-mix(in oklch, var(--color-contrast-900) 2%, transparent);\n }\n\n /* Expanded month / year grids */\n :host([expanded]) .cal-grid-months,\n :host([expanded]) .cal-grid-years {\n gap: var(--size-2);\n min-height: 0;\n padding: var(--size-4);\n }\n\n :host([expanded]) .cal-cell-month,\n :host([expanded]) .cal-cell-year {\n min-height: var(--size-16);\n font-size: var(--text-base);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--rounded-lg);\n }\n\n :host([expanded]) .cal-cell-month[data-selected],\n :host([expanded]) .cal-cell-year[data-selected] {\n border-color: transparent;\n }\n\n /* ── Disabled host ───────────────────────────────────────────────────────── */\n\n :host(.is-disabled) .calendar {\n pointer-events: none;\n opacity: 0.6;\n }\n\n /* ── Reduced motion ──────────────────────────────────────────────────────── */\n\n @media (prefers-reduced-motion: reduce) {\n .nav-btn,\n .cal-label-btn,\n .cal-cell {\n transition: none;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"calendar.css.cjs","names":[],"sources":["../../../src/inputs/calendar/calendar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-focus));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-focus));\n --_day-outside-opacity: var(--calendar-day-outside-opacity, 0.35);\n --_bg: var(--calendar-bg, var(--color-canvas));\n --_border-color: var(--calendar-border-color, var(--color-contrast-200));\n --_radius: var(--calendar-radius, var(--rounded-xl));\n\n display: inline-block;\n }\n\n :host([fullwidth]) {\n display: block;\n }\n\n :host([color='secondary']) {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-base));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-base));\n }\n\n /* ── Root panel ──────────────────────────────────────────────────────────── */\n\n .calendar {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n min-width: 18rem;\n padding: var(--size-3);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--calendar-shadow, var(--shadow-md));\n }\n\n :host([fullwidth]) .calendar {\n min-width: 0;\n }\n\n /* ── Header ──────────────────────────────────────────────────────────────── */\n\n .cal-header {\n display: flex;\n gap: var(--size-1);\n align-items: center;\n justify-content: space-between;\n padding-block-end: var(--size-2);\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n .nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n padding: 0;\n color: var(--color-contrast-600);\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .nav-btn:hover:not(:disabled) {\n color: var(--color-contrast-900);\n background: var(--color-contrast-300);\n }\n\n .nav-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .nav-btn:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .cal-label-btn {\n flex: 1;\n padding: var(--size-1) var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition: background var(--transition-fast);\n }\n\n .cal-label-btn:hover:not(:disabled) {\n background: var(--color-contrast-300);\n }\n\n .cal-label-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-label-btn:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .cal-label-month,\n .cal-label-year {\n display: inline-block;\n }\n\n .cal-label-sep {\n display: inline-block;\n padding-inline: var(--size-1);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n /* ── Grid base ───────────────────────────────────────────────────────────── */\n\n [hidden] {\n display: none;\n }\n\n .cal-grid {\n display: flex;\n flex-direction: column;\n gap: var(--size-0-5);\n }\n\n .cal-grid-days {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: var(--size-0-5);\n\n /* Reserve max height (6 week rows + 1 header) so the panel never shrinks\n on 5-week months or when switching to month/year view. */\n min-height: calc(7 * var(--size-10) + 6 * var(--size-0-5));\n }\n\n /* role=\"row\" wrappers exist for ARIA grid structure only — `display: contents`\n removes them from layout so their children still participate directly in the\n parent's CSS grid tracks. */\n .cal-grid [role='row'] {\n display: contents;\n }\n\n .cal-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--text-sm);\n cursor: pointer;\n outline: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* ── Column headers ──────────────────────────────────────────────────────── */\n\n .cal-cell-head {\n height: var(--size-8);\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n color: var(--color-contrast-500);\n cursor: default;\n }\n\n /* ── Day cells ───────────────────────────────────────────────────────────── */\n\n .cal-cell-day {\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n height: var(--size-10);\n overflow: hidden;\n color: var(--color-contrast-800);\n }\n\n .cal-cell-day:hover:not([data-disabled]) {\n color: var(--color-contrast-900);\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-day:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-today] {\n font-weight: var(--font-semibold);\n color: var(--_day-today-color);\n }\n\n .cal-cell-day[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-outside] {\n opacity: var(--_day-outside-opacity);\n }\n\n .cal-cell-day[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Event dots (normal mode) ────────────────────────────────────────────── */\n\n .cal-dots {\n display: flex;\n gap: 2px;\n align-items: center;\n justify-content: center;\n margin-block-start: var(--size-0-5);\n }\n\n .cal-dot {\n --badge-bg: var(--_day-selected-bg);\n --badge-border-color: var(--_day-selected-bg);\n }\n\n .cal-dot-overflow {\n font-size: 8px;\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-500);\n }\n\n /* ── Month / year grids ──────────────────────────────────────────────────── */\n\n .cal-grid-months,\n .cal-grid-years {\n /* 4-column grid — same width as cal-grid-days, natural height. */\n display: grid;\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: var(--size-1);\n }\n\n .cal-cell-month,\n .cal-cell-year {\n height: var(--size-10);\n font-size: var(--text-sm);\n color: var(--color-contrast-800);\n cursor: pointer;\n border-radius: var(--rounded-md);\n }\n\n .cal-cell-month:hover:not([data-disabled]),\n .cal-cell-year:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-month:focus-visible,\n .cal-cell-year:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-selected],\n .cal-cell-year[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-disabled],\n .cal-cell-year[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Expanded variant ────────────────────────────────────────────────────── */\n\n :host([expanded]) {\n display: block;\n width: 100%;\n }\n\n :host([expanded]) .calendar {\n width: 100%;\n min-width: 0;\n padding: 0;\n overflow: hidden;\n }\n\n :host([expanded]) .cal-header {\n padding: var(--size-3) var(--size-4);\n }\n\n :host([expanded]) .cal-label-btn {\n font-size: var(--text-base);\n }\n\n :host([expanded]) .cal-grid {\n gap: 0;\n }\n\n :host([expanded]) .cal-grid-days {\n gap: 0;\n border-block-start: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell {\n border-radius: 0;\n }\n\n :host([expanded]) .cal-cell-head {\n height: var(--size-9);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell-day {\n position: relative;\n flex-direction: column;\n gap: 0;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n min-height: var(--calendar-expanded-cell-height, var(--size-28));\n aspect-ratio: auto;\n padding: var(--size-2);\n font-size: var(--text-sm);\n vertical-align: top;\n border-block-end: var(--border) solid var(--_border-color);\n border-inline-end: var(--border) solid var(--_border-color);\n }\n\n /* Remove right border on last column */\n :host([expanded]) .cal-cell-day:nth-child(7n) {\n border-inline-end: none;\n }\n\n :host([expanded]) .cal-cell-day:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 6%, transparent);\n }\n\n /* Selected day — circle around the number only */\n :host([expanded]) .cal-cell-day[data-selected] {\n color: inherit;\n background: transparent;\n }\n\n :host([expanded]) .cal-cell-day[data-selected]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-selected-bg);\n border-radius: var(--rounded-full);\n }\n\n /* Today — circle in accent colour */\n :host([expanded]) .cal-cell-day[data-today] {\n font-weight: inherit;\n color: inherit;\n }\n\n :host([expanded]) .cal-cell-day[data-today]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-today-color);\n border-radius: var(--rounded-full);\n }\n\n /* When both today AND selected — selected wins */\n :host([expanded]) .cal-cell-day[data-today][data-selected]::before {\n background: var(--_day-selected-bg);\n }\n\n /* ── Expanded event pills ────────────────────────────────────────────────── */\n\n /* Push events below the day-number circle row */\n :host([expanded]) .cal-events {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin-block-start: var(--size-4);\n overflow: hidden;\n }\n\n :host([expanded]) .cal-event-pill {\n --badge-max-width: 100%;\n max-width: 100%;\n }\n\n :host([expanded]) .cal-event-pill-overflow {\n padding-inline: var(--size-1);\n font-size: 10px;\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n }\n\n /* Dots are hidden in expanded mode — pills take over */\n :host([expanded]) .cal-dots {\n display: none;\n }\n\n :host([expanded]) .cal-cell-day[data-outside] {\n background: color-mix(in oklch, var(--color-contrast-900) 2%, transparent);\n }\n\n /* Expanded month / year grids */\n :host([expanded]) .cal-grid-months,\n :host([expanded]) .cal-grid-years {\n gap: var(--size-2);\n min-height: 0;\n padding: var(--size-4);\n }\n\n :host([expanded]) .cal-cell-month,\n :host([expanded]) .cal-cell-year {\n min-height: var(--size-16);\n font-size: var(--text-base);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--rounded-lg);\n }\n\n :host([expanded]) .cal-cell-month[data-selected],\n :host([expanded]) .cal-cell-year[data-selected] {\n border-color: transparent;\n }\n\n /* ── Disabled host ───────────────────────────────────────────────────────── */\n\n :host(.is-disabled) .calendar {\n pointer-events: none;\n opacity: 0.6;\n }\n\n /* ── Reduced motion ──────────────────────────────────────────────────────── */\n\n @media (prefers-reduced-motion: reduce) {\n .nav-btn,\n .cal-label-btn,\n .cal-cell {\n transition: none;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/inputs/calendar/calendar.css?inline
|
|
2
|
-
var e = "@layer refine.base{:host{--_day-selected-bg:var(--calendar-day-selected-bg,var(--_theme-focus));--_day-today-color:var(--calendar-day-today-color,var(--_theme-focus));--_day-outside-opacity:var(--calendar-day-outside-opacity,.35);--_bg:var(--calendar-bg,var(--color-canvas));--_border-color:var(--calendar-border-color,var(--color-contrast-200));--_radius:var(--calendar-radius,var(--rounded-xl));display:inline-block}:host([fullwidth]){display:block}:host([color=secondary]){--_day-selected-bg:var(--calendar-day-selected-bg,var(--_theme-base));--_day-today-color:var(--calendar-day-today-color,var(--_theme-base))}.calendar{gap:var(--size-2);min-width:18rem;padding:var(--size-3);background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--calendar-shadow,var(--shadow-md));flex-direction:column;display:flex}:host([fullwidth]) .calendar{min-width:0}.cal-header{gap:var(--size-1);border-bottom:var(--border) solid var(--_border-color);padding-bottom:var(--size-2);justify-content:space-between;align-items:center;display:flex}.nav-btn{width:var(--size-8);height:var(--size-8);color:var(--color-contrast-600);cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:flex}.nav-btn:hover:not(:disabled){color:var(--color-contrast-900);background:var(--color-contrast-300)}.nav-btn:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.nav-btn:disabled{cursor:not-allowed;opacity:.4}.cal-label-btn{padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-contrast-900);text-align:center;cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast);background:0 0;border:none;outline:none;flex:1}.cal-label-btn:hover:not(:disabled){background:var(--color-contrast-300)}.cal-label-btn:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.cal-label-btn:disabled{cursor:not-allowed;opacity:.5}.cal-label-month,.cal-label-year{display:inline-block}.cal-label-sep{padding-inline:var(--size-1);font-weight:var(--font-normal);color:var(--color-contrast-400);display:inline-block}[hidden]{display:none
|
|
2
|
+
var e = "@layer refine.base{:host{--_day-selected-bg:var(--calendar-day-selected-bg,var(--_theme-focus));--_day-today-color:var(--calendar-day-today-color,var(--_theme-focus));--_day-outside-opacity:var(--calendar-day-outside-opacity,.35);--_bg:var(--calendar-bg,var(--color-canvas));--_border-color:var(--calendar-border-color,var(--color-contrast-200));--_radius:var(--calendar-radius,var(--rounded-xl));display:inline-block}:host([fullwidth]){display:block}:host([color=secondary]){--_day-selected-bg:var(--calendar-day-selected-bg,var(--_theme-base));--_day-today-color:var(--calendar-day-today-color,var(--_theme-base))}.calendar{gap:var(--size-2);min-width:18rem;padding:var(--size-3);background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--calendar-shadow,var(--shadow-md));flex-direction:column;display:flex}:host([fullwidth]) .calendar{min-width:0}.cal-header{gap:var(--size-1);border-bottom:var(--border) solid var(--_border-color);padding-bottom:var(--size-2);justify-content:space-between;align-items:center;display:flex}.nav-btn{width:var(--size-8);height:var(--size-8);color:var(--color-contrast-600);cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:flex}.nav-btn:hover:not(:disabled){color:var(--color-contrast-900);background:var(--color-contrast-300)}.nav-btn:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.nav-btn:disabled{cursor:not-allowed;opacity:.4}.cal-label-btn{padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-contrast-900);text-align:center;cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast);background:0 0;border:none;outline:none;flex:1}.cal-label-btn:hover:not(:disabled){background:var(--color-contrast-300)}.cal-label-btn:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.cal-label-btn:disabled{cursor:not-allowed;opacity:.5}.cal-label-month,.cal-label-year{display:inline-block}.cal-label-sep{padding-inline:var(--size-1);font-weight:var(--font-normal);color:var(--color-contrast-400);display:inline-block}[hidden]{display:none}.cal-grid{gap:var(--size-0-5);flex-direction:column;display:flex}.cal-grid-days{gap:var(--size-0-5);min-height:calc(7 * var(--size-10) + 6 * var(--size-0-5));grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-grid [role=row]{display:contents}.cal-cell{font-size:var(--text-sm);cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);outline:none;justify-content:center;align-items:center;display:flex}.cal-cell-head{height:var(--size-8);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-contrast-500);cursor:default}.cal-cell-day{gap:var(--size-0-5);min-width:0;height:var(--size-10);color:var(--color-contrast-800);flex-direction:column;overflow:hidden}.cal-cell-day:hover:not([data-disabled]){color:var(--color-contrast-900);background:color-mix(in oklch, var(--_day-selected-bg) 15%, transparent)}.cal-cell-day:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.cal-cell-day[data-today]{font-weight:var(--font-semibold);color:var(--_day-today-color)}.cal-cell-day[data-selected]{font-weight:var(--font-semibold);color:var(--color-white,#fff);background:var(--_day-selected-bg)}.cal-cell-day[data-outside]{opacity:var(--_day-outside-opacity)}.cal-cell-day[data-disabled]{pointer-events:none;cursor:not-allowed;opacity:.3}.cal-dots{margin-top:var(--size-0-5);justify-content:center;align-items:center;gap:2px;display:flex}.cal-dot{--badge-bg:var(--_day-selected-bg);--badge-border-color:var(--_day-selected-bg)}.cal-dot-overflow{font-size:8px;font-weight:var(--font-semibold);color:var(--color-contrast-500);line-height:1}.cal-grid-months,.cal-grid-years{gap:var(--size-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cal-cell-month,.cal-cell-year{height:var(--size-10);font-size:var(--text-sm);color:var(--color-contrast-800);cursor:pointer;border-radius:var(--rounded-md)}.cal-cell-month:hover:not([data-disabled]),.cal-cell-year:hover:not([data-disabled]){background:color-mix(in oklch, var(--_day-selected-bg) 15%, transparent)}.cal-cell-month:focus-visible,.cal-cell-year:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.cal-cell-month[data-selected],.cal-cell-year[data-selected]{font-weight:var(--font-semibold);color:var(--color-white,#fff);background:var(--_day-selected-bg)}.cal-cell-month[data-disabled],.cal-cell-year[data-disabled]{pointer-events:none;cursor:not-allowed;opacity:.3}:host([expanded]){width:100%;display:block}:host([expanded]) .calendar{width:100%;min-width:0;padding:0;overflow:hidden}:host([expanded]) .cal-header{padding:var(--size-3) var(--size-4)}:host([expanded]) .cal-label-btn{font-size:var(--text-base)}:host([expanded]) .cal-grid{gap:0}:host([expanded]) .cal-grid-days{border-top:var(--border) solid var(--_border-color);gap:0}:host([expanded]) .cal-cell{border-radius:0}:host([expanded]) .cal-cell-head{height:var(--size-9);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;border-bottom:var(--border) solid var(--_border-color)}:host([expanded]) .cal-cell-day{height:auto;min-height:var(--calendar-expanded-cell-height,var(--size-28));aspect-ratio:auto;padding:var(--size-2);font-size:var(--text-sm);vertical-align:top;border-bottom:var(--border) solid var(--_border-color);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;position:relative}:host([expanded]) .cal-cell-day:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:var(--border) solid var(--_border-color)}:host([expanded]) .cal-cell-day:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:var(--border) solid var(--_border-color)}:host([expanded]) .cal-cell-day:nth-child(7n):not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:none}:host([expanded]) .cal-cell-day:nth-child(7n):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:none}:host([expanded]) .cal-cell-day:hover:not([data-disabled]){background:color-mix(in oklch, var(--_day-selected-bg) 6%, transparent)}:host([expanded]) .cal-cell-day[data-selected]{color:inherit;background:0 0}:host([expanded]) .cal-cell-day[data-selected]:before{top:var(--size-1-5);left:var(--size-1-5);width:var(--size-7);height:var(--size-7);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-white,#fff);content:attr(data-day);background:var(--_day-selected-bg);border-radius:var(--rounded-full);justify-content:center;align-items:center;display:flex;position:absolute}:host([expanded]) .cal-cell-day[data-today]{font-weight:inherit;color:inherit}:host([expanded]) .cal-cell-day[data-today]:before{top:var(--size-1-5);left:var(--size-1-5);width:var(--size-7);height:var(--size-7);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-white,#fff);content:attr(data-day);background:var(--_day-today-color);border-radius:var(--rounded-full);justify-content:center;align-items:center;display:flex;position:absolute}:host([expanded]) .cal-cell-day[data-today][data-selected]:before{background:var(--_day-selected-bg)}:host([expanded]) .cal-events{width:100%;margin-top:var(--size-4);flex-direction:column;gap:2px;display:flex;overflow:hidden}:host([expanded]) .cal-event-pill{--badge-max-width:100%;max-width:100%}:host([expanded]) .cal-event-pill-overflow{padding-inline:var(--size-1);font-size:10px;font-weight:var(--font-semibold);color:var(--color-contrast-500)}:host([expanded]) .cal-dots{display:none}:host([expanded]) .cal-cell-day[data-outside]{background:color-mix(in oklch, var(--color-contrast-900) 2%, transparent)}:host([expanded]) .cal-grid-months,:host([expanded]) .cal-grid-years{gap:var(--size-2);min-height:0;padding:var(--size-4)}:host([expanded]) .cal-cell-month,:host([expanded]) .cal-cell-year{min-height:var(--size-16);font-size:var(--text-base);border:var(--border) solid var(--_border-color);border-radius:var(--rounded-lg)}:host([expanded]) .cal-cell-month[data-selected],:host([expanded]) .cal-cell-year[data-selected]{border-color:#0000}:host(.is-disabled) .calendar{pointer-events:none;opacity:.6}@media (prefers-reduced-motion:reduce){.nav-btn,.cal-label-btn,.cal-cell{transition:none}}}";
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.css.js","names":[],"sources":["../../../src/inputs/calendar/calendar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-focus));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-focus));\n --_day-outside-opacity: var(--calendar-day-outside-opacity, 0.35);\n --_bg: var(--calendar-bg, var(--color-canvas));\n --_border-color: var(--calendar-border-color, var(--color-contrast-200));\n --_radius: var(--calendar-radius, var(--rounded-xl));\n\n display: inline-block;\n }\n\n :host([fullwidth]) {\n display: block;\n }\n\n :host([color='secondary']) {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-base));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-base));\n }\n\n /* ── Root panel ──────────────────────────────────────────────────────────── */\n\n .calendar {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n min-width: 18rem;\n padding: var(--size-3);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--calendar-shadow, var(--shadow-md));\n }\n\n :host([fullwidth]) .calendar {\n min-width: 0;\n }\n\n /* ── Header ──────────────────────────────────────────────────────────────── */\n\n .cal-header {\n display: flex;\n gap: var(--size-1);\n align-items: center;\n justify-content: space-between;\n padding-block-end: var(--size-2);\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n .nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n padding: 0;\n color: var(--color-contrast-600);\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .nav-btn:hover:not(:disabled) {\n color: var(--color-contrast-900);\n background: var(--color-contrast-300);\n }\n\n .nav-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .nav-btn:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .cal-label-btn {\n flex: 1;\n padding: var(--size-1) var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition: background var(--transition-fast);\n }\n\n .cal-label-btn:hover:not(:disabled) {\n background: var(--color-contrast-300);\n }\n\n .cal-label-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-label-btn:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .cal-label-month,\n .cal-label-year {\n display: inline-block;\n }\n\n .cal-label-sep {\n display: inline-block;\n padding-inline: var(--size-1);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n /* ── Grid base ───────────────────────────────────────────────────────────── */\n\n [hidden] {\n display: none !important;\n }\n\n .cal-grid {\n display: flex;\n flex-direction: column;\n gap: var(--size-0-5);\n }\n\n .cal-grid-days {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: var(--size-0-5);\n\n /* Reserve max height (6 week rows + 1 header) so the panel never shrinks\n on 5-week months or when switching to month/year view. */\n min-height: calc(7 * var(--size-10) + 6 * var(--size-0-5));\n }\n\n /* role=\"row\" wrappers exist for ARIA grid structure only — `display: contents`\n removes them from layout so their children still participate directly in the\n parent's CSS grid tracks. */\n .cal-grid [role='row'] {\n display: contents;\n }\n\n .cal-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--text-sm);\n cursor: pointer;\n outline: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* ── Column headers ──────────────────────────────────────────────────────── */\n\n .cal-cell-head {\n height: var(--size-8);\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n color: var(--color-contrast-500);\n cursor: default;\n }\n\n /* ── Day cells ───────────────────────────────────────────────────────────── */\n\n .cal-cell-day {\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n height: var(--size-10);\n overflow: hidden;\n color: var(--color-contrast-800);\n }\n\n .cal-cell-day:hover:not([data-disabled]) {\n color: var(--color-contrast-900);\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-day:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-today] {\n font-weight: var(--font-semibold);\n color: var(--_day-today-color);\n }\n\n .cal-cell-day[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-outside] {\n opacity: var(--_day-outside-opacity);\n }\n\n .cal-cell-day[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Event dots (normal mode) ────────────────────────────────────────────── */\n\n .cal-dots {\n display: flex;\n gap: 2px;\n align-items: center;\n justify-content: center;\n margin-block-start: var(--size-0-5);\n }\n\n .cal-dot {\n --badge-bg: var(--_day-selected-bg);\n --badge-border-color: var(--_day-selected-bg);\n }\n\n .cal-dot-overflow {\n font-size: 8px;\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-500);\n }\n\n /* ── Month / year grids ──────────────────────────────────────────────────── */\n\n .cal-grid-months,\n .cal-grid-years {\n /* 4-column grid — same width as cal-grid-days, natural height. */\n display: grid;\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: var(--size-1);\n }\n\n .cal-cell-month,\n .cal-cell-year {\n height: var(--size-10);\n font-size: var(--text-sm);\n color: var(--color-contrast-800);\n cursor: pointer;\n border-radius: var(--rounded-md);\n }\n\n .cal-cell-month:hover:not([data-disabled]),\n .cal-cell-year:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-month:focus-visible,\n .cal-cell-year:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-selected],\n .cal-cell-year[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-disabled],\n .cal-cell-year[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Expanded variant ────────────────────────────────────────────────────── */\n\n :host([expanded]) {\n display: block;\n width: 100%;\n }\n\n :host([expanded]) .calendar {\n width: 100%;\n min-width: 0;\n padding: 0;\n overflow: hidden;\n }\n\n :host([expanded]) .cal-header {\n padding: var(--size-3) var(--size-4);\n }\n\n :host([expanded]) .cal-label-btn {\n font-size: var(--text-base);\n }\n\n :host([expanded]) .cal-grid {\n gap: 0;\n }\n\n :host([expanded]) .cal-grid-days {\n gap: 0;\n border-block-start: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell {\n border-radius: 0;\n }\n\n :host([expanded]) .cal-cell-head {\n height: var(--size-9);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell-day {\n position: relative;\n flex-direction: column;\n gap: 0;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n min-height: var(--calendar-expanded-cell-height, var(--size-28));\n aspect-ratio: auto;\n padding: var(--size-2);\n font-size: var(--text-sm);\n vertical-align: top;\n border-block-end: var(--border) solid var(--_border-color);\n border-inline-end: var(--border) solid var(--_border-color);\n }\n\n /* Remove right border on last column */\n :host([expanded]) .cal-cell-day:nth-child(7n) {\n border-inline-end: none;\n }\n\n :host([expanded]) .cal-cell-day:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 6%, transparent);\n }\n\n /* Selected day — circle around the number only */\n :host([expanded]) .cal-cell-day[data-selected] {\n color: inherit;\n background: transparent;\n }\n\n :host([expanded]) .cal-cell-day[data-selected]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-selected-bg);\n border-radius: var(--rounded-full);\n }\n\n /* Today — circle in accent colour */\n :host([expanded]) .cal-cell-day[data-today] {\n font-weight: inherit;\n color: inherit;\n }\n\n :host([expanded]) .cal-cell-day[data-today]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-today-color);\n border-radius: var(--rounded-full);\n }\n\n /* When both today AND selected — selected wins */\n :host([expanded]) .cal-cell-day[data-today][data-selected]::before {\n background: var(--_day-selected-bg);\n }\n\n /* ── Expanded event pills ────────────────────────────────────────────────── */\n\n /* Push events below the day-number circle row */\n :host([expanded]) .cal-events {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin-block-start: var(--size-4);\n overflow: hidden;\n }\n\n :host([expanded]) .cal-event-pill {\n max-width: 100%;\n\n --badge-max-width: 100%;\n }\n\n :host([expanded]) .cal-event-pill-overflow {\n padding-inline: var(--size-1);\n font-size: 10px;\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n }\n\n /* Dots are hidden in expanded mode — pills take over */\n :host([expanded]) .cal-dots {\n display: none;\n }\n\n :host([expanded]) .cal-cell-day[data-outside] {\n background: color-mix(in oklch, var(--color-contrast-900) 2%, transparent);\n }\n\n /* Expanded month / year grids */\n :host([expanded]) .cal-grid-months,\n :host([expanded]) .cal-grid-years {\n gap: var(--size-2);\n min-height: 0;\n padding: var(--size-4);\n }\n\n :host([expanded]) .cal-cell-month,\n :host([expanded]) .cal-cell-year {\n min-height: var(--size-16);\n font-size: var(--text-base);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--rounded-lg);\n }\n\n :host([expanded]) .cal-cell-month[data-selected],\n :host([expanded]) .cal-cell-year[data-selected] {\n border-color: transparent;\n }\n\n /* ── Disabled host ───────────────────────────────────────────────────────── */\n\n :host(.is-disabled) .calendar {\n pointer-events: none;\n opacity: 0.6;\n }\n\n /* ── Reduced motion ──────────────────────────────────────────────────────── */\n\n @media (prefers-reduced-motion: reduce) {\n .nav-btn,\n .cal-label-btn,\n .cal-cell {\n transition: none;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"calendar.css.js","names":[],"sources":["../../../src/inputs/calendar/calendar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-focus));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-focus));\n --_day-outside-opacity: var(--calendar-day-outside-opacity, 0.35);\n --_bg: var(--calendar-bg, var(--color-canvas));\n --_border-color: var(--calendar-border-color, var(--color-contrast-200));\n --_radius: var(--calendar-radius, var(--rounded-xl));\n\n display: inline-block;\n }\n\n :host([fullwidth]) {\n display: block;\n }\n\n :host([color='secondary']) {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-base));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-base));\n }\n\n /* ── Root panel ──────────────────────────────────────────────────────────── */\n\n .calendar {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n min-width: 18rem;\n padding: var(--size-3);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--calendar-shadow, var(--shadow-md));\n }\n\n :host([fullwidth]) .calendar {\n min-width: 0;\n }\n\n /* ── Header ──────────────────────────────────────────────────────────────── */\n\n .cal-header {\n display: flex;\n gap: var(--size-1);\n align-items: center;\n justify-content: space-between;\n padding-block-end: var(--size-2);\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n .nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n padding: 0;\n color: var(--color-contrast-600);\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .nav-btn:hover:not(:disabled) {\n color: var(--color-contrast-900);\n background: var(--color-contrast-300);\n }\n\n .nav-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .nav-btn:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .cal-label-btn {\n flex: 1;\n padding: var(--size-1) var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition: background var(--transition-fast);\n }\n\n .cal-label-btn:hover:not(:disabled) {\n background: var(--color-contrast-300);\n }\n\n .cal-label-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-label-btn:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .cal-label-month,\n .cal-label-year {\n display: inline-block;\n }\n\n .cal-label-sep {\n display: inline-block;\n padding-inline: var(--size-1);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n /* ── Grid base ───────────────────────────────────────────────────────────── */\n\n [hidden] {\n display: none;\n }\n\n .cal-grid {\n display: flex;\n flex-direction: column;\n gap: var(--size-0-5);\n }\n\n .cal-grid-days {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: var(--size-0-5);\n\n /* Reserve max height (6 week rows + 1 header) so the panel never shrinks\n on 5-week months or when switching to month/year view. */\n min-height: calc(7 * var(--size-10) + 6 * var(--size-0-5));\n }\n\n /* role=\"row\" wrappers exist for ARIA grid structure only — `display: contents`\n removes them from layout so their children still participate directly in the\n parent's CSS grid tracks. */\n .cal-grid [role='row'] {\n display: contents;\n }\n\n .cal-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--text-sm);\n cursor: pointer;\n outline: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* ── Column headers ──────────────────────────────────────────────────────── */\n\n .cal-cell-head {\n height: var(--size-8);\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n color: var(--color-contrast-500);\n cursor: default;\n }\n\n /* ── Day cells ───────────────────────────────────────────────────────────── */\n\n .cal-cell-day {\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n height: var(--size-10);\n overflow: hidden;\n color: var(--color-contrast-800);\n }\n\n .cal-cell-day:hover:not([data-disabled]) {\n color: var(--color-contrast-900);\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-day:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-today] {\n font-weight: var(--font-semibold);\n color: var(--_day-today-color);\n }\n\n .cal-cell-day[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-outside] {\n opacity: var(--_day-outside-opacity);\n }\n\n .cal-cell-day[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Event dots (normal mode) ────────────────────────────────────────────── */\n\n .cal-dots {\n display: flex;\n gap: 2px;\n align-items: center;\n justify-content: center;\n margin-block-start: var(--size-0-5);\n }\n\n .cal-dot {\n --badge-bg: var(--_day-selected-bg);\n --badge-border-color: var(--_day-selected-bg);\n }\n\n .cal-dot-overflow {\n font-size: 8px;\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-500);\n }\n\n /* ── Month / year grids ──────────────────────────────────────────────────── */\n\n .cal-grid-months,\n .cal-grid-years {\n /* 4-column grid — same width as cal-grid-days, natural height. */\n display: grid;\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: var(--size-1);\n }\n\n .cal-cell-month,\n .cal-cell-year {\n height: var(--size-10);\n font-size: var(--text-sm);\n color: var(--color-contrast-800);\n cursor: pointer;\n border-radius: var(--rounded-md);\n }\n\n .cal-cell-month:hover:not([data-disabled]),\n .cal-cell-year:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-month:focus-visible,\n .cal-cell-year:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-selected],\n .cal-cell-year[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-disabled],\n .cal-cell-year[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Expanded variant ────────────────────────────────────────────────────── */\n\n :host([expanded]) {\n display: block;\n width: 100%;\n }\n\n :host([expanded]) .calendar {\n width: 100%;\n min-width: 0;\n padding: 0;\n overflow: hidden;\n }\n\n :host([expanded]) .cal-header {\n padding: var(--size-3) var(--size-4);\n }\n\n :host([expanded]) .cal-label-btn {\n font-size: var(--text-base);\n }\n\n :host([expanded]) .cal-grid {\n gap: 0;\n }\n\n :host([expanded]) .cal-grid-days {\n gap: 0;\n border-block-start: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell {\n border-radius: 0;\n }\n\n :host([expanded]) .cal-cell-head {\n height: var(--size-9);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell-day {\n position: relative;\n flex-direction: column;\n gap: 0;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n min-height: var(--calendar-expanded-cell-height, var(--size-28));\n aspect-ratio: auto;\n padding: var(--size-2);\n font-size: var(--text-sm);\n vertical-align: top;\n border-block-end: var(--border) solid var(--_border-color);\n border-inline-end: var(--border) solid var(--_border-color);\n }\n\n /* Remove right border on last column */\n :host([expanded]) .cal-cell-day:nth-child(7n) {\n border-inline-end: none;\n }\n\n :host([expanded]) .cal-cell-day:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 6%, transparent);\n }\n\n /* Selected day — circle around the number only */\n :host([expanded]) .cal-cell-day[data-selected] {\n color: inherit;\n background: transparent;\n }\n\n :host([expanded]) .cal-cell-day[data-selected]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-selected-bg);\n border-radius: var(--rounded-full);\n }\n\n /* Today — circle in accent colour */\n :host([expanded]) .cal-cell-day[data-today] {\n font-weight: inherit;\n color: inherit;\n }\n\n :host([expanded]) .cal-cell-day[data-today]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-today-color);\n border-radius: var(--rounded-full);\n }\n\n /* When both today AND selected — selected wins */\n :host([expanded]) .cal-cell-day[data-today][data-selected]::before {\n background: var(--_day-selected-bg);\n }\n\n /* ── Expanded event pills ────────────────────────────────────────────────── */\n\n /* Push events below the day-number circle row */\n :host([expanded]) .cal-events {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin-block-start: var(--size-4);\n overflow: hidden;\n }\n\n :host([expanded]) .cal-event-pill {\n --badge-max-width: 100%;\n max-width: 100%;\n }\n\n :host([expanded]) .cal-event-pill-overflow {\n padding-inline: var(--size-1);\n font-size: 10px;\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n }\n\n /* Dots are hidden in expanded mode — pills take over */\n :host([expanded]) .cal-dots {\n display: none;\n }\n\n :host([expanded]) .cal-cell-day[data-outside] {\n background: color-mix(in oklch, var(--color-contrast-900) 2%, transparent);\n }\n\n /* Expanded month / year grids */\n :host([expanded]) .cal-grid-months,\n :host([expanded]) .cal-grid-years {\n gap: var(--size-2);\n min-height: 0;\n padding: var(--size-4);\n }\n\n :host([expanded]) .cal-cell-month,\n :host([expanded]) .cal-cell-year {\n min-height: var(--size-16);\n font-size: var(--text-base);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--rounded-lg);\n }\n\n :host([expanded]) .cal-cell-month[data-selected],\n :host([expanded]) .cal-cell-year[data-selected] {\n border-color: transparent;\n }\n\n /* ── Disabled host ───────────────────────────────────────────────────────── */\n\n :host(.is-disabled) .calendar {\n pointer-events: none;\n opacity: 0.6;\n }\n\n /* ── Reduced motion ──────────────────────────────────────────────────────── */\n\n @media (prefers-reduced-motion: reduce) {\n .nav-btn,\n .cal-label-btn,\n .cal-cell {\n transition: none;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/inputs/calendar/calendar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/inputs/calendar/calendar.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,yBAAyB,CAAC;AACjC,OAAO,4BAA4B,CAAC;AAQpC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=`@layer refine.base{:host{--_size:var(--checkbox-size,var(--size-5));--_radius:var(--checkbox-radius,var(--rounded-lg));--_font-size:var(--checkbox-font-size,var(--text-sm));--_bg:var(--checkbox-bg,var(--color-contrast-200));--_border:var(--checkbox-border-color,var(--color-contrast-300));gap:var(--_gap,var(--size-2));min-height:var(--_touch-target);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;display:inline-flex}.checkbox-wrapper{width:var(--_size);height:var(--_size);flex-shrink:0;display:block;position:relative}.box{box-sizing:border-box;width:var(--_size);height:var(--_size);background:var(--_bg);border:var(--border-2) solid var(--_border);border-radius:var(--_radius);transition:background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);position:relative}:host(:focus-visible) .box{box-shadow:var(--_focus-shadow)}.checkmark,.dash{color:var(--_icon-color);opacity:0;transition:opacity var(--transition-spring), transform var(--transition-spring);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.checkmark::part(svg),.dash::part(svg){width:calc(var(--_size) * .6);height:calc(var(--_size) * .6);fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.label{font-size:var(--_font-size);color:var(--color-contrast)}.helper-text[hidden]{display:none}.helper-text{width:100%;font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas))}.helper-text:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(var(--_size) + var(--size-2))}.helper-text:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(var(--_size) + var(--size-2))}.helper-text[role=alert]{color:var(--color-error)}}@layer refine.overrides{:host{--_active-bg:var(--checkbox-checked-bg,var(--_theme-base));--_icon-color:var(--checkbox-color,var(--_theme-contrast));--_focus-shadow:var(--_theme-shadow)}:host([checked]) .box,:host([indeterminate]) .box{background:var(--_active-bg);border-color:var(--_active-bg)}:host([checked]) .checkmark,:host([indeterminate]:not([checked])) .dash{opacity:1;transform:translate(-50%,-50%)scale(1)}}`;exports.default=e;
|
|
1
|
+
var e=`@layer refine.base{:host{--_size:var(--checkbox-size,var(--size-5));--_radius:var(--checkbox-radius,var(--rounded-lg));--_font-size:var(--checkbox-font-size,var(--text-sm));--_bg:var(--checkbox-bg,var(--color-contrast-200));--_border:var(--checkbox-border-color,var(--color-contrast-300));gap:var(--_gap,var(--size-2));min-height:var(--_touch-target);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;display:inline-flex}.checkbox-wrapper{width:var(--_size);height:var(--_size);flex-shrink:0;display:block;position:relative}.box{box-sizing:border-box;width:var(--_size);height:var(--_size);background:var(--_bg);border:var(--border-2) solid var(--_border);border-radius:var(--_radius);transition:background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);position:relative}:host(:focus-visible) .box{box-shadow:var(--_focus-shadow)}.checkmark,.dash{color:var(--_icon-color);opacity:0;transition:opacity var(--transition-spring), transform var(--transition-spring);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.checkmark::part(svg),.dash::part(svg){width:calc(var(--_size) * .6);height:calc(var(--_size) * .6);fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.label{font-size:var(--_font-size);color:var(--color-contrast)}.helper-text[hidden]{display:none}.helper-text{width:100%;font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas))}.helper-text:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(var(--_size) + var(--size-2))}.helper-text:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(var(--_size) + var(--size-2))}.helper-text[role=alert]{color:var(--color-error)}}@layer refine.overrides{:host{--_active-bg:var(--checkbox-checked-bg,var(--_theme-base));--_icon-color:var(--checkbox-color,var(--_theme-contrast));--_focus-shadow:var(--_theme-shadow)}:host([checked]) .box,:host([indeterminate]) .box{background:var(--_active-bg);border-color:var(--_active-bg)}:host([checked]) .checkmark,:host([indeterminate]:not([checked])) .dash{opacity:1;transform:translate(-50%,-50%)scale(1)}}`;exports.default=e;
|
|
2
2
|
//# sourceMappingURL=checkbox.css.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/inputs/checkbox/checkbox.css?inline
|
|
2
|
-
var e = "@layer refine.base{:host{--_size:var(--checkbox-size,var(--size-5));--_radius:var(--checkbox-radius,var(--rounded-lg));--_font-size:var(--checkbox-font-size,var(--text-sm));--_bg:var(--checkbox-bg,var(--color-contrast-200));--_border:var(--checkbox-border-color,var(--color-contrast-300));gap:var(--_gap,var(--size-2));min-height:var(--_touch-target);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;display:inline-flex}.checkbox-wrapper{width:var(--_size);height:var(--_size);flex-shrink:0;display:block;position:relative}.box{box-sizing:border-box;width:var(--_size);height:var(--_size);background:var(--_bg);border:var(--border-2) solid var(--_border);border-radius:var(--_radius);transition:background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);position:relative}:host(:focus-visible) .box{box-shadow:var(--_focus-shadow)}.checkmark,.dash{color:var(--_icon-color);opacity:0;transition:opacity var(--transition-spring), transform var(--transition-spring);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.checkmark::part(svg),.dash::part(svg){width:calc(var(--_size) * .6);height:calc(var(--_size) * .6);fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.label{font-size:var(--_font-size);color:var(--color-contrast)}.helper-text[hidden]{display:none}.helper-text{width:100%;font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas))}.helper-text:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(var(--_size) + var(--size-2))}.helper-text:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(var(--_size) + var(--size-2))}.helper-text[role=alert]{color:var(--color-error)}}@layer refine.overrides{:host{--_active-bg:var(--checkbox-checked-bg,var(--_theme-base));--_icon-color:var(--checkbox-color,var(--_theme-contrast));--_focus-shadow:var(--_theme-shadow)}:host([checked]) .box,:host([indeterminate]) .box{background:var(--_active-bg);border-color:var(--_active-bg)}:host([checked]) .checkmark,:host([indeterminate]:not([checked])) .dash{opacity:1;transform:translate(-50%,-50%)scale(1)}}";
|
|
2
|
+
var e = "@layer refine.base{:host{--_size:var(--checkbox-size,var(--size-5));--_radius:var(--checkbox-radius,var(--rounded-lg));--_font-size:var(--checkbox-font-size,var(--text-sm));--_bg:var(--checkbox-bg,var(--color-contrast-200));--_border:var(--checkbox-border-color,var(--color-contrast-300));gap:var(--_gap,var(--size-2));min-height:var(--_touch-target);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;display:inline-flex}.checkbox-wrapper{width:var(--_size);height:var(--_size);flex-shrink:0;display:block;position:relative}.box{box-sizing:border-box;width:var(--_size);height:var(--_size);background:var(--_bg);border:var(--border-2) solid var(--_border);border-radius:var(--_radius);transition:background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);position:relative}:host(:focus-visible) .box{box-shadow:var(--_focus-shadow)}.checkmark,.dash{color:var(--_icon-color);opacity:0;transition:opacity var(--transition-spring), transform var(--transition-spring);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.checkmark::part(svg),.dash::part(svg){width:calc(var(--_size) * .6);height:calc(var(--_size) * .6);fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.label{font-size:var(--_font-size);color:var(--color-contrast)}.helper-text[hidden]{display:none}.helper-text{width:100%;font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas))}.helper-text:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(var(--_size) + var(--size-2))}.helper-text:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(var(--_size) + var(--size-2))}.helper-text[role=alert]{color:var(--color-error)}}@layer refine.overrides{:host{--_active-bg:var(--checkbox-checked-bg,var(--_theme-base));--_icon-color:var(--checkbox-color,var(--_theme-contrast));--_focus-shadow:var(--_theme-shadow)}:host([checked]) .box,:host([indeterminate]) .box{background:var(--_active-bg);border-color:var(--_active-bg)}:host([checked]) .checkmark,:host([indeterminate]:not([checked])) .dash{opacity:1;transform:translate(-50%,-50%)scale(1)}}";
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/inputs/checkbox/checkbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/inputs/checkbox/checkbox.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,yBAAyB,CAAC;AAejC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Readable } from '@vielzeug/ripple';
|
|
2
|
-
import type { ComponentSize, ThemeColor } from '../../types';
|
|
3
2
|
import { type ChoiceChangeDetail } from '../../core';
|
|
3
|
+
import type { ComponentSize, ThemeColor } from '../../types';
|
|
4
4
|
export type CheckboxGroupContext = {
|
|
5
5
|
color: Readable<ThemeColor | undefined>;
|
|
6
6
|
disabled: Readable<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["../../../src/inputs/checkbox-group/checkbox-group.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,KAAK,QAAQ,EAAU,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["../../../src/inputs/checkbox-group/checkbox-group.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,KAAK,QAAQ,EAAU,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACxC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACvD,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,4DAA8D,CAAC;AAI9F,MAAM,MAAM,qBAAqB,GAAG;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,kBAAkB,EAAG,oBAA6B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=`@layer refine.base{:host{--_dropdown-bg:var(--combobox-dropdown-bg,var(--color-canvas));--_dropdown-border-color:var(--combobox-dropdown-border-color,var(--color-contrast-200));--_option-hover-bg:var(--combobox-option-hover-bg,var(--color-contrast-100));--_option-focus-bg:var(--combobox-option-focus-bg,color-mix(in oklch, var(--_theme-base) 12%, var(--color-contrast-100)));--_option-selected-bg:var(--combobox-option-selected-bg,color-mix(in oklch, var(--_theme-base) 10%, var(--color-contrast-50)));--_option-selected-focus-bg:var(--combobox-option-selected-focus-bg,color-mix(in oklch, var(--_theme-base) 20%, var(--color-contrast-100)));min-width:var(--combobox-min-width,12rem);flex-direction:column;align-items:stretch;display:inline-flex}:host([fullwidth]){width:100%;display:block}.trigger::part(input){cursor:text}.trigger::part(field){height:auto;min-height:var(--input-height,var(--size-10))}.trigger::part(input-row){row-gap:var(--size-1);flex-wrap:wrap;align-items:center}.chips-row,.chips-list{display:contents}ore-chip:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:var(--size-1)}ore-chip:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-1)}.combobox-suffix{gap:var(--size-1);flex-shrink:0;align-items:center;display:flex}.clear-btn{color:var(--color-contrast-400);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.clear-btn[hidden]{display:none}.clear-btn:hover{color:var(--color-contrast-600)}.combobox-suffix-end{gap:var(--size-1);color:var(--color-contrast-500);align-items:center;display:flex}.chevron{transition:var(--_motion-transition,transform var(--transition-fast));flex-shrink:0;align-items:center;display:inline-flex}:host([open]) .chevron{transform:rotate(180deg)}.loader{width:1em;height:1em;animation:var(--_motion-animation,spin var(--transition-loader) infinite);border:2px solid;border-radius:50%;flex-shrink:0;display:none}.loader:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}@keyframes spin{to{transform:rotate(360deg)}}:host([loading]) .loader{display:inline-block}.dropdown{z-index:calc(var(--z-popover,1000) + 1);box-sizing:border-box;max-height:min(16rem,50dvh);padding:var(--size-1);overscroll-behavior:contain;
|
|
1
|
+
var e=`@layer refine.base{:host{--_dropdown-bg:var(--combobox-dropdown-bg,var(--color-canvas));--_dropdown-border-color:var(--combobox-dropdown-border-color,var(--color-contrast-200));--_option-hover-bg:var(--combobox-option-hover-bg,var(--color-contrast-100));--_option-focus-bg:var(--combobox-option-focus-bg,color-mix(in oklch, var(--_theme-base) 12%, var(--color-contrast-100)));--_option-selected-bg:var(--combobox-option-selected-bg,color-mix(in oklch, var(--_theme-base) 10%, var(--color-contrast-50)));--_option-selected-focus-bg:var(--combobox-option-selected-focus-bg,color-mix(in oklch, var(--_theme-base) 20%, var(--color-contrast-100)));min-width:var(--combobox-min-width,12rem);flex-direction:column;align-items:stretch;display:inline-flex}:host([fullwidth]){width:100%;display:block}.trigger::part(input){cursor:text}.trigger::part(field){height:auto;min-height:var(--input-height,var(--size-10))}.trigger::part(input-row){row-gap:var(--size-1);flex-wrap:wrap;align-items:center}.chips-row,.chips-list{display:contents}ore-chip:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:var(--size-1)}ore-chip:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-1)}.combobox-suffix{gap:var(--size-1);flex-shrink:0;align-items:center;display:flex}.clear-btn{color:var(--color-contrast-400);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.clear-btn[hidden]{display:none}.clear-btn:hover{color:var(--color-contrast-600)}.combobox-suffix-end{gap:var(--size-1);color:var(--color-contrast-500);align-items:center;display:flex}.chevron{transition:var(--_motion-transition,transform var(--transition-fast));flex-shrink:0;align-items:center;display:inline-flex}:host([open]) .chevron{transform:rotate(180deg)}.loader{width:1em;height:1em;animation:var(--_motion-animation,spin var(--transition-loader) infinite);border:2px solid;border-radius:50%;flex-shrink:0;display:none}.loader:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}@keyframes spin{to{transform:rotate(360deg)}}:host([loading]) .loader{display:inline-block}.dropdown{z-index:calc(var(--z-popover,1000) + 1);box-sizing:border-box;max-height:min(16rem,50dvh);padding:var(--size-1);overscroll-behavior:contain;pointer-events:none;scrollbar-width:thin;background:var(--_dropdown-bg);border:var(--border) solid var(--_dropdown-border-color);border-radius:var(--_radius);box-shadow:var(--shadow-lg);opacity:0;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));transform:translateY(var(--overlay-enter-translate-y));transition:var(--_motion-transition,opacity var(--transition-fast), transform var(--transition-fast), display var(--transition-fast) allow-discrete);margin:0;position:fixed;inset:0 auto auto 0;overflow-y:auto}.dropdown:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.dropdown:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.dropdown[data-open]{pointer-events:auto;opacity:1;transform:translateY(0)}@starting-style{.dropdown[data-open]{opacity:0;transform:translateY(var(--overlay-enter-translate-y))}}.option{gap:var(--size-2);padding:var(--size-1-5) var(--size-2-5);font-size:var(--text-sm);line-height:var(--leading-normal);cursor:pointer;border-radius:var(--rounded-sm);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;display:flex}.option>span:not(:is(.option-check,.option-icon)){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.option:hover:not([data-disabled]){background:var(--_option-hover-bg)}.option[data-focused]:not([data-disabled]){color:var(--_theme-base);background:var(--_option-focus-bg)}.option[data-selected],.option[aria-selected=true]{font-weight:var(--font-medium);color:var(--_theme-base);background:var(--_option-selected-bg)}.option[data-selected][data-focused],.option[aria-selected=true][data-focused]{background:var(--_option-selected-focus-bg)}.option[data-disabled]{color:var(--color-contrast-400);cursor:not-allowed;opacity:.6}.option-check{color:var(--_theme-base);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;display:inline-flex}.option-check:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.option-check:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.option[data-selected] .option-check,.option[aria-selected=true] .option-check{opacity:1}.no-results,.no-results-create,.dropdown-loading{padding:var(--size-3) var(--size-2-5);font-size:var(--text-sm);color:var(--color-contrast-400);text-align:center}.no-results-create{gap:var(--size-1-5);width:100%;padding:var(--size-1-5) var(--size-2-5);font-size:var(--text-sm);color:var(--_theme-content,var(--color-primary-content));cursor:pointer;border-radius:var(--rounded-sm);background:0 0;border:0;align-items:center;display:flex}.no-results-create:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.no-results-create:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.no-results-create:hover,.no-results-create[data-focused]{background:color-mix(in oklch, var(--_theme-base,var(--color-primary)) 10%, transparent)}.option-icon{flex-shrink:0;align-items:center;display:inline-flex}::slotted(ore-combobox-option){display:none}}`;exports.default=e;
|
|
2
2
|
//# sourceMappingURL=combobox.css.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/inputs/combobox/combobox.css?inline
|
|
2
|
-
var e = "@layer refine.base{:host{--_dropdown-bg:var(--combobox-dropdown-bg,var(--color-canvas));--_dropdown-border-color:var(--combobox-dropdown-border-color,var(--color-contrast-200));--_option-hover-bg:var(--combobox-option-hover-bg,var(--color-contrast-100));--_option-focus-bg:var(--combobox-option-focus-bg,color-mix(in oklch, var(--_theme-base) 12%, var(--color-contrast-100)));--_option-selected-bg:var(--combobox-option-selected-bg,color-mix(in oklch, var(--_theme-base) 10%, var(--color-contrast-50)));--_option-selected-focus-bg:var(--combobox-option-selected-focus-bg,color-mix(in oklch, var(--_theme-base) 20%, var(--color-contrast-100)));min-width:var(--combobox-min-width,12rem);flex-direction:column;align-items:stretch;display:inline-flex}:host([fullwidth]){width:100%;display:block}.trigger::part(input){cursor:text}.trigger::part(field){height:auto;min-height:var(--input-height,var(--size-10))}.trigger::part(input-row){row-gap:var(--size-1);flex-wrap:wrap;align-items:center}.chips-row,.chips-list{display:contents}ore-chip:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:var(--size-1)}ore-chip:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-1)}.combobox-suffix{gap:var(--size-1);flex-shrink:0;align-items:center;display:flex}.clear-btn{color:var(--color-contrast-400);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.clear-btn[hidden]{display:none}.clear-btn:hover{color:var(--color-contrast-600)}.combobox-suffix-end{gap:var(--size-1);color:var(--color-contrast-500);align-items:center;display:flex}.chevron{transition:var(--_motion-transition,transform var(--transition-fast));flex-shrink:0;align-items:center;display:inline-flex}:host([open]) .chevron{transform:rotate(180deg)}.loader{width:1em;height:1em;animation:var(--_motion-animation,spin var(--transition-loader) infinite);border:2px solid;border-radius:50%;flex-shrink:0;display:none}.loader:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}@keyframes spin{to{transform:rotate(360deg)}}:host([loading]) .loader{display:inline-block}.dropdown{z-index:calc(var(--z-popover,1000) + 1);box-sizing:border-box;max-height:min(16rem,50dvh);padding:var(--size-1);overscroll-behavior:contain;
|
|
2
|
+
var e = "@layer refine.base{:host{--_dropdown-bg:var(--combobox-dropdown-bg,var(--color-canvas));--_dropdown-border-color:var(--combobox-dropdown-border-color,var(--color-contrast-200));--_option-hover-bg:var(--combobox-option-hover-bg,var(--color-contrast-100));--_option-focus-bg:var(--combobox-option-focus-bg,color-mix(in oklch, var(--_theme-base) 12%, var(--color-contrast-100)));--_option-selected-bg:var(--combobox-option-selected-bg,color-mix(in oklch, var(--_theme-base) 10%, var(--color-contrast-50)));--_option-selected-focus-bg:var(--combobox-option-selected-focus-bg,color-mix(in oklch, var(--_theme-base) 20%, var(--color-contrast-100)));min-width:var(--combobox-min-width,12rem);flex-direction:column;align-items:stretch;display:inline-flex}:host([fullwidth]){width:100%;display:block}.trigger::part(input){cursor:text}.trigger::part(field){height:auto;min-height:var(--input-height,var(--size-10))}.trigger::part(input-row){row-gap:var(--size-1);flex-wrap:wrap;align-items:center}.chips-row,.chips-list{display:contents}ore-chip:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:var(--size-1)}ore-chip:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-1)}.combobox-suffix{gap:var(--size-1);flex-shrink:0;align-items:center;display:flex}.clear-btn{color:var(--color-contrast-400);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.clear-btn[hidden]{display:none}.clear-btn:hover{color:var(--color-contrast-600)}.combobox-suffix-end{gap:var(--size-1);color:var(--color-contrast-500);align-items:center;display:flex}.chevron{transition:var(--_motion-transition,transform var(--transition-fast));flex-shrink:0;align-items:center;display:inline-flex}:host([open]) .chevron{transform:rotate(180deg)}.loader{width:1em;height:1em;animation:var(--_motion-animation,spin var(--transition-loader) infinite);border:2px solid;border-radius:50%;flex-shrink:0;display:none}.loader:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}@keyframes spin{to{transform:rotate(360deg)}}:host([loading]) .loader{display:inline-block}.dropdown{z-index:calc(var(--z-popover,1000) + 1);box-sizing:border-box;max-height:min(16rem,50dvh);padding:var(--size-1);overscroll-behavior:contain;pointer-events:none;scrollbar-width:thin;background:var(--_dropdown-bg);border:var(--border) solid var(--_dropdown-border-color);border-radius:var(--_radius);box-shadow:var(--shadow-lg);opacity:0;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));transform:translateY(var(--overlay-enter-translate-y));transition:var(--_motion-transition,opacity var(--transition-fast), transform var(--transition-fast), display var(--transition-fast) allow-discrete);margin:0;position:fixed;inset:0 auto auto 0;overflow-y:auto}.dropdown:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.dropdown:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.dropdown[data-open]{pointer-events:auto;opacity:1;transform:translateY(0)}@starting-style{.dropdown[data-open]{opacity:0;transform:translateY(var(--overlay-enter-translate-y))}}.option{gap:var(--size-2);padding:var(--size-1-5) var(--size-2-5);font-size:var(--text-sm);line-height:var(--leading-normal);cursor:pointer;border-radius:var(--rounded-sm);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;display:flex}.option>span:not(:is(.option-check,.option-icon)){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.option:hover:not([data-disabled]){background:var(--_option-hover-bg)}.option[data-focused]:not([data-disabled]){color:var(--_theme-base);background:var(--_option-focus-bg)}.option[data-selected],.option[aria-selected=true]{font-weight:var(--font-medium);color:var(--_theme-base);background:var(--_option-selected-bg)}.option[data-selected][data-focused],.option[aria-selected=true][data-focused]{background:var(--_option-selected-focus-bg)}.option[data-disabled]{color:var(--color-contrast-400);cursor:not-allowed;opacity:.6}.option-check{color:var(--_theme-base);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;display:inline-flex}.option-check:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.option-check:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.option[data-selected] .option-check,.option[aria-selected=true] .option-check{opacity:1}.no-results,.no-results-create,.dropdown-loading{padding:var(--size-3) var(--size-2-5);font-size:var(--text-sm);color:var(--color-contrast-400);text-align:center}.no-results-create{gap:var(--size-1-5);width:100%;padding:var(--size-1-5) var(--size-2-5);font-size:var(--text-sm);color:var(--_theme-content,var(--color-primary-content));cursor:pointer;border-radius:var(--rounded-sm);background:0 0;border:0;align-items:center;display:flex}.no-results-create:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.no-results-create:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.no-results-create:hover,.no-results-create[data-focused]{background:color-mix(in oklch, var(--_theme-base,var(--color-primary)) 10%, transparent)}.option-icon{flex-shrink:0;align-items:center;display:inline-flex}::slotted(ore-combobox-option){display:none}}";
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/inputs/combobox/combobox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/inputs/combobox/combobox.ts"],"names":[],"mappings":"AA2BA,OAAO,0BAA0B,CAAC;AAClC,OAAO,gBAAgB,CAAC;AAGxB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid-column.cjs","names":[],"sources":["../../../src/inputs/datagrid/datagrid-column.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"datagrid-column.cjs","names":[],"sources":["../../../src/inputs/datagrid/datagrid-column.ts"],"sourcesContent":["import { warn } from '../../_dev';\nimport type { DataGridColumn } from './datagrid-model';\n\n// ── Declarative ore-column element ────────────────────────────────────────────\n\n/**\n * Declarative column definition for `<ore-datagrid>`.\n * Use as a child element instead of setting the `columns` prop imperatively.\n *\n * @element ore-column\n *\n * @attr {string} key - Row property key (required)\n * @attr {string} label - Header display label (required)\n * @attr {boolean} sortable - Makes the column sortable\n * @attr {boolean} resizable - Adds a drag handle to resize the column\n * @attr {string} align - Text alignment: 'left' | 'center' | 'right'\n * @attr {string} width - CSS column width (e.g. '12rem')\n * @attr {string} header-label - Accessible label override for the column header\n *\n * @example\n * ```html\n * <ore-datagrid>\n * <ore-column key=\"name\" label=\"Name\" sortable></ore-column>\n * <ore-column key=\"email\" label=\"Email\" width=\"20rem\"></ore-column>\n * </ore-datagrid>\n * ```\n */\nif (!customElements.get('ore-column'))\n customElements.define(\n 'ore-column',\n class extends HTMLElement {\n connectedCallback(): void {\n if (!this.getAttribute('key')) {\n warn('ore-column: missing required `key` attribute');\n }\n\n if (!this.getAttribute('label')) {\n warn('ore-column: missing required `label` attribute');\n }\n }\n },\n );\n\nexport const COLUMN_TAG = 'ore-column' as const;\n\n/** Attributes observed by the column MutationObserver in ore-datagrid. */\nexport const COLUMN_OBSERVED_ATTRS = [\n 'key',\n 'label',\n 'sortable',\n 'resizable',\n 'align',\n 'width',\n 'header-label',\n] as const;\n\n/** Parse all `<ore-column>` direct children of `host` into DataGridColumn descriptors. */\nexport function parseColumnChildren(host: HTMLElement): DataGridColumn[] {\n return Array.from(host.querySelectorAll(':scope > ore-column')).map((el) => ({\n align: (el.getAttribute('align') as 'left' | 'center' | 'right' | null) ?? undefined,\n headerLabel: el.getAttribute('header-label') ?? undefined,\n key: el.getAttribute('key') ?? '',\n label: el.getAttribute('label') ?? '',\n resizable: el.hasAttribute('resizable'),\n sortable: el.hasAttribute('sortable'),\n width: el.getAttribute('width') ?? undefined,\n }));\n}\n"],"mappings":"0BA2BK,eAAe,IAAI,YAAY,GAClC,eAAe,OACb,aACA,cAAc,WAAY,CACxB,mBAA0B,CACnB,KAAK,aAAa,KAAK,EAIvB,KAAK,aAAa,OAAO,CAGhC,CACF,CACF,EAEF,IAAa,EAAa,aAGb,EAAwB,CACnC,MACA,QACA,WACA,YACA,QACA,QACA,cACF,EAGA,SAAgB,EAAoB,EAAqC,CACvE,OAAO,MAAM,KAAK,EAAK,iBAAiB,qBAAqB,CAAC,CAAC,CAAC,IAAK,IAAQ,CAC3E,MAAQ,EAAG,aAAa,OAAO,GAA4C,IAAA,GAC3E,YAAa,EAAG,aAAa,cAAc,GAAK,IAAA,GAChD,IAAK,EAAG,aAAa,KAAK,GAAK,GAC/B,MAAO,EAAG,aAAa,OAAO,GAAK,GACnC,UAAW,EAAG,aAAa,WAAW,EACtC,SAAU,EAAG,aAAa,UAAU,EACpC,MAAO,EAAG,aAAa,OAAO,GAAK,IAAA,EACrC,EAAE,CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid-column.d.ts","sourceRoot":"","sources":["../../../src/inputs/datagrid/datagrid-column.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"datagrid-column.d.ts","sourceRoot":"","sources":["../../../src/inputs/datagrid/datagrid-column.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CvD,eAAO,MAAM,UAAU,EAAG,YAAqB,CAAC;AAEhD,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,sFAQxB,CAAC;AAEX,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,EAAE,CAUvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid-column.js","names":[],"sources":["../../../src/inputs/datagrid/datagrid-column.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"datagrid-column.js","names":[],"sources":["../../../src/inputs/datagrid/datagrid-column.ts"],"sourcesContent":["import { warn } from '../../_dev';\nimport type { DataGridColumn } from './datagrid-model';\n\n// ── Declarative ore-column element ────────────────────────────────────────────\n\n/**\n * Declarative column definition for `<ore-datagrid>`.\n * Use as a child element instead of setting the `columns` prop imperatively.\n *\n * @element ore-column\n *\n * @attr {string} key - Row property key (required)\n * @attr {string} label - Header display label (required)\n * @attr {boolean} sortable - Makes the column sortable\n * @attr {boolean} resizable - Adds a drag handle to resize the column\n * @attr {string} align - Text alignment: 'left' | 'center' | 'right'\n * @attr {string} width - CSS column width (e.g. '12rem')\n * @attr {string} header-label - Accessible label override for the column header\n *\n * @example\n * ```html\n * <ore-datagrid>\n * <ore-column key=\"name\" label=\"Name\" sortable></ore-column>\n * <ore-column key=\"email\" label=\"Email\" width=\"20rem\"></ore-column>\n * </ore-datagrid>\n * ```\n */\nif (!customElements.get('ore-column'))\n customElements.define(\n 'ore-column',\n class extends HTMLElement {\n connectedCallback(): void {\n if (!this.getAttribute('key')) {\n warn('ore-column: missing required `key` attribute');\n }\n\n if (!this.getAttribute('label')) {\n warn('ore-column: missing required `label` attribute');\n }\n }\n },\n );\n\nexport const COLUMN_TAG = 'ore-column' as const;\n\n/** Attributes observed by the column MutationObserver in ore-datagrid. */\nexport const COLUMN_OBSERVED_ATTRS = [\n 'key',\n 'label',\n 'sortable',\n 'resizable',\n 'align',\n 'width',\n 'header-label',\n] as const;\n\n/** Parse all `<ore-column>` direct children of `host` into DataGridColumn descriptors. */\nexport function parseColumnChildren(host: HTMLElement): DataGridColumn[] {\n return Array.from(host.querySelectorAll(':scope > ore-column')).map((el) => ({\n align: (el.getAttribute('align') as 'left' | 'center' | 'right' | null) ?? undefined,\n headerLabel: el.getAttribute('header-label') ?? undefined,\n key: el.getAttribute('key') ?? '',\n label: el.getAttribute('label') ?? '',\n resizable: el.hasAttribute('resizable'),\n sortable: el.hasAttribute('sortable'),\n width: el.getAttribute('width') ?? undefined,\n }));\n}\n"],"mappings":";;AA2BK,eAAe,IAAI,YAAY,KAClC,eAAe,OACb,cACA,cAAc,YAAY;CACxB,oBAA0B;EAKxB,AAJK,KAAK,aAAa,KAAK,GAIvB,KAAK,aAAa,OAAO;CAGhC;AACF,CACF;AAEF,IAAa,IAAa,cAGb,IAAwB;CACnC;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,SAAgB,EAAoB,GAAqC;CACvE,OAAO,MAAM,KAAK,EAAK,iBAAiB,qBAAqB,CAAC,CAAC,CAAC,KAAK,OAAQ;EAC3E,OAAQ,EAAG,aAAa,OAAO,KAA4C,KAAA;EAC3E,aAAa,EAAG,aAAa,cAAc,KAAK,KAAA;EAChD,KAAK,EAAG,aAAa,KAAK,KAAK;EAC/B,OAAO,EAAG,aAAa,OAAO,KAAK;EACnC,WAAW,EAAG,aAAa,WAAW;EACtC,UAAU,EAAG,aAAa,UAAU;EACpC,OAAO,EAAG,aAAa,OAAO,KAAK,KAAA;CACrC,EAAE;AACJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
let e=require("@vielzeug/ripple")
|
|
1
|
+
let e=require("@vielzeug/ripple");var t=[{label:`Contains`,value:`contains`},{label:`Equals`,value:`equals`},{label:`Greater than`,value:`gt`},{label:`Less than`,value:`lt`}],n=n=>{let r=(0,e.signal)(``),i=(0,e.signal)(!1),a=(0,e.signal)(new Set),o=(0,e.signal)(new Set),s=(0,e.signal)(new Map),c=(0,e.signal)(``),l=(0,e.signal)(`none`),u=(0,e.signal)(new Set),d=(0,e.signal)(0),f=(0,e.computed)(()=>new Set(n.columns.value.map(e=>e.key))),p=(0,e.computed)(()=>n.columns.value.filter(e=>!a.value.has(e.key))),m=(0,e.computed)(()=>{let e=new Set((n.filterOptions.value??[]).map(e=>e.key)),t=[...o.value].filter(t=>!e.has(t));if(!t.length)return new Map;let r=new Map;for(let e of t){let t=new Set,i=[];for(let r of n.items.value){let n=r[e],a=n==null?``:String(n);t.has(a)||(t.add(a),i.push({label:a||`(empty)`,value:a}))}r.set(e,i)}return r}),h=(0,e.computed)(()=>{let e=n.filterOptions.value??[],r=new Set(e.map(e=>e.key)),i=[...o.value].filter(e=>!r.has(e)).map(e=>({key:e,label:n.columns.value.find(t=>t.key===e)?.label??e,operators:t,options:m.value.get(e)??[]}));return[...e.map(e=>({...e,operators:e.operators??t})),...i]}),g=(0,e.computed)(()=>{let e=n.items.value;if(!n.clientSide.value)return e;let t=r.value.trim().toLowerCase();return t?e.filter(e=>Object.values(e).some(e=>e!=null&&String(e).toLowerCase().includes(t))):e}),_=(0,e.computed)(()=>{let e=g.value;return!n.clientSide.value||!s.value.size?e:e.filter(e=>{for(let[t,n]of s.value){if(!n.values.size||!f.value.has(t))continue;let r=e[t],i=r==null?``:String(r);if(n.operator===`equals`&&!n.values.has(i)||n.operator===`contains`&&![...n.values].some(e=>i.toLowerCase().includes(e.toLowerCase())))return!1;if(n.operator===`gt`||n.operator===`lt`){let e=parseFloat(i),t=[...n.values].map(parseFloat).filter(e=>!Number.isNaN(e));if(!t.length)continue;if(n.operator===`gt`&&!t.some(t=>e>t)||n.operator===`lt`&&!t.some(t=>e<t))return!1}}return!0})}),v=(0,e.computed)(()=>({direction:l.value,key:c.value})),y=(0,e.computed)(()=>{let e=_.value;if(!n.clientSide.value||n.sortMode.value===`server`)return e;let{direction:t,key:r}=v.value;if(!r||t===`none`)return e;let i=n.columns.value.find(e=>e.key===r);return e.slice().sort((e,n)=>{let a=i?.sortValue?i.sortValue(e):e[r],o=i?.sortValue?i.sortValue(n):n[r],s=typeof a==`number`&&typeof o==`number`?a-o:String(a??``).localeCompare(String(o??``));return t===`asc`?s:-s})}),b=(0,e.computed)(()=>y.value.length),x=(0,e.computed)(()=>{let e=n.pageSize.value;return Math.ceil(b.value/(e<=0?2**53-1:e))}),S=(0,e.computed)(()=>x.value?Math.min(d.value,x.value-1):-1),C=(0,e.computed)(()=>{let e=n.pageSize.value;if(e<=0)return y.value;let t=S.value*e;return y.value.slice(t,t+e)}),w=(0,e.computed)(()=>x.value>0&&S.value<x.value-1),T=(0,e.computed)(()=>S.value>0),E=(0,e.computed)(()=>n.items.value.filter(e=>u.value.has(n.getRowKey(e))));(0,e.watch)(f,e=>{let t=new Set([...o.value].filter(t=>e.has(t))),n=new Map([...s.value].filter(([t])=>e.has(t)));t.size!==o.value.size&&(o.value=t),n.size!==s.value.size&&(s.value=n)},{immediate:!1}),(0,e.watch)(y,()=>{d.value=0});let D=e=>{u.value=e,n.onSelectionChange?.(e)},O=(e,t)=>{let n=new Map(s.value);t.length?n.set(e,{operator:n.get(e)?.operator??`contains`,values:new Set(t)}):n.delete(e),s.value=n},k=(e,t)=>{let n=s.value.get(e);n&&(s.value=new Map(s.value).set(e,{...n,operator:t}))},A=(e,t)=>{c.value=t===`none`?``:e,l.value=t,d.value=0,n.onSortChange?.(v.value)};return{activateFilterKey:e=>{o.value.has(e)||(o.value=new Set([...o.value,e]))},clearAllFilters:()=>{o.value=new Set,s.value=new Map},clearSelection:()=>D(new Set),currentPageItems:C,filterDefs:h,filteredRows:_,filterValues:s,goToPage:e=>{Number.isFinite(e)&&(d.value=Math.max(0,e))},hasNextPage:w,hasPrevPage:T,hiddenColumns:a,isAllSelected:()=>{let e=C.value;return e.length>0&&e.every(e=>u.value.has(n.getRowKey(e)))},nextPage:()=>{w.value&&(d.value=S.value+1)},pageCount:x,pageIndex:S,prevPage:()=>{T.value&&(d.value=S.value-1)},removeFilter:e=>{let t=new Set(o.value);t.delete(e),o.value=t;let n=new Map(s.value);n.delete(e),s.value=n},resetFilters:()=>{o.value=new Set,s.value=new Map},resetSearch:()=>{r.value=``,i.value=!1},searchActive:i,searchQuery:r,selectAll:()=>{if(n.selectionMode.value!==`multi`)return;let e=new Set(u.value);if(C.value.every(t=>e.has(n.getRowKey(t))))for(let t of C.value)e.delete(n.getRowKey(t));else for(let t of C.value)e.add(n.getRowKey(t));D(e)},selectedKeys:(0,e.computed)(()=>new Set(u.value)),selectedRows:E,setActiveFilterKeys:e=>{let t=new Set(e);o.value=t,s.value=new Map([...s.value].filter(([e])=>t.has(e)))},setFilter:O,setFilterOperator:k,setSearchQuery:e=>{r.value=e},setSelection:e=>D(new Set(e)),sortBy:e=>{let t=c.value===e?l.value===`asc`?`desc`:l.value===`desc`?`none`:`asc`:`asc`;A(t===`none`?``:e,t)},sortState:v,sortTo:A,toggleColumnVisibility:e=>{let t=new Set(a.value);t.has(e)?t.delete(e):t.add(e),a.value=t},toggleRow:e=>{if(n.selectionMode.value===`none`)return;let t=new Set(u.value);t.has(e)?t.delete(e):(n.selectionMode.value===`single`&&t.clear(),t.add(e)),D(t)},toggleSearch:()=>{i.value&&(r.value=``),i.value=!i.value},totalItems:b,visibleColumns:p}};exports.createDataGridModel=n;
|
|
2
2
|
//# sourceMappingURL=datagrid-model.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid-model.cjs","names":[],"sources":["../../../src/inputs/datagrid/datagrid-model.ts"],"sourcesContent":["import { computed, signal, type Readable } from '@vielzeug/ripple';\nimport { watch } from '@vielzeug/ripple/watch';\n\nexport type SortDirection = 'asc' | 'desc' | 'none';\n\nexport type SortState = {\n direction: SortDirection;\n key: string;\n};\n\nexport type DataGridColumn<T = Record<string, unknown>> = {\n align?: 'left' | 'center' | 'right';\n cell?: (item: T) => string;\n headerLabel?: string;\n key: string;\n label: string;\n renderExpanded?: (item: T) => string;\n resizable?: boolean;\n sortable?: boolean;\n sortValue?: (item: T) => number | string;\n width?: string;\n};\n\nexport type SelectionMode = 'multi' | 'none' | 'single';\n\nexport type FilterOption = {\n key: string;\n label: string;\n operators?: { label: string; value: string }[];\n options: { label?: string; value: string }[];\n};\n\nexport type FilterOperator = 'contains' | 'equals' | 'gt' | 'lt';\n\nexport type FilterRule = {\n operator: FilterOperator;\n values: Set<string>;\n};\n\nexport type DataGridView = {\n id: string;\n label: string;\n};\n\nexport type DataGridModelOptions<T = Record<string, unknown>> = {\n clientSide: Readable<boolean>;\n columns: Readable<DataGridColumn<T>[]>;\n filterOptions: Readable<FilterOption[] | undefined>;\n getRowKey: (item: T) => string;\n items: Readable<T[]>;\n onSelectionChange?: (keys: Set<string>) => void;\n onSortChange?: (sort: SortState) => void;\n pageSize: Readable<number>;\n selectionMode: Readable<SelectionMode>;\n sortMode: Readable<'client' | 'server'>;\n};\n\nexport type DataGridModel<T = Record<string, unknown>> = {\n activateFilterKey(key: string): void;\n clearAllFilters(): void;\n clearSelection(): void;\n readonly currentPageItems: Readable<T[]>;\n readonly filterDefs: Readable<FilterOption[]>;\n readonly filteredRows: Readable<T[]>;\n readonly filterValues: Readable<Map<string, FilterRule>>;\n goToPage(index: number): void;\n readonly hasNextPage: Readable<boolean>;\n readonly hasPrevPage: Readable<boolean>;\n readonly hiddenColumns: Readable<Set<string>>;\n isAllSelected(): boolean;\n nextPage(): void;\n readonly pageCount: Readable<number>;\n readonly pageIndex: Readable<number>;\n prevPage(): void;\n removeFilter(key: string): void;\n resetFilters(): void;\n resetSearch(): void;\n readonly searchActive: Readable<boolean>;\n readonly searchQuery: Readable<string>;\n selectAll(): void;\n readonly selectedKeys: Readable<ReadonlySet<string>>;\n readonly selectedRows: Readable<T[]>;\n setActiveFilterKeys(keys: string[]): void;\n setFilter(key: string, values: string[]): void;\n setFilterOperator(key: string, operator: FilterOperator): void;\n setSearchQuery(query: string): void;\n setSelection(keys: Set<string>): void;\n sortBy(key: string): void;\n readonly sortState: Readable<SortState>;\n sortTo(key: string, direction: SortDirection): void;\n toggleColumnVisibility(key: string): void;\n toggleRow(key: string): void;\n toggleSearch(): void;\n readonly totalItems: Readable<number>;\n readonly visibleColumns: Readable<DataGridColumn<T>[]>;\n};\n\nconst DEFAULT_OPERATORS: { label: string; value: FilterOperator }[] = [\n { label: 'Contains', value: 'contains' },\n { label: 'Equals', value: 'equals' },\n { label: 'Greater than', value: 'gt' },\n { label: 'Less than', value: 'lt' },\n];\n\n/**\n * Feature-owned state and transform pipeline for `ore-datagrid`.\n *\n * Rows flow through query, filters, sorting, and pagination in order. Selection\n * and column visibility share the same model so every interactive grid concern\n * has one reactive owner. Source-backed grids retain their server-owned rows by\n * setting `clientSide` to false.\n */\nexport const createDataGridModel = <T extends Record<string, unknown>>(\n options: DataGridModelOptions<T>,\n): DataGridModel<T> => {\n const searchQuery = signal('');\n const searchActive = signal(false);\n const hiddenColumns = signal(new Set<string>());\n const activeFilterKeys = signal(new Set<string>());\n const filterValues = signal(new Map<string, FilterRule>());\n const sortKey = signal('');\n const sortDirection = signal<SortDirection>('none');\n const selectedKeys = signal(new Set<string>());\n const pageIndex = signal(0);\n\n const columnKeys = computed(() => new Set(options.columns.value.map((column) => column.key)));\n const visibleColumns = computed(() => options.columns.value.filter((column) => !hiddenColumns.value.has(column.key)));\n\n const colOptions = computed(() => {\n const externalKeys = new Set((options.filterOptions.value ?? []).map((filter) => filter.key));\n const activeKeys = [...activeFilterKeys.value].filter((key) => !externalKeys.has(key));\n\n if (!activeKeys.length) return new Map<string, { label: string; value: string }[]>();\n\n const derived = new Map<string, { label: string; value: string }[]>();\n\n for (const key of activeKeys) {\n const seen = new Set<string>();\n const values: { label: string; value: string }[] = [];\n\n for (const row of options.items.value) {\n const value = row[key];\n const stringValue = value == null ? '' : String(value);\n\n if (!seen.has(stringValue)) {\n seen.add(stringValue);\n values.push({ label: stringValue || '(empty)', value: stringValue });\n }\n }\n\n derived.set(key, values);\n }\n\n return derived;\n });\n\n const filterDefs = computed<FilterOption[]>(() => {\n const provided = options.filterOptions.value ?? [];\n const providedKeys = new Set(provided.map((filter) => filter.key));\n const derived = [...activeFilterKeys.value]\n .filter((key) => !providedKeys.has(key))\n .map((key) => {\n const column = options.columns.value.find((candidate) => candidate.key === key);\n\n return {\n key,\n label: column?.label ?? key,\n operators: DEFAULT_OPERATORS,\n options: colOptions.value.get(key) ?? [],\n };\n });\n\n return [...provided.map((filter) => ({ ...filter, operators: filter.operators ?? DEFAULT_OPERATORS })), ...derived];\n });\n\n const searchedRows = computed(() => {\n const rows = options.items.value;\n\n if (!options.clientSide.value) return rows;\n\n const query = searchQuery.value.trim().toLowerCase();\n\n if (!query) return rows;\n\n return rows.filter((row) =>\n Object.values(row).some((value) => value != null && String(value).toLowerCase().includes(query)),\n );\n });\n\n const filteredRows = computed(() => {\n const rows = searchedRows.value;\n\n if (!options.clientSide.value || !filterValues.value.size) return rows;\n\n return rows.filter((row) => {\n for (const [key, rule] of filterValues.value) {\n if (!rule.values.size || !columnKeys.value.has(key)) continue;\n\n const value = row[key];\n const stringValue = value == null ? '' : String(value);\n\n if (rule.operator === 'equals' && !rule.values.has(stringValue)) return false;\n\n if (\n rule.operator === 'contains' &&\n ![...rule.values].some((target) => stringValue.toLowerCase().includes(target.toLowerCase()))\n ) {\n return false;\n }\n\n if (rule.operator === 'gt' || rule.operator === 'lt') {\n const numericValue = parseFloat(stringValue);\n const targets = [...rule.values].map(parseFloat).filter((target) => !Number.isNaN(target));\n\n if (!targets.length) continue;\n\n if (rule.operator === 'gt' && !targets.some((target) => numericValue > target)) return false;\n\n if (rule.operator === 'lt' && !targets.some((target) => numericValue < target)) return false;\n }\n }\n\n return true;\n });\n });\n\n const sortState = computed<SortState>(() => ({ direction: sortDirection.value, key: sortKey.value }));\n const sortedRows = computed(() => {\n const rows = filteredRows.value;\n\n if (!options.clientSide.value || options.sortMode.value === 'server') return rows;\n\n const { direction, key } = sortState.value;\n\n if (!key || direction === 'none') return rows;\n\n const column = options.columns.value.find((candidate) => candidate.key === key);\n\n return rows.slice().sort((a, b) => {\n const aValue = column?.sortValue ? column.sortValue(a) : (a[key] as number | string);\n const bValue = column?.sortValue ? column.sortValue(b) : (b[key] as number | string);\n const comparison =\n typeof aValue === 'number' && typeof bValue === 'number'\n ? aValue - bValue\n : String(aValue ?? '').localeCompare(String(bValue ?? ''));\n\n return direction === 'asc' ? comparison : -comparison;\n });\n });\n\n const totalItems = computed(() => sortedRows.value.length);\n const pageCount = computed(() => {\n const size = options.pageSize.value;\n\n return Math.ceil(totalItems.value / (size <= 0 ? Number.MAX_SAFE_INTEGER : size));\n });\n const safePageIndex = computed(() => (pageCount.value ? Math.min(pageIndex.value, pageCount.value - 1) : -1));\n const currentPageItems = computed(() => {\n const size = options.pageSize.value;\n\n if (size <= 0) return sortedRows.value;\n\n const start = safePageIndex.value * size;\n\n return sortedRows.value.slice(start, start + size);\n });\n const hasNextPage = computed(() => pageCount.value > 0 && safePageIndex.value < pageCount.value - 1);\n const hasPrevPage = computed(() => safePageIndex.value > 0);\n const selectedRows = computed(() =>\n options.items.value.filter((item) => selectedKeys.value.has(options.getRowKey(item))),\n );\n\n watch(\n columnKeys,\n (keys) => {\n const nextActiveKeys = new Set([...activeFilterKeys.value].filter((key) => keys.has(key)));\n const nextValues = new Map([...filterValues.value].filter(([key]) => keys.has(key)));\n\n if (nextActiveKeys.size !== activeFilterKeys.value.size) activeFilterKeys.value = nextActiveKeys;\n\n if (nextValues.size !== filterValues.value.size) filterValues.value = nextValues;\n },\n { immediate: false },\n );\n\n watch(sortedRows, () => {\n pageIndex.value = 0;\n });\n\n const commitSelection = (next: Set<string>): void => {\n selectedKeys.value = next;\n options.onSelectionChange?.(next);\n };\n\n const setFilter = (key: string, values: string[]): void => {\n const next = new Map(filterValues.value);\n\n if (values.length) {\n next.set(key, { operator: next.get(key)?.operator ?? 'contains', values: new Set(values) });\n } else {\n next.delete(key);\n }\n\n filterValues.value = next;\n };\n\n const setFilterOperator = (key: string, operator: FilterOperator): void => {\n const rule = filterValues.value.get(key);\n\n if (rule) filterValues.value = new Map(filterValues.value).set(key, { ...rule, operator });\n };\n\n const sortTo = (key: string, direction: SortDirection): void => {\n sortKey.value = direction === 'none' ? '' : key;\n sortDirection.value = direction;\n pageIndex.value = 0;\n options.onSortChange?.(sortState.value);\n };\n\n return {\n activateFilterKey: (key) => {\n if (!activeFilterKeys.value.has(key)) activeFilterKeys.value = new Set([...activeFilterKeys.value, key]);\n },\n clearAllFilters: () => {\n activeFilterKeys.value = new Set();\n filterValues.value = new Map();\n },\n clearSelection: () => commitSelection(new Set()),\n currentPageItems,\n filterDefs,\n filteredRows,\n filterValues,\n goToPage: (index) => {\n if (Number.isFinite(index)) pageIndex.value = Math.max(0, index);\n },\n hasNextPage,\n hasPrevPage,\n hiddenColumns,\n isAllSelected: () => {\n const page = currentPageItems.value;\n\n return page.length > 0 && page.every((item) => selectedKeys.value.has(options.getRowKey(item)));\n },\n nextPage: () => {\n if (hasNextPage.value) pageIndex.value = safePageIndex.value + 1;\n },\n pageCount,\n pageIndex: safePageIndex,\n prevPage: () => {\n if (hasPrevPage.value) pageIndex.value = safePageIndex.value - 1;\n },\n removeFilter: (key) => {\n const nextActiveKeys = new Set(activeFilterKeys.value);\n\n nextActiveKeys.delete(key);\n activeFilterKeys.value = nextActiveKeys;\n\n const nextValues = new Map(filterValues.value);\n\n nextValues.delete(key);\n filterValues.value = nextValues;\n },\n resetFilters: () => {\n activeFilterKeys.value = new Set();\n filterValues.value = new Map();\n },\n resetSearch: () => {\n searchQuery.value = '';\n searchActive.value = false;\n },\n searchActive,\n searchQuery,\n selectAll: () => {\n if (options.selectionMode.value !== 'multi') return;\n\n const next = new Set(selectedKeys.value);\n\n if (currentPageItems.value.every((item) => next.has(options.getRowKey(item)))) {\n for (const item of currentPageItems.value) next.delete(options.getRowKey(item));\n } else {\n for (const item of currentPageItems.value) next.add(options.getRowKey(item));\n }\n\n commitSelection(next);\n },\n selectedKeys: computed(() => new Set(selectedKeys.value)),\n selectedRows,\n setActiveFilterKeys: (keys) => {\n const nextActiveKeys = new Set(keys);\n\n activeFilterKeys.value = nextActiveKeys;\n filterValues.value = new Map([...filterValues.value].filter(([key]) => nextActiveKeys.has(key)));\n },\n setFilter,\n setFilterOperator,\n setSearchQuery: (query) => {\n searchQuery.value = query;\n },\n setSelection: (keys) => commitSelection(new Set(keys)),\n sortBy: (key) => {\n const nextDirection =\n sortKey.value !== key\n ? 'asc'\n : sortDirection.value === 'asc'\n ? 'desc'\n : sortDirection.value === 'desc'\n ? 'none'\n : 'asc';\n\n sortTo(nextDirection === 'none' ? '' : key, nextDirection);\n },\n sortState,\n sortTo,\n toggleColumnVisibility: (key) => {\n const next = new Set(hiddenColumns.value);\n\n if (next.has(key)) next.delete(key);\n else next.add(key);\n\n hiddenColumns.value = next;\n },\n toggleRow: (key) => {\n if (options.selectionMode.value === 'none') return;\n\n const next = new Set(selectedKeys.value);\n\n if (next.has(key)) next.delete(key);\n else {\n if (options.selectionMode.value === 'single') next.clear();\n\n next.add(key);\n }\n\n commitSelection(next);\n },\n toggleSearch: () => {\n if (searchActive.value) searchQuery.value = '';\n\n searchActive.value = !searchActive.value;\n },\n totalItems,\n visibleColumns,\n };\n};\n"],"mappings":"sEAiGA,IAAM,EAAgE,CACpE,CAAE,MAAO,WAAY,MAAO,UAAW,EACvC,CAAE,MAAO,SAAU,MAAO,QAAS,EACnC,CAAE,MAAO,eAAgB,MAAO,IAAK,EACrC,CAAE,MAAO,YAAa,MAAO,IAAK,CACpC,EAUa,EACX,GACqB,CACrB,IAAM,GAAA,EAAc,EAAA,OAAA,CAAO,EAAE,EACvB,GAAA,EAAe,EAAA,OAAA,CAAO,EAAK,EAC3B,GAAA,EAAgB,EAAA,OAAA,CAAO,IAAI,GAAa,EACxC,GAAA,EAAmB,EAAA,OAAA,CAAO,IAAI,GAAa,EAC3C,GAAA,EAAe,EAAA,OAAA,CAAO,IAAI,GAAyB,EACnD,GAAA,EAAU,EAAA,OAAA,CAAO,EAAE,EACnB,GAAA,EAAgB,EAAA,OAAA,CAAsB,MAAM,EAC5C,GAAA,EAAe,EAAA,OAAA,CAAO,IAAI,GAAa,EACvC,GAAA,EAAY,EAAA,OAAA,CAAO,CAAC,EAEpB,GAAA,EAAa,EAAA,SAAA,KAAe,IAAI,IAAI,EAAQ,QAAQ,MAAM,IAAK,GAAW,EAAO,GAAG,CAAC,CAAC,EACtF,GAAA,EAAiB,EAAA,SAAA,KAAe,EAAQ,QAAQ,MAAM,OAAQ,GAAW,CAAC,EAAc,MAAM,IAAI,EAAO,GAAG,CAAC,CAAC,EAE9G,GAAA,EAAa,EAAA,SAAA,KAAe,CAChC,IAAM,EAAe,IAAI,KAAK,EAAQ,cAAc,OAAS,CAAC,EAAA,CAAG,IAAK,GAAW,EAAO,GAAG,CAAC,EACtF,EAAa,CAAC,GAAG,EAAiB,KAAK,CAAC,CAAC,OAAQ,GAAQ,CAAC,EAAa,IAAI,CAAG,CAAC,EAErF,GAAI,CAAC,EAAW,OAAQ,OAAO,IAAI,IAEnC,IAAM,EAAU,IAAI,IAEpB,IAAK,IAAM,KAAO,EAAY,CAC5B,IAAM,EAAO,IAAI,IACX,EAA6C,CAAC,EAEpD,IAAK,IAAM,KAAO,EAAQ,MAAM,MAAO,CACrC,IAAM,EAAQ,EAAI,GACZ,EAAc,GAAS,KAAO,GAAK,OAAO,CAAK,EAEhD,EAAK,IAAI,CAAW,IACvB,EAAK,IAAI,CAAW,EACpB,EAAO,KAAK,CAAE,MAAO,GAAe,UAAW,MAAO,CAAY,CAAC,EAEvE,CAEA,EAAQ,IAAI,EAAK,CAAM,CACzB,CAEA,OAAO,CACT,CAAC,EAEK,GAAA,EAAa,EAAA,SAAA,KAA+B,CAChD,IAAM,EAAW,EAAQ,cAAc,OAAS,CAAC,EAC3C,EAAe,IAAI,IAAI,EAAS,IAAK,GAAW,EAAO,GAAG,CAAC,EAC3D,EAAU,CAAC,GAAG,EAAiB,KAAK,CAAC,CACxC,OAAQ,GAAQ,CAAC,EAAa,IAAI,CAAG,CAAC,CAAC,CACvC,IAAK,IAGG,CACL,MACA,MAJa,EAAQ,QAAQ,MAAM,KAAM,GAAc,EAAU,MAAQ,CAIlE,CAAA,EAAQ,OAAS,EACxB,UAAW,EACX,QAAS,EAAW,MAAM,IAAI,CAAG,GAAK,CAAC,CACzC,EACD,EAEH,MAAO,CAAC,GAAG,EAAS,IAAK,IAAY,CAAE,GAAG,EAAQ,UAAW,EAAO,WAAa,CAAkB,EAAE,EAAG,GAAG,CAAO,CACpH,CAAC,EAEK,GAAA,EAAe,EAAA,SAAA,KAAe,CAClC,IAAM,EAAO,EAAQ,MAAM,MAE3B,GAAI,CAAC,EAAQ,WAAW,MAAO,OAAO,EAEtC,IAAM,EAAQ,EAAY,MAAM,KAAK,CAAC,CAAC,YAAY,EAInD,OAFK,EAEE,EAAK,OAAQ,GAClB,OAAO,OAAO,CAAG,CAAC,CAAC,KAAM,GAAU,GAAS,MAAQ,OAAO,CAAK,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAK,CAAC,CACjG,EAJmB,CAKrB,CAAC,EAEK,GAAA,EAAe,EAAA,SAAA,KAAe,CAClC,IAAM,EAAO,EAAa,MAI1B,MAFI,CAAC,EAAQ,WAAW,OAAS,CAAC,EAAa,MAAM,KAAa,EAE3D,EAAK,OAAQ,GAAQ,CAC1B,IAAK,GAAM,CAAC,EAAK,KAAS,EAAa,MAAO,CAC5C,GAAI,CAAC,EAAK,OAAO,MAAQ,CAAC,EAAW,MAAM,IAAI,CAAG,EAAG,SAErD,IAAM,EAAQ,EAAI,GACZ,EAAc,GAAS,KAAO,GAAK,OAAO,CAAK,EAIrD,GAFI,EAAK,WAAa,UAAY,CAAC,EAAK,OAAO,IAAI,CAAW,GAG5D,EAAK,WAAa,YAClB,CAAC,CAAC,GAAG,EAAK,MAAM,CAAC,CAAC,KAAM,GAAW,EAAY,YAAY,CAAC,CAAC,SAAS,EAAO,YAAY,CAAC,CAAC,EAE3F,MAAO,GAGT,GAAI,EAAK,WAAa,MAAQ,EAAK,WAAa,KAAM,CACpD,IAAM,EAAe,WAAW,CAAW,EACrC,EAAU,CAAC,GAAG,EAAK,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,OAAQ,GAAW,CAAC,OAAO,MAAM,CAAM,CAAC,EAEzF,GAAI,CAAC,EAAQ,OAAQ,SAIrB,GAFI,EAAK,WAAa,MAAQ,CAAC,EAAQ,KAAM,GAAW,EAAe,CAAM,GAEzE,EAAK,WAAa,MAAQ,CAAC,EAAQ,KAAM,GAAW,EAAe,CAAM,EAAG,MAAO,EACzF,CACF,CAEA,MAAO,EACT,CAAC,CACH,CAAC,EAEK,GAAA,EAAY,EAAA,SAAA,MAA2B,CAAE,UAAW,EAAc,MAAO,IAAK,EAAQ,KAAM,EAAE,EAC9F,GAAA,EAAa,EAAA,SAAA,KAAe,CAChC,IAAM,EAAO,EAAa,MAE1B,GAAI,CAAC,EAAQ,WAAW,OAAS,EAAQ,SAAS,QAAU,SAAU,OAAO,EAE7E,GAAM,CAAE,YAAW,OAAQ,EAAU,MAErC,GAAI,CAAC,GAAO,IAAc,OAAQ,OAAO,EAEzC,IAAM,EAAS,EAAQ,QAAQ,MAAM,KAAM,GAAc,EAAU,MAAQ,CAAG,EAE9E,OAAO,EAAK,MAAM,CAAC,CAAC,MAAM,EAAG,IAAM,CACjC,IAAM,EAAS,GAAQ,UAAY,EAAO,UAAU,CAAC,EAAK,EAAE,GACtD,EAAS,GAAQ,UAAY,EAAO,UAAU,CAAC,EAAK,EAAE,GACtD,EACJ,OAAO,GAAW,UAAY,OAAO,GAAW,SAC5C,EAAS,EACT,OAAO,GAAU,EAAE,CAAC,CAAC,cAAc,OAAO,GAAU,EAAE,CAAC,EAE7D,OAAO,IAAc,MAAQ,EAAa,CAAC,CAC7C,CAAC,CACH,CAAC,EAEK,GAAA,EAAa,EAAA,SAAA,KAAe,EAAW,MAAM,MAAM,EACnD,GAAA,EAAY,EAAA,SAAA,KAAe,CAC/B,IAAM,EAAO,EAAQ,SAAS,MAE9B,OAAO,KAAK,KAAK,EAAW,OAAS,GAAQ,UAA8B,EAAK,CAClF,CAAC,EACK,GAAA,EAAgB,EAAA,SAAA,KAAgB,EAAU,MAAQ,KAAK,IAAI,EAAU,MAAO,EAAU,MAAQ,CAAC,EAAI,EAAG,EACtG,GAAA,EAAmB,EAAA,SAAA,KAAe,CACtC,IAAM,EAAO,EAAQ,SAAS,MAE9B,GAAI,GAAQ,EAAG,OAAO,EAAW,MAEjC,IAAM,EAAQ,EAAc,MAAQ,EAEpC,OAAO,EAAW,MAAM,MAAM,EAAO,EAAQ,CAAI,CACnD,CAAC,EACK,GAAA,EAAc,EAAA,SAAA,KAAe,EAAU,MAAQ,GAAK,EAAc,MAAQ,EAAU,MAAQ,CAAC,EAC7F,GAAA,EAAc,EAAA,SAAA,KAAe,EAAc,MAAQ,CAAC,EACpD,GAAA,EAAe,EAAA,SAAA,KACnB,EAAQ,MAAM,MAAM,OAAQ,GAAS,EAAa,MAAM,IAAI,EAAQ,UAAU,CAAI,CAAC,CAAC,CACtF,GAEA,EAAA,EAAA,MAAA,CACE,EACC,GAAS,CACR,IAAM,EAAiB,IAAI,IAAI,CAAC,GAAG,EAAiB,KAAK,CAAC,CAAC,OAAQ,GAAQ,EAAK,IAAI,CAAG,CAAC,CAAC,EACnF,EAAa,IAAI,IAAI,CAAC,GAAG,EAAa,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAS,EAAK,IAAI,CAAG,CAAC,CAAC,EAE/E,EAAe,OAAS,EAAiB,MAAM,OAAM,EAAiB,MAAQ,GAE9E,EAAW,OAAS,EAAa,MAAM,OAAM,EAAa,MAAQ,EACxE,EACA,CAAE,UAAW,EAAM,CACrB,GAEA,EAAA,EAAA,MAAA,CAAM,MAAkB,CACtB,EAAU,MAAQ,CACpB,CAAC,EAED,IAAM,EAAmB,GAA4B,CACnD,EAAa,MAAQ,EACrB,EAAQ,oBAAoB,CAAI,CAClC,EAEM,GAAa,EAAa,IAA2B,CACzD,IAAM,EAAO,IAAI,IAAI,EAAa,KAAK,EAEnC,EAAO,OACT,EAAK,IAAI,EAAK,CAAE,SAAU,EAAK,IAAI,CAAG,CAAC,EAAE,UAAY,WAAY,OAAQ,IAAI,IAAI,CAAM,CAAE,CAAC,EAE1F,EAAK,OAAO,CAAG,EAGjB,EAAa,MAAQ,CACvB,EAEM,GAAqB,EAAa,IAAmC,CACzE,IAAM,EAAO,EAAa,MAAM,IAAI,CAAG,EAEnC,IAAM,EAAa,MAAQ,IAAI,IAAI,EAAa,KAAK,CAAC,CAAC,IAAI,EAAK,CAAE,GAAG,EAAM,UAAS,CAAC,EAC3F,EAEM,GAAU,EAAa,IAAmC,CAC9D,EAAQ,MAAQ,IAAc,OAAS,GAAK,EAC5C,EAAc,MAAQ,EACtB,EAAU,MAAQ,EAClB,EAAQ,eAAe,EAAU,KAAK,CACxC,EAEA,MAAO,CACL,kBAAoB,GAAQ,CACrB,EAAiB,MAAM,IAAI,CAAG,IAAG,EAAiB,MAAQ,IAAI,IAAI,CAAC,GAAG,EAAiB,MAAO,CAAG,CAAC,EACzG,EACA,oBAAuB,CACrB,EAAiB,MAAQ,IAAI,IAC7B,EAAa,MAAQ,IAAI,GAC3B,EACA,mBAAsB,EAAgB,IAAI,GAAK,EAC/C,mBACA,aACA,eACA,eACA,SAAW,GAAU,CACf,OAAO,SAAS,CAAK,IAAG,EAAU,MAAQ,KAAK,IAAI,EAAG,CAAK,EACjE,EACA,cACA,cACA,gBACA,kBAAqB,CACnB,IAAM,EAAO,EAAiB,MAE9B,OAAO,EAAK,OAAS,GAAK,EAAK,MAAO,GAAS,EAAa,MAAM,IAAI,EAAQ,UAAU,CAAI,CAAC,CAAC,CAChG,EACA,aAAgB,CACV,EAAY,QAAO,EAAU,MAAQ,EAAc,MAAQ,EACjE,EACA,YACA,UAAW,EACX,aAAgB,CACV,EAAY,QAAO,EAAU,MAAQ,EAAc,MAAQ,EACjE,EACA,aAAe,GAAQ,CACrB,IAAM,EAAiB,IAAI,IAAI,EAAiB,KAAK,EAErD,EAAe,OAAO,CAAG,EACzB,EAAiB,MAAQ,EAEzB,IAAM,EAAa,IAAI,IAAI,EAAa,KAAK,EAE7C,EAAW,OAAO,CAAG,EACrB,EAAa,MAAQ,CACvB,EACA,iBAAoB,CAClB,EAAiB,MAAQ,IAAI,IAC7B,EAAa,MAAQ,IAAI,GAC3B,EACA,gBAAmB,CACjB,EAAY,MAAQ,GACpB,EAAa,MAAQ,EACvB,EACA,eACA,cACA,cAAiB,CACf,GAAI,EAAQ,cAAc,QAAU,QAAS,OAE7C,IAAM,EAAO,IAAI,IAAI,EAAa,KAAK,EAEvC,GAAI,EAAiB,MAAM,MAAO,GAAS,EAAK,IAAI,EAAQ,UAAU,CAAI,CAAC,CAAC,EAC1E,IAAK,IAAM,KAAQ,EAAiB,MAAO,EAAK,OAAO,EAAQ,UAAU,CAAI,CAAC,OAE9E,IAAK,IAAM,KAAQ,EAAiB,MAAO,EAAK,IAAI,EAAQ,UAAU,CAAI,CAAC,EAG7E,EAAgB,CAAI,CACtB,EACA,cAAA,EAAc,EAAA,SAAA,KAAe,IAAI,IAAI,EAAa,KAAK,CAAC,EACxD,eACA,oBAAsB,GAAS,CAC7B,IAAM,EAAiB,IAAI,IAAI,CAAI,EAEnC,EAAiB,MAAQ,EACzB,EAAa,MAAQ,IAAI,IAAI,CAAC,GAAG,EAAa,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAS,EAAe,IAAI,CAAG,CAAC,CAAC,CACjG,EACA,YACA,oBACA,eAAiB,GAAU,CACzB,EAAY,MAAQ,CACtB,EACA,aAAe,GAAS,EAAgB,IAAI,IAAI,CAAI,CAAC,EACrD,OAAS,GAAQ,CACf,IAAM,EACJ,EAAQ,QAAU,EAEd,EAAc,QAAU,MACtB,OACA,EAAc,QAAU,OACtB,OACA,MALJ,MAON,EAAO,IAAkB,OAAS,GAAK,EAAK,CAAa,CAC3D,EACA,YACA,SACA,uBAAyB,GAAQ,CAC/B,IAAM,EAAO,IAAI,IAAI,EAAc,KAAK,EAEpC,EAAK,IAAI,CAAG,EAAG,EAAK,OAAO,CAAG,EAC7B,EAAK,IAAI,CAAG,EAEjB,EAAc,MAAQ,CACxB,EACA,UAAY,GAAQ,CAClB,GAAI,EAAQ,cAAc,QAAU,OAAQ,OAE5C,IAAM,EAAO,IAAI,IAAI,EAAa,KAAK,EAEnC,EAAK,IAAI,CAAG,EAAG,EAAK,OAAO,CAAG,GAE5B,EAAQ,cAAc,QAAU,UAAU,EAAK,MAAM,EAEzD,EAAK,IAAI,CAAG,GAGd,EAAgB,CAAI,CACtB,EACA,iBAAoB,CACd,EAAa,QAAO,EAAY,MAAQ,IAE5C,EAAa,MAAQ,CAAC,EAAa,KACrC,EACA,aACA,gBACF,CACF"}
|
|
1
|
+
{"version":3,"file":"datagrid-model.cjs","names":[],"sources":["../../../src/inputs/datagrid/datagrid-model.ts"],"sourcesContent":["import { computed, type Readable, signal, watch } from '@vielzeug/ripple';\n\nexport type SortDirection = 'asc' | 'desc' | 'none';\n\nexport type SortState = {\n direction: SortDirection;\n key: string;\n};\n\nexport type DataGridColumn<T = Record<string, unknown>> = {\n align?: 'left' | 'center' | 'right';\n cell?: (item: T) => string;\n headerLabel?: string;\n key: string;\n label: string;\n renderExpanded?: (item: T) => string;\n resizable?: boolean;\n sortable?: boolean;\n sortValue?: (item: T) => number | string;\n width?: string;\n};\n\nexport type SelectionMode = 'multi' | 'none' | 'single';\n\nexport type FilterOption = {\n key: string;\n label: string;\n operators?: { label: string; value: string }[];\n options: { label?: string; value: string }[];\n};\n\nexport type FilterOperator = 'contains' | 'equals' | 'gt' | 'lt';\n\nexport type FilterRule = {\n operator: FilterOperator;\n values: Set<string>;\n};\n\nexport type DataGridView = {\n id: string;\n label: string;\n};\n\nexport type DataGridModelOptions<T = Record<string, unknown>> = {\n clientSide: Readable<boolean>;\n columns: Readable<DataGridColumn<T>[]>;\n filterOptions: Readable<FilterOption[] | undefined>;\n getRowKey: (item: T) => string;\n items: Readable<T[]>;\n onSelectionChange?: (keys: Set<string>) => void;\n onSortChange?: (sort: SortState) => void;\n pageSize: Readable<number>;\n selectionMode: Readable<SelectionMode>;\n sortMode: Readable<'client' | 'server'>;\n};\n\nexport type DataGridModel<T = Record<string, unknown>> = {\n activateFilterKey(key: string): void;\n clearAllFilters(): void;\n clearSelection(): void;\n readonly currentPageItems: Readable<T[]>;\n readonly filterDefs: Readable<FilterOption[]>;\n readonly filteredRows: Readable<T[]>;\n readonly filterValues: Readable<Map<string, FilterRule>>;\n goToPage(index: number): void;\n readonly hasNextPage: Readable<boolean>;\n readonly hasPrevPage: Readable<boolean>;\n readonly hiddenColumns: Readable<Set<string>>;\n isAllSelected(): boolean;\n nextPage(): void;\n readonly pageCount: Readable<number>;\n readonly pageIndex: Readable<number>;\n prevPage(): void;\n removeFilter(key: string): void;\n resetFilters(): void;\n resetSearch(): void;\n readonly searchActive: Readable<boolean>;\n readonly searchQuery: Readable<string>;\n selectAll(): void;\n readonly selectedKeys: Readable<ReadonlySet<string>>;\n readonly selectedRows: Readable<T[]>;\n setActiveFilterKeys(keys: string[]): void;\n setFilter(key: string, values: string[]): void;\n setFilterOperator(key: string, operator: FilterOperator): void;\n setSearchQuery(query: string): void;\n setSelection(keys: Set<string>): void;\n sortBy(key: string): void;\n readonly sortState: Readable<SortState>;\n sortTo(key: string, direction: SortDirection): void;\n toggleColumnVisibility(key: string): void;\n toggleRow(key: string): void;\n toggleSearch(): void;\n readonly totalItems: Readable<number>;\n readonly visibleColumns: Readable<DataGridColumn<T>[]>;\n};\n\nconst DEFAULT_OPERATORS: { label: string; value: FilterOperator }[] = [\n { label: 'Contains', value: 'contains' },\n { label: 'Equals', value: 'equals' },\n { label: 'Greater than', value: 'gt' },\n { label: 'Less than', value: 'lt' },\n];\n\n/**\n * Feature-owned state and transform pipeline for `ore-datagrid`.\n *\n * Rows flow through query, filters, sorting, and pagination in order. Selection\n * and column visibility share the same model so every interactive grid concern\n * has one reactive owner. Source-backed grids retain their server-owned rows by\n * setting `clientSide` to false.\n */\nexport const createDataGridModel = <T extends Record<string, unknown>>(\n options: DataGridModelOptions<T>,\n): DataGridModel<T> => {\n const searchQuery = signal('');\n const searchActive = signal(false);\n const hiddenColumns = signal(new Set<string>());\n const activeFilterKeys = signal(new Set<string>());\n const filterValues = signal(new Map<string, FilterRule>());\n const sortKey = signal('');\n const sortDirection = signal<SortDirection>('none');\n const selectedKeys = signal(new Set<string>());\n const pageIndex = signal(0);\n\n const columnKeys = computed(() => new Set(options.columns.value.map((column) => column.key)));\n const visibleColumns = computed(() => options.columns.value.filter((column) => !hiddenColumns.value.has(column.key)));\n\n const colOptions = computed(() => {\n const externalKeys = new Set((options.filterOptions.value ?? []).map((filter) => filter.key));\n const activeKeys = [...activeFilterKeys.value].filter((key) => !externalKeys.has(key));\n\n if (!activeKeys.length) return new Map<string, { label: string; value: string }[]>();\n\n const derived = new Map<string, { label: string; value: string }[]>();\n\n for (const key of activeKeys) {\n const seen = new Set<string>();\n const values: { label: string; value: string }[] = [];\n\n for (const row of options.items.value) {\n const value = row[key];\n const stringValue = value == null ? '' : String(value);\n\n if (!seen.has(stringValue)) {\n seen.add(stringValue);\n values.push({ label: stringValue || '(empty)', value: stringValue });\n }\n }\n\n derived.set(key, values);\n }\n\n return derived;\n });\n\n const filterDefs = computed<FilterOption[]>(() => {\n const provided = options.filterOptions.value ?? [];\n const providedKeys = new Set(provided.map((filter) => filter.key));\n const derived = [...activeFilterKeys.value]\n .filter((key) => !providedKeys.has(key))\n .map((key) => {\n const column = options.columns.value.find((candidate) => candidate.key === key);\n\n return {\n key,\n label: column?.label ?? key,\n operators: DEFAULT_OPERATORS,\n options: colOptions.value.get(key) ?? [],\n };\n });\n\n return [...provided.map((filter) => ({ ...filter, operators: filter.operators ?? DEFAULT_OPERATORS })), ...derived];\n });\n\n const searchedRows = computed(() => {\n const rows = options.items.value;\n\n if (!options.clientSide.value) return rows;\n\n const query = searchQuery.value.trim().toLowerCase();\n\n if (!query) return rows;\n\n return rows.filter((row) =>\n Object.values(row).some((value) => value != null && String(value).toLowerCase().includes(query)),\n );\n });\n\n const filteredRows = computed(() => {\n const rows = searchedRows.value;\n\n if (!options.clientSide.value || !filterValues.value.size) return rows;\n\n return rows.filter((row) => {\n for (const [key, rule] of filterValues.value) {\n if (!rule.values.size || !columnKeys.value.has(key)) continue;\n\n const value = row[key];\n const stringValue = value == null ? '' : String(value);\n\n if (rule.operator === 'equals' && !rule.values.has(stringValue)) return false;\n\n if (\n rule.operator === 'contains' &&\n ![...rule.values].some((target) => stringValue.toLowerCase().includes(target.toLowerCase()))\n ) {\n return false;\n }\n\n if (rule.operator === 'gt' || rule.operator === 'lt') {\n const numericValue = parseFloat(stringValue);\n const targets = [...rule.values].map(parseFloat).filter((target) => !Number.isNaN(target));\n\n if (!targets.length) continue;\n\n if (rule.operator === 'gt' && !targets.some((target) => numericValue > target)) return false;\n\n if (rule.operator === 'lt' && !targets.some((target) => numericValue < target)) return false;\n }\n }\n\n return true;\n });\n });\n\n const sortState = computed<SortState>(() => ({ direction: sortDirection.value, key: sortKey.value }));\n const sortedRows = computed(() => {\n const rows = filteredRows.value;\n\n if (!options.clientSide.value || options.sortMode.value === 'server') return rows;\n\n const { direction, key } = sortState.value;\n\n if (!key || direction === 'none') return rows;\n\n const column = options.columns.value.find((candidate) => candidate.key === key);\n\n return rows.slice().sort((a, b) => {\n const aValue = column?.sortValue ? column.sortValue(a) : (a[key] as number | string);\n const bValue = column?.sortValue ? column.sortValue(b) : (b[key] as number | string);\n const comparison =\n typeof aValue === 'number' && typeof bValue === 'number'\n ? aValue - bValue\n : String(aValue ?? '').localeCompare(String(bValue ?? ''));\n\n return direction === 'asc' ? comparison : -comparison;\n });\n });\n\n const totalItems = computed(() => sortedRows.value.length);\n const pageCount = computed(() => {\n const size = options.pageSize.value;\n\n return Math.ceil(totalItems.value / (size <= 0 ? Number.MAX_SAFE_INTEGER : size));\n });\n const safePageIndex = computed(() => (pageCount.value ? Math.min(pageIndex.value, pageCount.value - 1) : -1));\n const currentPageItems = computed(() => {\n const size = options.pageSize.value;\n\n if (size <= 0) return sortedRows.value;\n\n const start = safePageIndex.value * size;\n\n return sortedRows.value.slice(start, start + size);\n });\n const hasNextPage = computed(() => pageCount.value > 0 && safePageIndex.value < pageCount.value - 1);\n const hasPrevPage = computed(() => safePageIndex.value > 0);\n const selectedRows = computed(() =>\n options.items.value.filter((item) => selectedKeys.value.has(options.getRowKey(item))),\n );\n\n watch(\n columnKeys,\n (keys) => {\n const nextActiveKeys = new Set([...activeFilterKeys.value].filter((key) => keys.has(key)));\n const nextValues = new Map([...filterValues.value].filter(([key]) => keys.has(key)));\n\n if (nextActiveKeys.size !== activeFilterKeys.value.size) activeFilterKeys.value = nextActiveKeys;\n\n if (nextValues.size !== filterValues.value.size) filterValues.value = nextValues;\n },\n { immediate: false },\n );\n\n watch(sortedRows, () => {\n pageIndex.value = 0;\n });\n\n const commitSelection = (next: Set<string>): void => {\n selectedKeys.value = next;\n options.onSelectionChange?.(next);\n };\n\n const setFilter = (key: string, values: string[]): void => {\n const next = new Map(filterValues.value);\n\n if (values.length) {\n next.set(key, { operator: next.get(key)?.operator ?? 'contains', values: new Set(values) });\n } else {\n next.delete(key);\n }\n\n filterValues.value = next;\n };\n\n const setFilterOperator = (key: string, operator: FilterOperator): void => {\n const rule = filterValues.value.get(key);\n\n if (rule) filterValues.value = new Map(filterValues.value).set(key, { ...rule, operator });\n };\n\n const sortTo = (key: string, direction: SortDirection): void => {\n sortKey.value = direction === 'none' ? '' : key;\n sortDirection.value = direction;\n pageIndex.value = 0;\n options.onSortChange?.(sortState.value);\n };\n\n return {\n activateFilterKey: (key) => {\n if (!activeFilterKeys.value.has(key)) activeFilterKeys.value = new Set([...activeFilterKeys.value, key]);\n },\n clearAllFilters: () => {\n activeFilterKeys.value = new Set();\n filterValues.value = new Map();\n },\n clearSelection: () => commitSelection(new Set()),\n currentPageItems,\n filterDefs,\n filteredRows,\n filterValues,\n goToPage: (index) => {\n if (Number.isFinite(index)) pageIndex.value = Math.max(0, index);\n },\n hasNextPage,\n hasPrevPage,\n hiddenColumns,\n isAllSelected: () => {\n const page = currentPageItems.value;\n\n return page.length > 0 && page.every((item) => selectedKeys.value.has(options.getRowKey(item)));\n },\n nextPage: () => {\n if (hasNextPage.value) pageIndex.value = safePageIndex.value + 1;\n },\n pageCount,\n pageIndex: safePageIndex,\n prevPage: () => {\n if (hasPrevPage.value) pageIndex.value = safePageIndex.value - 1;\n },\n removeFilter: (key) => {\n const nextActiveKeys = new Set(activeFilterKeys.value);\n\n nextActiveKeys.delete(key);\n activeFilterKeys.value = nextActiveKeys;\n\n const nextValues = new Map(filterValues.value);\n\n nextValues.delete(key);\n filterValues.value = nextValues;\n },\n resetFilters: () => {\n activeFilterKeys.value = new Set();\n filterValues.value = new Map();\n },\n resetSearch: () => {\n searchQuery.value = '';\n searchActive.value = false;\n },\n searchActive,\n searchQuery,\n selectAll: () => {\n if (options.selectionMode.value !== 'multi') return;\n\n const next = new Set(selectedKeys.value);\n\n if (currentPageItems.value.every((item) => next.has(options.getRowKey(item)))) {\n for (const item of currentPageItems.value) next.delete(options.getRowKey(item));\n } else {\n for (const item of currentPageItems.value) next.add(options.getRowKey(item));\n }\n\n commitSelection(next);\n },\n selectedKeys: computed(() => new Set(selectedKeys.value)),\n selectedRows,\n setActiveFilterKeys: (keys) => {\n const nextActiveKeys = new Set(keys);\n\n activeFilterKeys.value = nextActiveKeys;\n filterValues.value = new Map([...filterValues.value].filter(([key]) => nextActiveKeys.has(key)));\n },\n setFilter,\n setFilterOperator,\n setSearchQuery: (query) => {\n searchQuery.value = query;\n },\n setSelection: (keys) => commitSelection(new Set(keys)),\n sortBy: (key) => {\n const nextDirection =\n sortKey.value !== key\n ? 'asc'\n : sortDirection.value === 'asc'\n ? 'desc'\n : sortDirection.value === 'desc'\n ? 'none'\n : 'asc';\n\n sortTo(nextDirection === 'none' ? '' : key, nextDirection);\n },\n sortState,\n sortTo,\n toggleColumnVisibility: (key) => {\n const next = new Set(hiddenColumns.value);\n\n if (next.has(key)) next.delete(key);\n else next.add(key);\n\n hiddenColumns.value = next;\n },\n toggleRow: (key) => {\n if (options.selectionMode.value === 'none') return;\n\n const next = new Set(selectedKeys.value);\n\n if (next.has(key)) next.delete(key);\n else {\n if (options.selectionMode.value === 'single') next.clear();\n\n next.add(key);\n }\n\n commitSelection(next);\n },\n toggleSearch: () => {\n if (searchActive.value) searchQuery.value = '';\n\n searchActive.value = !searchActive.value;\n },\n totalItems,\n visibleColumns,\n };\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid-model.d.ts","sourceRoot":"","sources":["../../../src/inputs/datagrid/datagrid-model.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"datagrid-model.d.ts","sourceRoot":"","sources":["../../../src/inputs/datagrid/datagrid-model.ts"],"names":[],"mappings":"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"}
|