@kushagradhawan/kookie-ui 0.1.29 → 0.1.30
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/components.css +4083 -2224
- package/dist/cjs/components/_internal/base-button.d.ts +36 -0
- package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-button.js +1 -1
- package/dist/cjs/components/_internal/base-button.js.map +3 -3
- package/dist/cjs/components/_internal/base-button.props.d.ts +61 -0
- package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-button.props.js +1 -1
- package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts +6 -1
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +3 -3
- package/dist/cjs/components/_internal/base-menu.props.d.ts +8 -0
- package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-menu.props.js +1 -1
- package/dist/cjs/components/_internal/base-menu.props.js.map +3 -3
- package/dist/cjs/components/_internal/base-radio.props.d.ts +6 -1
- package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js.map +3 -3
- package/dist/cjs/components/accordion.d.ts.map +1 -1
- package/dist/cjs/components/accordion.js +1 -1
- package/dist/cjs/components/accordion.js.map +3 -3
- package/dist/cjs/components/accordion.props.d.ts +9 -0
- package/dist/cjs/components/accordion.props.d.ts.map +1 -1
- package/dist/cjs/components/accordion.props.js +1 -1
- package/dist/cjs/components/accordion.props.js.map +2 -2
- package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
- package/dist/cjs/components/alert-dialog.js +1 -1
- package/dist/cjs/components/alert-dialog.js.map +3 -3
- package/dist/cjs/components/alert-dialog.props.d.ts +69 -2
- package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
- package/dist/cjs/components/alert-dialog.props.js +1 -1
- package/dist/cjs/components/alert-dialog.props.js.map +3 -3
- package/dist/cjs/components/avatar.d.ts.map +1 -1
- package/dist/cjs/components/avatar.js +1 -1
- package/dist/cjs/components/avatar.js.map +3 -3
- package/dist/cjs/components/avatar.props.d.ts +9 -1
- package/dist/cjs/components/avatar.props.d.ts.map +1 -1
- package/dist/cjs/components/avatar.props.js +1 -1
- package/dist/cjs/components/avatar.props.js.map +3 -3
- package/dist/cjs/components/badge.d.ts +8 -1
- package/dist/cjs/components/badge.d.ts.map +1 -1
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +3 -3
- package/dist/cjs/components/badge.props.d.ts +14 -6
- package/dist/cjs/components/badge.props.d.ts.map +1 -1
- package/dist/cjs/components/badge.props.js +1 -1
- package/dist/cjs/components/badge.props.js.map +3 -3
- package/dist/cjs/components/blockquote.props.d.ts +1 -1
- package/dist/cjs/components/button.d.ts +53 -1
- package/dist/cjs/components/button.d.ts.map +1 -1
- package/dist/cjs/components/button.js +1 -1
- package/dist/cjs/components/button.js.map +3 -3
- package/dist/cjs/components/button.props.d.ts +17 -0
- package/dist/cjs/components/button.props.d.ts.map +1 -1
- package/dist/cjs/components/button.props.js.map +2 -2
- package/dist/cjs/components/callout.d.ts +4 -0
- package/dist/cjs/components/callout.d.ts.map +1 -1
- package/dist/cjs/components/callout.js +1 -1
- package/dist/cjs/components/callout.js.map +3 -3
- package/dist/cjs/components/callout.props.d.ts +9 -1
- package/dist/cjs/components/callout.props.d.ts.map +1 -1
- package/dist/cjs/components/callout.props.js +1 -1
- package/dist/cjs/components/callout.props.js.map +3 -3
- package/dist/cjs/components/card.d.ts.map +1 -1
- package/dist/cjs/components/card.js +1 -1
- package/dist/cjs/components/card.js.map +3 -3
- package/dist/cjs/components/card.props.d.ts +5 -0
- package/dist/cjs/components/card.props.d.ts.map +1 -1
- package/dist/cjs/components/card.props.js +1 -1
- package/dist/cjs/components/card.props.js.map +3 -3
- package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-cards.js +1 -1
- package/dist/cjs/components/checkbox-cards.js.map +3 -3
- package/dist/cjs/components/checkbox-cards.props.d.ts +2 -2
- package/dist/cjs/components/checkbox-cards.props.js +1 -1
- package/dist/cjs/components/checkbox-cards.props.js.map +2 -2
- package/dist/cjs/components/checkbox-group.props.d.ts +6 -1
- package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
- package/dist/cjs/components/checkbox.d.ts.map +1 -1
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +3 -3
- package/dist/cjs/components/code.js.map +1 -1
- package/dist/cjs/components/code.props.d.ts +1 -1
- package/dist/cjs/components/context-menu.d.ts +1 -1
- package/dist/cjs/components/context-menu.d.ts.map +1 -1
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +3 -3
- package/dist/cjs/components/dialog.d.ts.map +1 -1
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +3 -3
- package/dist/cjs/components/dialog.props.d.ts +5 -0
- package/dist/cjs/components/dialog.props.d.ts.map +1 -1
- package/dist/cjs/components/dialog.props.js +1 -1
- package/dist/cjs/components/dialog.props.js.map +3 -3
- package/dist/cjs/components/dropdown-menu.d.ts +1 -1
- package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +3 -3
- package/dist/cjs/components/heading.props.d.ts +1 -1
- package/dist/cjs/components/icon-button.d.ts +79 -1
- package/dist/cjs/components/icon-button.d.ts.map +1 -1
- package/dist/cjs/components/icon-button.js +4 -1
- package/dist/cjs/components/icon-button.js.map +3 -3
- package/dist/cjs/components/image.d.ts +131 -12
- package/dist/cjs/components/image.d.ts.map +1 -1
- package/dist/cjs/components/image.js +1 -1
- package/dist/cjs/components/image.js.map +3 -3
- package/dist/cjs/components/image.props.d.ts +136 -21
- package/dist/cjs/components/image.props.d.ts.map +1 -1
- package/dist/cjs/components/image.props.js +1 -1
- package/dist/cjs/components/image.props.js.map +3 -3
- package/dist/cjs/components/link.props.d.ts +1 -1
- package/dist/cjs/components/progress.props.d.ts +2 -2
- package/dist/cjs/components/progress.props.js +1 -1
- package/dist/cjs/components/progress.props.js.map +2 -2
- package/dist/cjs/components/radio-cards.d.ts.map +1 -1
- package/dist/cjs/components/radio-cards.js +1 -1
- package/dist/cjs/components/radio-cards.js.map +3 -3
- package/dist/cjs/components/radio-cards.props.d.ts +2 -2
- package/dist/cjs/components/radio-cards.props.js +1 -1
- package/dist/cjs/components/radio-cards.props.js.map +2 -2
- package/dist/cjs/components/radio.d.ts.map +1 -1
- package/dist/cjs/components/radio.js +1 -1
- package/dist/cjs/components/radio.js.map +3 -3
- package/dist/cjs/components/segmented-control.props.d.ts +3 -3
- package/dist/cjs/components/segmented-control.props.js +1 -1
- package/dist/cjs/components/segmented-control.props.js.map +2 -2
- package/dist/cjs/components/select.d.ts.map +1 -1
- package/dist/cjs/components/select.js +1 -1
- package/dist/cjs/components/select.js.map +3 -3
- package/dist/cjs/components/select.props.d.ts +12 -0
- package/dist/cjs/components/select.props.d.ts.map +1 -1
- package/dist/cjs/components/select.props.js +1 -1
- package/dist/cjs/components/select.props.js.map +2 -2
- package/dist/cjs/components/sidebar.d.ts +5 -0
- package/dist/cjs/components/sidebar.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +3 -3
- package/dist/cjs/components/slider.d.ts +5 -0
- package/dist/cjs/components/slider.d.ts.map +1 -1
- package/dist/cjs/components/slider.js +1 -1
- package/dist/cjs/components/slider.js.map +3 -3
- package/dist/cjs/components/slider.props.d.ts +10 -2
- package/dist/cjs/components/slider.props.d.ts.map +1 -1
- package/dist/cjs/components/slider.props.js +1 -1
- package/dist/cjs/components/slider.props.js.map +2 -2
- package/dist/cjs/components/switch.d.ts.map +1 -1
- package/dist/cjs/components/switch.js +1 -1
- package/dist/cjs/components/switch.js.map +3 -3
- package/dist/cjs/components/switch.props.d.ts +17 -4
- package/dist/cjs/components/switch.props.d.ts.map +1 -1
- package/dist/cjs/components/switch.props.js +1 -1
- package/dist/cjs/components/switch.props.js.map +3 -3
- package/dist/cjs/components/tab-nav.d.ts.map +1 -1
- package/dist/cjs/components/tab-nav.js +1 -1
- package/dist/cjs/components/tab-nav.js.map +3 -3
- package/dist/cjs/components/tabs.d.ts.map +1 -1
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +2 -2
- package/dist/cjs/components/text-area.d.ts.map +1 -1
- package/dist/cjs/components/text-area.js +1 -1
- package/dist/cjs/components/text-area.js.map +3 -3
- package/dist/cjs/components/text-area.props.d.ts +29 -0
- package/dist/cjs/components/text-area.props.d.ts.map +1 -1
- package/dist/cjs/components/text-area.props.js +1 -1
- package/dist/cjs/components/text-area.props.js.map +3 -3
- package/dist/cjs/components/text-field.d.ts.map +1 -1
- package/dist/cjs/components/text-field.js +4 -4
- package/dist/cjs/components/text-field.js.map +3 -3
- package/dist/cjs/components/text-field.props.d.ts +29 -0
- package/dist/cjs/components/text-field.props.d.ts.map +1 -1
- package/dist/cjs/components/text-field.props.js +1 -1
- package/dist/cjs/components/text-field.props.js.map +3 -3
- package/dist/cjs/components/text.props.d.ts +1 -1
- package/dist/cjs/components/theme.d.ts +3 -0
- package/dist/cjs/components/theme.d.ts.map +1 -1
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +3 -3
- package/dist/cjs/components/theme.props.d.ts +14 -0
- package/dist/cjs/components/theme.props.d.ts.map +1 -1
- package/dist/cjs/components/theme.props.js +1 -1
- package/dist/cjs/components/theme.props.js.map +3 -3
- package/dist/cjs/components/toggle-button.d.ts +52 -0
- package/dist/cjs/components/toggle-button.d.ts.map +1 -1
- package/dist/cjs/components/toggle-button.js +1 -1
- package/dist/cjs/components/toggle-button.js.map +3 -3
- package/dist/cjs/components/toggle-icon-button.d.ts +84 -2
- package/dist/cjs/components/toggle-icon-button.d.ts.map +1 -1
- package/dist/cjs/components/toggle-icon-button.js +1 -1
- package/dist/cjs/components/toggle-icon-button.js.map +3 -3
- package/dist/cjs/hooks/index.d.ts +2 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/hooks/index.js +2 -0
- package/dist/cjs/hooks/index.js.map +7 -0
- package/dist/cjs/hooks/use-live-announcer.d.ts +6 -0
- package/dist/cjs/hooks/use-live-announcer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-live-announcer.js +10 -0
- package/dist/cjs/hooks/use-live-announcer.js.map +7 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/props/weight.prop.d.ts +1 -1
- package/dist/cjs/props/weight.prop.js +1 -1
- package/dist/cjs/props/weight.prop.js.map +2 -2
- package/dist/esm/components/_internal/base-button.d.ts +36 -0
- package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-button.js +1 -1
- package/dist/esm/components/_internal/base-button.js.map +3 -3
- package/dist/esm/components/_internal/base-button.props.d.ts +61 -0
- package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-button.props.js +1 -1
- package/dist/esm/components/_internal/base-button.props.js.map +3 -3
- package/dist/esm/components/_internal/base-checkbox.props.d.ts +6 -1
- package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js.map +3 -3
- package/dist/esm/components/_internal/base-menu.props.d.ts +8 -0
- package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-menu.props.js +1 -1
- package/dist/esm/components/_internal/base-menu.props.js.map +3 -3
- package/dist/esm/components/_internal/base-radio.props.d.ts +6 -1
- package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-radio.props.js +1 -1
- package/dist/esm/components/_internal/base-radio.props.js.map +3 -3
- package/dist/esm/components/accordion.d.ts.map +1 -1
- package/dist/esm/components/accordion.js +1 -1
- package/dist/esm/components/accordion.js.map +3 -3
- package/dist/esm/components/accordion.props.d.ts +9 -0
- package/dist/esm/components/accordion.props.d.ts.map +1 -1
- package/dist/esm/components/accordion.props.js +1 -1
- package/dist/esm/components/accordion.props.js.map +2 -2
- package/dist/esm/components/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/alert-dialog.js +1 -1
- package/dist/esm/components/alert-dialog.js.map +3 -3
- package/dist/esm/components/alert-dialog.props.d.ts +69 -2
- package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
- package/dist/esm/components/alert-dialog.props.js +1 -1
- package/dist/esm/components/alert-dialog.props.js.map +3 -3
- package/dist/esm/components/avatar.d.ts.map +1 -1
- package/dist/esm/components/avatar.js +1 -1
- package/dist/esm/components/avatar.js.map +3 -3
- package/dist/esm/components/avatar.props.d.ts +9 -1
- package/dist/esm/components/avatar.props.d.ts.map +1 -1
- package/dist/esm/components/avatar.props.js +1 -1
- package/dist/esm/components/avatar.props.js.map +3 -3
- package/dist/esm/components/badge.d.ts +8 -1
- package/dist/esm/components/badge.d.ts.map +1 -1
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/badge.js.map +3 -3
- package/dist/esm/components/badge.props.d.ts +14 -6
- package/dist/esm/components/badge.props.d.ts.map +1 -1
- package/dist/esm/components/badge.props.js +1 -1
- package/dist/esm/components/badge.props.js.map +3 -3
- package/dist/esm/components/blockquote.props.d.ts +1 -1
- package/dist/esm/components/button.d.ts +53 -1
- package/dist/esm/components/button.d.ts.map +1 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/button.js.map +3 -3
- package/dist/esm/components/button.props.d.ts +17 -0
- package/dist/esm/components/button.props.d.ts.map +1 -1
- package/dist/esm/components/button.props.js.map +2 -2
- package/dist/esm/components/callout.d.ts +4 -0
- package/dist/esm/components/callout.d.ts.map +1 -1
- package/dist/esm/components/callout.js +1 -1
- package/dist/esm/components/callout.js.map +3 -3
- package/dist/esm/components/callout.props.d.ts +9 -1
- package/dist/esm/components/callout.props.d.ts.map +1 -1
- package/dist/esm/components/callout.props.js +1 -1
- package/dist/esm/components/callout.props.js.map +3 -3
- package/dist/esm/components/card.d.ts.map +1 -1
- package/dist/esm/components/card.js +1 -1
- package/dist/esm/components/card.js.map +3 -3
- package/dist/esm/components/card.props.d.ts +5 -0
- package/dist/esm/components/card.props.d.ts.map +1 -1
- package/dist/esm/components/card.props.js +1 -1
- package/dist/esm/components/card.props.js.map +3 -3
- package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
- package/dist/esm/components/checkbox-cards.js +1 -1
- package/dist/esm/components/checkbox-cards.js.map +3 -3
- package/dist/esm/components/checkbox-cards.props.d.ts +2 -2
- package/dist/esm/components/checkbox-cards.props.js +1 -1
- package/dist/esm/components/checkbox-cards.props.js.map +2 -2
- package/dist/esm/components/checkbox-group.props.d.ts +6 -1
- package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
- package/dist/esm/components/checkbox.d.ts.map +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.js.map +3 -3
- package/dist/esm/components/code.js.map +1 -1
- package/dist/esm/components/code.props.d.ts +1 -1
- package/dist/esm/components/context-menu.d.ts +1 -1
- package/dist/esm/components/context-menu.d.ts.map +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/context-menu.js.map +3 -3
- package/dist/esm/components/dialog.d.ts.map +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.js.map +3 -3
- package/dist/esm/components/dialog.props.d.ts +5 -0
- package/dist/esm/components/dialog.props.d.ts.map +1 -1
- package/dist/esm/components/dialog.props.js +1 -1
- package/dist/esm/components/dialog.props.js.map +3 -3
- package/dist/esm/components/dropdown-menu.d.ts +1 -1
- package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/dropdown-menu.js.map +3 -3
- package/dist/esm/components/heading.props.d.ts +1 -1
- package/dist/esm/components/icon-button.d.ts +79 -1
- package/dist/esm/components/icon-button.d.ts.map +1 -1
- package/dist/esm/components/icon-button.js +4 -1
- package/dist/esm/components/icon-button.js.map +3 -3
- package/dist/esm/components/image.d.ts +131 -12
- package/dist/esm/components/image.d.ts.map +1 -1
- package/dist/esm/components/image.js +1 -1
- package/dist/esm/components/image.js.map +3 -3
- package/dist/esm/components/image.props.d.ts +136 -21
- package/dist/esm/components/image.props.d.ts.map +1 -1
- package/dist/esm/components/image.props.js +1 -1
- package/dist/esm/components/image.props.js.map +3 -3
- package/dist/esm/components/link.props.d.ts +1 -1
- package/dist/esm/components/progress.props.d.ts +2 -2
- package/dist/esm/components/progress.props.js +1 -1
- package/dist/esm/components/progress.props.js.map +2 -2
- package/dist/esm/components/radio-cards.d.ts.map +1 -1
- package/dist/esm/components/radio-cards.js +1 -1
- package/dist/esm/components/radio-cards.js.map +3 -3
- package/dist/esm/components/radio-cards.props.d.ts +2 -2
- package/dist/esm/components/radio-cards.props.js +1 -1
- package/dist/esm/components/radio-cards.props.js.map +2 -2
- package/dist/esm/components/radio.d.ts.map +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/radio.js.map +3 -3
- package/dist/esm/components/segmented-control.props.d.ts +3 -3
- package/dist/esm/components/segmented-control.props.js +1 -1
- package/dist/esm/components/segmented-control.props.js.map +2 -2
- package/dist/esm/components/select.d.ts.map +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/select.js.map +3 -3
- package/dist/esm/components/select.props.d.ts +12 -0
- package/dist/esm/components/select.props.d.ts.map +1 -1
- package/dist/esm/components/select.props.js +1 -1
- package/dist/esm/components/select.props.js.map +2 -2
- package/dist/esm/components/sidebar.d.ts +5 -0
- package/dist/esm/components/sidebar.d.ts.map +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/sidebar.js.map +3 -3
- package/dist/esm/components/slider.d.ts +5 -0
- package/dist/esm/components/slider.d.ts.map +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/slider.js.map +3 -3
- package/dist/esm/components/slider.props.d.ts +10 -2
- package/dist/esm/components/slider.props.d.ts.map +1 -1
- package/dist/esm/components/slider.props.js +1 -1
- package/dist/esm/components/slider.props.js.map +2 -2
- package/dist/esm/components/switch.d.ts.map +1 -1
- package/dist/esm/components/switch.js +1 -1
- package/dist/esm/components/switch.js.map +3 -3
- package/dist/esm/components/switch.props.d.ts +17 -4
- package/dist/esm/components/switch.props.d.ts.map +1 -1
- package/dist/esm/components/switch.props.js +1 -1
- package/dist/esm/components/switch.props.js.map +3 -3
- package/dist/esm/components/tab-nav.d.ts.map +1 -1
- package/dist/esm/components/tab-nav.js +1 -1
- package/dist/esm/components/tab-nav.js.map +3 -3
- package/dist/esm/components/tabs.d.ts.map +1 -1
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/tabs.js.map +2 -2
- package/dist/esm/components/text-area.d.ts.map +1 -1
- package/dist/esm/components/text-area.js +1 -1
- package/dist/esm/components/text-area.js.map +3 -3
- package/dist/esm/components/text-area.props.d.ts +29 -0
- package/dist/esm/components/text-area.props.d.ts.map +1 -1
- package/dist/esm/components/text-area.props.js +1 -1
- package/dist/esm/components/text-area.props.js.map +3 -3
- package/dist/esm/components/text-field.d.ts.map +1 -1
- package/dist/esm/components/text-field.js +4 -4
- package/dist/esm/components/text-field.js.map +3 -3
- package/dist/esm/components/text-field.props.d.ts +29 -0
- package/dist/esm/components/text-field.props.d.ts.map +1 -1
- package/dist/esm/components/text-field.props.js +1 -1
- package/dist/esm/components/text-field.props.js.map +3 -3
- package/dist/esm/components/text.props.d.ts +1 -1
- package/dist/esm/components/theme.d.ts +3 -0
- package/dist/esm/components/theme.d.ts.map +1 -1
- package/dist/esm/components/theme.js +1 -1
- package/dist/esm/components/theme.js.map +3 -3
- package/dist/esm/components/theme.props.d.ts +14 -0
- package/dist/esm/components/theme.props.d.ts.map +1 -1
- package/dist/esm/components/theme.props.js +1 -1
- package/dist/esm/components/theme.props.js.map +3 -3
- package/dist/esm/components/toggle-button.d.ts +52 -0
- package/dist/esm/components/toggle-button.d.ts.map +1 -1
- package/dist/esm/components/toggle-button.js +1 -1
- package/dist/esm/components/toggle-button.js.map +3 -3
- package/dist/esm/components/toggle-icon-button.d.ts +84 -2
- package/dist/esm/components/toggle-icon-button.d.ts.map +1 -1
- package/dist/esm/components/toggle-icon-button.js +1 -1
- package/dist/esm/components/toggle-icon-button.js.map +3 -3
- package/dist/esm/hooks/index.d.ts +2 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/index.js +2 -0
- package/dist/esm/hooks/index.js.map +7 -0
- package/dist/esm/hooks/use-live-announcer.d.ts +6 -0
- package/dist/esm/hooks/use-live-announcer.d.ts.map +1 -0
- package/dist/esm/hooks/use-live-announcer.js +10 -0
- package/dist/esm/hooks/use-live-announcer.js.map +7 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/props/weight.prop.d.ts +1 -1
- package/dist/esm/props/weight.prop.js +1 -1
- package/dist/esm/props/weight.prop.js.map +2 -2
- package/layout/components.css +1 -0
- package/layout.css +1 -0
- package/package.json +2 -1
- package/src/components/_internal/base-button.css +483 -284
- package/src/components/_internal/base-button.props.ts +87 -0
- package/src/components/_internal/base-button.tsx +127 -10
- package/src/components/_internal/base-card.css +866 -83
- package/src/components/_internal/base-checkbox.css +252 -52
- package/src/components/_internal/base-checkbox.props.ts +4 -1
- package/src/components/_internal/base-dialog.css +39 -8
- package/src/components/_internal/base-menu.css +55 -32
- package/src/components/_internal/base-menu.props.ts +10 -0
- package/src/components/_internal/base-radio.css +222 -52
- package/src/components/_internal/base-radio.props.ts +4 -1
- package/src/components/_internal/base-tab-list.css +16 -0
- package/src/components/accordion.css +465 -62
- package/src/components/accordion.props.tsx +6 -0
- package/src/components/accordion.tsx +54 -7
- package/src/components/alert-dialog.props.tsx +22 -2
- package/src/components/alert-dialog.tsx +94 -3
- package/src/components/avatar.css +294 -152
- package/src/components/avatar.props.tsx +7 -1
- package/src/components/avatar.tsx +12 -2
- package/src/components/badge.css +160 -138
- package/src/components/badge.props.tsx +10 -3
- package/src/components/badge.tsx +71 -9
- package/src/components/button.css +88 -0
- package/src/components/button.props.tsx +17 -0
- package/src/components/button.tsx +107 -5
- package/src/components/callout.css +122 -35
- package/src/components/callout.props.tsx +7 -1
- package/src/components/callout.tsx +32 -9
- package/src/components/card.css +0 -597
- package/src/components/card.props.tsx +3 -0
- package/src/components/card.tsx +4 -2
- package/src/components/checkbox-cards.css +27 -104
- package/src/components/checkbox-cards.props.tsx +2 -2
- package/src/components/checkbox-cards.tsx +21 -3
- package/src/components/checkbox.tsx +2 -0
- package/src/components/code.css +1 -1
- package/src/components/code.tsx +1 -1
- package/src/components/container.css +1 -0
- package/src/components/context-menu.tsx +54 -12
- package/src/components/dialog.props.tsx +3 -0
- package/src/components/dialog.tsx +93 -3
- package/src/components/dropdown-menu.tsx +49 -12
- package/src/components/icon-button.css +73 -4
- package/src/components/icon-button.tsx +125 -19
- package/src/components/image.css +160 -91
- package/src/components/image.props.ts +152 -15
- package/src/components/image.tsx +290 -247
- package/src/components/kbd.css +23 -44
- package/src/components/progress.css +130 -149
- package/src/components/progress.props.tsx +2 -2
- package/src/components/radio-cards.css +23 -113
- package/src/components/radio-cards.props.tsx +2 -2
- package/src/components/radio-cards.tsx +45 -18
- package/src/components/radio.tsx +4 -3
- package/src/components/scroll-area.css +1 -1
- package/src/components/segmented-control.css +83 -64
- package/src/components/segmented-control.props.tsx +3 -3
- package/src/components/select.css +502 -224
- package/src/components/select.props.tsx +8 -0
- package/src/components/select.tsx +45 -2
- package/src/components/sidebar.css +17 -6
- package/src/components/sidebar.tsx +61 -5
- package/src/components/slider.css +228 -88
- package/src/components/slider.props.tsx +6 -2
- package/src/components/slider.tsx +201 -24
- package/src/components/spinner.css +12 -0
- package/src/components/switch.css +135 -216
- package/src/components/switch.props.tsx +16 -4
- package/src/components/switch.tsx +5 -3
- package/src/components/tab-nav.tsx +6 -3
- package/src/components/tabs.tsx +2 -0
- package/src/components/text-area.css +222 -140
- package/src/components/text-area.props.tsx +18 -1
- package/src/components/text-area.tsx +58 -7
- package/src/components/text-field.css +214 -131
- package/src/components/text-field.props.tsx +17 -0
- package/src/components/text-field.tsx +79 -28
- package/src/components/theme.props.tsx +12 -0
- package/src/components/theme.tsx +31 -1
- package/src/components/toggle-button.tsx +102 -3
- package/src/components/toggle-icon-button.tsx +150 -7
- package/src/components/tooltip.css +3 -3
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-live-announcer.ts +52 -0
- package/src/index.ts +1 -0
- package/src/props/weight.prop.ts +1 -1
- package/src/styles/fonts.css +27 -13
- package/src/styles/index.css +1 -1
- package/src/styles/tokens/base.css +2 -0
- package/src/styles/tokens/blur.css +32 -0
- package/src/styles/tokens/color.css +9 -9
- package/src/styles/tokens/constants.css +88 -140
- package/src/styles/tokens/index.css +2 -0
- package/src/styles/tokens/opacity.css +32 -0
- package/src/styles/tokens/radius.css +6 -10
- package/src/styles/tokens/shadow.css +25 -25
- package/src/styles/tokens/transition.css +49 -13
- package/src/styles/tokens/typography.css +7 -3
- package/src/styles/utilities/font-weight.css +16 -0
- package/styles.css +10689 -8708
- package/tokens/base.css +127 -49
- package/tokens.css +158 -114
- package/utilities.css +72 -0
package/src/components/image.css
CHANGED
|
@@ -1,159 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image Component Styles
|
|
3
|
+
*
|
|
4
|
+
* This file contains the core styling for the Image component, providing
|
|
5
|
+
* responsive image display with accessibility features, interactive states,
|
|
6
|
+
* and comprehensive support for different usage contexts.
|
|
7
|
+
*
|
|
8
|
+
* Key features:
|
|
9
|
+
* - Object-fit control for responsive image scaling
|
|
10
|
+
* - Interactive states for clickable images
|
|
11
|
+
* - Accessibility support (forced colors, reduced motion, screen readers)
|
|
12
|
+
* - Caption styling for additional context
|
|
13
|
+
* - Placeholder and loading state support
|
|
14
|
+
* - AsChild pattern compatibility
|
|
15
|
+
*/
|
|
16
|
+
|
|
1
17
|
/* stylelint-disable selector-max-type */
|
|
2
18
|
/* Disable selector-max-type rule to target `button` and `a` tags. */
|
|
3
19
|
/* Make sure these tags are wrapped in `:where()` for 0 specificity. */
|
|
4
20
|
|
|
21
|
+
/*
|
|
22
|
+
* Base Image styling
|
|
23
|
+
* Provides foundation styles for all image instances
|
|
24
|
+
*/
|
|
5
25
|
.rt-Image {
|
|
6
26
|
display: block;
|
|
7
|
-
object-fit: var(--object-fit);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
27
|
+
object-fit: var(--object-fit); /* Controlled by fit prop */
|
|
28
|
+
border-radius: var(--radius-4); /* Default radius, can be overridden */
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/*
|
|
32
|
+
* Screen reader only class for accessibility announcements
|
|
33
|
+
* Visually hidden but available to assistive technology
|
|
34
|
+
* Used for error messages and loading state announcements
|
|
35
|
+
*/
|
|
36
|
+
.rt-sr-only {
|
|
37
|
+
position: absolute;
|
|
38
|
+
width: 1px;
|
|
39
|
+
height: 1px;
|
|
40
|
+
padding: 0;
|
|
41
|
+
margin: -1px;
|
|
42
|
+
overflow: hidden;
|
|
43
|
+
clip: rect(0, 0, 0, 0);
|
|
44
|
+
white-space: nowrap;
|
|
45
|
+
border: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
* Reduced motion support for accessibility
|
|
50
|
+
* Respects user's motion preferences and disables animations
|
|
51
|
+
*/
|
|
52
|
+
@media (prefers-reduced-motion: reduce) {
|
|
53
|
+
.rt-Image {
|
|
54
|
+
transition: none;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/*
|
|
59
|
+
* Forced colors support for high contrast mode
|
|
60
|
+
* Ensures images remain visible in Windows high contrast mode
|
|
61
|
+
*/
|
|
62
|
+
@media (forced-colors: active) {
|
|
63
|
+
.rt-Image {
|
|
64
|
+
border: 1px solid CanvasText;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Enhanced focus visibility in forced colors mode */
|
|
68
|
+
.rt-Image:where(:focus-visible) {
|
|
69
|
+
outline: 2px solid Highlight;
|
|
70
|
+
outline-offset: 2px;
|
|
71
|
+
}
|
|
11
72
|
}
|
|
12
73
|
|
|
13
|
-
/*
|
|
74
|
+
/*
|
|
75
|
+
* Interactive states for clickable images
|
|
76
|
+
* Follows the Card component pattern for consistent interaction feedback
|
|
77
|
+
* Applied when Image is used as a link, button, or label
|
|
78
|
+
*/
|
|
14
79
|
.rt-Image:where(:any-link, button, label) {
|
|
15
80
|
cursor: pointer;
|
|
81
|
+
transition: var(--transition-card), filter var(--duration-2) var(--ease-1); /* Smooth transitions for interactive states */
|
|
16
82
|
|
|
83
|
+
/*
|
|
84
|
+
* Hover effects with progressive enhancement
|
|
85
|
+
* Only applies on devices that support hover (excludes touch devices)
|
|
86
|
+
*/
|
|
17
87
|
@media (hover: hover) {
|
|
18
88
|
&:where(:hover) {
|
|
19
|
-
box-shadow:
|
|
20
|
-
|
|
21
|
-
0 0 0 1px var(--gray-a4);
|
|
22
|
-
filter: brightness(1.05) contrast(1.02);
|
|
89
|
+
box-shadow: var(--shadow-3); /* Subtle elevation on hover */
|
|
90
|
+
filter: brightness(1.05) contrast(1.02); /* Slight brightness/contrast boost */
|
|
23
91
|
}
|
|
24
92
|
}
|
|
25
93
|
|
|
94
|
+
/*
|
|
95
|
+
* Active state for pressed/clicked feedback
|
|
96
|
+
* Provides immediate visual response to user interaction
|
|
97
|
+
*/
|
|
26
98
|
&:where(:active) {
|
|
27
|
-
filter: brightness(0.98) contrast(1.02);
|
|
99
|
+
filter: brightness(0.98) contrast(1.02); /* Slightly darker when pressed */
|
|
28
100
|
}
|
|
29
101
|
|
|
102
|
+
/*
|
|
103
|
+
* Focus-visible state for keyboard navigation
|
|
104
|
+
* Ensures accessibility for keyboard users
|
|
105
|
+
*/
|
|
30
106
|
&:where(:focus-visible) {
|
|
31
107
|
outline: 2px solid var(--focus-8);
|
|
32
|
-
outline-offset: -2px;
|
|
108
|
+
outline-offset: -2px; /* Inner outline to stay within image bounds */
|
|
33
109
|
}
|
|
34
110
|
}
|
|
35
111
|
|
|
36
|
-
/*
|
|
37
|
-
|
|
112
|
+
/*
|
|
113
|
+
* Interactive states for asChild usage
|
|
114
|
+
* When Image is used with asChild pattern, styles apply to the wrapper element
|
|
115
|
+
* This ensures interactive feedback works correctly in composed scenarios
|
|
116
|
+
*/
|
|
117
|
+
:where(:any-link, button, label) {
|
|
38
118
|
cursor: pointer;
|
|
119
|
+
transition: var(--transition-card), filter var(--duration-2) var(--ease-1); /* Smooth transitions for interactive states */
|
|
39
120
|
|
|
121
|
+
/* Hover effects for wrapper elements */
|
|
40
122
|
@media (hover: hover) {
|
|
41
123
|
&:where(:hover) {
|
|
42
|
-
box-shadow:
|
|
43
|
-
var(--box-shadow, var(--shadow-2)),
|
|
44
|
-
0 0 0 1px var(--gray-a4);
|
|
124
|
+
/* box-shadow: var(--shadow-3); */
|
|
45
125
|
filter: brightness(1.05) contrast(1.02);
|
|
46
126
|
}
|
|
47
127
|
}
|
|
48
128
|
|
|
129
|
+
/* Active state for wrapper elements */
|
|
49
130
|
&:where(:active) {
|
|
50
131
|
filter: brightness(0.98) contrast(1.02);
|
|
51
132
|
}
|
|
52
133
|
}
|
|
53
134
|
|
|
54
|
-
/*
|
|
135
|
+
/*
|
|
136
|
+
* Focus states for asChild usage
|
|
137
|
+
* Apply focus outline to the wrapper element when using composition pattern
|
|
138
|
+
*/
|
|
55
139
|
:where(:any-link, button, label):where(:focus-visible) .rt-Image {
|
|
56
140
|
outline: 2px solid var(--focus-8);
|
|
57
141
|
outline-offset: -2px;
|
|
58
142
|
}
|
|
59
143
|
|
|
60
|
-
/* Blur variant wrapper */
|
|
61
|
-
.rt-variant-blur {
|
|
62
|
-
position: relative;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* Blur variant when used with asChild - use inline-block for proper sizing */
|
|
66
|
-
.rt-variant-blur--as-child {
|
|
67
|
-
display: inline-block;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/* Interactive states for blur variant - follows Card pattern */
|
|
71
|
-
.rt-variant-blur:where(:any-link, button, label) {
|
|
72
|
-
cursor: pointer;
|
|
73
|
-
transition: var(--transition-button);
|
|
74
144
|
|
|
75
|
-
@media (hover: hover) {
|
|
76
|
-
&:where(:hover) {
|
|
77
|
-
filter: brightness(1.05) contrast(1.02);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
145
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
146
|
+
/*
|
|
147
|
+
* Object-fit variants for responsive image scaling
|
|
148
|
+
* These classes control how images are resized to fit their containers
|
|
149
|
+
* Each variant serves different use cases and design requirements
|
|
150
|
+
*/
|
|
84
151
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
/* Disable individual image interactions when inside blur variant */
|
|
92
|
-
/* stylelint-disable-next-line selector-max-specificity */
|
|
93
|
-
.rt-variant-blur:where(:any-link, button, label) .rt-Image {
|
|
94
|
-
cursor: inherit;
|
|
95
|
-
transform: none !important;
|
|
96
|
-
outline: none !important;
|
|
97
|
-
box-shadow: var(--box-shadow) !important;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/* Blur background image - simplified */
|
|
101
|
-
.rt-Image--blur-bg {
|
|
102
|
-
/* No additional styles needed - all handled inline */
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/* Image inside blur variant - simplified */
|
|
106
|
-
.rt-Image--blur {
|
|
107
|
-
/* No additional styles needed - all handled inline */
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/* Object fit variants */
|
|
152
|
+
/*
|
|
153
|
+
* Cover fit: Scales image to cover entire container
|
|
154
|
+
* May crop edges but ensures no empty space
|
|
155
|
+
* Best for: Hero images, thumbnails, card backgrounds
|
|
156
|
+
*/
|
|
111
157
|
.rt-r-fit-cover {
|
|
112
158
|
--object-fit: cover;
|
|
113
159
|
}
|
|
114
160
|
|
|
161
|
+
/*
|
|
162
|
+
* Contain fit: Scales image to fit entirely within container
|
|
163
|
+
* May leave empty space but shows complete image
|
|
164
|
+
* Best for: Product images, logos, artwork
|
|
165
|
+
*/
|
|
115
166
|
.rt-r-fit-contain {
|
|
116
167
|
--object-fit: contain;
|
|
117
168
|
}
|
|
118
169
|
|
|
170
|
+
/*
|
|
171
|
+
* Fill fit: Stretches image to fill container exactly
|
|
172
|
+
* May distort aspect ratio, use with caution
|
|
173
|
+
* Best for: When exact dimensions are required regardless of distortion
|
|
174
|
+
*/
|
|
119
175
|
.rt-r-fit-fill {
|
|
120
176
|
--object-fit: fill;
|
|
121
177
|
}
|
|
122
178
|
|
|
179
|
+
/*
|
|
180
|
+
* Scale-down fit: Acts like contain but never scales up
|
|
181
|
+
* Prevents small images from becoming pixelated
|
|
182
|
+
* Best for: User-uploaded content, variable-sized images
|
|
183
|
+
*/
|
|
123
184
|
.rt-r-fit-scale-down {
|
|
124
185
|
--object-fit: scale-down;
|
|
125
186
|
}
|
|
126
187
|
|
|
188
|
+
/*
|
|
189
|
+
* None fit: Image keeps original size
|
|
190
|
+
* May overflow container or leave empty space
|
|
191
|
+
* Best for: Pixel-perfect images, sprites, when original sizing is important
|
|
192
|
+
*/
|
|
127
193
|
.rt-r-fit-none {
|
|
128
194
|
--object-fit: none;
|
|
129
195
|
}
|
|
130
196
|
|
|
131
|
-
/*
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
.rt-r-shadow-2 {
|
|
137
|
-
--box-shadow: var(--shadow-2);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.rt-r-shadow-3 {
|
|
141
|
-
--box-shadow: var(--shadow-3);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.rt-r-shadow-4 {
|
|
145
|
-
--box-shadow: var(--shadow-4);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.rt-r-shadow-5 {
|
|
149
|
-
--box-shadow: var(--shadow-5);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.rt-r-shadow-6 {
|
|
153
|
-
--box-shadow: var(--shadow-6);
|
|
154
|
-
}
|
|
197
|
+
/*
|
|
198
|
+
* Loading and placeholder states
|
|
199
|
+
* Styles for different image loading phases
|
|
200
|
+
*/
|
|
155
201
|
|
|
156
|
-
/*
|
|
202
|
+
/*
|
|
203
|
+
* Placeholder image styling
|
|
204
|
+
* Positioned behind the main image with lower z-index
|
|
205
|
+
*/
|
|
157
206
|
.rt-Image--placeholder {
|
|
158
|
-
z-index: 0;
|
|
207
|
+
z-index: 0; /* Ensures placeholder appears behind main image */
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/*
|
|
211
|
+
* Caption styling for additional image context
|
|
212
|
+
* Provides consistent typography and layout for image descriptions
|
|
213
|
+
*/
|
|
214
|
+
.rt-Image-caption {
|
|
215
|
+
font-size: var(--font-size-1); /* Small, readable text */
|
|
216
|
+
font-weight: var(--font-weight-regular); /* Regular weight for readability */
|
|
217
|
+
color: var(--gray-11); /* Subtle but readable color */
|
|
218
|
+
margin-top: var(--space-2); /* Consistent spacing from image */
|
|
219
|
+
text-align: center; /* Centered alignment for visual balance */
|
|
220
|
+
|
|
221
|
+
/*
|
|
222
|
+
* Text wrapping and hyphenation for better layout
|
|
223
|
+
* Prevents caption text from breaking the layout
|
|
224
|
+
*/
|
|
225
|
+
word-wrap: break-word;
|
|
226
|
+
overflow-wrap: break-word;
|
|
227
|
+
hyphens: auto; /* Automatic hyphenation for long words */
|
|
159
228
|
}
|
|
@@ -1,24 +1,92 @@
|
|
|
1
1
|
import { asChildPropDef } from '../props/as-child.prop.js';
|
|
2
2
|
import { radiusPropDef } from '../props/radius.prop.js';
|
|
3
|
-
import { shadowPropDefs } from '../props/shadow.props.js';
|
|
4
3
|
|
|
5
4
|
import type { PropDef } from '../props/prop-def.js';
|
|
6
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Available object-fit values for controlling image scaling behavior
|
|
8
|
+
*
|
|
9
|
+
* - cover: Scales image to cover entire container, may crop edges
|
|
10
|
+
* - contain: Scales image to fit entirely within container, may have empty space
|
|
11
|
+
* - fill: Stretches image to fill container exactly, may distort aspect ratio
|
|
12
|
+
* - scale-down: Acts like 'contain' but never scales up beyond original size
|
|
13
|
+
* - none: Image keeps original size, may overflow or leave empty space
|
|
14
|
+
*/
|
|
7
15
|
const objectFitValues = ['cover', 'contain', 'fill', 'scale-down', 'none'] as const;
|
|
8
|
-
const variants = ['surface', 'blur'] as const;
|
|
9
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Available visual variants for the Image component
|
|
19
|
+
* Currently only 'surface' variant is available, providing subtle elevation
|
|
20
|
+
*/
|
|
21
|
+
const variants = ['surface'] as const;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Image component prop definitions that define the component's API
|
|
25
|
+
*
|
|
26
|
+
* These props control the visual appearance, behavior, and accessibility
|
|
27
|
+
* features of the Image component. The component supports responsive
|
|
28
|
+
* design, accessibility compliance, and flexible layout options.
|
|
29
|
+
*
|
|
30
|
+
* Key features:
|
|
31
|
+
* - Object-fit control for responsive image scaling
|
|
32
|
+
* - Radius control for rounded corners
|
|
33
|
+
* - Caption support for additional context
|
|
34
|
+
* - Accessibility labels for loading and error states
|
|
35
|
+
* - AsChild pattern for flexible composition
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* // Basic image with cover fit
|
|
40
|
+
* <Image src="/photo.jpg" alt="Team photo" fit="cover" />
|
|
41
|
+
*
|
|
42
|
+
* // Image with caption and custom radius
|
|
43
|
+
* <Image
|
|
44
|
+
* src="/chart.png"
|
|
45
|
+
* alt="Sales data"
|
|
46
|
+
* caption="Q3 2024 Performance"
|
|
47
|
+
* radius="medium"
|
|
48
|
+
* />
|
|
49
|
+
*
|
|
50
|
+
* // Responsive object-fit
|
|
51
|
+
* <Image
|
|
52
|
+
* src="/banner.jpg"
|
|
53
|
+
* alt="Hero banner"
|
|
54
|
+
* fit={{ initial: 'cover', md: 'contain' }}
|
|
55
|
+
* />
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
10
58
|
const imagePropDefs = {
|
|
11
59
|
...asChildPropDef,
|
|
60
|
+
...radiusPropDef,
|
|
12
61
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
62
|
+
* Controls how the image should be resized to fit its container
|
|
63
|
+
*
|
|
64
|
+
* Sets the CSS object-fit property with responsive support.
|
|
65
|
+
* Choose the right fit based on your design needs:
|
|
66
|
+
*
|
|
67
|
+
* - 'cover': Best for hero images, thumbnails, and cards where you want to fill the space
|
|
68
|
+
* - 'contain': Best for product images, logos, and content where the entire image must be visible
|
|
69
|
+
* - 'fill': Use carefully, only when you want to stretch the image to exact dimensions
|
|
70
|
+
* - 'scale-down': Good for user-uploaded content where you don't want to enlarge small images
|
|
71
|
+
* - 'none': Useful for pixel-perfect images or when you want original sizing
|
|
72
|
+
*
|
|
16
73
|
* @example
|
|
17
|
-
*
|
|
18
|
-
*
|
|
74
|
+
* ```tsx
|
|
75
|
+
* // Fill the container, may crop edges
|
|
76
|
+
* <Image src="/hero.jpg" fit="cover" alt="Hero image" />
|
|
77
|
+
*
|
|
78
|
+
* // Show entire image, may have empty space
|
|
79
|
+
* <Image src="/logo.png" fit="contain" alt="Company logo" />
|
|
80
|
+
*
|
|
81
|
+
* // Responsive fit
|
|
82
|
+
* <Image
|
|
83
|
+
* src="/banner.jpg"
|
|
84
|
+
* fit={{ initial: 'cover', lg: 'contain' }}
|
|
85
|
+
* alt="Responsive banner"
|
|
86
|
+
* />
|
|
87
|
+
* ```
|
|
19
88
|
*
|
|
20
|
-
* @link
|
|
21
|
-
* https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
|
|
89
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
|
|
22
90
|
*/
|
|
23
91
|
fit: {
|
|
24
92
|
type: 'enum',
|
|
@@ -28,11 +96,15 @@ const imagePropDefs = {
|
|
|
28
96
|
responsive: true,
|
|
29
97
|
},
|
|
30
98
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
99
|
+
* Visual variant that determines the image's appearance style
|
|
100
|
+
*
|
|
101
|
+
* Currently supports 'surface' variant which provides subtle elevation
|
|
102
|
+
* and integrates well with card-based layouts and content sections.
|
|
103
|
+
*
|
|
33
104
|
* @example
|
|
34
|
-
*
|
|
35
|
-
* variant="
|
|
105
|
+
* ```tsx
|
|
106
|
+
* <Image src="/photo.jpg" variant="surface" alt="Elevated image" />
|
|
107
|
+
* ```
|
|
36
108
|
*/
|
|
37
109
|
variant: {
|
|
38
110
|
type: 'enum',
|
|
@@ -40,11 +112,76 @@ const imagePropDefs = {
|
|
|
40
112
|
values: variants,
|
|
41
113
|
default: 'surface',
|
|
42
114
|
},
|
|
43
|
-
|
|
44
|
-
|
|
115
|
+
/**
|
|
116
|
+
* ARIA label announced by screen readers during image loading
|
|
117
|
+
*
|
|
118
|
+
* Provides accessibility feedback for users with visual impairments.
|
|
119
|
+
* Customize this message to match your application's language and tone.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```tsx
|
|
123
|
+
* <Image
|
|
124
|
+
* src="/chart.jpg"
|
|
125
|
+
* loadingAriaLabel="Loading sales chart..."
|
|
126
|
+
* alt="Sales performance chart"
|
|
127
|
+
* />
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
loadingAriaLabel: {
|
|
131
|
+
type: 'string',
|
|
132
|
+
default: 'Loading image...',
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* ARIA label announced by screen readers when image loading fails
|
|
136
|
+
*
|
|
137
|
+
* Provides accessibility feedback for error states.
|
|
138
|
+
* Should clearly indicate that the image failed to load and may suggest alternatives.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```tsx
|
|
142
|
+
* <Image
|
|
143
|
+
* src="/photo.jpg"
|
|
144
|
+
* errorAriaLabel="Photo failed to load. Please refresh the page."
|
|
145
|
+
* alt="Team photo"
|
|
146
|
+
* />
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
errorAriaLabel: {
|
|
150
|
+
type: 'string',
|
|
151
|
+
default: 'Failed to load image',
|
|
152
|
+
},
|
|
153
|
+
/**
|
|
154
|
+
* Optional caption text displayed below the image
|
|
155
|
+
*
|
|
156
|
+
* Provides additional context, description, or attribution for the image.
|
|
157
|
+
* The caption is styled consistently and positioned below the image content.
|
|
158
|
+
*
|
|
159
|
+
* Use captions for:
|
|
160
|
+
* - Photo credits and attributions
|
|
161
|
+
* - Additional context or explanation
|
|
162
|
+
* - Data source information for charts
|
|
163
|
+
* - Descriptive text that supplements the alt attribute
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```tsx
|
|
167
|
+
* <Image
|
|
168
|
+
* src="/chart.png"
|
|
169
|
+
* alt="Q3 sales performance showing 25% growth"
|
|
170
|
+
* caption="Data source: Internal sales tracking system"
|
|
171
|
+
* />
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
caption: {
|
|
175
|
+
type: 'string',
|
|
176
|
+
default: undefined,
|
|
177
|
+
},
|
|
45
178
|
} satisfies {
|
|
46
179
|
fit: PropDef<(typeof objectFitValues)[number]>;
|
|
47
180
|
variant: PropDef<(typeof variants)[number]>;
|
|
181
|
+
loadingAriaLabel: PropDef<string>;
|
|
182
|
+
errorAriaLabel: PropDef<string>;
|
|
183
|
+
radius: PropDef<'none' | 'small' | 'medium' | 'large' | 'full'>;
|
|
184
|
+
caption: PropDef<string | undefined>;
|
|
48
185
|
};
|
|
49
186
|
|
|
50
187
|
export { imagePropDefs };
|