bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
1 lines • 10.2 kB
Source Map (JSON)
{"version":3,"file":"keys-41Cw9q6f.mjs","sources":["../src/utils/withBvnPrefix.ts","../src/utils/keys.ts"],"sourcesContent":["export const withBvnPrefix = (value: string, suffix: string = '') => {\n const suffixWithTrail = `${suffix}___`\n return `___BVN__ID__${value}__${suffix ? suffixWithTrail : ''}`\n}\n","import type {ComponentInternalInstance, ComputedRef, InjectionKey, Ref} from 'vue'\nimport type {TabType} from '../types/Tab'\nimport type {ClassValue} from '../types/AnyValuedAttributes'\nimport type {Numberish} from '../types/CommonTypes'\nimport type {LiteralUnion} from '../types/LiteralUnion'\nimport type {Size} from '../types/Size'\nimport type {RadiusElement} from '../types/RadiusElement'\nimport type {\n BgColorVariant,\n ButtonVariant,\n ColorVariant,\n TextColorVariant,\n} from '../types/ColorTypes'\nimport type {CheckboxValue} from '../types/CheckboxTypes'\nimport type {RadioValue} from '../types/RadioTypes'\nimport type {BreadcrumbItemRaw} from '../types/BreadcrumbTypes'\nimport type {\n ControllerKey,\n ModalOrchestratorMapValue,\n ModalOrchestratorShowParam,\n PopoverOrchestratorParam,\n PopoverOrchestratorShowParam,\n ToastOrchestratorArrayValue,\n ToastOrchestratorShowParam,\n TooltipOrchestratorParam,\n TooltipOrchestratorShowParam,\n} from '../types/ComponentOrchestratorTypes'\nimport type {BvnComponentProps} from '../types/BootstrapVueOptions'\nimport {withBvnPrefix} from './withBvnPrefix'\n\nconst createBvnInjectionKey = (name: string) => withBvnPrefix(name) as unknown as symbol // Type cast to symbol, these should be static\nconst createBvnPluginInjectionKey = (name: string) =>\n withBvnPrefix(`${name}__plugin`) as unknown as symbol\n\n// BCarousel\nexport const carouselInjectionKey: InjectionKey<{\n background: Readonly<Ref<string | undefined>>\n width: Readonly<Ref<string | undefined>>\n height: Readonly<Ref<string | undefined>>\n}> = createBvnInjectionKey('carousel')\n\n// BTabs\nexport const tabsInjectionKey: InjectionKey<{\n lazy: Readonly<Ref<boolean>>\n card: Readonly<Ref<boolean>>\n noFade: Readonly<Ref<boolean>>\n registerTab: (tab: Readonly<Ref<TabType>>) => void\n unregisterTab: (id: string) => void\n activateTab: (id: string | undefined) => void\n activeTabClass: Readonly<Ref<ClassValue>>\n inactiveTabClass: Readonly<Ref<ClassValue>>\n tabClass: Readonly<Ref<ClassValue>>\n activeId: Readonly<Ref<string | undefined>>\n}> = createBvnInjectionKey('tabs')\n\n// BProgress\nexport const progressInjectionKey: InjectionKey<{\n animated: Readonly<Ref<boolean | undefined>>\n max: Readonly<Ref<Numberish>>\n showProgress: Readonly<Ref<boolean | undefined>>\n showValue: Readonly<Ref<boolean | undefined>>\n striped: Readonly<Ref<boolean | undefined>>\n}> = createBvnInjectionKey('progress')\n\n// BListGroup\nexport const listGroupInjectionKey: InjectionKey<{\n numbered: Readonly<Ref<boolean>>\n}> = createBvnInjectionKey('listGroup')\n\n// BAvatarGroup\nexport const avatarGroupInjectionKey: InjectionKey<{\n overlapScale: Readonly<Ref<number>>\n size: Readonly<Ref<LiteralUnion<Size, Numberish> | undefined>>\n square: Readonly<Ref<boolean>>\n rounded: Readonly<Ref<RadiusElement | boolean>>\n roundedTop: Readonly<Ref<RadiusElement | boolean | undefined>>\n roundedBottom: Readonly<Ref<RadiusElement | boolean | undefined>>\n roundedStart: Readonly<Ref<RadiusElement | boolean | undefined>>\n roundedEnd: Readonly<Ref<RadiusElement | boolean | undefined>>\n variant: Readonly<Ref<ColorVariant | null>>\n bgVariant: Readonly<Ref<BgColorVariant | null>>\n textVariant: Readonly<Ref<TextColorVariant | null>>\n}> = createBvnInjectionKey('avatarGroup')\n\n// BAccordion\nexport const accordionInjectionKey: InjectionKey<{\n openItem: Readonly<Ref<string | undefined>>\n free: Readonly<Ref<boolean>>\n initialAnimation: Readonly<Ref<boolean>>\n lazy: Readonly<Ref<boolean>>\n unmountLazy: Readonly<Ref<boolean>>\n setOpenItem: (id: string) => void\n}> = createBvnInjectionKey('accordion')\n\n// BFormCheckboxGroup\nexport const checkboxGroupKey: InjectionKey<{\n modelValue: Ref<readonly CheckboxValue[]>\n switch: Readonly<Ref<boolean>>\n buttonVariant: Readonly<Ref<ButtonVariant | null>>\n form: Readonly<Ref<string | undefined>>\n name: Readonly<Ref<string>>\n state: Readonly<Ref<boolean | undefined | null>>\n plain: Readonly<Ref<boolean>>\n size: Readonly<Ref<Size>>\n inline: Readonly<Ref<boolean>>\n reverse: Readonly<Ref<boolean>>\n required: Readonly<Ref<boolean>>\n buttons: Readonly<Ref<boolean>>\n disabled: Readonly<Ref<boolean>>\n}> = createBvnInjectionKey('checkboxGroup')\n\nexport const radioGroupKey: InjectionKey<{\n modelValue: Ref<RadioValue>\n buttonVariant: Readonly<Ref<ButtonVariant | null>>\n form: Readonly<Ref<string | undefined>>\n name: Readonly<Ref<string>>\n buttons: Readonly<Ref<boolean>>\n state: Readonly<Ref<boolean | undefined | null>>\n plain: Readonly<Ref<boolean>>\n size: Readonly<Ref<Size>>\n inline: Readonly<Ref<boolean>>\n reverse: Readonly<Ref<boolean>>\n required: Readonly<Ref<boolean>>\n disabled: Readonly<Ref<boolean>>\n}> = createBvnInjectionKey('radioGroup')\n\n// Collapse\nexport const collapseInjectionKey: InjectionKey<{\n id?: Readonly<Ref<string>>\n readonly hide?: () => void\n readonly show?: () => void\n readonly toggle?: () => void\n visible?: Readonly<Ref<boolean>>\n isNav?: Readonly<Ref<boolean>>\n}> = createBvnInjectionKey('collapse')\n\n// Show/Hide components\nexport type RegisterShowHideFnInput = {\n id: string\n value: Ref<boolean>\n toggle: () => void\n show: () => void\n hide: (trigger?: string) => void\n}\nexport interface RegisterShowHideValue {\n (input: RegisterShowHideFnInput): {\n unregister: () => void\n }\n map: Readonly<\n Record<\n string,\n {value: boolean; toggle: () => void; show: () => void; hide: (trigger?: string) => void}\n >\n >\n}\nexport const globalShowHideStorageInjectionKey: InjectionKey<RegisterShowHideValue> =\n createBvnPluginInjectionKey('globalShowHideStorage')\n\nexport const dropdownInjectionKey: InjectionKey<{\n id?: Readonly<Ref<string>>\n readonly hide?: () => void\n readonly show?: () => void\n readonly toggle?: () => void\n visible?: Readonly<Ref<boolean>>\n isNav?: Readonly<Ref<boolean>>\n}> = createBvnInjectionKey('dropdown')\n\nexport const navbarInjectionKey: InjectionKey<{\n tag?: Readonly<Ref<string>>\n autoClose?: Readonly<Ref<boolean>>\n}> = createBvnInjectionKey('navbar')\n\nexport const rtlPluginKey: InjectionKey<{\n isRtl: Ref<boolean>\n locale: Ref<string | undefined>\n}> = createBvnPluginInjectionKey('rtl')\n\nexport const breadcrumbPluginKey: InjectionKey<{\n items: Ref<BreadcrumbItemRaw[]>\n reset: () => void\n}> = createBvnPluginInjectionKey('breadcrumbPlugin')\n\nexport const modalManagerPluginKey: InjectionKey<{\n stack: ComputedRef<ComponentInternalInstance[]>\n countStack: ComputedRef<number>\n lastStack: ComputedRef<ComponentInternalInstance | undefined>\n pushStack: (modal: Readonly<ComponentInternalInstance>) => void\n removeStack: (modal: Readonly<ComponentInternalInstance>) => void\n registry: Readonly<Ref<Map<number, ComponentInternalInstance>>>\n pushRegistry: (modal: Readonly<ComponentInternalInstance>) => void\n removeRegistry: (modal: Readonly<ComponentInternalInstance>) => void\n}> = createBvnPluginInjectionKey('modalManager')\n\nexport const defaultsKey: InjectionKey<Ref<Partial<BvnComponentProps>>> =\n createBvnPluginInjectionKey('defaults')\n\nexport const inputGroupKey: InjectionKey<boolean> = createBvnInjectionKey('inputGroup')\nexport const buttonGroupKey: InjectionKey<boolean> = createBvnInjectionKey('buttonGroup')\n\nexport const toastPluginKey: InjectionKey<{\n toasts: Ref<ToastOrchestratorArrayValue[]>\n _setIsAppend: (value: boolean) => void\n show: (obj: ToastOrchestratorShowParam) => ControllerKey\n remove: (self: ControllerKey) => void\n leave: (self: ControllerKey) => void\n}> = createBvnPluginInjectionKey('toast')\n\nexport const modalControllerPluginKey: InjectionKey<{\n modals: Ref<Map<ControllerKey, ModalOrchestratorMapValue>>\n show: (obj: ModalOrchestratorShowParam) => Promise<boolean | null>\n confirm: (obj: ModalOrchestratorShowParam) => Promise<boolean | null>\n remove: (self: ControllerKey) => void\n leave: (self: ControllerKey) => void\n}> = createBvnPluginInjectionKey('modalController')\n\nexport const popoverPluginKey: InjectionKey<{\n popovers: Ref<Map<ControllerKey, PopoverOrchestratorParam>>\n popover: (obj: PopoverOrchestratorShowParam) => ControllerKey\n setPopover: (self: ControllerKey, val: Partial<PopoverOrchestratorParam>) => void\n removePopover: (self: ControllerKey) => void\n tooltips: Ref<Map<ControllerKey, TooltipOrchestratorParam>>\n tooltip: (obj: TooltipOrchestratorShowParam) => ControllerKey\n setTooltip: (self: ControllerKey, val: Partial<TooltipOrchestratorParam>) => void\n removeTooltip: (self: ControllerKey) => void\n}> = createBvnPluginInjectionKey('popover')\n\n/**\n * Automatically use a \"for\" attribute on label elements for its associated input\n * Works on BFormInput & Textarea\n */\nexport const formGroupPluginKey: InjectionKey<(id: Ref<string>) => void> =\n createBvnInjectionKey('formGroupPlugin')\n"],"names":[],"mappings":"AAAO,MAAM,gBAAgB,CAAC,OAAe,SAAiB,OAAO;AAC7D,QAAA,kBAAkB,GAAG,MAAM;AACjC,SAAO,eAAe,KAAK,KAAK,SAAS,kBAAkB,EAAE;AAC/D;AC2BA,MAAM,wBAAwB,CAAC,SAAiB,cAAc,IAAI;AAClE,MAAM,8BAA8B,CAAC,SACnC,cAAc,GAAG,IAAI,UAAU;AAGpB,MAAA,uBAIR,sBAAsB,UAAU;AAGxB,MAAA,mBAWR,sBAAsB,MAAM;AAGpB,MAAA,uBAMR,sBAAsB,UAAU;AAGxB,MAAA,wBAER,sBAAsB,WAAW;AAGzB,MAAA,0BAYR,sBAAsB,aAAa;AAG3B,MAAA,wBAOR,sBAAsB,WAAW;AAGzB,MAAA,mBAcR,sBAAsB,eAAe;AAE7B,MAAA,gBAaR,sBAAsB,YAAY;AAG1B,MAAA,uBAOR,sBAAsB,UAAU;AAqBxB,MAAA,oCACX,4BAA4B,uBAAuB;AAExC,MAAA,uBAOR,sBAAsB,UAAU;AAExB,MAAA,qBAGR,sBAAsB,QAAQ;AAEtB,MAAA,eAGR,4BAA4B,KAAK;AAEzB,MAAA,sBAGR,4BAA4B,kBAAkB;AAEtC,MAAA,wBASR,4BAA4B,cAAc;AAElC,MAAA,cACX,4BAA4B,UAAU;AAE3B,MAAA,gBAAuC,sBAAsB,YAAY;AACzE,MAAA,iBAAwC,sBAAsB,aAAa;AAE3E,MAAA,iBAMR,4BAA4B,OAAO;AAE3B,MAAA,2BAMR,4BAA4B,iBAAiB;AAErC,MAAA,mBASR,4BAA4B,SAAS;AAM7B,MAAA,qBACX,sBAAsB,iBAAiB;"}