From 46367baa7c335b1b2d215c5cbf5eff7c6906aa23 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Mon, 29 Nov 2021 17:42:48 +0100 Subject: [PATCH] chore: update components --- docs/app.vue | 4 +- docs/pages/components/[component].vue | 56 ++++++++++++++- src/components/elements/Avatar.vue | 7 ++ src/components/elements/AvatarGroup.vue | 20 +++--- src/components/elements/Dropdown.vue | 2 +- src/components/feedback/Alert.vue | 8 +-- src/components/{elements => forms}/Toggle.vue | 2 +- src/components/forms/ToggleGroup.vue | 70 +++++++++++++++++++ 8 files changed, 150 insertions(+), 19 deletions(-) rename src/components/{elements => forms}/Toggle.vue (97%) create mode 100644 src/components/forms/ToggleGroup.vue diff --git a/docs/app.vue b/docs/app.vue index cd56f28a..70166e3a 100644 --- a/docs/app.vue +++ b/docs/app.vue @@ -56,9 +56,9 @@ import { UseDark } from '@vueuse/components' const sections = [ { label: 'Getting Started', links: [{ label: 'Usage', to: '/' }, { label: 'Examples', to: '/examples' }, { label: 'Migration', to: '/migration' }, { label: 'Dark mode', to: '/dark' }] }, - { label: 'Elements', links: [{ label: 'Avatar', to: '/components/Avatar' }, { label: 'AvatarGroup', to: '/components/AvatarGroup' }, { label: 'Badge', to: '/components/Badge' }, { label: 'Button', to: '/components/Button' }, { label: 'Dropdown', to: '/components/Dropdown' }, { label: 'Icon', to: '/components/Icon' }, { label: 'Link', to: '/components/Link' }, { label: 'Toggle', to: '/components/Toggle' }] }, + { label: 'Elements', links: [{ label: 'Avatar', to: '/components/Avatar' }, { label: 'AvatarGroup', to: '/components/AvatarGroup' }, { label: 'Badge', to: '/components/Badge' }, { label: 'Button', to: '/components/Button' }, { label: 'Dropdown', to: '/components/Dropdown' }, { label: 'Icon', to: '/components/Icon' }, { label: 'Link', to: '/components/Link' }] }, { label: 'Feedback', links: [{ label: 'Alert', to: '/components/Alert' }] }, - { label: 'Forms', links: [{ label: 'Checkbox', to: '/components/Checkbox' }, { label: 'Input', to: '/components/Input' }, { label: 'InputGroup', to: '/components/InputGroup' }, { label: 'Radio', to: '/components/Radio' }, { label: 'RadioGroup', to: '/components/RadioGroup' }, { label: 'Select', to: '/components/Select' }, { label: 'SelectCustom', to: '/components/SelectCustom' }, { label: 'Textarea', to: '/components/Textarea' }] }, + { label: 'Forms', links: [{ label: 'Checkbox', to: '/components/Checkbox' }, { label: 'Input', to: '/components/Input' }, { label: 'InputGroup', to: '/components/InputGroup' }, { label: 'Radio', to: '/components/Radio' }, { label: 'RadioGroup', to: '/components/RadioGroup' }, { label: 'Select', to: '/components/Select' }, { label: 'SelectCustom', to: '/components/SelectCustom' }, { label: 'Textarea', to: '/components/Textarea' }, { label: 'Toggle', to: '/components/Toggle' }, { label: 'ToggleGroup', to: '/components/ToggleGroup' }] }, { label: 'Layout', links: [{ label: 'Card', to: '/components/Card' }, { label: 'Container', to: '/components/Container' }] }, { label: 'Navigation', links: [{ label: 'Pills', to: '/components/Pills' }, { label: 'Tabs', to: '/components/Tabs' }, { label: 'VerticalNavigation', to: '/components/VerticalNavigation' }] }, { label: 'Overlays', links: [{ label: 'Modal', to: '/components/Modal' }, { label: 'Notification', to: '/components/Notification' }, { label: 'Popover', to: '/components/Popover' }, { label: 'Slideover', to: '/components/Slideover' }, { label: 'Tooltip', to: '/components/Tooltip' }] } diff --git a/docs/pages/components/[component].vue b/docs/pages/components/[component].vue index 26cd7584..baf1aa72 100644 --- a/docs/pages/components/[component].vue +++ b/docs/pages/components/[component].vue @@ -6,7 +6,8 @@ @@ -63,10 +66,57 @@ const is = `U${params.component}` const component = nuxtApp.vueApp.component(is) +const defaultProps = { + Button: { + label: 'Button text' + }, + Badge: { + label: 'Badge' + }, + Alert: { + title: 'A new software update is available. See what’s new in version 2.0.4.' + }, + Avatar: { + src: 'https://picsum.photos/200/300' + }, + AvatarGroup: { + group: ['https://images.unsplash.com/photo-1491528323818-fdd1faba62cc?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', 'https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2.25&w=256&h=256&q=80', 'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80'] + }, + Dropdown: { + items: [ + [{ + label: 'Edit', + icon: 'heroicons-solid:pencil' + }, { + label: 'Duplicate', + icon: 'heroicons-solid:duplicate' + }], + [{ + label: 'Archive', + icon: 'heroicons-solid:archive' + }, { + label: 'Move', + icon: 'heroicons-solid:external-link' + }], + [{ + label: 'Delete', + icon: 'heroicons-solid:trash' + }] + ] + }, + Icon: { + name: 'heroicons-outline:bell' + }, + Select: { + options: ['English', 'Spanish', 'French', 'German', 'Chinese'] + } +} + const { props: componentProps } = await component.__asyncLoader() const refProps = Object.entries(componentProps).map(([key, prop]) => { - let value = typeof prop.default === 'function' ? prop.default() : prop.default + const defaultValue = (defaultProps[params.component] || {})[key] + let value = defaultValue || (typeof prop.default === 'function' ? prop.default() : prop.default) let type = prop.type if (Array.isArray(type)) { type = type[0].name diff --git a/src/components/elements/Avatar.vue b/src/components/elements/Avatar.vue index 55e00cd3..c8f0625a 100644 --- a/src/components/elements/Avatar.vue +++ b/src/components/elements/Avatar.vue @@ -7,6 +7,9 @@ v-else-if="placeholder" class="font-medium leading-none u-text-gray-900 uppercase" >{{ placeholder }} + {{ text }}
@@ -18,7 +18,7 @@ diff --git a/src/components/elements/Dropdown.vue b/src/components/elements/Dropdown.vue index 32847133..4957bdf1 100644 --- a/src/components/elements/Dropdown.vue +++ b/src/components/elements/Dropdown.vue @@ -2,7 +2,7 @@ - Open + diff --git a/src/components/feedback/Alert.vue b/src/components/feedback/Alert.vue index 828b2b8b..0c734aa1 100644 --- a/src/components/feedback/Alert.vue +++ b/src/components/feedback/Alert.vue @@ -53,10 +53,10 @@ export default { computed: { iconName () { return ({ - info: 'solid/information-circle', - warning: 'solid/exclamation', - error: 'solid/x-circle', - success: 'solid/check-circle' + info: 'heroicons-solid:information-circle', + warning: 'heroicons-solid:exclamation', + error: 'heroicons-solid:x-circle', + success: 'heroicons-solid:check-circle' })[this.variant] }, variantClass () { diff --git a/src/components/elements/Toggle.vue b/src/components/forms/Toggle.vue similarity index 97% rename from src/components/elements/Toggle.vue rename to src/components/forms/Toggle.vue index ffec27a0..d4056265 100644 --- a/src/components/elements/Toggle.vue +++ b/src/components/forms/Toggle.vue @@ -16,7 +16,7 @@