vueless 1.2.8 → 1.2.10-beta.0
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/constants.d.ts +4 -0
- package/constants.js +4 -0
- package/icons/storybook/rocket_launch.svg +1 -0
- package/index.d.ts +3 -1
- package/index.ts +3 -1
- package/package.json +9 -5
- package/plugin-vite.js +6 -1
- package/types.ts +14 -2
- package/ui.button/config.ts +4 -4
- package/ui.button/tests/UButton.test.ts +3 -3
- package/ui.button-toggle/config.ts +2 -2
- package/ui.container-accordion/UAccordion.vue +0 -1
- package/ui.container-accordion/config.ts +1 -1
- package/ui.container-accordion/storybook/stories.ts +13 -1
- package/ui.container-accordion-item/UAccordionItem.vue +17 -4
- package/ui.container-accordion-item/config.ts +1 -1
- package/ui.container-accordion-item/storybook/stories.ts +26 -1
- package/ui.container-accordion-item/tests/UAccordionItem.test.ts +186 -0
- package/ui.container-card/config.ts +1 -1
- package/ui.data-table/config.ts +4 -4
- package/ui.dropdown-badge/UDropdownBadge.vue +68 -3
- package/ui.dropdown-badge/config.ts +5 -1
- package/ui.dropdown-badge/storybook/stories.ts +280 -4
- package/ui.dropdown-badge/tests/UDropdownBadge.test.ts +194 -0
- package/ui.dropdown-badge/types.ts +30 -0
- package/ui.dropdown-button/UDropdownButton.vue +69 -6
- package/ui.dropdown-button/config.ts +5 -1
- package/ui.dropdown-button/storybook/stories.ts +288 -3
- package/ui.dropdown-button/tests/UDropdownButton.test.ts +190 -0
- package/ui.dropdown-button/types.ts +30 -0
- package/ui.dropdown-link/UDropdownLink.vue +69 -6
- package/ui.dropdown-link/config.ts +5 -1
- package/ui.dropdown-link/storybook/stories.ts +281 -4
- package/ui.dropdown-link/tests/UDropdownLink.test.ts +194 -0
- package/ui.dropdown-link/types.ts +30 -0
- package/ui.form-calendar/config.ts +4 -2
- package/ui.form-checkbox/config.ts +1 -1
- package/ui.form-checkbox/tests/UCheckbox.test.ts +2 -2
- package/ui.form-checkbox-group/tests/UCheckboxGroup.test.ts +2 -2
- package/ui.form-date-picker-range/config.ts +1 -1
- package/ui.form-input/UInput.vue +4 -2
- package/ui.form-input/config.ts +1 -1
- package/ui.form-input/tests/UInput.test.ts +2 -2
- package/ui.form-input-counter/UInputCounter.vue +25 -1
- package/ui.form-input-counter/config.ts +7 -2
- package/ui.form-input-counter/tests/UInputCounter.test.ts +85 -1
- package/ui.form-input-counter/types.ts +25 -0
- package/ui.form-input-file/tests/UInputFile.test.ts +2 -2
- package/ui.form-input-number/UInputNumber.vue +15 -3
- package/ui.form-input-number/utilFormat.ts +17 -7
- package/ui.form-input-password/UInputPassword.vue +23 -1
- package/ui.form-label/ULabel.vue +10 -4
- package/ui.form-label/tests/ULabel.test.ts +29 -12
- package/ui.form-listbox/UListbox.vue +21 -9
- package/ui.form-listbox/config.ts +1 -1
- package/ui.form-listbox/storybook/stories.ts +188 -1
- package/ui.form-listbox/tests/UListbox.test.ts +36 -0
- package/ui.form-listbox/types.ts +5 -0
- package/ui.form-radio/config.ts +1 -1
- package/ui.form-radio/tests/URadio.test.ts +2 -2
- package/ui.form-radio-group/tests/URadioGroup.test.ts +2 -2
- package/ui.form-select/USelect.vue +20 -2
- package/ui.form-select/config.ts +2 -1
- package/ui.form-select/storybook/stories.ts +31 -4
- package/ui.form-select/tests/USelect.test.ts +143 -0
- package/ui.form-select/types.ts +10 -0
- package/ui.form-textarea/config.ts +1 -1
- package/ui.form-textarea/tests/UTextarea.test.ts +2 -2
- package/ui.text-alert/config.ts +1 -1
- package/ui.text-badge/config.ts +1 -1
- package/utils/helper.ts +4 -0
- package/utils/node/dynamicProps.d.ts +5 -2
- package/utils/node/dynamicProps.js +126 -53
- package/utils/node/helper.d.ts +10 -7
- package/utils/node/helper.js +59 -2
- package/utils/node/tailwindSafelist.js +9 -2
- package/utils/theme.ts +75 -31
- package/utils/ui.ts +32 -3
package/utils/ui.ts
CHANGED
|
@@ -7,7 +7,13 @@ import { createGetMergedConfig } from "./node/mergeConfigs";
|
|
|
7
7
|
import { COMPONENT_NAME as U_ICON } from "../ui.image-icon/constants";
|
|
8
8
|
import { ICON_NON_PROPS_DEFAULTS, TAILWIND_MERGE_EXTENSION } from "../constants";
|
|
9
9
|
|
|
10
|
-
import type {
|
|
10
|
+
import type {
|
|
11
|
+
Config,
|
|
12
|
+
UnknownObject,
|
|
13
|
+
ComponentNames,
|
|
14
|
+
ComponentDefaults,
|
|
15
|
+
ComponentCustomProps,
|
|
16
|
+
} from "../types";
|
|
11
17
|
|
|
12
18
|
interface MergedConfigOptions {
|
|
13
19
|
defaultConfig: unknown;
|
|
@@ -87,10 +93,14 @@ export const cva = ({ base = "", variants = {}, compoundVariants = [], defaultVa
|
|
|
87
93
|
* Return default values for component props, icons, etc..
|
|
88
94
|
*/
|
|
89
95
|
export function getDefaults<Props, Config>(defaultConfig: Config, name: ComponentNames) {
|
|
90
|
-
const componentDefaults = (defaultConfig as UnknownObject).defaults || {};
|
|
96
|
+
const componentDefaults = (defaultConfig as Config & UnknownObject).defaults || {};
|
|
91
97
|
const globalDefaults = vuelessConfig.components?.[name]?.defaults || {};
|
|
92
98
|
|
|
93
|
-
const
|
|
99
|
+
const customProps = vuelessConfig.components?.[name]?.props as ComponentCustomProps;
|
|
100
|
+
const customPropsDefaults = getCustomPropsDefaults(customProps) || {};
|
|
101
|
+
|
|
102
|
+
const defaults = merge({}, componentDefaults, globalDefaults, customPropsDefaults) as Props &
|
|
103
|
+
ComponentDefaults;
|
|
94
104
|
|
|
95
105
|
/* Remove non a props defaults. */
|
|
96
106
|
for (const key in defaults) {
|
|
@@ -116,3 +126,22 @@ export function getDefaults<Props, Config>(defaultConfig: Config, name: Componen
|
|
|
116
126
|
export function setColor(classes: string, color: string) {
|
|
117
127
|
return classes?.replace(/{color}/g, color);
|
|
118
128
|
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Retrieves the default values from the provided component custom properties.
|
|
132
|
+
*/
|
|
133
|
+
export function getCustomPropsDefaults(props: ComponentCustomProps) {
|
|
134
|
+
const customPropsDefaults: ComponentDefaults = {};
|
|
135
|
+
|
|
136
|
+
if (!props) {
|
|
137
|
+
return customPropsDefaults;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
for (const [key, value] of Object.entries(props)) {
|
|
141
|
+
if (value.default) {
|
|
142
|
+
customPropsDefaults[key] = value.default;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return customPropsDefaults;
|
|
147
|
+
}
|