@fastkit/vui 0.19.48 → 0.19.50

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/dist/vui.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/schemes/control.ts","../src/injections.ts","../src/composables/control.ts","../src/components/VIcon/VIcon.tsx","../src/components/VMenu/VMenu.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VFormControl/VFormControl.tsx","../src/components/loading.ts","../src/composables/form-selector.tsx","../src/composables/elevation.ts","../src/components/index.ts","../src/components/VDialog/VDialog.tsx","../src/components/VSnackbar/VSnackbar.tsx","../src/components/VSheetModal/VSheetModal.tsx","../src/components/VSkeltonLoader/VSkeltonLoaderBone.tsx","../src/components/VBusyImage/VBusyImage.tsx","../src/components/VGrid/schemes.ts","../src/components/VGrid/VGridItem.tsx","../src/components/VGrid/VGridContainer.tsx","../src/components/VPaper/VPaper.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VChip/VChip.tsx","../src/components/VCard/VCard.tsx","../src/components/VCard/VCardContent.tsx","../src/components/VCard/VCardActions.tsx","../src/components/VButton/VButton.tsx","../src/components/VButton/VButtonGroup.tsx","../src/components/VPagination/VPagination.tsx","../src/components/VListTile/VListTile.tsx","../src/components/VDrawerLayout/VDrawerLayout.tsx","../src/components/VHero/VHero.tsx","../src/components/VNavigation/VNavigationItem.tsx","../src/components/VNavigation/VNavigation.tsx","../src/components/VControlField/VControlField.tsx","../src/components/VTextCounter/VTextCounter.tsx","../src/components/VCheckable/VCheckable.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VCheckboxGroup/VCheckboxGroup.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSwitchGroup/VSwitchGroup.tsx","../src/components/VOption/VOption.tsx","../src/components/VOptionGroup/VOptionGroup.tsx","../src/components/VSelect/VSelect.tsx","../src/components/VTextField/VTextField.tsx","../src/components/VNumberField/VNumberField.tsx","../src/components/VTextarea/VTextarea.tsx","../src/components/VFormGroup/VFormGroup.tsx","../src/components/VForm/VForm.tsx","../src/components/VTabs/VTab.tsx","../src/components/VTabs/VTabs.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VContentSwitcher/VContentSwitcher.tsx","../src/components/VDataTable/VDataTable.tsx","../src/components/VApp/VApp.tsx","../src/components/VToolbar/VToolbar.tsx","../src/components/VToolbar/VToolbarMenu.tsx","../src/components/VToolbar/VToolbarEdge.tsx","../src/components/VToolbar/VToolbarTitle.tsx","../src/service.tsx","../src/plugin.tsx"],"names":["VAction","props","inject","computed","provide","_createVNode","_mergeProps","createPropsOptions","defineComponent","hinttipDelay","slots","defineSlots","emits","_Fragment","colorProps","colorSchemeProps","useColorClasses","createStackActionProps","useStackAction","actionableInheritProps","useActionable","renderSlotOrEmpty","_isVNode","ref","useScopeColorClass","classes","_createTextVNode","watch","width","isActive","_isSlot","match","to","_withDirectives","_vShow","resolveVNodeChildOrSlots","createFormSelectorItemSettings","useFormSelectorItemControl","createFormSelectorSettings","createFormNodeWrapperProps","useFormSelectorControl","ev","_vModelSelect","inputmode","RouterLink","isPromise","scroller","onMounted","onBeforeUnmount","onBeforeUpdate","children","rowSettings","isVNode","toScopeColorClass","Transition","withDirectives","resizeDirectiveArgument","getDocumentScroller","key","opts"],"mappings":"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","file":"vui.mjs","sourcesContent":["import './styles/index.scss';\n\nexport * from '@fastkit/helpers';\nexport * from '@fastkit/icon-font';\nexport * from '@fastkit/media-match';\nexport * from '@fastkit/vue-media-match';\nexport * from '@fastkit/vue-keyboard';\nexport * from '@fastkit/vue-transitions';\nexport * from '@fastkit/vue-location';\nexport * from '@fastkit/rules';\nexport * from '@fastkit/vue-body-scroll-lock';\nexport * from '@fastkit/vue-click-outside';\nexport * from '@fastkit/vue-app-layout';\nexport * from '@fastkit/vue-color-scheme';\nexport * from '@fastkit/vue-form-control';\nexport * from '@fastkit/vue-scroller';\nexport * from '@fastkit/vue-stack';\nexport * from '@fastkit/vue-action';\nexport * from '@fastkit/vue-utils';\nexport * from '@fastkit/vue-loading';\n\n// @MEMO Alias export\nexport { VAction as VLink } from '@fastkit/vue-action';\n\nexport * from './schemes';\nexport * from './composables';\nexport * from './components';\nexport * from './service';\nexport * from './plugin';\nexport * from './injections';\n","export const CONTROL_SIZES = ['sm', 'md', 'lg'] as const;\n\nexport type ControlSize = (typeof CONTROL_SIZES)[number];\n\nexport const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'] as const;\n\nexport type ControlFieldVariant = (typeof CONTROL_FIELD_VARIANTS)[number];\n\nexport const CONTROL_LOADING_SPINNER_SIZES: Record<ControlSize, number> = {\n sm: 16,\n md: 20,\n lg: 24,\n};\n","import { InjectionKey, inject, computed, provide } from 'vue';\nimport type { VuiService } from './service';\nimport type {\n ControlProvider,\n ControlFieldProvider,\n VuiColorProvider,\n} from './composables';\n\nexport const VuiInjectionKey: InjectionKey<VuiService> = Symbol('Vui');\n\nexport const VuiControlInjectionKey: InjectionKey<ControlProvider> =\n Symbol('VuiControl');\n\nexport const VuiControlFieldInjectionKey: InjectionKey<ControlFieldProvider> =\n Symbol('VuiControlField');\n\nexport const VuiColorProviderInjectionKey: InjectionKey<VuiColorProvider> =\n Symbol('VuiColorProvider');\n\nexport const VUI_TEXT_FIELD_SYMBOL = 'vui-text-field';\nexport const VUI_TEXTAREA_SYMBOL = 'vui-textarea';\nexport const VUI_SELECT_SYMBOL = 'vui-select';\nexport const VUI_OPTION_SYMBOL = 'vui-option';\nexport const VUI_CHECKBOX_GROUP_SYMBOL = 'vui-checkbox-group';\nexport const VUI_CHECKBOX_SYMBOL = 'vui-checkbox';\nexport const VUI_RADIO_GROUP_SYMBOL = 'vui-radio-group';\nexport const VUI_RADIO_SYMBOL = 'vui-radio';\nexport const VUI_SWITCH_GROUP_SYMBOL = 'vui-switch-group';\nexport const VUI_SWITCH_SYMBOL = 'vui-switch';\nexport const VUI_FORM_GROUP_SYMBOL = 'vui-form-group';\nexport const VUI_FORM_SYMBOL = 'vui-form';\n\nexport function useVui() {\n const vui = inject(VuiInjectionKey);\n if (!vui) {\n throw new Error('missing vui service');\n }\n return vui;\n}\n\nexport function useVuiColorProvider(): VuiColorProvider {\n const parent = inject(VuiColorProviderInjectionKey, null);\n if (parent) {\n return parent;\n }\n\n const vui = useVui();\n const primary = computed(() => vui.setting('primaryScope'));\n const error = computed(() => vui.setting('errorScope'));\n const provider: VuiColorProvider = {\n primary,\n error,\n className: (type) => {\n const scope = provider[type].value;\n return `${scope}-scope`;\n },\n };\n\n provide(VuiColorProviderInjectionKey, provider);\n\n return provider;\n}\n","import {\n PropType,\n ExtractPropTypes,\n computed,\n ComputedRef,\n provide,\n inject,\n} from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport {\n ControlSize,\n CONTROL_SIZES,\n ControlFieldVariant,\n CONTROL_FIELD_VARIANTS,\n} from '../schemes';\nimport {\n VuiControlInjectionKey,\n VuiControlFieldInjectionKey,\n} from '../injections';\n\nexport function createControlProps() {\n return createPropsOptions({\n size: {\n type: String as PropType<ControlSize>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_SIZES.includes(value);\n },\n },\n loading: Boolean,\n });\n}\n\nexport type ControlProps = ExtractPropTypes<\n ReturnType<typeof createControlProps>\n>;\n\nexport interface ControlProvider {\n parentControl: ControlProvider | null;\n size: ComputedRef<ControlSize>;\n classes: ComputedRef<any>;\n}\n\nexport interface UseControlProviderOptions {\n defaultSize?: ControlSize;\n}\n\nexport function useControl(\n props: ControlProps,\n opts: UseControlProviderOptions = {},\n) {\n const { defaultSize = 'md' } = opts;\n const parentControl = inject(VuiControlInjectionKey, null);\n const size = computed(() => {\n const propSize = props.size;\n return propSize || (parentControl ? parentControl.size.value : defaultSize);\n });\n const classes = computed(() => ['v-control', `v-control--${size.value}`]);\n const provider: ControlProvider = {\n parentControl,\n size,\n classes,\n };\n provide(VuiControlInjectionKey, provider);\n return provider;\n}\n\nexport function createControlFieldProviderProps() {\n return createPropsOptions({\n variant: {\n type: String as PropType<ControlFieldVariant>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_FIELD_VARIANTS.includes(value);\n },\n },\n });\n}\n\nexport type ControlFieldProviderProps = ExtractPropTypes<\n ReturnType<typeof createControlFieldProviderProps>\n>;\n\nexport interface ControlFieldProvider {\n parentControlField: ControlFieldProvider | null;\n variant: ComputedRef<ControlFieldVariant>;\n}\n\nexport interface UseControlFieldProviderOptions {\n defaultVariant?: ControlFieldVariant;\n}\n\nexport function useControlField(\n props: ControlFieldProviderProps,\n opts: UseControlFieldProviderOptions = {},\n) {\n const { defaultVariant = 'flat' } = opts;\n const parentControlField = inject(VuiControlFieldInjectionKey, null);\n const variant = computed(() => {\n const propVariant = props.variant;\n return (\n propVariant ||\n (parentControlField ? parentControlField.variant.value : defaultVariant)\n );\n });\n const provider: ControlFieldProvider = {\n parentControlField,\n variant,\n };\n provide(VuiControlFieldInjectionKey, provider);\n return provider;\n}\n","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VIcon.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nexport { ICON_NAMES } from '@fastkit/icon-font';\n// export function toRawIconProp<T = void>(\n// prop: RawIconProp<T>,\n// payload: () => T,\n// ): RawIconProp {\n// if (!prop || typeof prop !== 'function') {\n// return prop;\n// }\n// const fn = (gen: IconGenerator): VNodeChild => {\n// const t = payload();\n// return prop(gen, t);\n// };\n// return fn;\n// }\n\n// export const rawRawIconProp = [String, Function] as PropType<RawIconProp>;\nconst _rawIconProp = [String, Function];\nexport function rawIconProp() {\n return _rawIconProp;\n}\nexport function resolveRawIconProp(payload, prop, extraProps) {\n if (!prop) return;\n return typeof prop === 'function' ? prop(input => _createVNode(VIcon, _mergeProps(input, extraProps), null), payload) : _createVNode(VIcon, _mergeProps(extraProps, {\n \"name\": prop\n }), null);\n}\nexport const iconProps = createPropsOptions({\n name: {\n type: String,\n required: true\n },\n rotate: {\n type: Number\n }\n});\nexport const VIcon = defineComponent({\n name: 'VIcon',\n props: {\n ...iconProps\n },\n emits: {},\n setup(props, ctx) {\n const iconName = computed(() => props.name);\n const clickable = computed(() => typeof ctx.attrs.onClick !== 'undefined');\n const classes = computed(() => [{\n 'v-icon--clickable': clickable.value\n }]);\n const iconAttrs = computed(() => {\n const attrs = {\n class: ['v-icon__body icon', `icon-${iconName.value}`]\n };\n const {\n rotate\n } = props;\n if (rotate) {\n attrs.style = {\n transform: `rotate(${rotate}deg)`\n };\n }\n return attrs;\n });\n return () => _createVNode(\"span\", {\n \"class\": [`v-icon notranslate`, classes.value]\n }, [_createVNode(\"i\", iconAttrs.value, null)]);\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VMenu.scss';\nimport { defineMenuComponent } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nconst colorProps = colorSchemeProps();\nexport const VMenu = defineMenuComponent({\n name: 'VMenu',\n attrs: {\n class: 'v-menu'\n },\n props: {\n ...colorProps\n },\n setup(ctx) {\n const color = useColorClasses(ctx.props, {\n useRootThemeDefault: true\n });\n ctx.setupContext.expose({\n menu: ctx\n });\n return children => _createVNode(\"div\", _mergeProps({\n \"class\": ['v-menu__body', color.colorClasses.value]\n }, ctx.attrs), [children]);\n }\n});","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VTooltip.scss';\nimport { defineComponent } from 'vue';\nimport { VMenu } from '../VMenu';\nexport const VTooltip = defineComponent({\n name: 'VTooltip',\n inheritAttrs: false,\n setup(_props, ctx) {\n return () => {\n const attrs = {\n ...ctx.attrs\n };\n const defaultSlot = ctx.slots.default;\n if (attrs.openOnHover == null) {\n attrs.openOnHover = true;\n }\n if (attrs.openDelay == null) {\n attrs.openDelay = 200;\n }\n return _createVNode(VMenu, _mergeProps(attrs, {\n \"scrollLock\": false,\n \"class\": \"v-tooltip\"\n }), {\n ...ctx.slots,\n default: payload => [_createVNode(\"span\", {\n \"class\": \"v-tooltip__inner\"\n }, [defaultSlot?.(payload)])]\n });\n };\n }\n});","import { resolveDirective as _resolveDirective, mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VFormControl.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormNodeWrapperSettings, useFormNodeWrapper } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VTooltip } from '../VTooltip';\nconst {\n props,\n emits\n} = createFormNodeWrapperSettings();\nexport function createRequiredChipRenderer(required,\n// eslint-disable-next-line no-shadow\nprops, vui = useVui()) {\n return () => {\n if (!required()) return;\n let chip;\n const {\n requiredChip\n } = props;\n if (requiredChip === false) return;\n if (requiredChip) {\n if (typeof requiredChip === 'string') {\n chip = requiredChip;\n } else if (typeof requiredChip === 'function') {\n chip = requiredChip();\n }\n }\n if (chip === undefined) {\n chip = vui.getRequiredChip();\n }\n return chip;\n };\n}\nconst slots = defineSlots();\nexport const VFormControl = defineComponent({\n name: 'VFormControl',\n props: {\n ...props,\n ...slots(),\n error: Boolean\n },\n slots,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const vui = useVui();\n const control = useFormNodeWrapper(props, ctx, {\n hinttipPrepend: () => _createVNode(VIcon, {\n \"class\": \"v-form-control__label__hinttip__icon\",\n \"name\": vui.icon('hinttip')\n }, null)\n });\n const hinttipDelay = computed(() => {\n // eslint-disable-next-line no-shadow\n let {\n hinttipDelay\n } = control;\n if (hinttipDelay == null) {\n hinttipDelay = vui.setting('hinttipDelay');\n }\n if (hinttipDelay == null) {\n hinttipDelay = 500;\n }\n return hinttipDelay;\n });\n ctx.expose({\n control\n });\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => ['v-form-control', {\n 'v-form-control--validating': control.validating,\n 'v-form-control--pending': control.pending,\n 'v-form-control--focused': control.focused,\n 'v-form-control--dirty': control.dirty,\n 'v-form-control--pristine': control.pristine,\n 'v-form-control--disabled': control.isDisabled,\n 'v-form-control--readonly': control.isReadonly,\n 'v-form-control--touched': control.touched,\n 'v-form-control--untouched': control.untouched,\n 'v-form-control--invalid': control.invalid,\n 'v-form-control--valid': control.valid\n }, colorProvider.className(\n // eslint-disable-next-line no-nested-ternary\n props.error ? 'error' : control.invalid && !control.isReadonly ? 'error' : 'primary')]);\n const getRequiredChip = createRequiredChipRenderer(() => control.isRequired, props, vui);\n const handleClick = ev => ctx.emit('clickLabel', ev, control);\n return () => {\n const label = control.renderLabel();\n const message = control.renderMessage();\n const appends = control.renderInfoAppends();\n const hinttip = control.renderHinttip();\n const _hinttipDelay = hinttipDelay.value;\n return _createVNode(\"div\", {\n \"class\": classes.value\n }, [label && _createVNode(\"label\", {\n \"class\": \"v-form-control__label\",\n \"onClick\": handleClick\n }, [label, getRequiredChip(), hinttip && _createVNode(VTooltip, {\n \"y\": \"top\",\n \"openOnHover\": _hinttipDelay !== 'click',\n \"openDelay\": typeof _hinttipDelay === 'number' ? _hinttipDelay : undefined\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-form-control__label__hinttip__hint\"\n }, [hinttip.hint])],\n activator: tooltip => _createVNode(\"a\", _mergeProps({\n \"class\": \"v-form-control__label__hinttip\",\n \"href\": \"javascript:void(0)\"\n }, tooltip.attrs), [hinttip.tip])\n })]), _createVNode(\"div\", {\n \"class\": \"v-form-control__body\"\n }, [ctx.slots.default?.(control), !props.hiddenInfo && _createVNode(\"div\", {\n \"class\": \"v-form-control__info\"\n }, [!!message && _createVNode(\"div\", {\n \"class\": \"v-form-control__message\"\n }, [message]), !!appends && _createVNode(\"div\", {\n \"class\": \"v-form-control__appends\"\n }, [appends])])])]);\n };\n }\n});","export * from '@fastkit/vue-loading';\n","import { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport './form-selector.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormNodeWrapperProps, createFormSelectorSettings, useFormSelectorControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from './control';\nimport { VFormControl } from '../components/VFormControl';\nimport { useVui } from '../injections';\nimport { VProgressCircular } from '../components/loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../schemes';\nconst slots = defineSlots();\nexport function defineFormSelectorComponent(opts) {\n const {\n itemRenderer,\n defaultMultiple,\n nodeType,\n className\n } = opts;\n const {\n props,\n emits\n } = createFormSelectorSettings({\n defaultMultiple\n });\n return defineComponent({\n name: opts.name,\n props: {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlProps(),\n stacked: {\n type: Boolean,\n default: true\n },\n // eslint-disable-next-line vue/require-prop-types\n loadingMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n failedToLoadItemsMessage: {},\n ...slots()\n },\n slots,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const selectorControl = useFormSelectorControl(props, ctx, {\n nodeType,\n defaultMultiple\n });\n const control = useControl(props);\n const classes = computed(() => ['v-form-selector', className, {\n ...control.classes.value,\n 'v-form-selector--stacked': props.stacked\n }]);\n const vui = useVui();\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n const defaultSlot = () => _createVNode(\"div\", {\n \"class\": \"v-form-selector__body\"\n }, [selectorControl.itemsLoadFailed && _createVNode(\"div\", {\n \"key\": \"failed\",\n \"class\": \"v-form-selector__placeholder v-form-selector__placeholder--error\"\n }, [failedToLoadItemsMessageRef.value]), selectorControl.itemsLoading && _createVNode(\"div\", {\n \"key\": \"loading\",\n \"class\": \"v-form-selector__placeholder\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"class\": \"mr-1\",\n \"size\": CONTROL_LOADING_SPINNER_SIZES[control.size.value || 'md']\n }, null), loadingMessageRef.value]), selectorControl.propGroups.map(group => {\n const {\n items\n } = group;\n return _createVNode(_Fragment, null, [items.map(attrs => {\n const selected = selectorControl.isSelected(attrs.value);\n return itemRenderer({\n selected,\n control: selectorControl,\n attrs: {\n ...attrs,\n modelValue: selected,\n key: attrs.value\n },\n slots: {\n default: () => attrs.label(selectorControl)\n }\n });\n })]);\n }), ctx.slots.default?.()]);\n ctx.expose({\n control: selectorControl\n });\n return () => _createVNode(VFormControl, {\n \"nodeControl\": selectorControl,\n \"hiddenInfo\": props.hiddenInfo,\n \"class\": classes.value,\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"requiredChip\": props.requiredChip,\n \"error\": selectorControl.itemsLoadFailed\n }, {\n ...ctx.slots,\n default: defaultSlot\n });\n }\n });\n}","import { PropType, ExtractPropTypes, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VuiElevationValue } from '../schemes';\n\nexport function createElevationProps() {\n return createPropsOptions({\n elevation: Number as PropType<VuiElevationValue>,\n });\n}\n\nexport type ElevationProps = ExtractPropTypes<\n ReturnType<typeof createElevationProps>\n>;\n\nexport interface UseElevationOptions {\n defaultValue?: VuiElevationValue;\n}\n\nexport function useElevation(\n props: ElevationProps,\n opts: UseElevationOptions = {},\n) {\n const elevationValue = computed(() =>\n props.elevation == null ? opts.defaultValue : props.elevation,\n );\n const elevationClassName = computed(() => {\n const v = elevationValue.value;\n return v == null ? undefined : `elevation-${v}`;\n });\n return {\n elevationValue,\n elevationClassName,\n };\n}\n","export * from './loading';\nexport * from './VDialog';\nexport * from './VMenu';\nexport * from './VSnackbar';\nexport * from './VTooltip';\nexport * from './VSheetModal';\nexport * from './VSkeltonLoader';\nexport * from './VBusyImage';\nexport * from './VGrid';\nexport * from './VPaper';\nexport * from './VAvatar';\nexport * from './VChip';\nexport * from './VCard';\nexport * from './VIcon';\nexport * from './VButton';\nexport * from './VPagination';\nexport * from './VListTile';\nexport * from './VDrawerLayout';\nexport * from './VHero';\n// export * from './VAccordion';\nexport * from './VNavigation';\nexport * from './VControlField';\nexport * from './VTextCounter';\nexport * from './VFormControl';\nexport * from './VCheckbox';\nexport * from './VCheckboxGroup';\nexport * from './VRadio';\nexport * from './VRadioGroup';\nexport * from './VSwitch';\nexport * from './VSwitchGroup';\nexport * from './VOption';\nexport * from './VOptionGroup';\nexport * from './VSelect';\nexport * from './VTextField';\nexport * from './VNumberField';\nexport * from './VTextarea';\n// export * from './VWysiwygEditor';\nexport * from './VFormGroup';\nexport * from './VForm';\nexport * from './VTabs';\nexport * from './VBreadcrumbs';\nexport * from './VContentSwitcher';\nexport * from './VDataTable';\nexport * from './VApp';\nexport * from './VToolbar';\n","import { createVNode as _createVNode } from \"vue\";\nimport './VDialog.scss';\nimport { defineDialogComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nconst colorProps = colorSchemeProps();\nexport const VDialog = defineDialogComponent({\n name: 'VDialog',\n props: {\n ...createStackActionProps(),\n ...colorProps,\n dense: Boolean\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n }\n return actions;\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", {\n \"class\": ['v-dialog', color.colorClasses.value, props.dense && 'v-dialog--dense']\n }, [_createVNode(\"div\", {\n \"class\": \"v-dialog__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-dialog__actions\"\n }, [$actions])]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VSnackbar.scss';\nimport { defineSnackbarComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nconst colorProps = colorSchemeProps();\nexport const VSnackbar = defineSnackbarComponent({\n name: 'VSnackbar',\n props: {\n ...createStackActionProps(),\n ...colorProps\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n }\n return actions;\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-snackbar', color.colorClasses.value]\n }, ctx.attrs), [_createVNode(\"div\", {\n \"class\": \"v-snackbar__inner\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-snackbar__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-snackbar__actions\"\n }, [$actions])])]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VSheetModal.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createStackableDefine, useStackControl } from '@fastkit/vue-stack';\nconst {\n props,\n emits\n} = createStackableDefine({\n defaultTransition: 'v-sheet-modal',\n defaultFocusTrap: true,\n defaultFocusRestorable: true,\n defaultScrollLock: true\n});\nexport const sheetModalProps = {\n ...props,\n header: Function,\n 'v-slots': undefined\n};\nconst SHEET_STACK_TYPE = Symbol('VSheetModal');\nexport const VSheetModal = defineComponent({\n name: 'VSheetModal',\n inheritAttrs: false,\n props: sheetModalProps,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const stackControl = useStackControl(props, ctx, {\n stackType: SHEET_STACK_TYPE\n });\n const hasActiveChild = computed(() => {\n const myIndex = stackControl.zIndex;\n const stacks = stackControl.$service.getActiveStacks().filter(stack => stack.stackType === SHEET_STACK_TYPE);\n return stacks.some(stack => stack.zIndex > myIndex);\n });\n return {\n stackControl,\n hasActiveChild\n };\n },\n render() {\n const {\n render\n } = this.stackControl;\n const headerSlot = this.$slots.header || this.header;\n return render(children => _createVNode(\"div\", {\n \"class\": ['v-sheet-modal', {\n 'v-sheet-modal--has-active-child': this.hasActiveChild\n }],\n \"tabindex\": \"0\"\n }, [headerSlot && _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__header\"\n }, [headerSlot(this.stackControl)]), _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__scroller\"\n }, [children])]));\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VSkeltonLoaderBone.scss';\nimport { defineComponent } from 'vue';\nexport const VSkeltonLoaderBone = defineComponent({\n name: 'VSkeltonLoaderBone',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n return _createVNode(TagName, _mergeProps(ctx.attrs, {\n \"class\": \"v-skelton-loader-bone\"\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VBusyImage.scss';\nimport { defineComponent, computed, ref, watch, onMounted, onBeforeUnmount } from 'vue';\nimport { IN_WINDOW } from '@fastkit/helpers';\nimport { loadImage } from '@fastkit/dom';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst IMAGE_ATTRS = ['alt', 'crossorigin', 'decoding', 'sizes', 'src', 'srcset', 'usemap'];\nexport function splitAttrs(attrs) {\n const el = {\n ...attrs\n };\n const img = {};\n for (const ATTR of IMAGE_ATTRS) {\n const value = attrs[ATTR];\n if (value != null) {\n img[ATTR] = value;\n }\n }\n return {\n el,\n img\n };\n}\nconst NUMBERISH_PROP = [Number, String];\nconst DEFAULT_HEIGHT = 150;\nconst resolveBusyImageSizeValue = source => {\n if (source == null) return;\n return isNaN(source) ? String(source) : `${source}px`;\n};\nconst slots = defineSlots();\n\n/**\n * 画像表示用コンポーネント\n * <img /> タグのように振る舞うが、ローディング表示や、表示サイズの調整など、ちょっといい感じにやるためのコンポーネント\n */\nexport const VBusyImage = defineComponent({\n name: 'VBusyImage',\n props: {\n ...undefined,\n aspectRatio: String,\n width: NUMBERISH_PROP,\n height: NUMBERISH_PROP,\n cover: Boolean,\n ...slots()\n },\n emits: {\n load: ev => true,\n error: ev => true\n },\n slots,\n setup(props, ctx) {\n const loadStateRef = ref(props.cover && isAvailableSrc(ctx.attrs.src) ? 'loading' : 'pending');\n const attrsRef = computed(() => splitAttrs(ctx.attrs));\n const isPendingRef = computed(() => loadStateRef.value === 'pending');\n const isLoadingRef = computed(() => loadStateRef.value === 'loading');\n const isLoadedRef = computed(() => loadStateRef.value === 'loaded');\n const isErrorRef = computed(() => loadStateRef.value === 'error');\n const classesRef = computed(() => [`v-busy-image--${loadStateRef.value}`, {\n 'v-busy-image--cover': props.cover,\n 'v-busy-image--clickable': typeof ctx.attrs.onClick === 'function'\n }]);\n const nodeRef = ref();\n const coverImageRef = ref();\n const rectsRef = computed(() => {\n const placeholder = {};\n const main = {};\n const {\n cover\n } = props;\n let {\n width,\n height\n } = props;\n if (height == null && cover) {\n height = DEFAULT_HEIGHT;\n }\n if (width == null && cover) {\n width = height;\n }\n width = resolveBusyImageSizeValue(width);\n height = resolveBusyImageSizeValue(height);\n main.width = width;\n main.height = height;\n placeholder.width = width;\n placeholder.height = height;\n if (placeholder.height == null) {\n placeholder.height = resolveBusyImageSizeValue(DEFAULT_HEIGHT);\n }\n if (placeholder.width == null) {\n placeholder.width = placeholder.height;\n }\n return {\n placeholder,\n main\n };\n });\n const currentRectRef = computed(() => isLoadedRef.value ? rectsRef.value.main : rectsRef.value.placeholder);\n const stylesRef = computed(() => {\n const {\n value: coverImage\n } = coverImageRef;\n const coverSrc = coverImage && coverImage.src;\n const styles = {\n ...currentRectRef.value\n };\n if (coverSrc) {\n styles.backgroundImage = `url(${coverSrc})`;\n }\n return styles;\n });\n let booted = false;\n const mounted = ref(false);\n watch(() => [ctx.attrs.src, mounted.value], ([src, _mounted]) => {\n if (!_mounted) return;\n coverImageRef.value = undefined;\n if (isAvailableSrc(src)) {\n loadStateRef.value = 'loading';\n if (props.cover) {\n loadImage(src).then(image => {\n coverImageRef.value = image;\n setManualState('load');\n }).catch(_err => {\n setManualState('error');\n // eslint-disable-next-line no-console\n console.error(_err);\n });\n }\n } else {\n loadStateRef.value = 'pending';\n }\n }, {\n immediate: IN_WINDOW\n });\n const setManualState = loadType => {\n loadStateRef.value = loadType === 'load' ? 'loaded' : 'error';\n const ev = new Event(loadType, {\n bubbles: false,\n cancelable: false,\n composed: false\n });\n ctx.emit(loadType, ev);\n };\n onMounted(() => {\n mounted.value = true;\n if (booted || props.cover) return;\n const image = nodeRef.value;\n if (!image) return;\n const loadType = imageIsReady(image);\n if (loadType) {\n setManualState(loadType);\n }\n });\n onBeforeUnmount(() => {\n coverImageRef.value = undefined;\n });\n const handleLoad = ev => {\n booted = true;\n loadStateRef.value = 'loaded';\n ctx.emit('load', ev);\n };\n const handleError = ev => {\n booted = true;\n loadStateRef.value = 'error';\n ctx.emit('error', ev);\n };\n ctx.expose({\n state: loadStateRef,\n isPending: isPendingRef,\n isLoading: isLoadingRef,\n isLoaded: isLoadedRef,\n isError: isErrorRef\n });\n return () => {\n const {\n el: elAttrs,\n img: imgAttrs\n } = attrsRef.value;\n const styles = stylesRef.value;\n const children = ctx.slots.default?.();\n return _createVNode(\"span\", _mergeProps({\n \"class\": ['v-busy-image', classesRef.value]\n }, elAttrs, {\n \"style\": styles\n }), [!props.cover && _createVNode(\"img\", _mergeProps({\n \"key\": \"img\",\n \"ref\": nodeRef,\n \"class\": \"v-busy-image__node\"\n }, imgAttrs, {\n \"onLoad\": handleLoad,\n \"onError\": handleError\n }), null), !!children && _createVNode(\"span\", {\n \"class\": \"v-busy-image__slot\"\n }, [children])]);\n };\n }\n});\nfunction imageIsReady(image) {\n if (!image.complete) return false;\n return image.naturalWidth + image.naturalHeight > 0 ? 'load' : 'error';\n}\nfunction isAvailableSrc(src) {\n return typeof src === 'string' && src !== '';\n}","import { PropType } from 'vue';\nimport { MediaMatchKey } from '@fastkit/media-match';\n\nexport type RawGridValue<T extends number | string = number | string> =\n | T\n | Partial<Record<MediaMatchKey, T>>\n | undefined;\n\nexport type RawGridValueProp<T extends number | string = number | string> =\n PropType<RawGridValue<T>>;\n\nexport function extractRawGridValueClasses<\n T extends number | string = number | string,\n>(\n value: NonNullable<RawGridValue<T>>,\n prefix: string,\n // eslint-disable-next-line no-shadow\n getter?: (value: T) => string,\n): string | string[] {\n if (typeof value !== 'object')\n return `${prefix}${getter ? getter(value) : value}`;\n return Object.entries(value).map(\n ([breakpoint, breakpointValue]) =>\n `${prefix}${\n getter ? getter(breakpointValue) : breakpointValue\n }--${breakpoint}`,\n );\n}\n\n// export const DEFAULT_MEDIA_MATCH_KEY = MEDIA_MATCH_CONDITIONS[0].key;\n","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridItem.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\n\n// type MQSizeProps = Record<\n// MediaMatchKey,\n// PropType<GridItemSizeValue | undefined>\n// >;\n\nexport const VGridItem = defineComponent({\n name: 'VGridItem',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n // ...(undefined as unknown as MQSizeProps),\n size: undefined,\n align: undefined,\n justify: undefined,\n order: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n size,\n align,\n justify,\n order\n } = props;\n delete attrs.size;\n delete attrs.align;\n delete attrs.justify;\n delete attrs.order;\n size != null && classes.push(extractRawGridValueClasses(size, 'grid-size-'));\n align && classes.push(extractRawGridValueClasses(align, 'self-align-'));\n justify && classes.push(extractRawGridValueClasses(justify, 'self-justify-'));\n order != null && classes.push(extractRawGridValueClasses(order, 'order-'));\n\n // MEDIA_MATCH_CONDITIONS.forEach(({ key }) => {\n // const v = attrs[key];\n // delete attrs[key];\n // if (v != null) {\n // classes.push(`grid-size-${v}--${key}`);\n // }\n // });\n\n return {\n classes,\n attrs\n };\n });\n return () => {\n const TagName = props.tag;\n const {\n classes,\n attrs\n } = data.value;\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-item grid-item', classes]\n }, attrs), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridContainer.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\nfunction spacingValueToString(value) {\n return Number.isInteger(value) ? String(value) : `${value}h`;\n}\nexport const VGridContainer = defineComponent({\n name: 'VGridContainer',\n inheritAttrs: false,\n props: {\n wrapperTag: {\n type: String,\n default: 'div'\n },\n tag: {\n type: String,\n default: 'div'\n },\n spacing: undefined,\n spacingX: undefined,\n spacingY: undefined,\n direction: undefined,\n wrap: undefined,\n alignContent: undefined,\n justifyContent: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n spacing,\n spacingX,\n spacingY,\n direction,\n wrap,\n alignContent,\n justifyContent\n } = props;\n const wrapperClass = attrs.class;\n const wrapperStyle = attrs.style;\n delete attrs.class;\n delete attrs.style;\n delete attrs.spacing;\n delete attrs.spacingX;\n delete attrs.spacingY;\n delete attrs.direction;\n delete attrs.wrap;\n delete attrs.alignContent;\n delete attrs.justifyContent;\n\n // spacingX = mergeSpacing(spacing, spacingX);\n // spacingY = mergeSpacing(spacing, spacingY);\n // if (!spacingX) {\n // spacingX = spacing;\n // }\n\n // align &&\n // classes.push(extractRawGridItemValueClasses(align, 'self-align-'));\n // justify &&\n // classes.push(extractRawGridItemValueClasses(justify, 'self-justify-'));\n spacing != null && classes.push(extractRawGridValueClasses(spacing, 'grid-spacing-', spacingValueToString));\n spacingX != null && classes.push(extractRawGridValueClasses(spacingX, 'grid-spacing-x-', spacingValueToString));\n spacingY != null && classes.push(extractRawGridValueClasses(spacingY, 'grid-spacing-y-', spacingValueToString));\n direction && classes.push(extractRawGridValueClasses(direction, 'direction-'));\n wrap && classes.push(extractRawGridValueClasses(wrap, ''));\n alignContent && classes.push(extractRawGridValueClasses(alignContent, 'align-'));\n justifyContent && classes.push(extractRawGridValueClasses(justifyContent, 'justify-'));\n return {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n };\n });\n return () => {\n const WrapperTag = props.wrapperTag;\n const TagName = props.tag;\n const {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n } = data.value;\n return _createVNode(WrapperTag, {\n \"class\": ['v-grid-container-wrapper', wrapperClass],\n \"style\": wrapperStyle\n }, {\n default: () => [_createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-container grid-container', classes]\n }, attrs), ctx.slots)]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VPaper.scss';\nimport { defineComponent, computed } from 'vue';\nimport { renderSlotOrEmpty, defineSlots } from '@fastkit/vue-utils';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { createElevationProps, useElevation } from '../../composables';\nexport const paperBaseSlots = defineSlots();\nexport function createPaperBaseProps() {\n return {\n color: String,\n tag: {\n type: [String, Object],\n default: 'div'\n },\n ...paperBaseSlots()\n };\n}\nexport function createPaperProps() {\n return {\n ...createElevationProps(),\n ...createPaperBaseProps(),\n square: Boolean,\n headerProps: Object,\n bodyProps: Object,\n footerProps: Object,\n innerClass: [String, Array, Object]\n };\n}\nexport const VPaper = defineComponent({\n name: 'VPaper',\n inheritAttrs: false,\n props: createPaperProps(),\n slots: paperBaseSlots,\n setup(props, ctx) {\n const tag = computed(() => props.tag);\n const elevation = useElevation(props, {\n defaultValue: 1\n });\n const scope = useScopeColorClass(props);\n const classes = computed(() => [elevation.elevationClassName.value, scope.value.className, {\n 'v-paper--plain': !scope.value.value,\n 'v-paper--has-color': !!scope.value.value || !!ctx.attrs.disabled,\n 'v-paper--square': props.square\n }]);\n const headerProps = computed(() => props.headerProps);\n const bodyProps = computed(() => props.bodyProps);\n const footerProps = computed(() => props.footerProps);\n return () => {\n const TagName = tag.value;\n const header = renderSlotOrEmpty(ctx.slots, 'header');\n const footer = renderSlotOrEmpty(ctx.slots, 'footer');\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-paper', classes.value]\n }, ctx.attrs), {\n default: () => [_createVNode(\"div\", {\n \"class\": ['v-paper__inner', props.innerClass]\n }, [header && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__header\"\n }, headerProps.value), [header]), _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__body\"\n }, bodyProps.value), [ctx.slots.default?.()]), footer && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__footer\"\n }, footerProps.value), [footer])])]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VAvatar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VBusyImage } from '../VBusyImage';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const AVATAR_SIZES = ['sm', 'md', 'lg'];\nexport function createAvatarProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: [String, Number],\n default: 'md'\n },\n tile: Boolean,\n rounded: Boolean,\n disabled: Boolean,\n src: String\n };\n}\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n inheritAttrs: false,\n props: createAvatarProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-avatar--tile': props.tile,\n 'v-avatar--rounded': props.rounded\n }, typeof size === 'string' && `v-avatar--${size}`];\n });\n const styles = computed(() => {\n const {\n size\n } = props;\n if (typeof size !== 'number') return;\n return {\n '--avatar-size': `${size}px`\n };\n });\n const actionable = useActionable(ctx, {\n attrs: () => ({\n class: ['v-avatar', classes.value, color.colorClasses.value],\n style: styles.value\n }),\n actionableClass: () => 'v-avatar--clickable',\n linkFallbackTag: 'div'\n });\n return () => {\n const {\n src\n } = props;\n return actionable.render(!!src && _createVNode(VBusyImage, {\n \"class\": \"v-avatar__image\",\n \"src\": src,\n \"cover\": true\n }, null) || ctx.slots.default?.());\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VChip.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const CHIP_SIZES = ['xs', 'sm', 'md', 'lg', 'xl'];\nexport function createChipProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: String,\n default: 'md'\n },\n startIcon: [String, Function],\n endIcon: [String, Function],\n label: Boolean,\n disabled: Boolean\n };\n}\nfunction resolveRawVChipIcon(raw, type) {\n if (!raw) return;\n if (typeof raw === 'function') {\n return () => {\n const child = raw();\n if (child == null) return;\n return _createVNode(\"span\", {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`]\n }, [child]);\n };\n }\n return () => _createVNode(VIcon, {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const VChip = defineComponent({\n name: 'VChip',\n inheritAttrs: false,\n props: createChipProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-chip--label': props.label\n }, typeof size === 'string' && `v-chip--${size}`];\n });\n const actionable = useActionable(ctx, {\n attrs: () => ({\n class: ['v-chip', classes.value, color.colorClasses.value]\n }),\n actionableClass: () => 'v-chip--clickable',\n linkFallbackTag: 'div'\n });\n return () => actionable.render([startIcon.value, _createVNode(\"span\", {\n \"class\": \"v-chip__content\"\n }, [ctx.slots.default?.()]), endIcon.value]);\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VCard.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n\nimport { VPaper, createPaperProps } from '../VPaper';\nexport function createCardProps() {\n return {\n ...createPaperProps(),\n ...actionableInheritProps,\n disabled: Boolean\n };\n}\nexport const VCard = defineComponent({\n name: 'VCard',\n inheritAttrs: false,\n props: createCardProps(),\n setup(props, ctx) {\n const _props = computed(() => props);\n const data = computed(() => {\n const attrs = {\n ..._props.value,\n ...ctx.attrs,\n class: ['v-card', ctx.attrs.class],\n tag: VAction,\n linkFallbackTag: 'div'\n };\n if (props.disabled) {\n attrs.disabled = 'disabled';\n delete attrs.onClick;\n delete attrs.href;\n delete attrs.to;\n } else {\n delete attrs.disabled;\n }\n return {\n attrs\n };\n });\n return () => _createVNode(VPaper, data.value.attrs, ctx.slots);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardContent.scss';\nimport { defineComponent } from 'vue';\nexport const VCardContent = defineComponent({\n name: 'VCardContent',\n setup(_props, ctx) {\n return () => _createVNode(\"div\", {\n \"class\": \"v-card-content\"\n }, [ctx.slots.default?.()]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardActions.scss';\nimport { defineComponent } from 'vue';\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n setup(_props, ctx) {\n return () => _createVNode(\"div\", {\n \"class\": \"v-card-actions\"\n }, [ctx.slots.default?.()]);\n }\n});","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport './VButton.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VAction, actionableInheritProps } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { createControlProps, useControl } from '../../composables';\nimport { VProgressCircular } from '../loading';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const BUTTON_ALIGNS = ['left', 'center', 'right'];\nfunction resolveRawVButtonIcon(raw, type = 'main') {\n if (!raw) return;\n return typeof raw === 'function' ? raw : () => _createVNode(VIcon, {\n \"class\": ['v-button__icon', `v-button__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const vueButtonProps = createPropsOptions({\n ...colorSchemeProps(),\n ...actionableInheritProps,\n spacer: [Boolean, String],\n rounded: Boolean,\n icon: [String, Function],\n startIcon: [String, Function],\n endIcon: [String, Function],\n align: {\n type: String,\n default: 'center'\n },\n ...createControlProps()\n});\nconst LOADING_SIZE_MAP = {\n sm: 14,\n md: 20,\n lg: 28\n};\nexport const VButton = defineComponent({\n name: 'VButton',\n inheritAttrs: false,\n props: vueButtonProps,\n setup(props, ctx) {\n const vui = useVui();\n const control = useControl(props);\n const defaults = vui.setting('buttonDefault');\n const icon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.icon);\n return _icon && _icon();\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || (icon.value ? vui.setting('plainVariant') : defaults.variant)\n });\n const isPlain = computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);\n const isLoading = computed(() => props.loading);\n // const isDisabled = computed(() => props.disabled);\n // const isRounded = computed(() =>\n // props.rounded != null ? props.rounded : !!icon.value,\n // );\n\n const spacer = computed(() => {\n const _spacer = props.spacer;\n if (!_spacer) return;\n return _spacer === true ? 'left' : _spacer;\n });\n const classes = computed(() => [color.colorClasses.value, spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, `v-button--align-${props.align}`, {\n 'v-button--loading': isLoading.value,\n 'v-button--icon': !!icon.value,\n 'v-button--rounded': props.rounded,\n 'v-button--plain': isPlain.value\n }]);\n return () => _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-button', classes.value],\n \"guardInProgressClass\": \"v-button--guard-in-progress\"\n }), {\n default: () => _createVNode(_Fragment, null, [_createVNode(\"span\", {\n \"class\": \"v-button__content\"\n }, [startIcon.value, ctx.slots.default?.(), icon.value, endIcon.value]), isLoading.value && _createVNode(VProgressCircular, {\n \"class\": \"v-button__loading\",\n \"indeterminate\": true,\n \"size\": LOADING_SIZE_MAP[control.size.value]\n }, null)])\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VButtonGroup.scss';\nimport { defineComponent, isVNode, cloneVNode } from 'vue';\nimport { colorSchemeProps } from '@fastkit/vue-color-scheme';\nimport { renderSlotOrEmpty, isFragment } from '@fastkit/vue-utils';\nimport { createControlProps } from '../../composables';\nimport { VButton } from './VButton';\nexport const VButtonGroup = defineComponent({\n name: 'VButtonGroup',\n props: {\n ...colorSchemeProps(),\n ...createControlProps(),\n disabled: Boolean\n },\n setup(props, ctx) {\n return () => {\n let hasIcon = false;\n let buttonLength = 0;\n let tmp = renderSlotOrEmpty(ctx.slots) || [];\n if (tmp.length === 1 && isFragment(tmp[0])) {\n tmp = tmp[0].children;\n }\n const children = tmp.map(node => {\n if (!isVNode(node) || node.type !== VButton) {\n return {\n isButton: false,\n node\n };\n }\n buttonLength++;\n if (!hasIcon && node.props && !!node.props.icon) {\n hasIcon = true;\n }\n return {\n isButton: true,\n node\n };\n });\n let buttonIndex = 0;\n const $children = children.map(child => {\n if (child.isButton) {\n buttonIndex++;\n const hasLeft = buttonIndex > 1;\n const hasRight = buttonIndex < buttonLength;\n const childProps = child.node.props;\n return cloneVNode(child.node, {\n ...props,\n ...childProps,\n rounded: false,\n class: ['v-button-group__item', {\n 'v-button--icon': hasIcon,\n 'v-button-group__item--has-left': hasLeft,\n 'v-button-group__item--has-right': hasRight\n }]\n });\n }\n return child.node;\n });\n return _createVNode(\"div\", {\n \"class\": ['v-button-group', {\n 'v-button-group--has-icon': hasIcon\n }]\n }, [$children]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\";\nimport './VPagination.scss';\nimport { defineComponent, ref, watch, computed, withDirectives } from 'vue';\nimport { createPropsOptions, rawNumberPropType, resolveNumberish } from '@fastkit/vue-utils';\nimport { isPromise } from '@fastkit/helpers';\nimport { useRouter, RouterLink } from 'vue-router';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { resolveRawIconProp } from '../VIcon';\nimport { useVui } from '../../injections';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const PAGINATION_ALIGNS = ['left', 'center', 'right'];\nexport function paginationProps() {\n return createPropsOptions({\n /**\n * Active Pages\n */\n modelValue: {\n type: rawNumberPropType,\n default: 1\n },\n /**\n * Total number of pages\n */\n length: {\n type: rawNumberPropType,\n default: 0\n },\n /**\n * Maximum number of links to display.\n */\n totalVisible: rawNumberPropType,\n /**\n * true when narrowing\n */\n dense: Boolean,\n disabled: Boolean,\n align: {\n type: String,\n default: 'center'\n },\n /**\n * To synchronize with a query, use the query name\n */\n routeQuery: String,\n beforeChange: Function,\n color: String\n });\n}\nexport const VPagination = defineComponent({\n name: 'VPagination',\n props: paginationProps(),\n emits: {\n change: page => true,\n 'update:modelValue': page => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const elRef = ref(null);\n const router = useRouter();\n const internalValue = ref(1);\n const containerWidth = ref(0);\n const itemSize = ref(0);\n const capacityLength = computed(() => {\n const _itemSize = itemSize.value;\n if (!_itemSize) return 0;\n return Math.floor(containerWidth.value / _itemSize);\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('primaryScope')\n });\n const computedLength = computed(() => resolveNumberish(props.length));\n const computedTotalVisible = computed(() => resolveNumberish(props.totalVisible));\n const computedNumbersLength = computed(() => capacityLength.value - 2 - 2);\n const computedPage = computed(() => {\n const {\n routeQuery\n } = props;\n if (routeQuery) {\n return vui.location.getQuery(routeQuery, Number, 1);\n }\n return internalValue.value;\n });\n const _range = (from, to) => {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n };\n const computedItems = computed(() => {\n const maxButtons = computedNumbersLength.value;\n const totalVisible = computedTotalVisible.value;\n const length = computedLength.value;\n const pageValue = computedPage.value;\n const maxLength = Math.min(Math.max(0, totalVisible || 0) || length, Math.max(0, maxButtons) || length, length);\n if (length <= maxLength) {\n return _range(1, length);\n }\n const even = maxLength % 2 === 0 ? 1 : 0;\n const left = Math.floor(maxLength / 2);\n const right = length - left + 1 + even;\n if (pageValue > left && pageValue < right) {\n const start = pageValue - left + 2;\n const end = pageValue + left - 2 - even;\n return [1, 'truncate', ..._range(start, end), 'truncate', length];\n }\n if (pageValue === left) {\n const end = pageValue + left - 1 - even;\n return [..._range(1, end), 'truncate', length];\n }\n if (pageValue === right) {\n const start = pageValue - left + 1;\n return [1, 'truncate', ..._range(start, length)];\n }\n return [..._range(1, left), 'truncate', ..._range(right, length)];\n });\n const isActive = computed(() => computedLength.value > 1);\n const isTransitioning = computed(() => {\n const {\n routeQuery\n } = props;\n return vui.location.isQueryOnlyTransitioning(routeQuery);\n });\n const isDisabled = computed(() => props.disabled || isTransitioning.value);\n const classes = computed(() => [{\n 'v-pagination--disabled': isDisabled.value,\n 'v-pagination--dense': props.dense,\n [`v-pagination--${props.align}`]: true\n }, colorScope.value.className]);\n async function setPage(value) {\n if (isDisabled.value) return;\n const {\n beforeChange,\n routeQuery\n } = props;\n const newPage = resolveNumberish(value);\n if (computedPage.value === newPage) return;\n if (beforeChange) {\n try {\n let result = beforeChange(newPage);\n if (isPromise(result)) result = await result;\n if (result === false) return;\n } catch (e) {\n // noop\n }\n }\n if (routeQuery) {\n const to = createRoutableLocationByPage(newPage, routeQuery);\n return router.push(to).then(failure => {\n !failure && ctx.emit('change', newPage);\n });\n }\n internalValue.value = newPage;\n ctx.emit('update:modelValue', newPage);\n ctx.emit('change', newPage);\n }\n function createPageInfo(source) {\n const currentPage = computedPage.value;\n const length = computedLength.value;\n let number;\n let page;\n let active;\n let disabled;\n if (typeof source === 'number') {\n number = true;\n page = source;\n active = currentPage === page;\n disabled = false;\n } else if (source === 'truncate') {\n number = false;\n active = false;\n disabled = false;\n } else {\n number = false;\n const isPrev = source === 'prev';\n const amount = isPrev ? -1 : 1;\n page = currentPage + amount;\n active = false;\n disabled = page < 1 || page > length;\n }\n return {\n number,\n page,\n active,\n disabled\n };\n }\n function createRoutableLocationByPage(page, routeQuery) {\n return vui.location.getQueryMergedLocation({\n [routeQuery]: page\n });\n }\n function genItem(source, index) {\n const {\n number,\n page,\n active,\n disabled\n } = createPageInfo(source);\n const type = number ? 'num' : source;\n // eslint-disable-next-line no-shadow\n const classes = ['v-pagination__item', {\n [`v-pagination__item--${type}`]: true,\n 'v-pagination__item--active': active,\n 'v-pagination__item--disabled': disabled\n }];\n const children = number ? page : (() => {\n if (type === 'truncate') {\n return _createVNode(\"span\", null, [_createTextVNode(\"...\")]);\n }\n const isPrev = type === 'prev';\n const icon = isPrev ? vui.icon('prev') : vui.icon('next');\n return resolveRawIconProp(false, icon, {\n class: 'v-pagination__item__icon'\n });\n })();\n const onClick = ev => {\n ev.preventDefault();\n if (page === undefined || active || disabled) return;\n setPage(page);\n };\n const key = `${source}-${index}`;\n const {\n routeQuery\n } = props;\n if (page !== undefined && routeQuery) {\n const to = createRoutableLocationByPage(page, routeQuery);\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"key\": key\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n }\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": page,\n \"onClick\": onClick,\n \"key\": key\n }, [children]);\n }\n watch(() => props.modelValue, modelValue => {\n internalValue.value = resolveNumberish(modelValue);\n }, {\n immediate: true\n });\n return () => {\n if (!isActive.value) return undefined;\n const $items = ['prev', ...computedItems.value, 'next'].map((i, index) => genItem(i, index));\n return withDirectives(_createVNode(\"nav\", {\n \"class\": ['v-pagination', classes.value],\n \"ref\": elRef\n }, [$items]), [resizeDirectiveArgument(({\n width\n }) => {\n const el = elRef.value;\n if (el) {\n const style = window.getComputedStyle(el, 'before');\n // eslint-disable-next-line no-shadow\n const width = style.getPropertyValue('width');\n const margin = style.getPropertyValue('margin');\n const size = parseFloat(width) + parseFloat(margin) * 0.5;\n itemSize.value = size;\n }\n containerWidth.value = width;\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VListTile.scss';\nimport { defineComponent, computed, watch } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nimport { rawIconProp, resolveRawIconProp } from '../VIcon';\nexport function createListTileProps() {\n const icon = rawIconProp();\n return {\n ...actionableInheritProps,\n ...createPropsOptions({\n startIcon: icon,\n endIcon: icon,\n linkFallbackTag: {\n type: String,\n default: 'div'\n },\n startIconEmptySpace: Boolean,\n color: String,\n exactMatch: Boolean\n })\n };\n}\nexport const listTileEmits = {\n changeActive: isActive => true\n};\nexport const VListTile = defineComponent({\n name: 'VListTile',\n inheritAttrs: false,\n props: createListTileProps(),\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const startIcon = computed(() => {\n let icon = resolveRawIconProp(false, props.startIcon);\n if (!icon && props.startIconEmptySpace) {\n icon = resolveRawIconProp(false, '$empty');\n }\n return icon;\n });\n const endIcon = computed(() => resolveRawIconProp(false, props.endIcon));\n const hasTo = computed(() => !!ctx.attrs.to);\n const link = vui.useLink({\n to: ctx.attrs.to || ''\n });\n const isActive = computed(() => {\n if (!hasTo.value) return false;\n return props.exactMatch ? link.isExactActive.value : link.isActive.value;\n });\n const color = useScopeColorClass(props);\n const classes = computed(() => {\n const _color = color.value;\n const hasColor = !!_color.value;\n return [color.value.className, {\n 'v-list-tile--plain': !hasColor,\n 'v-list-tile--has-color': hasColor,\n 'v-list-tile--active': isActive.value\n }];\n });\n watch(() => isActive.value,\n // eslint-disable-next-line no-shadow\n isActive => {\n ctx.emit('changeActive', isActive);\n }, {\n immediate: true\n });\n return () => {\n const _startIcon = startIcon.value;\n const _endIcon = endIcon.value;\n return _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-list-tile', classes.value],\n \"actionableClass\": \"v-list-tile--clickable\"\n }), {\n default: () => [_startIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--start\"\n }, [_startIcon]), _createVNode(\"span\", {\n \"class\": \"v-list-tile__body\"\n }, [ctx.slots.default?.()]), _endIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--end\"\n }, [_endIcon])]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VDrawerLayout.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPaperBaseProps, paperBaseSlots, VPaper } from '../VPaper';\nexport const VDrawerLayout = defineComponent({\n name: 'VDrawerLayout',\n props: {\n ...createPaperBaseProps()\n },\n slots: paperBaseSlots,\n setup(props, ctx) {\n return () => {\n const paperProps = computed(() => ({\n color: props.color,\n tag: props.tag\n }));\n return _createVNode(VPaper, _mergeProps({\n \"class\": \"v-drawer-layout\",\n \"innerClass\": \"v-drawer-layout__inner\"\n }, paperProps.value, {\n \"square\": true,\n \"headerProps\": {\n class: 'v-drawer-layout__header'\n },\n \"bodyProps\": {\n class: 'v-drawer-layout__body'\n },\n \"footerProps\": {\n class: 'v-drawer-layout__footer'\n }\n }), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VHero.scss';\nimport { defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { VAppContainer } from '@fastkit/vue-app-layout';\nconst slots = defineSlots();\nexport const VHero = defineComponent({\n name: 'VHero',\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n tag: {\n type: String,\n default: 'header'\n },\n hTag: {\n type: String,\n default: 'h1'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n const HTagName = props.hTag;\n const adornment = ctx.slots.adornment?.();\n return _createVNode(VAppContainer, {\n \"pulled\": true\n }, {\n default: () => [_createVNode(TagName, {\n \"class\": ['v-hero', toScopeColorClass(props.color)]\n }, {\n default: () => [_createVNode(HTagName, {\n \"class\": \"v-hero__title\"\n }, {\n default: () => [ctx.slots.default?.()]\n }), adornment && _createVNode(\"div\", {\n \"class\": \"v-hero__adornment\"\n }, [adornment])]\n })]\n });\n };\n }\n});","import { Fragment as _Fragment, withDirectives as _withDirectives, vShow as _vShow, mergeProps as _mergeProps, createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VNavigationItem.scss';\nimport { defineComponent, computed, Fragment, ref, watch } from 'vue';\nimport { VExpandTransition } from '@fastkit/vue-transitions';\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/no-duplicates\nimport { useRoute } from 'vue-router';\nimport { useVui } from '../../injections';\nimport { createListTileProps, listTileEmits, VListTile } from '../VListTile';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport function createNavigationItemProps() {\n return {\n ...createListTileProps(),\n match: [String, Array],\n depth: {\n type: Number,\n default: 0\n },\n nested: Boolean,\n color: String\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function resolveNavigationItemInput(input) {\n let {\n label\n } = input;\n const props = {\n ...input\n };\n if (typeof label === 'function') {\n label = label();\n }\n delete props.label;\n return {\n label,\n props\n };\n}\nexport function renderNavigationItemInput(input, extraProps) {\n const {\n label,\n props\n } = resolveNavigationItemInput(input);\n return _createVNode(VNavigationItem, {\n ...props,\n ...extraProps\n }, _isSlot(label) ? label : {\n default: () => [label]\n });\n}\nconst TRIM_END_SLASH_RE = /\\/$/;\nfunction trimEndSlash(source) {\n return source ? source.replace(TRIM_END_SLASH_RE, '') : source;\n}\nexport const VNavigationItem = defineComponent({\n name: 'VNavigationItem',\n inheritAttrs: false,\n props: {\n ...createNavigationItemProps(),\n children: Array\n },\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const opened = ref(false);\n const children = computed(() => {\n const c = props.children;\n return c && c.length ? c : undefined;\n });\n const to = computed(() => ctx.attrs.to);\n const match = computed(() => {\n // eslint-disable-next-line no-shadow\n const {\n match\n } = props;\n // eslint-disable-next-line no-shadow\n const {\n to\n } = ctx.attrs;\n if (match) {\n return (Array.isArray(match) ? match : [match]).map(trimEndSlash);\n }\n if (!to) return;\n const toPath = typeof to === 'string' ? to : to.path;\n if (!toPath) return;\n return [trimEndSlash(toPath)];\n });\n const classes = computed(() => [{\n 'v-navigation-item--opened': opened.value,\n [`v-navigation-item--depth-${props.depth}`]: props.depth > 0\n }]);\n const route = useRoute();\n watch(() => route.path, newPath => {\n const c = children.value;\n const m = match.value;\n if (!c || !m || !m.length) {\n return;\n }\n const trimmedNewPath = trimEndSlash(newPath);\n if (m.some(_ => trimmedNewPath.match(_))) {\n open();\n } else {\n close();\n }\n }, {\n immediate: true\n });\n const _props = computed(() => {\n const c = children.value;\n let {\n endIcon\n } = props;\n if (c && !endIcon) {\n endIcon = vui.icon('navigationExpand');\n if (typeof endIcon === 'string') {\n const name = endIcon;\n endIcon = gen => gen({\n name,\n rotate: opened.value ? 180 : 0\n });\n }\n }\n const __props = {\n ...props,\n endIcon\n };\n delete __props.children;\n return {\n ...__props\n };\n });\n function open() {\n if (!children.value) return;\n opened.value = true;\n }\n function close() {\n opened.value = false;\n }\n function toggle() {\n return opened.value ? close() : open();\n }\n const onClick = ev => {\n if (!to.value) {\n return toggle();\n }\n };\n const onChangeActive = isActive => {\n ctx.emit('changeActive', isActive);\n };\n ctx.expose({\n close\n });\n return () => {\n const _children = children.value;\n const fallbackTag = _children ? 'button' : undefined;\n return _createVNode(_Fragment, null, [_createVNode(VListTile, _mergeProps(ctx.attrs, _props.value, {\n \"fallbackTag\": fallbackTag,\n \"endIcon\": _props.value.endIcon,\n \"class\": ['v-navigation-item', classes.value],\n \"onClick\": onClick,\n \"onChangeActive\": onChangeActive\n }), {\n default: () => [ctx.slots.default?.()]\n }), _children && _createVNode(VExpandTransition, null, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-navigation-item__expand\"\n }, [_children.map(child => renderNavigationItemInput({\n color: props.color,\n ...child\n }, {\n startIconEmptySpace: _props.value.startIconEmptySpace,\n depth: props.nested ? props.depth + 1 : props.depth\n }))]), [[_vShow, opened.value]])]\n })]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VNavigation.scss';\nimport { defineComponent, computed, onBeforeUpdate, ref } from 'vue';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { renderNavigationItemInput } from './VNavigationItem';\nexport function createNavigationProps() {\n return createPropsOptions({\n items: {\n type: Array,\n required: true\n },\n color: String,\n startIconEmptySpace: {\n type: Boolean,\n default: true\n },\n caption: [String, Function]\n });\n}\nexport const VNavigation = defineComponent({\n name: 'VNavigation',\n props: createNavigationProps(),\n setup(props, ctx) {\n const items = computed(() => props.items);\n const color = useScopeColorClass(props);\n const classes = computed(() => [color.value.className]);\n const startIconEmptySpace = computed(() => props.startIconEmptySpace);\n const caption = computed(() => {\n const c = props.caption;\n return typeof c === 'function' ? c() : c;\n });\n const itemsRef = ref([]);\n onBeforeUpdate(() => {\n itemsRef.value = [];\n });\n function setItemRef(item, itemRef) {\n itemsRef.value.push({\n key: item.key,\n ref: itemRef\n });\n }\n function onItemActivated(item) {\n // eslint-disable-next-line no-shadow\n itemsRef.value.forEach(({\n key,\n ref\n }) => {\n if (key === item.key) return;\n ref.close();\n });\n }\n return () => {\n const $caption = caption.value;\n return _createVNode(\"nav\", {\n \"class\": ['v-navigation', classes.value]\n }, [!!$caption && _createVNode(\"div\", {\n \"class\": \"v-navigation__caption\"\n }, [$caption]), items.value.map(item => renderNavigationItemInput(item, {\n class: 'v-navigation__item',\n startIconEmptySpace: startIconEmptySpace.value,\n // eslint-disable-next-line no-shadow\n ref: ref => {\n setItemRef(item, ref);\n },\n onChangeActive: isActive => {\n if (isActive /* && item.children && item.children.length */) {\n onItemActivated(item);\n }\n }\n }))]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VControlField.scss';\nimport { computed, ref, defineComponent } from 'vue';\nimport { useParentFormNode } from '@fastkit/vue-form-control';\nimport { resolveVNodeChildOrSlots, createPropsOptions, defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { useVuiColorProvider } from '../../injections';\nimport { VProgressCircular } from '../loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../../schemes';\nconst ADORNMENT_POSITIONS = ['start', 'end'];\nexport function createControlFieldProps() {\n return {\n ...createPropsOptions({\n startAdornment: {},\n endAdornment: {},\n tabindex: {\n type: [String, Number],\n default: 0\n }\n }),\n ...createControlFieldProviderProps(),\n ...createControlProps()\n };\n}\n\n// export const inputBoxSlots = {\n// default: () => true,\n// startAdornment: () => true,\n// endAdornment: () => true,\n// };\n\nconst slots = defineSlots();\nexport const VControlField = defineComponent({\n name: 'VControlField',\n props: {\n ...createControlFieldProps(),\n focused: Boolean,\n autoHeight: Boolean,\n ...slots(),\n error: Boolean\n },\n slots,\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const parentNode = useParentFormNode();\n const control = useControl(props);\n const inputBox = useControlField(props);\n const hostElRef = ref(null);\n const disabled = computed(() => !!parentNode && parentNode.isDisabled);\n const invalid = computed(() => !!parentNode && parentNode.invalid);\n const autoHeight = computed(() => props.autoHeight);\n const readonly = computed(() => !!parentNode && parentNode.isReadonly);\n // const computedTabindex = computed(() =>\n // disabled.value ? -1 : props.tabindex,\n // );\n // const isOutlined = computed(() => inputBox.variant.value === 'outlined');\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => {\n const _classes = ['v-control-field', `v-control-field--${inputBox.variant.value}`, {\n 'v-control-field--disabled': disabled.value,\n 'v-control-field--invalid': invalid.value || props.error,\n 'v-control-field--readonly': readonly.value,\n 'v-control-field--focused': props.focused,\n 'v-control-field--auto-height': autoHeight.value\n }, control.classes.value, colorProvider.className(\n // eslint-disable-next-line no-nested-ternary\n props.error ? 'error' : invalid.value && !readonly.value ? 'error' : 'primary')];\n return _classes;\n });\n const resolvedSlots = computed(() => {\n const _slots = {};\n ADORNMENT_POSITIONS.forEach(position => {\n const key = `${position}Adornment`;\n _slots[position] = resolveVNodeChildOrSlots(props[key], ctx.slots[key]);\n });\n return _slots;\n });\n const renderAdornment = position => {\n let child;\n if (position === 'end' && props.loading) {\n child = _createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"size\": CONTROL_LOADING_SPINNER_SIZES[props.size || 'md']\n }, null);\n } else {\n child = resolvedSlots.value[position]?.();\n }\n if (!child) return;\n return _createVNode(\"div\", {\n \"class\": ['v-control-field__adornment', `v-control-field__adornment--${position}`]\n }, [child]);\n };\n const handleClick = ev => ctx.emit('click', ev);\n return () => _createVNode(\"div\", {\n \"class\": classes.value,\n \"onClick\": handleClick,\n \"ref\": hostElRef\n }, [renderAdornment('start'), _createVNode(\"div\", {\n \"class\": \"v-control-field__body\"\n }, [ctx.slots.default?.()]), renderAdornment('end')]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VTextCounter.scss';\nimport { defineComponent } from 'vue';\nexport const VTextCounter = defineComponent({\n name: 'VTextCounter',\n props: {\n length: {\n type: Number,\n required: true\n },\n maxlength: {\n type: Number,\n required: true\n }\n },\n render() {\n return _createVNode(\"span\", {\n \"class\": \"v-text-counter\"\n }, [`${this.length} / ${this.maxlength}`]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCheckable.scss';\nimport { computed, defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider } from '../../injections';\nexport const CHECKABLE_SLOTS = defineSlots();\nexport const VCheckable = defineComponent({\n name: 'VCheckable',\n props: {\n invalid: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n checked: Boolean,\n ...CHECKABLE_SLOTS()\n // autoWidth: Boolean,\n },\n slots: CHECKABLE_SLOTS,\n setup(props, ctx) {\n const colorProvider = useVuiColorProvider();\n const invalid = computed(() => props.invalid);\n const disabled = computed(() => props.disabled);\n const readonly = computed(() => props.readonly);\n const checked = computed(() => props.checked);\n // const autoWidth = computed(() => props.autoWidth);\n const classes = computed(() => [{\n 'v-checkable--invalid': invalid.value,\n 'v-checkable--disabled': disabled.value,\n 'v-checkable--readonly': readonly.value,\n 'v-checkable--checked': checked.value,\n 'v-checkable--custom-icon': !!ctx.slots.icon,\n disabled: disabled.value\n }, colorProvider.className(invalid.value ? 'error' : 'primary')]);\n return () => _createVNode(\"label\", {\n \"class\": ['v-checkable', classes.value]\n }, [_createVNode(\"span\", {\n \"class\": \"v-checkable__faux\"\n }, [ctx.slots.input?.(), ctx.slots.icon ? ctx.slots.icon() : _createVNode(\"span\", {\n \"class\": \"v-checkable__faux__icon\"\n }, [ctx.slots.faux?.()])]), _createVNode(\"span\", {\n \"class\": \"v-checkable__label\"\n }, [ctx.slots.label?.()])]);\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VCheckbox.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_CHECKBOX_GROUP_SYMBOL, VUI_CHECKBOX_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n props: {\n ...props,\n ...createControlProps(),\n indeterminate: Boolean\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_CHECKBOX_SYMBOL,\n parentNodeType: VUI_CHECKBOX_GROUP_SYMBOL\n });\n const control = useControl(props);\n const isIndeterminate = computed(() => props.indeterminate);\n const classes = computed(() => ['v-checkbox', {\n 'v-checkbox--selected': nodeControl.selected,\n 'v-checkbox--indeterminate': isIndeterminate.value\n }, control.classes.value]);\n const api = nodeControl.extend({\n get isIndeterminate() {\n return isIndeterminate.value;\n }\n });\n ctx.expose({\n control: api\n });\n const slots = {\n input: () => nodeControl.createInputElement({\n type: 'checkbox'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-checkbox__faux\"\n }, null),\n label: () => ctx.slots.default?.()\n };\n return () => _createVNode(VCheckable, {\n \"class\": classes.value,\n \"checked\": nodeControl.selected || isIndeterminate.value,\n \"invalid\": nodeControl.invalid,\n \"disabled\": nodeControl.isDisabled,\n \"readonly\": nodeControl.isReadonly\n }, slots);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_CHECKBOX_GROUP_SYMBOL } from '../../injections';\nimport { VCheckbox } from '../VCheckbox';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VCheckboxGroup = defineFormSelectorComponent({\n name: 'VCheckboxGroup',\n defaultMultiple: true,\n nodeType: VUI_CHECKBOX_GROUP_SYMBOL,\n className: 'v-checkbox-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VCheckbox, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VRadio.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_RADIO_GROUP_SYMBOL, VUI_RADIO_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VRadio = defineComponent({\n name: 'VRadio',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_RADIO_SYMBOL,\n parentNodeType: VUI_RADIO_GROUP_SYMBOL\n });\n const control = useControl(props);\n const classes = computed(() => ['v-radio', {\n 'v-radio--selected': nodeControl.selected\n }, control.classes.value]);\n const slots = {\n input: () => nodeControl.createInputElement({\n type: 'radio'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-radio__faux\"\n }, null),\n label: () => ctx.slots.default?.()\n };\n return () => _createVNode(VCheckable, {\n \"class\": classes.value,\n \"checked\": nodeControl.selected,\n \"invalid\": nodeControl.invalid,\n \"disabled\": nodeControl.isDisabled,\n \"readonly\": nodeControl.isReadonly\n }, slots);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_RADIO_GROUP_SYMBOL } from '../../injections';\nimport { VRadio } from '../VRadio';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VRadioGroup = defineFormSelectorComponent({\n name: 'VRadioGroup',\n nodeType: VUI_RADIO_GROUP_SYMBOL,\n className: 'v-radio-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VRadio, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VSwitch.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SWITCH_GROUP_SYMBOL, VUI_SWITCH_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_SWITCH_SYMBOL,\n parentNodeType: VUI_SWITCH_GROUP_SYMBOL\n });\n const control = useControl(props);\n if (typeof window !== 'undefined') {\n window.yy = {};\n window.yy[String(Date.now())] = nodeControl;\n }\n const classes = computed(() => ['v-switch', {\n 'v-switch--selected': nodeControl.selected,\n 'v-switch--disabled': nodeControl.isDisabled\n }, control.classes.value]);\n const slots = {\n input: () => nodeControl.createInputElement({\n type: 'checkbox'\n }),\n icon: () => _createVNode(\"span\", {\n \"class\": \"v-switch__faux\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-switch__faux__pin\"\n }, null)]),\n label: () => ctx.slots.default?.()\n };\n ctx.expose({\n control: nodeControl\n });\n return () => _createVNode(VCheckable, {\n \"class\": classes.value,\n \"checked\": nodeControl.selected,\n \"invalid\": nodeControl.invalid,\n \"disabled\": nodeControl.isDisabled,\n \"readonly\": nodeControl.isReadonly\n }, slots);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_SWITCH_GROUP_SYMBOL } from '../../injections';\nimport { VSwitch } from '../VSwitch';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VSwitchGroup = defineFormSelectorComponent({\n name: 'VSwitchGroup',\n defaultMultiple: true,\n nodeType: VUI_SWITCH_GROUP_SYMBOL,\n className: 'v-switch-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VSwitch, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VOption.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SELECT_SYMBOL, VUI_OPTION_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VOption = defineComponent({\n name: 'VOption',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_OPTION_SYMBOL,\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const control = useControl(props);\n const classes = computed(() => ['v-option', {\n 'v-option--selected': nodeControl.selected,\n 'v-option--has-not-value': !nodeControl.hasValue,\n 'v-option--disabled': nodeControl.isDisabled\n }, control.classes.value]);\n return () => _createVNode(\"label\", {\n \"class\": classes.value,\n \"onClick\": nodeControl.handleClickElement,\n \"tabindex\": nodeControl.tabindex,\n \"data-value\": nodeControl.propValue,\n \"aria-disabled\": nodeControl.isDisabled\n }, [_createVNode(\"span\", {\n \"class\": \"v-option__label\"\n }, [ctx.slots.default?.()])]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VOptionGroup.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormSelectorItemGroupProps, useFormSelectorItemGroupControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { VUI_SELECT_SYMBOL } from '../../injections';\nconst slots = defineSlots();\nexport const VOptionGroup = defineComponent({\n name: 'VOptionGroup',\n props: {\n ...createFormSelectorItemGroupProps(),\n // eslint-disable-next-line vue/require-prop-types\n label: {},\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const groupControl = useFormSelectorItemGroupControl(props, ctx, {\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const labelSlot = computed(() => resolveVNodeChildOrSlots(props.label, ctx.slots.label));\n const classes = computed(() => ['v-option-group', {\n 'v-option-group--disabled': groupControl.isDisabled\n }]);\n ctx.expose({\n control: groupControl\n });\n return () => {\n const label = labelSlot.value?.(groupControl);\n return _createVNode(\"div\", {\n \"class\": classes\n }, [!!label && _createVNode(\"div\", {\n \"class\": \"v-option-group__label\"\n }, [label]), ctx.slots.default?.()]);\n };\n }\n});","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, vModelSelect as _vModelSelect, isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VSelect.scss';\nimport { ref, defineComponent, computed, nextTick } from 'vue';\nimport { createFormSelectorSettings, useFormSelectorControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots, createPropsOptions, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { useKeyboard } from '@fastkit/vue-keyboard';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VUI_SELECT_SYMBOL, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VMenu } from '../VMenu';\nimport { VOptionGroup } from '../VOptionGroup';\nimport { VOption } from '../VOption';\nimport { VButton } from '../VButton';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const ARROW_KEY_TYPES = useKeyboard.Key(['ArrowUp', 'ArrowDown']);\nexport const CHOICE_KEY_TYPES = useKeyboard.Key(['Enter', ' ']);\nexport const KEYBOARD_EVENT_TYPES = useKeyboard.Key([...ARROW_KEY_TYPES, ...CHOICE_KEY_TYPES]);\nconst {\n props,\n emits\n} = createFormSelectorSettings({\n defaultValidateTiming: 'blur'\n});\nconst slots = defineSlots();\nexport const VSelect = defineComponent({\n name: 'VSelect',\n props: {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots(),\n ...createPropsOptions({\n placeholder: String,\n loadingMessage: {},\n failedToLoadItemsMessage: {}\n }),\n closeOnNavigation: Boolean\n },\n slots,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const menuRef = ref(null);\n const menuOpened = ref(false);\n const showMenu = () => {\n menuOpened.value = true;\n };\n const closeMenu = () => {\n menuOpened.value = false;\n };\n const inputControl = useFormSelectorControl(props, ctx, {\n nodeType: VUI_SELECT_SYMBOL,\n onSelectItem: item => {\n closeMenu();\n }\n });\n const control = useControl(props);\n useControlField(props);\n const vui = useVui();\n const iconName = vui.icon('menuDown');\n const fieldRef = ref(null);\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n const focus = opts => {\n fieldRef.value?.focus?.(opts);\n };\n const renderSelections = selectedItems => {\n const selectionSlot = ctx.slots.selection;\n const children = [];\n if (inputControl.itemsLoadFailed) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [failedToLoadItemsMessageRef.value]));\n } else if (inputControl.itemsLoading) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [loadingMessageRef.value]));\n } else if (selectedItems.length) {\n selectedItems.forEach((item, index) => {\n if (index > 0) {\n children.push(vui.selectionSeparator());\n }\n const child = selectionSlot ? selectionSlot({\n item,\n index\n }) : item.renderDefaultSlot();\n children.push(child);\n });\n } else if (props.placeholder != null) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [props.placeholder]));\n }\n return children;\n };\n const clearKeyFocused = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option'));\n els.forEach(el => el.classList.remove('v-option--key-focused'));\n };\n const getItemElements = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option')).filter(el => {\n if (el.tabIndex === -1) return false;\n const disabled = el.getAttribute('disabled');\n const ariaDisabled = el.getAttribute('aria-disabled');\n if (ariaDisabled === 'true') return false;\n return disabled == null || disabled === '';\n });\n if (!els.length) return;\n return els;\n };\n const arrowKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !ARROW_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n const currentIndex = currentEl && els.indexOf(currentEl);\n let nextIndex;\n const {\n length\n } = els;\n const isUp = key === 'ArrowUp';\n if (currentIndex == null) {\n nextIndex = isUp ? length - 1 : 0;\n } else {\n const shiftAmount = key === 'ArrowUp' ? -1 : 1;\n nextIndex = currentIndex + shiftAmount;\n if (nextIndex < 0) {\n nextIndex = length - 1;\n } else if (nextIndex >= length) {\n nextIndex = 0;\n }\n }\n const nextEl = els[nextIndex];\n if (nextEl) {\n clearKeyFocused();\n nextEl.classList.add('v-option--key-focused');\n nextEl.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth'\n });\n ev.preventDefault();\n }\n };\n const choiceKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !CHOICE_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n if (currentEl) {\n // eslint-disable-next-line no-shadow\n const ev = new MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: true\n });\n currentEl.dispatchEvent(ev);\n ev.preventDefault();\n nextTick(() => {\n currentEl.classList.add('v-option--key-focused');\n });\n }\n };\n const keyboardEventHandler = ev => {\n if (ARROW_KEY_TYPES.includes(ev.key)) return arrowKeyHandler(ev);\n if (CHOICE_KEY_TYPES.includes(ev.key)) return choiceKeyHandler(ev);\n };\n useKeyboard([{\n key: KEYBOARD_EVENT_TYPES,\n handler: keyboardEventHandler\n }], {\n autorun: true\n });\n ctx.expose({\n control: inputControl,\n focus,\n showMenu,\n closeMenu\n });\n const handleClickLabel = ev => {\n focus();\n };\n return () => {\n const children = ctx.slots.default?.() || [];\n const propGroups = inputControl.propGroups.map(group => {\n let _slot2;\n return _createVNode(VOptionGroup, {\n \"key\": group.id,\n \"groupId\": group.id,\n \"label\": group.label(inputControl),\n \"disabled\": group.disabled\n }, _isSlot(_slot2 = group.items.map(item => {\n let _slot;\n return _createVNode(VOption, {\n \"disabled\": item.disabled,\n \"value\": item.value,\n \"key\": item.value\n }, _isSlot(_slot = item.label(inputControl)) ? _slot : {\n default: () => [_slot]\n });\n })) ? _slot2 : {\n default: () => [_slot2]\n });\n });\n const classes = computed(() => ['v-select', control.classes.value, {\n 'v-select--multiple': inputControl.multiple\n }]);\n const controlDefaultSlot = () => [_withDirectives(_createVNode(\"select\", {\n \"class\": \"v-select__input__element\",\n \"name\": inputControl.name,\n \"tabindex\": inputControl.tabindex,\n \"disabled\": inputControl.isDisabled,\n \"multiple\": inputControl.multiple,\n \"onFocus\": inputControl.focusHandler,\n \"onBlur\": inputControl.blurHandler,\n \"onUpdate:modelValue\": $event => inputControl.value = $event\n }, [inputControl.items.map(item => _createVNode(\"option\", {\n \"value\": item.propValue,\n \"key\": item.propValue\n }, [item.renderDefaultSlot()]))]), [[_vModelSelect, inputControl.value]]), _createVNode(\"div\", {\n \"class\": \"v-select__selections\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-select__selections__inner\"\n }, [renderSelections(inputControl.selectedItems)])])];\n const endAdornmentSlot = () => {\n if (inputControl.itemsLoadFailed) {\n return _createVNode(VButton, {\n \"key\": \"reload\",\n \"icon\": vui.icon('reload'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n inputControl.loadItems();\n }\n }, null);\n }\n if (props.clearable && inputControl.value != null) {\n return _createVNode(VButton, {\n \"key\": \"clear\",\n \"icon\": vui.icon('clear'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n inputControl.clear();\n }\n }, null);\n }\n return _createVNode(VIcon, {\n \"key\": \"icon\",\n \"name\": iconName,\n \"rotate\": menuOpened.value ? 180 : 0\n }, null);\n };\n const menuActivatorSlot = ({\n control: menu\n }) => _createVNode(VControlField, {\n \"class\": \"v-select__input\",\n \"ref\": fieldRef,\n \"loading\": inputControl.itemsLoading,\n \"error\": inputControl.itemsLoadFailed,\n \"startAdornment\": props.startAdornment,\n \"endAdornment\": props.endAdornment,\n \"size\": control.size.value,\n \"focused\": menuOpened.value,\n \"autoHeight\": inputControl.multiple,\n \"onClick\": ev => {\n if (inputControl.canOperation && !menu.isActive) {\n let t = ev.target;\n const count = 0;\n let hit = false;\n while (count < 5) {\n if (t.classList.contains('v-select__input')) {\n hit = true;\n break;\n }\n t = t.parentElement;\n }\n menu.setActivator(hit ? t : ev).show();\n }\n }\n }, {\n ...ctx.slots,\n default: controlDefaultSlot,\n endAdornment: endAdornmentSlot\n });\n const menuSlots = {\n activator: menuActivatorSlot,\n default: () => _createVNode(\"div\", {\n \"class\": ['v-select__body', control.classes.value]\n }, [children, propGroups])\n };\n const defaultSlot = () => _createVNode(VMenu, {\n \"width\": \"fit\",\n \"maxWidth\": \"fit\",\n \"closeOnNavigation\": props.closeOnNavigation,\n \"distance\": 0,\n \"alwaysRender\": true,\n \"modelValue\": menuOpened.value,\n \"onUpdate:modelValue\": $event => menuOpened.value = $event,\n \"ref\": menuRef,\n \"onClose\": clearKeyFocused\n }, menuSlots);\n return _createVNode(VFormControl, {\n \"nodeControl\": inputControl,\n \"class\": classes.value,\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"hiddenInfo\": props.hiddenInfo,\n \"requiredChip\": props.requiredChip,\n \"onClickLabel\": handleClickLabel\n }, {\n ...ctx.slots,\n default: defaultSlot\n });\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextField.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createTextInputNodeSettings, useTextInputNodeControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXT_FIELD_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createTextInputNodeSettings();\nconst slots = defineSlots();\nfunction createTextFieldProps() {\n return {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n };\n}\nexport const VTextField = defineComponent({\n name: 'VTextField',\n props: createTextFieldProps(),\n emits,\n slots,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const inputControl = useTextInputNodeControl(props, ctx, {\n nodeType: VUI_TEXT_FIELD_SYMBOL\n });\n const control = useControl(props);\n useControlField(props);\n const classes = computed(() => ['v-text-field', control.classes.value]);\n const handleClickLabel = ev => {\n inputControl.focus();\n };\n const defaultSlot = () => _createVNode(VControlField, {\n \"class\": \"v-text-field__input\",\n \"startAdornment\": props.startAdornment,\n \"endAdornment\": props.endAdornment,\n \"size\": control.size.value\n }, {\n ...ctx.slots,\n default: () => [inputControl.createInputElement({\n class: 'v-text-field__input__element'\n }), inputControl.createDatalist()]\n });\n const infoAppendsSlot = () => {\n const {\n counterResult\n } = inputControl;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n };\n ctx.expose({\n control: inputControl\n });\n return () => _createVNode(VFormControl, {\n \"nodeControl\": inputControl,\n \"hiddenInfo\": props.hiddenInfo,\n \"class\": classes.value,\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"requiredChip\": props.requiredChip,\n \"onClickLabel\": handleClickLabel\n }, {\n ...ctx.slots,\n default: defaultSlot,\n infoAppends: infoAppendsSlot\n });\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent, computed } from 'vue';\nimport { VTextField } from '../VTextField/VTextField';\nconst toString = value => {\n if (value == null) return '';\n return String(value);\n};\nconst toNumber = value => {\n if (value == null) return null;\n if (typeof value === 'number') return value;\n if (value.trim() === '') return null;\n return Number(value);\n};\nexport const VNumberField = defineComponent({\n name: 'VNumberField',\n props: {\n ...undefined,\n modelValue: {\n type: Number,\n default: null\n }\n },\n emits: {\n ...undefined,\n 'update:modelValue': value => true,\n change: value => true\n },\n setup(props, ctx) {\n const hasNumberMask = computed(() => {\n const {\n mask\n } = ctx.attrs;\n return !!mask && typeof mask === 'object' && mask.mask === Number;\n });\n const inputmode = computed(() => {\n // eslint-disable-next-line no-shadow\n const {\n inputmode\n } = ctx.attrs;\n if (inputmode) return inputmode;\n return hasNumberMask.value ? 'decimal' : undefined;\n });\n const onUpdateModelValue = value => {\n ctx.emit('update:modelValue', toNumber(value));\n };\n const onChange = value => {\n ctx.emit('change', toNumber(value));\n };\n return () => _createVNode(VTextField, _mergeProps(ctx.attrs, {\n \"type\": hasNumberMask.value ? 'text' : 'number',\n \"inputmode\": inputmode.value,\n \"maskModel\": \"typed\",\n \"modelValue\": toString(props.modelValue),\n \"onUpdate:modelValue\": onUpdateModelValue,\n \"onChange\": onChange\n }), ctx.slots);\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextarea.scss';\nimport { defineComponent } from 'vue';\nimport { createTextareaNodeSettings, useTextareaNodeControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXTAREA_SYMBOL, useVui } from '../../injections';\nconst {\n props,\n emits\n} = createTextareaNodeSettings();\nconst slots = defineSlots();\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n props: {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const vui = useVui();\n const inputControl = useTextareaNodeControl(props, ctx, {\n nodeType: VUI_TEXTAREA_SYMBOL,\n defaultRows: vui.textareaRows\n });\n const control = useControl(props);\n useControlField(props);\n ctx.expose({\n control: inputControl\n });\n const defaultSlot = () => _createVNode(VControlField, {\n \"class\": \"v-textarea__input\",\n \"size\": control.size.value,\n \"autoHeight\": true,\n \"startAdornment\": props.startAdornment,\n \"endAdornment\": props.endAdornment\n }, {\n ...ctx.slots,\n default: () => inputControl.createInputElement({\n class: 'v-textarea__input__element'\n })\n });\n const infoAppendsSlot = () => {\n const {\n counterResult\n } = inputControl;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n };\n return () => _createVNode(VFormControl, {\n \"nodeControl\": inputControl,\n \"class\": ['v-textarea', control.classes.value],\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"hiddenInfo\": props.hiddenInfo,\n \"requiredChip\": props.requiredChip,\n \"onClickLabel\": ev => {\n inputControl.focus();\n }\n }, {\n ...ctx.slots,\n default: defaultSlot,\n infoAppends: infoAppendsSlot\n });\n }\n});","import { defineComponent } from 'vue';\nimport { createFormGroupSettings, useFormGroup } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_FORM_GROUP_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormGroupSettings();\nexport const formGroupSlots = defineSlots();\nexport function createVFormGroupProps() {\n return {\n ...props,\n ...createControlProps(),\n ...formGroupSlots()\n };\n}\nexport const VFormGroup = defineComponent({\n name: 'VFormGroup',\n inheritAttrs: false,\n props: createVFormGroupProps(),\n emits,\n slots: formGroupSlots,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormGroup(props, ctx, {\n nodeType: VUI_FORM_GROUP_SYMBOL\n });\n useControl(props);\n ctx.expose({\n control: nodeControl\n });\n return () => ctx.slots.default?.(nodeControl);\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport { defineComponent, computed } from 'vue';\nimport { createFormSettings, useForm } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_FORM_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormSettings({\n nodeType: VUI_FORM_SYMBOL\n});\nexport const formSlots = defineSlots();\nexport function createVFormProps() {\n return {\n ...props,\n ...createControlProps(),\n ...formSlots()\n };\n}\nexport const VForm = defineComponent({\n name: 'VForm',\n props: createVFormProps(),\n emits,\n slots: formSlots,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useForm(props, ctx, {\n nodeType: VUI_FORM_SYMBOL\n });\n const classes = computed(() => ['v-form', {\n 'v-form--valid': nodeControl.valid,\n 'v-form--invalid': nodeControl.invalid,\n 'v-form--disabled': nodeControl.isDisabled,\n 'v-form--validating': nodeControl.validating,\n 'v-form--pending': nodeControl.pending,\n 'v-form--sending': nodeControl.sending\n }]);\n useControl(props);\n ctx.expose({\n control: nodeControl\n });\n return () => _createVNode(\"form\", _mergeProps({\n \"class\": classes.value\n }, nodeControl.formAttrs), [ctx.slots.default?.(nodeControl)]);\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VTab.scss';\nimport { defineComponent, computed } from 'vue';\nimport { RouterLink } from 'vue-router';\nimport { resolveRawIconProp } from '../VIcon';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VTab = defineComponent({\n name: 'VTab',\n props: {\n value: {\n type: String,\n required: true\n },\n active: Boolean,\n to: [String, Object],\n icon: [String, Function]\n },\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const classesRef = computed(() => ({\n 'v-tab--active': props.active\n }));\n const exposeValues = {\n value: props.value,\n active: props.active\n };\n ctx.expose(exposeValues);\n return () => {\n const {\n to,\n value,\n icon,\n active\n } = props;\n const classes = ['v-tab', classesRef.value];\n const children = _createVNode(\"span\", {\n \"class\": \"v-tab__content\"\n }, [icon && resolveRawIconProp(active, icon, {\n class: 'v-tab__icon'\n }), ctx.slots.default?.()]);\n if (to) {\n const replace = typeof to === 'string' ? undefined : to.replace;\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"replace\": replace\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n }\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": value,\n \"onClick\": ev => {\n ctx.emit('click', ev);\n }\n }, [children]);\n };\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VTabs.scss';\nimport { defineComponent, ref, computed, watch, onBeforeUnmount, onBeforeUpdate, onMounted } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VScroller } from '@fastkit/vue-scroller';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { isPromise } from '@fastkit/helpers';\nimport { VTab } from './VTab';\nimport { useVui } from '../../injections';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nconst slots = defineSlots();\nexport const VTabs = defineComponent({\n name: 'VTabs',\n props: {\n modelValue: String,\n items: {\n type: Array,\n required: true\n },\n /**\n * 自動スクロールする際の余剰オフセット幅(px)\n */\n autoScrollOffset: {\n type: Number,\n default: 20\n },\n /**\n * ルーター同期する場合設定する\n */\n router: Function,\n /**\n * ルーティング連携を行う際に、クエリベースのURLマッチングを行う\n * タブのURLが /page1?tab=xxx のようになる時に設定する\n */\n withQuery: Boolean,\n color: String,\n onBeforeChange: Function,\n ...slots()\n },\n emits: {\n 'update:modelValue': newValue => true,\n change: newValue => true\n },\n slots,\n setup(props, ctx) {\n const vui = useVui();\n const internalValueRef = ref(null);\n const ScrollerRef = VScroller.$ref();\n const elRef = ref(null);\n let scrollResult;\n const tabRefs = ref([]);\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: value => {\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('tabDefault').color\n });\n const classes = computed(() => [colorScope.value.className]);\n const computedItemsRef = computed(() => {\n const current = currentRef.value;\n const {\n router\n } = props;\n return props.items.map(item => {\n const {\n value\n } = item;\n const active = current === value;\n let location;\n if (router) {\n // eslint-disable-next-line no-shadow\n const to = router(value);\n const route = vui.router.resolve(to);\n location = {\n to,\n route\n };\n }\n return {\n ...item,\n active,\n location\n };\n });\n });\n\n // eslint-disable-next-line no-shadow\n const setTabRef = ref => {\n tabRefs.value.push(ref);\n };\n function setupInternalValue(routable) {\n let value = props.modelValue;\n if (value == null || value === '') {\n const firstItem = props.items[0];\n if (!firstItem) return;\n value = firstItem.value;\n }\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n if (routable) {\n const {\n router\n } = props;\n if (!router) return;\n const hit = computedItemsRef.value.find(item => item.value === value);\n if (!hit) return;\n const {\n location\n } = hit;\n if (!location) return;\n // eslint-disable-next-line no-shadow\n const {\n to,\n route\n } = location;\n if (route.fullPath === vui.location.currentRoute.fullPath) return;\n vui.router[to.replace ? 'replace' : 'push'](to);\n } else if (!props.router && props.modelValue !== value) {\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n }\n async function to(value) {\n const {\n value: currentValue\n } = currentRef;\n if (currentValue === value) {\n return;\n }\n const {\n onBeforeChange\n } = props;\n if (onBeforeChange) {\n let result = onBeforeChange(value, currentRef.value);\n if (isPromise(result)) {\n result = await result;\n }\n if (result === false) {\n return;\n }\n }\n currentRef.value = value;\n }\n function cancelScroll() {\n if (scrollResult) {\n scrollResult.cancel();\n scrollResult = undefined;\n }\n }\n const findTab = tab => tabRefs.value.find(t => t.value === tab);\n function scrollToTab(tabValue) {\n const tab = findTab(tabValue);\n if (!tab) return;\n const $tab = tab.$el;\n if (!$tab) return;\n const scroller = ScrollerRef.instance;\n if (!scroller) return;\n const container = scroller.scroller.element();\n if (!container) return;\n const {\n autoScrollOffset\n } = props;\n const tabLeft = $tab.offsetLeft;\n const tabWidth = $tab.offsetWidth;\n const tabRight = tabLeft + tabWidth;\n let hiddenLeft = 0;\n let hiddenRight = 0;\n const {\n scrollLeft,\n offsetWidth: scrollerWidth\n } = container;\n hiddenLeft = Math.max(scrollLeft - tabLeft, 0);\n hiddenRight = Math.max(tabRight - scrollerWidth - scrollLeft, 0);\n if (hiddenLeft > 0) hiddenLeft += autoScrollOffset;\n if (hiddenRight > 0) hiddenRight += autoScrollOffset;\n let scrollAmount = 0;\n if (hiddenRight > 0) {\n scrollAmount = hiddenRight;\n }\n if (hiddenLeft > 0) {\n scrollAmount = -hiddenLeft;\n }\n if (Math.abs(scrollAmount) > 0) {\n cancelScroll();\n scrollResult = scroller.scroller.by(scrollAmount, 0, {\n duration: 150\n });\n }\n }\n watch(() => props.modelValue, () => setupInternalValue(true));\n watch(() => props.items, () => setupInternalValue(), {\n deep: true\n });\n watch(() => internalValueRef.value, newValue => {\n scrollToTab(newValue);\n });\n vui.location.watchRoute(route => {\n if (!props.router) return;\n const path = props.withQuery ? route.fullPath : route.path;\n const hit = computedItemsRef.value.find(({\n location\n }) => location && location.route.fullPath === path);\n if (hit) {\n currentRef.value = hit.value;\n }\n }, {\n immediate: true\n });\n onMounted(() => {\n scrollToTab(currentRef.value);\n });\n onBeforeUnmount(() => {\n cancelScroll();\n });\n onBeforeUpdate(() => {\n tabRefs.value = [];\n });\n setupInternalValue();\n return () => {\n const items = computedItemsRef.value;\n const itemSlot = ctx.slots.item;\n const children = items.map(({\n value,\n active,\n label,\n icon,\n location\n }) => {\n if (!label) {\n label = itemSlot;\n }\n\n // eslint-disable-next-line no-shadow\n const children = typeof label === 'function' ? label({\n value,\n active,\n vui\n }) : label;\n const _to = location && location.to || undefined;\n return _createVNode(VTab, {\n \"value\": value,\n \"to\": _to,\n \"icon\": icon,\n \"active\": active,\n \"ref\": setTabRef,\n \"onClick\": e => {\n if (!e.defaultPrevented) {\n to(value);\n }\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n });\n return _createVNode(\"div\", {\n \"class\": ['v-tabs', classes.value],\n \"ref\": elRef\n }, [_createVNode(ScrollerRef, {\n \"class\": \"v-tabs__scroller\",\n \"containerClass\": \"v-tabs__scroller__container\",\n \"guide\": true\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-tabs__content\"\n }, [children])]\n })]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VBreadcrumbs.scss';\nimport { defineComponent, computed } from 'vue';\nimport { VAction } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { resolveRawIconProp } from '../VIcon';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n props: {\n items: {\n type: Array,\n default: () => []\n },\n divider: [String, Function]\n },\n setup(props, ctx) {\n const vui = useVui();\n const computedItemsRef = computed(() => {\n const items = props.items.map(rawItem => typeof rawItem === 'string' ? {\n text: rawItem\n } : rawItem);\n return items.map(item => {\n const {\n to,\n text\n } = item;\n const {\n disabled = vui.location.match(to) || !vui.location.isAvailable(to)\n } = item;\n return {\n ...item,\n disabled,\n text: typeof text === 'function' ? text(vui) : text\n };\n });\n });\n const lengthRef = computed(() => computedItemsRef.value.length);\n const defaultDividerSlot = () => [_createVNode(\"i\", {\n \"class\": \"v-breadcrumbs__divider__icon\"\n }, null)];\n return () => {\n if (lengthRef.value < 1) return;\n // eslint-disable-next-line no-shadow\n let dividerSlot;\n const propDivider = props.divider;\n if (propDivider) {\n dividerSlot = typeof propDivider === 'function' ? propDivider : () => propDivider;\n } else {\n dividerSlot = defaultDividerSlot;\n }\n const children = [];\n computedItemsRef.value.forEach((item, index) => {\n const {\n text,\n icon,\n disabled,\n to\n } = item;\n if (index > 0) {\n const divider = dividerSlot(vui);\n if (divider) {\n children.push(_createVNode(\"li\", {\n \"class\": \"v-breadcrumbs__divider\",\n \"key\": `divider-${index}`\n }, [divider]));\n }\n }\n const myChildren = [];\n if (icon) {\n const $icon = resolveRawIconProp(false, icon, {\n class: 'v-breadcrumbs__icon'\n });\n if ($icon) {\n myChildren.push($icon);\n }\n }\n if (text) myChildren.push(text);\n const itemChild = to ? _createVNode(VAction, {\n \"class\": \"v-breadcrumbs__link\",\n \"to\": to,\n \"exactActiveClass\": \"v-breadcrumbs__link--active\"\n }, _isSlot(myChildren) ? myChildren : {\n default: () => [myChildren]\n }) : myChildren;\n children.push(_createVNode(\"li\", {\n \"class\": ['v-breadcrumbs__item', {\n 'v-breadcrumbs__item--disabled': disabled\n }],\n \"key\": `link-${index}`\n }, [itemChild]));\n });\n return _createVNode(\"nav\", {\n \"class\": \"v-breadcrumbs\"\n }, [_createVNode(\"ul\", {\n \"class\": \"v-breadcrumbs__list\"\n }, [children])]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VContentSwitcher.scss';\nimport { defineComponent, ref, computed, watch, Transition } from 'vue';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VContentSwitcher = defineComponent({\n name: 'VContentSwitcher',\n props: {\n modelValue: String,\n order: {\n type: Array,\n default: () => []\n },\n autotop: [Boolean, Object]\n },\n emits: {\n 'update:modelValue': modelValue => true\n },\n setup(props, ctx) {\n const internalValueRef = ref('');\n const transitionRef = ref('');\n const elRef = ref(null);\n const anchorRef = ref(null);\n const computedOrderRef = computed(() => props.order.map(row => typeof row === 'string' ? row : row.value));\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: current => {\n if (internalValueRef.value !== current) {\n internalValueRef.value = current;\n ctx.emit('update:modelValue', current);\n }\n }\n });\n const autotopSettingsRef = computed(() => {\n let {\n autotop: settings\n } = props;\n if (settings === true) settings = {};\n if (!settings) return;\n return {\n ...settings\n };\n });\n function seeTop(options) {\n const scroller = getDocumentScroller();\n const {\n value: anchor\n } = anchorRef;\n if (anchor) {\n scroller.toElement(anchor, options);\n }\n }\n function getEl() {\n const el = elRef.value;\n if (!el) {\n throw new Error('missing element');\n }\n return el;\n }\n watch(() => props.modelValue, (value, beforeValue) => {\n if (value == null) return;\n internalValueRef.value = value;\n if (beforeValue == null) return;\n const order = computedOrderRef.value;\n const index = order.indexOf(value);\n const beforeIndex = order.indexOf(beforeValue);\n let transition = 'fade';\n if (index !== -1 && beforeIndex !== -1) {\n if (index > beforeIndex) transition = 'v-content-switcher-next';\n if (index < beforeIndex) transition = 'v-content-switcher-prev';\n }\n transitionRef.value = transition;\n }, {\n immediate: true\n });\n watch(currentRef, () => {\n const autotopSettings = autotopSettingsRef.value;\n if (autotopSettings && props.modelValue != null) {\n seeTop(autotopSettings);\n }\n });\n return () => {\n const current = currentRef.value;\n const children = ctx.slots.default?.() || [];\n const currentSlot = ctx.slots[current];\n if (currentSlot) {\n children.push(_createVNode(\"div\", {\n \"class\": \"v-content-switcher__content\",\n \"key\": current\n }, [currentSlot(this)]));\n }\n return _createVNode(\"div\", {\n \"class\": \"v-content-switcher\",\n \"ref\": elRef\n }, [_createVNode(\"div\", {\n \"class\": \"v-content-switcher__anchor\",\n \"ref\": anchorRef\n }, null), _createVNode(Transition, {\n \"name\": transitionRef.value,\n \"onBeforeLeave\": el => {\n getEl().style.height = `${el.offsetHeight}px`;\n },\n \"onEnter\": el => {\n getEl().style.height = `${el.offsetHeight}px`;\n },\n \"onAfterEnter\": () => {\n getEl().style.height = '';\n },\n \"onEnterCancelled\": () => {\n getEl().style.height = '';\n },\n \"onLeaveCancelled\": () => {\n getEl().style.height = '';\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createTextVNode as _createTextVNode, createVNode as _createVNode } from \"vue\";\nimport './VDataTable.scss';\nimport { defineComponent, ref, computed, onMounted, watch, withDirectives, Transition, isVNode } from 'vue';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { VueAppLayout } from '@fastkit/vue-app-layout';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VSelect } from '../VSelect';\nimport { VPagination } from '../VPagination';\nimport { VCheckbox } from '../VCheckbox';\nimport { VIcon, resolveRawIconProp } from '../VIcon';\nimport { VProgressCircular } from '../loading';\nimport { VPaper } from '../VPaper';\nconst DATA_TABLE_DEFAULTS = {\n itemKey: 'id',\n pageQuery: 'page',\n sortQuery: 'sort',\n orderQuery: 'order',\n limitQuery: 'limit',\n defaultOrder: 'ASC',\n ascQueryValue: 'ASC',\n descQueryValue: 'DESC',\n limits: [5, 10, 20, 50, 100],\n limitDefault: 20,\n controlThreshold: 10,\n searchQuery: []\n};\nexport function configureDataTableDefaults(defaults) {\n Object.assign(DATA_TABLE_DEFAULTS, defaults);\n if (!defaults.defaultOrder && defaults.ascQueryValue) {\n DATA_TABLE_DEFAULTS.defaultOrder = defaults.ascQueryValue;\n }\n}\nconst SELECTABLE_HEADER_SYMBOL = '__selectable_header__';\nexport const VDataTable = defineComponent({\n name: 'VDataTable',\n props: {\n /** 選択中のkeyの配列 */\n modelValue: {\n type: Array,\n default: () => []\n },\n itemKey: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.itemKey\n },\n /**\n * ページネーションクエリ名\n */\n pageQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.pageQuery\n },\n /**\n * ソートクエリ名\n */\n sortQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.sortQuery\n },\n /**\n * 表示順クエリ名\n */\n orderQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.orderQuery\n },\n /**\n * 検索クエリ名\n */\n searchQuery: {\n type: [String, Array],\n default: () => DATA_TABLE_DEFAULTS.searchQuery\n },\n /**\n * リミット件数クエリ名\n */\n limitQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.limitQuery\n },\n defaultOrder: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.defaultOrder\n },\n ascQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.ascQueryValue\n },\n descQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.descQueryValue\n },\n limits: {\n type: Array,\n default: () => DATA_TABLE_DEFAULTS.limits\n },\n limitDefault: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.limitDefault\n },\n controlThreshold: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.controlThreshold\n },\n headers: {\n type: Array,\n required: true\n },\n items: {\n type: Array,\n default: () => []\n },\n total: {\n type: Number,\n default: 0\n },\n selectable: Boolean,\n fixedHeader: Boolean,\n maxHeight: [Number, String],\n // eslint-disable-next-line vue/require-prop-types\n noDataMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n noResultsMessage: {},\n rowSettings: [Object, Function]\n },\n emits: {\n input: selectedValues => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const bootedRef = ref(false);\n const footerHeightRef = ref(0);\n const internalValues = ref(props.modelValue.slice());\n const rowSettings = computed(() => {\n // eslint-disable-next-line no-shadow\n const {\n rowSettings\n } = props;\n if (!rowSettings) return () => ({});\n return typeof rowSettings === 'function' ? rowSettings : () => rowSettings;\n });\n const containedVariant = vui.setting('containedVariant');\n const sortedItemKeysRef = computed(() => props.items.map(item => item[props.itemKey]));\n const isEmptyRef = computed(() => props.items.length === 0);\n const headersRef = computed(() => {\n const {\n headers,\n selectable\n } = props;\n const ret = [];\n if (selectable) {\n ret.push({\n key: SELECTABLE_HEADER_SYMBOL\n });\n }\n ret.push(...headers.filter(({\n hidden\n }) => !(typeof hidden === 'function' ? hidden() : hidden)));\n return ret;\n });\n const searchQueryValues = computed(() => {\n let {\n searchQuery\n } = props;\n if (!searchQuery) {\n return [];\n }\n if (!Array.isArray(searchQuery)) {\n searchQuery = [searchQuery];\n }\n const values = [];\n searchQuery.forEach(query => {\n const value = vui.location.getQuery(query);\n if (value == null || value === '') {\n return;\n }\n if (typeof value === 'object' && !Object.keys(value).length) {\n return;\n }\n values.push(value);\n });\n return values;\n });\n const emptyMessage = computed(() => {\n let message;\n if (searchQueryValues.value.length) {\n message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。\n } else {\n message = props.noDataMessage || vui.setting('noDataMessage') || 'No data was available.'; // データはありませんでした。\n }\n return typeof message === 'function' ? message(vui) : message;\n });\n const classesRef = computed(() => [{\n 'v-data-table--fixed-header': props.fixedHeader\n }]);\n const layout = VueAppLayout.use();\n const bodyInnerStylesRef = computed(() => {\n if (!bootedRef.value) return;\n const {\n fixedHeader,\n maxHeight\n } = props;\n const footerHeight = footerHeightRef.value;\n const _maxHeight = maxHeight || (fixedHeader ? '100%' : maxHeight);\n if (!_maxHeight) {\n return;\n }\n return {\n maxHeight: layout.calculateViewHeight(_maxHeight, -footerHeight - 100, 200)\n };\n });\n const defaultOrderQueryRef = computed(() => props.defaultOrder === props.ascQueryValue ? props.ascQueryValue : props.descQueryValue);\n const isTransitioningRef = computed(() => vui.location.isQueryOnlyTransitioning([props.pageQuery, props.sortQuery, props.orderQuery, props.limitQuery]));\n const pageRef = computed(() => vui.location.getQuery(props.pageQuery, Number, 1));\n const needShowHeaderControlRef = computed(() => props.items.length > props.controlThreshold);\n const sortByRef = computed({\n get: () => vui.location.getQuery(props.sortQuery),\n set(value) {\n vui.location.pushQuery({\n [props.sortQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const ordersRef = computed(() => [props.ascQueryValue, props.descQueryValue]);\n const usePagingRef = computed(() => props.limits.length > 0);\n const orderByRef = computed({\n get: () => {\n const value = vui.location.getQuery(props.orderQuery);\n if (typeof value !== 'string' || !ordersRef.value.includes(value)) {\n return;\n }\n return value;\n },\n set(value) {\n vui.location.pushQuery({\n [props.orderQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const offsetRef = computed(() => (pageRef.value - 1) * limitRef.value);\n const limitRef = computed({\n get: () => vui.location.getQuery(props.limitQuery, Number, props.limitDefault),\n set: value => {\n const page = Math.floor(offsetRef.value / value) + 1;\n vui.location.pushQuery({\n [props.limitQuery]: value,\n [props.pageQuery]: page\n });\n }\n });\n const pageLengthRef = computed(() => {\n const {\n total\n } = props;\n const _limit = limitRef.value;\n if (!total) return 0;\n return Math.ceil(total / _limit);\n });\n const lengthRef = computed(() => props.items.length);\n const isASCRef = computed(() => orderByRef.value === props.ascQueryValue);\n // const isDESCRef = computed(() => orderByRef.value === props.descQueryValue);\n const sortIconRef = computed(() => {\n let icon = vui.icon('sort');\n if (typeof icon === 'string') {\n const name = icon;\n icon = gen => gen({\n name,\n rotate: isASCRef.value ? 180 : 0\n });\n }\n return icon;\n });\n const isIndeterminateRef = computed(() => {\n const {\n length\n } = internalValues.value;\n return length > 0 && length < sortedItemKeysRef.value.length;\n });\n const isAllSelectedRef = computed(() => internalValues.value.length === sortedItemKeysRef.value.length);\n function setSort(settings) {\n const {\n sort,\n order\n } = settings;\n if ((sort === undefined || sortByRef.value === sort) && (order === undefined || orderByRef.value === order)) return;\n const queries = {};\n if (sort) {\n queries[props.sortQuery] = sort;\n }\n if (order) {\n queries[props.orderQuery] = order;\n }\n vui.location.pushQuery({\n ...queries,\n ...(usePagingRef.value ? {\n [props.pageQuery]: 1\n } : undefined)\n });\n }\n function toggleOrderBy() {\n return setSort({\n order: orderByRef.value === props.ascQueryValue ? props.descQueryValue : props.ascQueryValue\n });\n }\n function isSelected(key) {\n return internalValues.value.includes(key);\n }\n function select(key) {\n if (!internalValues.value.includes(key)) {\n const values = internalValues.value.slice();\n values.push(key);\n const sortedKeys = sortedItemKeysRef.value;\n values.sort((a, b) => {\n const ai = sortedKeys.indexOf(a);\n const bi = sortedKeys.indexOf(b);\n if (ai < bi) return -1;\n if (ai > bi) return 1;\n return 0;\n });\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function selectAll() {\n if (!isAllSelectedRef.value) {\n const values = sortedItemKeysRef.value.slice();\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselectAll() {\n if (internalValues.value.length) {\n const values = [];\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselect(key) {\n const values = internalValues.value.slice();\n const index = values.indexOf(key);\n if (index !== -1) {\n values.splice(index, 1);\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function handleClickSortHeader(header, ev) {\n const {\n sortQuery\n } = header;\n if (!sortQuery) return;\n if (sortByRef.value === sortQuery) {\n return toggleOrderBy();\n }\n return setSort({\n sort: sortQuery,\n order: defaultOrderQueryRef.value\n });\n }\n function genPagination() {\n return _createVNode(VPagination, {\n \"class\": \"v-data-table__pagination\",\n \"dense\": true,\n \"align\": \"right\",\n \"routeQuery\": props.pageQuery,\n \"modelValue\": pageRef.value,\n \"length\": pageLengthRef.value\n }, null);\n }\n function genControls() {\n const {\n total\n } = props;\n const offset = offsetRef.value;\n const length = lengthRef.value;\n return _createVNode(\"div\", {\n \"class\": \"v-data-table__controls\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__controls__info\"\n }, [_createVNode(\"small\", {\n \"class\": \"v-data-table__controls__info__length\"\n }, [`全 ${total} 件中 ${offset + 1} 件 〜 ${offset + length} 件を表示`])]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__select-limit\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-data-table__controls__select-limit__prefix\"\n }, [_createTextVNode(\"1\\u30DA\\u30FC\\u30B8\\u306B\")]), _createVNode(VSelect, {\n \"class\": \"v-data-table__controls__select-limit__node\",\n \"size\": \"sm\",\n \"hiddenInfo\": true,\n \"disabled\": isTransitioningRef.value,\n \"items\": props.limits.map(limit => ({\n label: `${limit}件`,\n value: limit\n })),\n \"modelValue\": limitRef.value,\n \"onUpdate:modelValue\": $event => limitRef.value = $event\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__pagination\"\n }, [genPagination()])]);\n }\n function genTableHeader() {\n const sortBy = sortByRef.value;\n const isIndeterminate = isIndeterminateRef.value;\n const isAllSelected = isAllSelectedRef.value;\n const {\n defaultOrder,\n ascQueryValue\n } = props;\n // const usePaging = usePagingRef.value;\n\n const children = headersRef.value.map(header => {\n const {\n label,\n sortQuery,\n align,\n key\n } = header;\n const headerChildren = [];\n if (label != null && typeof label !== 'boolean') {\n let _children = typeof label === 'function' ? label(vui) : label;\n if (_children && !Array.isArray(_children) && typeof _children === 'object') {\n _children = JSON.stringify(_children);\n }\n headerChildren.push(_children);\n }\n if (key === SELECTABLE_HEADER_SYMBOL) {\n headerChildren.push(_createVNode(VCheckbox, {\n \"modelValue\": isAllSelected,\n \"indeterminate\": isIndeterminate,\n \"onChange\": ev => {\n if (isAllSelectedRef.value) {\n deselectAll();\n } else {\n selectAll();\n }\n }\n }, null));\n }\n const sortActive = sortBy === sortQuery;\n if (sortQuery) {\n const isASC = sortActive ? isASCRef.value : defaultOrder === ascQueryValue;\n headerChildren.unshift(_createVNode(VIcon, {\n \"class\": \"v-data-table__table__sort-icon v-data-table__table__sort-icon--empty\",\n \"name\": \"$empty\"\n }, null));\n headerChildren.push(resolveRawIconProp(false, sortIconRef.value, {\n class: ['v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow', {\n 'v-data-table__table__sort-icon--asc': isASC,\n 'v-data-table__table__sort-icon--desc': !isASC\n }]\n })\n // <VIcon\n // class={[\n // 'v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow',\n // {\n // 'v-data-table__table__sort-icon--asc': isASC,\n // 'v-data-table__table__sort-icon--desc': !isASC,\n // },\n // ]}\n // name=\"mdi-chevron-down\"\n // />,\n );\n }\n const classes = ['v-data-table__table__cell', {\n 'v-data-table__table__cell--active': sortActive\n }];\n if (align) {\n classes.push(`v-data-table__table__cell--${align}`);\n }\n return _createVNode(\"th\", {\n \"class\": classes,\n \"key\": header.key,\n \"tabindex\": sortQuery ? 0 : undefined,\n \"onClick\": ev => {\n if (!sortQuery) return;\n handleClickSortHeader(header, ev);\n }\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__table__cell__tile\"\n }, [headerChildren])]);\n });\n return _createVNode(\"thead\", {\n \"class\": \"v-data-table__table__header\"\n }, [_createVNode(\"tr\", null, [children])]);\n }\n function toggleSelect(key) {\n return isSelected(key) ? deselect(key) : select(key);\n }\n function defaultItemSlot(payload) {\n const {\n key,\n item,\n selected\n } = payload;\n const headers = headersRef.value;\n const children = headers.map(header => {\n const {\n cell,\n align,\n key: headerKey\n } = header;\n const cellSlot = cell || ctx.slots.cell;\n let cellChildren;\n if (cellSlot) {\n const cellPayload = {\n vui,\n item,\n selected\n };\n let _children = cellSlot(cellPayload);\n if (_children && !Array.isArray(_children) && typeof _children === 'object' && !isVNode(_children)) {\n _children = JSON.stringify(_children);\n }\n cellChildren = _children;\n }\n if (!cellChildren) {\n // eslint-disable-next-line default-case\n switch (headerKey) {\n case SELECTABLE_HEADER_SYMBOL:\n {\n cellChildren = [_createVNode(VCheckbox, {\n \"modelValue\": selected,\n \"onChange\": ev => {\n toggleSelect(key);\n }\n }, null)];\n break;\n }\n }\n }\n const classes = align ? {\n [`v-data-table__table__cell--${align}`]: true\n } : undefined;\n return _createVNode(\"td\", {\n \"class\": ['v-data-table__table__cell', classes],\n \"key\": header.key\n }, [cellChildren]);\n });\n const {\n color,\n attrs\n } = rowSettings.value(payload);\n const colorClass = color && toScopeColorClass(color);\n const classes = ['v-data-table__table__item', {\n 'v-data-table__table__item--selected': selected\n }];\n if (colorClass) {\n classes.push(colorClass, containedVariant);\n }\n return _createVNode(\"tr\", _mergeProps({\n \"class\": classes,\n \"key\": key\n }, attrs), [children]);\n }\n function genBody() {\n const {\n items,\n itemKey\n } = props;\n const {\n item: itemSlot = defaultItemSlot\n } = ctx.slots;\n const children = items.map(item => {\n const key = item[itemKey];\n const payload = {\n key,\n item,\n selected: isSelected(key)\n };\n return itemSlot(payload);\n });\n return _createVNode(\"tbody\", {\n \"class\": \"v-data-table__table__body\"\n }, [children]);\n }\n watch(() => props.modelValue, modelValue => {\n internalValues.value = modelValue.slice();\n });\n watch(() => props.items, items => {\n internalValues.value = internalValues.value.filter(key => sortedItemKeysRef.value.includes(key));\n });\n onMounted(() => {\n bootedRef.value = true;\n });\n return () => {\n const isEmpty = isEmptyRef.value;\n const usePaging = usePagingRef.value;\n return _createVNode(\"div\", {\n \"class\": ['v-data-table', classesRef.value]\n }, [!isEmpty && usePaging && needShowHeaderControlRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__header\"\n }, [genControls()]), _createVNode(\"div\", {\n \"class\": \"v-data-table__body container-pull\"\n }, [isEmpty ? _createVNode(\"div\", {\n \"class\": \"v-data-table__empty--message\"\n }, [emptyMessage.value]) : _createVNode(VPaper, {\n \"class\": \"v-data-table__body__inner\",\n \"style\": bodyInnerStylesRef.value\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-data-table__table-wrapper\"\n }, [_createVNode(\"table\", {\n \"class\": \"v-data-table__table\"\n }, [genTableHeader(), genBody()])])]\n }), _createVNode(Transition, {\n \"name\": \"fade\"\n }, {\n default: () => [isTransitioningRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__loading\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true\n }, null)])]\n })]), !isEmpty && usePaging && withDirectives(_createVNode(\"div\", {\n \"class\": \"v-data-table__footer\"\n }, [genControls()]), [resizeDirectiveArgument(({\n height\n }) => {\n footerHeightRef.value = height;\n })])]);\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent } from 'vue';\nimport { VAppLayout } from '@fastkit/vue-app-layout';\nimport { VDynamicStacks } from '@fastkit/vue-stack';\nimport { useInjectTheme } from '@fastkit/vue-color-scheme';\nexport const VApp = defineComponent({\n name: 'VApp',\n setup(_props, ctx) {\n useInjectTheme();\n return () => _createVNode(VDynamicStacks, null, {\n default: () => [_createVNode(VAppLayout, null, ctx.slots)]\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createElevationProps, useElevation } from '../../composables';\nimport { useVui } from '../../injections';\nexport const VToolbar = defineComponent({\n name: 'VToolbar',\n props: {\n ...createElevationProps(),\n ...colorSchemeProps(),\n dense: Boolean\n },\n setup(props, ctx) {\n const vui = useVui();\n const elevation = useElevation(props, {\n defaultValue: 4\n });\n const dense = computed(() => props.dense);\n const color = useColorClasses({\n color: () => props.color,\n variant: () => props.variant || vui.setting('containedVariant')\n });\n const classes = computed(() => [elevation.elevationClassName.value, color.colorClasses.value, {\n 'v-toolbar--plain': !color.color.value.value,\n 'v-toolbar--dense': dense.value\n }]);\n return () => _createVNode(\"div\", {\n \"class\": ['v-toolbar', classes.value]\n }, [ctx.slots.default?.()]);\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VToolbarMenu.scss';\nimport { defineComponent } from 'vue';\nimport { VButton } from '../VButton';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const VToolbarMenu = defineComponent({\n name: 'VToolbarMenu',\n inheritAttrs: false,\n props: {},\n setup(props, ctx) {\n const vui = useVui();\n const plain = vui.setting('plainVariant');\n return () => {\n const variant = props.variant || plain;\n return _createVNode(VButton, _mergeProps(ctx.attrs, {\n \"variant\": variant,\n \"class\": ['v-toolbar-menu']\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarEdge.scss';\nimport { defineComponent, computed } from 'vue';\nimport { renderSlotOrEmpty } from '@fastkit/vue-utils';\nexport const VToolbarEdge = defineComponent({\n name: 'VToolbarEdge',\n props: {\n edge: {\n type: String,\n required: true\n }\n },\n setup(props, ctx) {\n const edge = computed(() => props.edge);\n return () => {\n const children = renderSlotOrEmpty(ctx.slots, 'default');\n const hasChildren = !!children && children.length > 0;\n return _createVNode(\"div\", {\n \"class\": ['v-toolbar-edge', `v-toolbar-edge--${edge.value}`, {\n [`v-toolbar-edge--empty`]: !hasChildren\n }]\n }, [children]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarTitle.scss';\nimport { defineComponent, computed } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst slots = defineSlots();\nexport const VToolbarTitle = defineComponent({\n name: 'VToolbarTitle',\n props: {\n tag: {\n type: String,\n default: 'span'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const _TagName = computed(() => props.tag);\n return () => {\n const TagName = _TagName.value;\n return _createVNode(TagName, {\n \"class\": \"v-toolbar-title\"\n }, {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode } from \"vue\";\nimport { reactive } from 'vue';\nimport { BUILTIN_ACTION_HANDLERS } from '@fastkit/vue-stack';\nimport { RouterLink, useLink } from 'vue-router';\nimport { setDefaultRouterLink } from '@fastkit/vue-action';\nimport { LocationService } from '@fastkit/vue-location';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { VForm } from './components/VForm';\nimport { VTextField } from './components/VTextField';\nimport { VButton } from './components/VButton';\nimport { VDialog } from './components/VDialog';\nimport { VSnackbar } from './components/VSnackbar';\nimport { VMenu } from './components/VMenu';\nimport { VSheetModal } from './components/VSheetModal';\nexport { VuiInjectionKey } from './injections';\nconst DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;\nconst DEFAULT_TEXTAREA_ROWS = 3;\nexport function mergeVuiServiceUISettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceIconSettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceOptions(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base,\n uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),\n icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)\n };\n const excludes = ['uiSettings', 'icons'];\n Object.entries(overrides).forEach(([key, value]) => {\n if (value && !excludes.includes(key)) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport class VuiService {\n get scroller() {\n return getDocumentScroller();\n }\n constructor(options, app) {\n this.options = options;\n this.configure();\n const {\n selectionSeparator = () => ', ',\n autoScrollToElementOffsetTop = DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP,\n textareaRows = DEFAULT_TEXTAREA_ROWS,\n requiredChip = () => '*'\n } = options;\n this.selectionSeparator = selectionSeparator;\n this.autoScrollToElementOffsetTop = autoScrollToElementOffsetTop;\n this.textareaRows = textareaRows;\n this.requiredChip = requiredChip;\n this.router = options.router;\n this.location = LocationService.install(app, {\n router: this.router\n });\n this.useLink = options.useLink || useLink;\n this.stack = app.config.globalProperties.$vstack;\n const {\n uiSettings\n } = options;\n this.stackActions = {\n ok: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogOk, bindings), {\n default: () => [_createTextVNode(\"OK\")]\n }),\n cancel: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogCancel, bindings), {\n default: () => [_createTextVNode(\"CANCEL\")]\n }),\n close: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogClose, bindings), {\n default: () => [_createTextVNode(\"CLOSE\")]\n })\n };\n this.dialog = this.stack.createLauncher(VDialog);\n this.alert = this.stack.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('ok'));\n }\n const backdrop = props?.backdrop == null ? true : props?.backdrop;\n return {\n ...props,\n backdrop,\n actions\n };\n });\n this.confirm = this.stack.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('cancel'), this.stackAction('ok'));\n }\n const backdrop = props?.backdrop == null ? true : props?.backdrop;\n return {\n ...props,\n backdrop,\n actions\n };\n });\n this.snackbar = this.stack.createLauncher(VSnackbar);\n this.menu = this.stack.createLauncher(VMenu);\n this.sheet = this.stack.createLauncher(VSheetModal);\n }\n configure(options) {\n options && Object.assign(this.options, options);\n setDefaultRouterLink(this.getRouterLink());\n }\n getRouterLink() {\n return this.options.RouterLink || RouterLink;\n }\n setting(key) {\n return this.options.uiSettings[key];\n }\n icon(iconType) {\n return this.options.icons[iconType];\n }\n getAutoScrollToElementOffsetTop() {\n let {\n autoScrollToElementOffsetTop\n } = this;\n if (typeof autoScrollToElementOffsetTop === 'function') {\n autoScrollToElementOffsetTop = autoScrollToElementOffsetTop();\n }\n return autoScrollToElementOffsetTop || 0;\n }\n getRequiredChip() {\n const {\n requiredChip\n } = this;\n return requiredChip && requiredChip();\n }\n formPrompt(settings, slot) {\n let form;\n const options = {\n dense: true,\n ...settings\n };\n const {\n size,\n state\n } = options;\n const _state = reactive(state);\n options.actions = options.actions || [this.stackAction('cancel', undefined, {\n size\n }), this.stackAction('ok', undefined, {\n size,\n onClick: () => {\n if (form) {\n const ev = new Event('submit');\n form.handleSubmit(ev);\n }\n }\n })];\n return this.dialog(options, stack => _createVNode(VForm, {\n \"disableAutoScroll\": true,\n \"size\": size,\n \"onVnodeBeforeUnmount\": () => {\n form = undefined;\n },\n \"onSubmit\": ev => {\n stack.resolve(_state);\n }\n }, {\n default: _form => {\n form = _form;\n return slot(_state, {\n form,\n stack\n });\n }\n }));\n }\n prompt(rawOptions = {}) {\n const options = typeof rawOptions === 'string' ? {\n input: {\n label: rawOptions\n }\n } : {\n ...rawOptions\n };\n options.input = {\n ...options.input\n };\n options.dense = true;\n const {\n initialValue: value = ''\n } = options.input;\n const {\n size\n } = options.input;\n delete options.input.initialValue;\n return this.formPrompt({\n size,\n ...options,\n state: {\n input: value\n }\n }, state => _createVNode(VTextField, _mergeProps(options.input, {\n \"modelValue\": state.input,\n \"onUpdate:modelValue\": $event => state.input = $event\n }), null)).then(result => result ? result.input : result);\n }\n stackAction(key, override, attrs) {\n const factory = this.stackActions[key];\n const _onClick = BUILTIN_ACTION_HANDLERS[key];\n const action = {\n key,\n // eslint-disable-next-line no-shadow\n content: ({\n control,\n key\n }) => {\n const onClick = ev => _onClick(control, ev);\n const _attrs = {\n disabled: control.guardInProgress,\n ...attrs\n };\n if (key === 'ok' && control.guardInProgress) {\n _attrs.loading = true;\n }\n return factory({\n service: this.stack,\n control,\n key,\n bindings: {\n onClick,\n ..._attrs\n }\n });\n },\n ...override\n };\n return action;\n }\n}","import { installVueStackPlugin } from '@fastkit/vue-stack';\nimport { installVueFormPlugin } from '@fastkit/vue-form-control';\nimport { installBodyScrollLockDirective } from '@fastkit/vue-body-scroll-lock';\nimport { installClickOutsideDirective } from '@fastkit/vue-click-outside';\nimport { installResizeDirective } from '@fastkit/vue-resize';\nimport { VueColorSchemePlugin } from '@fastkit/vue-color-scheme';\nimport { installVueAppLayout } from '@fastkit/vue-app-layout';\nimport { onAppUnmount } from '@fastkit/vue-utils';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { setDefaultActionableClassName } from '@fastkit/vue-action';\nimport { VuiService, mergeVuiServiceOptions, VuiInjectionKey } from './service';\nsetDefaultActionableClassName('clickable');\nconst scroller = getDocumentScroller();\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function mergeVuiPluginOptions(base, override) {\n if (!override) return base;\n const merged = mergeVuiServiceOptions(base, override);\n if (override.stack) {\n merged.stack = {\n ...merged.stack,\n ...override.stack\n };\n }\n if (override.form) {\n merged.form = {\n ...merged.form,\n ...override.form\n };\n }\n return merged;\n}\nexport class VuiPlugin {\n static install(app, opts) {\n const {\n colorScheme,\n stack,\n form\n } = opts;\n\n // ColorScheme\n const vueColorSchemePlugin = new VueColorSchemePlugin(colorScheme);\n app.use(vueColorSchemePlugin);\n installVueStackPlugin(app, stack);\n installVueFormPlugin(app, {\n scroll: {\n options: {\n behavior: 'smooth'\n },\n // eslint-disable-next-line no-shadow\n fn: (el, opts) => {\n if (window.getComputedStyle(el).scrollMargin) return;\n const duration = opts?.behavior === 'smooth' ? undefined : 0;\n return scroller.toElement(el, {\n offset: $vui.getAutoScrollToElementOffsetTop(),\n duration\n });\n }\n },\n ...form\n });\n installVueAppLayout(app);\n installBodyScrollLockDirective(app);\n installClickOutsideDirective(app);\n installResizeDirective(app);\n\n // Vui\n const $vui = new VuiService(opts, app);\n app.provide(VuiInjectionKey, $vui);\n app.config.globalProperties.$vui = $vui;\n onAppUnmount(app, () => {\n delete app.config.globalProperties.$vui;\n });\n }\n}\nexport function installVuiPlugin(app, opts) {\n return app.use(VuiPlugin, opts);\n}"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/schemes/control.ts","../src/injections.ts","../src/composables/control.ts","../src/components/VIcon/VIcon.tsx","../src/components/VMenu/VMenu.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VFormControl/VFormControl.tsx","../src/components/loading.ts","../src/composables/form-selector.tsx","../src/composables/elevation.ts","../src/components/index.ts","../src/components/VDialog/VDialog.tsx","../src/components/VSnackbar/VSnackbar.tsx","../src/components/VSheetModal/VSheetModal.tsx","../src/components/VSkeltonLoader/VSkeltonLoaderBone.tsx","../src/components/VBusyImage/VBusyImage.tsx","../src/components/VGrid/schemes.ts","../src/components/VGrid/VGridItem.tsx","../src/components/VGrid/VGridContainer.tsx","../src/components/VPaper/VPaper.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VChip/VChip.tsx","../src/components/VCard/VCard.tsx","../src/components/VCard/VCardContent.tsx","../src/components/VCard/VCardActions.tsx","../src/components/VButton/VButton.tsx","../src/components/VButton/VButtonGroup.tsx","../src/components/VPagination/VPagination.tsx","../src/components/VListTile/VListTile.tsx","../src/components/VDrawerLayout/VDrawerLayout.tsx","../src/components/VHero/VHero.tsx","../src/components/VNavigation/VNavigationItem.tsx","../src/components/VNavigation/VNavigation.tsx","../src/components/VControlField/VControlField.tsx","../src/components/VTextCounter/VTextCounter.tsx","../src/components/VCheckable/VCheckable.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VCheckboxGroup/VCheckboxGroup.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSwitchGroup/VSwitchGroup.tsx","../src/components/VOption/VOption.tsx","../src/components/VOptionGroup/VOptionGroup.tsx","../src/components/VSelect/VSelect.tsx","../src/components/VTextField/VTextField.tsx","../src/components/VNumberField/VNumberField.tsx","../src/components/VTextarea/VTextarea.tsx","../src/components/VFormGroup/VFormGroup.tsx","../src/components/VForm/VForm.tsx","../src/components/VTabs/VTab.tsx","../src/components/VTabs/VTabs.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VContentSwitcher/VContentSwitcher.tsx","../src/components/VDataTable/VDataTable.tsx","../src/components/VApp/VApp.tsx","../src/components/VToolbar/VToolbar.tsx","../src/components/VToolbar/VToolbarMenu.tsx","../src/components/VToolbar/VToolbarEdge.tsx","../src/components/VToolbar/VToolbarTitle.tsx","../src/service.tsx","../src/plugin.tsx"],"names":["VAction","props","inject","computed","provide","_createVNode","_mergeProps","createPropsOptions","defineComponent","hinttipDelay","slots","defineSlots","emits","_Fragment","colorProps","colorSchemeProps","useColorClasses","createStackActionProps","useStackAction","actionableInheritProps","useActionable","renderSlotOrEmpty","_isVNode","ref","useScopeColorClass","classes","_createTextVNode","watch","width","isActive","_isSlot","match","to","_withDirectives","_vShow","resolveVNodeChildOrSlots","createFormSelectorItemSettings","useFormSelectorItemControl","createFormSelectorSettings","createFormNodeWrapperProps","useFormSelectorControl","ev","_vModelSelect","inputmode","RouterLink","isPromise","scroller","onMounted","onBeforeUnmount","onBeforeUpdate","children","rowSettings","isVNode","toScopeColorClass","Transition","withDirectives","resizeDirectiveArgument","getDocumentScroller","key","opts"],"mappings":"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","file":"vui.mjs","sourcesContent":["import './styles/index.scss';\n\nexport * from '@fastkit/helpers';\nexport * from '@fastkit/icon-font';\nexport * from '@fastkit/media-match';\nexport * from '@fastkit/vue-media-match';\nexport * from '@fastkit/vue-keyboard';\nexport * from '@fastkit/vue-transitions';\nexport * from '@fastkit/vue-location';\nexport * from '@fastkit/rules';\nexport * from '@fastkit/vue-body-scroll-lock';\nexport * from '@fastkit/vue-click-outside';\nexport * from '@fastkit/vue-app-layout';\nexport * from '@fastkit/vue-color-scheme';\nexport * from '@fastkit/vue-form-control';\nexport * from '@fastkit/vue-scroller';\nexport * from '@fastkit/vue-stack';\nexport * from '@fastkit/vue-action';\nexport * from '@fastkit/vue-utils';\nexport * from '@fastkit/vue-loading';\n\n// @MEMO Alias export\nexport { VAction as VLink } from '@fastkit/vue-action';\n\nexport * from './schemes';\nexport * from './composables';\nexport * from './components';\nexport * from './service';\nexport * from './plugin';\nexport * from './injections';\n","export const CONTROL_SIZES = ['sm', 'md', 'lg'] as const;\n\nexport type ControlSize = (typeof CONTROL_SIZES)[number];\n\nexport const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'] as const;\n\nexport type ControlFieldVariant = (typeof CONTROL_FIELD_VARIANTS)[number];\n\nexport const CONTROL_LOADING_SPINNER_SIZES: Record<ControlSize, number> = {\n sm: 16,\n md: 20,\n lg: 24,\n};\n","import { InjectionKey, inject, computed, provide } from 'vue';\nimport type { VuiService } from './service';\nimport type {\n ControlProvider,\n ControlFieldProvider,\n VuiColorProvider,\n} from './composables';\n\nexport const VuiInjectionKey: InjectionKey<VuiService> = Symbol('Vui');\n\nexport const VuiControlInjectionKey: InjectionKey<ControlProvider> =\n Symbol('VuiControl');\n\nexport const VuiControlFieldInjectionKey: InjectionKey<ControlFieldProvider> =\n Symbol('VuiControlField');\n\nexport const VuiColorProviderInjectionKey: InjectionKey<VuiColorProvider> =\n Symbol('VuiColorProvider');\n\nexport const VUI_TEXT_FIELD_SYMBOL = 'vui-text-field';\nexport const VUI_TEXTAREA_SYMBOL = 'vui-textarea';\nexport const VUI_SELECT_SYMBOL = 'vui-select';\nexport const VUI_OPTION_SYMBOL = 'vui-option';\nexport const VUI_CHECKBOX_GROUP_SYMBOL = 'vui-checkbox-group';\nexport const VUI_CHECKBOX_SYMBOL = 'vui-checkbox';\nexport const VUI_RADIO_GROUP_SYMBOL = 'vui-radio-group';\nexport const VUI_RADIO_SYMBOL = 'vui-radio';\nexport const VUI_SWITCH_GROUP_SYMBOL = 'vui-switch-group';\nexport const VUI_SWITCH_SYMBOL = 'vui-switch';\nexport const VUI_FORM_GROUP_SYMBOL = 'vui-form-group';\nexport const VUI_FORM_SYMBOL = 'vui-form';\n\nexport function useVui() {\n const vui = inject(VuiInjectionKey);\n if (!vui) {\n throw new Error('missing vui service');\n }\n return vui;\n}\n\nexport function useVuiColorProvider(): VuiColorProvider {\n const parent = inject(VuiColorProviderInjectionKey, null);\n if (parent) {\n return parent;\n }\n\n const vui = useVui();\n const primary = computed(() => vui.setting('primaryScope'));\n const error = computed(() => vui.setting('errorScope'));\n const provider: VuiColorProvider = {\n primary,\n error,\n className: (type) => {\n const scope = provider[type].value;\n return `${scope}-scope`;\n },\n };\n\n provide(VuiColorProviderInjectionKey, provider);\n\n return provider;\n}\n","import {\n PropType,\n ExtractPropTypes,\n computed,\n ComputedRef,\n provide,\n inject,\n} from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport {\n ControlSize,\n CONTROL_SIZES,\n ControlFieldVariant,\n CONTROL_FIELD_VARIANTS,\n} from '../schemes';\nimport {\n VuiControlInjectionKey,\n VuiControlFieldInjectionKey,\n} from '../injections';\n\nexport function createControlProps() {\n return createPropsOptions({\n size: {\n type: String as PropType<ControlSize>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_SIZES.includes(value);\n },\n },\n loading: Boolean,\n });\n}\n\nexport type ControlProps = ExtractPropTypes<\n ReturnType<typeof createControlProps>\n>;\n\nexport interface ControlProvider {\n parentControl: ControlProvider | null;\n size: ComputedRef<ControlSize>;\n classes: ComputedRef<any>;\n}\n\nexport interface UseControlProviderOptions {\n defaultSize?: ControlSize;\n}\n\nexport function useControl(\n props: ControlProps,\n opts: UseControlProviderOptions = {},\n) {\n const { defaultSize = 'md' } = opts;\n const parentControl = inject(VuiControlInjectionKey, null);\n const size = computed(() => {\n const propSize = props.size;\n return propSize || (parentControl ? parentControl.size.value : defaultSize);\n });\n const classes = computed(() => ['v-control', `v-control--${size.value}`]);\n const provider: ControlProvider = {\n parentControl,\n size,\n classes,\n };\n provide(VuiControlInjectionKey, provider);\n return provider;\n}\n\nexport function createControlFieldProviderProps() {\n return createPropsOptions({\n variant: {\n type: String as PropType<ControlFieldVariant>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_FIELD_VARIANTS.includes(value);\n },\n },\n });\n}\n\nexport type ControlFieldProviderProps = ExtractPropTypes<\n ReturnType<typeof createControlFieldProviderProps>\n>;\n\nexport interface ControlFieldProvider {\n parentControlField: ControlFieldProvider | null;\n variant: ComputedRef<ControlFieldVariant>;\n}\n\nexport interface UseControlFieldProviderOptions {\n defaultVariant?: ControlFieldVariant;\n}\n\nexport function useControlField(\n props: ControlFieldProviderProps,\n opts: UseControlFieldProviderOptions = {},\n) {\n const { defaultVariant = 'flat' } = opts;\n const parentControlField = inject(VuiControlFieldInjectionKey, null);\n const variant = computed(() => {\n const propVariant = props.variant;\n return (\n propVariant ||\n (parentControlField ? parentControlField.variant.value : defaultVariant)\n );\n });\n const provider: ControlFieldProvider = {\n parentControlField,\n variant,\n };\n provide(VuiControlFieldInjectionKey, provider);\n return provider;\n}\n","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VIcon.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nexport { ICON_NAMES } from '@fastkit/icon-font';\n// export function toRawIconProp<T = void>(\n// prop: RawIconProp<T>,\n// payload: () => T,\n// ): RawIconProp {\n// if (!prop || typeof prop !== 'function') {\n// return prop;\n// }\n// const fn = (gen: IconGenerator): VNodeChild => {\n// const t = payload();\n// return prop(gen, t);\n// };\n// return fn;\n// }\n\n// export const rawRawIconProp = [String, Function] as PropType<RawIconProp>;\nconst _rawIconProp = [String, Function];\nexport function rawIconProp() {\n return _rawIconProp;\n}\nexport function resolveRawIconProp(payload, prop, extraProps) {\n if (!prop) return;\n return typeof prop === 'function' ? prop(input => _createVNode(VIcon, _mergeProps(input, extraProps), null), payload) : _createVNode(VIcon, _mergeProps(extraProps, {\n \"name\": prop\n }), null);\n}\nexport const iconProps = createPropsOptions({\n name: {\n type: String,\n required: true\n },\n rotate: {\n type: Number\n }\n});\nexport const VIcon = defineComponent({\n name: 'VIcon',\n props: {\n ...iconProps\n },\n emits: {},\n setup(props, ctx) {\n const iconName = computed(() => props.name);\n const clickable = computed(() => typeof ctx.attrs.onClick !== 'undefined');\n const classes = computed(() => [{\n 'v-icon--clickable': clickable.value\n }]);\n const iconAttrs = computed(() => {\n const attrs = {\n class: ['v-icon__body icon', `icon-${iconName.value}`]\n };\n const {\n rotate\n } = props;\n if (rotate) {\n attrs.style = {\n transform: `rotate(${rotate}deg)`\n };\n }\n return attrs;\n });\n return () => _createVNode(\"span\", {\n \"class\": [`v-icon notranslate`, classes.value]\n }, [_createVNode(\"i\", iconAttrs.value, null)]);\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VMenu.scss';\nimport { defineMenuComponent } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nconst colorProps = colorSchemeProps();\nexport const VMenu = defineMenuComponent({\n name: 'VMenu',\n attrs: {\n class: 'v-menu'\n },\n props: {\n ...colorProps\n },\n setup(ctx) {\n const color = useColorClasses(ctx.props, {\n useRootThemeDefault: true\n });\n ctx.setupContext.expose({\n menu: ctx\n });\n return children => _createVNode(\"div\", _mergeProps({\n \"class\": ['v-menu__body', color.colorClasses.value]\n }, ctx.attrs), [children]);\n }\n});","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VTooltip.scss';\nimport { defineComponent } from 'vue';\nimport { VMenu } from '../VMenu';\nexport const VTooltip = defineComponent({\n name: 'VTooltip',\n inheritAttrs: false,\n setup(_props, ctx) {\n return () => {\n const attrs = {\n ...ctx.attrs\n };\n const defaultSlot = ctx.slots.default;\n if (attrs.openOnHover == null) {\n attrs.openOnHover = true;\n }\n if (attrs.openDelay == null) {\n attrs.openDelay = 200;\n }\n if (attrs.hideOnScroll == null) {\n attrs.hideOnScroll = true;\n }\n return _createVNode(VMenu, _mergeProps(attrs, {\n \"scrollLock\": false,\n \"class\": \"v-tooltip\"\n }), {\n ...ctx.slots,\n default: payload => [_createVNode(\"span\", {\n \"class\": \"v-tooltip__inner\"\n }, [defaultSlot?.(payload)])]\n });\n };\n }\n});","import { resolveDirective as _resolveDirective, mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VFormControl.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormNodeWrapperSettings, useFormNodeWrapper } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VTooltip } from '../VTooltip';\nconst {\n props,\n emits\n} = createFormNodeWrapperSettings();\nexport function createRequiredChipRenderer(required,\n// eslint-disable-next-line no-shadow\nprops, vui = useVui()) {\n return () => {\n if (!required()) return;\n let chip;\n const {\n requiredChip\n } = props;\n if (requiredChip === false) return;\n if (requiredChip) {\n if (typeof requiredChip === 'string') {\n chip = requiredChip;\n } else if (typeof requiredChip === 'function') {\n chip = requiredChip();\n }\n }\n if (chip === undefined) {\n chip = vui.getRequiredChip();\n }\n return chip;\n };\n}\nconst slots = defineSlots();\nexport const VFormControl = defineComponent({\n name: 'VFormControl',\n props: {\n ...props,\n ...slots(),\n error: Boolean\n },\n slots,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const vui = useVui();\n const control = useFormNodeWrapper(props, ctx, {\n hinttipPrepend: () => _createVNode(VIcon, {\n \"class\": \"v-form-control__label__hinttip__icon\",\n \"name\": vui.icon('hinttip')\n }, null)\n });\n const hinttipDelay = computed(() => {\n // eslint-disable-next-line no-shadow\n let {\n hinttipDelay\n } = control;\n if (hinttipDelay == null) {\n hinttipDelay = vui.setting('hinttipDelay');\n }\n if (hinttipDelay == null) {\n hinttipDelay = 500;\n }\n return hinttipDelay;\n });\n ctx.expose({\n control\n });\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => ['v-form-control', {\n 'v-form-control--validating': control.validating,\n 'v-form-control--pending': control.pending,\n 'v-form-control--focused': control.focused,\n 'v-form-control--dirty': control.dirty,\n 'v-form-control--pristine': control.pristine,\n 'v-form-control--disabled': control.isDisabled,\n 'v-form-control--readonly': control.isReadonly,\n 'v-form-control--touched': control.touched,\n 'v-form-control--untouched': control.untouched,\n 'v-form-control--invalid': control.invalid,\n 'v-form-control--valid': control.valid\n }, colorProvider.className(\n // eslint-disable-next-line no-nested-ternary\n props.error ? 'error' : control.invalid && !control.isReadonly ? 'error' : 'primary')]);\n const getRequiredChip = createRequiredChipRenderer(() => control.isRequired, props, vui);\n const handleClick = ev => ctx.emit('clickLabel', ev, control);\n return () => {\n const label = control.renderLabel();\n const message = control.renderMessage();\n const appends = control.renderInfoAppends();\n const hinttip = control.renderHinttip();\n const _hinttipDelay = hinttipDelay.value;\n return _createVNode(\"div\", {\n \"class\": classes.value\n }, [label && _createVNode(\"label\", {\n \"class\": \"v-form-control__label\",\n \"onClick\": handleClick\n }, [label, getRequiredChip(), hinttip && _createVNode(VTooltip, {\n \"y\": \"top\",\n \"openOnHover\": _hinttipDelay !== 'click',\n \"openDelay\": typeof _hinttipDelay === 'number' ? _hinttipDelay : undefined\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-form-control__label__hinttip__hint\"\n }, [hinttip.hint])],\n activator: tooltip => _createVNode(\"a\", _mergeProps({\n \"class\": \"v-form-control__label__hinttip\",\n \"href\": \"javascript:void(0)\"\n }, tooltip.attrs), [hinttip.tip])\n })]), _createVNode(\"div\", {\n \"class\": \"v-form-control__body\"\n }, [ctx.slots.default?.(control), !props.hiddenInfo && _createVNode(\"div\", {\n \"class\": \"v-form-control__info\"\n }, [!!message && _createVNode(\"div\", {\n \"class\": \"v-form-control__message\"\n }, [message]), !!appends && _createVNode(\"div\", {\n \"class\": \"v-form-control__appends\"\n }, [appends])])])]);\n };\n }\n});","export * from '@fastkit/vue-loading';\n","import { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport './form-selector.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormNodeWrapperProps, createFormSelectorSettings, useFormSelectorControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from './control';\nimport { VFormControl } from '../components/VFormControl';\nimport { useVui } from '../injections';\nimport { VProgressCircular } from '../components/loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../schemes';\nconst slots = defineSlots();\nexport function defineFormSelectorComponent(opts) {\n const {\n itemRenderer,\n defaultMultiple,\n nodeType,\n className\n } = opts;\n const {\n props,\n emits\n } = createFormSelectorSettings({\n defaultMultiple\n });\n return defineComponent({\n name: opts.name,\n props: {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlProps(),\n stacked: {\n type: Boolean,\n default: true\n },\n // eslint-disable-next-line vue/require-prop-types\n loadingMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n failedToLoadItemsMessage: {},\n ...slots()\n },\n slots,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const selectorControl = useFormSelectorControl(props, ctx, {\n nodeType,\n defaultMultiple\n });\n const control = useControl(props);\n const classes = computed(() => ['v-form-selector', className, {\n ...control.classes.value,\n 'v-form-selector--stacked': props.stacked\n }]);\n const vui = useVui();\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n const defaultSlot = () => _createVNode(\"div\", {\n \"class\": \"v-form-selector__body\"\n }, [selectorControl.itemsLoadFailed && _createVNode(\"div\", {\n \"key\": \"failed\",\n \"class\": \"v-form-selector__placeholder v-form-selector__placeholder--error\"\n }, [failedToLoadItemsMessageRef.value]), selectorControl.itemsLoading && _createVNode(\"div\", {\n \"key\": \"loading\",\n \"class\": \"v-form-selector__placeholder\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"class\": \"mr-1\",\n \"size\": CONTROL_LOADING_SPINNER_SIZES[control.size.value || 'md']\n }, null), loadingMessageRef.value]), selectorControl.propGroups.map(group => {\n const {\n items\n } = group;\n return _createVNode(_Fragment, null, [items.map(attrs => {\n const selected = selectorControl.isSelected(attrs.value);\n return itemRenderer({\n selected,\n control: selectorControl,\n attrs: {\n ...attrs,\n modelValue: selected,\n key: attrs.value\n },\n slots: {\n default: () => attrs.label(selectorControl)\n }\n });\n })]);\n }), ctx.slots.default?.()]);\n ctx.expose({\n control: selectorControl\n });\n return () => _createVNode(VFormControl, {\n \"nodeControl\": selectorControl,\n \"hiddenInfo\": props.hiddenInfo,\n \"class\": classes.value,\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"requiredChip\": props.requiredChip,\n \"error\": selectorControl.itemsLoadFailed\n }, {\n ...ctx.slots,\n default: defaultSlot\n });\n }\n });\n}","import { PropType, ExtractPropTypes, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VuiElevationValue } from '../schemes';\n\nexport function createElevationProps() {\n return createPropsOptions({\n elevation: Number as PropType<VuiElevationValue>,\n });\n}\n\nexport type ElevationProps = ExtractPropTypes<\n ReturnType<typeof createElevationProps>\n>;\n\nexport interface UseElevationOptions {\n defaultValue?: VuiElevationValue;\n}\n\nexport function useElevation(\n props: ElevationProps,\n opts: UseElevationOptions = {},\n) {\n const elevationValue = computed(() =>\n props.elevation == null ? opts.defaultValue : props.elevation,\n );\n const elevationClassName = computed(() => {\n const v = elevationValue.value;\n return v == null ? undefined : `elevation-${v}`;\n });\n return {\n elevationValue,\n elevationClassName,\n };\n}\n","export * from './loading';\nexport * from './VDialog';\nexport * from './VMenu';\nexport * from './VSnackbar';\nexport * from './VTooltip';\nexport * from './VSheetModal';\nexport * from './VSkeltonLoader';\nexport * from './VBusyImage';\nexport * from './VGrid';\nexport * from './VPaper';\nexport * from './VAvatar';\nexport * from './VChip';\nexport * from './VCard';\nexport * from './VIcon';\nexport * from './VButton';\nexport * from './VPagination';\nexport * from './VListTile';\nexport * from './VDrawerLayout';\nexport * from './VHero';\n// export * from './VAccordion';\nexport * from './VNavigation';\nexport * from './VControlField';\nexport * from './VTextCounter';\nexport * from './VFormControl';\nexport * from './VCheckbox';\nexport * from './VCheckboxGroup';\nexport * from './VRadio';\nexport * from './VRadioGroup';\nexport * from './VSwitch';\nexport * from './VSwitchGroup';\nexport * from './VOption';\nexport * from './VOptionGroup';\nexport * from './VSelect';\nexport * from './VTextField';\nexport * from './VNumberField';\nexport * from './VTextarea';\n// export * from './VWysiwygEditor';\nexport * from './VFormGroup';\nexport * from './VForm';\nexport * from './VTabs';\nexport * from './VBreadcrumbs';\nexport * from './VContentSwitcher';\nexport * from './VDataTable';\nexport * from './VApp';\nexport * from './VToolbar';\n","import { createVNode as _createVNode } from \"vue\";\nimport './VDialog.scss';\nimport { defineDialogComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nconst colorProps = colorSchemeProps();\nexport const VDialog = defineDialogComponent({\n name: 'VDialog',\n props: {\n ...createStackActionProps(),\n ...colorProps,\n dense: Boolean\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n }\n return actions;\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", {\n \"class\": ['v-dialog', color.colorClasses.value, props.dense && 'v-dialog--dense']\n }, [_createVNode(\"div\", {\n \"class\": \"v-dialog__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-dialog__actions\"\n }, [$actions])]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VSnackbar.scss';\nimport { defineSnackbarComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nconst colorProps = colorSchemeProps();\nexport const VSnackbar = defineSnackbarComponent({\n name: 'VSnackbar',\n props: {\n ...createStackActionProps(),\n ...colorProps\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n }\n return actions;\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-snackbar', color.colorClasses.value]\n }, ctx.attrs), [_createVNode(\"div\", {\n \"class\": \"v-snackbar__inner\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-snackbar__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-snackbar__actions\"\n }, [$actions])])]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VSheetModal.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createStackableDefine, useStackControl } from '@fastkit/vue-stack';\nconst {\n props,\n emits\n} = createStackableDefine({\n defaultTransition: 'v-sheet-modal',\n defaultFocusTrap: true,\n defaultFocusRestorable: true,\n defaultScrollLock: true\n});\nexport const sheetModalProps = {\n ...props,\n header: Function,\n 'v-slots': undefined\n};\nconst SHEET_STACK_TYPE = Symbol('VSheetModal');\nexport const VSheetModal = defineComponent({\n name: 'VSheetModal',\n inheritAttrs: false,\n props: sheetModalProps,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const stackControl = useStackControl(props, ctx, {\n stackType: SHEET_STACK_TYPE\n });\n const hasActiveChild = computed(() => {\n const myIndex = stackControl.zIndex;\n const stacks = stackControl.$service.getActiveStacks().filter(stack => stack.stackType === SHEET_STACK_TYPE);\n return stacks.some(stack => stack.zIndex > myIndex);\n });\n return {\n stackControl,\n hasActiveChild\n };\n },\n render() {\n const {\n render\n } = this.stackControl;\n const headerSlot = this.$slots.header || this.header;\n return render(children => _createVNode(\"div\", {\n \"class\": ['v-sheet-modal', {\n 'v-sheet-modal--has-active-child': this.hasActiveChild\n }],\n \"tabindex\": \"0\"\n }, [headerSlot && _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__header\"\n }, [headerSlot(this.stackControl)]), _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__scroller\"\n }, [children])]));\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VSkeltonLoaderBone.scss';\nimport { defineComponent } from 'vue';\nexport const VSkeltonLoaderBone = defineComponent({\n name: 'VSkeltonLoaderBone',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n return _createVNode(TagName, _mergeProps(ctx.attrs, {\n \"class\": \"v-skelton-loader-bone\"\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VBusyImage.scss';\nimport { defineComponent, computed, ref, watch, onMounted, onBeforeUnmount } from 'vue';\nimport { IN_WINDOW } from '@fastkit/helpers';\nimport { loadImage } from '@fastkit/dom';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst IMAGE_ATTRS = ['alt', 'crossorigin', 'decoding', 'sizes', 'src', 'srcset', 'usemap'];\nexport function splitAttrs(attrs) {\n const el = {\n ...attrs\n };\n const img = {};\n for (const ATTR of IMAGE_ATTRS) {\n const value = attrs[ATTR];\n if (value != null) {\n img[ATTR] = value;\n }\n }\n return {\n el,\n img\n };\n}\nconst NUMBERISH_PROP = [Number, String];\nconst DEFAULT_HEIGHT = 150;\nconst resolveBusyImageSizeValue = source => {\n if (source == null) return;\n return isNaN(source) ? String(source) : `${source}px`;\n};\nconst slots = defineSlots();\n\n/**\n * 画像表示用コンポーネント\n * <img /> タグのように振る舞うが、ローディング表示や、表示サイズの調整など、ちょっといい感じにやるためのコンポーネント\n */\nexport const VBusyImage = defineComponent({\n name: 'VBusyImage',\n props: {\n ...undefined,\n aspectRatio: String,\n width: NUMBERISH_PROP,\n height: NUMBERISH_PROP,\n cover: Boolean,\n ...slots()\n },\n emits: {\n load: ev => true,\n error: ev => true\n },\n slots,\n setup(props, ctx) {\n const loadStateRef = ref(props.cover && isAvailableSrc(ctx.attrs.src) ? 'loading' : 'pending');\n const attrsRef = computed(() => splitAttrs(ctx.attrs));\n const isPendingRef = computed(() => loadStateRef.value === 'pending');\n const isLoadingRef = computed(() => loadStateRef.value === 'loading');\n const isLoadedRef = computed(() => loadStateRef.value === 'loaded');\n const isErrorRef = computed(() => loadStateRef.value === 'error');\n const classesRef = computed(() => [`v-busy-image--${loadStateRef.value}`, {\n 'v-busy-image--cover': props.cover,\n 'v-busy-image--clickable': typeof ctx.attrs.onClick === 'function'\n }]);\n const nodeRef = ref();\n const coverImageRef = ref();\n const rectsRef = computed(() => {\n const placeholder = {};\n const main = {};\n const {\n cover\n } = props;\n let {\n width,\n height\n } = props;\n if (height == null && cover) {\n height = DEFAULT_HEIGHT;\n }\n if (width == null && cover) {\n width = height;\n }\n width = resolveBusyImageSizeValue(width);\n height = resolveBusyImageSizeValue(height);\n main.width = width;\n main.height = height;\n placeholder.width = width;\n placeholder.height = height;\n if (placeholder.height == null) {\n placeholder.height = resolveBusyImageSizeValue(DEFAULT_HEIGHT);\n }\n if (placeholder.width == null) {\n placeholder.width = placeholder.height;\n }\n return {\n placeholder,\n main\n };\n });\n const currentRectRef = computed(() => isLoadedRef.value ? rectsRef.value.main : rectsRef.value.placeholder);\n const stylesRef = computed(() => {\n const {\n value: coverImage\n } = coverImageRef;\n const coverSrc = coverImage && coverImage.src;\n const styles = {\n ...currentRectRef.value\n };\n if (coverSrc) {\n styles.backgroundImage = `url(${coverSrc})`;\n }\n return styles;\n });\n let booted = false;\n const mounted = ref(false);\n watch(() => [ctx.attrs.src, mounted.value], ([src, _mounted]) => {\n if (!_mounted) return;\n coverImageRef.value = undefined;\n if (isAvailableSrc(src)) {\n loadStateRef.value = 'loading';\n if (props.cover) {\n loadImage(src).then(image => {\n coverImageRef.value = image;\n setManualState('load');\n }).catch(_err => {\n setManualState('error');\n // eslint-disable-next-line no-console\n console.error(_err);\n });\n }\n } else {\n loadStateRef.value = 'pending';\n }\n }, {\n immediate: IN_WINDOW\n });\n const setManualState = loadType => {\n loadStateRef.value = loadType === 'load' ? 'loaded' : 'error';\n const ev = new Event(loadType, {\n bubbles: false,\n cancelable: false,\n composed: false\n });\n ctx.emit(loadType, ev);\n };\n onMounted(() => {\n mounted.value = true;\n if (booted || props.cover) return;\n const image = nodeRef.value;\n if (!image) return;\n const loadType = imageIsReady(image);\n if (loadType) {\n setManualState(loadType);\n }\n });\n onBeforeUnmount(() => {\n coverImageRef.value = undefined;\n });\n const handleLoad = ev => {\n booted = true;\n loadStateRef.value = 'loaded';\n ctx.emit('load', ev);\n };\n const handleError = ev => {\n booted = true;\n loadStateRef.value = 'error';\n ctx.emit('error', ev);\n };\n ctx.expose({\n state: loadStateRef,\n isPending: isPendingRef,\n isLoading: isLoadingRef,\n isLoaded: isLoadedRef,\n isError: isErrorRef\n });\n return () => {\n const {\n el: elAttrs,\n img: imgAttrs\n } = attrsRef.value;\n const styles = stylesRef.value;\n const children = ctx.slots.default?.();\n return _createVNode(\"span\", _mergeProps({\n \"class\": ['v-busy-image', classesRef.value]\n }, elAttrs, {\n \"style\": styles\n }), [!props.cover && _createVNode(\"img\", _mergeProps({\n \"key\": \"img\",\n \"ref\": nodeRef,\n \"class\": \"v-busy-image__node\"\n }, imgAttrs, {\n \"onLoad\": handleLoad,\n \"onError\": handleError\n }), null), !!children && _createVNode(\"span\", {\n \"class\": \"v-busy-image__slot\"\n }, [children])]);\n };\n }\n});\nfunction imageIsReady(image) {\n if (!image.complete) return false;\n return image.naturalWidth + image.naturalHeight > 0 ? 'load' : 'error';\n}\nfunction isAvailableSrc(src) {\n return typeof src === 'string' && src !== '';\n}","import { PropType } from 'vue';\nimport { MediaMatchKey } from '@fastkit/media-match';\n\nexport type RawGridValue<T extends number | string = number | string> =\n | T\n | Partial<Record<MediaMatchKey, T>>\n | undefined;\n\nexport type RawGridValueProp<T extends number | string = number | string> =\n PropType<RawGridValue<T>>;\n\nexport function extractRawGridValueClasses<\n T extends number | string = number | string,\n>(\n value: NonNullable<RawGridValue<T>>,\n prefix: string,\n // eslint-disable-next-line no-shadow\n getter?: (value: T) => string,\n): string | string[] {\n if (typeof value !== 'object')\n return `${prefix}${getter ? getter(value) : value}`;\n return Object.entries(value).map(\n ([breakpoint, breakpointValue]) =>\n `${prefix}${\n getter ? getter(breakpointValue) : breakpointValue\n }--${breakpoint}`,\n );\n}\n\n// export const DEFAULT_MEDIA_MATCH_KEY = MEDIA_MATCH_CONDITIONS[0].key;\n","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridItem.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\n\n// type MQSizeProps = Record<\n// MediaMatchKey,\n// PropType<GridItemSizeValue | undefined>\n// >;\n\nexport const VGridItem = defineComponent({\n name: 'VGridItem',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n // ...(undefined as unknown as MQSizeProps),\n size: undefined,\n align: undefined,\n justify: undefined,\n order: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n size,\n align,\n justify,\n order\n } = props;\n delete attrs.size;\n delete attrs.align;\n delete attrs.justify;\n delete attrs.order;\n size != null && classes.push(extractRawGridValueClasses(size, 'grid-size-'));\n align && classes.push(extractRawGridValueClasses(align, 'self-align-'));\n justify && classes.push(extractRawGridValueClasses(justify, 'self-justify-'));\n order != null && classes.push(extractRawGridValueClasses(order, 'order-'));\n\n // MEDIA_MATCH_CONDITIONS.forEach(({ key }) => {\n // const v = attrs[key];\n // delete attrs[key];\n // if (v != null) {\n // classes.push(`grid-size-${v}--${key}`);\n // }\n // });\n\n return {\n classes,\n attrs\n };\n });\n return () => {\n const TagName = props.tag;\n const {\n classes,\n attrs\n } = data.value;\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-item grid-item', classes]\n }, attrs), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridContainer.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\nfunction spacingValueToString(value) {\n return Number.isInteger(value) ? String(value) : `${value}h`;\n}\nexport const VGridContainer = defineComponent({\n name: 'VGridContainer',\n inheritAttrs: false,\n props: {\n wrapperTag: {\n type: String,\n default: 'div'\n },\n tag: {\n type: String,\n default: 'div'\n },\n spacing: undefined,\n spacingX: undefined,\n spacingY: undefined,\n direction: undefined,\n wrap: undefined,\n alignContent: undefined,\n justifyContent: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n spacing,\n spacingX,\n spacingY,\n direction,\n wrap,\n alignContent,\n justifyContent\n } = props;\n const wrapperClass = attrs.class;\n const wrapperStyle = attrs.style;\n delete attrs.class;\n delete attrs.style;\n delete attrs.spacing;\n delete attrs.spacingX;\n delete attrs.spacingY;\n delete attrs.direction;\n delete attrs.wrap;\n delete attrs.alignContent;\n delete attrs.justifyContent;\n\n // spacingX = mergeSpacing(spacing, spacingX);\n // spacingY = mergeSpacing(spacing, spacingY);\n // if (!spacingX) {\n // spacingX = spacing;\n // }\n\n // align &&\n // classes.push(extractRawGridItemValueClasses(align, 'self-align-'));\n // justify &&\n // classes.push(extractRawGridItemValueClasses(justify, 'self-justify-'));\n spacing != null && classes.push(extractRawGridValueClasses(spacing, 'grid-spacing-', spacingValueToString));\n spacingX != null && classes.push(extractRawGridValueClasses(spacingX, 'grid-spacing-x-', spacingValueToString));\n spacingY != null && classes.push(extractRawGridValueClasses(spacingY, 'grid-spacing-y-', spacingValueToString));\n direction && classes.push(extractRawGridValueClasses(direction, 'direction-'));\n wrap && classes.push(extractRawGridValueClasses(wrap, ''));\n alignContent && classes.push(extractRawGridValueClasses(alignContent, 'align-'));\n justifyContent && classes.push(extractRawGridValueClasses(justifyContent, 'justify-'));\n return {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n };\n });\n return () => {\n const WrapperTag = props.wrapperTag;\n const TagName = props.tag;\n const {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n } = data.value;\n return _createVNode(WrapperTag, {\n \"class\": ['v-grid-container-wrapper', wrapperClass],\n \"style\": wrapperStyle\n }, {\n default: () => [_createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-container grid-container', classes]\n }, attrs), ctx.slots)]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VPaper.scss';\nimport { defineComponent, computed } from 'vue';\nimport { renderSlotOrEmpty, defineSlots } from '@fastkit/vue-utils';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { createElevationProps, useElevation } from '../../composables';\nexport const paperBaseSlots = defineSlots();\nexport function createPaperBaseProps() {\n return {\n color: String,\n tag: {\n type: [String, Object],\n default: 'div'\n },\n ...paperBaseSlots()\n };\n}\nexport function createPaperProps() {\n return {\n ...createElevationProps(),\n ...createPaperBaseProps(),\n square: Boolean,\n headerProps: Object,\n bodyProps: Object,\n footerProps: Object,\n innerClass: [String, Array, Object]\n };\n}\nexport const VPaper = defineComponent({\n name: 'VPaper',\n inheritAttrs: false,\n props: createPaperProps(),\n slots: paperBaseSlots,\n setup(props, ctx) {\n const tag = computed(() => props.tag);\n const elevation = useElevation(props, {\n defaultValue: 1\n });\n const scope = useScopeColorClass(props);\n const classes = computed(() => [elevation.elevationClassName.value, scope.value.className, {\n 'v-paper--plain': !scope.value.value,\n 'v-paper--has-color': !!scope.value.value || !!ctx.attrs.disabled,\n 'v-paper--square': props.square\n }]);\n const headerProps = computed(() => props.headerProps);\n const bodyProps = computed(() => props.bodyProps);\n const footerProps = computed(() => props.footerProps);\n return () => {\n const TagName = tag.value;\n const header = renderSlotOrEmpty(ctx.slots, 'header');\n const footer = renderSlotOrEmpty(ctx.slots, 'footer');\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-paper', classes.value]\n }, ctx.attrs), {\n default: () => [_createVNode(\"div\", {\n \"class\": ['v-paper__inner', props.innerClass]\n }, [header && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__header\"\n }, headerProps.value), [header]), _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__body\"\n }, bodyProps.value), [ctx.slots.default?.()]), footer && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__footer\"\n }, footerProps.value), [footer])])]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VAvatar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VBusyImage } from '../VBusyImage';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const AVATAR_SIZES = ['sm', 'md', 'lg'];\nexport function createAvatarProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: [String, Number],\n default: 'md'\n },\n tile: Boolean,\n rounded: Boolean,\n disabled: Boolean,\n src: String\n };\n}\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n inheritAttrs: false,\n props: createAvatarProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-avatar--tile': props.tile,\n 'v-avatar--rounded': props.rounded\n }, typeof size === 'string' && `v-avatar--${size}`];\n });\n const styles = computed(() => {\n const {\n size\n } = props;\n if (typeof size !== 'number') return;\n return {\n '--avatar-size': `${size}px`\n };\n });\n const actionable = useActionable(ctx, {\n attrs: () => ({\n class: ['v-avatar', classes.value, color.colorClasses.value],\n style: styles.value\n }),\n actionableClass: () => 'v-avatar--clickable',\n linkFallbackTag: 'div'\n });\n return () => {\n const {\n src\n } = props;\n return actionable.render(!!src && _createVNode(VBusyImage, {\n \"class\": \"v-avatar__image\",\n \"src\": src,\n \"cover\": true\n }, null) || ctx.slots.default?.());\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VChip.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const CHIP_SIZES = ['xs', 'sm', 'md', 'lg', 'xl'];\nexport function createChipProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: String,\n default: 'md'\n },\n startIcon: [String, Function],\n endIcon: [String, Function],\n label: Boolean,\n disabled: Boolean\n };\n}\nfunction resolveRawVChipIcon(raw, type) {\n if (!raw) return;\n if (typeof raw === 'function') {\n return () => {\n const child = raw();\n if (child == null) return;\n return _createVNode(\"span\", {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`]\n }, [child]);\n };\n }\n return () => _createVNode(VIcon, {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const VChip = defineComponent({\n name: 'VChip',\n inheritAttrs: false,\n props: createChipProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-chip--label': props.label\n }, typeof size === 'string' && `v-chip--${size}`];\n });\n const actionable = useActionable(ctx, {\n attrs: () => ({\n class: ['v-chip', classes.value, color.colorClasses.value]\n }),\n actionableClass: () => 'v-chip--clickable',\n linkFallbackTag: 'div'\n });\n return () => actionable.render([startIcon.value, _createVNode(\"span\", {\n \"class\": \"v-chip__content\"\n }, [ctx.slots.default?.()]), endIcon.value]);\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VCard.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n\nimport { VPaper, createPaperProps } from '../VPaper';\nexport function createCardProps() {\n return {\n ...createPaperProps(),\n ...actionableInheritProps,\n disabled: Boolean\n };\n}\nexport const VCard = defineComponent({\n name: 'VCard',\n inheritAttrs: false,\n props: createCardProps(),\n setup(props, ctx) {\n const _props = computed(() => props);\n const data = computed(() => {\n const attrs = {\n ..._props.value,\n ...ctx.attrs,\n class: ['v-card', ctx.attrs.class],\n tag: VAction,\n linkFallbackTag: 'div'\n };\n if (props.disabled) {\n attrs.disabled = 'disabled';\n delete attrs.onClick;\n delete attrs.href;\n delete attrs.to;\n } else {\n delete attrs.disabled;\n }\n return {\n attrs\n };\n });\n return () => _createVNode(VPaper, data.value.attrs, ctx.slots);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardContent.scss';\nimport { defineComponent } from 'vue';\nexport const VCardContent = defineComponent({\n name: 'VCardContent',\n setup(_props, ctx) {\n return () => _createVNode(\"div\", {\n \"class\": \"v-card-content\"\n }, [ctx.slots.default?.()]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardActions.scss';\nimport { defineComponent } from 'vue';\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n setup(_props, ctx) {\n return () => _createVNode(\"div\", {\n \"class\": \"v-card-actions\"\n }, [ctx.slots.default?.()]);\n }\n});","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport './VButton.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VAction, actionableInheritProps } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { createControlProps, useControl } from '../../composables';\nimport { VProgressCircular } from '../loading';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const BUTTON_ALIGNS = ['left', 'center', 'right'];\nfunction resolveRawVButtonIcon(raw, type = 'main') {\n if (!raw) return;\n return typeof raw === 'function' ? raw : () => _createVNode(VIcon, {\n \"class\": ['v-button__icon', `v-button__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const vueButtonProps = createPropsOptions({\n ...colorSchemeProps(),\n ...actionableInheritProps,\n spacer: [Boolean, String],\n rounded: Boolean,\n icon: [String, Function],\n startIcon: [String, Function],\n endIcon: [String, Function],\n align: {\n type: String,\n default: 'center'\n },\n ...createControlProps()\n});\nconst LOADING_SIZE_MAP = {\n sm: 14,\n md: 20,\n lg: 28\n};\nexport const VButton = defineComponent({\n name: 'VButton',\n inheritAttrs: false,\n props: vueButtonProps,\n setup(props, ctx) {\n const vui = useVui();\n const control = useControl(props);\n const defaults = vui.setting('buttonDefault');\n const icon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.icon);\n return _icon && _icon();\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || (icon.value ? vui.setting('plainVariant') : defaults.variant)\n });\n const isPlain = computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);\n const isLoading = computed(() => props.loading);\n // const isDisabled = computed(() => props.disabled);\n // const isRounded = computed(() =>\n // props.rounded != null ? props.rounded : !!icon.value,\n // );\n\n const spacer = computed(() => {\n const _spacer = props.spacer;\n if (!_spacer) return;\n return _spacer === true ? 'left' : _spacer;\n });\n const classes = computed(() => [color.colorClasses.value, spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, `v-button--align-${props.align}`, {\n 'v-button--loading': isLoading.value,\n 'v-button--icon': !!icon.value,\n 'v-button--rounded': props.rounded,\n 'v-button--plain': isPlain.value\n }]);\n return () => _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-button', classes.value],\n \"guardInProgressClass\": \"v-button--guard-in-progress\"\n }), {\n default: () => _createVNode(_Fragment, null, [_createVNode(\"span\", {\n \"class\": \"v-button__content\"\n }, [startIcon.value, ctx.slots.default?.(), icon.value, endIcon.value]), isLoading.value && _createVNode(VProgressCircular, {\n \"class\": \"v-button__loading\",\n \"indeterminate\": true,\n \"size\": LOADING_SIZE_MAP[control.size.value]\n }, null)])\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VButtonGroup.scss';\nimport { defineComponent, isVNode, cloneVNode } from 'vue';\nimport { colorSchemeProps } from '@fastkit/vue-color-scheme';\nimport { renderSlotOrEmpty, isFragment } from '@fastkit/vue-utils';\nimport { createControlProps } from '../../composables';\nimport { VButton } from './VButton';\nexport const VButtonGroup = defineComponent({\n name: 'VButtonGroup',\n props: {\n ...colorSchemeProps(),\n ...createControlProps(),\n disabled: Boolean\n },\n setup(props, ctx) {\n return () => {\n let hasIcon = false;\n let buttonLength = 0;\n let tmp = renderSlotOrEmpty(ctx.slots) || [];\n if (tmp.length === 1 && isFragment(tmp[0])) {\n tmp = tmp[0].children;\n }\n const children = tmp.map(node => {\n if (!isVNode(node) || node.type !== VButton) {\n return {\n isButton: false,\n node\n };\n }\n buttonLength++;\n if (!hasIcon && node.props && !!node.props.icon) {\n hasIcon = true;\n }\n return {\n isButton: true,\n node\n };\n });\n let buttonIndex = 0;\n const $children = children.map(child => {\n if (child.isButton) {\n buttonIndex++;\n const hasLeft = buttonIndex > 1;\n const hasRight = buttonIndex < buttonLength;\n const childProps = child.node.props;\n return cloneVNode(child.node, {\n ...props,\n ...childProps,\n rounded: false,\n class: ['v-button-group__item', {\n 'v-button--icon': hasIcon,\n 'v-button-group__item--has-left': hasLeft,\n 'v-button-group__item--has-right': hasRight\n }]\n });\n }\n return child.node;\n });\n return _createVNode(\"div\", {\n \"class\": ['v-button-group', {\n 'v-button-group--has-icon': hasIcon\n }]\n }, [$children]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\";\nimport './VPagination.scss';\nimport { defineComponent, ref, watch, computed, withDirectives } from 'vue';\nimport { createPropsOptions, rawNumberPropType, resolveNumberish } from '@fastkit/vue-utils';\nimport { isPromise } from '@fastkit/helpers';\nimport { useRouter, RouterLink } from 'vue-router';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { resolveRawIconProp } from '../VIcon';\nimport { useVui } from '../../injections';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const PAGINATION_ALIGNS = ['left', 'center', 'right'];\nexport function paginationProps() {\n return createPropsOptions({\n /**\n * Active Pages\n */\n modelValue: {\n type: rawNumberPropType,\n default: 1\n },\n /**\n * Total number of pages\n */\n length: {\n type: rawNumberPropType,\n default: 0\n },\n /**\n * Maximum number of links to display.\n */\n totalVisible: rawNumberPropType,\n /**\n * true when narrowing\n */\n dense: Boolean,\n disabled: Boolean,\n align: {\n type: String,\n default: 'center'\n },\n /**\n * To synchronize with a query, use the query name\n */\n routeQuery: String,\n beforeChange: Function,\n color: String\n });\n}\nexport const VPagination = defineComponent({\n name: 'VPagination',\n props: paginationProps(),\n emits: {\n change: page => true,\n 'update:modelValue': page => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const elRef = ref(null);\n const router = useRouter();\n const internalValue = ref(1);\n const containerWidth = ref(0);\n const itemSize = ref(0);\n const capacityLength = computed(() => {\n const _itemSize = itemSize.value;\n if (!_itemSize) return 0;\n return Math.floor(containerWidth.value / _itemSize);\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('primaryScope')\n });\n const computedLength = computed(() => resolveNumberish(props.length));\n const computedTotalVisible = computed(() => resolveNumberish(props.totalVisible));\n const computedNumbersLength = computed(() => capacityLength.value - 2 - 2);\n const computedPage = computed(() => {\n const {\n routeQuery\n } = props;\n if (routeQuery) {\n return vui.location.getQuery(routeQuery, Number, 1);\n }\n return internalValue.value;\n });\n const _range = (from, to) => {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n };\n const computedItems = computed(() => {\n const maxButtons = computedNumbersLength.value;\n const totalVisible = computedTotalVisible.value;\n const length = computedLength.value;\n const pageValue = computedPage.value;\n const maxLength = Math.min(Math.max(0, totalVisible || 0) || length, Math.max(0, maxButtons) || length, length);\n if (length <= maxLength) {\n return _range(1, length);\n }\n const even = maxLength % 2 === 0 ? 1 : 0;\n const left = Math.floor(maxLength / 2);\n const right = length - left + 1 + even;\n if (pageValue > left && pageValue < right) {\n const start = pageValue - left + 2;\n const end = pageValue + left - 2 - even;\n return [1, 'truncate', ..._range(start, end), 'truncate', length];\n }\n if (pageValue === left) {\n const end = pageValue + left - 1 - even;\n return [..._range(1, end), 'truncate', length];\n }\n if (pageValue === right) {\n const start = pageValue - left + 1;\n return [1, 'truncate', ..._range(start, length)];\n }\n return [..._range(1, left), 'truncate', ..._range(right, length)];\n });\n const isActive = computed(() => computedLength.value > 1);\n const isTransitioning = computed(() => {\n const {\n routeQuery\n } = props;\n return vui.location.isQueryOnlyTransitioning(routeQuery);\n });\n const isDisabled = computed(() => props.disabled || isTransitioning.value);\n const classes = computed(() => [{\n 'v-pagination--disabled': isDisabled.value,\n 'v-pagination--dense': props.dense,\n [`v-pagination--${props.align}`]: true\n }, colorScope.value.className]);\n async function setPage(value) {\n if (isDisabled.value) return;\n const {\n beforeChange,\n routeQuery\n } = props;\n const newPage = resolveNumberish(value);\n if (computedPage.value === newPage) return;\n if (beforeChange) {\n try {\n let result = beforeChange(newPage);\n if (isPromise(result)) result = await result;\n if (result === false) return;\n } catch (e) {\n // noop\n }\n }\n if (routeQuery) {\n const to = createRoutableLocationByPage(newPage, routeQuery);\n return router.push(to).then(failure => {\n !failure && ctx.emit('change', newPage);\n });\n }\n internalValue.value = newPage;\n ctx.emit('update:modelValue', newPage);\n ctx.emit('change', newPage);\n }\n function createPageInfo(source) {\n const currentPage = computedPage.value;\n const length = computedLength.value;\n let number;\n let page;\n let active;\n let disabled;\n if (typeof source === 'number') {\n number = true;\n page = source;\n active = currentPage === page;\n disabled = false;\n } else if (source === 'truncate') {\n number = false;\n active = false;\n disabled = false;\n } else {\n number = false;\n const isPrev = source === 'prev';\n const amount = isPrev ? -1 : 1;\n page = currentPage + amount;\n active = false;\n disabled = page < 1 || page > length;\n }\n return {\n number,\n page,\n active,\n disabled\n };\n }\n function createRoutableLocationByPage(page, routeQuery) {\n return vui.location.getQueryMergedLocation({\n [routeQuery]: page\n });\n }\n function genItem(source, index) {\n const {\n number,\n page,\n active,\n disabled\n } = createPageInfo(source);\n const type = number ? 'num' : source;\n // eslint-disable-next-line no-shadow\n const classes = ['v-pagination__item', {\n [`v-pagination__item--${type}`]: true,\n 'v-pagination__item--active': active,\n 'v-pagination__item--disabled': disabled\n }];\n const children = number ? page : (() => {\n if (type === 'truncate') {\n return _createVNode(\"span\", null, [_createTextVNode(\"...\")]);\n }\n const isPrev = type === 'prev';\n const icon = isPrev ? vui.icon('prev') : vui.icon('next');\n return resolveRawIconProp(false, icon, {\n class: 'v-pagination__item__icon'\n });\n })();\n const onClick = ev => {\n ev.preventDefault();\n if (page === undefined || active || disabled) return;\n setPage(page);\n };\n const key = `${source}-${index}`;\n const {\n routeQuery\n } = props;\n if (page !== undefined && routeQuery) {\n const to = createRoutableLocationByPage(page, routeQuery);\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"key\": key\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n }\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": page,\n \"onClick\": onClick,\n \"key\": key\n }, [children]);\n }\n watch(() => props.modelValue, modelValue => {\n internalValue.value = resolveNumberish(modelValue);\n }, {\n immediate: true\n });\n return () => {\n if (!isActive.value) return undefined;\n const $items = ['prev', ...computedItems.value, 'next'].map((i, index) => genItem(i, index));\n return withDirectives(_createVNode(\"nav\", {\n \"class\": ['v-pagination', classes.value],\n \"ref\": elRef\n }, [$items]), [resizeDirectiveArgument(({\n width\n }) => {\n const el = elRef.value;\n if (el) {\n const style = window.getComputedStyle(el, 'before');\n // eslint-disable-next-line no-shadow\n const width = style.getPropertyValue('width');\n const margin = style.getPropertyValue('margin');\n const size = parseFloat(width) + parseFloat(margin) * 0.5;\n itemSize.value = size;\n }\n containerWidth.value = width;\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VListTile.scss';\nimport { defineComponent, computed, watch } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nimport { rawIconProp, resolveRawIconProp } from '../VIcon';\nexport function createListTileProps() {\n const icon = rawIconProp();\n return {\n ...actionableInheritProps,\n ...createPropsOptions({\n startIcon: icon,\n endIcon: icon,\n linkFallbackTag: {\n type: String,\n default: 'div'\n },\n startIconEmptySpace: Boolean,\n color: String,\n exactMatch: Boolean\n })\n };\n}\nexport const listTileEmits = {\n changeActive: isActive => true\n};\nexport const VListTile = defineComponent({\n name: 'VListTile',\n inheritAttrs: false,\n props: createListTileProps(),\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const startIcon = computed(() => {\n let icon = resolveRawIconProp(false, props.startIcon);\n if (!icon && props.startIconEmptySpace) {\n icon = resolveRawIconProp(false, '$empty');\n }\n return icon;\n });\n const endIcon = computed(() => resolveRawIconProp(false, props.endIcon));\n const hasTo = computed(() => !!ctx.attrs.to);\n const link = vui.useLink({\n to: ctx.attrs.to || ''\n });\n const isActive = computed(() => {\n if (!hasTo.value) return false;\n return props.exactMatch ? link.isExactActive.value : link.isActive.value;\n });\n const color = useScopeColorClass(props);\n const classes = computed(() => {\n const _color = color.value;\n const hasColor = !!_color.value;\n return [color.value.className, {\n 'v-list-tile--plain': !hasColor,\n 'v-list-tile--has-color': hasColor,\n 'v-list-tile--active': isActive.value\n }];\n });\n watch(() => isActive.value,\n // eslint-disable-next-line no-shadow\n isActive => {\n ctx.emit('changeActive', isActive);\n }, {\n immediate: true\n });\n return () => {\n const _startIcon = startIcon.value;\n const _endIcon = endIcon.value;\n return _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-list-tile', classes.value],\n \"actionableClass\": \"v-list-tile--clickable\"\n }), {\n default: () => [_startIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--start\"\n }, [_startIcon]), _createVNode(\"span\", {\n \"class\": \"v-list-tile__body\"\n }, [ctx.slots.default?.()]), _endIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--end\"\n }, [_endIcon])]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VDrawerLayout.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPaperBaseProps, paperBaseSlots, VPaper } from '../VPaper';\nexport const VDrawerLayout = defineComponent({\n name: 'VDrawerLayout',\n props: {\n ...createPaperBaseProps()\n },\n slots: paperBaseSlots,\n setup(props, ctx) {\n return () => {\n const paperProps = computed(() => ({\n color: props.color,\n tag: props.tag\n }));\n return _createVNode(VPaper, _mergeProps({\n \"class\": \"v-drawer-layout\",\n \"innerClass\": \"v-drawer-layout__inner\"\n }, paperProps.value, {\n \"square\": true,\n \"headerProps\": {\n class: 'v-drawer-layout__header'\n },\n \"bodyProps\": {\n class: 'v-drawer-layout__body'\n },\n \"footerProps\": {\n class: 'v-drawer-layout__footer'\n }\n }), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VHero.scss';\nimport { defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { VAppContainer } from '@fastkit/vue-app-layout';\nconst slots = defineSlots();\nexport const VHero = defineComponent({\n name: 'VHero',\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n tag: {\n type: String,\n default: 'header'\n },\n hTag: {\n type: String,\n default: 'h1'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n const HTagName = props.hTag;\n const adornment = ctx.slots.adornment?.();\n return _createVNode(VAppContainer, {\n \"pulled\": true\n }, {\n default: () => [_createVNode(TagName, {\n \"class\": ['v-hero', toScopeColorClass(props.color)]\n }, {\n default: () => [_createVNode(HTagName, {\n \"class\": \"v-hero__title\"\n }, {\n default: () => [ctx.slots.default?.()]\n }), adornment && _createVNode(\"div\", {\n \"class\": \"v-hero__adornment\"\n }, [adornment])]\n })]\n });\n };\n }\n});","import { Fragment as _Fragment, withDirectives as _withDirectives, vShow as _vShow, mergeProps as _mergeProps, createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VNavigationItem.scss';\nimport { defineComponent, computed, Fragment, ref, watch } from 'vue';\nimport { VExpandTransition } from '@fastkit/vue-transitions';\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/no-duplicates\nimport { useRoute } from 'vue-router';\nimport { useVui } from '../../injections';\nimport { createListTileProps, listTileEmits, VListTile } from '../VListTile';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport function createNavigationItemProps() {\n return {\n ...createListTileProps(),\n match: [String, Array],\n depth: {\n type: Number,\n default: 0\n },\n nested: Boolean,\n color: String\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function resolveNavigationItemInput(input) {\n let {\n label\n } = input;\n const props = {\n ...input\n };\n if (typeof label === 'function') {\n label = label();\n }\n delete props.label;\n return {\n label,\n props\n };\n}\nexport function renderNavigationItemInput(input, extraProps) {\n const {\n label,\n props\n } = resolveNavigationItemInput(input);\n return _createVNode(VNavigationItem, {\n ...props,\n ...extraProps\n }, _isSlot(label) ? label : {\n default: () => [label]\n });\n}\nconst TRIM_END_SLASH_RE = /\\/$/;\nfunction trimEndSlash(source) {\n return source ? source.replace(TRIM_END_SLASH_RE, '') : source;\n}\nexport const VNavigationItem = defineComponent({\n name: 'VNavigationItem',\n inheritAttrs: false,\n props: {\n ...createNavigationItemProps(),\n children: Array\n },\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const opened = ref(false);\n const children = computed(() => {\n const c = props.children;\n return c && c.length ? c : undefined;\n });\n const to = computed(() => ctx.attrs.to);\n const match = computed(() => {\n // eslint-disable-next-line no-shadow\n const {\n match\n } = props;\n // eslint-disable-next-line no-shadow\n const {\n to\n } = ctx.attrs;\n if (match) {\n return (Array.isArray(match) ? match : [match]).map(trimEndSlash);\n }\n if (!to) return;\n const toPath = typeof to === 'string' ? to : to.path;\n if (!toPath) return;\n return [trimEndSlash(toPath)];\n });\n const classes = computed(() => [{\n 'v-navigation-item--opened': opened.value,\n [`v-navigation-item--depth-${props.depth}`]: props.depth > 0\n }]);\n const route = useRoute();\n watch(() => route.path, newPath => {\n const c = children.value;\n const m = match.value;\n if (!c || !m || !m.length) {\n return;\n }\n const trimmedNewPath = trimEndSlash(newPath);\n if (m.some(_ => trimmedNewPath.match(_))) {\n open();\n } else {\n close();\n }\n }, {\n immediate: true\n });\n const _props = computed(() => {\n const c = children.value;\n let {\n endIcon\n } = props;\n if (c && !endIcon) {\n endIcon = vui.icon('navigationExpand');\n if (typeof endIcon === 'string') {\n const name = endIcon;\n endIcon = gen => gen({\n name,\n rotate: opened.value ? 180 : 0\n });\n }\n }\n const __props = {\n ...props,\n endIcon\n };\n delete __props.children;\n return {\n ...__props\n };\n });\n function open() {\n if (!children.value) return;\n opened.value = true;\n }\n function close() {\n opened.value = false;\n }\n function toggle() {\n return opened.value ? close() : open();\n }\n const onClick = ev => {\n if (!to.value) {\n return toggle();\n }\n };\n const onChangeActive = isActive => {\n ctx.emit('changeActive', isActive);\n };\n ctx.expose({\n close\n });\n return () => {\n const _children = children.value;\n const fallbackTag = _children ? 'button' : undefined;\n return _createVNode(_Fragment, null, [_createVNode(VListTile, _mergeProps(ctx.attrs, _props.value, {\n \"fallbackTag\": fallbackTag,\n \"endIcon\": _props.value.endIcon,\n \"class\": ['v-navigation-item', classes.value],\n \"onClick\": onClick,\n \"onChangeActive\": onChangeActive\n }), {\n default: () => [ctx.slots.default?.()]\n }), _children && _createVNode(VExpandTransition, null, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-navigation-item__expand\"\n }, [_children.map(child => renderNavigationItemInput({\n color: props.color,\n ...child\n }, {\n startIconEmptySpace: _props.value.startIconEmptySpace,\n depth: props.nested ? props.depth + 1 : props.depth\n }))]), [[_vShow, opened.value]])]\n })]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VNavigation.scss';\nimport { defineComponent, computed, onBeforeUpdate, ref } from 'vue';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { renderNavigationItemInput } from './VNavigationItem';\nexport function createNavigationProps() {\n return createPropsOptions({\n items: {\n type: Array,\n required: true\n },\n color: String,\n startIconEmptySpace: {\n type: Boolean,\n default: true\n },\n caption: [String, Function]\n });\n}\nexport const VNavigation = defineComponent({\n name: 'VNavigation',\n props: createNavigationProps(),\n setup(props, ctx) {\n const items = computed(() => props.items);\n const color = useScopeColorClass(props);\n const classes = computed(() => [color.value.className]);\n const startIconEmptySpace = computed(() => props.startIconEmptySpace);\n const caption = computed(() => {\n const c = props.caption;\n return typeof c === 'function' ? c() : c;\n });\n const itemsRef = ref([]);\n onBeforeUpdate(() => {\n itemsRef.value = [];\n });\n function setItemRef(item, itemRef) {\n itemsRef.value.push({\n key: item.key,\n ref: itemRef\n });\n }\n function onItemActivated(item) {\n // eslint-disable-next-line no-shadow\n itemsRef.value.forEach(({\n key,\n ref\n }) => {\n if (key === item.key) return;\n ref.close();\n });\n }\n return () => {\n const $caption = caption.value;\n return _createVNode(\"nav\", {\n \"class\": ['v-navigation', classes.value]\n }, [!!$caption && _createVNode(\"div\", {\n \"class\": \"v-navigation__caption\"\n }, [$caption]), items.value.map(item => renderNavigationItemInput(item, {\n class: 'v-navigation__item',\n startIconEmptySpace: startIconEmptySpace.value,\n // eslint-disable-next-line no-shadow\n ref: ref => {\n setItemRef(item, ref);\n },\n onChangeActive: isActive => {\n if (isActive /* && item.children && item.children.length */) {\n onItemActivated(item);\n }\n }\n }))]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VControlField.scss';\nimport { computed, ref, defineComponent } from 'vue';\nimport { useParentFormNode } from '@fastkit/vue-form-control';\nimport { resolveVNodeChildOrSlots, createPropsOptions, defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { useVuiColorProvider } from '../../injections';\nimport { VProgressCircular } from '../loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../../schemes';\nconst ADORNMENT_POSITIONS = ['start', 'end'];\nexport function createControlFieldProps() {\n return {\n ...createPropsOptions({\n startAdornment: {},\n endAdornment: {},\n tabindex: {\n type: [String, Number],\n default: 0\n }\n }),\n ...createControlFieldProviderProps(),\n ...createControlProps()\n };\n}\n\n// export const inputBoxSlots = {\n// default: () => true,\n// startAdornment: () => true,\n// endAdornment: () => true,\n// };\n\nconst slots = defineSlots();\nexport const VControlField = defineComponent({\n name: 'VControlField',\n props: {\n ...createControlFieldProps(),\n focused: Boolean,\n autoHeight: Boolean,\n ...slots(),\n error: Boolean\n },\n slots,\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const parentNode = useParentFormNode();\n const control = useControl(props);\n const inputBox = useControlField(props);\n const hostElRef = ref(null);\n const disabled = computed(() => !!parentNode && parentNode.isDisabled);\n const invalid = computed(() => !!parentNode && parentNode.invalid);\n const autoHeight = computed(() => props.autoHeight);\n const readonly = computed(() => !!parentNode && parentNode.isReadonly);\n // const computedTabindex = computed(() =>\n // disabled.value ? -1 : props.tabindex,\n // );\n // const isOutlined = computed(() => inputBox.variant.value === 'outlined');\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => {\n const _classes = ['v-control-field', `v-control-field--${inputBox.variant.value}`, {\n 'v-control-field--disabled': disabled.value,\n 'v-control-field--invalid': invalid.value || props.error,\n 'v-control-field--readonly': readonly.value,\n 'v-control-field--focused': props.focused,\n 'v-control-field--auto-height': autoHeight.value\n }, control.classes.value, colorProvider.className(\n // eslint-disable-next-line no-nested-ternary\n props.error ? 'error' : invalid.value && !readonly.value ? 'error' : 'primary')];\n return _classes;\n });\n const resolvedSlots = computed(() => {\n const _slots = {};\n ADORNMENT_POSITIONS.forEach(position => {\n const key = `${position}Adornment`;\n _slots[position] = resolveVNodeChildOrSlots(props[key], ctx.slots[key]);\n });\n return _slots;\n });\n const renderAdornment = position => {\n let child;\n if (position === 'end' && props.loading) {\n child = _createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"size\": CONTROL_LOADING_SPINNER_SIZES[props.size || 'md']\n }, null);\n } else {\n child = resolvedSlots.value[position]?.();\n }\n if (!child) return;\n return _createVNode(\"div\", {\n \"class\": ['v-control-field__adornment', `v-control-field__adornment--${position}`]\n }, [child]);\n };\n const handleClick = ev => ctx.emit('click', ev);\n return () => _createVNode(\"div\", {\n \"class\": classes.value,\n \"onClick\": handleClick,\n \"ref\": hostElRef\n }, [renderAdornment('start'), _createVNode(\"div\", {\n \"class\": \"v-control-field__body\"\n }, [ctx.slots.default?.()]), renderAdornment('end')]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VTextCounter.scss';\nimport { defineComponent } from 'vue';\nexport const VTextCounter = defineComponent({\n name: 'VTextCounter',\n props: {\n length: {\n type: Number,\n required: true\n },\n maxlength: {\n type: Number,\n required: true\n }\n },\n render() {\n return _createVNode(\"span\", {\n \"class\": \"v-text-counter\"\n }, [`${this.length} / ${this.maxlength}`]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCheckable.scss';\nimport { computed, defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider } from '../../injections';\nexport const CHECKABLE_SLOTS = defineSlots();\nexport const VCheckable = defineComponent({\n name: 'VCheckable',\n props: {\n invalid: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n checked: Boolean,\n ...CHECKABLE_SLOTS()\n // autoWidth: Boolean,\n },\n slots: CHECKABLE_SLOTS,\n setup(props, ctx) {\n const colorProvider = useVuiColorProvider();\n const invalid = computed(() => props.invalid);\n const disabled = computed(() => props.disabled);\n const readonly = computed(() => props.readonly);\n const checked = computed(() => props.checked);\n // const autoWidth = computed(() => props.autoWidth);\n const classes = computed(() => [{\n 'v-checkable--invalid': invalid.value,\n 'v-checkable--disabled': disabled.value,\n 'v-checkable--readonly': readonly.value,\n 'v-checkable--checked': checked.value,\n 'v-checkable--custom-icon': !!ctx.slots.icon,\n disabled: disabled.value\n }, colorProvider.className(invalid.value ? 'error' : 'primary')]);\n return () => _createVNode(\"label\", {\n \"class\": ['v-checkable', classes.value]\n }, [_createVNode(\"span\", {\n \"class\": \"v-checkable__faux\"\n }, [ctx.slots.input?.(), ctx.slots.icon ? ctx.slots.icon() : _createVNode(\"span\", {\n \"class\": \"v-checkable__faux__icon\"\n }, [ctx.slots.faux?.()])]), _createVNode(\"span\", {\n \"class\": \"v-checkable__label\"\n }, [ctx.slots.label?.()])]);\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VCheckbox.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_CHECKBOX_GROUP_SYMBOL, VUI_CHECKBOX_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n props: {\n ...props,\n ...createControlProps(),\n indeterminate: Boolean\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_CHECKBOX_SYMBOL,\n parentNodeType: VUI_CHECKBOX_GROUP_SYMBOL\n });\n const control = useControl(props);\n const isIndeterminate = computed(() => props.indeterminate);\n const classes = computed(() => ['v-checkbox', {\n 'v-checkbox--selected': nodeControl.selected,\n 'v-checkbox--indeterminate': isIndeterminate.value\n }, control.classes.value]);\n const api = nodeControl.extend({\n get isIndeterminate() {\n return isIndeterminate.value;\n }\n });\n ctx.expose({\n control: api\n });\n const slots = {\n input: () => nodeControl.createInputElement({\n type: 'checkbox'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-checkbox__faux\"\n }, null),\n label: () => ctx.slots.default?.()\n };\n return () => _createVNode(VCheckable, {\n \"class\": classes.value,\n \"checked\": nodeControl.selected || isIndeterminate.value,\n \"invalid\": nodeControl.invalid,\n \"disabled\": nodeControl.isDisabled,\n \"readonly\": nodeControl.isReadonly\n }, slots);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_CHECKBOX_GROUP_SYMBOL } from '../../injections';\nimport { VCheckbox } from '../VCheckbox';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VCheckboxGroup = defineFormSelectorComponent({\n name: 'VCheckboxGroup',\n defaultMultiple: true,\n nodeType: VUI_CHECKBOX_GROUP_SYMBOL,\n className: 'v-checkbox-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VCheckbox, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VRadio.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_RADIO_GROUP_SYMBOL, VUI_RADIO_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VRadio = defineComponent({\n name: 'VRadio',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_RADIO_SYMBOL,\n parentNodeType: VUI_RADIO_GROUP_SYMBOL\n });\n const control = useControl(props);\n const classes = computed(() => ['v-radio', {\n 'v-radio--selected': nodeControl.selected\n }, control.classes.value]);\n const slots = {\n input: () => nodeControl.createInputElement({\n type: 'radio'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-radio__faux\"\n }, null),\n label: () => ctx.slots.default?.()\n };\n return () => _createVNode(VCheckable, {\n \"class\": classes.value,\n \"checked\": nodeControl.selected,\n \"invalid\": nodeControl.invalid,\n \"disabled\": nodeControl.isDisabled,\n \"readonly\": nodeControl.isReadonly\n }, slots);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_RADIO_GROUP_SYMBOL } from '../../injections';\nimport { VRadio } from '../VRadio';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VRadioGroup = defineFormSelectorComponent({\n name: 'VRadioGroup',\n nodeType: VUI_RADIO_GROUP_SYMBOL,\n className: 'v-radio-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VRadio, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VSwitch.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SWITCH_GROUP_SYMBOL, VUI_SWITCH_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_SWITCH_SYMBOL,\n parentNodeType: VUI_SWITCH_GROUP_SYMBOL\n });\n const control = useControl(props);\n if (typeof window !== 'undefined') {\n window.yy = {};\n window.yy[String(Date.now())] = nodeControl;\n }\n const classes = computed(() => ['v-switch', {\n 'v-switch--selected': nodeControl.selected,\n 'v-switch--disabled': nodeControl.isDisabled\n }, control.classes.value]);\n const slots = {\n input: () => nodeControl.createInputElement({\n type: 'checkbox'\n }),\n icon: () => _createVNode(\"span\", {\n \"class\": \"v-switch__faux\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-switch__faux__pin\"\n }, null)]),\n label: () => ctx.slots.default?.()\n };\n ctx.expose({\n control: nodeControl\n });\n return () => _createVNode(VCheckable, {\n \"class\": classes.value,\n \"checked\": nodeControl.selected,\n \"invalid\": nodeControl.invalid,\n \"disabled\": nodeControl.isDisabled,\n \"readonly\": nodeControl.isReadonly\n }, slots);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_SWITCH_GROUP_SYMBOL } from '../../injections';\nimport { VSwitch } from '../VSwitch';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VSwitchGroup = defineFormSelectorComponent({\n name: 'VSwitchGroup',\n defaultMultiple: true,\n nodeType: VUI_SWITCH_GROUP_SYMBOL,\n className: 'v-switch-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VSwitch, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VOption.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SELECT_SYMBOL, VUI_OPTION_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VOption = defineComponent({\n name: 'VOption',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_OPTION_SYMBOL,\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const control = useControl(props);\n const classes = computed(() => ['v-option', {\n 'v-option--selected': nodeControl.selected,\n 'v-option--has-not-value': !nodeControl.hasValue,\n 'v-option--disabled': nodeControl.isDisabled\n }, control.classes.value]);\n return () => _createVNode(\"label\", {\n \"class\": classes.value,\n \"onClick\": nodeControl.handleClickElement,\n \"tabindex\": nodeControl.tabindex,\n \"data-value\": nodeControl.propValue,\n \"aria-disabled\": nodeControl.isDisabled\n }, [_createVNode(\"span\", {\n \"class\": \"v-option__label\"\n }, [ctx.slots.default?.()])]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VOptionGroup.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormSelectorItemGroupProps, useFormSelectorItemGroupControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { VUI_SELECT_SYMBOL } from '../../injections';\nconst slots = defineSlots();\nexport const VOptionGroup = defineComponent({\n name: 'VOptionGroup',\n props: {\n ...createFormSelectorItemGroupProps(),\n // eslint-disable-next-line vue/require-prop-types\n label: {},\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const groupControl = useFormSelectorItemGroupControl(props, ctx, {\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const labelSlot = computed(() => resolveVNodeChildOrSlots(props.label, ctx.slots.label));\n const classes = computed(() => ['v-option-group', {\n 'v-option-group--disabled': groupControl.isDisabled\n }]);\n ctx.expose({\n control: groupControl\n });\n return () => {\n const label = labelSlot.value?.(groupControl);\n return _createVNode(\"div\", {\n \"class\": classes\n }, [!!label && _createVNode(\"div\", {\n \"class\": \"v-option-group__label\"\n }, [label]), ctx.slots.default?.()]);\n };\n }\n});","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, vModelSelect as _vModelSelect, isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VSelect.scss';\nimport { ref, defineComponent, computed, nextTick } from 'vue';\nimport { createFormSelectorSettings, useFormSelectorControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots, createPropsOptions, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { useKeyboard } from '@fastkit/vue-keyboard';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VUI_SELECT_SYMBOL, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VMenu } from '../VMenu';\nimport { VOptionGroup } from '../VOptionGroup';\nimport { VOption } from '../VOption';\nimport { VButton } from '../VButton';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const ARROW_KEY_TYPES = useKeyboard.Key(['ArrowUp', 'ArrowDown']);\nexport const CHOICE_KEY_TYPES = useKeyboard.Key(['Enter', ' ']);\nexport const KEYBOARD_EVENT_TYPES = useKeyboard.Key([...ARROW_KEY_TYPES, ...CHOICE_KEY_TYPES]);\nconst {\n props,\n emits\n} = createFormSelectorSettings({\n defaultValidateTiming: 'blur'\n});\nconst slots = defineSlots();\nexport const VSelect = defineComponent({\n name: 'VSelect',\n props: {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots(),\n ...createPropsOptions({\n placeholder: String,\n loadingMessage: {},\n failedToLoadItemsMessage: {}\n }),\n closeOnNavigation: Boolean\n },\n slots,\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const menuRef = ref(null);\n const menuOpened = ref(false);\n const showMenu = () => {\n menuOpened.value = true;\n };\n const closeMenu = () => {\n menuOpened.value = false;\n };\n const inputControl = useFormSelectorControl(props, ctx, {\n nodeType: VUI_SELECT_SYMBOL,\n onSelectItem: item => {\n closeMenu();\n }\n });\n const control = useControl(props);\n useControlField(props);\n const vui = useVui();\n const iconName = vui.icon('menuDown');\n const fieldRef = ref(null);\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n const focus = opts => {\n fieldRef.value?.focus?.(opts);\n };\n const renderSelections = selectedItems => {\n const selectionSlot = ctx.slots.selection;\n const children = [];\n if (inputControl.itemsLoadFailed) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [failedToLoadItemsMessageRef.value]));\n } else if (inputControl.itemsLoading) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [loadingMessageRef.value]));\n } else if (selectedItems.length) {\n selectedItems.forEach((item, index) => {\n if (index > 0) {\n children.push(vui.selectionSeparator());\n }\n const child = selectionSlot ? selectionSlot({\n item,\n index\n }) : item.renderDefaultSlot();\n children.push(child);\n });\n } else if (props.placeholder != null) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [props.placeholder]));\n }\n return children;\n };\n const clearKeyFocused = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option'));\n els.forEach(el => el.classList.remove('v-option--key-focused'));\n };\n const getItemElements = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option')).filter(el => {\n if (el.tabIndex === -1) return false;\n const disabled = el.getAttribute('disabled');\n const ariaDisabled = el.getAttribute('aria-disabled');\n if (ariaDisabled === 'true') return false;\n return disabled == null || disabled === '';\n });\n if (!els.length) return;\n return els;\n };\n const arrowKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !ARROW_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n const currentIndex = currentEl && els.indexOf(currentEl);\n let nextIndex;\n const {\n length\n } = els;\n const isUp = key === 'ArrowUp';\n if (currentIndex == null) {\n nextIndex = isUp ? length - 1 : 0;\n } else {\n const shiftAmount = key === 'ArrowUp' ? -1 : 1;\n nextIndex = currentIndex + shiftAmount;\n if (nextIndex < 0) {\n nextIndex = length - 1;\n } else if (nextIndex >= length) {\n nextIndex = 0;\n }\n }\n const nextEl = els[nextIndex];\n if (nextEl) {\n clearKeyFocused();\n nextEl.classList.add('v-option--key-focused');\n nextEl.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth'\n });\n ev.preventDefault();\n }\n };\n const choiceKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !CHOICE_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n if (currentEl) {\n // eslint-disable-next-line no-shadow\n const ev = new MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: true\n });\n currentEl.dispatchEvent(ev);\n ev.preventDefault();\n nextTick(() => {\n currentEl.classList.add('v-option--key-focused');\n });\n }\n };\n const keyboardEventHandler = ev => {\n if (ARROW_KEY_TYPES.includes(ev.key)) return arrowKeyHandler(ev);\n if (CHOICE_KEY_TYPES.includes(ev.key)) return choiceKeyHandler(ev);\n };\n useKeyboard([{\n key: KEYBOARD_EVENT_TYPES,\n handler: keyboardEventHandler\n }], {\n autorun: true\n });\n ctx.expose({\n control: inputControl,\n focus,\n showMenu,\n closeMenu\n });\n const handleClickLabel = ev => {\n focus();\n };\n return () => {\n const children = ctx.slots.default?.() || [];\n const propGroups = inputControl.propGroups.map(group => {\n let _slot2;\n return _createVNode(VOptionGroup, {\n \"key\": group.id,\n \"groupId\": group.id,\n \"label\": group.label(inputControl),\n \"disabled\": group.disabled\n }, _isSlot(_slot2 = group.items.map(item => {\n let _slot;\n return _createVNode(VOption, {\n \"disabled\": item.disabled,\n \"value\": item.value,\n \"key\": item.value\n }, _isSlot(_slot = item.label(inputControl)) ? _slot : {\n default: () => [_slot]\n });\n })) ? _slot2 : {\n default: () => [_slot2]\n });\n });\n const classes = computed(() => ['v-select', control.classes.value, {\n 'v-select--multiple': inputControl.multiple\n }]);\n const controlDefaultSlot = () => [_withDirectives(_createVNode(\"select\", {\n \"class\": \"v-select__input__element\",\n \"name\": inputControl.name,\n \"tabindex\": inputControl.tabindex,\n \"disabled\": inputControl.isDisabled,\n \"multiple\": inputControl.multiple,\n \"onFocus\": inputControl.focusHandler,\n \"onBlur\": inputControl.blurHandler,\n \"onUpdate:modelValue\": $event => inputControl.value = $event\n }, [inputControl.items.map(item => _createVNode(\"option\", {\n \"value\": item.propValue,\n \"key\": item.propValue\n }, [item.renderDefaultSlot()]))]), [[_vModelSelect, inputControl.value]]), _createVNode(\"div\", {\n \"class\": \"v-select__selections\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-select__selections__inner\"\n }, [renderSelections(inputControl.selectedItems)])])];\n const endAdornmentSlot = () => {\n if (inputControl.itemsLoadFailed) {\n return _createVNode(VButton, {\n \"key\": \"reload\",\n \"icon\": vui.icon('reload'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n inputControl.loadItems();\n }\n }, null);\n }\n if (props.clearable && inputControl.value != null) {\n return _createVNode(VButton, {\n \"key\": \"clear\",\n \"icon\": vui.icon('clear'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n inputControl.clear();\n }\n }, null);\n }\n return _createVNode(VIcon, {\n \"key\": \"icon\",\n \"name\": iconName,\n \"rotate\": menuOpened.value ? 180 : 0\n }, null);\n };\n const menuActivatorSlot = ({\n control: menu\n }) => _createVNode(VControlField, {\n \"class\": \"v-select__input\",\n \"ref\": fieldRef,\n \"loading\": inputControl.itemsLoading,\n \"error\": inputControl.itemsLoadFailed,\n \"startAdornment\": props.startAdornment,\n \"endAdornment\": props.endAdornment,\n \"size\": control.size.value,\n \"focused\": menuOpened.value,\n \"autoHeight\": inputControl.multiple,\n \"onClick\": ev => {\n if (inputControl.canOperation && !menu.isActive) {\n let t = ev.target;\n const count = 0;\n let hit = false;\n while (count < 5) {\n if (t.classList.contains('v-select__input')) {\n hit = true;\n break;\n }\n t = t.parentElement;\n }\n menu.setActivator(hit ? t : ev).show();\n }\n }\n }, {\n ...ctx.slots,\n default: controlDefaultSlot,\n endAdornment: endAdornmentSlot\n });\n const menuSlots = {\n activator: menuActivatorSlot,\n default: () => _createVNode(\"div\", {\n \"class\": ['v-select__body', control.classes.value]\n }, [children, propGroups])\n };\n const defaultSlot = () => _createVNode(VMenu, {\n \"width\": \"fit\",\n \"maxWidth\": \"fit\",\n \"closeOnNavigation\": props.closeOnNavigation,\n \"distance\": 0,\n \"alwaysRender\": true,\n \"modelValue\": menuOpened.value,\n \"onUpdate:modelValue\": $event => menuOpened.value = $event,\n \"ref\": menuRef,\n \"onClose\": clearKeyFocused\n }, menuSlots);\n return _createVNode(VFormControl, {\n \"nodeControl\": inputControl,\n \"class\": classes.value,\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"hiddenInfo\": props.hiddenInfo,\n \"requiredChip\": props.requiredChip,\n \"onClickLabel\": handleClickLabel\n }, {\n ...ctx.slots,\n default: defaultSlot\n });\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextField.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createTextInputNodeSettings, useTextInputNodeControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXT_FIELD_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createTextInputNodeSettings();\nconst slots = defineSlots();\nfunction createTextFieldProps() {\n return {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n };\n}\nexport const VTextField = defineComponent({\n name: 'VTextField',\n props: createTextFieldProps(),\n emits,\n slots,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const inputControl = useTextInputNodeControl(props, ctx, {\n nodeType: VUI_TEXT_FIELD_SYMBOL\n });\n const control = useControl(props);\n useControlField(props);\n const classes = computed(() => ['v-text-field', control.classes.value]);\n const handleClickLabel = ev => {\n inputControl.focus();\n };\n const defaultSlot = () => _createVNode(VControlField, {\n \"class\": \"v-text-field__input\",\n \"startAdornment\": props.startAdornment,\n \"endAdornment\": props.endAdornment,\n \"size\": control.size.value\n }, {\n ...ctx.slots,\n default: () => [inputControl.createInputElement({\n class: 'v-text-field__input__element'\n }), inputControl.createDatalist()]\n });\n const infoAppendsSlot = () => {\n const {\n counterResult\n } = inputControl;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n };\n ctx.expose({\n control: inputControl\n });\n return () => _createVNode(VFormControl, {\n \"nodeControl\": inputControl,\n \"hiddenInfo\": props.hiddenInfo,\n \"class\": classes.value,\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"requiredChip\": props.requiredChip,\n \"onClickLabel\": handleClickLabel\n }, {\n ...ctx.slots,\n default: defaultSlot,\n infoAppends: infoAppendsSlot\n });\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent, computed } from 'vue';\nimport { VTextField } from '../VTextField/VTextField';\nconst toString = value => {\n if (value == null) return '';\n return String(value);\n};\nconst toNumber = value => {\n if (value == null) return null;\n if (typeof value === 'number') return value;\n if (value.trim() === '') return null;\n return Number(value);\n};\nexport const VNumberField = defineComponent({\n name: 'VNumberField',\n props: {\n ...undefined,\n modelValue: {\n type: Number,\n default: null\n }\n },\n emits: {\n ...undefined,\n 'update:modelValue': value => true,\n change: value => true\n },\n setup(props, ctx) {\n const hasNumberMask = computed(() => {\n const {\n mask\n } = ctx.attrs;\n return !!mask && typeof mask === 'object' && mask.mask === Number;\n });\n const inputmode = computed(() => {\n // eslint-disable-next-line no-shadow\n const {\n inputmode\n } = ctx.attrs;\n if (inputmode) return inputmode;\n return hasNumberMask.value ? 'decimal' : undefined;\n });\n const onUpdateModelValue = value => {\n ctx.emit('update:modelValue', toNumber(value));\n };\n const onChange = value => {\n ctx.emit('change', toNumber(value));\n };\n return () => _createVNode(VTextField, _mergeProps(ctx.attrs, {\n \"type\": hasNumberMask.value ? 'text' : 'number',\n \"inputmode\": inputmode.value,\n \"maskModel\": \"typed\",\n \"modelValue\": toString(props.modelValue),\n \"onUpdate:modelValue\": onUpdateModelValue,\n \"onChange\": onChange\n }), ctx.slots);\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextarea.scss';\nimport { defineComponent } from 'vue';\nimport { createTextareaNodeSettings, useTextareaNodeControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXTAREA_SYMBOL, useVui } from '../../injections';\nconst {\n props,\n emits\n} = createTextareaNodeSettings();\nconst slots = defineSlots();\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n props: {\n ...props,\n ...createFormNodeWrapperProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n },\n emits,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const vui = useVui();\n const inputControl = useTextareaNodeControl(props, ctx, {\n nodeType: VUI_TEXTAREA_SYMBOL,\n defaultRows: vui.textareaRows\n });\n const control = useControl(props);\n useControlField(props);\n ctx.expose({\n control: inputControl\n });\n const defaultSlot = () => _createVNode(VControlField, {\n \"class\": \"v-textarea__input\",\n \"size\": control.size.value,\n \"autoHeight\": true,\n \"startAdornment\": props.startAdornment,\n \"endAdornment\": props.endAdornment\n }, {\n ...ctx.slots,\n default: () => inputControl.createInputElement({\n class: 'v-textarea__input__element'\n })\n });\n const infoAppendsSlot = () => {\n const {\n counterResult\n } = inputControl;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n };\n return () => _createVNode(VFormControl, {\n \"nodeControl\": inputControl,\n \"class\": ['v-textarea', control.classes.value],\n \"label\": props.label,\n \"hint\": props.hint,\n \"hinttip\": props.hinttip,\n \"hiddenInfo\": props.hiddenInfo,\n \"requiredChip\": props.requiredChip,\n \"onClickLabel\": ev => {\n inputControl.focus();\n }\n }, {\n ...ctx.slots,\n default: defaultSlot,\n infoAppends: infoAppendsSlot\n });\n }\n});","import { defineComponent } from 'vue';\nimport { createFormGroupSettings, useFormGroup } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_FORM_GROUP_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormGroupSettings();\nexport const formGroupSlots = defineSlots();\nexport function createVFormGroupProps() {\n return {\n ...props,\n ...createControlProps(),\n ...formGroupSlots()\n };\n}\nexport const VFormGroup = defineComponent({\n name: 'VFormGroup',\n inheritAttrs: false,\n props: createVFormGroupProps(),\n emits,\n slots: formGroupSlots,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useFormGroup(props, ctx, {\n nodeType: VUI_FORM_GROUP_SYMBOL\n });\n useControl(props);\n ctx.expose({\n control: nodeControl\n });\n return () => ctx.slots.default?.(nodeControl);\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport { defineComponent, computed } from 'vue';\nimport { createFormSettings, useForm } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_FORM_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormSettings({\n nodeType: VUI_FORM_SYMBOL\n});\nexport const formSlots = defineSlots();\nexport function createVFormProps() {\n return {\n ...props,\n ...createControlProps(),\n ...formSlots()\n };\n}\nexport const VForm = defineComponent({\n name: 'VForm',\n props: createVFormProps(),\n emits,\n slots: formSlots,\n // eslint-disable-next-line no-shadow\n setup(props, ctx) {\n const nodeControl = useForm(props, ctx, {\n nodeType: VUI_FORM_SYMBOL\n });\n const classes = computed(() => ['v-form', {\n 'v-form--valid': nodeControl.valid,\n 'v-form--invalid': nodeControl.invalid,\n 'v-form--disabled': nodeControl.isDisabled,\n 'v-form--validating': nodeControl.validating,\n 'v-form--pending': nodeControl.pending,\n 'v-form--sending': nodeControl.sending\n }]);\n useControl(props);\n ctx.expose({\n control: nodeControl\n });\n return () => _createVNode(\"form\", _mergeProps({\n \"class\": classes.value\n }, nodeControl.formAttrs), [ctx.slots.default?.(nodeControl)]);\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VTab.scss';\nimport { defineComponent, computed } from 'vue';\nimport { RouterLink } from 'vue-router';\nimport { resolveRawIconProp } from '../VIcon';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VTab = defineComponent({\n name: 'VTab',\n props: {\n value: {\n type: String,\n required: true\n },\n active: Boolean,\n to: [String, Object],\n icon: [String, Function]\n },\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const classesRef = computed(() => ({\n 'v-tab--active': props.active\n }));\n const exposeValues = {\n value: props.value,\n active: props.active\n };\n ctx.expose(exposeValues);\n return () => {\n const {\n to,\n value,\n icon,\n active\n } = props;\n const classes = ['v-tab', classesRef.value];\n const children = _createVNode(\"span\", {\n \"class\": \"v-tab__content\"\n }, [icon && resolveRawIconProp(active, icon, {\n class: 'v-tab__icon'\n }), ctx.slots.default?.()]);\n if (to) {\n const replace = typeof to === 'string' ? undefined : to.replace;\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"replace\": replace\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n }\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": value,\n \"onClick\": ev => {\n ctx.emit('click', ev);\n }\n }, [children]);\n };\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VTabs.scss';\nimport { defineComponent, ref, computed, watch, onBeforeUnmount, onBeforeUpdate, onMounted } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VScroller } from '@fastkit/vue-scroller';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { isPromise } from '@fastkit/helpers';\nimport { VTab } from './VTab';\nimport { useVui } from '../../injections';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nconst slots = defineSlots();\nexport const VTabs = defineComponent({\n name: 'VTabs',\n props: {\n modelValue: String,\n items: {\n type: Array,\n required: true\n },\n /**\n * 自動スクロールする際の余剰オフセット幅(px)\n */\n autoScrollOffset: {\n type: Number,\n default: 20\n },\n /**\n * ルーター同期する場合設定する\n */\n router: Function,\n /**\n * ルーティング連携を行う際に、クエリベースのURLマッチングを行う\n * タブのURLが /page1?tab=xxx のようになる時に設定する\n */\n withQuery: Boolean,\n color: String,\n onBeforeChange: Function,\n ...slots()\n },\n emits: {\n 'update:modelValue': newValue => true,\n change: newValue => true\n },\n slots,\n setup(props, ctx) {\n const vui = useVui();\n const internalValueRef = ref(null);\n const ScrollerRef = VScroller.$ref();\n const elRef = ref(null);\n let scrollResult;\n const tabRefs = ref([]);\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: value => {\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('tabDefault').color\n });\n const classes = computed(() => [colorScope.value.className]);\n const computedItemsRef = computed(() => {\n const current = currentRef.value;\n const {\n router\n } = props;\n return props.items.map(item => {\n const {\n value\n } = item;\n const active = current === value;\n let location;\n if (router) {\n // eslint-disable-next-line no-shadow\n const to = router(value);\n const route = vui.router.resolve(to);\n location = {\n to,\n route\n };\n }\n return {\n ...item,\n active,\n location\n };\n });\n });\n\n // eslint-disable-next-line no-shadow\n const setTabRef = ref => {\n tabRefs.value.push(ref);\n };\n function setupInternalValue(routable) {\n let value = props.modelValue;\n if (value == null || value === '') {\n const firstItem = props.items[0];\n if (!firstItem) return;\n value = firstItem.value;\n }\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n if (routable) {\n const {\n router\n } = props;\n if (!router) return;\n const hit = computedItemsRef.value.find(item => item.value === value);\n if (!hit) return;\n const {\n location\n } = hit;\n if (!location) return;\n // eslint-disable-next-line no-shadow\n const {\n to,\n route\n } = location;\n if (route.fullPath === vui.location.currentRoute.fullPath) return;\n vui.router[to.replace ? 'replace' : 'push'](to);\n } else if (!props.router && props.modelValue !== value) {\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n }\n async function to(value) {\n const {\n value: currentValue\n } = currentRef;\n if (currentValue === value) {\n return;\n }\n const {\n onBeforeChange\n } = props;\n if (onBeforeChange) {\n let result = onBeforeChange(value, currentRef.value);\n if (isPromise(result)) {\n result = await result;\n }\n if (result === false) {\n return;\n }\n }\n currentRef.value = value;\n }\n function cancelScroll() {\n if (scrollResult) {\n scrollResult.cancel();\n scrollResult = undefined;\n }\n }\n const findTab = tab => tabRefs.value.find(t => t.value === tab);\n function scrollToTab(tabValue) {\n const tab = findTab(tabValue);\n if (!tab) return;\n const $tab = tab.$el;\n if (!$tab) return;\n const scroller = ScrollerRef.instance;\n if (!scroller) return;\n const container = scroller.scroller.element();\n if (!container) return;\n const {\n autoScrollOffset\n } = props;\n const tabLeft = $tab.offsetLeft;\n const tabWidth = $tab.offsetWidth;\n const tabRight = tabLeft + tabWidth;\n let hiddenLeft = 0;\n let hiddenRight = 0;\n const {\n scrollLeft,\n offsetWidth: scrollerWidth\n } = container;\n hiddenLeft = Math.max(scrollLeft - tabLeft, 0);\n hiddenRight = Math.max(tabRight - scrollerWidth - scrollLeft, 0);\n if (hiddenLeft > 0) hiddenLeft += autoScrollOffset;\n if (hiddenRight > 0) hiddenRight += autoScrollOffset;\n let scrollAmount = 0;\n if (hiddenRight > 0) {\n scrollAmount = hiddenRight;\n }\n if (hiddenLeft > 0) {\n scrollAmount = -hiddenLeft;\n }\n if (Math.abs(scrollAmount) > 0) {\n cancelScroll();\n scrollResult = scroller.scroller.by(scrollAmount, 0, {\n duration: 150\n });\n }\n }\n watch(() => props.modelValue, () => setupInternalValue(true));\n watch(() => props.items, () => setupInternalValue(), {\n deep: true\n });\n watch(() => internalValueRef.value, newValue => {\n scrollToTab(newValue);\n });\n vui.location.watchRoute(route => {\n if (!props.router) return;\n const path = props.withQuery ? route.fullPath : route.path;\n const hit = computedItemsRef.value.find(({\n location\n }) => location && location.route.fullPath === path);\n if (hit) {\n currentRef.value = hit.value;\n }\n }, {\n immediate: true\n });\n onMounted(() => {\n scrollToTab(currentRef.value);\n });\n onBeforeUnmount(() => {\n cancelScroll();\n });\n onBeforeUpdate(() => {\n tabRefs.value = [];\n });\n setupInternalValue();\n return () => {\n const items = computedItemsRef.value;\n const itemSlot = ctx.slots.item;\n const children = items.map(({\n value,\n active,\n label,\n icon,\n location\n }) => {\n if (!label) {\n label = itemSlot;\n }\n\n // eslint-disable-next-line no-shadow\n const children = typeof label === 'function' ? label({\n value,\n active,\n vui\n }) : label;\n const _to = location && location.to || undefined;\n return _createVNode(VTab, {\n \"value\": value,\n \"to\": _to,\n \"icon\": icon,\n \"active\": active,\n \"ref\": setTabRef,\n \"onClick\": e => {\n if (!e.defaultPrevented) {\n to(value);\n }\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n });\n return _createVNode(\"div\", {\n \"class\": ['v-tabs', classes.value],\n \"ref\": elRef\n }, [_createVNode(ScrollerRef, {\n \"class\": \"v-tabs__scroller\",\n \"containerClass\": \"v-tabs__scroller__container\",\n \"guide\": true\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-tabs__content\"\n }, [children])]\n })]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VBreadcrumbs.scss';\nimport { defineComponent, computed } from 'vue';\nimport { VAction } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { resolveRawIconProp } from '../VIcon';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n props: {\n items: {\n type: Array,\n default: () => []\n },\n divider: [String, Function]\n },\n setup(props, ctx) {\n const vui = useVui();\n const computedItemsRef = computed(() => {\n const items = props.items.map(rawItem => typeof rawItem === 'string' ? {\n text: rawItem\n } : rawItem);\n return items.map(item => {\n const {\n to,\n text\n } = item;\n const {\n disabled = vui.location.match(to) || !vui.location.isAvailable(to)\n } = item;\n return {\n ...item,\n disabled,\n text: typeof text === 'function' ? text(vui) : text\n };\n });\n });\n const lengthRef = computed(() => computedItemsRef.value.length);\n const defaultDividerSlot = () => [_createVNode(\"i\", {\n \"class\": \"v-breadcrumbs__divider__icon\"\n }, null)];\n return () => {\n if (lengthRef.value < 1) return;\n // eslint-disable-next-line no-shadow\n let dividerSlot;\n const propDivider = props.divider;\n if (propDivider) {\n dividerSlot = typeof propDivider === 'function' ? propDivider : () => propDivider;\n } else {\n dividerSlot = defaultDividerSlot;\n }\n const children = [];\n computedItemsRef.value.forEach((item, index) => {\n const {\n text,\n icon,\n disabled,\n to\n } = item;\n if (index > 0) {\n const divider = dividerSlot(vui);\n if (divider) {\n children.push(_createVNode(\"li\", {\n \"class\": \"v-breadcrumbs__divider\",\n \"key\": `divider-${index}`\n }, [divider]));\n }\n }\n const myChildren = [];\n if (icon) {\n const $icon = resolveRawIconProp(false, icon, {\n class: 'v-breadcrumbs__icon'\n });\n if ($icon) {\n myChildren.push($icon);\n }\n }\n if (text) myChildren.push(text);\n const itemChild = to ? _createVNode(VAction, {\n \"class\": \"v-breadcrumbs__link\",\n \"to\": to,\n \"exactActiveClass\": \"v-breadcrumbs__link--active\"\n }, _isSlot(myChildren) ? myChildren : {\n default: () => [myChildren]\n }) : myChildren;\n children.push(_createVNode(\"li\", {\n \"class\": ['v-breadcrumbs__item', {\n 'v-breadcrumbs__item--disabled': disabled\n }],\n \"key\": `link-${index}`\n }, [itemChild]));\n });\n return _createVNode(\"nav\", {\n \"class\": \"v-breadcrumbs\"\n }, [_createVNode(\"ul\", {\n \"class\": \"v-breadcrumbs__list\"\n }, [children])]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VContentSwitcher.scss';\nimport { defineComponent, ref, computed, watch, Transition } from 'vue';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VContentSwitcher = defineComponent({\n name: 'VContentSwitcher',\n props: {\n modelValue: String,\n order: {\n type: Array,\n default: () => []\n },\n autotop: [Boolean, Object]\n },\n emits: {\n 'update:modelValue': modelValue => true\n },\n setup(props, ctx) {\n const internalValueRef = ref('');\n const transitionRef = ref('');\n const elRef = ref(null);\n const anchorRef = ref(null);\n const computedOrderRef = computed(() => props.order.map(row => typeof row === 'string' ? row : row.value));\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: current => {\n if (internalValueRef.value !== current) {\n internalValueRef.value = current;\n ctx.emit('update:modelValue', current);\n }\n }\n });\n const autotopSettingsRef = computed(() => {\n let {\n autotop: settings\n } = props;\n if (settings === true) settings = {};\n if (!settings) return;\n return {\n ...settings\n };\n });\n function seeTop(options) {\n const scroller = getDocumentScroller();\n const {\n value: anchor\n } = anchorRef;\n if (anchor) {\n scroller.toElement(anchor, options);\n }\n }\n function getEl() {\n const el = elRef.value;\n if (!el) {\n throw new Error('missing element');\n }\n return el;\n }\n watch(() => props.modelValue, (value, beforeValue) => {\n if (value == null) return;\n internalValueRef.value = value;\n if (beforeValue == null) return;\n const order = computedOrderRef.value;\n const index = order.indexOf(value);\n const beforeIndex = order.indexOf(beforeValue);\n let transition = 'fade';\n if (index !== -1 && beforeIndex !== -1) {\n if (index > beforeIndex) transition = 'v-content-switcher-next';\n if (index < beforeIndex) transition = 'v-content-switcher-prev';\n }\n transitionRef.value = transition;\n }, {\n immediate: true\n });\n watch(currentRef, () => {\n const autotopSettings = autotopSettingsRef.value;\n if (autotopSettings && props.modelValue != null) {\n seeTop(autotopSettings);\n }\n });\n return () => {\n const current = currentRef.value;\n const children = ctx.slots.default?.() || [];\n const currentSlot = ctx.slots[current];\n if (currentSlot) {\n children.push(_createVNode(\"div\", {\n \"class\": \"v-content-switcher__content\",\n \"key\": current\n }, [currentSlot(this)]));\n }\n return _createVNode(\"div\", {\n \"class\": \"v-content-switcher\",\n \"ref\": elRef\n }, [_createVNode(\"div\", {\n \"class\": \"v-content-switcher__anchor\",\n \"ref\": anchorRef\n }, null), _createVNode(Transition, {\n \"name\": transitionRef.value,\n \"onBeforeLeave\": el => {\n getEl().style.height = `${el.offsetHeight}px`;\n },\n \"onEnter\": el => {\n getEl().style.height = `${el.offsetHeight}px`;\n },\n \"onAfterEnter\": () => {\n getEl().style.height = '';\n },\n \"onEnterCancelled\": () => {\n getEl().style.height = '';\n },\n \"onLeaveCancelled\": () => {\n getEl().style.height = '';\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createTextVNode as _createTextVNode, createVNode as _createVNode } from \"vue\";\nimport './VDataTable.scss';\nimport { defineComponent, ref, computed, onMounted, watch, withDirectives, Transition, isVNode } from 'vue';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { VueAppLayout } from '@fastkit/vue-app-layout';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VSelect } from '../VSelect';\nimport { VPagination } from '../VPagination';\nimport { VCheckbox } from '../VCheckbox';\nimport { VIcon, resolveRawIconProp } from '../VIcon';\nimport { VProgressCircular } from '../loading';\nimport { VPaper } from '../VPaper';\nconst DATA_TABLE_DEFAULTS = {\n itemKey: 'id',\n pageQuery: 'page',\n sortQuery: 'sort',\n orderQuery: 'order',\n limitQuery: 'limit',\n defaultOrder: 'ASC',\n ascQueryValue: 'ASC',\n descQueryValue: 'DESC',\n limits: [5, 10, 20, 50, 100],\n limitDefault: 20,\n controlThreshold: 10,\n searchQuery: []\n};\nexport function configureDataTableDefaults(defaults) {\n Object.assign(DATA_TABLE_DEFAULTS, defaults);\n if (!defaults.defaultOrder && defaults.ascQueryValue) {\n DATA_TABLE_DEFAULTS.defaultOrder = defaults.ascQueryValue;\n }\n}\nconst SELECTABLE_HEADER_SYMBOL = '__selectable_header__';\nexport const VDataTable = defineComponent({\n name: 'VDataTable',\n props: {\n /** 選択中のkeyの配列 */\n modelValue: {\n type: Array,\n default: () => []\n },\n itemKey: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.itemKey\n },\n /**\n * ページネーションクエリ名\n */\n pageQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.pageQuery\n },\n /**\n * ソートクエリ名\n */\n sortQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.sortQuery\n },\n /**\n * 表示順クエリ名\n */\n orderQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.orderQuery\n },\n /**\n * 検索クエリ名\n */\n searchQuery: {\n type: [String, Array],\n default: () => DATA_TABLE_DEFAULTS.searchQuery\n },\n /**\n * リミット件数クエリ名\n */\n limitQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.limitQuery\n },\n defaultOrder: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.defaultOrder\n },\n ascQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.ascQueryValue\n },\n descQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.descQueryValue\n },\n limits: {\n type: Array,\n default: () => DATA_TABLE_DEFAULTS.limits\n },\n limitDefault: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.limitDefault\n },\n controlThreshold: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.controlThreshold\n },\n headers: {\n type: Array,\n required: true\n },\n items: {\n type: Array,\n default: () => []\n },\n total: {\n type: Number,\n default: 0\n },\n selectable: Boolean,\n fixedHeader: Boolean,\n maxHeight: [Number, String],\n // eslint-disable-next-line vue/require-prop-types\n noDataMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n noResultsMessage: {},\n rowSettings: [Object, Function]\n },\n emits: {\n input: selectedValues => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const bootedRef = ref(false);\n const footerHeightRef = ref(0);\n const internalValues = ref(props.modelValue.slice());\n const rowSettings = computed(() => {\n // eslint-disable-next-line no-shadow\n const {\n rowSettings\n } = props;\n if (!rowSettings) return () => ({});\n return typeof rowSettings === 'function' ? rowSettings : () => rowSettings;\n });\n const containedVariant = vui.setting('containedVariant');\n const sortedItemKeysRef = computed(() => props.items.map(item => item[props.itemKey]));\n const isEmptyRef = computed(() => props.items.length === 0);\n const headersRef = computed(() => {\n const {\n headers,\n selectable\n } = props;\n const ret = [];\n if (selectable) {\n ret.push({\n key: SELECTABLE_HEADER_SYMBOL\n });\n }\n ret.push(...headers.filter(({\n hidden\n }) => !(typeof hidden === 'function' ? hidden() : hidden)));\n return ret;\n });\n const searchQueryValues = computed(() => {\n let {\n searchQuery\n } = props;\n if (!searchQuery) {\n return [];\n }\n if (!Array.isArray(searchQuery)) {\n searchQuery = [searchQuery];\n }\n const values = [];\n searchQuery.forEach(query => {\n const value = vui.location.getQuery(query);\n if (value == null || value === '') {\n return;\n }\n if (typeof value === 'object' && !Object.keys(value).length) {\n return;\n }\n values.push(value);\n });\n return values;\n });\n const emptyMessage = computed(() => {\n let message;\n if (searchQueryValues.value.length) {\n message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。\n } else {\n message = props.noDataMessage || vui.setting('noDataMessage') || 'No data was available.'; // データはありませんでした。\n }\n return typeof message === 'function' ? message(vui) : message;\n });\n const classesRef = computed(() => [{\n 'v-data-table--fixed-header': props.fixedHeader\n }]);\n const layout = VueAppLayout.use();\n const bodyInnerStylesRef = computed(() => {\n if (!bootedRef.value) return;\n const {\n fixedHeader,\n maxHeight\n } = props;\n const footerHeight = footerHeightRef.value;\n const _maxHeight = maxHeight || (fixedHeader ? '100%' : maxHeight);\n if (!_maxHeight) {\n return;\n }\n return {\n maxHeight: layout.calculateViewHeight(_maxHeight, -footerHeight - 100, 200)\n };\n });\n const defaultOrderQueryRef = computed(() => props.defaultOrder === props.ascQueryValue ? props.ascQueryValue : props.descQueryValue);\n const isTransitioningRef = computed(() => vui.location.isQueryOnlyTransitioning([props.pageQuery, props.sortQuery, props.orderQuery, props.limitQuery]));\n const pageRef = computed(() => vui.location.getQuery(props.pageQuery, Number, 1));\n const needShowHeaderControlRef = computed(() => props.items.length > props.controlThreshold);\n const sortByRef = computed({\n get: () => vui.location.getQuery(props.sortQuery),\n set(value) {\n vui.location.pushQuery({\n [props.sortQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const ordersRef = computed(() => [props.ascQueryValue, props.descQueryValue]);\n const usePagingRef = computed(() => props.limits.length > 0);\n const orderByRef = computed({\n get: () => {\n const value = vui.location.getQuery(props.orderQuery);\n if (typeof value !== 'string' || !ordersRef.value.includes(value)) {\n return;\n }\n return value;\n },\n set(value) {\n vui.location.pushQuery({\n [props.orderQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const offsetRef = computed(() => (pageRef.value - 1) * limitRef.value);\n const limitRef = computed({\n get: () => vui.location.getQuery(props.limitQuery, Number, props.limitDefault),\n set: value => {\n const page = Math.floor(offsetRef.value / value) + 1;\n vui.location.pushQuery({\n [props.limitQuery]: value,\n [props.pageQuery]: page\n });\n }\n });\n const pageLengthRef = computed(() => {\n const {\n total\n } = props;\n const _limit = limitRef.value;\n if (!total) return 0;\n return Math.ceil(total / _limit);\n });\n const lengthRef = computed(() => props.items.length);\n const isASCRef = computed(() => orderByRef.value === props.ascQueryValue);\n // const isDESCRef = computed(() => orderByRef.value === props.descQueryValue);\n const sortIconRef = computed(() => {\n let icon = vui.icon('sort');\n if (typeof icon === 'string') {\n const name = icon;\n icon = gen => gen({\n name,\n rotate: isASCRef.value ? 180 : 0\n });\n }\n return icon;\n });\n const isIndeterminateRef = computed(() => {\n const {\n length\n } = internalValues.value;\n return length > 0 && length < sortedItemKeysRef.value.length;\n });\n const isAllSelectedRef = computed(() => internalValues.value.length === sortedItemKeysRef.value.length);\n function setSort(settings) {\n const {\n sort,\n order\n } = settings;\n if ((sort === undefined || sortByRef.value === sort) && (order === undefined || orderByRef.value === order)) return;\n const queries = {};\n if (sort) {\n queries[props.sortQuery] = sort;\n }\n if (order) {\n queries[props.orderQuery] = order;\n }\n vui.location.pushQuery({\n ...queries,\n ...(usePagingRef.value ? {\n [props.pageQuery]: 1\n } : undefined)\n });\n }\n function toggleOrderBy() {\n return setSort({\n order: orderByRef.value === props.ascQueryValue ? props.descQueryValue : props.ascQueryValue\n });\n }\n function isSelected(key) {\n return internalValues.value.includes(key);\n }\n function select(key) {\n if (!internalValues.value.includes(key)) {\n const values = internalValues.value.slice();\n values.push(key);\n const sortedKeys = sortedItemKeysRef.value;\n values.sort((a, b) => {\n const ai = sortedKeys.indexOf(a);\n const bi = sortedKeys.indexOf(b);\n if (ai < bi) return -1;\n if (ai > bi) return 1;\n return 0;\n });\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function selectAll() {\n if (!isAllSelectedRef.value) {\n const values = sortedItemKeysRef.value.slice();\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselectAll() {\n if (internalValues.value.length) {\n const values = [];\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselect(key) {\n const values = internalValues.value.slice();\n const index = values.indexOf(key);\n if (index !== -1) {\n values.splice(index, 1);\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function handleClickSortHeader(header, ev) {\n const {\n sortQuery\n } = header;\n if (!sortQuery) return;\n if (sortByRef.value === sortQuery) {\n return toggleOrderBy();\n }\n return setSort({\n sort: sortQuery,\n order: defaultOrderQueryRef.value\n });\n }\n function genPagination() {\n return _createVNode(VPagination, {\n \"class\": \"v-data-table__pagination\",\n \"dense\": true,\n \"align\": \"right\",\n \"routeQuery\": props.pageQuery,\n \"modelValue\": pageRef.value,\n \"length\": pageLengthRef.value\n }, null);\n }\n function genControls() {\n const {\n total\n } = props;\n const offset = offsetRef.value;\n const length = lengthRef.value;\n return _createVNode(\"div\", {\n \"class\": \"v-data-table__controls\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__controls__info\"\n }, [_createVNode(\"small\", {\n \"class\": \"v-data-table__controls__info__length\"\n }, [`全 ${total} 件中 ${offset + 1} 件 〜 ${offset + length} 件を表示`])]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__select-limit\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-data-table__controls__select-limit__prefix\"\n }, [_createTextVNode(\"1\\u30DA\\u30FC\\u30B8\\u306B\")]), _createVNode(VSelect, {\n \"class\": \"v-data-table__controls__select-limit__node\",\n \"size\": \"sm\",\n \"hiddenInfo\": true,\n \"disabled\": isTransitioningRef.value,\n \"items\": props.limits.map(limit => ({\n label: `${limit}件`,\n value: limit\n })),\n \"modelValue\": limitRef.value,\n \"onUpdate:modelValue\": $event => limitRef.value = $event\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__pagination\"\n }, [genPagination()])]);\n }\n function genTableHeader() {\n const sortBy = sortByRef.value;\n const isIndeterminate = isIndeterminateRef.value;\n const isAllSelected = isAllSelectedRef.value;\n const {\n defaultOrder,\n ascQueryValue\n } = props;\n // const usePaging = usePagingRef.value;\n\n const children = headersRef.value.map(header => {\n const {\n label,\n sortQuery,\n align,\n key\n } = header;\n const headerChildren = [];\n if (label != null && typeof label !== 'boolean') {\n let _children = typeof label === 'function' ? label(vui) : label;\n if (_children && !Array.isArray(_children) && typeof _children === 'object') {\n _children = JSON.stringify(_children);\n }\n headerChildren.push(_children);\n }\n if (key === SELECTABLE_HEADER_SYMBOL) {\n headerChildren.push(_createVNode(VCheckbox, {\n \"modelValue\": isAllSelected,\n \"indeterminate\": isIndeterminate,\n \"onChange\": ev => {\n if (isAllSelectedRef.value) {\n deselectAll();\n } else {\n selectAll();\n }\n }\n }, null));\n }\n const sortActive = sortBy === sortQuery;\n if (sortQuery) {\n const isASC = sortActive ? isASCRef.value : defaultOrder === ascQueryValue;\n headerChildren.unshift(_createVNode(VIcon, {\n \"class\": \"v-data-table__table__sort-icon v-data-table__table__sort-icon--empty\",\n \"name\": \"$empty\"\n }, null));\n headerChildren.push(resolveRawIconProp(false, sortIconRef.value, {\n class: ['v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow', {\n 'v-data-table__table__sort-icon--asc': isASC,\n 'v-data-table__table__sort-icon--desc': !isASC\n }]\n })\n // <VIcon\n // class={[\n // 'v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow',\n // {\n // 'v-data-table__table__sort-icon--asc': isASC,\n // 'v-data-table__table__sort-icon--desc': !isASC,\n // },\n // ]}\n // name=\"mdi-chevron-down\"\n // />,\n );\n }\n const classes = ['v-data-table__table__cell', {\n 'v-data-table__table__cell--active': sortActive\n }];\n if (align) {\n classes.push(`v-data-table__table__cell--${align}`);\n }\n return _createVNode(\"th\", {\n \"class\": classes,\n \"key\": header.key,\n \"tabindex\": sortQuery ? 0 : undefined,\n \"onClick\": ev => {\n if (!sortQuery) return;\n handleClickSortHeader(header, ev);\n }\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__table__cell__tile\"\n }, [headerChildren])]);\n });\n return _createVNode(\"thead\", {\n \"class\": \"v-data-table__table__header\"\n }, [_createVNode(\"tr\", null, [children])]);\n }\n function toggleSelect(key) {\n return isSelected(key) ? deselect(key) : select(key);\n }\n function defaultItemSlot(payload) {\n const {\n key,\n item,\n selected\n } = payload;\n const headers = headersRef.value;\n const children = headers.map(header => {\n const {\n cell,\n align,\n key: headerKey\n } = header;\n const cellSlot = cell || ctx.slots.cell;\n let cellChildren;\n if (cellSlot) {\n const cellPayload = {\n vui,\n item,\n selected\n };\n let _children = cellSlot(cellPayload);\n if (_children && !Array.isArray(_children) && typeof _children === 'object' && !isVNode(_children)) {\n _children = JSON.stringify(_children);\n }\n cellChildren = _children;\n }\n if (!cellChildren) {\n // eslint-disable-next-line default-case\n switch (headerKey) {\n case SELECTABLE_HEADER_SYMBOL:\n {\n cellChildren = [_createVNode(VCheckbox, {\n \"modelValue\": selected,\n \"onChange\": ev => {\n toggleSelect(key);\n }\n }, null)];\n break;\n }\n }\n }\n const classes = align ? {\n [`v-data-table__table__cell--${align}`]: true\n } : undefined;\n return _createVNode(\"td\", {\n \"class\": ['v-data-table__table__cell', classes],\n \"key\": header.key\n }, [cellChildren]);\n });\n const {\n color,\n attrs\n } = rowSettings.value(payload);\n const colorClass = color && toScopeColorClass(color);\n const classes = ['v-data-table__table__item', {\n 'v-data-table__table__item--selected': selected\n }];\n if (colorClass) {\n classes.push(colorClass, containedVariant);\n }\n return _createVNode(\"tr\", _mergeProps({\n \"class\": classes,\n \"key\": key\n }, attrs), [children]);\n }\n function genBody() {\n const {\n items,\n itemKey\n } = props;\n const {\n item: itemSlot = defaultItemSlot\n } = ctx.slots;\n const children = items.map(item => {\n const key = item[itemKey];\n const payload = {\n key,\n item,\n selected: isSelected(key)\n };\n return itemSlot(payload);\n });\n return _createVNode(\"tbody\", {\n \"class\": \"v-data-table__table__body\"\n }, [children]);\n }\n watch(() => props.modelValue, modelValue => {\n internalValues.value = modelValue.slice();\n });\n watch(() => props.items, items => {\n internalValues.value = internalValues.value.filter(key => sortedItemKeysRef.value.includes(key));\n });\n onMounted(() => {\n bootedRef.value = true;\n });\n return () => {\n const isEmpty = isEmptyRef.value;\n const usePaging = usePagingRef.value;\n return _createVNode(\"div\", {\n \"class\": ['v-data-table', classesRef.value]\n }, [!isEmpty && usePaging && needShowHeaderControlRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__header\"\n }, [genControls()]), _createVNode(\"div\", {\n \"class\": \"v-data-table__body container-pull\"\n }, [isEmpty ? _createVNode(\"div\", {\n \"class\": \"v-data-table__empty--message\"\n }, [emptyMessage.value]) : _createVNode(VPaper, {\n \"class\": \"v-data-table__body__inner\",\n \"style\": bodyInnerStylesRef.value\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-data-table__table-wrapper\"\n }, [_createVNode(\"table\", {\n \"class\": \"v-data-table__table\"\n }, [genTableHeader(), genBody()])])]\n }), _createVNode(Transition, {\n \"name\": \"fade\"\n }, {\n default: () => [isTransitioningRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__loading\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true\n }, null)])]\n })]), !isEmpty && usePaging && withDirectives(_createVNode(\"div\", {\n \"class\": \"v-data-table__footer\"\n }, [genControls()]), [resizeDirectiveArgument(({\n height\n }) => {\n footerHeightRef.value = height;\n })])]);\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent } from 'vue';\nimport { VAppLayout } from '@fastkit/vue-app-layout';\nimport { VDynamicStacks } from '@fastkit/vue-stack';\nimport { useInjectTheme } from '@fastkit/vue-color-scheme';\nexport const VApp = defineComponent({\n name: 'VApp',\n setup(_props, ctx) {\n useInjectTheme();\n return () => _createVNode(VDynamicStacks, null, {\n default: () => [_createVNode(VAppLayout, null, ctx.slots)]\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createElevationProps, useElevation } from '../../composables';\nimport { useVui } from '../../injections';\nexport const VToolbar = defineComponent({\n name: 'VToolbar',\n props: {\n ...createElevationProps(),\n ...colorSchemeProps(),\n dense: Boolean\n },\n setup(props, ctx) {\n const vui = useVui();\n const elevation = useElevation(props, {\n defaultValue: 4\n });\n const dense = computed(() => props.dense);\n const color = useColorClasses({\n color: () => props.color,\n variant: () => props.variant || vui.setting('containedVariant')\n });\n const classes = computed(() => [elevation.elevationClassName.value, color.colorClasses.value, {\n 'v-toolbar--plain': !color.color.value.value,\n 'v-toolbar--dense': dense.value\n }]);\n return () => _createVNode(\"div\", {\n \"class\": ['v-toolbar', classes.value]\n }, [ctx.slots.default?.()]);\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VToolbarMenu.scss';\nimport { defineComponent } from 'vue';\nimport { VButton } from '../VButton';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// eslint-disable-next-line import/order\n\nexport const VToolbarMenu = defineComponent({\n name: 'VToolbarMenu',\n inheritAttrs: false,\n props: {},\n setup(props, ctx) {\n const vui = useVui();\n const plain = vui.setting('plainVariant');\n return () => {\n const variant = props.variant || plain;\n return _createVNode(VButton, _mergeProps(ctx.attrs, {\n \"variant\": variant,\n \"class\": ['v-toolbar-menu']\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarEdge.scss';\nimport { defineComponent, computed } from 'vue';\nimport { renderSlotOrEmpty } from '@fastkit/vue-utils';\nexport const VToolbarEdge = defineComponent({\n name: 'VToolbarEdge',\n props: {\n edge: {\n type: String,\n required: true\n }\n },\n setup(props, ctx) {\n const edge = computed(() => props.edge);\n return () => {\n const children = renderSlotOrEmpty(ctx.slots, 'default');\n const hasChildren = !!children && children.length > 0;\n return _createVNode(\"div\", {\n \"class\": ['v-toolbar-edge', `v-toolbar-edge--${edge.value}`, {\n [`v-toolbar-edge--empty`]: !hasChildren\n }]\n }, [children]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarTitle.scss';\nimport { defineComponent, computed } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst slots = defineSlots();\nexport const VToolbarTitle = defineComponent({\n name: 'VToolbarTitle',\n props: {\n tag: {\n type: String,\n default: 'span'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const _TagName = computed(() => props.tag);\n return () => {\n const TagName = _TagName.value;\n return _createVNode(TagName, {\n \"class\": \"v-toolbar-title\"\n }, {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode } from \"vue\";\nimport { reactive } from 'vue';\nimport { BUILTIN_ACTION_HANDLERS } from '@fastkit/vue-stack';\nimport { RouterLink, useLink } from 'vue-router';\nimport { setDefaultRouterLink } from '@fastkit/vue-action';\nimport { LocationService } from '@fastkit/vue-location';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { VForm } from './components/VForm';\nimport { VTextField } from './components/VTextField';\nimport { VButton } from './components/VButton';\nimport { VDialog } from './components/VDialog';\nimport { VSnackbar } from './components/VSnackbar';\nimport { VMenu } from './components/VMenu';\nimport { VSheetModal } from './components/VSheetModal';\nexport { VuiInjectionKey } from './injections';\nconst DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;\nconst DEFAULT_TEXTAREA_ROWS = 3;\nexport function mergeVuiServiceUISettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceIconSettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceOptions(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base,\n uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),\n icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)\n };\n const excludes = ['uiSettings', 'icons'];\n Object.entries(overrides).forEach(([key, value]) => {\n if (value && !excludes.includes(key)) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport class VuiService {\n get scroller() {\n return getDocumentScroller();\n }\n constructor(options, app) {\n this.options = options;\n this.configure();\n const {\n selectionSeparator = () => ', ',\n autoScrollToElementOffsetTop = DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP,\n textareaRows = DEFAULT_TEXTAREA_ROWS,\n requiredChip = () => '*'\n } = options;\n this.selectionSeparator = selectionSeparator;\n this.autoScrollToElementOffsetTop = autoScrollToElementOffsetTop;\n this.textareaRows = textareaRows;\n this.requiredChip = requiredChip;\n this.router = options.router;\n this.location = LocationService.install(app, {\n router: this.router\n });\n this.useLink = options.useLink || useLink;\n this.stack = app.config.globalProperties.$vstack;\n const {\n uiSettings\n } = options;\n this.stackActions = {\n ok: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogOk, bindings), {\n default: () => [_createTextVNode(\"OK\")]\n }),\n cancel: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogCancel, bindings), {\n default: () => [_createTextVNode(\"CANCEL\")]\n }),\n close: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogClose, bindings), {\n default: () => [_createTextVNode(\"CLOSE\")]\n })\n };\n this.dialog = this.stack.createLauncher(VDialog);\n this.alert = this.stack.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('ok'));\n }\n const backdrop = props?.backdrop == null ? true : props?.backdrop;\n return {\n ...props,\n backdrop,\n actions\n };\n });\n this.confirm = this.stack.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('cancel'), this.stackAction('ok'));\n }\n const backdrop = props?.backdrop == null ? true : props?.backdrop;\n return {\n ...props,\n backdrop,\n actions\n };\n });\n this.snackbar = this.stack.createLauncher(VSnackbar);\n this.menu = this.stack.createLauncher(VMenu);\n this.sheet = this.stack.createLauncher(VSheetModal);\n }\n configure(options) {\n options && Object.assign(this.options, options);\n setDefaultRouterLink(this.getRouterLink());\n }\n getRouterLink() {\n return this.options.RouterLink || RouterLink;\n }\n setting(key) {\n return this.options.uiSettings[key];\n }\n icon(iconType) {\n return this.options.icons[iconType];\n }\n getAutoScrollToElementOffsetTop() {\n let {\n autoScrollToElementOffsetTop\n } = this;\n if (typeof autoScrollToElementOffsetTop === 'function') {\n autoScrollToElementOffsetTop = autoScrollToElementOffsetTop();\n }\n return autoScrollToElementOffsetTop || 0;\n }\n getRequiredChip() {\n const {\n requiredChip\n } = this;\n return requiredChip && requiredChip();\n }\n formPrompt(settings, slot) {\n let form;\n const options = {\n dense: true,\n ...settings\n };\n const {\n size,\n state\n } = options;\n const _state = reactive(state);\n options.actions = options.actions || [this.stackAction('cancel', undefined, {\n size\n }), this.stackAction('ok', undefined, {\n size,\n onClick: () => {\n if (form) {\n const ev = new Event('submit');\n form.handleSubmit(ev);\n }\n }\n })];\n return this.dialog(options, stack => _createVNode(VForm, {\n \"disableAutoScroll\": true,\n \"size\": size,\n \"onVnodeBeforeUnmount\": () => {\n form = undefined;\n },\n \"onSubmit\": ev => {\n stack.resolve(_state);\n }\n }, {\n default: _form => {\n form = _form;\n return slot(_state, {\n form,\n stack\n });\n }\n }));\n }\n prompt(rawOptions = {}) {\n const options = typeof rawOptions === 'string' ? {\n input: {\n label: rawOptions\n }\n } : {\n ...rawOptions\n };\n options.input = {\n ...options.input\n };\n options.dense = true;\n const {\n initialValue: value = ''\n } = options.input;\n const {\n size\n } = options.input;\n delete options.input.initialValue;\n return this.formPrompt({\n size,\n ...options,\n state: {\n input: value\n }\n }, state => _createVNode(VTextField, _mergeProps(options.input, {\n \"modelValue\": state.input,\n \"onUpdate:modelValue\": $event => state.input = $event\n }), null)).then(result => result ? result.input : result);\n }\n stackAction(key, override, attrs) {\n const factory = this.stackActions[key];\n const _onClick = BUILTIN_ACTION_HANDLERS[key];\n const action = {\n key,\n // eslint-disable-next-line no-shadow\n content: ({\n control,\n key\n }) => {\n const onClick = ev => _onClick(control, ev);\n const _attrs = {\n disabled: control.guardInProgress,\n ...attrs\n };\n if (key === 'ok' && control.guardInProgress) {\n _attrs.loading = true;\n }\n return factory({\n service: this.stack,\n control,\n key,\n bindings: {\n onClick,\n ..._attrs\n }\n });\n },\n ...override\n };\n return action;\n }\n}","import { installVueStackPlugin } from '@fastkit/vue-stack';\nimport { installVueFormPlugin } from '@fastkit/vue-form-control';\nimport { installBodyScrollLockDirective } from '@fastkit/vue-body-scroll-lock';\nimport { installClickOutsideDirective } from '@fastkit/vue-click-outside';\nimport { installResizeDirective } from '@fastkit/vue-resize';\nimport { VueColorSchemePlugin } from '@fastkit/vue-color-scheme';\nimport { installVueAppLayout } from '@fastkit/vue-app-layout';\nimport { onAppUnmount } from '@fastkit/vue-utils';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { setDefaultActionableClassName } from '@fastkit/vue-action';\nimport { VuiService, mergeVuiServiceOptions, VuiInjectionKey } from './service';\nsetDefaultActionableClassName('clickable');\nconst scroller = getDocumentScroller();\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function mergeVuiPluginOptions(base, override) {\n if (!override) return base;\n const merged = mergeVuiServiceOptions(base, override);\n if (override.stack) {\n merged.stack = {\n ...merged.stack,\n ...override.stack\n };\n }\n if (override.form) {\n merged.form = {\n ...merged.form,\n ...override.form\n };\n }\n return merged;\n}\nexport class VuiPlugin {\n static install(app, opts) {\n const {\n colorScheme,\n stack,\n form\n } = opts;\n\n // ColorScheme\n const vueColorSchemePlugin = new VueColorSchemePlugin(colorScheme);\n app.use(vueColorSchemePlugin);\n installVueStackPlugin(app, stack);\n installVueFormPlugin(app, {\n scroll: {\n options: {\n behavior: 'smooth'\n },\n // eslint-disable-next-line no-shadow\n fn: (el, opts) => {\n if (window.getComputedStyle(el).scrollMargin) return;\n const duration = opts?.behavior === 'smooth' ? undefined : 0;\n return scroller.toElement(el, {\n offset: $vui.getAutoScrollToElementOffsetTop(),\n duration\n });\n }\n },\n ...form\n });\n installVueAppLayout(app);\n installBodyScrollLockDirective(app);\n installClickOutsideDirective(app);\n installResizeDirective(app);\n\n // Vui\n const $vui = new VuiService(opts, app);\n app.provide(VuiInjectionKey, $vui);\n app.config.globalProperties.$vui = $vui;\n onAppUnmount(app, () => {\n delete app.config.globalProperties.$vui;\n });\n }\n}\nexport function installVuiPlugin(app, opts) {\n return app.use(VuiPlugin, opts);\n}"]}