@vaneui/ui 1.4.2 → 1.4.3-alpha.20261010125233.ec43420
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/CHANGELOG.md +122 -0
- package/dist/cjs/components/ui/alert/AlertCategories.cjs +1 -0
- package/dist/cjs/components/ui/alert/AlertCategories.cjs.map +1 -1
- package/dist/cjs/components/ui/alert/alertDefaults.cjs +2 -1
- package/dist/cjs/components/ui/alert/alertDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/alert/defaultAlertTheme.cjs +3 -1
- package/dist/cjs/components/ui/alert/defaultAlertTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/button/Button.cjs +1 -1
- package/dist/cjs/components/ui/button/Button.cjs.map +1 -1
- package/dist/cjs/components/ui/card/Card.cjs +14 -2
- package/dist/cjs/components/ui/card/Card.cjs.map +1 -1
- package/dist/cjs/components/ui/card/defaultCardTheme.cjs +6 -1
- package/dist/cjs/components/ui/card/defaultCardTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/checkbox/Checkbox.cjs +9 -2
- package/dist/cjs/components/ui/checkbox/Checkbox.cjs.map +1 -1
- package/dist/cjs/components/ui/checkbox/CheckboxCategories.cjs +2 -1
- package/dist/cjs/components/ui/checkbox/CheckboxCategories.cjs.map +1 -1
- package/dist/cjs/components/ui/checkbox/defaultCheckboxWrapperTheme.cjs +3 -0
- package/dist/cjs/components/ui/checkbox/defaultCheckboxWrapperTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/chip/Chip.cjs +2 -1
- package/dist/cjs/components/ui/chip/Chip.cjs.map +1 -1
- package/dist/cjs/components/ui/classes/appearanceClasses.cjs +2 -0
- package/dist/cjs/components/ui/classes/appearanceClasses.cjs.map +1 -1
- package/dist/cjs/components/ui/field/Field.cjs +42 -3
- package/dist/cjs/components/ui/field/Field.cjs.map +1 -1
- package/dist/cjs/components/ui/field/FieldContext.cjs +4 -1
- package/dist/cjs/components/ui/field/FieldContext.cjs.map +1 -1
- package/dist/cjs/components/ui/iconButton/IconButton.cjs +1 -1
- package/dist/cjs/components/ui/iconButton/IconButton.cjs.map +1 -1
- package/dist/cjs/components/ui/input/defaultInputTheme.cjs +1 -1
- package/dist/cjs/components/ui/input/defaultInputTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/label/defaultLabelTheme.cjs +1 -1
- package/dist/cjs/components/ui/label/defaultLabelTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/menu/Menu.cjs +18 -8
- package/dist/cjs/components/ui/menu/Menu.cjs.map +1 -1
- package/dist/cjs/components/ui/menu/MenuContext.cjs.map +1 -1
- package/dist/cjs/components/ui/menu/MenuItem.cjs +2 -9
- package/dist/cjs/components/ui/menu/MenuItem.cjs.map +1 -1
- package/dist/cjs/components/ui/menu/menuPopupDefaults.cjs +1 -0
- package/dist/cjs/components/ui/menu/menuPopupDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/modal/Modal.cjs +3 -2
- package/dist/cjs/components/ui/modal/Modal.cjs.map +1 -1
- package/dist/cjs/components/ui/modal/modalCloseButtonDefaults.cjs +3 -0
- package/dist/cjs/components/ui/modal/modalCloseButtonDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/navLink/NavLinkLabelCategories.cjs +1 -1
- package/dist/cjs/components/ui/navLink/NavLinkLabelCategories.cjs.map +1 -1
- package/dist/cjs/components/ui/navLink/defaultNavLinkLabelTheme.cjs +3 -1
- package/dist/cjs/components/ui/navLink/defaultNavLinkLabelTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/navLink/navLinkLabelDefaults.cjs +3 -1
- package/dist/cjs/components/ui/navLink/navLinkLabelDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/popup/Popup.cjs +17 -11
- package/dist/cjs/components/ui/popup/Popup.cjs.map +1 -1
- package/dist/cjs/components/ui/popup/popupDefaults.cjs +1 -0
- package/dist/cjs/components/ui/popup/popupDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/props/categoryBuilders.cjs +2 -0
- package/dist/cjs/components/ui/props/categoryBuilders.cjs.map +1 -1
- package/dist/cjs/components/ui/radio/Radio.cjs +4 -3
- package/dist/cjs/components/ui/radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/ui/radio/RadioGroup.cjs +3 -2
- package/dist/cjs/components/ui/radio/RadioGroup.cjs.map +1 -1
- package/dist/cjs/components/ui/radio/RadioGroupContext.cjs.map +1 -1
- package/dist/cjs/components/ui/radio/defaultRadioTheme.cjs +1 -2
- package/dist/cjs/components/ui/radio/defaultRadioTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/radio/defaultRadioWrapperTheme.cjs +3 -0
- package/dist/cjs/components/ui/radio/defaultRadioWrapperTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/select/Select.cjs +15 -1
- package/dist/cjs/components/ui/select/Select.cjs.map +1 -1
- package/dist/cjs/components/ui/select/SelectWrapperCategories.cjs +1 -1
- package/dist/cjs/components/ui/select/SelectWrapperCategories.cjs.map +1 -1
- package/dist/cjs/components/ui/select/defaultSelectTheme.cjs +1 -1
- package/dist/cjs/components/ui/select/defaultSelectTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/select/defaultSelectWrapperTheme.cjs +3 -1
- package/dist/cjs/components/ui/select/defaultSelectWrapperTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/switch/Switch.cjs +12 -3
- package/dist/cjs/components/ui/switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/ui/switch/defaultSwitchWrapperTheme.cjs +3 -0
- package/dist/cjs/components/ui/switch/defaultSwitchWrapperTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/table/TableCategories.cjs +1 -0
- package/dist/cjs/components/ui/table/TableCategories.cjs.map +1 -1
- package/dist/cjs/components/ui/table/defaultTableTheme.cjs +3 -1
- package/dist/cjs/components/ui/table/defaultTableTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/table/tableDefaults.cjs +2 -1
- package/dist/cjs/components/ui/table/tableDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/textarea/defaultTextareaTheme.cjs +1 -1
- package/dist/cjs/components/ui/textarea/defaultTextareaTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/appearance/disabledClassMapper.cjs +8 -1
- package/dist/cjs/components/ui/theme/appearance/disabledClassMapper.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/appearance/disabledOpacityClassMapper.cjs +1 -1
- package/dist/cjs/components/ui/theme/appearance/disabledOpacityClassMapper.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/appearance/readOnlyClassMapper.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/appearance/statusClassMapper.cjs +2 -2
- package/dist/cjs/components/ui/theme/appearance/statusClassMapper.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs +3 -2
- package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/common/appearanceClassMappers.cjs +2 -0
- package/dist/cjs/components/ui/theme/common/appearanceClassMappers.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/layout/transitionClassMapper.cjs +2 -2
- package/dist/cjs/components/ui/theme/layout/transitionClassMapper.cjs.map +1 -1
- package/dist/cjs/components/ui/tooltip/Tooltip.cjs +12 -6
- package/dist/cjs/components/ui/tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/ui/tooltip/tooltipDefaults.cjs +2 -1
- package/dist/cjs/components/ui/tooltip/tooltipDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/typography/link/Link.cjs +4 -1
- package/dist/cjs/components/ui/typography/link/Link.cjs.map +1 -1
- package/dist/cjs/components/ui/typography/link/LinkCategories.cjs +1 -1
- package/dist/cjs/components/ui/typography/link/LinkCategories.cjs.map +1 -1
- package/dist/cjs/components/ui/typography/link/defaultLinkTheme.cjs +8 -2
- package/dist/cjs/components/ui/typography/link/defaultLinkTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/typography/listItem/ListItem.cjs +0 -2
- package/dist/cjs/components/ui/typography/listItem/ListItem.cjs.map +1 -1
- package/dist/esm/components/ui/alert/AlertCategories.mjs +2 -1
- package/dist/esm/components/ui/alert/AlertCategories.mjs.map +1 -1
- package/dist/esm/components/ui/alert/alertDefaults.mjs +2 -1
- package/dist/esm/components/ui/alert/alertDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/alert/defaultAlertTheme.mjs +3 -1
- package/dist/esm/components/ui/alert/defaultAlertTheme.mjs.map +1 -1
- package/dist/esm/components/ui/button/Button.mjs +1 -1
- package/dist/esm/components/ui/button/Button.mjs.map +1 -1
- package/dist/esm/components/ui/card/Card.mjs +15 -3
- package/dist/esm/components/ui/card/Card.mjs.map +1 -1
- package/dist/esm/components/ui/card/defaultCardTheme.mjs +6 -1
- package/dist/esm/components/ui/card/defaultCardTheme.mjs.map +1 -1
- package/dist/esm/components/ui/checkbox/Checkbox.mjs +10 -3
- package/dist/esm/components/ui/checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/components/ui/checkbox/CheckboxCategories.mjs +3 -2
- package/dist/esm/components/ui/checkbox/CheckboxCategories.mjs.map +1 -1
- package/dist/esm/components/ui/checkbox/defaultCheckboxWrapperTheme.mjs +3 -0
- package/dist/esm/components/ui/checkbox/defaultCheckboxWrapperTheme.mjs.map +1 -1
- package/dist/esm/components/ui/chip/Chip.mjs +2 -1
- package/dist/esm/components/ui/chip/Chip.mjs.map +1 -1
- package/dist/esm/components/ui/classes/appearanceClasses.mjs +2 -1
- package/dist/esm/components/ui/classes/appearanceClasses.mjs.map +1 -1
- package/dist/esm/components/ui/field/Field.mjs +42 -3
- package/dist/esm/components/ui/field/Field.mjs.map +1 -1
- package/dist/esm/components/ui/field/FieldContext.mjs +4 -1
- package/dist/esm/components/ui/field/FieldContext.mjs.map +1 -1
- package/dist/esm/components/ui/iconButton/IconButton.mjs +1 -1
- package/dist/esm/components/ui/iconButton/IconButton.mjs.map +1 -1
- package/dist/esm/components/ui/input/defaultInputTheme.mjs +2 -2
- package/dist/esm/components/ui/input/defaultInputTheme.mjs.map +1 -1
- package/dist/esm/components/ui/label/defaultLabelTheme.mjs +1 -1
- package/dist/esm/components/ui/label/defaultLabelTheme.mjs.map +1 -1
- package/dist/esm/components/ui/menu/Menu.mjs +18 -8
- package/dist/esm/components/ui/menu/Menu.mjs.map +1 -1
- package/dist/esm/components/ui/menu/MenuContext.mjs.map +1 -1
- package/dist/esm/components/ui/menu/MenuItem.mjs +2 -9
- package/dist/esm/components/ui/menu/MenuItem.mjs.map +1 -1
- package/dist/esm/components/ui/menu/menuPopupDefaults.mjs +1 -0
- package/dist/esm/components/ui/menu/menuPopupDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/modal/Modal.mjs +3 -2
- package/dist/esm/components/ui/modal/Modal.mjs.map +1 -1
- package/dist/esm/components/ui/modal/modalCloseButtonDefaults.mjs +3 -0
- package/dist/esm/components/ui/modal/modalCloseButtonDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/navLink/NavLinkLabelCategories.mjs +1 -1
- package/dist/esm/components/ui/navLink/NavLinkLabelCategories.mjs.map +1 -1
- package/dist/esm/components/ui/navLink/defaultNavLinkLabelTheme.mjs +3 -1
- package/dist/esm/components/ui/navLink/defaultNavLinkLabelTheme.mjs.map +1 -1
- package/dist/esm/components/ui/navLink/navLinkLabelDefaults.mjs +3 -1
- package/dist/esm/components/ui/navLink/navLinkLabelDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/popup/Popup.mjs +17 -11
- package/dist/esm/components/ui/popup/Popup.mjs.map +1 -1
- package/dist/esm/components/ui/popup/popupDefaults.mjs +1 -0
- package/dist/esm/components/ui/popup/popupDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/props/categoryBuilders.mjs +2 -1
- package/dist/esm/components/ui/props/categoryBuilders.mjs.map +1 -1
- package/dist/esm/components/ui/radio/Radio.mjs +4 -3
- package/dist/esm/components/ui/radio/Radio.mjs.map +1 -1
- package/dist/esm/components/ui/radio/RadioGroup.mjs +4 -3
- package/dist/esm/components/ui/radio/RadioGroup.mjs.map +1 -1
- package/dist/esm/components/ui/radio/RadioGroupContext.mjs.map +1 -1
- package/dist/esm/components/ui/radio/defaultRadioTheme.mjs +2 -3
- package/dist/esm/components/ui/radio/defaultRadioTheme.mjs.map +1 -1
- package/dist/esm/components/ui/radio/defaultRadioWrapperTheme.mjs +3 -0
- package/dist/esm/components/ui/radio/defaultRadioWrapperTheme.mjs.map +1 -1
- package/dist/esm/components/ui/select/Select.mjs +16 -2
- package/dist/esm/components/ui/select/Select.mjs.map +1 -1
- package/dist/esm/components/ui/select/SelectWrapperCategories.mjs +1 -1
- package/dist/esm/components/ui/select/SelectWrapperCategories.mjs.map +1 -1
- package/dist/esm/components/ui/select/defaultSelectTheme.mjs +2 -2
- package/dist/esm/components/ui/select/defaultSelectTheme.mjs.map +1 -1
- package/dist/esm/components/ui/select/defaultSelectWrapperTheme.mjs +3 -1
- package/dist/esm/components/ui/select/defaultSelectWrapperTheme.mjs.map +1 -1
- package/dist/esm/components/ui/switch/Switch.mjs +12 -3
- package/dist/esm/components/ui/switch/Switch.mjs.map +1 -1
- package/dist/esm/components/ui/switch/defaultSwitchWrapperTheme.mjs +3 -0
- package/dist/esm/components/ui/switch/defaultSwitchWrapperTheme.mjs.map +1 -1
- package/dist/esm/components/ui/table/TableCategories.mjs +2 -1
- package/dist/esm/components/ui/table/TableCategories.mjs.map +1 -1
- package/dist/esm/components/ui/table/defaultTableTheme.mjs +3 -1
- package/dist/esm/components/ui/table/defaultTableTheme.mjs.map +1 -1
- package/dist/esm/components/ui/table/tableDefaults.mjs +2 -1
- package/dist/esm/components/ui/table/tableDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/textarea/defaultTextareaTheme.mjs +2 -2
- package/dist/esm/components/ui/textarea/defaultTextareaTheme.mjs.map +1 -1
- package/dist/esm/components/ui/theme/appearance/disabledClassMapper.mjs +8 -2
- package/dist/esm/components/ui/theme/appearance/disabledClassMapper.mjs.map +1 -1
- package/dist/esm/components/ui/theme/appearance/disabledOpacityClassMapper.mjs +1 -1
- package/dist/esm/components/ui/theme/appearance/disabledOpacityClassMapper.mjs.map +1 -1
- package/dist/esm/components/ui/theme/appearance/readOnlyClassMapper.mjs.map +1 -1
- package/dist/esm/components/ui/theme/appearance/statusClassMapper.mjs +2 -2
- package/dist/esm/components/ui/theme/appearance/statusClassMapper.mjs.map +1 -1
- package/dist/esm/components/ui/theme/common/ComponentTheme.mjs +3 -2
- package/dist/esm/components/ui/theme/common/ComponentTheme.mjs.map +1 -1
- package/dist/esm/components/ui/theme/common/appearanceClassMappers.mjs +3 -2
- package/dist/esm/components/ui/theme/common/appearanceClassMappers.mjs.map +1 -1
- package/dist/esm/components/ui/theme/layout/transitionClassMapper.mjs +2 -2
- package/dist/esm/components/ui/theme/layout/transitionClassMapper.mjs.map +1 -1
- package/dist/esm/components/ui/tooltip/Tooltip.mjs +12 -6
- package/dist/esm/components/ui/tooltip/Tooltip.mjs.map +1 -1
- package/dist/esm/components/ui/tooltip/tooltipDefaults.mjs +2 -1
- package/dist/esm/components/ui/tooltip/tooltipDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/typography/link/Link.mjs +4 -1
- package/dist/esm/components/ui/typography/link/Link.mjs.map +1 -1
- package/dist/esm/components/ui/typography/link/LinkCategories.mjs +1 -1
- package/dist/esm/components/ui/typography/link/LinkCategories.mjs.map +1 -1
- package/dist/esm/components/ui/typography/link/defaultLinkTheme.mjs +8 -2
- package/dist/esm/components/ui/typography/link/defaultLinkTheme.mjs.map +1 -1
- package/dist/esm/components/ui/typography/listItem/ListItem.mjs +0 -2
- package/dist/esm/components/ui/typography/listItem/ListItem.mjs.map +1 -1
- package/dist/types/components/ui/alert/Alert.d.cts +1 -1
- package/dist/types/components/ui/alert/Alert.d.mts +1 -1
- package/dist/types/components/ui/alert/Alert.d.ts +1 -1
- package/dist/types/components/ui/alert/AlertCategories.d.cts +1 -1
- package/dist/types/components/ui/alert/AlertCategories.d.mts +1 -1
- package/dist/types/components/ui/alert/AlertCategories.d.ts +1 -1
- package/dist/types/components/ui/alert/AlertProps.d.cts +2 -2
- package/dist/types/components/ui/alert/AlertProps.d.mts +2 -2
- package/dist/types/components/ui/alert/AlertProps.d.ts +2 -2
- package/dist/types/components/ui/alert/AlertTheme.d.cts +2 -1
- package/dist/types/components/ui/alert/AlertTheme.d.mts +2 -1
- package/dist/types/components/ui/alert/AlertTheme.d.ts +2 -1
- package/dist/types/components/ui/card/CardTheme.d.cts +1 -0
- package/dist/types/components/ui/card/CardTheme.d.mts +1 -0
- package/dist/types/components/ui/card/CardTheme.d.ts +1 -0
- package/dist/types/components/ui/checkbox/CheckboxCategories.d.cts +1 -1
- package/dist/types/components/ui/checkbox/CheckboxCategories.d.mts +1 -1
- package/dist/types/components/ui/checkbox/CheckboxCategories.d.ts +1 -1
- package/dist/types/components/ui/checkbox/CheckboxWrapperTheme.d.cts +2 -1
- package/dist/types/components/ui/checkbox/CheckboxWrapperTheme.d.mts +2 -1
- package/dist/types/components/ui/checkbox/CheckboxWrapperTheme.d.ts +2 -1
- package/dist/types/components/ui/classes/appearanceClasses.d.cts +2 -0
- package/dist/types/components/ui/classes/appearanceClasses.d.mts +2 -0
- package/dist/types/components/ui/classes/appearanceClasses.d.ts +2 -0
- package/dist/types/components/ui/field/FieldContext.d.cts +7 -0
- package/dist/types/components/ui/field/FieldContext.d.mts +7 -0
- package/dist/types/components/ui/field/FieldContext.d.ts +7 -0
- package/dist/types/components/ui/menu/MenuContext.d.cts +4 -0
- package/dist/types/components/ui/menu/MenuContext.d.mts +4 -0
- package/dist/types/components/ui/menu/MenuContext.d.ts +4 -0
- package/dist/types/components/ui/navLink/NavLinkLabelCategories.d.cts +2 -2
- package/dist/types/components/ui/navLink/NavLinkLabelCategories.d.mts +2 -2
- package/dist/types/components/ui/navLink/NavLinkLabelCategories.d.ts +2 -2
- package/dist/types/components/ui/navLink/NavLinkLabelProps.d.cts +2 -2
- package/dist/types/components/ui/navLink/NavLinkLabelProps.d.mts +2 -2
- package/dist/types/components/ui/navLink/NavLinkLabelProps.d.ts +2 -2
- package/dist/types/components/ui/navLink/NavLinkLabelTheme.d.cts +2 -0
- package/dist/types/components/ui/navLink/NavLinkLabelTheme.d.mts +2 -0
- package/dist/types/components/ui/navLink/NavLinkLabelTheme.d.ts +2 -0
- package/dist/types/components/ui/props/categoryBuilders.d.cts +1 -0
- package/dist/types/components/ui/props/categoryBuilders.d.mts +1 -0
- package/dist/types/components/ui/props/categoryBuilders.d.ts +1 -0
- package/dist/types/components/ui/radio/RadioCategories.d.cts +1 -1
- package/dist/types/components/ui/radio/RadioCategories.d.mts +1 -1
- package/dist/types/components/ui/radio/RadioCategories.d.ts +1 -1
- package/dist/types/components/ui/radio/RadioGroupContext.d.cts +3 -0
- package/dist/types/components/ui/radio/RadioGroupContext.d.mts +3 -0
- package/dist/types/components/ui/radio/RadioGroupContext.d.ts +3 -0
- package/dist/types/components/ui/radio/RadioWrapperTheme.d.cts +2 -1
- package/dist/types/components/ui/radio/RadioWrapperTheme.d.mts +2 -1
- package/dist/types/components/ui/radio/RadioWrapperTheme.d.ts +2 -1
- package/dist/types/components/ui/select/SelectWrapperCategories.d.cts +2 -2
- package/dist/types/components/ui/select/SelectWrapperCategories.d.mts +2 -2
- package/dist/types/components/ui/select/SelectWrapperCategories.d.ts +2 -2
- package/dist/types/components/ui/select/SelectWrapperProps.d.cts +2 -2
- package/dist/types/components/ui/select/SelectWrapperProps.d.mts +2 -2
- package/dist/types/components/ui/select/SelectWrapperProps.d.ts +2 -2
- package/dist/types/components/ui/select/SelectWrapperTheme.d.cts +2 -1
- package/dist/types/components/ui/select/SelectWrapperTheme.d.mts +2 -1
- package/dist/types/components/ui/select/SelectWrapperTheme.d.ts +2 -1
- package/dist/types/components/ui/switch/SwitchCategories.d.cts +1 -1
- package/dist/types/components/ui/switch/SwitchCategories.d.mts +1 -1
- package/dist/types/components/ui/switch/SwitchCategories.d.ts +1 -1
- package/dist/types/components/ui/switch/SwitchWrapperTheme.d.cts +2 -1
- package/dist/types/components/ui/switch/SwitchWrapperTheme.d.mts +2 -1
- package/dist/types/components/ui/switch/SwitchWrapperTheme.d.ts +2 -1
- package/dist/types/components/ui/table/Table.d.cts +1 -1
- package/dist/types/components/ui/table/Table.d.mts +1 -1
- package/dist/types/components/ui/table/Table.d.ts +1 -1
- package/dist/types/components/ui/table/TableCategories.d.cts +1 -1
- package/dist/types/components/ui/table/TableCategories.d.mts +1 -1
- package/dist/types/components/ui/table/TableCategories.d.ts +1 -1
- package/dist/types/components/ui/table/TableProps.d.cts +2 -2
- package/dist/types/components/ui/table/TableProps.d.mts +2 -2
- package/dist/types/components/ui/table/TableProps.d.ts +2 -2
- package/dist/types/components/ui/table/TableTheme.d.cts +2 -1
- package/dist/types/components/ui/table/TableTheme.d.mts +2 -1
- package/dist/types/components/ui/table/TableTheme.d.ts +2 -1
- package/dist/types/components/ui/theme/appearance/disabledClassMapper.d.cts +4 -0
- package/dist/types/components/ui/theme/appearance/disabledClassMapper.d.mts +4 -0
- package/dist/types/components/ui/theme/appearance/disabledClassMapper.d.ts +4 -0
- package/dist/types/components/ui/theme/appearance/index.d.cts +1 -1
- package/dist/types/components/ui/theme/appearance/index.d.mts +1 -1
- package/dist/types/components/ui/theme/appearance/index.d.ts +1 -1
- package/dist/types/components/ui/theme/appearance/readOnlyClassMapper.d.cts +1 -1
- package/dist/types/components/ui/theme/appearance/readOnlyClassMapper.d.mts +1 -1
- package/dist/types/components/ui/theme/appearance/readOnlyClassMapper.d.ts +1 -1
- package/dist/types/components/ui/theme/appearance/statusClassMapper.d.cts +1 -1
- package/dist/types/components/ui/theme/appearance/statusClassMapper.d.mts +1 -1
- package/dist/types/components/ui/theme/appearance/statusClassMapper.d.ts +1 -1
- package/dist/types/components/ui/theme/common/appearanceClassMappers.d.cts +2 -0
- package/dist/types/components/ui/theme/common/appearanceClassMappers.d.mts +2 -0
- package/dist/types/components/ui/theme/common/appearanceClassMappers.d.ts +2 -0
- package/dist/types/components/ui/theme/common/index.d.cts +1 -1
- package/dist/types/components/ui/theme/common/index.d.mts +1 -1
- package/dist/types/components/ui/theme/common/index.d.ts +1 -1
- package/dist/types/components/ui/theme/layout/transitionClassMapper.d.cts +1 -1
- package/dist/types/components/ui/theme/layout/transitionClassMapper.d.mts +1 -1
- package/dist/types/components/ui/theme/layout/transitionClassMapper.d.ts +1 -1
- package/dist/types/components/ui/tooltip/Tooltip.d.cts +1 -1
- package/dist/types/components/ui/tooltip/Tooltip.d.mts +1 -1
- package/dist/types/components/ui/tooltip/Tooltip.d.ts +1 -1
- package/dist/types/components/ui/tooltip/TooltipProps.d.cts +7 -4
- package/dist/types/components/ui/tooltip/TooltipProps.d.mts +7 -4
- package/dist/types/components/ui/tooltip/TooltipProps.d.ts +7 -4
- package/dist/types/components/ui/tooltip/tooltipDefaults.d.cts +1 -1
- package/dist/types/components/ui/tooltip/tooltipDefaults.d.mts +1 -1
- package/dist/types/components/ui/tooltip/tooltipDefaults.d.ts +1 -1
- package/dist/types/components/ui/typography/link/LinkCategories.d.cts +3 -3
- package/dist/types/components/ui/typography/link/LinkCategories.d.mts +3 -3
- package/dist/types/components/ui/typography/link/LinkCategories.d.ts +3 -3
- package/dist/types/components/ui/typography/link/LinkTheme.d.cts +4 -0
- package/dist/types/components/ui/typography/link/LinkTheme.d.mts +4 -0
- package/dist/types/components/ui/typography/link/LinkTheme.d.ts +4 -0
- package/dist/ui.css +1 -1
- package/dist/vars.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.cjs","sources":["../../../../../src/components/ui/tooltip/Tooltip.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TooltipProps } from \"./TooltipProps\";\nimport { PopupTrigger } from \"../popup/PopupTrigger\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemeProvider } from \"../../ThemeProvider\";\nimport { defaultTooltipTheme } from \"./defaultTooltipTheme\";\n\nexport function Tooltip({\n children,\n content,\n openDelay = 300,\n closeDelay = 100,\n popupProps,\n ...
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs","sources":["../../../../../src/components/ui/tooltip/Tooltip.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TooltipProps } from \"./TooltipProps\";\nimport { PopupTrigger } from \"../popup/PopupTrigger\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemeProvider } from \"../../ThemeProvider\";\nimport { defaultTooltipTheme } from \"./defaultTooltipTheme\";\n\nexport function Tooltip({\n children,\n content,\n open,\n defaultOpen,\n onOpenChange,\n openDelay = 300,\n closeDelay = 100,\n popupProps,\n popupId,\n disabled,\n ...directPopupProps\n}: TooltipProps) {\n const theme = useTheme();\n const tooltipTheme = theme?.tooltip ?? defaultTooltipTheme;\n // pushed as defaults rather than props so every visual aspect stays themeable\n const childThemeDefaults = useMemo(() => ({ popup: tooltipTheme.defaults }), [tooltipTheme]);\n // role=tooltip switches PopupTrigger to describedby semantics: no haspopup/expanded;\n // data-tooltip opts the popup into the label-sized rules in rules.css\n const tooltipPopupProps = { role: 'tooltip' as const, 'data-tooltip': '', ...directPopupProps, ...popupProps };\n\n return (\n <ThemeProvider themeDefaults={childThemeDefaults}>\n <PopupTrigger\n popup={content}\n triggerOnHover\n triggerOnFocus\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n openDelay={openDelay}\n closeDelay={closeDelay}\n popupProps={tooltipPopupProps}\n popupId={popupId}\n disabled={disabled}\n >\n {children}\n </PopupTrigger>\n </ThemeProvider>\n );\n}\n\nTooltip.displayName = 'Tooltip';\n"],"names":["useTheme","defaultTooltipTheme","useMemo","jsx","ThemeProvider","PopupTrigger"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltipDefaults.cjs","sources":["../../../../../src/components/ui/tooltip/tooltipDefaults.ts"],"sourcesContent":["import type { PopupProps } from \"../popup/PopupProps\";\n\n/** Tooltip popup: smaller and filled, so it reads as an overlay label rather than a panel. */\nexport const tooltipDefaults: Partial<PopupProps> = {\n sm: true,\n fixed: true,\n flex: true,\n column: true,\n noGap: true,\n rounded: true,\n shadow: true,\n noBorder: true,\n noInsetRing: true,\n
|
|
1
|
+
{"version":3,"file":"tooltipDefaults.cjs","sources":["../../../../../src/components/ui/tooltip/tooltipDefaults.ts"],"sourcesContent":["import type { PopupProps } from \"../popup/PopupProps\";\n\n/** Tooltip popup: smaller and filled in ink (near-white in dark mode), so it reads as an overlay label rather than a panel. */\nexport const tooltipDefaults: Partial<PopupProps> = {\n sm: true,\n fixed: true,\n flex: true,\n column: true,\n noGap: true,\n rounded: true,\n shadow: true,\n noBorder: true,\n noInsetRing: true,\n primary: true,\n filled: true,\n wFit: true,\n fontSans: true,\n placeTop: true,\n};\n"],"names":[],"mappings":";;AAGO,MAAM,eAAA,GAAuC;AAAA,EAClD,EAAA,EAAI,IAAA;AAAA,EACJ,KAAA,EAAO,IAAA;AAAA,EACP,IAAA,EAAM,IAAA;AAAA,EACN,MAAA,EAAQ,IAAA;AAAA,EACR,KAAA,EAAO,IAAA;AAAA,EACP,OAAA,EAAS,IAAA;AAAA,EACT,MAAA,EAAQ,IAAA;AAAA,EACR,QAAA,EAAU,IAAA;AAAA,EACV,WAAA,EAAa,IAAA;AAAA,EACb,OAAA,EAAS,IAAA;AAAA,EACT,MAAA,EAAQ,IAAA;AAAA,EACR,IAAA,EAAM,IAAA;AAAA,EACN,QAAA,EAAU,IAAA;AAAA,EACV,QAAA,EAAU;AACZ;;;;"}
|
|
@@ -6,6 +6,7 @@ var React = require('react');
|
|
|
6
6
|
var themeContext = require('../../../themeContext.cjs');
|
|
7
7
|
var themedComponent = require('../../../themedComponent.cjs');
|
|
8
8
|
var disabledLink = require('../../../utils/disabledLink.cjs');
|
|
9
|
+
var componentUtils = require('../../../utils/componentUtils.cjs');
|
|
9
10
|
var defaultLinkTheme = require('./defaultLinkTheme.cjs');
|
|
10
11
|
|
|
11
12
|
const Link = React.forwardRef(
|
|
@@ -22,7 +23,9 @@ const Link = React.forwardRef(
|
|
|
22
23
|
const resolvedProps = disabledLink.resolveDisabledLink(derivedProps, !!rest.disabled);
|
|
23
24
|
const opensNewWindow = finalTarget === "_blank" && !rest.disabled && !rest["aria-label"];
|
|
24
25
|
const { children, ...linkProps } = resolvedProps;
|
|
25
|
-
|
|
26
|
+
const explicitSize = componentUtils.pickFirstTruthyKeyByCategory(rest, {}, "size");
|
|
27
|
+
const sizeInjection = explicitSize && !rest.inheritSize ? { noInheritSize: true } : void 0;
|
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(themedComponent.ThemedComponent, { ref, theme: theme?.link ?? defaultLinkTheme.defaultLinkTheme, ...sizeInjection, ...linkProps, children: [
|
|
26
29
|
children,
|
|
27
30
|
opensNewWindow && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: " (opens in new window)" })
|
|
28
31
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.cjs","sources":["../../../../../../src/components/ui/typography/link/Link.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from 'react';\nimport type { LinkProps } from \"./LinkProps\";\nimport { useTheme } from \"../../../themeContext\";\nimport { ThemedComponent } from \"../../../themedComponent\";\nimport { resolveDisabledLink } from \"../../../utils/disabledLink\";\nimport { defaultLinkTheme } from \"./defaultLinkTheme\";\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n function Link(props, ref) {\n const { external, ...rest } = props;\n const theme = useTheme();\n\n const finalTarget = rest.target ?? (external ? '_blank' : undefined);\n const finalRel = rest.rel ?? (finalTarget === '_blank' ? 'noopener noreferrer' : undefined);\n\n const derivedProps = {\n ...rest,\n ...(finalTarget !== undefined && { target: finalTarget }),\n ...(finalRel !== undefined && { rel: finalRel }),\n };\n\n // disabled <a>: drop href + block activation while staying focusable\n // (aria-disabled pattern); a no-op when not disabled\n const resolvedProps = resolveDisabledLink(derivedProps, !!rest.disabled);\n\n // a link opening a new tab needs a programmatically-available advisory\n // (SC 3.2.2). Append a visually-hidden note so AT announces it with no\n // visual change; skipped for disabled links (no navigation happens) and\n // when the consumer already provided an aria-label.\n const opensNewWindow =\n finalTarget === '_blank' && !rest.disabled && !(rest as { 'aria-label'?: string })['aria-label'];\n const { children, ...linkProps } = resolvedProps as typeof resolvedProps & { children?: ReactNode };\n\n return (\n <ThemedComponent ref={ref} theme={theme?.link ?? defaultLinkTheme} {...linkProps}>\n {children}\n {opensNewWindow && <span className=\"sr-only\"> (opens in new window)</span>}\n </ThemedComponent>\n );\n }\n);\n\nLink.displayName = 'Link';\n"],"names":["forwardRef","Link","useTheme","resolveDisabledLink","jsxs","ThemedComponent","defaultLinkTheme","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Link.cjs","sources":["../../../../../../src/components/ui/typography/link/Link.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from 'react';\nimport type { LinkProps } from \"./LinkProps\";\nimport { useTheme } from \"../../../themeContext\";\nimport { ThemedComponent } from \"../../../themedComponent\";\nimport { resolveDisabledLink } from \"../../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../../utils/componentUtils\";\nimport { defaultLinkTheme } from \"./defaultLinkTheme\";\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n function Link(props, ref) {\n const { external, ...rest } = props;\n const theme = useTheme();\n\n const finalTarget = rest.target ?? (external ? '_blank' : undefined);\n const finalRel = rest.rel ?? (finalTarget === '_blank' ? 'noopener noreferrer' : undefined);\n\n const derivedProps = {\n ...rest,\n ...(finalTarget !== undefined && { target: finalTarget }),\n ...(finalRel !== undefined && { rel: finalRel }),\n };\n\n // disabled <a>: drop href + block activation while staying focusable\n // (aria-disabled pattern); a no-op when not disabled\n const resolvedProps = resolveDisabledLink(derivedProps, !!rest.disabled);\n\n // a link opening a new tab needs a programmatically-available advisory\n // (SC 3.2.2). Append a visually-hidden note so AT announces it with no\n // visual change; skipped for disabled links (no navigation happens) and\n // when the consumer already provided an aria-label.\n const opensNewWindow =\n finalTarget === '_blank' && !rest.disabled && !(rest as { 'aria-label'?: string })['aria-label'];\n const { children, ...linkProps } = resolvedProps as typeof resolvedProps & { children?: ReactNode };\n\n // an explicit size wins over the inheritSize default, unless inheritSize is also passed\n const explicitSize = pickFirstTruthyKeyByCategory(rest as Record<string, unknown>, {}, 'size');\n const sizeInjection = explicitSize && !rest.inheritSize ? { noInheritSize: true as const } : undefined;\n\n return (\n <ThemedComponent ref={ref} theme={theme?.link ?? defaultLinkTheme} {...sizeInjection} {...linkProps}>\n {children}\n {opensNewWindow && <span className=\"sr-only\"> (opens in new window)</span>}\n </ThemedComponent>\n );\n }\n);\n\nLink.displayName = 'Link';\n"],"names":["forwardRef","Link","useTheme","resolveDisabledLink","pickFirstTruthyKeyByCategory","jsxs","ThemedComponent","defaultLinkTheme","jsx"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var TypographyCategories = require('../common/TypographyCategories.cjs');
|
|
4
4
|
|
|
5
|
-
const LINK_CATEGORIES = [...TypographyCategories.TYPOGRAPHY_CATEGORIES, "focusVisible"];
|
|
5
|
+
const LINK_CATEGORIES = [...TypographyCategories.TYPOGRAPHY_CATEGORIES, "focusVisible", "disabled"];
|
|
6
6
|
|
|
7
7
|
exports.LINK_CATEGORIES = LINK_CATEGORIES;
|
|
8
8
|
//# sourceMappingURL=LinkCategories.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkCategories.cjs","sources":["../../../../../../src/components/ui/typography/link/LinkCategories.ts"],"sourcesContent":["import { TYPOGRAPHY_CATEGORIES } from \"../common\";\n\n/** Link-specific categories. Adds `focusVisible`
|
|
1
|
+
{"version":3,"file":"LinkCategories.cjs","sources":["../../../../../../src/components/ui/typography/link/LinkCategories.ts"],"sourcesContent":["import { TYPOGRAPHY_CATEGORIES } from \"../common\";\n\n/** Link-specific categories. Adds `focusVisible` (a focus ring on the rendered `<a>`)\n * and `disabled` (the dimmed disabled look). Other typography components (Text, Title, …)\n * are not focusable by default, so they keep the slimmer TYPOGRAPHY_CATEGORIES. */\nexport const LINK_CATEGORIES = [...TYPOGRAPHY_CATEGORIES, 'focusVisible', 'disabled'] as const;\n"],"names":["TYPOGRAPHY_CATEGORIES"],"mappings":";;;;AAKO,MAAM,eAAA,GAAkB,CAAC,GAAGA,0CAAA,EAAuB,gBAAgB,UAAU;;;;"}
|
|
@@ -7,6 +7,8 @@ var typographyClassMappers = require('../../theme/common/typographyClassMappers.
|
|
|
7
7
|
require('../../theme/common/appearanceClassMappers.cjs');
|
|
8
8
|
var focusVisibleClassMapper = require('../../theme/layout/focusVisibleClassMapper.cjs');
|
|
9
9
|
var linkVariantClassMapper = require('../../theme/appearance/linkVariantClassMapper.cjs');
|
|
10
|
+
var simpleConsumerClassMapper = require('../../theme/appearance/simpleConsumerClassMapper.cjs');
|
|
11
|
+
var disabledClassMapper = require('../../theme/appearance/disabledClassMapper.cjs');
|
|
10
12
|
var LinkCategories = require('./LinkCategories.cjs');
|
|
11
13
|
var linkDefaults = require('./linkDefaults.cjs');
|
|
12
14
|
|
|
@@ -19,12 +21,16 @@ const defaultLinkTheme = new ComponentTheme.ComponentTheme(
|
|
|
19
21
|
...typographyClassMappers.typographyClassMappers.appearance,
|
|
20
22
|
// delta: link-variant colors (cascading --link-text / --app-text) instead
|
|
21
23
|
// of the generic text appearance — Link has no data-variant to drive --text-color
|
|
22
|
-
text: new linkVariantClassMapper.LinkVariantClassMapper()
|
|
24
|
+
text: new linkVariantClassMapper.LinkVariantClassMapper(),
|
|
25
|
+
// delta: the focus ring takes the link's own color; Link has no appearance, so --focus-color would be unset
|
|
26
|
+
focusVisible: new simpleConsumerClassMapper.SimpleConsumerClassMapper({ base: "focus-visible:outline-current", alwaysOutput: true }, "focusVisible")
|
|
23
27
|
},
|
|
24
28
|
layout: {
|
|
25
29
|
...typographyClassMappers.typographyClassMappers.layout,
|
|
26
30
|
// delta: LINK_CATEGORIES adds `focusVisible` so the rendered <a> can show a keyboard focus ring
|
|
27
|
-
focusVisible: new focusVisibleClassMapper.FocusVisibleClassMapper()
|
|
31
|
+
focusVisible: new focusVisibleClassMapper.FocusVisibleClassMapper(),
|
|
32
|
+
// delta: a disabled link dims like other disabled controls; after cursor so not-allowed wins over pointer
|
|
33
|
+
disabled: new disabledClassMapper.DisabledVisualClassMapper()
|
|
28
34
|
}
|
|
29
35
|
},
|
|
30
36
|
linkDefaults.linkDefaults,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultLinkTheme.cjs","sources":["../../../../../../src/components/ui/typography/link/defaultLinkTheme.ts"],"sourcesContent":["import { ComponentTheme } from \"../../theme/common\";\nimport type { TypographyProps } from \"../common\";\nimport type { LinkTheme } from \"./LinkTheme\";\nimport { typographyClassMappers } from \"../../theme/common/typographyClassMappers\";\nimport { FocusVisibleClassMapper } from \"../../theme/layout/focusVisibleClassMapper\";\nimport { LinkVariantClassMapper } from \"../../theme/appearance/linkVariantClassMapper\";\nimport { LINK_CATEGORIES } from \"./LinkCategories\";\nimport { linkDefaults } from \"./linkDefaults\";\n\n/* Link theme composed over the shared typographyClassMappers (inherits size/typography/layout); only the deltas below diverge. Background-less like all typography. */\nexport const defaultLinkTheme: ComponentTheme<TypographyProps, LinkTheme> = new ComponentTheme<TypographyProps, LinkTheme>(\n \"a\",\n \"vane-link hover:underline\",\n {\n ...typographyClassMappers,\n appearance: {\n ...typographyClassMappers.appearance,\n // delta: link-variant colors (cascading --link-text / --app-text) instead\n // of the generic text appearance — Link has no data-variant to drive --text-color\n text: new LinkVariantClassMapper(),\n },\n layout: {\n ...typographyClassMappers.layout,\n // delta: LINK_CATEGORIES adds `focusVisible` so the rendered <a> can show a keyboard focus ring\n focusVisible: new FocusVisibleClassMapper(),\n },\n },\n linkDefaults,\n LINK_CATEGORIES,\n undefined,\n 'ui'\n);\n\n/** Alias for backward compatibility */\nexport const linkTheme = defaultLinkTheme;\n"],"names":["ComponentTheme","typographyClassMappers","LinkVariantClassMapper","FocusVisibleClassMapper","linkDefaults","LINK_CATEGORIES"],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultLinkTheme.cjs","sources":["../../../../../../src/components/ui/typography/link/defaultLinkTheme.ts"],"sourcesContent":["import { ComponentTheme } from \"../../theme/common\";\nimport type { TypographyProps } from \"../common\";\nimport type { LinkTheme } from \"./LinkTheme\";\nimport { typographyClassMappers } from \"../../theme/common/typographyClassMappers\";\nimport { FocusVisibleClassMapper } from \"../../theme/layout/focusVisibleClassMapper\";\nimport { LinkVariantClassMapper } from \"../../theme/appearance/linkVariantClassMapper\";\nimport { SimpleConsumerClassMapper } from \"../../theme/appearance/simpleConsumerClassMapper\";\nimport { DisabledVisualClassMapper } from \"../../theme/appearance/disabledClassMapper\";\nimport { LINK_CATEGORIES } from \"./LinkCategories\";\nimport { linkDefaults } from \"./linkDefaults\";\n\n/* Link theme composed over the shared typographyClassMappers (inherits size/typography/layout); only the deltas below diverge. Background-less like all typography. */\nexport const defaultLinkTheme: ComponentTheme<TypographyProps, LinkTheme> = new ComponentTheme<TypographyProps, LinkTheme>(\n \"a\",\n \"vane-link hover:underline\",\n {\n ...typographyClassMappers,\n appearance: {\n ...typographyClassMappers.appearance,\n // delta: link-variant colors (cascading --link-text / --app-text) instead\n // of the generic text appearance — Link has no data-variant to drive --text-color\n text: new LinkVariantClassMapper(),\n // delta: the focus ring takes the link's own color; Link has no appearance, so --focus-color would be unset\n focusVisible: new SimpleConsumerClassMapper({ base: \"focus-visible:outline-current\", alwaysOutput: true }, 'focusVisible'),\n },\n layout: {\n ...typographyClassMappers.layout,\n // delta: LINK_CATEGORIES adds `focusVisible` so the rendered <a> can show a keyboard focus ring\n focusVisible: new FocusVisibleClassMapper(),\n // delta: a disabled link dims like other disabled controls; after cursor so not-allowed wins over pointer\n disabled: new DisabledVisualClassMapper(),\n },\n },\n linkDefaults,\n LINK_CATEGORIES,\n undefined,\n 'ui'\n);\n\n/** Alias for backward compatibility */\nexport const linkTheme = defaultLinkTheme;\n"],"names":["ComponentTheme","typographyClassMappers","LinkVariantClassMapper","SimpleConsumerClassMapper","FocusVisibleClassMapper","DisabledVisualClassMapper","linkDefaults","LINK_CATEGORIES"],"mappings":";;;;;;;;;;;;;;AAYO,MAAM,mBAA+D,IAAIA,6BAAA;AAAA,EAC9E,GAAA;AAAA,EACA,2BAAA;AAAA,EACA;AAAA,IACE,GAAGC,6CAAA;AAAA,IACH,UAAA,EAAY;AAAA,MACV,GAAGA,6CAAA,CAAuB,UAAA;AAAA;AAAA;AAAA,MAG1B,IAAA,EAAM,IAAIC,6CAAA,EAAuB;AAAA;AAAA,MAEjC,YAAA,EAAc,IAAIC,mDAAA,CAA0B,EAAE,MAAM,+BAAA,EAAiC,YAAA,EAAc,IAAA,EAAK,EAAG,cAAc;AAAA,KAC3H;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAGF,6CAAA,CAAuB,MAAA;AAAA;AAAA,MAE1B,YAAA,EAAc,IAAIG,+CAAA,EAAwB;AAAA;AAAA,MAE1C,QAAA,EAAU,IAAIC,6CAAA;AAA0B;AAC1C,GACF;AAAA,EACAC,yBAAA;AAAA,EACAC,8BAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;AAGO,MAAM,SAAA,GAAY;;;;;"}
|
|
@@ -14,8 +14,6 @@ const ListItem = React.forwardRef(
|
|
|
14
14
|
return /* @__PURE__ */ jsxRuntime.jsxs(themedComponent.ThemedComponent, { ref, theme: theme?.listItem ?? defaultListItemTheme.defaultListItemTheme, ...rest, ...dataAttr, children: [
|
|
15
15
|
icon ? (
|
|
16
16
|
// me- (margin-inline-end) keeps the icon-to-text gap on the correct side under RTL.
|
|
17
|
-
// ListItem uses the full --gap (list content); Link's inline icons deliberately use
|
|
18
|
-
// half (.vane-link-start-icon / -end-icon in rules.css) for tighter inline runs.
|
|
19
17
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "vane-list-item-icon me-(--gap) inline-flex items-center justify-center align-middle h-(--icon-size) min-w-(--icon-size)", children: icon })
|
|
20
18
|
) : null,
|
|
21
19
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.cjs","sources":["../../../../../../src/components/ui/typography/listItem/ListItem.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ListItemProps } from './ListItemProps';\nimport { useTheme } from \"../../../themeContext\";\nimport { ThemedComponent } from \"../../../themedComponent\";\nimport { defaultListItemTheme } from \"./defaultListItemTheme\";\n\n// `icon` replaces the native list marker; data-has-icon suppresses list-style via base selector\nexport const ListItem = forwardRef<HTMLLIElement, ListItemProps>(\n function ListItem({ icon, children, ...rest }, ref) {\n const theme = useTheme();\n const dataAttr = icon ? { 'data-has-icon': 'true' as const } : {};\n return (\n <ThemedComponent ref={ref} theme={theme?.listItem ?? defaultListItemTheme} {...rest} {...dataAttr}>\n {icon ? (\n // me- (margin-inline-end) keeps the icon-to-text gap on the correct side under RTL.\n
|
|
1
|
+
{"version":3,"file":"ListItem.cjs","sources":["../../../../../../src/components/ui/typography/listItem/ListItem.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ListItemProps } from './ListItemProps';\nimport { useTheme } from \"../../../themeContext\";\nimport { ThemedComponent } from \"../../../themedComponent\";\nimport { defaultListItemTheme } from \"./defaultListItemTheme\";\n\n// `icon` replaces the native list marker; data-has-icon suppresses list-style via base selector\nexport const ListItem = forwardRef<HTMLLIElement, ListItemProps>(\n function ListItem({ icon, children, ...rest }, ref) {\n const theme = useTheme();\n const dataAttr = icon ? { 'data-has-icon': 'true' as const } : {};\n return (\n <ThemedComponent ref={ref} theme={theme?.listItem ?? defaultListItemTheme} {...rest} {...dataAttr}>\n {icon ? (\n // me- (margin-inline-end) keeps the icon-to-text gap on the correct side under RTL.\n <span aria-hidden=\"true\" className=\"vane-list-item-icon me-(--gap) inline-flex items-center justify-center align-middle h-(--icon-size) min-w-(--icon-size)\">\n {icon}\n </span>\n ) : null}\n {children}\n </ThemedComponent>\n );\n }\n);\n\nListItem.displayName = 'ListItem';\n"],"names":["forwardRef","ListItem","useTheme","jsxs","ThemedComponent","defaultListItemTheme"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { TEXT_ALIGN, LAYOUT_FULL, BREAKPOINT, VISUAL_LAYOUT, PADDING, MARGIN, VARIANT, WIDTH, HEIGHT, COMMON_MODIFIERS } from '../props/categoryBuilders.mjs';
|
|
1
|
+
import { TEXT_ALIGN, FONT_FAMILY, LAYOUT_FULL, BREAKPOINT, VISUAL_LAYOUT, PADDING, MARGIN, VARIANT, WIDTH, HEIGHT, COMMON_MODIFIERS } from '../props/categoryBuilders.mjs';
|
|
2
2
|
|
|
3
3
|
const ALERT_CATEGORIES = [
|
|
4
4
|
...TEXT_ALIGN,
|
|
5
|
+
...FONT_FAMILY,
|
|
5
6
|
...LAYOUT_FULL,
|
|
6
7
|
...BREAKPOINT,
|
|
7
8
|
...VISUAL_LAYOUT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertCategories.mjs","sources":["../../../../../src/components/ui/alert/AlertCategories.ts"],"sourcesContent":["import {\n TEXT_ALIGN,\n LAYOUT_FULL,\n BREAKPOINT,\n VISUAL_LAYOUT,\n PADDING,\n MARGIN,\n VARIANT,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n} from \"../props/categoryBuilders\";\n\n/** Card's list without cursor/focusVisible: an Alert is a surface, never a link. */\nexport const ALERT_CATEGORIES = [\n ...TEXT_ALIGN,\n ...LAYOUT_FULL,\n ...BREAKPOINT,\n ...VISUAL_LAYOUT,\n ...PADDING,\n ...MARGIN,\n ...VARIANT,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n] as const;\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"AlertCategories.mjs","sources":["../../../../../src/components/ui/alert/AlertCategories.ts"],"sourcesContent":["import {\n TEXT_ALIGN,\n FONT_FAMILY,\n LAYOUT_FULL,\n BREAKPOINT,\n VISUAL_LAYOUT,\n PADDING,\n MARGIN,\n VARIANT,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n} from \"../props/categoryBuilders\";\n\n/** Card's list without cursor/focusVisible: an Alert is a surface, never a link. */\nexport const ALERT_CATEGORIES = [\n ...TEXT_ALIGN,\n ...FONT_FAMILY,\n ...LAYOUT_FULL,\n ...BREAKPOINT,\n ...VISUAL_LAYOUT,\n ...PADDING,\n ...MARGIN,\n ...VARIANT,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n] as const;\n"],"names":[],"mappings":";;AAeO,MAAM,gBAAA,GAAmB;AAAA,EAC9B,GAAG,UAAA;AAAA,EACH,GAAG,WAAA;AAAA,EACH,GAAG,WAAA;AAAA,EACH,GAAG,UAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,OAAA;AAAA,EACH,GAAG,MAAA;AAAA,EACH,GAAG,OAAA;AAAA,EACH,GAAG,KAAA;AAAA,EACH,GAAG,MAAA;AAAA,EACH,GAAG;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alertDefaults.mjs","sources":["../../../../../src/components/ui/alert/alertDefaults.ts"],"sourcesContent":["import type { AlertProps } from \"./AlertProps\";\n\n/** Default props for Alert component */\nexport const alertDefaults: Partial<AlertProps> = {\n md: true,\n info: true,\n outline: true,\n rounded: true,\n border: true,\n padding: true,\n gap: true,\n flex: true,\n row: true,\n itemsStart: true,\n wFull: true,\n responsiveSizing: true,\n};\n"],"names":[],"mappings":"AAGO,MAAM,aAAA,GAAqC;AAAA,EAChD,EAAA,EAAI,IAAA;AAAA,EACJ,IAAA,EAAM,IAAA;AAAA,EACN,OAAA,EAAS,IAAA;AAAA,EACT,OAAA,EAAS,IAAA;AAAA,EACT,MAAA,EAAQ,IAAA;AAAA,EACR,OAAA,EAAS,IAAA;AAAA,EACT,GAAA,EAAK,IAAA;AAAA,EACL,IAAA,EAAM,IAAA;AAAA,EACN,GAAA,EAAK,IAAA;AAAA,EACL,UAAA,EAAY,IAAA;AAAA,EACZ,KAAA,EAAO,IAAA;AAAA,EACP,gBAAA,EAAkB;
|
|
1
|
+
{"version":3,"file":"alertDefaults.mjs","sources":["../../../../../src/components/ui/alert/alertDefaults.ts"],"sourcesContent":["import type { AlertProps } from \"./AlertProps\";\n\n/** Default props for Alert component */\nexport const alertDefaults: Partial<AlertProps> = {\n md: true,\n info: true,\n outline: true,\n rounded: true,\n border: true,\n padding: true,\n gap: true,\n flex: true,\n row: true,\n itemsStart: true,\n wFull: true,\n responsiveSizing: true,\n fontSans: true,\n};\n"],"names":[],"mappings":"AAGO,MAAM,aAAA,GAAqC;AAAA,EAChD,EAAA,EAAI,IAAA;AAAA,EACJ,IAAA,EAAM,IAAA;AAAA,EACN,OAAA,EAAS,IAAA;AAAA,EACT,OAAA,EAAS,IAAA;AAAA,EACT,MAAA,EAAQ,IAAA;AAAA,EACR,OAAA,EAAS,IAAA;AAAA,EACT,GAAA,EAAK,IAAA;AAAA,EACL,IAAA,EAAM,IAAA;AAAA,EACN,GAAA,EAAK,IAAA;AAAA,EACL,UAAA,EAAY,IAAA;AAAA,EACZ,KAAA,EAAO,IAAA;AAAA,EACP,gBAAA,EAAkB,IAAA;AAAA,EAClB,QAAA,EAAU;AACZ;;;;"}
|
|
@@ -6,6 +6,7 @@ import '../theme/common/appearanceClassMappers.mjs';
|
|
|
6
6
|
import { ALERT_CATEGORIES } from './AlertCategories.mjs';
|
|
7
7
|
import { alertDefaults } from './alertDefaults.mjs';
|
|
8
8
|
import { BreakpointClassMapper } from '../theme/size/breakpointClassMapper.mjs';
|
|
9
|
+
import { FontFamilyClassMapper } from '../theme/typography/fontFamilyClassMapper.mjs';
|
|
9
10
|
import { TextAlignClassMapper } from '../theme/typography/textAlignClassMapper.mjs';
|
|
10
11
|
|
|
11
12
|
const defaultAlertTheme = new ComponentTheme(
|
|
@@ -18,7 +19,8 @@ const defaultAlertTheme = new ComponentTheme(
|
|
|
18
19
|
breakpoint: new BreakpointClassMapper()
|
|
19
20
|
},
|
|
20
21
|
typography: {
|
|
21
|
-
textAlign: new TextAlignClassMapper()
|
|
22
|
+
textAlign: new TextAlignClassMapper(),
|
|
23
|
+
fontFamily: new FontFamilyClassMapper()
|
|
22
24
|
}
|
|
23
25
|
},
|
|
24
26
|
alertDefaults,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultAlertTheme.mjs","sources":["../../../../../src/components/ui/alert/defaultAlertTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers } from \"../theme/common\";\nimport type { AlertProps } from \"./AlertProps\";\nimport type { AlertTheme } from \"./AlertTheme\";\nimport { ALERT_CATEGORIES } from \"./AlertCategories\";\nimport { alertDefaults } from \"./alertDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { TextAlignClassMapper } from \"../theme/typography\";\n\nexport const defaultAlertTheme = new ComponentTheme<AlertProps, AlertTheme>(\n \"div\",\n \"vane-alert\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n },\n },\n alertDefaults,\n ALERT_CATEGORIES,\n undefined,\n 'layout'\n);\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultAlertTheme.mjs","sources":["../../../../../src/components/ui/alert/defaultAlertTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers } from \"../theme/common\";\nimport type { AlertProps } from \"./AlertProps\";\nimport type { AlertTheme } from \"./AlertTheme\";\nimport { ALERT_CATEGORIES } from \"./AlertCategories\";\nimport { alertDefaults } from \"./alertDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { TextAlignClassMapper, FontFamilyClassMapper } from \"../theme/typography\";\n\nexport const defaultAlertTheme = new ComponentTheme<AlertProps, AlertTheme>(\n \"div\",\n \"vane-alert\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n fontFamily: new FontFamilyClassMapper(),\n },\n },\n alertDefaults,\n ALERT_CATEGORIES,\n undefined,\n 'layout'\n);\n"],"names":[],"mappings":";;;;;;;;;;;AAQO,MAAM,oBAAoB,IAAI,cAAA;AAAA,EACnC,KAAA;AAAA,EACA,YAAA;AAAA,EACA;AAAA,IACE,GAAG,kBAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,GAAG,kBAAA,CAAmB,IAAA;AAAA,MACtB,UAAA,EAAY,IAAI,qBAAA;AAAsB,KACxC;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,IAAI,oBAAA,EAAqB;AAAA,MACpC,UAAA,EAAY,IAAI,qBAAA;AAAsB;AACxC,GACF;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;;;;"}
|
|
@@ -26,7 +26,7 @@ const Button = forwardRef(
|
|
|
26
26
|
);
|
|
27
27
|
return /* @__PURE__ */ jsxs(ThemedComponent, { ref, theme: buttonTheme, ...loadingProps, children: [
|
|
28
28
|
/* @__PURE__ */ jsx(ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children: /* @__PURE__ */ jsx(Spinner, { role: void 0, ...size ? { [size]: true } : {} }) }),
|
|
29
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
29
|
+
/* @__PURE__ */ jsx("span", { className: "vane-button-loading-label", children: resolvedProps.children })
|
|
30
30
|
] });
|
|
31
31
|
}
|
|
32
32
|
return /* @__PURE__ */ jsx(ThemedComponent, { ref, theme: buttonTheme, ...resolvedProps });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.mjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n buttonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n {/* decorative — aria-busy on the button already conveys the loading state,\n so the Spinner's own role=status is suppressed rather than hidden twice */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/*
|
|
1
|
+
{"version":3,"file":"Button.mjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n buttonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n {/* decorative — aria-busy on the button already conveys the loading state,\n so the Spinner's own role=status is suppressed rather than hidden twice */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/* transparent, not hidden: the children keep the button's size and accessible name while loading */}\n <span className=\"vane-button-loading-label\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={buttonTheme} {...resolvedProps} />;\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["Button"],"mappings":"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"}
|
|
@@ -1,26 +1,38 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import React, { forwardRef } from 'react';
|
|
3
|
+
import React, { forwardRef, useRef, useEffect } from 'react';
|
|
4
4
|
import { ThemedComponent } from '../../themedComponent.mjs';
|
|
5
5
|
import { useTheme } from '../../themeContext.mjs';
|
|
6
|
+
import { useMergedRef } from '../../utils/mergedRef.mjs';
|
|
6
7
|
import { CardHeader } from './CardHeader.mjs';
|
|
7
8
|
import { CardBody } from './CardBody.mjs';
|
|
8
9
|
import { CardFooter } from './CardFooter.mjs';
|
|
9
10
|
import { defaultCardTheme } from './defaultCardTheme.mjs';
|
|
10
11
|
|
|
12
|
+
const INTERACTIVE_SELECTOR = 'a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])';
|
|
11
13
|
const Card = forwardRef(
|
|
12
14
|
function Card2({ children, ...props }, ref) {
|
|
13
15
|
const theme = useTheme();
|
|
14
16
|
const cardTheme = theme?.card.main ?? defaultCardTheme;
|
|
17
|
+
const localRef = useRef(null);
|
|
18
|
+
const mergedRef = useMergedRef(ref, localRef);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (process.env.NODE_ENV === "production" || !props.href) return;
|
|
21
|
+
if (localRef.current?.querySelector(INTERACTIVE_SELECTOR)) {
|
|
22
|
+
console.warn(
|
|
23
|
+
"VaneUI: a Card with `href` contains an interactive element (button, link or field). One click would trigger both, and the link's accessible name swallows the card. Render the Card without `href`, put a Link in its title, and keep the controls as siblings."
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
}, [props.href]);
|
|
15
27
|
const childArray = React.Children.toArray(children);
|
|
16
28
|
const isCompoundMode = childArray.some(
|
|
17
29
|
(child) => React.isValidElement(child) && (child.type === CardHeader || child.type === CardBody || child.type === CardFooter)
|
|
18
30
|
);
|
|
19
31
|
const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true } : void 0;
|
|
20
32
|
if (isCompoundMode) {
|
|
21
|
-
return /* @__PURE__ */ jsx(ThemedComponent, { ref, theme: cardTheme, noPadding: true, ...focusInjection, ...props, children });
|
|
33
|
+
return /* @__PURE__ */ jsx(ThemedComponent, { ref: mergedRef, theme: cardTheme, noPadding: true, ...focusInjection, ...props, children });
|
|
22
34
|
}
|
|
23
|
-
return /* @__PURE__ */ jsx(ThemedComponent, { ref, theme: cardTheme, ...focusInjection, ...props, children });
|
|
35
|
+
return /* @__PURE__ */ jsx(ThemedComponent, { ref: mergedRef, theme: cardTheme, ...focusInjection, ...props, children });
|
|
24
36
|
}
|
|
25
37
|
);
|
|
26
38
|
Card.displayName = "Card";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.mjs","sources":["../../../../../src/components/ui/card/Card.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { CardProps } from \"./CardProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { CardHeader } from './CardHeader';\nimport { CardBody } from './CardBody';\nimport { CardFooter } from './CardFooter';\nimport { defaultCardTheme } from \"./defaultCardTheme\";\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n function Card({ children, ...props }, ref) {\n const theme = useTheme();\n const cardTheme = theme?.card.main ?? defaultCardTheme;\n\n // compound mode: sub-components own padding when present in children\n const childArray = React.Children.toArray(children);\n const isCompoundMode = childArray.some(\n child => React.isValidElement(child) &&\n (child.type === CardHeader || child.type === CardBody || child.type === CardFooter)\n );\n\n // Only render a keyboard focus ring when Card tag-switches to <a> (href set).\n // Plain <div> isn't focusable, so the class would be dead. Explicit\n // noFocusVisible from the user wins; both props otherwise resolve to\n // focusVisible (first in category enum), so we must skip injection when\n // noFocusVisible is set.\n const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true as const } : undefined;\n\n if (isCompoundMode) {\n return <ThemedComponent ref={
|
|
1
|
+
{"version":3,"file":"Card.mjs","sources":["../../../../../src/components/ui/card/Card.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\nimport type { CardProps } from \"./CardProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { useMergedRef } from \"../../utils/mergedRef\";\nimport { CardHeader } from './CardHeader';\nimport { CardBody } from './CardBody';\nimport { CardFooter } from './CardFooter';\nimport { defaultCardTheme } from \"./defaultCardTheme\";\n\nconst INTERACTIVE_SELECTOR = 'a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n function Card({ children, ...props }, ref) {\n const theme = useTheme();\n const cardTheme = theme?.card.main ?? defaultCardTheme;\n const localRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergedRef(ref, localRef);\n\n // dev-only: a Card with href is a link, so a nested control is interactive content inside <a>\n useEffect(() => {\n if (process.env.NODE_ENV === 'production' || !props.href) return;\n if (localRef.current?.querySelector(INTERACTIVE_SELECTOR)) {\n console.warn(\n 'VaneUI: a Card with `href` contains an interactive element (button, link or field). One click would trigger both, and the link\\'s accessible name swallows the card. Render the Card without `href`, put a Link in its title, and keep the controls as siblings.'\n );\n }\n }, [props.href]);\n\n // compound mode: sub-components own padding when present in children\n const childArray = React.Children.toArray(children);\n const isCompoundMode = childArray.some(\n child => React.isValidElement(child) &&\n (child.type === CardHeader || child.type === CardBody || child.type === CardFooter)\n );\n\n // Only render a keyboard focus ring when Card tag-switches to <a> (href set).\n // Plain <div> isn't focusable, so the class would be dead. Explicit\n // noFocusVisible from the user wins; both props otherwise resolve to\n // focusVisible (first in category enum), so we must skip injection when\n // noFocusVisible is set.\n const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true as const } : undefined;\n\n if (isCompoundMode) {\n return <ThemedComponent ref={mergedRef} theme={cardTheme} noPadding {...focusInjection} {...props}>{children}</ThemedComponent>;\n }\n\n return <ThemedComponent ref={mergedRef} theme={cardTheme} {...focusInjection} {...props}>{children}</ThemedComponent>;\n }\n);\n\nCard.displayName = 'Card';\n"],"names":["Card"],"mappings":";;;;;;;;;;;AAUA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAK;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtC,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,EAAuB,IAAI,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA;AAG5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,EAAM,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,QAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAG;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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"}
|
|
@@ -2,7 +2,7 @@ import { ComponentTheme } from '../theme/common/ComponentTheme.mjs';
|
|
|
2
2
|
import '../theme/common/interactiveClassMappers.mjs';
|
|
3
3
|
import { layoutClassMappers } from '../theme/common/layoutClassMappers.mjs';
|
|
4
4
|
import '../theme/common/typographyClassMappers.mjs';
|
|
5
|
-
import '../theme/common/appearanceClassMappers.mjs';
|
|
5
|
+
import { focusVisibleAppearance } from '../theme/common/appearanceClassMappers.mjs';
|
|
6
6
|
import { CARD_CATEGORIES } from './CardCategories.mjs';
|
|
7
7
|
import { cardDefaults } from './cardDefaults.mjs';
|
|
8
8
|
import { BreakpointClassMapper } from '../theme/size/breakpointClassMapper.mjs';
|
|
@@ -26,6 +26,11 @@ const defaultCardTheme = new ComponentTheme(
|
|
|
26
26
|
cursor: new CursorClassMapper(),
|
|
27
27
|
focusVisible: new FocusVisibleClassMapper()
|
|
28
28
|
},
|
|
29
|
+
appearance: {
|
|
30
|
+
...layoutClassMappers.appearance,
|
|
31
|
+
// a Card with href shows the appearance's focus color, like Button
|
|
32
|
+
focusVisible: focusVisibleAppearance
|
|
33
|
+
},
|
|
29
34
|
typography: {
|
|
30
35
|
textAlign: new TextAlignClassMapper()
|
|
31
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultCardTheme.mjs","sources":["../../../../../src/components/ui/card/defaultCardTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers } from \"../theme/common\";\nimport type { CardProps } from \"./CardProps\";\nimport type { CardTheme } from \"./CardTheme\";\nimport { CARD_CATEGORIES } from \"./CardCategories\";\nimport { cardDefaults } from \"./cardDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { WidthClassMapper, CursorClassMapper, FocusVisibleClassMapper } from \"../theme/layout\";\nimport { TextAlignClassMapper } from \"../theme/typography\";\n\nexport const defaultCardTheme = new ComponentTheme<CardProps, CardTheme>(\n \"div\",\n \"vane-card\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n layout: {\n ...layoutClassMappers.layout,\n width: new WidthClassMapper(),\n cursor: new CursorClassMapper(),\n focusVisible: new FocusVisibleClassMapper(),\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n },\n },\n cardDefaults,\n CARD_CATEGORIES,\n (props: CardProps) => props.href ? \"a\" : \"div\",\n 'layout'\n);\n"],"names":[],"mappings":";;;;;;;;;;;;;AASO,MAAM,mBAAmB,IAAI,cAAA;AAAA,EAClC,KAAA;AAAA,EACA,WAAA;AAAA,EACA;AAAA,IACE,GAAG,kBAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,GAAG,kBAAA,CAAmB,IAAA;AAAA,MACtB,UAAA,EAAY,IAAI,qBAAA;AAAsB,KACxC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAG,kBAAA,CAAmB,MAAA;AAAA,MACtB,KAAA,EAAO,IAAI,gBAAA,EAAiB;AAAA,MAC5B,MAAA,EAAQ,IAAI,iBAAA,EAAkB;AAAA,MAC9B,YAAA,EAAc,IAAI,uBAAA;AAAwB,KAC5C;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,IAAI,oBAAA;AAAqB;AACtC,GACF;AAAA,EACA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,CAAC,KAAA,KAAqB,KAAA,CAAM,IAAA,GAAO,GAAA,GAAM,KAAA;AAAA,EACzC;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"defaultCardTheme.mjs","sources":["../../../../../src/components/ui/card/defaultCardTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers, focusVisibleAppearance } from \"../theme/common\";\nimport type { CardProps } from \"./CardProps\";\nimport type { CardTheme } from \"./CardTheme\";\nimport { CARD_CATEGORIES } from \"./CardCategories\";\nimport { cardDefaults } from \"./cardDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { WidthClassMapper, CursorClassMapper, FocusVisibleClassMapper } from \"../theme/layout\";\nimport { TextAlignClassMapper } from \"../theme/typography\";\n\nexport const defaultCardTheme = new ComponentTheme<CardProps, CardTheme>(\n \"div\",\n \"vane-card\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n layout: {\n ...layoutClassMappers.layout,\n width: new WidthClassMapper(),\n cursor: new CursorClassMapper(),\n focusVisible: new FocusVisibleClassMapper(),\n },\n appearance: {\n ...layoutClassMappers.appearance,\n // a Card with href shows the appearance's focus color, like Button\n focusVisible: focusVisibleAppearance,\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n },\n },\n cardDefaults,\n CARD_CATEGORIES,\n (props: CardProps) => props.href ? \"a\" : \"div\",\n 'layout'\n);\n"],"names":[],"mappings":";;;;;;;;;;;;;AASO,MAAM,mBAAmB,IAAI,cAAA;AAAA,EAClC,KAAA;AAAA,EACA,WAAA;AAAA,EACA;AAAA,IACE,GAAG,kBAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,GAAG,kBAAA,CAAmB,IAAA;AAAA,MACtB,UAAA,EAAY,IAAI,qBAAA;AAAsB,KACxC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAG,kBAAA,CAAmB,MAAA;AAAA,MACtB,KAAA,EAAO,IAAI,gBAAA,EAAiB;AAAA,MAC5B,MAAA,EAAQ,IAAI,iBAAA,EAAkB;AAAA,MAC9B,YAAA,EAAc,IAAI,uBAAA;AAAwB,KAC5C;AAAA,IACA,UAAA,EAAY;AAAA,MACV,GAAG,kBAAA,CAAmB,UAAA;AAAA;AAAA,MAEtB,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,IAAI,oBAAA;AAAqB;AACtC,GACF;AAAA,EACA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,CAAC,KAAA,KAAqB,KAAA,CAAM,IAAA,GAAO,GAAA,GAAM,KAAA;AAAA,EACzC;AACF;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { forwardRef, useRef, useMemo, useEffect } from 'react';
|
|
3
|
+
import { forwardRef, useRef, useMemo, useCallback, useEffect } from 'react';
|
|
4
4
|
import { useTheme } from '../../themeContext.mjs';
|
|
5
5
|
import { useFieldControlProps } from '../field/FieldContext.mjs';
|
|
6
6
|
import { ThemedComponent } from '../../themedComponent.mjs';
|
|
@@ -57,6 +57,7 @@ const Checkbox = forwardRef(
|
|
|
57
57
|
onChange,
|
|
58
58
|
onBlur,
|
|
59
59
|
onFocus,
|
|
60
|
+
onClick,
|
|
60
61
|
required,
|
|
61
62
|
readOnly,
|
|
62
63
|
id,
|
|
@@ -65,6 +66,10 @@ const Checkbox = forwardRef(
|
|
|
65
66
|
"aria-label": ariaLabel,
|
|
66
67
|
...remainingProps
|
|
67
68
|
} = props;
|
|
69
|
+
const handleClick = useCallback((event) => {
|
|
70
|
+
if (readOnly) event.preventDefault();
|
|
71
|
+
onClick?.(event);
|
|
72
|
+
}, [readOnly, onClick]);
|
|
68
73
|
useEffect(() => {
|
|
69
74
|
if (inputRef.current) {
|
|
70
75
|
inputRef.current.indeterminate = !!indeterminate;
|
|
@@ -90,7 +95,9 @@ const Checkbox = forwardRef(
|
|
|
90
95
|
sharp,
|
|
91
96
|
rounded,
|
|
92
97
|
invalid,
|
|
93
|
-
disabled
|
|
98
|
+
disabled,
|
|
99
|
+
// read-only dims the wrapper like a read-only text field
|
|
100
|
+
readOnly
|
|
94
101
|
};
|
|
95
102
|
const inputProps = {
|
|
96
103
|
type: "checkbox",
|
|
@@ -102,7 +109,7 @@ const Checkbox = forwardRef(
|
|
|
102
109
|
onBlur,
|
|
103
110
|
onFocus,
|
|
104
111
|
required,
|
|
105
|
-
|
|
112
|
+
onClick: handleClick,
|
|
106
113
|
id,
|
|
107
114
|
tabIndex,
|
|
108
115
|
"aria-label": ariaLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.mjs","sources":["../../../../../src/components/ui/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef, useRef, useEffect, useMemo } from 'react';\nimport type { CheckboxProps } from './CheckboxProps';\nimport { useTheme } from \"../../themeContext\";\nimport { useFieldControlProps } from \"../field/FieldContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useLabelSizeContext, withLabelSizeDefault } from \"../label/LabelSizeContext\";\nimport { defaultCheckboxTheme } from \"./defaultCheckboxTheme\";\nimport { defaultCheckboxCheckTheme } from \"./defaultCheckboxCheckTheme\";\nimport { defaultCheckboxIndeterminateTheme } from \"./defaultCheckboxIndeterminateTheme\";\nimport { defaultCheckboxWrapperTheme } from \"./defaultCheckboxWrapperTheme\";\n\nexport const Checkbox = forwardRef<HTMLDivElement, CheckboxProps>(\n function Checkbox(rawProps, ref) {\n const props = useFieldControlProps(rawProps);\n const theme = useTheme();\n const wrapperThemeBase = theme?.checkbox.wrapper ?? defaultCheckboxWrapperTheme;\n const inputThemeBase = theme?.checkbox.input ?? defaultCheckboxTheme;\n const checkTheme = theme?.checkbox.check ?? defaultCheckboxCheckTheme;\n const indeterminateTheme = theme?.checkbox.indeterminate ?? defaultCheckboxIndeterminateTheme;\n const inputRef = useRef<HTMLInputElement>(null);\n\n // inside a Label, the Label's resolved size becomes the size default for\n // the sized sub-themes (wrapper + input; check/indeterminate have no size\n // category — they scale via CSS variables). Explicit size props still win.\n const labelSize = useLabelSizeContext();\n const wrapperTheme = useMemo(\n () => withLabelSizeDefault(wrapperThemeBase, labelSize),\n [wrapperThemeBase, labelSize]\n );\n const checkboxInputTheme = useMemo(\n () => withLabelSizeDefault(inputThemeBase, labelSize),\n [inputThemeBase, labelSize]\n );\n\n const {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n indeterminate,\n checked, defaultChecked, disabled, name, value, onChange, onBlur, onFocus, required, readOnly,\n id, className, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps\n } = props;\n\n // indeterminate can only be set via JS, not as an HTML attribute\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = !!indeterminate;\n }\n }, [indeterminate]);\n\n const themeProps = {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n disabled,\n };\n\n const inputProps = {\n type: \"checkbox\" as const,\n checked, defaultChecked, name, value, onChange, onBlur, onFocus, required, readOnly,\n id, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps,\n ...themeProps\n };\n\n return (\n <ThemedComponent theme={wrapperTheme} ref={ref} className={className} {...themeProps}>\n <ThemedComponent theme={checkboxInputTheme} ref={inputRef} {...inputProps} />\n {/* decorative overlays — the real state lives on the <input>; hide them from AT */}\n <ThemedComponent theme={checkTheme} aria-hidden=\"true\">\n {checkTheme.themes.checkElement()}\n </ThemedComponent>\n <ThemedComponent theme={indeterminateTheme} aria-hidden=\"true\">\n {indeterminateTheme.themes.indeterminateElement()}\n </ThemedComponent>\n </ThemedComponent>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n"],"names":["Checkbox"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkbox.mjs","sources":["../../../../../src/components/ui/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef, useRef, useEffect, useMemo, useCallback, type MouseEvent } from 'react';\nimport type { CheckboxProps } from './CheckboxProps';\nimport { useTheme } from \"../../themeContext\";\nimport { useFieldControlProps } from \"../field/FieldContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useLabelSizeContext, withLabelSizeDefault } from \"../label/LabelSizeContext\";\nimport { defaultCheckboxTheme } from \"./defaultCheckboxTheme\";\nimport { defaultCheckboxCheckTheme } from \"./defaultCheckboxCheckTheme\";\nimport { defaultCheckboxIndeterminateTheme } from \"./defaultCheckboxIndeterminateTheme\";\nimport { defaultCheckboxWrapperTheme } from \"./defaultCheckboxWrapperTheme\";\n\nexport const Checkbox = forwardRef<HTMLDivElement, CheckboxProps>(\n function Checkbox(rawProps, ref) {\n const props = useFieldControlProps(rawProps);\n const theme = useTheme();\n const wrapperThemeBase = theme?.checkbox.wrapper ?? defaultCheckboxWrapperTheme;\n const inputThemeBase = theme?.checkbox.input ?? defaultCheckboxTheme;\n const checkTheme = theme?.checkbox.check ?? defaultCheckboxCheckTheme;\n const indeterminateTheme = theme?.checkbox.indeterminate ?? defaultCheckboxIndeterminateTheme;\n const inputRef = useRef<HTMLInputElement>(null);\n\n // inside a Label, the Label's resolved size becomes the size default for\n // the sized sub-themes (wrapper + input; check/indeterminate have no size\n // category — they scale via CSS variables). Explicit size props still win.\n const labelSize = useLabelSizeContext();\n const wrapperTheme = useMemo(\n () => withLabelSizeDefault(wrapperThemeBase, labelSize),\n [wrapperThemeBase, labelSize]\n );\n const checkboxInputTheme = useMemo(\n () => withLabelSizeDefault(inputThemeBase, labelSize),\n [inputThemeBase, labelSize]\n );\n\n const {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n indeterminate,\n checked, defaultChecked, disabled, name, value, onChange, onBlur, onFocus, onClick, required, readOnly,\n id, className, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps\n } = props;\n\n // native readOnly is inert on checkbox inputs — cancel activation so aria-readonly stays truthful\n const handleClick = useCallback((event: MouseEvent<HTMLInputElement>) => {\n if (readOnly) event.preventDefault();\n onClick?.(event);\n }, [readOnly, onClick]);\n\n // indeterminate can only be set via JS, not as an HTML attribute\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = !!indeterminate;\n }\n }, [indeterminate]);\n\n const themeProps = {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n disabled,\n // read-only dims the wrapper like a read-only text field\n readOnly,\n };\n\n const inputProps = {\n type: \"checkbox\" as const,\n checked, defaultChecked, name, value, onChange, onBlur, onFocus, required,\n onClick: handleClick,\n id, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps,\n ...themeProps\n };\n\n return (\n <ThemedComponent theme={wrapperTheme} ref={ref} className={className} {...themeProps}>\n <ThemedComponent theme={checkboxInputTheme} ref={inputRef} {...inputProps} />\n {/* decorative overlays — the real state lives on the <input>; hide them from AT */}\n <ThemedComponent theme={checkTheme} aria-hidden=\"true\">\n {checkTheme.themes.checkElement()}\n </ThemedComponent>\n <ThemedComponent theme={indeterminateTheme} aria-hidden=\"true\">\n {indeterminateTheme.themes.indeterminateElement()}\n </ThemedComponent>\n </ThemedComponent>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n"],"names":["Checkbox"],"mappings":"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"}
|