@vielzeug/refine 26.10.0 → 26.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/accordion-item.cjs.map +1 -1
- package/dist/accordion-item.js.map +1 -1
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/async.cjs.map +1 -1
- package/dist/async.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/button.cjs +3 -3
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +3 -3
- package/dist/button.js.map +1 -1
- package/dist/calendar.cjs.map +1 -1
- package/dist/calendar.js.map +1 -1
- package/dist/carousel.cjs.map +1 -1
- package/dist/carousel.js.map +1 -1
- package/dist/chat-message.cjs.map +1 -1
- package/dist/chat-message.js.map +1 -1
- package/dist/chat-panel.cjs.map +1 -1
- package/dist/chat-panel.js.map +1 -1
- package/dist/checkbox-group.cjs.map +1 -1
- package/dist/checkbox-group.js.map +1 -1
- package/dist/chip.cjs.map +1 -1
- package/dist/chip.js.map +1 -1
- package/dist/code-window.cjs.map +1 -1
- package/dist/code-window.js.map +1 -1
- package/dist/combobox.cjs.map +1 -1
- package/dist/combobox.js.map +1 -1
- package/dist/command-palette.cjs.map +1 -1
- package/dist/command-palette.js.map +1 -1
- package/dist/content/card/card.css.cjs.map +1 -1
- package/dist/content/card/card.css.js.map +1 -1
- package/dist/content/carousel/carousel-slide.css.cjs.map +1 -1
- package/dist/content/carousel/carousel-slide.css.js.map +1 -1
- package/dist/content/carousel/carousel.css.cjs.map +1 -1
- package/dist/content/carousel/carousel.css.js.map +1 -1
- package/dist/content/carousel/carousel.d.ts +5 -5
- package/dist/content/chat-message/chat-message.css.cjs +1 -1
- package/dist/content/chat-message/chat-message.css.cjs.map +1 -1
- package/dist/content/chat-message/chat-message.css.js +1 -1
- package/dist/content/chat-message/chat-message.css.js.map +1 -1
- package/dist/content/chat-message/chat-message.d.ts +4 -4
- package/dist/content/chat-message/chat-message.d.ts.map +1 -1
- package/dist/content/chat-panel/chat-panel.d.ts +1 -1
- package/dist/content/code-window/code-window.css.cjs.map +1 -1
- package/dist/content/code-window/code-window.css.js.map +1 -1
- package/dist/content/code-window/code-window.d.ts +4 -4
- package/dist/content/index.d.ts +4 -0
- 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 +4 -4
- 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.map +1 -1
- package/dist/content/list/list-item.css.js.map +1 -1
- package/dist/content/list/list-item.d.ts +8 -8
- package/dist/content/list/list-item.d.ts.map +1 -1
- package/dist/content/list/list.d.ts +8 -8
- package/dist/content/list/list.d.ts.map +1 -1
- package/dist/content/qr-code/qr-code.d.ts +1 -1
- package/dist/content/rank-list/rank-item.css.cjs +2 -0
- package/dist/content/rank-list/rank-item.css.cjs.map +1 -0
- package/dist/content/rank-list/rank-item.css.js +2 -0
- package/dist/content/rank-list/rank-item.css.js.map +1 -0
- package/dist/content/rank-list/rank-item.d.ts +68 -0
- package/dist/content/rank-list/rank-item.d.ts.map +1 -0
- package/dist/content/rank-list/rank-list.css.cjs +2 -0
- package/dist/content/rank-list/rank-list.css.cjs.map +1 -0
- package/dist/content/rank-list/rank-list.css.js +2 -0
- package/dist/content/rank-list/rank-list.css.js.map +1 -0
- package/dist/content/rank-list/rank-list.d.ts +44 -0
- package/dist/content/rank-list/rank-list.d.ts.map +1 -0
- package/dist/content/separator/separator.d.ts +1 -1
- package/dist/content/separator/separator.d.ts.map +1 -1
- package/dist/content/speech-player/speech-player.css.cjs.map +1 -1
- package/dist/content/speech-player/speech-player.css.js.map +1 -1
- package/dist/content/speech-player/speech-player.d.ts +12 -12
- package/dist/content/speech-player/speech-player.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/step.d.ts +3 -3
- package/dist/content/stepper/step.d.ts.map +1 -1
- package/dist/content/stepper/stepper.css.cjs.map +1 -1
- package/dist/content/stepper/stepper.css.js.map +1 -1
- package/dist/content/stepper/stepper.d.ts +3 -3
- package/dist/content/stepper/stepper.d.ts.map +1 -1
- package/dist/content/table/table.css.cjs.map +1 -1
- package/dist/content/table/table.css.js.map +1 -1
- package/dist/content/table/table.d.ts +3 -3
- package/dist/content/table/table.d.ts.map +1 -1
- package/dist/content/text/text.css.cjs.map +1 -1
- package/dist/content/text/text.css.js.map +1 -1
- package/dist/content/text/text.d.ts +2 -2
- package/dist/content/text/text.d.ts.map +1 -1
- package/dist/cookie-banner.cjs.map +1 -1
- package/dist/cookie-banner.js.map +1 -1
- package/dist/copy-command.cjs +1 -1
- package/dist/copy-command.cjs.map +1 -1
- package/dist/copy-command.js +1 -1
- package/dist/copy-command.js.map +1 -1
- package/dist/core/announcer.cjs.map +1 -1
- package/dist/core/announcer.d.ts +2 -2
- package/dist/core/announcer.js.map +1 -1
- package/dist/core/aria-reflection.cjs.map +1 -1
- package/dist/core/aria-reflection.d.ts +3 -3
- package/dist/core/aria-reflection.js.map +1 -1
- package/dist/core/auto-resize.cjs.map +1 -1
- package/dist/core/auto-resize.d.ts +1 -1
- package/dist/core/auto-resize.js.map +1 -1
- package/dist/core/checkable.cjs.map +1 -1
- package/dist/core/checkable.d.ts +2 -2
- package/dist/core/checkable.d.ts.map +1 -1
- package/dist/core/checkable.js.map +1 -1
- package/dist/core/choice-field.cjs.map +1 -1
- package/dist/core/choice-field.d.ts +3 -3
- package/dist/core/choice-field.d.ts.map +1 -1
- package/dist/core/choice-field.js.map +1 -1
- package/dist/core/composer.cjs.map +1 -1
- package/dist/core/composer.d.ts +4 -4
- package/dist/core/composer.d.ts.map +1 -1
- package/dist/core/composer.js.map +1 -1
- package/dist/core/date-picker.cjs.map +1 -1
- package/dist/core/date-picker.d.ts +5 -5
- package/dist/core/date-picker.d.ts.map +1 -1
- package/dist/core/date-picker.js.map +1 -1
- package/dist/core/direction.cjs.map +1 -1
- package/dist/core/direction.d.ts +1 -1
- package/dist/core/direction.js.map +1 -1
- package/dist/core/field-base.cjs.map +1 -1
- package/dist/core/field-base.d.ts +9 -9
- package/dist/core/field-base.d.ts.map +1 -1
- package/dist/core/field-base.js.map +1 -1
- package/dist/core/focus.cjs.map +1 -1
- package/dist/core/focus.d.ts +1 -1
- package/dist/core/focus.js.map +1 -1
- package/dist/core/icon-registry.cjs.map +1 -1
- package/dist/core/icon-registry.d.ts +1 -1
- package/dist/core/icon-registry.js.map +1 -1
- package/dist/core/icons.cjs.map +1 -1
- package/dist/core/icons.js.map +1 -1
- package/dist/core/keyboard.cjs.map +1 -1
- package/dist/core/keyboard.d.ts +1 -1
- package/dist/core/keyboard.js.map +1 -1
- package/dist/core/numbers.cjs.map +1 -1
- package/dist/core/numbers.d.ts +1 -1
- package/dist/core/numbers.js.map +1 -1
- package/dist/core/overlay.cjs.map +1 -1
- package/dist/core/overlay.d.ts +6 -6
- package/dist/core/overlay.js.map +1 -1
- package/dist/core/parse.cjs.map +1 -1
- package/dist/core/parse.d.ts +1 -1
- package/dist/core/parse.js.map +1 -1
- package/dist/core/positioner.cjs.map +1 -1
- package/dist/core/positioner.d.ts +3 -3
- package/dist/core/positioner.js.map +1 -1
- package/dist/core/ref-callback.cjs.map +1 -1
- package/dist/core/ref-callback.d.ts +2 -2
- package/dist/core/ref-callback.d.ts.map +1 -1
- package/dist/core/ref-callback.js.map +1 -1
- package/dist/core/text-field.cjs.map +1 -1
- package/dist/core/text-field.d.ts +6 -6
- package/dist/core/text-field.d.ts.map +1 -1
- package/dist/core/text-field.js.map +1 -1
- package/dist/counter.cjs +1 -0
- package/dist/counter.cjs.map +1 -1
- package/dist/counter.js +1 -0
- package/dist/counter.js.map +1 -1
- package/dist/custom-elements.json +315 -87
- package/dist/datagrid.cjs.map +1 -1
- package/dist/datagrid.js.map +1 -1
- package/dist/date-picker.cjs +1 -1
- package/dist/date-picker.cjs.map +1 -1
- package/dist/date-picker.js +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-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/tab-item/tab-item.d.ts +1 -1
- package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -1
- package/dist/drawer.cjs.map +1 -1
- package/dist/drawer.js.map +1 -1
- package/dist/feedback/alert/alert.css.cjs.map +1 -1
- package/dist/feedback/alert/alert.css.js.map +1 -1
- package/dist/feedback/badge/badge.css.cjs.map +1 -1
- package/dist/feedback/badge/badge.css.js.map +1 -1
- package/dist/feedback/badge/badge.d.ts +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 +3 -3
- package/dist/feedback/chip/chip.d.ts.map +1 -1
- package/dist/feedback/cookie-banner/cookie-banner.css.cjs.map +1 -1
- package/dist/feedback/cookie-banner/cookie-banner.css.js.map +1 -1
- package/dist/feedback/cookie-banner/cookie-banner.d.ts +8 -8
- package/dist/feedback/cookie-banner/cookie-banner.d.ts.map +1 -1
- package/dist/feedback/progress/progress.css.cjs.map +1 -1
- package/dist/feedback/progress/progress.css.js.map +1 -1
- package/dist/feedback/progress/progress.d.ts +1 -1
- package/dist/feedback/progress/progress.d.ts.map +1 -1
- package/dist/feedback/skeleton/skeleton.css.cjs.map +1 -1
- package/dist/feedback/skeleton/skeleton.css.js.map +1 -1
- package/dist/feedback/skeleton/skeleton.d.ts +1 -1
- package/dist/feedback/skeleton/skeleton.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 +2 -2
- package/dist/file-input.cjs +1 -1
- package/dist/file-input.cjs.map +1 -1
- package/dist/file-input.js +1 -1
- package/dist/file-input.js.map +1 -1
- package/dist/frameworks/elements.d.ts +1 -1
- package/dist/grid-item.cjs.map +1 -1
- package/dist/grid-item.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.map +1 -1
- package/dist/input.js.map +1 -1
- package/dist/inputs/button/button.css.cjs.map +1 -1
- package/dist/inputs/button/button.css.js.map +1 -1
- package/dist/inputs/button/button.d.ts +3 -3
- package/dist/inputs/button/button.d.ts.map +1 -1
- package/dist/inputs/calendar/calendar.css.cjs.map +1 -1
- package/dist/inputs/calendar/calendar.css.js.map +1 -1
- package/dist/inputs/calendar/calendar.d.ts +2 -2
- package/dist/inputs/checkbox-group/checkbox-group.d.ts +2 -2
- package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox.css.cjs.map +1 -1
- package/dist/inputs/combobox/combobox.css.js.map +1 -1
- package/dist/inputs/counter/counter.css.cjs +1 -1
- package/dist/inputs/counter/counter.css.cjs.map +1 -1
- package/dist/inputs/counter/counter.css.js +1 -1
- package/dist/inputs/counter/counter.css.js.map +1 -1
- package/dist/inputs/counter/counter.d.ts +2 -1
- package/dist/inputs/counter/counter.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.js.map +1 -1
- package/dist/inputs/datagrid/datagrid.d.ts +5 -5
- package/dist/inputs/date-picker/date-picker.css.cjs.map +1 -1
- package/dist/inputs/date-picker/date-picker.css.js.map +1 -1
- package/dist/inputs/date-picker/date-picker.d.ts +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs.map +1 -1
- package/dist/inputs/file-input/file-input-upload.d.ts +6 -6
- package/dist/inputs/file-input/file-input-upload.js.map +1 -1
- package/dist/inputs/file-input/file-input.css.cjs.map +1 -1
- package/dist/inputs/file-input/file-input.css.js.map +1 -1
- package/dist/inputs/file-input/file-input.d.ts +6 -6
- package/dist/inputs/input/input.css.cjs +1 -1
- package/dist/inputs/input/input.css.cjs.map +1 -1
- package/dist/inputs/input/input.css.js +1 -1
- package/dist/inputs/input/input.css.js.map +1 -1
- package/dist/inputs/input/input.d.ts +6 -6
- package/dist/inputs/input/input.d.ts.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.cjs.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.js.map +1 -1
- package/dist/inputs/message-composer/message-composer.d.ts +7 -7
- package/dist/inputs/message-composer/message-composer.d.ts.map +1 -1
- package/dist/inputs/number-input/number-input.css.cjs.map +1 -1
- package/dist/inputs/number-input/number-input.css.js.map +1 -1
- package/dist/inputs/number-input/number-input.d.ts +2 -2
- package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -1
- package/dist/inputs/otp-input/otp-input.css.js.map +1 -1
- package/dist/inputs/qr-scanner/qr-scanner.d.ts +1 -1
- package/dist/inputs/qr-scanner/qr-scanner.d.ts.map +1 -1
- package/dist/inputs/rating/rating.d.ts +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.cjs.map +1 -1
- package/dist/inputs/select/select.css.js +1 -1
- package/dist/inputs/select/select.css.js.map +1 -1
- package/dist/inputs/select/select.d.ts +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 +2 -2
- 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/native-field-event.cjs.map +1 -1
- package/dist/inputs/shared/native-field-event.d.ts +1 -1
- package/dist/inputs/shared/native-field-event.js.map +1 -1
- package/dist/inputs/shared/templates.cjs.map +1 -1
- package/dist/inputs/shared/templates.d.ts +3 -3
- package/dist/inputs/shared/templates.js.map +1 -1
- package/dist/inputs/slider/slider.css.cjs.map +1 -1
- package/dist/inputs/slider/slider.css.js.map +1 -1
- package/dist/inputs/slider/slider.d.ts +1 -1
- package/dist/inputs/slider/slider.d.ts.map +1 -1
- package/dist/inputs/textarea/textarea.css.cjs.map +1 -1
- package/dist/inputs/textarea/textarea.css.js.map +1 -1
- package/dist/inputs/textarea/textarea.d.ts +1 -1
- package/dist/inputs/time-picker/time-picker.css.cjs.map +1 -1
- package/dist/inputs/time-picker/time-picker.css.js.map +1 -1
- package/dist/inputs/time-picker/time-picker.d.ts +1 -1
- package/dist/layout/box/box.css.cjs.map +1 -1
- package/dist/layout/box/box.css.js.map +1 -1
- package/dist/layout/box/box.d.ts +1 -1
- package/dist/layout/grid/grid.d.ts +1 -1
- package/dist/layout/grid-item/grid-item.d.ts +3 -3
- package/dist/layout/grid-item/grid-item.d.ts.map +1 -1
- package/dist/layout/navbar/navbar.css.cjs +1 -1
- package/dist/layout/navbar/navbar.css.cjs.map +1 -1
- package/dist/layout/navbar/navbar.css.js +1 -1
- package/dist/layout/navbar/navbar.css.js.map +1 -1
- package/dist/layout/navbar/navbar.d.ts +3 -3
- package/dist/layout/sidebar/sidebar-item.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar-item.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.d.ts +5 -5
- 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.map +1 -1
- package/dist/list.js.map +1 -1
- package/dist/menu.cjs +6 -5
- package/dist/menu.cjs.map +1 -1
- package/dist/menu.js +6 -5
- package/dist/menu.js.map +1 -1
- package/dist/message-composer.cjs.map +1 -1
- package/dist/message-composer.js.map +1 -1
- package/dist/navbar.cjs.map +1 -1
- package/dist/navbar.js.map +1 -1
- package/dist/number-input.cjs.map +1 -1
- package/dist/number-input.js.map +1 -1
- package/dist/otp-input.cjs.map +1 -1
- 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 +1 -1
- package/dist/overlay/command-palette/command-palette-items.js.map +1 -1
- package/dist/overlay/command-palette/command-palette.css.cjs.map +1 -1
- package/dist/overlay/command-palette/command-palette.css.js.map +1 -1
- package/dist/overlay/command-palette/command-palette.d.ts +3 -3
- package/dist/overlay/command-palette/command-palette.types.d.ts +6 -6
- package/dist/overlay/command-palette/command-palette.types.d.ts.map +1 -1
- package/dist/overlay/dialog/dialog.css.cjs +1 -1
- package/dist/overlay/dialog/dialog.css.cjs.map +1 -1
- package/dist/overlay/dialog/dialog.css.js +1 -1
- package/dist/overlay/dialog/dialog.css.js.map +1 -1
- package/dist/overlay/dialog/dialog.d.ts +2 -2
- package/dist/overlay/dialog/dialog.d.ts.map +1 -1
- package/dist/overlay/drawer/drawer.css.cjs.map +1 -1
- package/dist/overlay/drawer/drawer.css.js.map +1 -1
- package/dist/overlay/drawer/drawer.d.ts +1 -1
- package/dist/overlay/drawer/drawer.d.ts.map +1 -1
- package/dist/overlay/menu/menu-item.css.cjs.map +1 -1
- package/dist/overlay/menu/menu-item.css.js.map +1 -1
- package/dist/overlay/menu/menu.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.cjs.map +1 -1
- package/dist/overlay/shared/use-dialog.d.ts +6 -6
- package/dist/overlay/shared/use-dialog.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.js.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.d.ts +1 -1
- package/dist/overlay/shared/use-floating-trigger.d.ts.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
- package/dist/overlay/tooltip/tooltip.css.cjs.map +1 -1
- package/dist/overlay/tooltip/tooltip.css.js.map +1 -1
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.js.map +1 -1
- package/dist/qr-code.cjs.map +1 -1
- package/dist/qr-code.js.map +1 -1
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js.map +1 -1
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/radio.cjs.map +1 -1
- package/dist/radio.js.map +1 -1
- package/dist/rank-item.cjs +21 -0
- package/dist/rank-item.cjs.map +1 -0
- package/dist/rank-item.js +21 -0
- package/dist/rank-item.js.map +1 -0
- package/dist/rank-list.cjs +4 -0
- package/dist/rank-list.cjs.map +1 -0
- package/dist/rank-list.js +4 -0
- package/dist/rank-list.js.map +1 -0
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.js.map +1 -1
- package/dist/refine.cjs +103 -80
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +103 -80
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +104 -81
- package/dist/refine.js.map +1 -1
- package/dist/select.cjs.map +1 -1
- package/dist/select.js.map +1 -1
- package/dist/separator.cjs.map +1 -1
- package/dist/separator.js.map +1 -1
- package/dist/shared/index.d.ts +3 -3
- package/dist/shared/size-presets.cjs.map +1 -1
- package/dist/shared/size-presets.d.ts +4 -4
- package/dist/shared/size-presets.js.map +1 -1
- package/dist/shared/types.d.ts +1 -1
- package/dist/sidebar.cjs.map +1 -1
- package/dist/sidebar.js.map +1 -1
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js.map +1 -1
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js.map +1 -1
- package/dist/speech-player.cjs.map +1 -1
- package/dist/speech-player.js.map +1 -1
- package/dist/step.cjs.map +1 -1
- package/dist/step.js.map +1 -1
- package/dist/stepper.cjs.map +1 -1
- package/dist/stepper.js.map +1 -1
- package/dist/styles/fouc.css +2 -2
- package/dist/styles/mixins/accessibility.css.cjs.map +1 -1
- package/dist/styles/mixins/accessibility.css.d.ts +4 -4
- package/dist/styles/mixins/accessibility.css.js.map +1 -1
- package/dist/styles/mixins/animation.css.cjs +2 -2
- package/dist/styles/mixins/animation.css.cjs.map +1 -1
- package/dist/styles/mixins/animation.css.d.ts +4 -4
- package/dist/styles/mixins/animation.css.js +2 -2
- package/dist/styles/mixins/animation.css.js.map +1 -1
- package/dist/styles/mixins/field-variants.css.cjs +2 -2
- package/dist/styles/mixins/field-variants.css.cjs.map +1 -1
- package/dist/styles/mixins/field-variants.css.d.ts +6 -6
- package/dist/styles/mixins/field-variants.css.d.ts.map +1 -1
- package/dist/styles/mixins/field-variants.css.js +2 -2
- package/dist/styles/mixins/field-variants.css.js.map +1 -1
- package/dist/styles/mixins/shape.css.cjs.map +1 -1
- package/dist/styles/mixins/shape.css.d.ts +9 -9
- package/dist/styles/mixins/shape.css.d.ts.map +1 -1
- package/dist/styles/mixins/shape.css.js.map +1 -1
- package/dist/styles/mixins/variants.css.cjs.map +1 -1
- package/dist/styles/mixins/variants.css.d.ts +1 -1
- package/dist/styles/mixins/variants.css.js.map +1 -1
- package/dist/styles/theme.css +36 -28
- package/dist/tab-item.cjs.map +1 -1
- package/dist/tab-item.js.map +1 -1
- package/dist/tab-panel.cjs.map +1 -1
- package/dist/tab-panel.js.map +1 -1
- package/dist/table.cjs.map +1 -1
- package/dist/table.js.map +1 -1
- package/dist/text.cjs.map +1 -1
- package/dist/text.js.map +1 -1
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.js.map +1 -1
- package/dist/theme.cjs.map +1 -1
- package/dist/theme.d.ts +2 -2
- package/dist/theme.js.map +1 -1
- package/dist/time-picker.cjs +1 -1
- package/dist/time-picker.cjs.map +1 -1
- package/dist/time-picker.js +1 -1
- package/dist/time-picker.js.map +1 -1
- package/dist/toast.cjs.map +1 -1
- package/dist/toast.js.map +1 -1
- package/dist/types/elements.d.ts +6 -2
- package/dist/typing-indicator.cjs.map +1 -1
- package/dist/typing-indicator.js.map +1 -1
- package/dist/utils/css.cjs.map +1 -1
- package/dist/utils/css.js.map +1 -1
- package/dist/utils/link.cjs.map +1 -1
- package/dist/utils/link.d.ts +2 -2
- package/dist/utils/link.js.map +1 -1
- package/package.json +31 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.css.js","names":[],"sources":["../../../src/styles/mixins/animation.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n/**\n * Register the --rainbow-angle CSS custom property so browsers can\n * interpolate it inside conic-gradient().\n * Called automatically by rainbowEffectMixin on first use.\n */\nlet rainbowRegistered = false;\n\nexport function registerRainbowProperty() {\n if (rainbowRegistered) return;\n\n if (typeof CSS !== 'undefined' && CSS.registerProperty) {\n try {\n CSS.registerProperty({\n inherits: false,\n initialValue: '0deg',\n name: '--rainbow-angle',\n syntax: '<angle>',\n });\n } catch {\n // Already registered
|
|
1
|
+
{"version":3,"file":"animation.css.js","names":[],"sources":["../../../src/styles/mixins/animation.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n/**\n * Register the --rainbow-angle CSS custom property so browsers can\n * interpolate it inside conic-gradient().\n * Called automatically by rainbowEffectMixin on first use.\n */\nlet rainbowRegistered = false;\n\nexport function registerRainbowProperty() {\n if (rainbowRegistered) return;\n\n if (typeof CSS !== 'undefined' && CSS.registerProperty) {\n try {\n CSS.registerProperty({\n inherits: false,\n initialValue: '0deg',\n name: '--rainbow-angle',\n syntax: '<angle>',\n });\n } catch {\n // Already registered: safe to ignore\n }\n }\n\n rainbowRegistered = true;\n}\n\n/**\n * Register the --shine-angle CSS custom property so browsers can\n * interpolate it inside conic-gradient().\n * Called automatically by shineEffectMixin on first use.\n */\nlet shineRegistered = false;\n\nexport function registerShineProperty() {\n if (shineRegistered) return;\n\n if (typeof CSS !== 'undefined' && CSS.registerProperty) {\n try {\n CSS.registerProperty({\n inherits: false,\n initialValue: '0deg',\n name: '--shine-angle',\n syntax: '<angle>',\n });\n } catch {\n // Already registered: safe to ignore\n }\n }\n\n shineRegistered = true;\n}\n\n/**\n * Rainbow Border Effect Mixin\n *\n * Animated rainbow border with glow effect.\n * Perfect for highlighting call-to-action elements or special features.\n *\n * @param selector - CSS selector for the element carrying the border, matched\n * against the component's actual shadow DOM markup: a bare word like\n * 'button' is a TYPE selector (matches a literal `<button>` tag), not a\n * part/class selector. Use the selector that actually matches your root\n * element, e.g. `'.box'` for a `<div class=\"box\">`, or `'[part=\"button\"]'`\n * for a `<span part=\"button\">`/`<a part=\"button\">` (ore-button's actual\n * markup: it never renders a `<button>` tag).\n * @returns CSSResult with rainbow border animation\n *\n * @example\n * ```ts\n * import { rainbowEffectMixin } from '../../styles/effects/rainbow.css';\n *\n * return {\n * styles: [rainbowEffectMixin('[part=\"button\"]'), componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const rainbowEffectMixin = (selector: string) => {\n registerRainbowProperty();\n\n return css`\n /* ========================================\n Rainbow Border Effect\n ======================================== */\n\n :host([effect='rainbow']) ${selector} {\n position: relative;\n border: var(--border-2) solid transparent !important;\n overflow: visible;\n }\n\n /* Rainbow border and glow layers */\n :host([effect='rainbow']) ${selector}::before, :host([effect='rainbow']) ${selector}::after {\n content: '';\n position: absolute;\n inset: calc(-1 * var(--border-2));\n border: inherit;\n border-radius: inherit;\n\n /* Reserve no-clip space for glow */\n box-shadow: 0 0 calc(3 * var(--blur-xl)) rgba(0 0 0 / 0.001);\n\n /* Rainbow gradient: Okabe-Ito colorblind-safe palette */\n background: conic-gradient(\n from var(--rainbow-angle),\n #56b4e9,\n /* Sky Blue */ #0072b2,\n /* Deep Blue */ #009e73,\n /* Bluish Green */ #f0e442,\n /* Yellow */ #e69f00,\n /* Orange */ #d55e00,\n /* Vermillion */ #cc79a7,\n /* Reddish Purple */ #56b4e9 /* Back to Sky Blue */\n )\n border-box;\n\n /* Make everything inside padding-box transparent\n by subtracting padding-box from no-clip box */\n -webkit-mask:\n conic-gradient(red 0 0) no-clip subtract,\n conic-gradient(red 0 0) padding-box;\n mask:\n conic-gradient(red 0 0) no-clip subtract,\n conic-gradient(red 0 0) padding-box;\n\n opacity: var(--rainbow-border-opacity, 0.7);\n pointer-events: none;\n animation: rainbow-rotate 4s linear infinite;\n }\n\n /* Turn one pseudo layer into glow halo */\n :host([effect='rainbow']) ${selector}::after {\n opacity: var(--rainbow-glow-opacity, 0.18);\n filter: blur(var(--blur-xl));\n }\n\n /* ========================================\n Animation\n ======================================== */\n\n @keyframes rainbow-rotate {\n to {\n --rainbow-angle: 1turn;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n :host([effect='rainbow']) ${selector}::before, :host([effect='rainbow']) ${selector}::after {\n animation: none;\n }\n }\n `;\n};\n\n/**\n * Shine Border Effect Mixin\n *\n * Animated color-aware border shine. A tight arc of the component's own\n * theme color rotates around the border, producing the glossy \"shimmer\"\n * look seen in modern card and button designs.\n *\n * Respects the `color` attribute via `--_theme-*` tokens: no extra\n * configuration needed. Falls back to the neutral theme when no color\n * is set.\n *\n * @param selector - CSS selector for the inner element, matched against the\n * component's actual shadow DOM markup: see rainbowEffectMixin's\n * `selector` doc above for why a bare word like 'button' is usually wrong.\n * @returns CSSResult with shine border animation\n *\n * @example\n * ```ts\n * styles: [shineEffectMixin('[part=\"button\"]'), componentStyles]\n * ```\n */\nexport const shineEffectMixin = (selector: string) => {\n registerShineProperty();\n\n return css`\n /* ========================================\n Shine Border Effect\n ======================================== */\n\n :host([effect='shine']) ${selector} {\n position: relative;\n overflow: visible;\n --_shine-color: light-dark(\n oklch(from var(--_theme-focus) 0.6 calc(c * 1.2) h),\n oklch(from var(--_theme-focus) 0.85 calc(c * 1.2) h)\n );\n }\n\n /* Shine border: single pseudo, glow via box-shadow (follows border-radius, no artifacts) */\n :host([effect='shine']) ${selector}::before {\n content: '';\n position: absolute;\n inset: calc(-1 * var(--border-2));\n border: var(--border-2) solid transparent;\n border-radius: calc(var(--_radius, 0px) + var(--border-2));\n\n /* Two comet tails 180deg apart, same shape rotating together */\n background:\n conic-gradient(from var(--shine-angle), transparent 0%, transparent 75%, var(--_shine-color) 100%) border-box,\n conic-gradient(\n from calc(var(--shine-angle) + 180deg),\n transparent 0%,\n transparent 75%,\n var(--_shine-color) 100%\n )\n border-box;\n\n -webkit-mask:\n conic-gradient(red 0 0) no-clip subtract,\n conic-gradient(red 0 0) padding-box;\n mask:\n conic-gradient(red 0 0) no-clip subtract,\n conic-gradient(red 0 0) padding-box;\n\n pointer-events: none;\n animation: shine-rotate 2.5s linear infinite;\n }\n\n /* ========================================\n Animation\n ======================================== */\n\n @keyframes shine-rotate {\n to {\n --shine-angle: 1turn;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n :host([effect='shine']) ${selector}::before {\n animation: none;\n }\n }\n `;\n};\n"],"mappings":"oCAOA,IAAI,EAAoB,GAExB,SAAgB,yBAA0B,CACpC,MAEJ,IAAI,OAAO,IAAQ,KAAe,IAAI,iBACpC,GAAI,CACF,IAAI,iBAAiB,CACnB,SAAU,GACV,aAAc,OACd,KAAM,kBACN,OAAQ,SACV,CAAC,CACH,MAAQ,CAER,CAGF,EAAoB,EAHlB,CAIJ,CAOA,IAAI,EAAkB,GAEtB,SAAgB,uBAAwB,CAClC,MAEJ,IAAI,OAAO,IAAQ,KAAe,IAAI,iBACpC,GAAI,CACF,IAAI,iBAAiB,CACnB,SAAU,GACV,aAAc,OACd,KAAM,gBACN,OAAQ,SACV,CAAC,CACH,MAAQ,CAER,CAGF,EAAkB,EAHhB,CAIJ,CA2BA,IAAa,mBAAsB,IACjC,wBAAwB,EAEjB,CAAG;;;;;gCAKoB,EAAS;;;;;;;gCAOT,EAAS,sCAAsC,EAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAuCxD,EAAS;;;;;;;;;;;;;;;;kCAgBP,EAAS,sCAAsC,EAAS;;;;KA4B7E,iBAAoB,IAC/B,sBAAsB,EAEf,CAAG;;;;;8BAKkB,EAAS;;;;;;;;;;8BAUT,EAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAwCP,EAAS"}
|
|
@@ -54,9 +54,9 @@ let e=require("@vielzeug/ore");var fieldVariantMixin=({accentVar:t=`--_theme-foc
|
|
|
54
54
|
color: var(--${i}-placeholder-color, color-mix(in oklch, var(--_theme-base) 45%, transparent));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
/* Outline
|
|
57
|
+
/* Outline: border always visible, so unlike the other variants it can't lean on a
|
|
58
58
|
per-component \`:host{}\` base fallback for \`--_border-color\` that may or may not exist
|
|
59
|
-
(\`ore-message-composer\` has none
|
|
59
|
+
(\`ore-message-composer\` has none: every other rule here sets both custom properties, so
|
|
60
60
|
its base layer omits a default on the assumption that always holds). Set explicitly. */
|
|
61
61
|
:host([variant='outline']) {
|
|
62
62
|
--_bg: var(--${i}-bg, transparent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-variants.css.cjs","names":[],"sources":["../../../src/styles/mixins/field-variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\nexport type FieldVariantMixinOptions = {\n /**\n * The theme accent custom property `flat`/`bordered` mix into their border color. Defaults to\n * `--_theme-focus` (from `colorThemeMixin`). Override for a component with its own distinct\n * focus/accent concept instead of the shared theme token (`ore-otp-input`'s `--_cell-focus-\n * border`, which isn't theme-color-driven the same way).\n */\n accentVar?: string;\n /** Selector for the element that gets the variant's background/border/shadow
|
|
1
|
+
{"version":3,"file":"field-variants.css.cjs","names":[],"sources":["../../../src/styles/mixins/field-variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\nexport type FieldVariantMixinOptions = {\n /**\n * The theme accent custom property `flat`/`bordered` mix into their border color. Defaults to\n * `--_theme-focus` (from `colorThemeMixin`). Override for a component with its own distinct\n * focus/accent concept instead of the shared theme token (`ore-otp-input`'s `--_cell-focus-\n * border`, which isn't theme-color-driven the same way).\n */\n accentVar?: string;\n /** Selector for the element that gets the variant's background/border/shadow: the visual \"box\". */\n container: string;\n /**\n * Selector for the text-bearing element the `bordered` variant tints to the theme color.\n * Defaults to `container` for components where the box and the text-bearing element are the\n * same node (`ore-input`/`ore-textarea`'s `.field`). Pass a distinct selector when they're\n * split (`ore-message-composer`'s `.composer` card vs its bare `.field` textarea).\n */\n text?: string;\n /** CSS custom-property namespace, e.g. `'input'` → `--input-bg`, `--input-hover-bg`, ... */\n tokenPrefix: string;\n};\n\n/**\n * The `solid`/`flat`/`bordered`/`outline`/`ghost` variant switch shared by every text-entry\n * field component (`ore-input`, `ore-textarea`, `ore-message-composer`, `ore-otp-input`) :\n * previously hand-duplicated across them, mostly identically but not quite: this version also\n * uniformly adds a `:not([disabled])` guard to the `flat` variant's hover/focus rules (only\n * `ore-message-composer` had it) and the `bordered` variant's text/placeholder/caret tint\n * (`ore-input`/`ore-otp-input` were missing pieces of it): clearly-unintentional per-component\n * gaps, not deliberate differences, so this mixin converges on the more complete behavior for\n * every consumer rather than picking one component's version arbitrarily.\n *\n * Deliberately does **not** touch `:focus-within` box-shadow for `solid`/`outline`/`ghost` :\n * every current consumer already covers that with its own single `:host(:not([disabled],\n * [variant='flat'], ...)) ${container}:focus-within` catch-all in its *own* base layer, so a\n * copy here would be pure redundancy for them, and actively wrong for `ore-otp-input`: its\n * `.cell` is the focusable element itself (not a wrapper), so `:focus-within` matches on every\n * keystroke, and it already renders its own bespoke ring (colored by `accentVar`, not\n * `--_theme-shadow`) uniformly across all variants in its base layer: this mixin adding a\n * second, generic one would fight it depending on layer/rule order.\n *\n * Each component keeps its own `:host(:not([variant], ...)) ${container}:hover/:focus-within`\n * base-state rules and any variant beyond this shared set (e.g. `ore-input`'s extra `'text'`\n * variant) in its own stylesheet: this mixin only covers the five variants every consumer has\n * in common.\n *\n * @example\n * ```ts\n * // ore-textarea / ore-input (box and text-bearing element are the same `.field`)\n * styles: [..., fieldVariantMixin({ container: '.field', tokenPrefix: 'textarea' }), componentStyles]\n *\n * // ore-message-composer (card `.composer` vs its own bare `.field` textarea)\n * styles: [\n * ...,\n * fieldVariantMixin({ container: '.composer', text: '.field', tokenPrefix: 'message-composer' }),\n * componentStyles,\n * ]\n *\n * // ore-otp-input (own per-cell accent instead of the shared theme-focus token)\n * styles: [\n * ...,\n * fieldVariantMixin({ accentVar: '--_cell-focus-border', container: '.cell', tokenPrefix: 'otp-cell' }),\n * componentStyles,\n * ]\n * ```\n */\nexport const fieldVariantMixin = ({\n accentVar = '--_theme-focus',\n container,\n text = container,\n tokenPrefix,\n}: FieldVariantMixinOptions) => css`\n @layer refine.variants {\n /* Solid (default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--${tokenPrefix}-bg, var(--color-contrast-50));\n --_border-color: var(--${tokenPrefix}-border-color, var(--color-contrast-300));\n }\n\n :host(:not([variant])) ${container}, :host([variant='solid']) ${container} {\n box-shadow: var(--shadow-2xs);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--${tokenPrefix}-bg, var(--color-contrast-100));\n --_border-color: var(--${tokenPrefix}-border-color, color-mix(in oklch, var(${accentVar}) 20%, transparent));\n }\n\n :host([variant='flat']) ${container} {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']:not([disabled])) ${container}:hover {\n background: var(--${tokenPrefix}-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --${tokenPrefix}-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']:not([disabled])) ${container}:focus-within {\n background: var(--${tokenPrefix}-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--${tokenPrefix}-focus-border-color, color-mix(in oklch, var(${accentVar}) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--${tokenPrefix}-bg, var(--_theme-backdrop));\n --_border-color: var(--${tokenPrefix}-border-color, color-mix(in oklch, var(${accentVar}) 70%, transparent));\n }\n\n :host([variant='bordered']:not([disabled])) ${container}:hover {\n border-color: var(--${tokenPrefix}-hover-border-color, var(${accentVar}));\n }\n\n :host([variant='bordered']) ${text} {\n color: var(--_theme-base);\n caret-color: var(--_theme-base);\n }\n\n :host([variant='bordered']) ${text}::placeholder {\n color: var(--${tokenPrefix}-placeholder-color, color-mix(in oklch, var(--_theme-base) 45%, transparent));\n }\n\n /* Outline: border always visible, so unlike the other variants it can't lean on a\n per-component \\`:host{}\\` base fallback for \\`--_border-color\\` that may or may not exist\n (\\`ore-message-composer\\` has none: every other rule here sets both custom properties, so\n its base layer omits a default on the assumption that always holds). Set explicitly. */\n :host([variant='outline']) {\n --_bg: var(--${tokenPrefix}-bg, transparent);\n --_border-color: var(--${tokenPrefix}-border-color, var(--color-contrast-300));\n }\n\n :host([variant='outline']) ${container} {\n box-shadow: none;\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--${tokenPrefix}-bg, transparent);\n --_border-color: var(--${tokenPrefix}-border-color, transparent);\n }\n\n :host([variant='ghost']) ${container} {\n box-shadow: none;\n }\n\n :host([variant='ghost']:not([disabled])) ${container}:hover {\n background: var(--${tokenPrefix}-hover-bg, var(--color-contrast-100));\n }\n\n /* frost */\n :host([variant='frost']) {\n --_bg: var(--color-canvas);\n --_border-color: var(--${tokenPrefix}-border-color, var(--color-contrast-300));\n }\n\n :host([variant='frost']) ${container} {\n box-shadow: none;\n backdrop-filter: blur(var(--blur-md));\n }\n\n :host([variant='frost']:not([disabled])) ${container}:hover {\n background: var(--${tokenPrefix}-hover-bg, var(--color-contrast-100));\n }\n }\n`;\n"],"mappings":"+BAmEA,IAAa,mBAAqB,CAChC,YAAY,iBACZ,YACA,OAAO,EACP,iBAC8B,EAAA,GAAG;;;;;qBAKd,EAAY;+BACF,EAAY;;;6BAGd,EAAU,6BAA6B,EAAU;;;;;;qBAMzD,EAAY;+BACF,EAAY,yCAAyC,EAAU;;;8BAGhE,EAAU;;;;8CAIM,EAAU;0BAC9B,EAAY;;YAE1B,EAAY;;;;;8CAKsB,EAAU;0BAC9B,EAAY;4BACV,EAAY,+CAA+C,EAAU;;;;;;qBAM5E,EAAY;+BACF,EAAY,yCAAyC,EAAU;;;kDAG5C,EAAU;4BAChC,EAAY,2BAA2B,EAAU;;;kCAG3C,EAAK;;;;;kCAKL,EAAK;qBAClB,EAAY;;;;;;;;qBAQZ,EAAY;+BACF,EAAY;;;iCAGV,EAAU;;;;;;qBAMtB,EAAY;+BACF,EAAY;;;+BAGZ,EAAU;;;;+CAIM,EAAU;0BAC/B,EAAY;;;;;;+BAMP,EAAY;;;+BAGZ,EAAU;;;;;+CAKM,EAAU;0BAC/B,EAAY"}
|
|
@@ -6,7 +6,7 @@ export type FieldVariantMixinOptions = {
|
|
|
6
6
|
* border`, which isn't theme-color-driven the same way).
|
|
7
7
|
*/
|
|
8
8
|
accentVar?: string;
|
|
9
|
-
/** Selector for the element that gets the variant's background/border/shadow
|
|
9
|
+
/** Selector for the element that gets the variant's background/border/shadow: the visual "box". */
|
|
10
10
|
container: string;
|
|
11
11
|
/**
|
|
12
12
|
* Selector for the text-bearing element the `bordered` variant tints to the theme color.
|
|
@@ -20,26 +20,26 @@ export type FieldVariantMixinOptions = {
|
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* The `solid`/`flat`/`bordered`/`outline`/`ghost` variant switch shared by every text-entry
|
|
23
|
-
* field component (`ore-input`, `ore-textarea`, `ore-message-composer`, `ore-otp-input`)
|
|
23
|
+
* field component (`ore-input`, `ore-textarea`, `ore-message-composer`, `ore-otp-input`) :
|
|
24
24
|
* previously hand-duplicated across them, mostly identically but not quite: this version also
|
|
25
25
|
* uniformly adds a `:not([disabled])` guard to the `flat` variant's hover/focus rules (only
|
|
26
26
|
* `ore-message-composer` had it) and the `bordered` variant's text/placeholder/caret tint
|
|
27
|
-
* (`ore-input`/`ore-otp-input` were missing pieces of it)
|
|
27
|
+
* (`ore-input`/`ore-otp-input` were missing pieces of it): clearly-unintentional per-component
|
|
28
28
|
* gaps, not deliberate differences, so this mixin converges on the more complete behavior for
|
|
29
29
|
* every consumer rather than picking one component's version arbitrarily.
|
|
30
30
|
*
|
|
31
|
-
* Deliberately does **not** touch `:focus-within` box-shadow for `solid`/`outline`/`ghost`
|
|
31
|
+
* Deliberately does **not** touch `:focus-within` box-shadow for `solid`/`outline`/`ghost` :
|
|
32
32
|
* every current consumer already covers that with its own single `:host(:not([disabled],
|
|
33
33
|
* [variant='flat'], ...)) ${container}:focus-within` catch-all in its *own* base layer, so a
|
|
34
34
|
* copy here would be pure redundancy for them, and actively wrong for `ore-otp-input`: its
|
|
35
35
|
* `.cell` is the focusable element itself (not a wrapper), so `:focus-within` matches on every
|
|
36
36
|
* keystroke, and it already renders its own bespoke ring (colored by `accentVar`, not
|
|
37
|
-
* `--_theme-shadow`) uniformly across all variants in its base layer
|
|
37
|
+
* `--_theme-shadow`) uniformly across all variants in its base layer: this mixin adding a
|
|
38
38
|
* second, generic one would fight it depending on layer/rule order.
|
|
39
39
|
*
|
|
40
40
|
* Each component keeps its own `:host(:not([variant], ...)) ${container}:hover/:focus-within`
|
|
41
41
|
* base-state rules and any variant beyond this shared set (e.g. `ore-input`'s extra `'text'`
|
|
42
|
-
* variant) in its own stylesheet
|
|
42
|
+
* variant) in its own stylesheet: this mixin only covers the five variants every consumer has
|
|
43
43
|
* in common.
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-variants.css.d.ts","sourceRoot":"","sources":["../../../src/styles/mixins/field-variants.css.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"field-variants.css.d.ts","sourceRoot":"","sources":["../../../src/styles/mixins/field-variants.css.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mGAAmG;IACnG,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,iBAAiB,GAAI,8CAK/B,wBAAwB,sCAkG1B,CAAC"}
|
|
@@ -54,9 +54,9 @@ import{css as e}from"@vielzeug/ore";var fieldVariantMixin=({accentVar:t=`--_them
|
|
|
54
54
|
color: var(--${i}-placeholder-color, color-mix(in oklch, var(--_theme-base) 45%, transparent));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
/* Outline
|
|
57
|
+
/* Outline: border always visible, so unlike the other variants it can't lean on a
|
|
58
58
|
per-component \`:host{}\` base fallback for \`--_border-color\` that may or may not exist
|
|
59
|
-
(\`ore-message-composer\` has none
|
|
59
|
+
(\`ore-message-composer\` has none: every other rule here sets both custom properties, so
|
|
60
60
|
its base layer omits a default on the assumption that always holds). Set explicitly. */
|
|
61
61
|
:host([variant='outline']) {
|
|
62
62
|
--_bg: var(--${i}-bg, transparent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-variants.css.js","names":[],"sources":["../../../src/styles/mixins/field-variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\nexport type FieldVariantMixinOptions = {\n /**\n * The theme accent custom property `flat`/`bordered` mix into their border color. Defaults to\n * `--_theme-focus` (from `colorThemeMixin`). Override for a component with its own distinct\n * focus/accent concept instead of the shared theme token (`ore-otp-input`'s `--_cell-focus-\n * border`, which isn't theme-color-driven the same way).\n */\n accentVar?: string;\n /** Selector for the element that gets the variant's background/border/shadow
|
|
1
|
+
{"version":3,"file":"field-variants.css.js","names":[],"sources":["../../../src/styles/mixins/field-variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\nexport type FieldVariantMixinOptions = {\n /**\n * The theme accent custom property `flat`/`bordered` mix into their border color. Defaults to\n * `--_theme-focus` (from `colorThemeMixin`). Override for a component with its own distinct\n * focus/accent concept instead of the shared theme token (`ore-otp-input`'s `--_cell-focus-\n * border`, which isn't theme-color-driven the same way).\n */\n accentVar?: string;\n /** Selector for the element that gets the variant's background/border/shadow: the visual \"box\". */\n container: string;\n /**\n * Selector for the text-bearing element the `bordered` variant tints to the theme color.\n * Defaults to `container` for components where the box and the text-bearing element are the\n * same node (`ore-input`/`ore-textarea`'s `.field`). Pass a distinct selector when they're\n * split (`ore-message-composer`'s `.composer` card vs its bare `.field` textarea).\n */\n text?: string;\n /** CSS custom-property namespace, e.g. `'input'` → `--input-bg`, `--input-hover-bg`, ... */\n tokenPrefix: string;\n};\n\n/**\n * The `solid`/`flat`/`bordered`/`outline`/`ghost` variant switch shared by every text-entry\n * field component (`ore-input`, `ore-textarea`, `ore-message-composer`, `ore-otp-input`) :\n * previously hand-duplicated across them, mostly identically but not quite: this version also\n * uniformly adds a `:not([disabled])` guard to the `flat` variant's hover/focus rules (only\n * `ore-message-composer` had it) and the `bordered` variant's text/placeholder/caret tint\n * (`ore-input`/`ore-otp-input` were missing pieces of it): clearly-unintentional per-component\n * gaps, not deliberate differences, so this mixin converges on the more complete behavior for\n * every consumer rather than picking one component's version arbitrarily.\n *\n * Deliberately does **not** touch `:focus-within` box-shadow for `solid`/`outline`/`ghost` :\n * every current consumer already covers that with its own single `:host(:not([disabled],\n * [variant='flat'], ...)) ${container}:focus-within` catch-all in its *own* base layer, so a\n * copy here would be pure redundancy for them, and actively wrong for `ore-otp-input`: its\n * `.cell` is the focusable element itself (not a wrapper), so `:focus-within` matches on every\n * keystroke, and it already renders its own bespoke ring (colored by `accentVar`, not\n * `--_theme-shadow`) uniformly across all variants in its base layer: this mixin adding a\n * second, generic one would fight it depending on layer/rule order.\n *\n * Each component keeps its own `:host(:not([variant], ...)) ${container}:hover/:focus-within`\n * base-state rules and any variant beyond this shared set (e.g. `ore-input`'s extra `'text'`\n * variant) in its own stylesheet: this mixin only covers the five variants every consumer has\n * in common.\n *\n * @example\n * ```ts\n * // ore-textarea / ore-input (box and text-bearing element are the same `.field`)\n * styles: [..., fieldVariantMixin({ container: '.field', tokenPrefix: 'textarea' }), componentStyles]\n *\n * // ore-message-composer (card `.composer` vs its own bare `.field` textarea)\n * styles: [\n * ...,\n * fieldVariantMixin({ container: '.composer', text: '.field', tokenPrefix: 'message-composer' }),\n * componentStyles,\n * ]\n *\n * // ore-otp-input (own per-cell accent instead of the shared theme-focus token)\n * styles: [\n * ...,\n * fieldVariantMixin({ accentVar: '--_cell-focus-border', container: '.cell', tokenPrefix: 'otp-cell' }),\n * componentStyles,\n * ]\n * ```\n */\nexport const fieldVariantMixin = ({\n accentVar = '--_theme-focus',\n container,\n text = container,\n tokenPrefix,\n}: FieldVariantMixinOptions) => css`\n @layer refine.variants {\n /* Solid (default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--${tokenPrefix}-bg, var(--color-contrast-50));\n --_border-color: var(--${tokenPrefix}-border-color, var(--color-contrast-300));\n }\n\n :host(:not([variant])) ${container}, :host([variant='solid']) ${container} {\n box-shadow: var(--shadow-2xs);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--${tokenPrefix}-bg, var(--color-contrast-100));\n --_border-color: var(--${tokenPrefix}-border-color, color-mix(in oklch, var(${accentVar}) 20%, transparent));\n }\n\n :host([variant='flat']) ${container} {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']:not([disabled])) ${container}:hover {\n background: var(--${tokenPrefix}-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --${tokenPrefix}-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']:not([disabled])) ${container}:focus-within {\n background: var(--${tokenPrefix}-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--${tokenPrefix}-focus-border-color, color-mix(in oklch, var(${accentVar}) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--${tokenPrefix}-bg, var(--_theme-backdrop));\n --_border-color: var(--${tokenPrefix}-border-color, color-mix(in oklch, var(${accentVar}) 70%, transparent));\n }\n\n :host([variant='bordered']:not([disabled])) ${container}:hover {\n border-color: var(--${tokenPrefix}-hover-border-color, var(${accentVar}));\n }\n\n :host([variant='bordered']) ${text} {\n color: var(--_theme-base);\n caret-color: var(--_theme-base);\n }\n\n :host([variant='bordered']) ${text}::placeholder {\n color: var(--${tokenPrefix}-placeholder-color, color-mix(in oklch, var(--_theme-base) 45%, transparent));\n }\n\n /* Outline: border always visible, so unlike the other variants it can't lean on a\n per-component \\`:host{}\\` base fallback for \\`--_border-color\\` that may or may not exist\n (\\`ore-message-composer\\` has none: every other rule here sets both custom properties, so\n its base layer omits a default on the assumption that always holds). Set explicitly. */\n :host([variant='outline']) {\n --_bg: var(--${tokenPrefix}-bg, transparent);\n --_border-color: var(--${tokenPrefix}-border-color, var(--color-contrast-300));\n }\n\n :host([variant='outline']) ${container} {\n box-shadow: none;\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--${tokenPrefix}-bg, transparent);\n --_border-color: var(--${tokenPrefix}-border-color, transparent);\n }\n\n :host([variant='ghost']) ${container} {\n box-shadow: none;\n }\n\n :host([variant='ghost']:not([disabled])) ${container}:hover {\n background: var(--${tokenPrefix}-hover-bg, var(--color-contrast-100));\n }\n\n /* frost */\n :host([variant='frost']) {\n --_bg: var(--color-canvas);\n --_border-color: var(--${tokenPrefix}-border-color, var(--color-contrast-300));\n }\n\n :host([variant='frost']) ${container} {\n box-shadow: none;\n backdrop-filter: blur(var(--blur-md));\n }\n\n :host([variant='frost']:not([disabled])) ${container}:hover {\n background: var(--${tokenPrefix}-hover-bg, var(--color-contrast-100));\n }\n }\n`;\n"],"mappings":"oCAmEA,IAAa,mBAAqB,CAChC,YAAY,iBACZ,YACA,OAAO,EACP,iBAC8B,CAAG;;;;;qBAKd,EAAY;+BACF,EAAY;;;6BAGd,EAAU,6BAA6B,EAAU;;;;;;qBAMzD,EAAY;+BACF,EAAY,yCAAyC,EAAU;;;8BAGhE,EAAU;;;;8CAIM,EAAU;0BAC9B,EAAY;;YAE1B,EAAY;;;;;8CAKsB,EAAU;0BAC9B,EAAY;4BACV,EAAY,+CAA+C,EAAU;;;;;;qBAM5E,EAAY;+BACF,EAAY,yCAAyC,EAAU;;;kDAG5C,EAAU;4BAChC,EAAY,2BAA2B,EAAU;;;kCAG3C,EAAK;;;;;kCAKL,EAAK;qBAClB,EAAY;;;;;;;;qBAQZ,EAAY;+BACF,EAAY;;;iCAGV,EAAU;;;;;;qBAMtB,EAAY;+BACF,EAAY;;;+BAGZ,EAAU;;;;+CAIM,EAAU;0BAC/B,EAAY;;;;;;+BAMP,EAAY;;;+BAGZ,EAAU;;;;;+CAKM,EAAU;0BAC/B,EAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.css.cjs","names":[],"sources":["../../../src/styles/mixins/shape.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n// ── Padding ───────────────────────────────────────────────────────────────────\n\n/**\n * Padding Variant Mixin\n *\n * Provides padding size variants (none, sm, md, lg, xl) via CSS custom properties.\n * Sets the --_padding variable based on padding attribute.\n *\n * @example\n * ```ts\n * import { paddingMixin } from '../../styles';\n *\n * return {\n * styles: [paddingMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const paddingMixin = css`\n /* ========================================\n Padding Variants\n ======================================== */\n\n :host([padding='none']) {\n --_padding: var(--size-0);\n }\n\n :host([padding='sm']) {\n --_padding: var(--size-3);\n }\n\n :host([padding='md']) {\n --_padding: var(--size-4);\n }\n\n :host([padding='lg']) {\n --_padding: var(--size-6);\n }\n\n :host([padding='xl']) {\n --_padding: var(--size-8);\n }\n`;\n\n// ── Rounded ───────────────────────────────────────────────────────────────────\n\n/**\n * Rounded Variant Mixin\n *\n * Shared border-radius variant styles for components.\n * Maps rounded attribute values to theme border radius tokens.\n *\n * @example\n * ```ts\n * import { roundedVariantMixin } from '../../styles';\n *\n * return {\n * styles: [roundedVariantMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const roundedVariantMixin = css`\n :host([rounded='none']) {\n --_radius: var(--rounded-none);\n }\n :host([rounded='sm']) {\n --_radius: var(--rounded-sm);\n }\n :host([rounded='md']) {\n --_radius: var(--rounded-md);\n }\n :host([rounded='lg']) {\n --_radius: var(--rounded-lg);\n }\n :host([rounded='xl']) {\n --_radius: var(--rounded-xl);\n }\n :host([rounded='2xl']) {\n --_radius: var(--rounded-2xl);\n }\n :host([rounded='3xl']) {\n --_radius: var(--rounded-3xl);\n }\n :host([rounded='full']),\n :host([rounded='']) {\n --_radius: var(--rounded-full);\n }\n`;\n\n// ── Size Variants ─────────────────────────────────────────────────────────────\n\n/**\n * Size Variant Mixin\n *\n * Injects the three standard size tiers (sm / md / lg) as CSS custom property\n * blocks on `:host([size=\"…\"])`. Per-component overrides are supplied as a raw\n * CSS string for each tier and are appended after the shared defaults.\n *\n * All property names use the `--_` internal convention already established by\n * other mixins. The mapping is:\n *\n * | Config key | CSS custom property |\n * |------------- |----------------------|\n * | fontSize | --_font-size |\n * | gap | --_gap |\n * | height | --_height |\n * | iconSize | --_icon-size |\n * | lineHeight | --_line-height |\n * | padding | --_padding |\n * | size | --_size |\n * | thumbSize | --_thumb-size |\n * | width | --_width |\n * | --foo | --foo (pass-through) |\n *\n * @example\n * ```ts\n * styles: [\n * sizeVariantMixin({\n * sm: { height: 'var(--size-8)', padding: 'var(--size-1-5) var(--size-3)' },\n * lg: { height: 'var(--size-12)', padding: 'var(--size-2-5) var(--size-5)' },\n * }),\n * componentStyles,\n * ]\n * ```\n */\nexport type SizeConfig = {\n /** Arbitrary CSS custom properties (must start with --) */\n [key: `--${string}`]: string | undefined;\n /** Font size
|
|
1
|
+
{"version":3,"file":"shape.css.cjs","names":[],"sources":["../../../src/styles/mixins/shape.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n// ── Padding ───────────────────────────────────────────────────────────────────\n\n/**\n * Padding Variant Mixin\n *\n * Provides padding size variants (none, sm, md, lg, xl) via CSS custom properties.\n * Sets the --_padding variable based on padding attribute.\n *\n * @example\n * ```ts\n * import { paddingMixin } from '../../styles';\n *\n * return {\n * styles: [paddingMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const paddingMixin = css`\n /* ========================================\n Padding Variants\n ======================================== */\n\n :host([padding='none']) {\n --_padding: var(--size-0);\n }\n\n :host([padding='sm']) {\n --_padding: var(--size-3);\n }\n\n :host([padding='md']) {\n --_padding: var(--size-4);\n }\n\n :host([padding='lg']) {\n --_padding: var(--size-6);\n }\n\n :host([padding='xl']) {\n --_padding: var(--size-8);\n }\n`;\n\n// ── Rounded ───────────────────────────────────────────────────────────────────\n\n/**\n * Rounded Variant Mixin\n *\n * Shared border-radius variant styles for components.\n * Maps rounded attribute values to theme border radius tokens.\n *\n * @example\n * ```ts\n * import { roundedVariantMixin } from '../../styles';\n *\n * return {\n * styles: [roundedVariantMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const roundedVariantMixin = css`\n :host([rounded='none']) {\n --_radius: var(--rounded-none);\n }\n :host([rounded='sm']) {\n --_radius: var(--rounded-sm);\n }\n :host([rounded='md']) {\n --_radius: var(--rounded-md);\n }\n :host([rounded='lg']) {\n --_radius: var(--rounded-lg);\n }\n :host([rounded='xl']) {\n --_radius: var(--rounded-xl);\n }\n :host([rounded='2xl']) {\n --_radius: var(--rounded-2xl);\n }\n :host([rounded='3xl']) {\n --_radius: var(--rounded-3xl);\n }\n :host([rounded='full']),\n :host([rounded='']) {\n --_radius: var(--rounded-full);\n }\n`;\n\n// ── Size Variants ─────────────────────────────────────────────────────────────\n\n/**\n * Size Variant Mixin\n *\n * Injects the three standard size tiers (sm / md / lg) as CSS custom property\n * blocks on `:host([size=\"…\"])`. Per-component overrides are supplied as a raw\n * CSS string for each tier and are appended after the shared defaults.\n *\n * All property names use the `--_` internal convention already established by\n * other mixins. The mapping is:\n *\n * | Config key | CSS custom property |\n * |------------- |----------------------|\n * | fontSize | --_font-size |\n * | gap | --_gap |\n * | height | --_height |\n * | iconSize | --_icon-size |\n * | lineHeight | --_line-height |\n * | padding | --_padding |\n * | size | --_size |\n * | thumbSize | --_thumb-size |\n * | width | --_width |\n * | --foo | --foo (pass-through) |\n *\n * @example\n * ```ts\n * styles: [\n * sizeVariantMixin({\n * sm: { height: 'var(--size-8)', padding: 'var(--size-1-5) var(--size-3)' },\n * lg: { height: 'var(--size-12)', padding: 'var(--size-2-5) var(--size-5)' },\n * }),\n * componentStyles,\n * ]\n * ```\n */\nexport type SizeConfig = {\n /** Arbitrary CSS custom properties (must start with --) */\n [key: `--${string}`]: string | undefined;\n /** Font size: maps to --_font-size */\n fontSize?: string;\n /** Gap between elements: maps to --_gap */\n gap?: string;\n /** Element height: maps to --_height */\n height?: string;\n /** Icon size: maps to --_icon-size */\n iconSize?: string;\n /** Line height: maps to --_line-height */\n lineHeight?: string;\n /** Internal padding: maps to --_padding */\n padding?: string;\n /** Element size (width/height): maps to --_size */\n size?: string;\n /** Thumb size (e.g. toggle/switch thumb): maps to --_thumb-size */\n thumbSize?: string;\n /** Element width: maps to --_width */\n width?: string;\n};\n\nconst PROP_MAP: Record<string, string> = {\n fontSize: '--_font-size',\n gap: '--_gap',\n height: '--_height',\n iconSize: '--_icon-size',\n lineHeight: '--_line-height',\n padding: '--_padding',\n size: '--_size',\n thumbSize: '--_thumb-size',\n width: '--_width',\n};\n\nconst configToBlock = (config: SizeConfig): string =>\n Object.entries(config)\n .filter(([, v]) => v !== undefined)\n .map(([k, v]) => `${k.startsWith('--') ? k : (PROP_MAP[k] ?? `--_${k}`)}: ${v};`)\n .join('\\n ');\n\nexport const sizeVariantMixin = (config?: { lg?: SizeConfig; md?: SizeConfig; sm?: SizeConfig }) => {\n const sm = configToBlock({\n fontSize: 'var(--text-xs)',\n gap: 'var(--size-1-5)',\n size: 'var(--size-4)',\n ...config?.sm,\n });\n const md = configToBlock({\n fontSize: 'var(--text-sm)',\n gap: 'var(--size-2)',\n size: 'var(--size-5)',\n ...config?.md,\n });\n const lg = configToBlock({\n fontSize: 'var(--text-base)',\n gap: 'var(--size-2-5)',\n size: 'var(--size-6)',\n ...config?.lg,\n });\n\n return css`\n :host {\n ${md}\n }\n :host([size='sm']) {\n ${sm}\n }\n :host([size='md']) {\n ${md}\n }\n :host([size='lg']) {\n ${lg}\n }\n `;\n};\n"],"mappings":"+BAoBA,IAAa,EAAe,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EA4ClB,EAAsB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFhC,EAAmC,CACvC,SAAU,eACV,IAAK,SACL,OAAQ,YACR,SAAU,eACV,WAAY,iBACZ,QAAS,aACT,KAAM,UACN,UAAW,gBACX,MAAO,UACT,EAEM,cAAiB,GACrB,OAAO,QAAQ,CAAM,CAAC,CACnB,QAAQ,EAAG,KAAO,IAAM,IAAA,EAAS,CAAC,CAClC,KAAK,CAAC,EAAG,KAAO,GAAG,EAAE,WAAW,IAAI,EAAI,EAAK,EAAS,IAAM,MAAM,IAAK,IAAI,EAAE,EAAE,CAAC,CAChF,KAAK;SAAY,EAET,iBAAoB,GAAmE,CAClG,IAAM,EAAK,cAAc,CACvB,SAAU,iBACV,IAAK,kBACL,KAAM,gBACN,GAAG,GAAQ,EACb,CAAC,EACK,EAAK,cAAc,CACvB,SAAU,iBACV,IAAK,gBACL,KAAM,gBACN,GAAG,GAAQ,EACb,CAAC,EACK,EAAK,cAAc,CACvB,SAAU,mBACV,IAAK,kBACL,KAAM,gBACN,GAAG,GAAQ,EACb,CAAC,EAED,MAAO,GAAA,GAAG;;QAEJ,EAAG;;;QAGH,EAAG;;;QAGH,EAAG;;;QAGH,EAAG;;GAGX"}
|
|
@@ -69,23 +69,23 @@ export declare const roundedVariantMixin: import("@vielzeug/ore").CSSResult;
|
|
|
69
69
|
export type SizeConfig = {
|
|
70
70
|
/** Arbitrary CSS custom properties (must start with --) */
|
|
71
71
|
[key: `--${string}`]: string | undefined;
|
|
72
|
-
/** Font size
|
|
72
|
+
/** Font size: maps to --_font-size */
|
|
73
73
|
fontSize?: string;
|
|
74
|
-
/** Gap between elements
|
|
74
|
+
/** Gap between elements: maps to --_gap */
|
|
75
75
|
gap?: string;
|
|
76
|
-
/** Element height
|
|
76
|
+
/** Element height: maps to --_height */
|
|
77
77
|
height?: string;
|
|
78
|
-
/** Icon size
|
|
78
|
+
/** Icon size: maps to --_icon-size */
|
|
79
79
|
iconSize?: string;
|
|
80
|
-
/** Line height
|
|
80
|
+
/** Line height: maps to --_line-height */
|
|
81
81
|
lineHeight?: string;
|
|
82
|
-
/** Internal padding
|
|
82
|
+
/** Internal padding: maps to --_padding */
|
|
83
83
|
padding?: string;
|
|
84
|
-
/** Element size (width/height)
|
|
84
|
+
/** Element size (width/height): maps to --_size */
|
|
85
85
|
size?: string;
|
|
86
|
-
/** Thumb size (e.g. toggle/switch thumb)
|
|
86
|
+
/** Thumb size (e.g. toggle/switch thumb): maps to --_thumb-size */
|
|
87
87
|
thumbSize?: string;
|
|
88
|
-
/** Element width
|
|
88
|
+
/** Element width: maps to --_width */
|
|
89
89
|
width?: string;
|
|
90
90
|
};
|
|
91
91
|
export declare const sizeVariantMixin: (config?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.css.d.ts","sourceRoot":"","sources":["../../../src/styles/mixins/shape.css.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,mCAwBxB,CAAC;AAIF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,mCA0B/B,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,2DAA2D;IAC3D,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,
|
|
1
|
+
{"version":3,"file":"shape.css.d.ts","sourceRoot":"","sources":["../../../src/styles/mixins/shape.css.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,mCAwBxB,CAAC;AAIF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,mCA0B/B,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,2DAA2D;IAC3D,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAoBF,eAAO,MAAM,gBAAgB,GAAI,SAAS;IAAE,EAAE,CAAC,EAAE,UAAU,CAAC;IAAC,EAAE,CAAC,EAAE,UAAU,CAAC;IAAC,EAAE,CAAC,EAAE,UAAU,CAAA;CAAE,sCAkC9F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.css.js","names":[],"sources":["../../../src/styles/mixins/shape.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n// ── Padding ───────────────────────────────────────────────────────────────────\n\n/**\n * Padding Variant Mixin\n *\n * Provides padding size variants (none, sm, md, lg, xl) via CSS custom properties.\n * Sets the --_padding variable based on padding attribute.\n *\n * @example\n * ```ts\n * import { paddingMixin } from '../../styles';\n *\n * return {\n * styles: [paddingMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const paddingMixin = css`\n /* ========================================\n Padding Variants\n ======================================== */\n\n :host([padding='none']) {\n --_padding: var(--size-0);\n }\n\n :host([padding='sm']) {\n --_padding: var(--size-3);\n }\n\n :host([padding='md']) {\n --_padding: var(--size-4);\n }\n\n :host([padding='lg']) {\n --_padding: var(--size-6);\n }\n\n :host([padding='xl']) {\n --_padding: var(--size-8);\n }\n`;\n\n// ── Rounded ───────────────────────────────────────────────────────────────────\n\n/**\n * Rounded Variant Mixin\n *\n * Shared border-radius variant styles for components.\n * Maps rounded attribute values to theme border radius tokens.\n *\n * @example\n * ```ts\n * import { roundedVariantMixin } from '../../styles';\n *\n * return {\n * styles: [roundedVariantMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const roundedVariantMixin = css`\n :host([rounded='none']) {\n --_radius: var(--rounded-none);\n }\n :host([rounded='sm']) {\n --_radius: var(--rounded-sm);\n }\n :host([rounded='md']) {\n --_radius: var(--rounded-md);\n }\n :host([rounded='lg']) {\n --_radius: var(--rounded-lg);\n }\n :host([rounded='xl']) {\n --_radius: var(--rounded-xl);\n }\n :host([rounded='2xl']) {\n --_radius: var(--rounded-2xl);\n }\n :host([rounded='3xl']) {\n --_radius: var(--rounded-3xl);\n }\n :host([rounded='full']),\n :host([rounded='']) {\n --_radius: var(--rounded-full);\n }\n`;\n\n// ── Size Variants ─────────────────────────────────────────────────────────────\n\n/**\n * Size Variant Mixin\n *\n * Injects the three standard size tiers (sm / md / lg) as CSS custom property\n * blocks on `:host([size=\"…\"])`. Per-component overrides are supplied as a raw\n * CSS string for each tier and are appended after the shared defaults.\n *\n * All property names use the `--_` internal convention already established by\n * other mixins. The mapping is:\n *\n * | Config key | CSS custom property |\n * |------------- |----------------------|\n * | fontSize | --_font-size |\n * | gap | --_gap |\n * | height | --_height |\n * | iconSize | --_icon-size |\n * | lineHeight | --_line-height |\n * | padding | --_padding |\n * | size | --_size |\n * | thumbSize | --_thumb-size |\n * | width | --_width |\n * | --foo | --foo (pass-through) |\n *\n * @example\n * ```ts\n * styles: [\n * sizeVariantMixin({\n * sm: { height: 'var(--size-8)', padding: 'var(--size-1-5) var(--size-3)' },\n * lg: { height: 'var(--size-12)', padding: 'var(--size-2-5) var(--size-5)' },\n * }),\n * componentStyles,\n * ]\n * ```\n */\nexport type SizeConfig = {\n /** Arbitrary CSS custom properties (must start with --) */\n [key: `--${string}`]: string | undefined;\n /** Font size
|
|
1
|
+
{"version":3,"file":"shape.css.js","names":[],"sources":["../../../src/styles/mixins/shape.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n// ── Padding ───────────────────────────────────────────────────────────────────\n\n/**\n * Padding Variant Mixin\n *\n * Provides padding size variants (none, sm, md, lg, xl) via CSS custom properties.\n * Sets the --_padding variable based on padding attribute.\n *\n * @example\n * ```ts\n * import { paddingMixin } from '../../styles';\n *\n * return {\n * styles: [paddingMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const paddingMixin = css`\n /* ========================================\n Padding Variants\n ======================================== */\n\n :host([padding='none']) {\n --_padding: var(--size-0);\n }\n\n :host([padding='sm']) {\n --_padding: var(--size-3);\n }\n\n :host([padding='md']) {\n --_padding: var(--size-4);\n }\n\n :host([padding='lg']) {\n --_padding: var(--size-6);\n }\n\n :host([padding='xl']) {\n --_padding: var(--size-8);\n }\n`;\n\n// ── Rounded ───────────────────────────────────────────────────────────────────\n\n/**\n * Rounded Variant Mixin\n *\n * Shared border-radius variant styles for components.\n * Maps rounded attribute values to theme border radius tokens.\n *\n * @example\n * ```ts\n * import { roundedVariantMixin } from '../../styles';\n *\n * return {\n * styles: [roundedVariantMixin, componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const roundedVariantMixin = css`\n :host([rounded='none']) {\n --_radius: var(--rounded-none);\n }\n :host([rounded='sm']) {\n --_radius: var(--rounded-sm);\n }\n :host([rounded='md']) {\n --_radius: var(--rounded-md);\n }\n :host([rounded='lg']) {\n --_radius: var(--rounded-lg);\n }\n :host([rounded='xl']) {\n --_radius: var(--rounded-xl);\n }\n :host([rounded='2xl']) {\n --_radius: var(--rounded-2xl);\n }\n :host([rounded='3xl']) {\n --_radius: var(--rounded-3xl);\n }\n :host([rounded='full']),\n :host([rounded='']) {\n --_radius: var(--rounded-full);\n }\n`;\n\n// ── Size Variants ─────────────────────────────────────────────────────────────\n\n/**\n * Size Variant Mixin\n *\n * Injects the three standard size tiers (sm / md / lg) as CSS custom property\n * blocks on `:host([size=\"…\"])`. Per-component overrides are supplied as a raw\n * CSS string for each tier and are appended after the shared defaults.\n *\n * All property names use the `--_` internal convention already established by\n * other mixins. The mapping is:\n *\n * | Config key | CSS custom property |\n * |------------- |----------------------|\n * | fontSize | --_font-size |\n * | gap | --_gap |\n * | height | --_height |\n * | iconSize | --_icon-size |\n * | lineHeight | --_line-height |\n * | padding | --_padding |\n * | size | --_size |\n * | thumbSize | --_thumb-size |\n * | width | --_width |\n * | --foo | --foo (pass-through) |\n *\n * @example\n * ```ts\n * styles: [\n * sizeVariantMixin({\n * sm: { height: 'var(--size-8)', padding: 'var(--size-1-5) var(--size-3)' },\n * lg: { height: 'var(--size-12)', padding: 'var(--size-2-5) var(--size-5)' },\n * }),\n * componentStyles,\n * ]\n * ```\n */\nexport type SizeConfig = {\n /** Arbitrary CSS custom properties (must start with --) */\n [key: `--${string}`]: string | undefined;\n /** Font size: maps to --_font-size */\n fontSize?: string;\n /** Gap between elements: maps to --_gap */\n gap?: string;\n /** Element height: maps to --_height */\n height?: string;\n /** Icon size: maps to --_icon-size */\n iconSize?: string;\n /** Line height: maps to --_line-height */\n lineHeight?: string;\n /** Internal padding: maps to --_padding */\n padding?: string;\n /** Element size (width/height): maps to --_size */\n size?: string;\n /** Thumb size (e.g. toggle/switch thumb): maps to --_thumb-size */\n thumbSize?: string;\n /** Element width: maps to --_width */\n width?: string;\n};\n\nconst PROP_MAP: Record<string, string> = {\n fontSize: '--_font-size',\n gap: '--_gap',\n height: '--_height',\n iconSize: '--_icon-size',\n lineHeight: '--_line-height',\n padding: '--_padding',\n size: '--_size',\n thumbSize: '--_thumb-size',\n width: '--_width',\n};\n\nconst configToBlock = (config: SizeConfig): string =>\n Object.entries(config)\n .filter(([, v]) => v !== undefined)\n .map(([k, v]) => `${k.startsWith('--') ? k : (PROP_MAP[k] ?? `--_${k}`)}: ${v};`)\n .join('\\n ');\n\nexport const sizeVariantMixin = (config?: { lg?: SizeConfig; md?: SizeConfig; sm?: SizeConfig }) => {\n const sm = configToBlock({\n fontSize: 'var(--text-xs)',\n gap: 'var(--size-1-5)',\n size: 'var(--size-4)',\n ...config?.sm,\n });\n const md = configToBlock({\n fontSize: 'var(--text-sm)',\n gap: 'var(--size-2)',\n size: 'var(--size-5)',\n ...config?.md,\n });\n const lg = configToBlock({\n fontSize: 'var(--text-base)',\n gap: 'var(--size-2-5)',\n size: 'var(--size-6)',\n ...config?.lg,\n });\n\n return css`\n :host {\n ${md}\n }\n :host([size='sm']) {\n ${sm}\n }\n :host([size='md']) {\n ${md}\n }\n :host([size='lg']) {\n ${lg}\n }\n `;\n};\n"],"mappings":"oCAoBA,IAAa,EAAe,CAAG;;;;;;;;;;;;;;;;;;;;;;;;EA4ClB,EAAsB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFhC,EAAmC,CACvC,SAAU,eACV,IAAK,SACL,OAAQ,YACR,SAAU,eACV,WAAY,iBACZ,QAAS,aACT,KAAM,UACN,UAAW,gBACX,MAAO,UACT,EAEM,cAAiB,GACrB,OAAO,QAAQ,CAAM,CAAC,CACnB,QAAQ,EAAG,KAAO,IAAM,IAAA,EAAS,CAAC,CAClC,KAAK,CAAC,EAAG,KAAO,GAAG,EAAE,WAAW,IAAI,EAAI,EAAK,EAAS,IAAM,MAAM,IAAK,IAAI,EAAE,EAAE,CAAC,CAChF,KAAK;SAAY,EAET,iBAAoB,GAAmE,CAClG,IAAM,EAAK,cAAc,CACvB,SAAU,iBACV,IAAK,kBACL,KAAM,gBACN,GAAG,GAAQ,EACb,CAAC,EACK,EAAK,cAAc,CACvB,SAAU,iBACV,IAAK,gBACL,KAAM,gBACN,GAAG,GAAQ,EACb,CAAC,EACK,EAAK,cAAc,CACvB,SAAU,mBACV,IAAK,kBACL,KAAM,gBACN,GAAG,GAAQ,EACb,CAAC,EAED,MAAO,EAAG;;QAEJ,EAAG;;;QAGH,EAAG;;;QAGH,EAAG;;;QAGH,EAAG;;GAGX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants.css.cjs","names":[],"sources":["../../../src/styles/mixins/variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n/**\n * Frost Variant Mixin\n *\n * Shared frost variant styles for components.\n * Provides consistent frosted glass effect with backdrop blur,\n * theme-aware colors, halo shadows, and elevation support.\n *\n * @param selector - CSS selector for the element, matched against the\n * component's actual shadow DOM markup (e.g., '.card', '.field')
|
|
1
|
+
{"version":3,"file":"variants.css.cjs","names":[],"sources":["../../../src/styles/mixins/variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n/**\n * Frost Variant Mixin\n *\n * Shared frost variant styles for components.\n * Provides consistent frosted glass effect with backdrop blur,\n * theme-aware colors, halo shadows, and elevation support.\n *\n * @param selector - CSS selector for the element, matched against the\n * component's actual shadow DOM markup (e.g., '.card', '.field'): a bare\n * word like 'button' is a TYPE selector for a literal `<button>` tag, not\n * a part/class selector. Use `'[part=\"button\"]'` for components whose root\n * is a `<span part=\"button\">`/`<a part=\"button\">` (e.g. ore-button, which\n * never renders a `<button>` tag).\n * @returns CSSResult with complete frost variant implementation\n *\n * @example\n * ```ts\n * import { frostVariantMixin } from '../../styles/mixins/frost.css';\n *\n * return {\n * styles: [frostVariantMixin('[part=\"button\"]'), componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const frostVariantMixin = (selector: string) => css`\n :host([variant='frost']) ${selector} {\n backdrop-filter: blur(var(--blur-xl)) saturate(200%) brightness(1.1);\n -webkit-backdrop-filter: blur(var(--blur-xl)) saturate(200%) brightness(1.1);\n }\n\n :host([variant='frost']:not([color])) ${selector} {\n background: color-mix(in oklch, var(--color-canvas) 55%, transparent);\n color: var(--color-contrast);\n text-shadow: var(--text-shadow-xs);\n border: var(--border) solid color-mix(in oklch, var(--color-contrast-400) 45%, transparent);\n }\n\n /* Frost neutral without elevation: use halo shadow */\n :host([variant='frost']:not([color]):not([elevation])) ${selector} {\n box-shadow: var(--halo-shadow-neutral);\n }\n\n /* Explicit elevation replaces the default halo so each depth remains visually distinct. */\n :host([variant='frost']:not([color])[elevation]) ${selector} {\n box-shadow: var(--_shadow);\n }\n\n :host([variant='frost'][color]) ${selector} {\n background: color-mix(in oklch, var(--_theme-base), transparent);\n border-color: color-mix(in oklch, var(--_theme-border) 45%, transparent);\n color: var(--_theme-content);\n border: var(--border) solid color-mix(in oklch, var(--_theme-border) 45%, transparent);\n backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n -webkit-backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n text-shadow: var(--text-shadow-xs);\n filter: brightness(1.05);\n }\n\n /* Frost color without elevation: use halo shadow */\n :host([variant='frost'][color]:not([elevation])) ${selector} {\n box-shadow: var(--_theme-halo);\n }\n\n /* Explicit elevation replaces the default halo so each depth remains visually distinct. */\n :host([variant='frost'][color][elevation]) ${selector} {\n box-shadow: var(--_shadow);\n }\n\n :host([variant='frost']:not([color])) ${selector}:hover {\n backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n -webkit-backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n }\n\n :host([variant='frost'][color]) ${selector}:hover {\n backdrop-filter: blur(var(--blur-3xl)) saturate(240%) brightness(1.2);\n -webkit-backdrop-filter: blur(var(--blur-3xl)) saturate(240%) brightness(1.2);\n }\n`;\n"],"mappings":"+BA2BA,IAAa,kBAAqB,GAAqB,EAAA,GAAG;6BAC7B,EAAS;;;;;0CAKI,EAAS;;;;;;;;2DAQQ,EAAS;;;;;qDAKf,EAAS;;;;oCAI1B,EAAS;;;;;;;;;;;;qDAYQ,EAAS;;;;;+CAKf,EAAS;;;;0CAId,EAAS;;;;;oCAKf,EAAS"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* theme-aware colors, halo shadows, and elevation support.
|
|
7
7
|
*
|
|
8
8
|
* @param selector - CSS selector for the element, matched against the
|
|
9
|
-
* component's actual shadow DOM markup (e.g., '.card', '.field')
|
|
9
|
+
* component's actual shadow DOM markup (e.g., '.card', '.field'): a bare
|
|
10
10
|
* word like 'button' is a TYPE selector for a literal `<button>` tag, not
|
|
11
11
|
* a part/class selector. Use `'[part="button"]'` for components whose root
|
|
12
12
|
* is a `<span part="button">`/`<a part="button">` (e.g. ore-button, which
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants.css.js","names":[],"sources":["../../../src/styles/mixins/variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n/**\n * Frost Variant Mixin\n *\n * Shared frost variant styles for components.\n * Provides consistent frosted glass effect with backdrop blur,\n * theme-aware colors, halo shadows, and elevation support.\n *\n * @param selector - CSS selector for the element, matched against the\n * component's actual shadow DOM markup (e.g., '.card', '.field')
|
|
1
|
+
{"version":3,"file":"variants.css.js","names":[],"sources":["../../../src/styles/mixins/variants.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n/**\n * Frost Variant Mixin\n *\n * Shared frost variant styles for components.\n * Provides consistent frosted glass effect with backdrop blur,\n * theme-aware colors, halo shadows, and elevation support.\n *\n * @param selector - CSS selector for the element, matched against the\n * component's actual shadow DOM markup (e.g., '.card', '.field'): a bare\n * word like 'button' is a TYPE selector for a literal `<button>` tag, not\n * a part/class selector. Use `'[part=\"button\"]'` for components whose root\n * is a `<span part=\"button\">`/`<a part=\"button\">` (e.g. ore-button, which\n * never renders a `<button>` tag).\n * @returns CSSResult with complete frost variant implementation\n *\n * @example\n * ```ts\n * import { frostVariantMixin } from '../../styles/mixins/frost.css';\n *\n * return {\n * styles: [frostVariantMixin('[part=\"button\"]'), componentStyles],\n * template: html`...`\n * };\n * ```\n */\nexport const frostVariantMixin = (selector: string) => css`\n :host([variant='frost']) ${selector} {\n backdrop-filter: blur(var(--blur-xl)) saturate(200%) brightness(1.1);\n -webkit-backdrop-filter: blur(var(--blur-xl)) saturate(200%) brightness(1.1);\n }\n\n :host([variant='frost']:not([color])) ${selector} {\n background: color-mix(in oklch, var(--color-canvas) 55%, transparent);\n color: var(--color-contrast);\n text-shadow: var(--text-shadow-xs);\n border: var(--border) solid color-mix(in oklch, var(--color-contrast-400) 45%, transparent);\n }\n\n /* Frost neutral without elevation: use halo shadow */\n :host([variant='frost']:not([color]):not([elevation])) ${selector} {\n box-shadow: var(--halo-shadow-neutral);\n }\n\n /* Explicit elevation replaces the default halo so each depth remains visually distinct. */\n :host([variant='frost']:not([color])[elevation]) ${selector} {\n box-shadow: var(--_shadow);\n }\n\n :host([variant='frost'][color]) ${selector} {\n background: color-mix(in oklch, var(--_theme-base), transparent);\n border-color: color-mix(in oklch, var(--_theme-border) 45%, transparent);\n color: var(--_theme-content);\n border: var(--border) solid color-mix(in oklch, var(--_theme-border) 45%, transparent);\n backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n -webkit-backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n text-shadow: var(--text-shadow-xs);\n filter: brightness(1.05);\n }\n\n /* Frost color without elevation: use halo shadow */\n :host([variant='frost'][color]:not([elevation])) ${selector} {\n box-shadow: var(--_theme-halo);\n }\n\n /* Explicit elevation replaces the default halo so each depth remains visually distinct. */\n :host([variant='frost'][color][elevation]) ${selector} {\n box-shadow: var(--_shadow);\n }\n\n :host([variant='frost']:not([color])) ${selector}:hover {\n backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n -webkit-backdrop-filter: blur(var(--blur-2xl)) saturate(220%) brightness(1.15);\n }\n\n :host([variant='frost'][color]) ${selector}:hover {\n backdrop-filter: blur(var(--blur-3xl)) saturate(240%) brightness(1.2);\n -webkit-backdrop-filter: blur(var(--blur-3xl)) saturate(240%) brightness(1.2);\n }\n`;\n"],"mappings":"oCA2BA,IAAa,kBAAqB,GAAqB,CAAG;6BAC7B,EAAS;;;;;0CAKI,EAAS;;;;;;;;2DAQQ,EAAS;;;;;qDAKf,EAAS;;;;oCAI1B,EAAS;;;;;;;;;;;;qDAYQ,EAAS;;;;;+CAKf,EAAS;;;;0CAId,EAAS;;;;;oCAKf,EAAS"}
|
package/dist/styles/theme.css
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
|
|
116
116
|
/* ========================================
|
|
117
117
|
Z-Index Scale
|
|
118
|
-
A page only has one stacking context to reason about
|
|
118
|
+
A page only has one stacking context to reason about: every layer
|
|
119
119
|
(sticky headers, dropdowns, overlays, modals, popovers, tooltips,
|
|
120
120
|
toasts) needs one shared, monotonic scale, not ad-hoc literals
|
|
121
121
|
scattered across components and page code alike.
|
|
@@ -179,14 +179,14 @@
|
|
|
179
179
|
======================================== */
|
|
180
180
|
--shadow-none: 0 0 transparent;
|
|
181
181
|
|
|
182
|
-
/* light-dark() only accepts <color> arguments (spec: CSS Color 5)
|
|
182
|
+
/* light-dark() only accepts <color> arguments (spec: CSS Color 5): these used
|
|
183
183
|
to wrap the *entire* shadow (offset + blur + color), which is invalid CSS.
|
|
184
184
|
Custom properties store any token soup, so the declaration itself never
|
|
185
185
|
errored, but every consumer substituting it into an actual `box-shadow`
|
|
186
186
|
got an unparseable value and silently computed to `none` in spec-compliant
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
browsers. Fixed by keeping offset/blur outside and wrapping only the color.
|
|
188
|
+
Offset and blur are identical between light and dark here; only the
|
|
189
|
+
alpha differs. */
|
|
190
190
|
--shadow-2xs: 0 1px 2px light-dark(rgb(0 0 0 / 3%), rgb(0 0 0 / 20%));
|
|
191
191
|
--shadow-xs: 0 2px 4px light-dark(rgb(0 0 0 / 3%), rgb(0 0 0 / 22%));
|
|
192
192
|
--shadow-sm: 0 4px 10px -1px light-dark(rgb(0 0 0 / 5%), rgb(0 0 0 / 28%));
|
|
@@ -196,7 +196,7 @@
|
|
|
196
196
|
--shadow-xl: 0 32px 64px -16px light-dark(rgb(0 0 0 / 12%), rgb(0 0 0 / 44%));
|
|
197
197
|
--shadow-2xl: 0 48px 80px -20px light-dark(rgb(0 0 0 / 20%), rgb(0 0 0 / 52%));
|
|
198
198
|
|
|
199
|
-
/* Inset Shadows
|
|
199
|
+
/* Inset Shadows: same light-dark()-color-only fix as above. */
|
|
200
200
|
--inset-shadow-none: inset 0 0 transparent;
|
|
201
201
|
--inset-shadow-2xs: inset 0 1px light-dark(rgb(0 0 0 / 5%), rgb(255 255 255 / 4%));
|
|
202
202
|
--inset-shadow-xs: inset 0 1px 1px light-dark(rgb(0 0 0 / 5%), rgb(255 255 255 / 4%));
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
|
|
248
248
|
/* Letter Spacing */
|
|
249
249
|
--tracking-tighter: -0.05em;
|
|
250
|
-
--tracking-tight: -0.025em; /* -2.5
|
|
250
|
+
--tracking-tight: -0.025em; /* -2.5%: headers, display text */
|
|
251
251
|
--tracking-header: var(--tracking-tighter);
|
|
252
252
|
--tracking-normal: 0em; /* default body tracking */
|
|
253
253
|
--tracking-wide: 0.05em; /* labels, badges, uppercase caps */
|
|
@@ -270,7 +270,7 @@
|
|
|
270
270
|
--leading-9: 2.25rem; /* 36px */
|
|
271
271
|
--leading-10: 2.5rem; /* 40px */
|
|
272
272
|
|
|
273
|
-
/* Component UI Font Sizes (7 steps
|
|
273
|
+
/* Component UI Font Sizes (7 steps: used inside components) */
|
|
274
274
|
--text-2xs: 0.625rem; /* 10px - micro labels, dot-only badges */
|
|
275
275
|
--text-xs: 0.75rem; /* 12px - small labels only */
|
|
276
276
|
--text-sm: 0.875rem; /* 14px - secondary text */
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
--text-2xl: 1.5rem; /* 24px - major headings */
|
|
281
281
|
--text-3xl: 1.875rem; /* 30px - display / circular progress label */
|
|
282
282
|
|
|
283
|
-
/* Document Heading Sizes (h1–h6
|
|
283
|
+
/* Document Heading Sizes (h1–h6: use outside components, in page/doc context) */
|
|
284
284
|
--heading-xs: 0.875rem;
|
|
285
285
|
--heading-sm: 1rem;
|
|
286
286
|
--heading-md: 1.5rem;
|
|
@@ -307,9 +307,9 @@
|
|
|
307
307
|
--ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
308
308
|
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
309
309
|
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
310
|
-
--ease-spring: cubic-bezier(0.22, 1, 0.36, 1); /* Fast start, soft landing
|
|
311
|
-
--ease-move: cubic-bezier(0.25, 1, 0.5, 1); /* Spatial slides
|
|
312
|
-
--ease-overshoot: cubic-bezier(0.34, 1.1, 0.64, 1); /* Subtle spring overshoot
|
|
310
|
+
--ease-spring: cubic-bezier(0.22, 1, 0.36, 1); /* Fast start, soft landing: no overshoot */
|
|
311
|
+
--ease-move: cubic-bezier(0.25, 1, 0.5, 1); /* Spatial slides: drawers, panels, carousels */
|
|
312
|
+
--ease-overshoot: cubic-bezier(0.34, 1.1, 0.64, 1); /* Subtle spring overshoot: toasts, popups */
|
|
313
313
|
|
|
314
314
|
/* Duration (respects prefers-reduced-motion) */
|
|
315
315
|
--duration-75: 75ms;
|
|
@@ -331,23 +331,31 @@
|
|
|
331
331
|
--transition-slow: 300ms var(--ease-in-out);
|
|
332
332
|
--transition-slower: 500ms var(--ease-in-out);
|
|
333
333
|
--transition-spring: 300ms var(--ease-spring);
|
|
334
|
-
--transition-exit: 300ms var(--ease-out); /* Exit animations
|
|
335
|
-
--transition-loader: 600ms linear; /* Spinner
|
|
334
|
+
--transition-exit: 300ms var(--ease-out); /* Exit animations: overlay dismiss, alert collapse */
|
|
335
|
+
--transition-loader: 600ms linear; /* Spinner: constant rotation */
|
|
336
336
|
|
|
337
|
-
/* Overlay entrance defaults
|
|
337
|
+
/* Overlay entrance defaults: shared by @starting-style blocks */
|
|
338
338
|
--overlay-enter-translate-y: -4px; /* dropdown slides down from */
|
|
339
339
|
--overlay-enter-translate-y-up: 4px; /* bottom-anchored overlays slide up from */
|
|
340
340
|
--overlay-enter-scale: 0.97; /* slight scale-in for menus / panels */
|
|
341
341
|
--overlay-enter-scale-dialog: 0.96; /* slightly more pronounced for dialogs */
|
|
342
342
|
|
|
343
|
-
/*
|
|
344
|
-
|
|
343
|
+
/* Focus ring: the outline shorthand consumed by :focus-visible rules
|
|
344
|
+
across navbar, sidebar, list-item, drawer, and navigation-menu. Those
|
|
345
|
+
rules write `outline: var(--focus-ring)` (with their own
|
|
346
|
+
`outline-offset`), so this must be a full outline shorthand, not a
|
|
347
|
+
color. Matches the `var(--border-2) solid var(--color-primary)` ring
|
|
348
|
+
the button/card/tab focus styles already use. */
|
|
349
|
+
--focus-ring: var(--border-2) solid var(--color-primary);
|
|
350
|
+
|
|
351
|
+
/* ── theme-tokens:generated:begin: run `pnpm run sync:theme`, do not hand-edit ── */
|
|
352
|
+
/* ── Contrast scale: Neutral OKLCH with a lifted, non-pure-black Dark Mode baseline ── */
|
|
345
353
|
--color-contrast-50: light-dark(oklch(99% 0.001 264deg), oklch(17% 0.001 250deg)); /* Canvas, page background */
|
|
346
354
|
--color-contrast-100: light-dark(oklch(97% 0.001 264deg), oklch(21% 0.001 250deg)); /* Cards, elevated surfaces */
|
|
347
355
|
--color-contrast-150: light-dark(
|
|
348
356
|
oklch(95.5% 0.001 264deg),
|
|
349
357
|
oklch(23.5% 0.001 250deg)
|
|
350
|
-
); /* Midpoint
|
|
358
|
+
); /* Midpoint: chip base, subtle fills */
|
|
351
359
|
--color-contrast-200: light-dark(oklch(94% 0.001 264deg), oklch(26% 0.001 250deg)); /* Nested cards, hover states */
|
|
352
360
|
--color-contrast-300: light-dark(oklch(89% 0.002 264deg), oklch(32% 0.001 250deg)); /* Borders, dividers */
|
|
353
361
|
--color-contrast-400: light-dark(
|
|
@@ -373,7 +381,7 @@
|
|
|
373
381
|
--color-divider: color-mix(in oklch, var(--color-contrast-300) 85%, transparent);
|
|
374
382
|
--color-contrast: color-mix(in oklch, var(--color-contrast-900) 85%, transparent);
|
|
375
383
|
|
|
376
|
-
/* ── Shade ramp
|
|
384
|
+
/* ── Shade ramp: shared derivation recipe for every color family below ──── */
|
|
377
385
|
/* Every family only authors a `base` (+ content/contrast ink pair); every */
|
|
378
386
|
/* other sub-token is `oklch(from var(--color-x) ...)`, derived from that */
|
|
379
387
|
/* single base using the deltas below. Tune a family by editing its base; */
|
|
@@ -399,7 +407,7 @@
|
|
|
399
407
|
--shade-halo-glow: 15%;
|
|
400
408
|
--shade-halo-glow-soft: 8%;
|
|
401
409
|
|
|
402
|
-
/* ── Halo shadows
|
|
410
|
+
/* ── Halo shadows: branded glow per color family ───────────────────────── */
|
|
403
411
|
--halo-shadow-neutral:
|
|
404
412
|
inset 0 1px 1px light-dark(rgb(0 0 0 / 5%), rgb(0 0 0 / 15%)),
|
|
405
413
|
0 0 var(--size-1) light-dark(rgb(255 255 255 / 10%), rgb(0 0 0 / 20%)) inset,
|
|
@@ -436,7 +444,7 @@
|
|
|
436
444
|
0 var(--size-2) var(--size-6) color-mix(in oklch, var(--color-error) var(--shade-halo-glow), transparent),
|
|
437
445
|
0 var(--size-1) var(--size-3) color-mix(in oklch, var(--color-error) var(--shade-halo-glow-soft), transparent);
|
|
438
446
|
|
|
439
|
-
/* ── Neutral
|
|
447
|
+
/* ── Neutral: True gray: neutral UI surfaces ── */
|
|
440
448
|
--color-neutral: light-dark(oklch(52% 0 264deg), oklch(72% 0 250deg));
|
|
441
449
|
--color-neutral-backdrop: light-dark(
|
|
442
450
|
oklch(
|
|
@@ -473,7 +481,7 @@
|
|
|
473
481
|
0 0 0 4px color-mix(in oklch, var(--color-neutral) var(--shade-focus-ring-strength), transparent),
|
|
474
482
|
var(--shadow-sm);
|
|
475
483
|
|
|
476
|
-
/* ── Primary
|
|
484
|
+
/* ── Primary: Periwinkle violet: primary brand color ── */
|
|
477
485
|
--color-primary-hue: 293deg;
|
|
478
486
|
|
|
479
487
|
--color-primary: light-dark(oklch(56% 0.22 var(--color-primary-hue)), oklch(72% 0.148 var(--color-primary-hue)));
|
|
@@ -512,7 +520,7 @@
|
|
|
512
520
|
0 0 0 4px color-mix(in oklch, var(--color-primary) var(--shade-focus-ring-strength), transparent),
|
|
513
521
|
var(--shadow-sm);
|
|
514
522
|
|
|
515
|
-
/* ── Secondary
|
|
523
|
+
/* ── Secondary: Ink/charcoal (light) · silver (dark): auto-derived from --color-primary-hue ── */
|
|
516
524
|
--color-secondary: light-dark(
|
|
517
525
|
color-mix(in oklch, oklch(20% 0 none) 86%, var(--color-primary)),
|
|
518
526
|
color-mix(in oklch, oklch(83% 0 none) 86%, var(--color-primary))
|
|
@@ -552,7 +560,7 @@
|
|
|
552
560
|
0 0 0 4px color-mix(in oklch, var(--color-secondary) var(--shade-focus-ring-strength), transparent),
|
|
553
561
|
var(--shadow-sm);
|
|
554
562
|
|
|
555
|
-
/* ── Info
|
|
563
|
+
/* ── Info: Blue (light mode) · cyan-blue (dark mode): informational messages ── */
|
|
556
564
|
--color-info: light-dark(oklch(54% 0.169 255deg), oklch(74% 0.133 230deg));
|
|
557
565
|
--color-info-backdrop: light-dark(
|
|
558
566
|
oklch(
|
|
@@ -588,7 +596,7 @@
|
|
|
588
596
|
--color-info-focus-shadow:
|
|
589
597
|
0 0 0 4px color-mix(in oklch, var(--color-info) var(--shade-focus-ring-strength), transparent), var(--shadow-sm);
|
|
590
598
|
|
|
591
|
-
/* ── Success
|
|
599
|
+
/* ── Success: Green (light mode) · teal (dark mode): positive outcomes & confirmations ── */
|
|
592
600
|
--color-success: light-dark(oklch(53% 0.145 137deg), oklch(78% 0.14 160deg));
|
|
593
601
|
--color-success-backdrop: light-dark(
|
|
594
602
|
oklch(
|
|
@@ -625,7 +633,7 @@
|
|
|
625
633
|
0 0 0 4px color-mix(in oklch, var(--color-success) var(--shade-focus-ring-strength), transparent),
|
|
626
634
|
var(--shadow-sm);
|
|
627
635
|
|
|
628
|
-
/* ── Warning
|
|
636
|
+
/* ── Warning: Amber: cautionary states & alerts ── */
|
|
629
637
|
--color-warning: light-dark(oklch(54% 0.111 70deg), oklch(84% 0.113 70deg));
|
|
630
638
|
--color-warning-backdrop: light-dark(
|
|
631
639
|
oklch(
|
|
@@ -662,7 +670,7 @@
|
|
|
662
670
|
0 0 0 4px color-mix(in oklch, var(--color-warning) var(--shade-focus-ring-strength), transparent),
|
|
663
671
|
var(--shadow-sm);
|
|
664
672
|
|
|
665
|
-
/* ── Error
|
|
673
|
+
/* ── Error: Vermilion: destructive actions & errors ── */
|
|
666
674
|
--color-error: light-dark(oklch(54% 0.2 29deg), oklch(66% 0.18 29deg));
|
|
667
675
|
--color-error-backdrop: light-dark(
|
|
668
676
|
oklch(
|
|
@@ -734,7 +742,7 @@
|
|
|
734
742
|
|
|
735
743
|
/* overriding the OS preference. See docs/refine/theming.md "Toggle dark */
|
|
736
744
|
|
|
737
|
-
/* mode"
|
|
745
|
+
/* mode": any consumer, not just this repo's own docs site, can rely on */
|
|
738
746
|
|
|
739
747
|
/* this class toggle. */
|
|
740
748
|
html.dark {
|