diff --git a/CHANGELOG.md b/CHANGELOG.md index 998b548f..d0d91087 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,26 @@ +## 0.24.0 (April 4, 2024) + +### Features + +- [FDebugMenu] Add `input` type for menu items +- [FDebugMenu] Add `select` type for menu items + +### Changes + +- [FDebugMenu] Explicitly store data in local storage if a key is set in config +- [Storybook] Bump Node version to 18.17.1 for Storybook build (github.io page) + ## 0.23.3 (March 20, 2024) ### Fixes -- [Lib] Add `types` for all icon paths +- [Lib] Add `types` for all icon paths ## 0.23.2 (March 20, 2024) ### Fixes -- [Lib] Add `types` for all export paths +- [Lib] Add `types` for all export paths ## 0.23.1 (February 13, 2024) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index c71c76ec..abf609f9 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -1,5 +1 @@ # Changelog Unreleased - -### Changes - -- [Storybook] Bump Node version to 18.17.1 for Storybook build (github.io page) diff --git a/package.json b/package.json index af47be6b..5d0621bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fifteen/design-system-vue", - "version": "0.23.3", + "version": "0.24.0", "description": "Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System", "repository": { "type": "git", @@ -121,7 +121,7 @@ "@typescript-eslint/parser": "^6.19.0", "@typescript-eslint/typescript-estree": "^6.19.0", "@vitejs/plugin-vue": "^2.3.3", - "@volar/vue-language-plugin-pug": "^1.6.5", + "@vue/language-plugin-pug": "^2.0.12", "@vue/tsconfig": "^0.4.0", "babel-loader": "^8.2.5", "camelcase": "^6.3.0", diff --git a/src/components/FButton.vue b/src/components/FButton.vue index ed191496..2123725a 100644 --- a/src/components/FButton.vue +++ b/src/components/FButton.vue @@ -74,8 +74,9 @@ square($size) .FLink__content color var(--fbutton--text-color) - path - fill var(--fbutton--text-color) + .FIcon__content + path + fill var(--fbutton--text-color) &.FButton--ghost, &.FButton--outlined @@ -93,8 +94,9 @@ square($size) .FLink__content color var(--fbutton--text-color--hover) - path - fill var(--fbutton--text-color--hover) + .FIcon__content + path + fill var(--fbutton--text-color--hover) &.FButton--outlined box-shadow 0 0 0 rem(2) var(--fbutton--outline-color) inset diff --git a/src/components/FExpandable.vue b/src/components/FExpandable.vue index a24d0b63..0ed0dab3 100644 --- a/src/components/FExpandable.vue +++ b/src/components/FExpandable.vue @@ -22,7 +22,7 @@ @@ -386,11 +389,18 @@ function getValueLabel(value: string): string | undefined { function handleIconClick(event: Event): void { if (props.clearable && isMenuOpen.value && fieldValue.value) { event.stopPropagation(); - fieldValue.value = null; - emit('clear'); + clear(); } } +/** + * Clear selection + */ +function clear(): void { + fieldValue.value = null; + emit('clear'); +} + /** * Handle select blur */ diff --git a/src/ui/FDebugMenu.vue b/src/ui/FDebugMenu.vue index 7070de72..4c3036b9 100644 --- a/src/ui/FDebugMenu.vue +++ b/src/ui/FDebugMenu.vue @@ -44,7 +44,7 @@ FPopup.FDebugMenu( @click="isOpen = false" ) FIcon(name="close") - transition(name="FDebugMenu__message--transition") + Transition(name="FDebugMenu__message--transition") .FDebugMenu__message( v-if="message" :class="{ 'FDebugMenu__message--error': hasError }" @@ -67,6 +67,7 @@ FPopup.FDebugMenu( :title-vertical-padding="8" :gap="8" :text-hover-color="controlColor" + no-isolation ) template(#title) h6 {{ group.title }} @@ -84,8 +85,7 @@ FPopup.FDebugMenu( template(v-if="item.type === 'trigger'") FButton( :key="`${groupIndex}-${itemIndex}`" - :disabled="item.disabled" - size="tiny" + :disabled="getValue(item.disabled)" :color="controlColor" :hover-color="`${controlColor}--light-1`" :loading="itemLoadingKey === `${groupIndex}-${itemIndex}`" @@ -95,12 +95,45 @@ FPopup.FDebugMenu( FCheckbox( :key="`${groupIndex}-${itemIndex}`" :model-value="item.ref.value" - :disabled="item.disabled" - size="tiny" + :disabled="getValue(item.disabled)" :hover-border-color="`${controlColor}--light-1`" :checked-border-color="`${controlColor}--light-1`" :checked-color="controlColor" - @update:model-value="updateToggleRef($event, item, `${groupIndex}-${itemIndex}`)" + @update:model-value="updateToggleRef($event, item)" + @click.stop + ) + template(v-if="item.type === 'input'") + FInput( + :key="`${groupIndex}-${itemIndex}`" + :style="getInputStyle(item)" + :model-value="item.ref.value" + :disabled="getValue(item.disabled)" + :hover-border-color="`${controlColor}--light-1`" + :checked-border-color="`${controlColor}--light-1`" + :placeholder="getValue(item.placeholder, '')" + :outline-color="controlColor" + :focus-color="`${controlColor}--light-2`" + :color="`${controlColor}--light-2`" + @change="updateInputRef($event, item)" + @click.stop + ) + template(v-if="item.type === 'select'") + FSelect( + :key="`${groupIndex}-${itemIndex}`" + :style="getInputStyle(item)" + :model-value="item.ref.value" + :disabled="getValue(item.disabled)" + :hover-border-color="`${controlColor}--light-1`" + :checked-border-color="`${controlColor}--light-1`" + :options-menu-color="`${controlColor}--light-2`" + :placeholder="getValue(item.placeholder, '')" + :outline-color="controlColor" + :focus-color="`${controlColor}--light-2`" + :color="`${controlColor}--light-2`" + :options="getValue(item.options)" + :clearable="getValue(item.clearable)" + size="small" + @update:model-value="updateInputRef($event, item)" @click.stop ) template(v-if="item.type === 'content'") @@ -272,34 +305,54 @@ scroll-theme() .FCheckbox margin 0 - .FCheckbox__labelText + &__labelText + margin 0 + + .FInput + margin 0 + height 2.5rem + width var(--FDebugMenu--inputWidth) + + &__input input + font-size rem(14) + + .FSelect margin 0