{"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/VDisabledReason/VDisabledReason.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/VFileInput/VFileInput.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","_isVNode","actionableInheritProps","useActionable","withCtx","renderSlotOrEmpty","_isSlot","ref","useScopeColorClass","classes","_createTextVNode","watch","width","isActive","match","to","_withDirectives","_vShow","resolveVNodeChildOrSlots","DISABLED_REASON_CONTAINER_BIND","createFormSelectorItemSettings","useFormSelectorItemControl","withCtxForSlots","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_FILE_INPUT_SYMBOL = 'vui-file-input';\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 { mergeProps as _mergeProps, createVNode as _createVNode } 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 { mergeProps as _mergeProps, createVNode as _createVNode } 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 { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VTooltip.scss';\nimport { defineComponent } from 'vue';\nimport { typedSlotWithCtx } from '@fastkit/vue-utils';\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: typedSlotWithCtx(VMenu, 'default', payload => [_createVNode(\"span\", {\n          \"class\": \"v-tooltip__inner\"\n        }, [defaultSlot?.(payload)])])\n      });\n    };\n  }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VFormControl.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormNodeWrapperSettings, useFormNodeWrapper } from '@fastkit/vue-form-control';\nimport { defineSlots, typedSlotsWithCtx } 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, props, 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  emits,\n  slots,\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      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(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        ...typedSlotsWithCtx(VTooltip, {\n          activator: tooltip => _createVNode(\"a\", _mergeProps({\n            \"class\": \"v-form-control__label__hinttip\",\n            \"href\": \"javascript:void(0)\"\n          }, tooltip.attrs), [hinttip.tip])\n        })\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 { createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\nimport './form-selector.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormNodeWrapperProps, createFormSelectorSettings, useFormSelectorControl } from '@fastkit/vue-form-control';\nimport { withCtx, 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    emits,\n    slots,\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: withCtx(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 './VDisabledReason';\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';\nexport * from './VFileInput';\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 { createVNode as _createVNode, mergeProps as _mergeProps } 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  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 { mergeProps as _mergeProps, createVNode as _createVNode } 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 { mergeProps as _mergeProps, createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VDisabledReason.scss';\nimport { defineDisabledReasonComponent } from '@fastkit/vue-disabled-reason';\nimport { createMenuProps } from '@fastkit/vue-stack';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { registerActionableAttrsResolver, registerActionableRenderWrapper } from '@fastkit/vue-action';\nimport { VTooltip } from '../VTooltip';\nfunction _isSlot(s) {\n  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nconst menuProps = createMenuProps();\n\n/**\n * Display type\n *\n * Currently, only tooltip is supported\n */\n\nexport const DISABLED_REASON_PROPS = {\n  ...menuProps,\n  ...createPropsOptions({\n    /**\n     * Display type\n     *\n     * Currently, only tooltip is supported\n     *\n     * @see {@link DisabledReasonType}\n     */\n    type: {\n      type: String,\n      default: 'tooltip'\n    }\n  })\n};\nexport const VDisabledReason = defineDisabledReasonComponent({\n  name: 'VDisabledReason',\n  props: DISABLED_REASON_PROPS,\n  setup(api) {\n    return reason => {\n      const {\n        type: _type,\n        ...tooltipProps\n      } = api.props;\n      return _createVNode(VTooltip, _mergeProps(tooltipProps, {\n        \"disabled\": !reason || !api.disabled\n      }), {\n        activator: ({\n          attrs\n        }) => _createVNode(\"span\", _mergeProps({\n          \"class\": \"v-disabled-reason\",\n          \"tabindex\": api.disabled ? 0 : -1\n        }, attrs), null),\n        default: () => reason\n      });\n    };\n  }\n});\n\n// Customize '@fastkit/vue-action' so that when the custom attribute\n// \"disabledReason\" is set, it wraps the element with `VDisabledReason`\n// to display the reason for being disabled.\n\n// 1. Extend the '@fastkit/vue-action' interface\n\n// 2. Handle `disabledReason` as a custom attribute of '@fastkit/vue-action'\nregisterActionableAttrsResolver((attrs, ctx) => {\n  const disabledReason = ctx.getAttr('disabledReason');\n  if (disabledReason) {\n    // Remove disabledReason from the original attrs\n    // (to prevent adding unnecessary attributes to the element)\n    delete attrs.disabledReason;\n    return [undefined, {\n      disabledReason\n    }];\n  }\n});\n\n// 3. Register a custom render wrapper for '@fastkit/vue-action'\nregisterActionableRenderWrapper((customProps, currentNode) => {\n  const {\n    disabledReason\n  } = customProps;\n  const disabledReasonInput = typeof disabledReason === 'string' || typeof disabledReason === 'function' ? {\n    reason: disabledReason\n  } : disabledReason;\n  if (disabledReasonInput) {\n    return _createVNode(VDisabledReason, disabledReasonInput, _isSlot(currentNode) ? currentNode : {\n      default: () => [currentNode]\n    });\n  }\n  return currentNode;\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } 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], before) => {\n      if (!_mounted) return;\n      if (src === before?.[0] && !props.cover && !isPendingRef.value) 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  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 { mergeProps as _mergeProps, createVNode as _createVNode } 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 { mergeProps as _mergeProps, createVNode as _createVNode } 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 { mergeProps as _mergeProps, createVNode as _createVNode } 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\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\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 } 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 { createVNode as _createVNode, Fragment as _Fragment, mergeProps as _mergeProps } from \"vue\";\nimport './VButton.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions, withCtx } 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\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: withCtx(() => _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 { createTextVNode as _createTextVNode, createVNode as _createVNode, isVNode as _isVNode } 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      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          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 { createVNode as _createVNode, mergeProps as _mergeProps } 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\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, 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 { mergeProps as _mergeProps, createVNode as _createVNode } 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 { isVNode as _isVNode, createVNode as _createVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment } 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\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}\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      const {\n        match\n      } = props;\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      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        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, mergeProps as _mergeProps } 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 { DISABLED_REASON_CONTAINER_BIND } from '@fastkit/vue-disabled-reason';\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  emits: {\n    click: ev => true\n  },\n  slots,\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(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\", _mergeProps({\n      \"class\": classes.value,\n      \"onClick\": handleClick,\n      \"ref\": hostElRef\n    }, DISABLED_REASON_CONTAINER_BIND), [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, mergeProps as _mergeProps } from \"vue\";\nimport './VCheckable.scss';\nimport { computed, defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { DISABLED_REASON_CONTAINER_BIND } from '@fastkit/vue-disabled-reason';\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\", _mergeProps({\n      \"class\": ['v-checkable', classes.value]\n    }, DISABLED_REASON_CONTAINER_BIND), [_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 { createVNode as _createVNode } from \"vue\";\nimport './VCheckbox.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { withCtxForSlots } from '@fastkit/vue-utils';\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  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    }, withCtxForSlots(slots));\n  }\n});","import { isVNode as _isVNode, createVNode as _createVNode } 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 { createVNode as _createVNode } from \"vue\";\nimport './VRadio.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { withCtxForSlots } from '@fastkit/vue-utils';\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  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    }, withCtxForSlots(slots));\n  }\n});","import { isVNode as _isVNode, createVNode as _createVNode } 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 { createVNode as _createVNode } from \"vue\";\nimport './VSwitch.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { withCtxForSlots } from '@fastkit/vue-utils';\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  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    }, withCtxForSlots(slots));\n  }\n});","import { isVNode as _isVNode, createVNode as _createVNode } 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  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 { createVNode as _createVNode, isVNode as _isVNode, vModelSelect as _vModelSelect, withDirectives as _withDirectives } 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, withCtxForSlots, withCtx } 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  emits,\n  slots,\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        const ev = new PointerEvent('click', {\n          bubbles: true,\n          cancelable: true,\n          view: window\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: withCtx(controlDefaultSlot),\n        endAdornment: withCtx(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      }, withCtxForSlots(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: withCtx(defaultSlot)\n      });\n    };\n  }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VTextField.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createTextInputNodeSettings, useTextInputNodeControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots, withCtx } 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  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: withCtx(() => [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: withCtx(defaultSlot),\n      infoAppends: withCtx(infoAppendsSlot)\n    });\n  }\n});","import { defineComponent, computed, mergeProps as _mergeProps, createVNode as _createVNode } 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      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 } from \"vue\";\nimport './VTextarea.scss';\nimport { defineComponent } from 'vue';\nimport { createTextareaNodeSettings, useTextareaNodeControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots, withCtx } 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  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: withCtx(() => 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: withCtx(defaultSlot),\n      infoAppends: withCtx(infoAppendsSlot)\n    });\n  }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VFileInput.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFileInputNodeSettings, useFileInputNodeControl, createFormNodeWrapperProps } from '@fastkit/vue-form-control';\nimport { defineSlots, withCtx } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { colorSchemeProps } from '@fastkit/vue-color-scheme';\nimport { VUI_FILE_INPUT_SYMBOL, useVui } from '../../injections';\nimport { VButton } from '../VButton';\nconst {\n  props,\n  emits\n} = createFileInputNodeSettings();\nconst slots = defineSlots();\nfunction createFileInputProps() {\n  return {\n    ...props,\n    ...colorSchemeProps(),\n    ...createFormNodeWrapperProps(),\n    ...createControlFieldProps(),\n    ...createControlFieldProviderProps(),\n    ...createControlProps(),\n    ...slots(),\n    buttonText: {\n      type: String,\n      default: 'Choose File'\n    },\n    truncateLength: {\n      type: [Number, String],\n      default: 22\n    }\n  };\n}\nexport const VFileInput = defineComponent({\n  name: 'VFileInput',\n  props: createFileInputProps(),\n  emits,\n  slots,\n  setup(props, ctx) {\n    const vui = useVui();\n    const inputControl = useFileInputNodeControl(props, ctx, {\n      nodeType: VUI_FILE_INPUT_SYMBOL\n    });\n    const control = useControl(props);\n    useControlField(props);\n    const classes = computed(() => ['v-file-input', control.classes.value]);\n    const handleClickLabel = ev => {\n      inputControl.focus();\n    };\n    const endAdornmentSlot = () => {\n      // }\n      if (props.clearable && inputControl.value.length) {\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    };\n    const showDialog = () => {\n      if (inputControl.canOperation) {\n        inputControl.inputElement?.click();\n      }\n    };\n    const renderSelections = () => {\n      if (ctx.slots.selections) {\n        return ctx.slots.selections(inputControl);\n      }\n      const {\n        files\n      } = inputControl.selectionContext;\n      if (!files.length) return _createVNode(\"span\", {\n        \"class\": \"v-file-input__placeholder\"\n      }, [inputControl.placeholder || 'No file chosen']);\n      return files.map(file => file.truncatedName).join(', ');\n    };\n    const defaultSlot = () => _createVNode(\"div\", {\n      \"class\": \"v-file-input__inner\"\n    }, [_createVNode(VButton, {\n      \"key\": \"open\",\n      \"class\": \"v-file-input__button\",\n      \"color\": 'base',\n      \"size\": props.size,\n      \"startIcon\": vui.icon('fileUpload'),\n      \"variant\": vui.setting('containedVariant'),\n      \"onClick\": showDialog\n    }, {\n      default: () => [props.buttonText]\n    }), _createVNode(VControlField, {\n      \"class\": \"v-file-input__input\",\n      \"startAdornment\": props.startAdornment,\n      \"endAdornment\": props.endAdornment,\n      \"size\": control.size.value,\n      \"onClick\": showDialog,\n      \"autoHeight\": true\n    }, {\n      ...ctx.slots,\n      default: withCtx(() => [inputControl.createInputElement({\n        class: 'v-file-input__input__element'\n      }), _createVNode(\"div\", {\n        \"class\": \"v-file-input__selections\"\n      }, [renderSelections()])]),\n      endAdornment: withCtx(endAdornmentSlot)\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: withCtx(defaultSlot)\n      // infoAppends: withCtx(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  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 { defineComponent, computed, getCurrentInstance, mergeProps as _mergeProps, createVNode as _createVNode } 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});\n\n/**\n * @TODO Externalize\n */\nfunction useRender(render) {\n  const vm = getCurrentInstance();\n  vm.render = render;\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  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    useRender(() => _createVNode(\"form\", _mergeProps({\n      \"class\": classes.value\n    }, nodeControl.formAttrs), [ctx.slots.default?.(nodeControl)]));\n    return {\n      control: nodeControl\n    };\n  }\n});","import { createVNode as _createVNode, isVNode as _isVNode } 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 { isVNode as _isVNode, createVNode as _createVNode } 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          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    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          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        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 { createVNode as _createVNode, isVNode as _isVNode } 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      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 { createVNode as _createVNode, isVNode as _isVNode } 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 { createVNode as _createVNode, createTextVNode as _createTextVNode, mergeProps as _mergeProps } 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      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          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 { defineComponent, createVNode as _createVNode } 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 { mergeProps as _mergeProps, createVNode as _createVNode } 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\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 { reactive, createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode } from 'vue';\nimport { BUILTIN_ACTION_HANDLERS } from '@fastkit/vue-stack';\nimport { withCtx } from '@fastkit/vue-utils';\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: withCtx(_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      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();\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        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}"]}