Skip to content

Commit

Permalink
Improved styles.
Browse files Browse the repository at this point in the history
  • Loading branch information
itsJohnnyGrid committed Jan 28, 2025
1 parent 7815d0b commit 8d1e003
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 18 deletions.
31 changes: 16 additions & 15 deletions src/ui.button-toggle-item/UToggleItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,13 @@ type ButtonSize = "2xs" | "xs" | "sm" | "md" | "lg" | "xl";
defineOptions({ inheritAttrs: false });
const props = withDefaults(defineProps<Props>(), {
...getDefaults<Props, Config>(defaultConfig, COMPONENT_NAME),
modelValue: "",
label: "",
});
const emit = defineEmits([
/**
* Triggers when new value is set.
* @property {string} modelValue
*/
"update:modelValue",
]);
const getToggleName = inject<() => string>("getToggleName", () => "toggle");
const getToggleType = inject<() => string>("getToggleType", () => TYPE_RADIO);
const getToggleSize = inject<() => ButtonSize>("getToggleSize", () => "md" as ButtonSize);
const getToggleRound = inject<() => boolean>("getToggleRound", () => false);
const getToggleBlock = inject<() => boolean>("getToggleBlock", () => false);
const getToggleSquare = inject<() => boolean>("getToggleSquare", () => false);
const getToggleSplit = inject<() => boolean>("getToggleSplit", () => true);
const getToggleSplit = inject<() => boolean>("getToggleSplit", () => false);
const getToggleDisabled = inject<() => boolean>(
"getToggleDisabled",
Expand All @@ -49,6 +35,20 @@ const { selectedValue, updateSelectedValue } = inject<ToggleContextType>("toggle
updateSelectedValue: () => {},
});
const props = withDefaults(defineProps<Props>(), {
...getDefaults<Props, Config>(defaultConfig, COMPONENT_NAME),
modelValue: "",
label: "",
});
const emit = defineEmits([
/**
* Triggers when new value is set.
* @property {string} modelValue
*/
"update:modelValue",
]);
const elementId = props.id || useId();
const selectedItem = ref<string | boolean>("");
Expand Down Expand Up @@ -86,6 +86,7 @@ function onClickSetValue() {
* Applies: `class`, `config`, redefined default `props` and dev `vl-...` attributes.
*/
const mutatedProps = computed(() => ({
split: getToggleSplit(),
/* component state, not a props */
selected: isSelected.value,
}));
Expand Down
22 changes: 21 additions & 1 deletion src/ui.button-toggle-item/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,29 @@ export default /*tw*/ {
variant: "thirdary",
},
},
toggleButtonInactive: "{>toggleButton}",
toggleButtonInactive: {
base: "{>toggleButton}",
variants: {
split: {
false: "border-0",
true: `
border border-gray-300 hover:border-gray-400
hover:bg-transparent dark:hover:bg-transparent
active:bg-transparent dark:active:bg-transparent
`,
},
},
},
toggleButtonActive: {
base: "{>toggleButton}",
variants: {
split: {
false: "border-0",
true: `
border border-brand-600
`,
},
},
defaults: {
color: "brand",
filled: true,
Expand Down
12 changes: 10 additions & 2 deletions src/ui.button-toggle/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,19 @@ export default /*tw*/ {
},
},
items: {
base: "flex gap-1",
base: "flex",
variants: {
size: {
"2xs": "gap-1.5",
xs: "gap-1.5",
sm: "gap-2",
md: "gap-2",
lg: "gap-2.5",
xl: "gap-2.5",
},
split: {
true: "flex-wrap",
false: "flex-nowrap p-1 w-fit border rounded-dynamic border-gray-300",
false: "flex-nowrap gap-1 p-1 w-fit border rounded-dynamic border-gray-300",
},
disabled: {
true: "pointer-events-none",
Expand Down

0 comments on commit 8d1e003

Please sign in to comment.