bootstrap-vue-next 0.25.11 → 0.25.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-BF4vTqnP.js → BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js} +2 -2
- package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js.map +1 -0
- package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-CbhlDyNx.mjs → BFormGroup.vue_vue_type_script_setup_true_lang-DMeTU5tW.mjs} +2 -2
- package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-DMeTU5tW.mjs.map +1 -0
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-CumrgwnT.mjs → BTable.vue_vue_type_script_setup_true_lang-DPbNjtGg.mjs} +23 -9
- package/dist/BTable.vue_vue_type_script_setup_true_lang-DPbNjtGg.mjs.map +1 -0
- package/dist/BTable.vue_vue_type_script_setup_true_lang-Z3Xw0zF8.js +2 -0
- package/dist/BTable.vue_vue_type_script_setup_true_lang-Z3Xw0zF8.js.map +1 -0
- package/dist/bootstrap-vue-next.mjs +3 -3
- package/dist/bootstrap-vue-next.umd.js +1 -1
- package/dist/{index-DsBqp3u3.js → index-Cu48mp5Z.js} +2 -2
- package/dist/index-Cu48mp5Z.js.map +1 -0
- package/dist/{index-Ckv10UB0.mjs → index-D4dAqwhl.mjs} +3 -3
- package/dist/{index-Ckv10UB0.mjs.map → index-D4dAqwhl.mjs.map} +1 -1
- package/dist/src/components/BFormGroup/index.mjs +1 -1
- package/dist/src/components/BFormGroup/index.umd.js +1 -1
- package/dist/src/components/BTable/index.mjs +1 -1
- package/dist/src/components/BTable/index.umd.js +1 -1
- package/dist/src/components/index.mjs +2 -2
- package/dist/src/components/index.umd.js +1 -1
- package/package.json +1 -1
- package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-BF4vTqnP.js.map +0 -1
- package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-CbhlDyNx.mjs.map +0 -1
- package/dist/BTable.vue_vue_type_script_setup_true_lang-BgBZgKGz.js +0 -2
- package/dist/BTable.vue_vue_type_script_setup_true_lang-BgBZgKGz.js.map +0 -1
- package/dist/BTable.vue_vue_type_script_setup_true_lang-CumrgwnT.mjs.map +0 -1
- package/dist/index-DsBqp3u3.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BTable.vue_vue_type_script_setup_true_lang-Z3Xw0zF8.js","sources":["../src/utils/formatItem.ts","../src/types/TableTypes.ts","../src/components/BTable/BTbody.vue","../src/components/BTable/BTd.vue","../src/components/BTable/BTfoot.vue","../src/components/BTable/BTh.vue","../src/components/BTable/BThead.vue","../src/components/BTable/BTr.vue","../src/utils/getTableFieldHeadLabel.ts","../src/utils/filterEvent.ts","../src/components/BTable/BTableLite.vue","../src/components/BTable/BTable.vue"],"sourcesContent":["import type {TableFieldFormatter} from '../types/TableTypes'\nimport {get} from './object'\n\nexport const formatItem = <T>(\n item: T,\n // Weakly type fieldKey because it can be a nested string, such as 'foo.bar.baz'\n fieldKey: string,\n formatter?: TableFieldFormatter<T>\n) => {\n const val = get(item, fieldKey)\n return formatter && typeof formatter === 'function' ? formatter(val, fieldKey, item) : val\n}\n","import type {StyleValue} from 'vue'\nimport type {ColorVariant} from './ColorTypes'\nimport type {MaybePromise} from './MaybePromise'\nimport type {LiteralUnion} from './LiteralUnion'\nimport type {AttrsValue, ClassValue} from './AnyValuedAttributes'\n\nexport type TableRowEvent<T> = [item: T, index: number, event: MouseEvent]\n\nexport type TableItem<T = Record<string, unknown>> = T & {\n _rowVariant?: ColorVariant | null\n _cellVariants?: Partial<Record<keyof T, ColorVariant>>\n _showDetails?: boolean\n}\n\nexport const isTableItem = (value: unknown): value is TableItem =>\n typeof value === 'object' && value !== null\n\n// undefined means no sorting\nexport type BTableSortByOrder = 'desc' | 'asc' | undefined\n\nexport type BTableSortBy = {\n order: BTableSortByOrder\n key: string\n comparer?: (a: string, b: string) => number\n}\n\nexport type BTableProviderContext = {\n sortBy: BTableSortBy[] | undefined\n filter: string | undefined\n currentPage: number\n perPage: number\n}\n\nexport type BTableProvider<T> = (\n context: Readonly<BTableProviderContext>\n) => MaybePromise<T[] | undefined>\n\nexport type TableFieldFormatter<T> = (value: unknown, key: string, item: T) => string\n\nexport type TableRowType = 'row' | 'row-details' | 'row-top' | 'row-bottom' | 'table-busy'\nexport type TableRowThead = 'top' | 'bottom'\n\nexport type TableStrictClassValue = string | unknown[] | Record<string, boolean>\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TableField<T = any> = {\n key: LiteralUnion<keyof T>\n label?: string\n headerTitle?: string\n headerAbbr?: string\n class?: ClassValue\n formatter?: TableFieldFormatter<T>\n sortable?: boolean\n sortKey?: string\n sortDirection?: string\n sortByFormatted?: boolean | TableFieldFormatter<T>\n filterByFormatted?: boolean | TableFieldFormatter<T>\n tdClass?:\n | TableStrictClassValue\n | ((value: unknown, key: string, item: T) => TableStrictClassValue)\n thClass?: ClassValue\n thStyle?: StyleValue\n variant?: ColorVariant | null\n tdAttr?: AttrsValue | ((value: unknown, key: string, item: T) => AttrsValue)\n thAttr?:\n | AttrsValue\n | ((value: unknown, key: string, item: T | null, type: TableRowThead) => AttrsValue)\n isRowHeader?: boolean\n stickyColumn?: boolean\n}\n\nexport type TableFieldRaw<T = unknown> = T extends object\n ? LiteralUnion<keyof T> | TableField<T>\n : string | TableField\n\nexport const isTableField = <T>(value: unknown): value is TableField<T> =>\n typeof value === 'object' && value !== null && 'key' in value\n\nexport const isTableFieldRaw = <T>(value: unknown): value is TableFieldRaw<T> =>\n typeof value === 'string' || isTableField(value)\n\nexport type NoProviderTypes = 'paging' | 'sorting' | 'filtering'\n","<template>\n <tbody :class=\"computedClasses\">\n <slot />\n </tbody>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BTbodyProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BTbodyProps>(), {\n variant: null,\n})\nconst props = useDefaults(_props, 'BTbody')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`thead-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <td\n :scope=\"scope\"\n :class=\"computedClasses\"\n :colspan=\"props.colspan\"\n :rowspan=\"props.rowspan\"\n :data-label=\"props.stackedHeading\"\n >\n <div v-if=\"props.stackedHeading\">\n <slot />\n </div>\n <slot v-else />\n </td>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BTdProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BTdProps>(), {\n colspan: undefined,\n rowspan: undefined,\n stackedHeading: undefined,\n stickyColumn: false,\n variant: null,\n})\nconst props = useDefaults(_props, 'BTd')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n 'b-table-sticky-column': props.stickyColumn,\n 'table-b-table-default': props.stickyColumn && props.variant === null,\n}))\n\nconst scope = computed(() => (props.colspan ? 'colspan' : props.rowspan ? 'rowspan' : 'col'))\n</script>\n","<template>\n <tfoot :class=\"computedClasses\">\n <slot />\n </tfoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BTfootProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BTfootProps>(), {\n variant: null,\n})\nconst props = useDefaults(_props, 'BTfoot')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <th\n :scope=\"scope\"\n :class=\"computedClasses\"\n :colspan=\"props.colspan\"\n :rowspan=\"props.rowspan\"\n :data-label=\"props.stackedHeading\"\n >\n <div v-if=\"props.stackedHeading !== undefined\">\n <slot />\n </div>\n <slot v-else />\n </th>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BThProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BThProps>(), {\n colspan: undefined,\n rowspan: undefined,\n stackedHeading: undefined,\n stickyColumn: false,\n variant: null,\n})\nconst props = useDefaults(_props, 'BTh')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n 'b-table-sticky-column': props.stickyColumn,\n 'table-b-table-default': props.stickyColumn && props.variant === null,\n}))\n\nconst scope = computed(() => (props.colspan ? 'colspan' : props.rowspan ? 'rowspan' : 'col'))\n</script>\n","<template>\n <thead :class=\"computedClasses\">\n <slot />\n </thead>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BTheadProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BTheadProps>(), {\n variant: null,\n})\nconst props = useDefaults(_props, 'BThead')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <tr :class=\"computedClasses\">\n <slot />\n </tr>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BTrProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BTrProps>(), {\n variant: null,\n})\nconst props = useDefaults(_props, 'BTr')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","import {titleCase} from './stringUtils'\nimport type {TableFieldRaw} from '../types/TableTypes'\n\nexport const getTableFieldHeadLabel = (field: Readonly<TableFieldRaw<unknown>>) =>\n typeof field === 'string'\n ? titleCase(field)\n : field.label !== undefined\n ? field.label\n : typeof field.key === 'string'\n ? titleCase(field.key)\n : field.key\n","const TABLE_TAG_NAMES = ['TD', 'TH', 'TR']\n\n// Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\nconst eventFilter = [\n 'a',\n 'a *', // Include content inside links\n 'button',\n 'button *', // Include content inside buttons\n 'input:not(.disabled):not([disabled])',\n 'select:not(.disabled):not([disabled])',\n 'textarea:not(.disabled):not([disabled])',\n '[role=\"link\"]',\n '[role=\"link\"] *',\n '[role=\"button\"]',\n '[role=\"button\"] *',\n '[tabindex]:not(.disabled):not([disabled])',\n].join(',')\n\n// Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\nexport const filterEvent = (event: Readonly<Event>) => {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n return false\n }\n const el = event.target as HTMLElement\n // Exit early when element is disabled or a table element\n if (('disabled' in el && el.disabled) || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false\n }\n // Ignore the click when it was inside a dropdown menu\n if (el.closest('.dropdown-menu')) return true\n\n const label = el.tagName === 'LABEL' ? el : el.closest('label')\n // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n if (label) {\n const labelFor = label.getAttribute('for')\n const input = labelFor\n ? document.getElementById(labelFor)\n : label.querySelector('input, select, textarea')\n if (input && !(input as HTMLInputElement).disabled) {\n return true\n }\n }\n // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n return el.matches(eventFilter)\n}\n","<template>\n <BTableSimple\n :id=\"props.id\"\n :bordered=\"props.bordered\"\n :borderless=\"props.borderless\"\n :border-variant=\"props.borderVariant\"\n :caption-top=\"props.captionTop\"\n :dark=\"props.dark\"\n :fixed=\"props.fixed\"\n :hover=\"props.hover\"\n :no-border-collapse=\"props.noBorderCollapse\"\n :outlined=\"props.outlined\"\n :responsive=\"props.responsive\"\n :small=\"props.small\"\n :stacked=\"props.stacked\"\n :sticky-header=\"props.stickyHeader\"\n :striped=\"props.striped\"\n :table-class=\"computedTableClasses\"\n :variant=\"props.variant\"\n :striped-columns=\"props.stripedColumns\"\n >\n <BThead v-show=\"showComputedHeaders\" :variant=\"props.headVariant\" :class=\"props.theadClass\">\n <slot name=\"thead-top\" :columns=\"computedFieldsTotal\" :fields=\"computedFields\" />\n <BTr :variant=\"props.headRowVariant\" :class=\"props.theadTrClass\">\n <BTh\n v-for=\"field in computedFields\"\n :key=\"field.key\"\n scope=\"col\"\n :class=\"getFieldColumnClasses(field)\"\n :title=\"field.headerTitle\"\n :variant=\"field.variant\"\n :abbr=\"field.headerAbbr\"\n :style=\"field.thStyle\"\n v-bind=\"callThAttr(null, field, 'top')\"\n @click=\"headerClicked(field, $event)\"\n >\n <!-- eslint-disable prettier/prettier -->\n <slot\n :name=\"\n $slots[`head(${String(field.key)})`]\n ? (`head(${String(field.key)})` as 'head()')\n : 'head()'\n \"\n :label=\"field.label\"\n :column=\"field.key as LiteralUnion<keyof Items>\"\n :field\n :is-foot=\"false\"\n >\n <!-- eslint-enable prettier/prettier -->\n {{ getTableFieldHeadLabel(field) }}\n </slot>\n </BTh>\n </BTr>\n <BTr v-if=\"$slots['thead-sub']\">\n <BTd\n v-for=\"field in computedFields\"\n :key=\"field.key\"\n scope=\"col\"\n :variant=\"field.variant\"\n :class=\"[field.class, field.thClass]\"\n >\n <slot name=\"thead-sub\" :items=\"props.items\" :fields=\"computedFields\" :field>\n {{ field.label }}\n </slot>\n </BTd>\n </BTr>\n </BThead>\n <BTbody :class=\"props.tbodyClass\">\n <slot\n name=\"custom-body\"\n :fields=\"computedFields\"\n :items=\"props.items\"\n :columns=\"computedFieldsTotal\"\n >\n <BTr\n v-if=\"!props.stacked && $slots['top-row']\"\n :class=\"getRowClasses(null, 'row-top')\"\n v-bind=\"callTbodyTrAttrs(null, 'row-top')\"\n >\n <slot name=\"top-row\" :columns=\"computedFieldsTotal\" :fields=\"computedFields\" />\n </BTr>\n\n <template\n v-for=\"(item, itemIndex) in props.items\"\n :key=\"props.primaryKey ? get(item, props.primaryKey) : itemIndex\"\n >\n <BTr\n :class=\"getRowClasses(item, 'row')\"\n :variant=\"isTableItem(item) ? item._rowVariant : undefined\"\n v-bind=\"callTbodyTrAttrs(item, 'row')\"\n @click=\"!filterEvent($event) && emit('row-clicked', item, itemIndex, $event)\"\n @dblclick=\"!filterEvent($event) && emit('row-dblclicked', item, itemIndex, $event)\"\n @contextmenu=\"!filterEvent($event) && emit('row-contextmenu', item, itemIndex, $event)\"\n @mouseenter=\"!filterEvent($event) && emit('row-hovered', item, itemIndex, $event)\"\n @mouseleave=\"!filterEvent($event) && emit('row-unhovered', item, itemIndex, $event)\"\n @mousedown=\"handleMiddleClick(item, itemIndex, $event)\"\n >\n <BTd\n v-for=\"field in computedFields\"\n :key=\"field.key\"\n :variant=\"\n (isTableItem(item) ? item._cellVariants?.[field.key as string] : false)\n ? null\n : field.variant\n \"\n :class=\"getFieldRowClasses(field, item)\"\n v-bind=\"itemAttributes(item, String(field.key), field.tdAttr)\"\n >\n <label v-if=\"props.stacked && props.labelStacked\" class=\"b-table-stacked-label\">\n {{ getTableFieldHeadLabel(field) }}\n </label>\n <slot\n :name=\"\n $slots[`cell(${String(field.key)})`]\n ? (`cell(${String(field.key)})` as 'cell()')\n : 'cell()'\n \"\n :value=\"formatItem(item, String(field.key), field.formatter)\"\n :unformatted=\"get(item, String(field.key))\"\n :index=\"itemIndex\"\n :item=\"item\"\n :field=\"field\"\n :items=\"items\"\n :toggle-details=\"() => toggleRowDetails(item)\"\n :details-showing=\"isTableItem(item) ? (detailsMap.get(item) ?? false) : false\"\n >\n <template v-if=\"!$slots[`cell(${String(field.key)})`] && !$slots['cell()']\">\n {{ formatItem(item, String(field.key), field.formatter) }}\n </template>\n </slot>\n </BTd>\n </BTr>\n\n <template\n v-if=\"isTableItem(item) && detailsMap.get(item) === true && $slots['row-details']\"\n >\n <BTr aria-hidden=\"true\" role=\"presentation\" class=\"d-none\" />\n <BTr\n :class=\"getRowClasses(item, 'row-details')\"\n :variant=\"item._rowVariant\"\n v-bind=\"callTbodyTrAttrs(item, 'row-details')\"\n >\n <BTd :colspan=\"computedFieldsTotal\" :class=\"detailsTdClass\">\n <slot\n name=\"row-details\"\n :item=\"item\"\n :toggle-details=\"() => toggleRowDetails(item)\"\n :fields=\"computedFields\"\n :index=\"itemIndex\"\n />\n </BTd>\n </BTr>\n </template>\n </template>\n <!-- This class is for specific targetting of this slot element -->\n <BTr\n v-if=\"!props.stacked && $slots['bottom-row']\"\n class=\"bottom-row\"\n :class=\"getRowClasses(null, 'row-bottom')\"\n v-bind=\"callTbodyTrAttrs(null, 'row-bottom')\"\n >\n <slot name=\"bottom-row\" :columns=\"computedFieldsTotal\" :fields=\"computedFields\" />\n </BTr>\n </slot>\n </BTbody>\n <BTfoot v-if=\"props.footClone\" v-bind=\"footerProps\">\n <BTr :variant=\"props.footRowVariant\" :class=\"props.tfootTrClass\">\n <BTh\n v-for=\"field in computedFields\"\n :key=\"field.key\"\n scope=\"col\"\n :class=\"getFieldColumnClasses(field)\"\n :title=\"field.headerTitle\"\n :abbr=\"field.headerAbbr\"\n :style=\"field.thStyle\"\n :variant=\"field.variant\"\n v-bind=\"callThAttr(null, field, 'bottom')\"\n @click=\"headerClicked(field, $event, true)\"\n >\n <div class=\"d-inline-flex flex-nowrap align-items-center gap-1\">\n <div>\n <!-- eslint-disable prettier/prettier -->\n <slot\n :name=\"\n $slots[`foot(${String(field.key)})`]\n ? (`foot(${String(field.key)})` as 'foot()')\n : 'foot()'\n \"\n :label=\"field.label\"\n :column=\"field.key as LiteralUnion<keyof Items>\"\n :field=\"field\"\n :is-foot=\"true\"\n >\n <!-- eslint-enable prettier/prettier -->\n {{ getTableFieldHeadLabel(field) }}\n </slot>\n </div>\n </div>\n </BTh>\n </BTr>\n </BTfoot>\n <BTfoot v-else-if=\"$slots['custom-foot']\" v-bind=\"footerProps\">\n <slot\n name=\"custom-foot\"\n :fields=\"computedFields\"\n :items=\"props.items\"\n :columns=\"computedFieldsTotal\"\n />\n </BTfoot>\n <caption v-if=\"$slots['table-caption'] || props.caption\">\n <slot name=\"table-caption\">\n {{ props.caption }}\n </slot>\n </caption>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\" generic=\"Items\">\nimport {computed, ref, watch} from 'vue'\nimport type {BTableLiteProps} from '../../types/ComponentProps'\nimport {\n isTableField,\n isTableItem,\n type TableField,\n type TableItem,\n type TableRowEvent,\n type TableRowThead,\n type TableRowType,\n} from '../../types/TableTypes'\nimport BTableSimple from './BTableSimple.vue'\nimport BTbody from './BTbody.vue'\nimport BTd from './BTd.vue'\nimport BTfoot from './BTfoot.vue'\nimport BTh from './BTh.vue'\nimport BThead from './BThead.vue'\nimport BTr from './BTr.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {get} from '../../utils/object'\nimport {getTableFieldHeadLabel} from '../../utils/getTableFieldHeadLabel'\nimport {formatItem} from '../../utils/formatItem'\nimport {filterEvent} from '../../utils/filterEvent'\nimport {startCase} from '../../utils/stringUtils'\nimport type {LiteralUnion} from '../../types/LiteralUnion'\n\nconst _props = withDefaults(defineProps<BTableLiteProps<Items>>(), {\n caption: undefined,\n align: undefined,\n fields: () => [],\n footClone: false,\n items: () => [],\n labelStacked: false,\n fieldColumnClass: undefined,\n tbodyTrClass: undefined,\n captionHtml: undefined,\n detailsTdClass: undefined,\n headVariant: undefined,\n headRowVariant: undefined,\n footRowVariant: undefined,\n footVariant: undefined,\n modelValue: undefined,\n primaryKey: undefined,\n tbodyClass: undefined,\n tbodyTrAttrs: undefined,\n tfootClass: undefined,\n tfootTrClass: undefined,\n theadClass: undefined,\n theadTrClass: undefined,\n // BTableSimpleProps props\n borderVariant: undefined,\n tableClass: undefined,\n variant: undefined,\n bordered: undefined,\n borderless: undefined,\n captionTop: undefined,\n dark: undefined,\n hover: undefined,\n id: undefined,\n noBorderCollapse: undefined,\n outlined: undefined,\n fixed: undefined,\n responsive: undefined,\n stacked: undefined,\n striped: undefined,\n stripedColumns: undefined,\n small: undefined,\n stickyHeader: undefined,\n // End BTableSimpleProps props\n})\nconst props = useDefaults(_props, 'BTableLite')\n\nconst emit = defineEmits<{\n 'head-clicked': [\n key: string,\n field: (typeof computedFields.value)[0],\n event: MouseEvent,\n isFooter: boolean,\n ]\n 'row-clicked': TableRowEvent<Items>\n 'row-dblclicked': TableRowEvent<Items>\n 'row-contextmenu': TableRowEvent<Items>\n 'row-hovered': TableRowEvent<Items>\n 'row-unhovered': TableRowEvent<Items>\n 'row-middle-clicked': TableRowEvent<Items>\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'thead-top'?: (props: {columns: number; fields: typeof computedFields.value}) => any\n [key: `head(${string})`]: (props: {\n label: string | undefined\n column: LiteralUnion<keyof Items>\n field: (typeof computedFields.value)[0]\n isFoot: false\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n 'thead-sub'?: (\n props: {\n items: readonly Items[]\n fields: typeof computedFields.value\n field: (typeof computedFields.value)[0]\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ) => any\n 'custom-body'?: (props: {\n fields: typeof computedFields.value\n items: readonly Items[]\n columns: number\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'top-row'?: (props: {columns: number; fields: typeof computedFields.value}) => any\n [key: `cell(${string})`]: (props: {\n value: unknown\n unformatted: unknown\n index: number\n item: Items\n field: (typeof computedFields.value)[0]\n items: readonly Items[]\n toggleDetails: () => void\n detailsShowing: boolean\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n 'row-details'?: (props: {\n item: Items\n toggleDetails: () => void\n fields: typeof computedFields.value\n index: number\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'bottom-row'?: (props: {columns: number; fields: typeof computedFields.value}) => any\n [key: `foot(${string})`]: (props: {\n label: string | undefined\n column: LiteralUnion<keyof Items>\n field: (typeof computedFields.value)[0]\n isFoot: true\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n 'custom-foot'?: (props: {\n fields: typeof computedFields.value\n items: readonly Items[]\n columns: number\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'table-caption'?: (props: Record<string, never>) => any\n}>()\n\nconst generateDetailsItem = (item: TableItem): [object, boolean | undefined] => [\n item,\n item._showDetails,\n]\nconst detailsMap = ref(new WeakMap<object, boolean | undefined>())\nwatch(\n () => props.items,\n (items) => {\n items.forEach((item) => {\n if (!isTableItem(item)) return\n detailsMap.value.set(...generateDetailsItem(item))\n })\n },\n {deep: true, immediate: true}\n)\n\nconst computedTableClasses = computed(() => [\n props.tableClass,\n {\n [`align-${props.align}`]: props.align !== undefined,\n },\n])\n\nconst computedFields = computed<(TableField<Items> & {_noHeader?: true})[]>(() => {\n if (!props.fields.length && props.items.length) {\n const [firstItem] = props.items\n if (isTableItem(firstItem) || Array.isArray(firstItem)) {\n return Object.keys(firstItem).map((k) => {\n const label = startCase(k)\n return {\n key: k,\n label,\n tdAttr: props.stacked === true ? {'data-label': label} : undefined,\n }\n })\n }\n // The items are primitives, so we just return a single empty field\n // No header will be shown, as we don't know what to show\n return [{key: '', _noHeader: true}]\n }\n\n return props.fields.map((f) => {\n if (isTableField(f)) {\n return {\n ...(f as TableField<Items>),\n tdAttr:\n props.stacked === true\n ? {'data-label': startCase(f.key as string), ...f.tdAttr}\n : f.tdAttr,\n }\n }\n const label = startCase(f as string)\n return {\n key: f as string,\n label,\n tdAttr: props.stacked === true ? {'data-label': label} : undefined,\n }\n })\n})\nconst computedFieldsTotal = computed(() => computedFields.value.length)\nconst showComputedHeaders = computed(() => {\n // We only hide the header if all fields have _noHeader set to true. Which would be our doing\n // This usually happens under a circumstance of displaying an array of primitives\n // Under any other circumstance, I'm not sure how this would apply\n if (computedFieldsTotal.value > 0 && computedFields.value.every((el) => el._noHeader === true))\n return false\n return true\n})\n\nconst footerProps = computed(() => ({\n variant: props.footVariant,\n class: props.tfootClass,\n}))\n\nconst itemAttributes = (item: Items, fieldKey: string, attr?: unknown) => {\n const val = get(item, fieldKey)\n return attr && typeof attr === 'function' ? attr(val, fieldKey, item) : attr\n}\n\nconst callThAttr = (item: Items | null, field: TableField<Items>, type: TableRowThead) => {\n const fieldKey = String(field.key)\n const val = get(item, fieldKey)\n return field.thAttr && typeof field.thAttr === 'function'\n ? field.thAttr(val, fieldKey, item, type)\n : field.thAttr\n}\n\nconst headerClicked = (field: TableField<Items>, event: Readonly<MouseEvent>, isFooter = false) => {\n emit('head-clicked', field.key as string, field, event, isFooter)\n}\n\nconst toggleRowDetails = (tr: Items) => {\n if (isTableItem(tr)) {\n const prevValue = detailsMap.value.get(tr)\n detailsMap.value.set(tr, !prevValue)\n tr._showDetails = !prevValue\n }\n}\n\nconst getFieldColumnClasses = (field: TableField) => [\n field.class,\n field.thClass,\n {\n 'b-table-sticky-column': field.stickyColumn,\n },\n props.fieldColumnClass\n ? typeof props.fieldColumnClass === 'function'\n ? props.fieldColumnClass(field)\n : props.fieldColumnClass\n : null,\n]\n\nconst getFieldRowClasses = (field: Readonly<TableField>, tr: Items) => {\n const val = get(tr, String(field.key))\n return [\n field.class,\n typeof field.tdClass === 'function' ? field.tdClass(val, String(field.key), tr) : field.tdClass,\n (isTableItem(tr) ? tr._cellVariants?.[field.key as string] : false)\n ? `table-${(tr as TableItem)._cellVariants?.[field.key as string]}`\n : null,\n {\n 'b-table-sticky-column': field.stickyColumn,\n },\n ]\n}\n\nconst handleMiddleClick = (item: Items, itemIndex: number, event: MouseEvent) => {\n if (event.button === 1 && !filterEvent(event)) {\n emit('row-middle-clicked', item, itemIndex, event)\n }\n}\nconst callTbodyTrAttrs = (item: Items | null, type: TableRowType) =>\n props.tbodyTrAttrs\n ? typeof props.tbodyTrAttrs === 'function'\n ? props.tbodyTrAttrs(item, type)\n : props.tbodyTrAttrs\n : null\n\nconst getRowClasses = (item: Items | null, type: TableRowType) =>\n props.tbodyTrClass\n ? typeof props.tbodyTrClass === 'function'\n ? props.tbodyTrClass(item, type)\n : props.tbodyTrClass\n : null\n</script>\n","<template>\n <!-- eslint-disable prettier/prettier -->\n <BTableLite\n v-bind=\"props\"\n :aria-busy=\"busyModel\"\n :items=\"computedDisplayItems\"\n :fields=\"computedFields as TableFieldRaw<Items>[]\"\n :table-class=\"tableClasses\"\n :tbody-tr-class=\"getRowClasses\"\n :field-column-class=\"getFieldColumnClasses\"\n @head-clicked=\"onFieldHeadClick\"\n @row-clicked=\"onRowClick\"\n @row-dblclicked=\"\n (row, index, e) => {\n emit('row-dblclicked', row, index, e)\n }\n \"\n @row-contextmenu=\"\n (row, index, e) => {\n emit('row-contextmenu', row, index, e)\n }\n \"\n @row-hovered=\"\n (row, index, e) => {\n emit('row-hovered', row, index, e)\n }\n \"\n @row-unhovered=\"\n (row, index, e) => {\n emit('row-unhovered', row, index, e)\n }\n \"\n @row-middle-clicked=\"\n (row, index, e) => {\n emit('row-middle-clicked', row, index, e)\n }\n \"\n >\n <!-- eslint-enable prettier/prettier -->\n <template v-if=\"slots['thead-top']\" #thead-top=\"scope\">\n <slot\n name=\"thead-top\"\n v-bind=\"scope\"\n :clear-selected=\"exposedSelectableUtilities.clearSelected\"\n :select-all-rows=\"exposedSelectableUtilities.selectAllRows\"\n :fields=\"computedFields\"\n />\n </template>\n <template v-if=\"slots['thead-sub']\" #thead-sub=\"scope\">\n <slot name=\"thead-sub\" v-bind=\"scope\" :fields=\"computedFields\" />\n </template>\n <template v-if=\"slots['top-row']\" #top-row=\"scope\">\n <slot name=\"top-row\" v-bind=\"scope\" :fields=\"computedFields\" />\n </template>\n <template v-if=\"slots['row-details']\" #row-details=\"scope\">\n <slot\n name=\"row-details\"\n v-bind=\"scope\"\n :fields=\"computedFields\"\n :select-row=\"(index = scope.index) => exposedSelectableUtilities.selectRow(index)\"\n :unselect-row=\"(index = scope.index) => exposedSelectableUtilities.unselectRow(index)\"\n :row-selected=\"exposedSelectableUtilities.isRowSelected(scope.index)\"\n />\n </template>\n <template v-if=\"slots['bottom-row']\" #bottom-row=\"scope\">\n <slot name=\"bottom-row\" v-bind=\"scope\" :fields=\"computedFields\" />\n </template>\n <template v-if=\"slots['custom-foot']\" #custom-foot=\"scope\">\n <slot name=\"custom-foot\" v-bind=\"scope\" :fields=\"computedFields\" />\n </template>\n <template v-if=\"slots['table-caption']\" #table-caption>\n <slot name=\"table-caption\" />\n </template>\n <template v-for=\"name in dynamicCellSlots\" #[name]=\"scope\">\n <slot\n :name\n v-bind=\"scope\"\n :select-row=\"(index = scope.index) => exposedSelectableUtilities.selectRow(index)\"\n :unselect-row=\"(index = scope.index) => exposedSelectableUtilities.unselectRow(index)\"\n :row-selected=\"exposedSelectableUtilities.isRowSelected(scope.index)\"\n />\n </template>\n <template v-for=\"name in dynamicFootSlots\" #[name]=\"scope\">\n <slot\n :name\n v-bind=\"scope\"\n :select-all-rows=\"exposedSelectableUtilities.selectAllRows\"\n :clear-selected=\"exposedSelectableUtilities.clearSelected\"\n />\n </template>\n\n <template\n v-for=\"field in computedFields\"\n :key=\"field.key\"\n #[`head(${String(field.key)})`]=\"scope\"\n >\n <slot\n :name=\"\n $slots[`head(${String(field.key)})`]\n ? (`head(${String(field.key)})` as 'head()')\n : 'head()'\n \"\n v-bind=\"scope\"\n :select-all-rows=\"exposedSelectableUtilities.selectAllRows\"\n :clear-selected=\"exposedSelectableUtilities.clearSelected\"\n >\n {{ getTableFieldHeadLabel(field) }}\n </slot>\n <template v-if=\"isSortable && !!scope.field.sortable && props.noSortableIcon === false\">\n <slot\n v-if=\"sortByModel?.find((el) => el.key === scope.field.key)?.order === 'asc'\"\n v-bind=\"scope\"\n :name=\"\n $slots[`sortAsc(${String(scope.field.key)})`]\n ? (`sortAsc(${String(scope.field.key)})` as 'sortAsc()')\n : 'sortAsc()'\n \"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-up-short\"\n viewBox=\"0 0 16 16\"\n aria-hidden\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\"\n />\n </svg>\n </slot>\n <slot\n v-else-if=\"sortByModel?.find((el) => el.key === scope.field.key)?.order === 'desc'\"\n v-bind=\"scope\"\n :name=\"\n $slots[`sortDesc(${String(scope.field.key)})`]\n ? (`sortDesc(${String(scope.field.key)})` as 'sortDesc()')\n : 'sortDesc()'\n \"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-down-short\"\n viewBox=\"0 0 16 16\"\n aria-hidden\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z\"\n />\n </svg>\n </slot>\n <slot\n v-else\n v-bind=\"scope\"\n :name=\"\n $slots[`sortDefault(${String(scope.field.key)})`]\n ? (`sortDefault(${String(scope.field.key)})` as 'sortDefault()')\n : 'sortDefault()'\n \"\n >\n <svg\n :style=\"{opacity: 0.4}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-up-short\"\n viewBox=\"0 0 16 16\"\n aria-hidden\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\"\n />\n </svg>\n </slot>\n </template>\n </template>\n <template #custom-body=\"scope\">\n <BTr\n v-if=\"busyModel && $slots['table-busy']\"\n class=\"b-table-busy-slot\"\n :class=\"getBusyRowClasses\"\n >\n <BTd :colspan=\"scope.fields.length\">\n <slot name=\"table-busy\" />\n </BTd>\n </BTr>\n\n <BTr\n v-else-if=\"props.showEmpty === true && computedItems.length === 0\"\n class=\"b-table-empty-row\"\n >\n <BTd :colspan=\"computedFields.length\">\n <div role=\"alert\" aria-live=\"polite\">\n <div class=\"text-center my-2\">\n <slot v-if=\"isFilterableTable\" name=\"empty-filtered\" v-bind=\"emptySlotScope\">\n {{ props.emptyFilteredText }}\n </slot>\n <slot v-else name=\"empty\" v-bind=\"emptySlotScope\">\n {{ props.emptyText }}\n </slot>\n </div>\n </div>\n </BTd>\n </BTr>\n </template>\n </BTableLite>\n</template>\n\n<script setup lang=\"ts\" generic=\"Items\">\nimport {useToNumber} from '@vueuse/core'\nimport {computed, onMounted, type Ref, ref, watch} from 'vue'\nimport {formatItem} from '../../utils/formatItem'\nimport BTableLite from './BTableLite.vue'\nimport BTd from './BTd.vue'\nimport BTr from './BTr.vue'\nimport {\n type BTableSortBy,\n type BTableSortByOrder,\n isTableField,\n isTableItem,\n type NoProviderTypes,\n type TableField,\n type TableFieldFormatter,\n type TableFieldRaw,\n type TableItem,\n type TableRowEvent,\n type TableRowType,\n type TableStrictClassValue,\n} from '../../types/TableTypes'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BTableProps} from '../../types/ComponentProps'\nimport {get, set} from '../../utils/object'\nimport {startCase} from '../../utils/stringUtils'\nimport {getTableFieldHeadLabel} from '../../utils/getTableFieldHeadLabel'\nimport type {LiteralUnion} from '../../types/LiteralUnion'\n\nconst _props = withDefaults(\n defineProps<Omit<BTableProps<Items>, 'sortBy' | 'busy' | 'selectedItems'>>(),\n {\n noSortableIcon: false,\n perPage: Number.POSITIVE_INFINITY,\n filter: undefined,\n mustSort: false,\n filterable: undefined,\n provider: undefined,\n noProvider: undefined,\n noProviderPaging: false,\n noProviderSorting: false,\n multisort: false,\n noProviderFiltering: false,\n noLocalSorting: false,\n noSelectOnClick: false,\n selectable: false,\n stickySelect: false,\n selectHead: true,\n selectMode: 'multi',\n selectionVariant: 'primary',\n busyLoadingText: 'Loading...',\n currentPage: 1,\n // BTableLite props\n items: () => [],\n fields: () => [],\n // All others use defaults\n caption: undefined,\n align: undefined,\n footClone: undefined,\n labelStacked: undefined,\n showEmpty: false,\n emptyText: 'There are no records to show',\n emptyFilteredText: 'There are no records matching your request',\n fieldColumnClass: undefined,\n tbodyTrClass: undefined,\n captionHtml: undefined,\n detailsTdClass: undefined,\n headVariant: undefined,\n headRowVariant: undefined,\n footRowVariant: undefined,\n footVariant: undefined,\n modelValue: undefined,\n primaryKey: undefined,\n tbodyClass: undefined,\n tfootClass: undefined,\n tfootTrClass: undefined,\n theadClass: undefined,\n theadTrClass: undefined,\n // End BTableLite props\n // BTableSimple props\n borderVariant: undefined,\n variant: undefined,\n bordered: undefined,\n borderless: undefined,\n captionTop: undefined,\n dark: undefined,\n hover: undefined,\n id: undefined,\n noBorderCollapse: undefined,\n outlined: undefined,\n fixed: undefined,\n responsive: undefined,\n stacked: undefined,\n striped: undefined,\n stripedColumns: undefined,\n small: undefined,\n stickyHeader: undefined,\n // End BTableSimple props\n }\n)\nconst props = useDefaults(_props, 'BTable')\n\nconst emit = defineEmits<{\n 'filtered': [value: Items[]]\n 'head-clicked': [\n key: string,\n field: (typeof computedFields.value)[0],\n event: MouseEvent,\n isFooter: boolean,\n ]\n 'row-clicked': TableRowEvent<Items>\n 'row-dblclicked': TableRowEvent<Items>\n 'row-contextmenu': TableRowEvent<Items>\n 'row-hovered': TableRowEvent<Items>\n 'row-unhovered': TableRowEvent<Items>\n 'row-middle-clicked': TableRowEvent<Items>\n 'row-selected': [value: Items]\n 'row-unselected': [value: Items]\n 'sorted': [value: BTableSortBy]\n 'change': [value: Items[]]\n}>()\n\ntype SortSlotScope = {\n label: string | undefined\n column: LiteralUnion<keyof Items>\n field: (typeof computedFields.value)[0]\n isFoot: false\n}\n\nconst slots = defineSlots<{\n // BTableLite\n 'thead-top'?: (props: {\n columns: number\n fields: typeof computedFields.value\n selectAllRows: () => void\n clearSelected: () => void\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n [key: `head(${string})`]: (props: {\n label: string | undefined\n column: LiteralUnion<keyof Items>\n field: (typeof computedFields.value)[0]\n isFoot: false\n selectAllRows: () => void\n clearSelected: () => void\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n 'thead-sub'?: (\n props: {\n items: readonly Items[]\n fields: typeof computedFields.value\n field: (typeof computedFields.value)[0]\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'top-row'?: (props: {columns: number; fields: typeof computedFields.value}) => any\n [key: `cell(${string})`]: (props: {\n value: unknown\n unformatted: unknown\n index: number\n item: Items\n field: (typeof computedFields.value)[0]\n items: readonly Items[]\n toggleDetails: () => void\n detailsShowing: boolean\n rowSelected: boolean\n selectRow: (index?: number) => void\n unselectRow: (index?: number) => void\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n 'row-details'?: (props: {\n item: Items\n toggleDetails: () => void\n fields: typeof computedFields.value\n index: number\n rowSelected: boolean\n selectRow: (index?: number) => void\n unselectRow: (index?: number) => void\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'bottom-row'?: (props: {columns: number; fields: typeof computedFields.value}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: `foot(${string})`]: (props: {\n label: string | undefined\n column: LiteralUnion<keyof Items>\n field: (typeof computedFields.value)[0]\n isFoot: true\n selectAllRows: () => void\n clearSelected: () => void\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n 'custom-foot'?: (props: {\n fields: typeof computedFields.value\n items: readonly Items[]\n columns: number\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'table-caption'?: (props: Record<string, never>) => any\n\n // end btable slots\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: `sortAsc(${string})`]: (props: SortSlotScope) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: `sortDesc(${string})`]: (props: SortSlotScope) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: `sortDefault(${string})`]: (props: SortSlotScope) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'table-busy'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'empty-filtered'?: (props: typeof emptySlotScope.value) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'empty'?: (props: typeof emptySlotScope.value) => any\n}>()\n\nconst dynamicCellSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith('cell(')) as 'cell()'[]\n)\nconst dynamicFootSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith('foot(')) as 'foot()'[]\n)\n\nconst sortByModel = defineModel<BTableProps<Items>['sortBy']>('sortBy', {\n default: undefined,\n})\nconst busyModel = defineModel<Exclude<BTableProps<Items>['busy'], undefined>>('busy', {\n default: false,\n})\nconst selectedItemsModel = defineModel<Exclude<BTableProps<Items>['selectedItems'], undefined>>(\n 'selectedItems',\n {\n default: () => [],\n }\n)\n\nconst selectedItemsToSet = computed({\n get: () => new Set([...selectedItemsModel.value]),\n set: (val) => {\n selectedItemsModel.value = [...val]\n },\n})\n\nwatch(selectedItemsToSet, (newValue, oldValue) => {\n Array.from(oldValue)\n .filter((item) => !newValue.has(item))\n .forEach((item) => {\n emit('row-unselected', item)\n })\n Array.from(newValue)\n .filter((item) => !oldValue.has(item))\n .forEach((item) => {\n emit('row-selected', item)\n })\n})\n/**\n * This is to avoid the issue of directly mutating the array structure and to properly trigger the computed setter.\n * The utils also conveniently emit the proper events after\n */\nconst selectedItemsSetUtilities = {\n add: (item: Items) => {\n const value = new Set(selectedItemsToSet.value)\n value.add(item)\n selectedItemsToSet.value = value\n },\n clear: () => {\n selectedItemsToSet.value.forEach((item) => {\n selectedItemsSetUtilities.delete(item)\n })\n },\n delete: (item: Items) => {\n const value = new Set(selectedItemsToSet.value)\n if (props.primaryKey) {\n const pkey: string = props.primaryKey\n selectedItemsModel.value.forEach((v, i) => {\n const selectedKey = get(v, pkey)\n const itemKey = get(item, pkey)\n\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) {\n value.delete(selectedItemsModel.value[i])\n }\n })\n } else {\n value.delete(item)\n }\n selectedItemsToSet.value = value\n },\n set: (items: Items[]) => {\n selectedItemsToSet.value = new Set(items)\n },\n has: (item: Items) => {\n if (!props.primaryKey) return selectedItemsToSet.value.has(item)\n\n // Resolver for when we are using primary keys\n const pkey: string = props.primaryKey\n for (const selected of selectedItemsToSet.value) {\n const selectedKey = get(selected, pkey)\n const itemKey = get(item, pkey)\n\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) return true\n }\n return false\n },\n} as const\n\n/**\n * Only stores data that is fetched when using the provider\n */\nconst internalItems: Ref<Items[]> = ref([])\n\nconst perPageNumber = useToNumber(() => props.perPage, {method: 'parseInt'})\nconst currentPageNumber = useToNumber(() => props.currentPage, {method: 'parseInt'})\n\nconst isFilterableTable = computed(() => !!props.filter)\nconst usesProvider = computed(() => props.provider !== undefined)\nconst isSelecting = computed(() => selectedItemsToSet.value.size > 0)\n\nconst isSortable = computed(\n () =>\n sortByModel.value !== undefined ||\n props.fields.some(\n (field) => typeof field === 'object' && field !== null && field.sortable === true\n )\n)\n\nconst computedFields = computed<TableField<Items>[]>(() =>\n props.fields.map((el) => {\n if (!isTableField<Items>(el)) {\n const label = startCase(el as string)\n return {\n key: el as string,\n label,\n tdAttr: props.stacked === true ? {'data-label': label} : undefined,\n }\n }\n\n const value = sortByModel.value?.find((sb) => el.key === sb.key)\n const sortValue =\n isSortable.value === false\n ? undefined\n : value === undefined\n ? 'none'\n : value.order === 'desc'\n ? 'descending'\n : value.order === 'asc'\n ? 'ascending'\n : 'none'\n\n return {\n ...(el as TableField<Items>),\n thAttr: {\n 'aria-sort': sortValue,\n ...el.thAttr,\n },\n }\n })\n)\n\nconst tableClasses = computed(() => ({\n 'b-table-busy': busyModel.value,\n 'b-table-selectable': props.selectable,\n 'user-select-none': props.selectable && isSelecting.value,\n}))\n\nconst getBusyRowClasses = computed(() => [\n props.tbodyTrClass\n ? typeof props.tbodyTrClass === 'function'\n ? props.tbodyTrClass(null, 'table-busy')\n : props.tbodyTrClass\n : null,\n])\nconst getFieldColumnClasses = (field: TableField) => [\n {\n 'b-table-sortable-column': isSortable.value && field.sortable,\n },\n]\n// TODO this class has issues if the table has a variant already applied\n// Also the row should technically have aria-selected . Both things could probably just use a function with tbodyTrAttrs\n// But functional tbodyTrAttrs are not supported yet\n// Also the stuff for resolving functions could probably be made a util\nconst getRowClasses = (item: Items | null, type: TableRowType): TableStrictClassValue => [\n {\n [`selected table-${props.selectionVariant}`]:\n props.selectable && !!item && selectedItemsSetUtilities.has(item),\n },\n props.tbodyTrClass\n ? typeof props.tbodyTrClass === 'function'\n ? props.tbodyTrClass(item, type)\n : props.tbodyTrClass\n : null,\n]\n\nconst getFormatter = (value: TableField<Items>): TableFieldFormatter<Items> | undefined =>\n typeof value.sortByFormatted === 'function' ? value.sortByFormatted : value.formatter\nconst computedItems = computed<Items[]>(() => {\n const sortItems = (items: Items[]) => {\n // \"undefined\" values are set by us, we do this so we dont wipe out the comparer\n const sortByItems = sortByModel.value?.filter((el) => !!el.order)\n\n if (!sortByItems || sortByItems.length === 0) return items\n\n // Multi-sort\n return [...items].sort((a, b) => {\n for (let i = 0; i < (sortByItems.length ?? 0); i++) {\n const sortOption = sortByItems[i]\n const realVal = (ob: Items): string => {\n if (!isTableItem(ob)) return String(ob)\n\n const sortField = computedFields.value.find((el) => {\n if (isTableField<Items>(el)) return el.key === sortOption.key\n\n return false\n })\n const val = get(ob, sortOption.key as keyof TableItem)\n if (isTableField<Items>(sortField) && !!sortField.sortByFormatted) {\n const formatter = getFormatter(sortField)\n if (formatter) {\n return String(formatItem(ob, String(sortField.key), formatter))\n }\n }\n return typeof val === 'object' && val !== null\n ? JSON.stringify(val)\n : (val?.toString() ?? '')\n }\n\n const aValue = realVal(a)\n const bValue = realVal(b)\n const comparison = sortOption.comparer\n ? sortOption.comparer(aValue, bValue)\n : aValue.localeCompare(bValue, undefined, {numeric: true})\n\n if (comparison !== 0) {\n return sortOption.order === 'asc' ? comparison : -comparison\n }\n }\n return 0 // items are equal\n })\n }\n\n const filterItems = (items: Items[]) =>\n items.filter((item) =>\n isTableItem(item)\n ? Object.entries(item).some(([key, val]) => {\n if (\n val === null ||\n val === undefined ||\n key[0] === '_' ||\n (!props.filterable?.includes(key) && !!props.filterable?.length)\n )\n return false\n const realVal = (): string => {\n const filterField = computedFields.value.find((el) => {\n if (isTableField<Items>(el)) return el.key === key\n\n return false\n })\n if (isTableField<Items>(filterField) && !!filterField.filterByFormatted) {\n const formatter = getFormatter(filterField)\n if (formatter) {\n return String(formatter(val, String(filterField.key), item))\n }\n }\n return typeof val === 'object' ? JSON.stringify(Object.values(val)) : val.toString()\n }\n const itemValue: string = realVal()\n return itemValue.toLowerCase().includes(props.filter?.toLowerCase() ?? '')\n })\n : true\n )\n\n let mappedItems = usesProvider.value ? internalItems.value : (props.items as Items[])\n mappedItems = mappedItems.map((item) => {\n if (\n typeof item === 'object' &&\n item !== null &&\n Object.keys(item).some((key) => key.includes('.'))\n ) {\n // We use any here because the TS doesn't isn't certain that \"item\" is the same type as our newItem.\n // But we've determined that it's an object, so we can ignore it since they will always be the same \"object\"\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let newItem: any = {}\n for (const key in item) {\n if (key.includes('.')) {\n newItem = set(newItem, key, item[key])\n } else {\n newItem[key] = item[key]\n }\n }\n return newItem\n // return\n }\n return item\n })\n\n if (\n (isFilterableTable.value === true && !usesProvider.value) ||\n (isFilterableTable.value === true && usesProvider.value && props.noProviderFiltering)\n ) {\n mappedItems = filterItems(mappedItems)\n }\n\n if (\n (isSortable.value === true && !usesProvider.value && !props.noLocalSorting) ||\n (isSortable.value === true && usesProvider.value && props.noProviderSorting)\n ) {\n mappedItems = sortItems(mappedItems)\n }\n\n return mappedItems\n})\n\nconst emptySlotScope = computed(() => ({\n emptyFilteredText: props.emptyFilteredText,\n emptyText: props.emptyText,\n fields: computedFields.value,\n items: computedItems.value,\n}))\n\nconst computedDisplayItems = computed<Items[]>(() => {\n if (Number.isNaN(perPageNumber.value) || (usesProvider.value && !props.noProviderPaging)) {\n return computedItems.value\n }\n\n return computedItems.value.slice(\n (currentPageNumber.value - 1) * (perPageNumber.value || Number.POSITIVE_INFINITY),\n currentPageNumber.value * (perPageNumber.value || Number.POSITIVE_INFINITY)\n )\n})\n\nwatch(computedDisplayItems, (v) => {\n emit('change', v)\n})\n\nconst handleRowSelection = (\n row: Items,\n index: number,\n shiftClicked = false,\n ctrlClicked = false,\n metaClicked = false\n) => {\n if (!props.selectable) return\n\n if (props.selectMode === 'single' || props.selectMode === 'multi') {\n // Do nothing when these items are held\n if (shiftClicked || ctrlClicked) return\n // Delete if item is in\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row)\n } else {\n if (props.selectMode === 'single') {\n selectedItemsSetUtilities.set([row])\n } else {\n selectedItemsSetUtilities.add(row)\n }\n }\n } else {\n if (ctrlClicked || metaClicked) {\n // Delete if in the object\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row)\n // Otherwise add. Functions similarly to 'multi' at this point\n } else {\n selectedItemsSetUtilities.add(row)\n }\n // This is where range is different, due to the difference in shift\n } else if (shiftClicked) {\n const lastSelectedItem = [...selectedItemsToSet.value].pop()\n const lastSelectedIndex = computedItems.value.findIndex((i) => i === lastSelectedItem)\n const selectStartIndex = Math.min(lastSelectedIndex, index)\n const selectEndIndex = Math.max(lastSelectedIndex, index)\n const items = computedItems.value.slice(selectStartIndex, selectEndIndex + 1)\n selectedItemsSetUtilities.set(items)\n // If nothing is being held, then we just behave like it's single mode\n } else {\n selectedItemsSetUtilities.set([row])\n }\n }\n}\n\nconst onRowClick = (row: Items, index: number, e: MouseEvent) => {\n if (props.noSelectOnClick === false) {\n handleRowSelection(row, index, e.shiftKey, e.ctrlKey, e.metaKey)\n }\n emit('row-clicked', row, index, e)\n}\n\nconst handleFieldSorting = (field: TableField<Items>) => {\n if (!isSortable.value) return\n\n const fieldKey = typeof field === 'object' && field !== null ? field.key : field\n const fieldSortable = typeof field === 'object' && field !== null ? field.sortable : false\n\n if (!(isSortable.value === true && fieldSortable === true)) return\n\n const resolveOrder = (val: BTableSortByOrder): BTableSortByOrder | undefined => {\n if (val === 'asc') return 'desc'\n if (val === undefined) return 'asc'\n if (\n props.mustSort === true ||\n (Array.isArray(props.mustSort) && props.mustSort.includes(fieldKey as string))\n )\n return 'asc'\n return undefined\n }\n\n const index = sortByModel.value?.findIndex((el) => el.key === fieldKey) ?? -1\n const originalValue = sortByModel.value?.[index]\n const updatedValue: BTableSortBy =\n // If value is new, we default to ascending\n // Otherwise we make a temp copy of the value\n index === -1 || !originalValue ? {key: fieldKey as string, order: 'asc'} : {...originalValue}\n\n /**\n * @returns the updated value to emit for sorted\n */\n const handleMultiSort = (): BTableSortBy => {\n let val = updatedValue\n if (index === -1) {\n sortByModel.value = [...(sortByModel.value ?? []), updatedValue]\n } else {\n const order = resolveOrder(updatedValue.order)\n val = {...updatedValue, order}\n sortByModel.value = order\n ? sortByModel.value?.map((el) => (el.key === val.key ? val : el))\n : sortByModel.value?.filter((el) => el.key !== val.key)\n }\n return val\n }\n\n /**\n * @returns the updated value to emit for sorted\n */\n const handleSingleSort = (): BTableSortBy => {\n const val = {\n ...updatedValue,\n order: index === -1 ? updatedValue.order : resolveOrder(updatedValue.order),\n }\n sortByModel.value = [val]\n return val\n }\n\n // Then emit the returned updated value\n emit('sorted', props.multisort === true ? handleMultiSort() : handleSingleSort())\n}\n\nconst onFieldHeadClick = (\n fieldKey: string,\n field: TableField<Items>,\n event: Readonly<MouseEvent>,\n isFooter = false\n) => {\n emit('head-clicked', fieldKey, field, event, isFooter)\n handleFieldSorting(field)\n}\n\nconst callItemsProvider = async () => {\n if (!usesProvider.value || props.provider === undefined || busyModel.value) return\n busyModel.value = true\n const response = props.provider({\n currentPage: currentPageNumber.value,\n filter: props.filter,\n sortBy: sortByModel.value,\n perPage: perPageNumber.value,\n })\n try {\n const items = response instanceof Promise ? await response : response\n\n if (items === undefined) return\n internalItems.value = items\n } finally {\n // Potential race condition could occur if the user explicitly sets the busy value to a different value while the response promise is executing\n // which would have been the users choice.\n // eslint-disable-next-line require-atomic-updates\n busyModel.value = false\n }\n}\n\nconst providerPropsWatch = async (prop: string, val: unknown, oldVal: unknown) => {\n if (val === oldVal) return\n\n //stop provide when paging\n const inNoProvider = (key: NoProviderTypes) => props.noProvider?.includes(key) === true\n const noProvideWhenPaging =\n (prop === 'currentPage' || prop === 'perPage') &&\n (inNoProvider('paging') || props.noProviderPaging === true)\n const noProvideWhenFiltering =\n prop === 'filter' && (inNoProvider('filtering') || props.noProviderFiltering === true)\n const noProvideWhenSorting =\n (prop === 'sortBy' || prop === 'sortDesc') &&\n (inNoProvider('sorting') || props.noProviderSorting === true)\n\n if (noProvideWhenPaging || noProvideWhenFiltering || noProvideWhenSorting) return\n\n if (usesProvider.value === true) {\n await callItemsProvider()\n }\n\n if (!(prop === 'currentPage' || prop === 'perPage')) {\n emit('filtered', [...computedItems.value])\n }\n}\n\nwatch(\n () => props.filter,\n (filter, oldFilter) => {\n providerPropsWatch('filter', filter, oldFilter)\n\n if (filter === oldFilter || usesProvider.value) return\n if (!filter) {\n emit('filtered', [...computedItems.value])\n }\n }\n)\nwatch(currentPageNumber, (val, oldVal) => {\n providerPropsWatch('currentPage', val, oldVal)\n})\nwatch(perPageNumber, (val, oldVal) => {\n providerPropsWatch('perPage', val, oldVal)\n})\nwatch(\n sortByModel,\n (val, oldVal) => {\n providerPropsWatch('sortBy', val, oldVal)\n },\n {deep: true}\n)\n\nwatch(\n () => props.provider,\n (newValue) => {\n // Reset the internal values if the provider stops getting used\n if (newValue === undefined) {\n internalItems.value = []\n return\n }\n // Otherwise we should refresh the table on such a change\n callItemsProvider()\n }\n)\n\nonMounted(callItemsProvider)\n\nconst exposedSelectableUtilities = {\n clearSelected: () => {\n if (!props.selectable) return\n selectedItemsSetUtilities.clear()\n },\n selectAllRows: () => {\n if (!props.selectable) return\n selectedItemsToSet.value = new Set([...computedItems.value])\n },\n selectRow: (index: number) => {\n if (!props.selectable) return\n const item = computedItems.value[index]\n if (!item || selectedItemsSetUtilities.has(item)) return\n selectedItemsSetUtilities.add(item)\n },\n unselectRow: (index: number) => {\n if (!props.selectable) return\n const item = computedItems.value[index]\n if (!item || !selectedItemsSetUtilities.has(item)) return\n selectedItemsSetUtilities.delete(item)\n },\n isRowSelected: (index: number) => {\n if (!props.selectable) return false\n const item = computedItems.value[index]\n return selectedItemsSetUtilities.has(item)\n },\n} as const\n\ndefineExpose({\n // The row selection methods are really for compat. Users should probably use the v-model though\n ...exposedSelectableUtilities,\n refresh: callItemsProvider,\n})\n</script>\n"],"names":["formatItem","item","fieldKey","formatter","val","get","isTableItem","value","isTableField","_props","__props","props","useDefaults","computedClasses","computed","variant","stickyColumn","scope","colspan","rowspan","getTableFieldHeadLabel","field","titleCase","label","key","TABLE_TAG_NAMES","eventFilter","join","filterEvent","event","target","el","disabled","indexOf","tagName","closest","labelFor","getAttribute","input","document","getElementById","querySelector","matches","emit","__emit","detailsMap","ref","WeakMap","vue","watch","items","forEach","set","_showDetails","generateDetailsItem","deep","immediate","computedTableClasses","tableClass","align","computedFields","fields","length","firstItem","Array","isArray","Object","keys","map","k","startCase","tdAttr","stacked","_noHeader","f","computedFieldsTotal","showComputedHeaders","every","footerProps","footVariant","class","tfootClass","callThAttr","type","String","thAttr","headerClicked","isFooter","toggleRowDetails","tr","prevValue","getFieldColumnClasses","thClass","fieldColumnClass","getFieldRowClasses","tdClass","_a","_cellVariants","_b","callTbodyTrAttrs","tbodyTrAttrs","getRowClasses","tbodyTrClass","itemIndex","button","attr","slots","_useSlots","dynamicCellSlots","filter","startsWith","dynamicFootSlots","sortByModel","_useModel","busyModel","selectedItemsModel","useModel","selectedItemsToSet","Set","newValue","oldValue","from","has","selectedItemsSetUtilities","add","clear","delete","primaryKey","pkey","v","i","selectedKey","itemKey","selected","internalItems","perPageNumber","useToNumber","perPage","method","currentPageNumber","currentPage","isFilterableTable","usesProvider","provider","isSelecting","size","isSortable","some","sortable","find","sb","sortValue","order","tableClasses","selectable","getBusyRowClasses","selectionVariant","getFormatter","sortByFormatted","computedItems","mappedItems","includes","newItem","noProviderFiltering","entries","filterable","filterField","filterByFormatted","JSON","stringify","values","toString","realVal","toLowerCase","_c","noLocalSorting","noProviderSorting","sortByItems","sort","a","b","sortOption","ob","sortField","aValue","bValue","comparison","comparer","localeCompare","numeric","sortItems","emptySlotScope","emptyFilteredText","emptyText","computedDisplayItems","Number","isNaN","noProviderPaging","slice","POSITIVE_INFINITY","onRowClick","row","index","e","noSelectOnClick","shiftClicked","ctrlClicked","metaClicked","selectMode","lastSelectedItem","pop","lastSelectedIndex","findIndex","selectStartIndex","Math","min","selectEndIndex","max","handleRowSelection","shiftKey","ctrlKey","metaKey","onFieldHeadClick","fieldSortable","resolveOrder","mustSort","originalValue","updatedValue","multisort","handleMultiSort","handleSingleSort","handleFieldSorting","callItemsProvider","async","response","sortBy","Promise","providerPropsWatch","prop","oldVal","inNoProvider","noProvider","noProvideWhenPaging","noProvideWhenFiltering","noProvideWhenSorting","oldFilter","onMounted","exposedSelectableUtilities","clearSelected","selectAllRows","selectRow","unselectRow","isRowSelected","__expose","refresh"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i } from "./index-BjYm4lhC.mjs";
|
|
2
2
|
import { i as i2 } from "./index-CXpBEYSc.mjs";
|
|
3
3
|
import { i as i3 } from "./index-i-UFv70c.mjs";
|
|
4
|
-
import { i as i4 } from "./index-
|
|
4
|
+
import { i as i4 } from "./index-D4dAqwhl.mjs";
|
|
5
5
|
import { c as componentNames, a as componentsWithExternalPath, b as composableNames, d as composablesWithExternalPath, e as directiveNames, f as directivesWithExternalPath } from "./index-C7BbSBrG.mjs";
|
|
6
6
|
import { B, i as i5 } from "./index-C7BbSBrG.mjs";
|
|
7
7
|
import { i as i6 } from "./index-DwDHvBIQ.mjs";
|
|
@@ -40,7 +40,7 @@ import { _ as _18, a as a10 } from "./BFormFloatingLabel.vue_vue_type_script_set
|
|
|
40
40
|
import { _ as _19, a as a11, b as b4, c as c3 } from "./BFormValidFeedback.vue_vue_type_script_setup_true_lang-Ch3fU9dp.mjs";
|
|
41
41
|
import { _ as _20, a as a12 } from "./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BFw7wsON.mjs";
|
|
42
42
|
import { _ as _21 } from "./BFormFile.vue_vue_type_script_setup_true_lang-B7usYuIr.mjs";
|
|
43
|
-
import { _ as _22 } from "./BFormGroup.vue_vue_type_script_setup_true_lang-
|
|
43
|
+
import { _ as _22 } from "./BFormGroup.vue_vue_type_script_setup_true_lang-DMeTU5tW.mjs";
|
|
44
44
|
import { _ as _23, _ as _24 } from "./BFormInput.vue_vue_type_script_setup_true_lang-jvciEcJM.mjs";
|
|
45
45
|
import { _ as _25, a as a13 } from "./BFormRadioGroup.vue_vue_type_script_setup_true_lang-C8NbWP6Y.mjs";
|
|
46
46
|
import { _ as _26, a as a14 } from "./BFormSelect.vue_vue_type_script_setup_true_lang-kIC1ys8j.mjs";
|
|
@@ -63,7 +63,7 @@ import { _ as _42 } from "./floatingUi-B76xsVek.mjs";
|
|
|
63
63
|
import { _ as _43 } from "./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DT9DiFfu.mjs";
|
|
64
64
|
import { _ as _44, a as a21 } from "./BProgress.vue_vue_type_script_setup_true_lang-BjivaLyP.mjs";
|
|
65
65
|
import { _ as _45 } from "./BSpinner.vue_vue_type_script_setup_true_lang-DD4fhTVT.mjs";
|
|
66
|
-
import { _ as _46, a as a22, b as b8, c as c7, d as d5, e as e3, f as f3, g } from "./BTable.vue_vue_type_script_setup_true_lang-
|
|
66
|
+
import { _ as _46, a as a22, b as b8, c as c7, d as d5, e as e3, f as f3, g } from "./BTable.vue_vue_type_script_setup_true_lang-DPbNjtGg.mjs";
|
|
67
67
|
import { _ as _47 } from "./BTableSimple.vue_vue_type_script_setup_true_lang-BHwMXn1g.mjs";
|
|
68
68
|
import { _ as _48, a as a23 } from "./BTabs.vue_vue_type_script_setup_true_lang-CfXiy_8u.mjs";
|
|
69
69
|
import { _ as _49, a as a24 } from "./BToastOrchestrator.vue_vue_type_style_index_0_lang-DzwoIRAO.mjs";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CX3nFB_8.js"),r=require("./index-C2e5Y13S.js"),s=require("./index-CsWSMa0s.js"),t=require("./index-DsBqp3u3.js"),o=require("./index-BV5KwqFC.js"),_=require("./index-DLHBBLIu.js"),p=require("./src/composables/useBreadcrumb/index.umd.js"),u=require("./src/composables/useColorMode/index.umd.js"),i=require("./src/composables/useModal/index.umd.js"),a=require("./src/composables/useModalController/index.umd.js"),n=require("./src/composables/useScrollspy/index.umd.js"),c=require("./src/composables/useToastController/index.umd.js"),l=require("./src/composables/usePopoverController/index.umd.js"),m=require("./src/directives/BColorMode/index.umd.js"),x=require("./src/directives/BToggle/index.umd.js"),B=require("./src/directives/BPopover/index.umd.js"),v=require("./src/directives/BScrollspy/index.umd.js"),d=require("./src/directives/BTooltip/index.umd.js"),g=require("./classes-CXBJXuVd.js"),f=require("./BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js"),j=require("./BAlert-P_IB7iko.js"),q=require("./BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js"),b=require("./BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),y=require("./BBreadcrumb.vue_vue_type_script_setup_true_lang-Bfrh_eL-.js"),T=require("./BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js"),C=require("./BButtonToolbar.vue_vue_type_script_setup_true_lang-CZVb72nY.js"),P=require("./BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),$=require("./BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js"),F=require("./BCardText.vue_vue_type_script_setup_true_lang-CR-fpXDH.js"),h=require("./BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js"),N=require("./BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js"),S=require("./BCol.vue_vue_type_script_setup_true_lang-DkVrxQjg.js"),M=require("./BContainer.vue_vue_type_script_setup_true_lang-AmjLyc2M.js"),I=require("./BRow.vue_vue_type_script_setup_true_lang-BQDsZpLm.js"),E=require("./BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js"),G=require("./BDropdownText.vue_vue_type_script_setup_true_lang-BrYKvL0m.js"),O=require("./BForm.vue_vue_type_script_setup_true_lang-FDjWFgSg.js"),w=require("./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-DztUsGeZ.js"),D=require("./BFormValidFeedback.vue_vue_type_script_setup_true_lang-BXedB99M.js"),W=require("./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js"),A=require("./BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js"),R=require("./BFormGroup.vue_vue_type_script_setup_true_lang-BF4vTqnP.js"),k=require("./BFormInput.vue_vue_type_script_setup_true_lang-9OVTsznL.js"),L=require("./BFormRadioGroup.vue_vue_type_script_setup_true_lang-CIidoofY.js"),V=require("./BFormSelect.vue_vue_type_script_setup_true_lang-lsIyWDyo.js"),H=require("./useFormSelect-D5oSQGWg.js"),U=require("./BFormSpinbutton.vue_vue_type_script_setup_true_lang-_-HbboVN.js"),z=require("./BFormTags.vue_vue_type_script_setup_true_lang-DrB8VO9P.js"),J=require("./BFormTextarea.vue_vue_type_script_setup_true_lang-B5Sf8cOv.js"),K=require("./BImg.vue_vue_type_script_setup_true_lang-CUI0BSKd.js"),Q=require("./BInputGroupText.vue_vue_type_script_setup_true_lang-DOczomaj.js"),X=require("./BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),Y=require("./BListGroupItem.vue_vue_type_script_setup_true_lang-qWcMCejE.js"),Z=require("./BModalOrchestrator.vue_vue_type_script_setup_true_lang-BzRcyiEp.js"),ee=require("./BNavText.vue_vue_type_script_setup_true_lang-4wrL1sjB.js"),re=require("./BNavbarToggle.vue_vue_type_script_setup_true_lang-C6SG8Q_h.js"),se=require("./BOffcanvas.vue_vue_type_script_setup_true_lang-BpZ1A9Zx.js"),te=require("./BOverlay.vue_vue_type_script_setup_true_lang-DCLwhRri.js"),oe=require("./BPagination.vue_vue_type_script_setup_true_lang-DLW4Bi3B.js"),_e=require("./BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C50GIwEd.js"),pe=require("./floatingUi-D2izbGt_.js"),ue=require("./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CS3Vqld3.js"),ie=require("./BProgress.vue_vue_type_script_setup_true_lang-D97WgK6P.js"),ae=require("./BSpinner.vue_vue_type_script_setup_true_lang-CnrNxh78.js"),ne=require("./BTable.vue_vue_type_script_setup_true_lang-BgBZgKGz.js"),ce=require("./BTableSimple.vue_vue_type_script_setup_true_lang-ph_fYlOS.js"),le=require("./BTabs.vue_vue_type_script_setup_true_lang-Bo8oNWOy.js"),me=require("./BToastOrchestrator.vue_vue_type_style_index_0_lang-JeP55Rpn.js"),xe=require("./BTooltip.vue_vue_type_script_setup_true_lang-o2dcBqfI.js"),Be=require("./src/plugins/bootstrap/index.umd.js"),ve=require("./src/plugins/breadcrumb/index.umd.js"),de=require("./src/plugins/createBootstrap/index.umd.js"),ge=require("./src/plugins/modalController/index.umd.js"),fe=require("./src/plugins/modalManager/index.umd.js"),je=require("./src/plugins/popoverController/index.umd.js"),qe=require("./src/plugins/rtl/index.umd.js"),be=require("./src/plugins/toastController/index.umd.js"),ye=Object.freeze(Object.defineProperty({__proto__:null,componentNames:o.componentNames,componentsWithExternalPath:o.componentsWithExternalPath,composableNames:o.composableNames,composablesWithExternalPath:o.composablesWithExternalPath,directiveNames:o.directiveNames,directivesWithExternalPath:o.directivesWithExternalPath},Symbol.toStringTag,{value:"Module"}));exports.Composables=e.index,exports.Directives=r.index,exports.Utils=s.index,exports.Components=t.index,exports.BootstrapVueNextResolver=o.BootstrapVueNextResolver,exports.Resolvers=o.index,exports.componentNames=o.componentNames,exports.componentsWithExternalPath=o.componentsWithExternalPath,exports.composableNames=o.composableNames,exports.composablesWithExternalPath=o.composablesWithExternalPath,exports.directiveNames=o.directiveNames,exports.directivesWithExternalPath=o.directivesWithExternalPath,exports.Plugins=_.index,exports.useBreadcrumb=p.useBreadcrumb,exports.useColorMode=u.useColorMode,exports.useModal=i.useModal,exports.useModalController=a.useModalController,exports.useScrollspy=n.useScrollspy,exports.useToastController=c.useToastController,exports.usePopoverController=l.usePopoverController,exports.vBColorMode=m.vBColorMode,exports.vBModal=x.vBToggle,exports.vBToggle=x.vBToggle,exports.vBPopover=B.vBPopover,exports.vBScrollspy=v.vBScrollspy,exports.vBTooltip=d.vBTooltip,exports.BvCarouselEvent=g.BvCarouselEvent,exports.BvEvent=g.BvEvent,exports.BvTriggerableEvent=g.BvTriggerableEvent,exports.BAccordion=f._sfc_main,exports.BAccordionItem=f._sfc_main$1,exports.BAlert=j.BAlert,exports.BAvatar=q._sfc_main,exports.BAvatarGroup=q._sfc_main$1,exports.BBadge=b._sfc_main,exports.BBreadcrumb=y._sfc_main,exports.BBreadcrumbItem=y._sfc_main$1,exports.BButton=T._sfc_main,exports.BButtonGroup=C._sfc_main,exports.BButtonToolbar=C._sfc_main$1,exports.BCloseButton=P._sfc_main,exports.BCard=$._sfc_main,exports.BCardBody=$._sfc_main$1,exports.BCardFooter=$._sfc_main$2,exports.BCardHeader=$._sfc_main$3,exports.BCardImg=$._sfc_main$4,exports.BCardSubtitle=$._sfc_main$5,exports.BCardTitle=$._sfc_main$6,exports.BCardGroup=F._sfc_main,exports.BCardText=F._sfc_main$1,exports.BCarousel=h._sfc_main,exports.BCarouselSlide=h._sfc_main$1,exports.BCollapse=N._sfc_main,exports.BCol=S._sfc_main,exports.BContainer=M._sfc_main,exports.BRow=I._sfc_main,exports.BDropdown=E._sfc_main,exports.BDropdownDivider=G._sfc_main,exports.BDropdownForm=G._sfc_main$1,exports.BDropdownGroup=G._sfc_main$2,exports.BDropdownHeader=G._sfc_main$3,exports.BDropdownItem=G._sfc_main$4,exports.BDropdownItemButton=G._sfc_main$5,exports.BDropdownText=G._sfc_main$6,exports.BForm=O._sfc_main,exports.BFormDatalist=w._sfc_main,exports.BFormFloatingLabel=w._sfc_main$1,exports.BFormInvalidFeedback=D._sfc_main,exports.BFormRow=D._sfc_main$1,exports.BFormText=D._sfc_main$2,exports.BFormValidFeedback=D._sfc_main$3,exports.BFormCheckbox=W._sfc_main,exports.BFormCheckboxGroup=W._sfc_main$1,exports.BFormFile=A._sfc_main,exports.BFormGroup=R._sfc_main,exports.BFormInput=k._sfc_main,exports.BInput=k._sfc_main,exports.BFormRadio=L._sfc_main,exports.BFormRadioGroup=L._sfc_main$1,exports.BFormSelect=V._sfc_main,exports.BFormSelectOptionGroup=V._sfc_main$1,exports.BFormSelectOption=H._sfc_main,exports.BFormSpinbutton=U._sfc_main,exports.BFormTag=z._sfc_main$1,exports.BFormTags=z._sfc_main,exports.BFormTextarea=J._sfc_main,exports.BImg=K._sfc_main,exports.BInputGroup=Q._sfc_main,exports.BInputGroupText=Q._sfc_main$1,exports.BLink=X._sfc_main,exports.BListGroup=Y._sfc_main,exports.BListGroupItem=Y._sfc_main$1,exports.BModal=Z.BModal,exports.BModalOrchestrator=Z._sfc_main,exports.BNav=ee._sfc_main,exports.BNavForm=ee._sfc_main$1,exports.BNavItem=ee._sfc_main$2,exports.BNavItemDropdown=ee._sfc_main$3,exports.BNavText=ee._sfc_main$4,exports.BNavbar=re._sfc_main,exports.BNavbarBrand=re._sfc_main$1,exports.BNavbarNav=re._sfc_main$2,exports.BNavbarToggle=re._sfc_main$3,exports.BOffcanvas=se._sfc_main,exports.BOverlay=te._sfc_main,exports.BPagination=oe._sfc_main,exports.BPlaceholder=_e._sfc_main,exports.BPlaceholderButton=_e._sfc_main$1,exports.BPlaceholderCard=_e._sfc_main$2,exports.BPlaceholderTable=_e._sfc_main$3,exports.BPlaceholderWrapper=_e._sfc_main$4,exports.BPopover=pe._sfc_main,exports.BPopoverOrchestrator=ue._sfc_main,exports.BProgress=ie._sfc_main,exports.BProgressBar=ie._sfc_main$1,exports.BSpinner=ae._sfc_main,exports.BTable=ne._sfc_main,exports.BTableLite=ne._sfc_main$1,exports.BTbody=ne._sfc_main$2,exports.BTd=ne._sfc_main$3,exports.BTfoot=ne._sfc_main$4,exports.BTh=ne._sfc_main$5,exports.BThead=ne._sfc_main$6,exports.BTr=ne._sfc_main$7,exports.BTableSimple=ce._sfc_main,exports.BTab=le._sfc_main,exports.BTabs=le._sfc_main$1,exports.BToast=me._sfc_main,exports.BToastOrchestrator=me._sfc_main$1,exports.BTooltip=xe._sfc_main,exports.bootstrapPlugin=Be.bootstrapPlugin,exports.breadcrumbPlugin=ve.breadcrumbPlugin,exports.createBootstrap=de.createBootstrap,exports.modalControllerPlugin=ge.modalControllerPlugin,exports.modalManagerPlugin=fe.modalManagerPlugin,exports.popoverPlugin=je.popoverPlugin,exports.rtlPlugin=qe.rtlPlugin,exports.toastPlugin=be.toastPlugin,exports.Types=ye;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CX3nFB_8.js"),r=require("./index-C2e5Y13S.js"),s=require("./index-CsWSMa0s.js"),t=require("./index-Cu48mp5Z.js"),o=require("./index-BV5KwqFC.js"),_=require("./index-DLHBBLIu.js"),p=require("./src/composables/useBreadcrumb/index.umd.js"),u=require("./src/composables/useColorMode/index.umd.js"),i=require("./src/composables/useModal/index.umd.js"),a=require("./src/composables/useModalController/index.umd.js"),n=require("./src/composables/useScrollspy/index.umd.js"),c=require("./src/composables/useToastController/index.umd.js"),l=require("./src/composables/usePopoverController/index.umd.js"),m=require("./src/directives/BColorMode/index.umd.js"),x=require("./src/directives/BToggle/index.umd.js"),B=require("./src/directives/BPopover/index.umd.js"),v=require("./src/directives/BScrollspy/index.umd.js"),d=require("./src/directives/BTooltip/index.umd.js"),g=require("./classes-CXBJXuVd.js"),f=require("./BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js"),j=require("./BAlert-P_IB7iko.js"),q=require("./BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js"),b=require("./BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),y=require("./BBreadcrumb.vue_vue_type_script_setup_true_lang-Bfrh_eL-.js"),T=require("./BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js"),C=require("./BButtonToolbar.vue_vue_type_script_setup_true_lang-CZVb72nY.js"),P=require("./BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),$=require("./BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js"),F=require("./BCardText.vue_vue_type_script_setup_true_lang-CR-fpXDH.js"),h=require("./BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js"),N=require("./BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js"),S=require("./BCol.vue_vue_type_script_setup_true_lang-DkVrxQjg.js"),M=require("./BContainer.vue_vue_type_script_setup_true_lang-AmjLyc2M.js"),I=require("./BRow.vue_vue_type_script_setup_true_lang-BQDsZpLm.js"),E=require("./BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js"),G=require("./BDropdownText.vue_vue_type_script_setup_true_lang-BrYKvL0m.js"),O=require("./BForm.vue_vue_type_script_setup_true_lang-FDjWFgSg.js"),w=require("./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-DztUsGeZ.js"),D=require("./BFormValidFeedback.vue_vue_type_script_setup_true_lang-BXedB99M.js"),W=require("./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js"),A=require("./BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js"),R=require("./BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js"),k=require("./BFormInput.vue_vue_type_script_setup_true_lang-9OVTsznL.js"),L=require("./BFormRadioGroup.vue_vue_type_script_setup_true_lang-CIidoofY.js"),V=require("./BFormSelect.vue_vue_type_script_setup_true_lang-lsIyWDyo.js"),H=require("./useFormSelect-D5oSQGWg.js"),U=require("./BFormSpinbutton.vue_vue_type_script_setup_true_lang-_-HbboVN.js"),z=require("./BFormTags.vue_vue_type_script_setup_true_lang-DrB8VO9P.js"),J=require("./BFormTextarea.vue_vue_type_script_setup_true_lang-B5Sf8cOv.js"),K=require("./BImg.vue_vue_type_script_setup_true_lang-CUI0BSKd.js"),Q=require("./BInputGroupText.vue_vue_type_script_setup_true_lang-DOczomaj.js"),X=require("./BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),Y=require("./BListGroupItem.vue_vue_type_script_setup_true_lang-qWcMCejE.js"),Z=require("./BModalOrchestrator.vue_vue_type_script_setup_true_lang-BzRcyiEp.js"),ee=require("./BNavText.vue_vue_type_script_setup_true_lang-4wrL1sjB.js"),re=require("./BNavbarToggle.vue_vue_type_script_setup_true_lang-C6SG8Q_h.js"),se=require("./BOffcanvas.vue_vue_type_script_setup_true_lang-BpZ1A9Zx.js"),te=require("./BOverlay.vue_vue_type_script_setup_true_lang-DCLwhRri.js"),oe=require("./BPagination.vue_vue_type_script_setup_true_lang-DLW4Bi3B.js"),_e=require("./BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C50GIwEd.js"),pe=require("./floatingUi-D2izbGt_.js"),ue=require("./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CS3Vqld3.js"),ie=require("./BProgress.vue_vue_type_script_setup_true_lang-D97WgK6P.js"),ae=require("./BSpinner.vue_vue_type_script_setup_true_lang-CnrNxh78.js"),ne=require("./BTable.vue_vue_type_script_setup_true_lang-Z3Xw0zF8.js"),ce=require("./BTableSimple.vue_vue_type_script_setup_true_lang-ph_fYlOS.js"),le=require("./BTabs.vue_vue_type_script_setup_true_lang-Bo8oNWOy.js"),me=require("./BToastOrchestrator.vue_vue_type_style_index_0_lang-JeP55Rpn.js"),xe=require("./BTooltip.vue_vue_type_script_setup_true_lang-o2dcBqfI.js"),Be=require("./src/plugins/bootstrap/index.umd.js"),ve=require("./src/plugins/breadcrumb/index.umd.js"),de=require("./src/plugins/createBootstrap/index.umd.js"),ge=require("./src/plugins/modalController/index.umd.js"),fe=require("./src/plugins/modalManager/index.umd.js"),je=require("./src/plugins/popoverController/index.umd.js"),qe=require("./src/plugins/rtl/index.umd.js"),be=require("./src/plugins/toastController/index.umd.js"),ye=Object.freeze(Object.defineProperty({__proto__:null,componentNames:o.componentNames,componentsWithExternalPath:o.componentsWithExternalPath,composableNames:o.composableNames,composablesWithExternalPath:o.composablesWithExternalPath,directiveNames:o.directiveNames,directivesWithExternalPath:o.directivesWithExternalPath},Symbol.toStringTag,{value:"Module"}));exports.Composables=e.index,exports.Directives=r.index,exports.Utils=s.index,exports.Components=t.index,exports.BootstrapVueNextResolver=o.BootstrapVueNextResolver,exports.Resolvers=o.index,exports.componentNames=o.componentNames,exports.componentsWithExternalPath=o.componentsWithExternalPath,exports.composableNames=o.composableNames,exports.composablesWithExternalPath=o.composablesWithExternalPath,exports.directiveNames=o.directiveNames,exports.directivesWithExternalPath=o.directivesWithExternalPath,exports.Plugins=_.index,exports.useBreadcrumb=p.useBreadcrumb,exports.useColorMode=u.useColorMode,exports.useModal=i.useModal,exports.useModalController=a.useModalController,exports.useScrollspy=n.useScrollspy,exports.useToastController=c.useToastController,exports.usePopoverController=l.usePopoverController,exports.vBColorMode=m.vBColorMode,exports.vBModal=x.vBToggle,exports.vBToggle=x.vBToggle,exports.vBPopover=B.vBPopover,exports.vBScrollspy=v.vBScrollspy,exports.vBTooltip=d.vBTooltip,exports.BvCarouselEvent=g.BvCarouselEvent,exports.BvEvent=g.BvEvent,exports.BvTriggerableEvent=g.BvTriggerableEvent,exports.BAccordion=f._sfc_main,exports.BAccordionItem=f._sfc_main$1,exports.BAlert=j.BAlert,exports.BAvatar=q._sfc_main,exports.BAvatarGroup=q._sfc_main$1,exports.BBadge=b._sfc_main,exports.BBreadcrumb=y._sfc_main,exports.BBreadcrumbItem=y._sfc_main$1,exports.BButton=T._sfc_main,exports.BButtonGroup=C._sfc_main,exports.BButtonToolbar=C._sfc_main$1,exports.BCloseButton=P._sfc_main,exports.BCard=$._sfc_main,exports.BCardBody=$._sfc_main$1,exports.BCardFooter=$._sfc_main$2,exports.BCardHeader=$._sfc_main$3,exports.BCardImg=$._sfc_main$4,exports.BCardSubtitle=$._sfc_main$5,exports.BCardTitle=$._sfc_main$6,exports.BCardGroup=F._sfc_main,exports.BCardText=F._sfc_main$1,exports.BCarousel=h._sfc_main,exports.BCarouselSlide=h._sfc_main$1,exports.BCollapse=N._sfc_main,exports.BCol=S._sfc_main,exports.BContainer=M._sfc_main,exports.BRow=I._sfc_main,exports.BDropdown=E._sfc_main,exports.BDropdownDivider=G._sfc_main,exports.BDropdownForm=G._sfc_main$1,exports.BDropdownGroup=G._sfc_main$2,exports.BDropdownHeader=G._sfc_main$3,exports.BDropdownItem=G._sfc_main$4,exports.BDropdownItemButton=G._sfc_main$5,exports.BDropdownText=G._sfc_main$6,exports.BForm=O._sfc_main,exports.BFormDatalist=w._sfc_main,exports.BFormFloatingLabel=w._sfc_main$1,exports.BFormInvalidFeedback=D._sfc_main,exports.BFormRow=D._sfc_main$1,exports.BFormText=D._sfc_main$2,exports.BFormValidFeedback=D._sfc_main$3,exports.BFormCheckbox=W._sfc_main,exports.BFormCheckboxGroup=W._sfc_main$1,exports.BFormFile=A._sfc_main,exports.BFormGroup=R._sfc_main,exports.BFormInput=k._sfc_main,exports.BInput=k._sfc_main,exports.BFormRadio=L._sfc_main,exports.BFormRadioGroup=L._sfc_main$1,exports.BFormSelect=V._sfc_main,exports.BFormSelectOptionGroup=V._sfc_main$1,exports.BFormSelectOption=H._sfc_main,exports.BFormSpinbutton=U._sfc_main,exports.BFormTag=z._sfc_main$1,exports.BFormTags=z._sfc_main,exports.BFormTextarea=J._sfc_main,exports.BImg=K._sfc_main,exports.BInputGroup=Q._sfc_main,exports.BInputGroupText=Q._sfc_main$1,exports.BLink=X._sfc_main,exports.BListGroup=Y._sfc_main,exports.BListGroupItem=Y._sfc_main$1,exports.BModal=Z.BModal,exports.BModalOrchestrator=Z._sfc_main,exports.BNav=ee._sfc_main,exports.BNavForm=ee._sfc_main$1,exports.BNavItem=ee._sfc_main$2,exports.BNavItemDropdown=ee._sfc_main$3,exports.BNavText=ee._sfc_main$4,exports.BNavbar=re._sfc_main,exports.BNavbarBrand=re._sfc_main$1,exports.BNavbarNav=re._sfc_main$2,exports.BNavbarToggle=re._sfc_main$3,exports.BOffcanvas=se._sfc_main,exports.BOverlay=te._sfc_main,exports.BPagination=oe._sfc_main,exports.BPlaceholder=_e._sfc_main,exports.BPlaceholderButton=_e._sfc_main$1,exports.BPlaceholderCard=_e._sfc_main$2,exports.BPlaceholderTable=_e._sfc_main$3,exports.BPlaceholderWrapper=_e._sfc_main$4,exports.BPopover=pe._sfc_main,exports.BPopoverOrchestrator=ue._sfc_main,exports.BProgress=ie._sfc_main,exports.BProgressBar=ie._sfc_main$1,exports.BSpinner=ae._sfc_main,exports.BTable=ne._sfc_main,exports.BTableLite=ne._sfc_main$1,exports.BTbody=ne._sfc_main$2,exports.BTd=ne._sfc_main$3,exports.BTfoot=ne._sfc_main$4,exports.BTh=ne._sfc_main$5,exports.BThead=ne._sfc_main$6,exports.BTr=ne._sfc_main$7,exports.BTableSimple=ce._sfc_main,exports.BTab=le._sfc_main,exports.BTabs=le._sfc_main$1,exports.BToast=me._sfc_main,exports.BToastOrchestrator=me._sfc_main$1,exports.BTooltip=xe._sfc_main,exports.bootstrapPlugin=Be.bootstrapPlugin,exports.breadcrumbPlugin=ve.breadcrumbPlugin,exports.createBootstrap=de.createBootstrap,exports.modalControllerPlugin=ge.modalControllerPlugin,exports.modalManagerPlugin=fe.modalManagerPlugin,exports.popoverPlugin=je.popoverPlugin,exports.rtlPlugin=qe.rtlPlugin,exports.toastPlugin=be.toastPlugin,exports.Types=ye;
|
|
2
2
|
//# sourceMappingURL=bootstrap-vue-next.umd.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const _=require("./BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js"),e=require("./BAlert-P_IB7iko.js"),r=require("./BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js"),t=require("./BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),u=require("./BBreadcrumb.vue_vue_type_script_setup_true_lang-Bfrh_eL-.js"),s=require("./BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js"),a=require("./BButtonToolbar.vue_vue_type_script_setup_true_lang-CZVb72nY.js"),i=require("./BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),n=require("./BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js"),p=require("./BCardText.vue_vue_type_script_setup_true_lang-CR-fpXDH.js"),c=require("./BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js"),o=require("./BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js"),B=require("./BCol.vue_vue_type_script_setup_true_lang-DkVrxQjg.js"),m=require("./BContainer.vue_vue_type_script_setup_true_lang-AmjLyc2M.js"),l=require("./BRow.vue_vue_type_script_setup_true_lang-BQDsZpLm.js"),v=require("./BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js"),f=require("./BDropdownText.vue_vue_type_script_setup_true_lang-BrYKvL0m.js"),g=require("./BForm.vue_vue_type_script_setup_true_lang-FDjWFgSg.js"),d=require("./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-DztUsGeZ.js"),y=require("./BFormValidFeedback.vue_vue_type_script_setup_true_lang-BXedB99M.js"),j=require("./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js"),q=require("./BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js"),$=require("./BFormGroup.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
"use strict";const _=require("./BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js"),e=require("./BAlert-P_IB7iko.js"),r=require("./BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js"),t=require("./BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),u=require("./BBreadcrumb.vue_vue_type_script_setup_true_lang-Bfrh_eL-.js"),s=require("./BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js"),a=require("./BButtonToolbar.vue_vue_type_script_setup_true_lang-CZVb72nY.js"),i=require("./BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),n=require("./BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js"),p=require("./BCardText.vue_vue_type_script_setup_true_lang-CR-fpXDH.js"),c=require("./BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js"),o=require("./BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js"),B=require("./BCol.vue_vue_type_script_setup_true_lang-DkVrxQjg.js"),m=require("./BContainer.vue_vue_type_script_setup_true_lang-AmjLyc2M.js"),l=require("./BRow.vue_vue_type_script_setup_true_lang-BQDsZpLm.js"),v=require("./BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js"),f=require("./BDropdownText.vue_vue_type_script_setup_true_lang-BrYKvL0m.js"),g=require("./BForm.vue_vue_type_script_setup_true_lang-FDjWFgSg.js"),d=require("./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-DztUsGeZ.js"),y=require("./BFormValidFeedback.vue_vue_type_script_setup_true_lang-BXedB99M.js"),j=require("./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js"),q=require("./BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js"),$=require("./BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js"),F=require("./BFormInput.vue_vue_type_script_setup_true_lang-9OVTsznL.js"),T=require("./BFormRadioGroup.vue_vue_type_script_setup_true_lang-CIidoofY.js"),b=require("./BFormSelect.vue_vue_type_script_setup_true_lang-lsIyWDyo.js"),C=require("./useFormSelect-D5oSQGWg.js"),I=require("./BFormSpinbutton.vue_vue_type_script_setup_true_lang-_-HbboVN.js"),G=require("./BFormTags.vue_vue_type_script_setup_true_lang-DrB8VO9P.js"),h=require("./BFormTextarea.vue_vue_type_script_setup_true_lang-B5Sf8cOv.js"),x=require("./BImg.vue_vue_type_script_setup_true_lang-CUI0BSKd.js"),S=require("./BInputGroupText.vue_vue_type_script_setup_true_lang-DOczomaj.js"),w=require("./BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),O=require("./BListGroupItem.vue_vue_type_script_setup_true_lang-qWcMCejE.js"),P=require("./BModalOrchestrator.vue_vue_type_script_setup_true_lang-BzRcyiEp.js"),D=require("./BNavText.vue_vue_type_script_setup_true_lang-4wrL1sjB.js"),N=require("./BNavbarToggle.vue_vue_type_script_setup_true_lang-C6SG8Q_h.js"),A=require("./BOffcanvas.vue_vue_type_script_setup_true_lang-BpZ1A9Zx.js"),k=require("./BOverlay.vue_vue_type_script_setup_true_lang-DCLwhRri.js"),L=require("./BPagination.vue_vue_type_script_setup_true_lang-DLW4Bi3B.js"),M=require("./BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C50GIwEd.js"),R=require("./floatingUi-D2izbGt_.js"),H=require("./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CS3Vqld3.js"),z=require("./BProgress.vue_vue_type_script_setup_true_lang-D97WgK6P.js"),V=require("./BSpinner.vue_vue_type_script_setup_true_lang-CnrNxh78.js"),W=require("./BTable.vue_vue_type_script_setup_true_lang-Z3Xw0zF8.js"),E=require("./BTableSimple.vue_vue_type_script_setup_true_lang-ph_fYlOS.js"),J=require("./BTabs.vue_vue_type_script_setup_true_lang-Bo8oNWOy.js"),K=require("./BToastOrchestrator.vue_vue_type_style_index_0_lang-JeP55Rpn.js"),U=require("./BTooltip.vue_vue_type_script_setup_true_lang-o2dcBqfI.js"),Q=Object.freeze(Object.defineProperty({__proto__:null,BAccordion:_._sfc_main,BAccordionItem:_._sfc_main$1,BAlert:e.BAlert,BAvatar:r._sfc_main,BAvatarGroup:r._sfc_main$1,BBadge:t._sfc_main,BBreadcrumb:u._sfc_main,BBreadcrumbItem:u._sfc_main$1,BButton:s._sfc_main,BButtonGroup:a._sfc_main,BButtonToolbar:a._sfc_main$1,BCard:n._sfc_main,BCardBody:n._sfc_main$1,BCardFooter:n._sfc_main$2,BCardGroup:p._sfc_main,BCardHeader:n._sfc_main$3,BCardImg:n._sfc_main$4,BCardSubtitle:n._sfc_main$5,BCardText:p._sfc_main$1,BCardTitle:n._sfc_main$6,BCarousel:c._sfc_main,BCarouselSlide:c._sfc_main$1,BCloseButton:i._sfc_main,BCol:B._sfc_main,BCollapse:o._sfc_main,BContainer:m._sfc_main,BDropdown:v._sfc_main,BDropdownDivider:f._sfc_main,BDropdownForm:f._sfc_main$1,BDropdownGroup:f._sfc_main$2,BDropdownHeader:f._sfc_main$3,BDropdownItem:f._sfc_main$4,BDropdownItemButton:f._sfc_main$5,BDropdownText:f._sfc_main$6,BForm:g._sfc_main,BFormCheckbox:j._sfc_main,BFormCheckboxGroup:j._sfc_main$1,BFormDatalist:d._sfc_main,BFormFile:q._sfc_main,BFormFloatingLabel:d._sfc_main$1,BFormGroup:$._sfc_main,BFormInput:F._sfc_main,BFormInvalidFeedback:y._sfc_main,BFormRadio:T._sfc_main,BFormRadioGroup:T._sfc_main$1,BFormRow:y._sfc_main$1,BFormSelect:b._sfc_main,BFormSelectOption:C._sfc_main,BFormSelectOptionGroup:b._sfc_main$1,BFormSpinbutton:I._sfc_main,BFormTag:G._sfc_main$1,BFormTags:G._sfc_main,BFormText:y._sfc_main$2,BFormTextarea:h._sfc_main,BFormValidFeedback:y._sfc_main$3,BImg:x._sfc_main,BInput:F._sfc_main,BInputGroup:S._sfc_main,BInputGroupText:S._sfc_main$1,BLink:w._sfc_main,BListGroup:O._sfc_main,BListGroupItem:O._sfc_main$1,BModal:P.BModal,BModalOrchestrator:P._sfc_main,BNav:D._sfc_main,BNavForm:D._sfc_main$1,BNavItem:D._sfc_main$2,BNavItemDropdown:D._sfc_main$3,BNavText:D._sfc_main$4,BNavbar:N._sfc_main,BNavbarBrand:N._sfc_main$1,BNavbarNav:N._sfc_main$2,BNavbarToggle:N._sfc_main$3,BOffcanvas:A._sfc_main,BOverlay:k._sfc_main,BPagination:L._sfc_main,BPlaceholder:M._sfc_main,BPlaceholderButton:M._sfc_main$1,BPlaceholderCard:M._sfc_main$2,BPlaceholderTable:M._sfc_main$3,BPlaceholderWrapper:M._sfc_main$4,BPopover:R._sfc_main,BPopoverOrchestrator:H._sfc_main,BProgress:z._sfc_main,BProgressBar:z._sfc_main$1,BRow:l._sfc_main,BSpinner:V._sfc_main,BTab:J._sfc_main,BTable:W._sfc_main,BTableLite:W._sfc_main$1,BTableSimple:E._sfc_main,BTabs:J._sfc_main$1,BTbody:W._sfc_main$2,BTd:W._sfc_main$3,BTfoot:W._sfc_main$4,BTh:W._sfc_main$5,BThead:W._sfc_main$6,BToast:K._sfc_main,BToastOrchestrator:K._sfc_main$1,BTooltip:U._sfc_main,BTr:W._sfc_main$7},Symbol.toStringTag,{value:"Module"}));exports.index=Q;
|
|
2
|
+
//# sourceMappingURL=index-Cu48mp5Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Cu48mp5Z.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -20,7 +20,7 @@ import { _ as _sfc_main$A, a as _sfc_main$C } from "./BFormFloatingLabel.vue_vue
|
|
|
20
20
|
import { _ as _sfc_main$F, a as _sfc_main$I, b as _sfc_main$P, c as _sfc_main$R } from "./BFormValidFeedback.vue_vue_type_script_setup_true_lang-Ch3fU9dp.mjs";
|
|
21
21
|
import { _ as _sfc_main$y, a as _sfc_main$z } from "./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BFw7wsON.mjs";
|
|
22
22
|
import { _ as _sfc_main$B } from "./BFormFile.vue_vue_type_script_setup_true_lang-B7usYuIr.mjs";
|
|
23
|
-
import { _ as _sfc_main$D } from "./BFormGroup.vue_vue_type_script_setup_true_lang-
|
|
23
|
+
import { _ as _sfc_main$D } from "./BFormGroup.vue_vue_type_script_setup_true_lang-DMeTU5tW.mjs";
|
|
24
24
|
import { _ as _sfc_main$E } from "./BFormInput.vue_vue_type_script_setup_true_lang-jvciEcJM.mjs";
|
|
25
25
|
import { _ as _sfc_main$G, a as _sfc_main$H } from "./BFormRadioGroup.vue_vue_type_script_setup_true_lang-C8NbWP6Y.mjs";
|
|
26
26
|
import { _ as _sfc_main$J, a as _sfc_main$L } from "./BFormSelect.vue_vue_type_script_setup_true_lang-kIC1ys8j.mjs";
|
|
@@ -43,7 +43,7 @@ import { _ as _sfc_main$1e } from "./floatingUi-B76xsVek.mjs";
|
|
|
43
43
|
import { _ as _sfc_main$1f } from "./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DT9DiFfu.mjs";
|
|
44
44
|
import { _ as _sfc_main$1g, a as _sfc_main$1h } from "./BProgress.vue_vue_type_script_setup_true_lang-BjivaLyP.mjs";
|
|
45
45
|
import { _ as _sfc_main$1j } from "./BSpinner.vue_vue_type_script_setup_true_lang-DD4fhTVT.mjs";
|
|
46
|
-
import { _ as _sfc_main$1l, a as _sfc_main$1m, b as _sfc_main$1p, c as _sfc_main$1q, d as _sfc_main$1r, e as _sfc_main$1s, f as _sfc_main$1t, g as _sfc_main$1x } from "./BTable.vue_vue_type_script_setup_true_lang-
|
|
46
|
+
import { _ as _sfc_main$1l, a as _sfc_main$1m, b as _sfc_main$1p, c as _sfc_main$1q, d as _sfc_main$1r, e as _sfc_main$1s, f as _sfc_main$1t, g as _sfc_main$1x } from "./BTable.vue_vue_type_script_setup_true_lang-DPbNjtGg.mjs";
|
|
47
47
|
import { _ as _sfc_main$1n } from "./BTableSimple.vue_vue_type_script_setup_true_lang-BHwMXn1g.mjs";
|
|
48
48
|
import { _ as _sfc_main$1k, a as _sfc_main$1o } from "./BTabs.vue_vue_type_script_setup_true_lang-CfXiy_8u.mjs";
|
|
49
49
|
import { _ as _sfc_main$1u, a as _sfc_main$1v } from "./BToastOrchestrator.vue_vue_type_style_index_0_lang-DzwoIRAO.mjs";
|
|
@@ -155,4 +155,4 @@ const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePropert
|
|
|
155
155
|
export {
|
|
156
156
|
index as i
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=index-
|
|
158
|
+
//# sourceMappingURL=index-D4dAqwhl.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-D4dAqwhl.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../BFormGroup.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js");exports.BFormGroup=e._sfc_main;
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _, a, b, c, d, e, f, g } from "../../../BTable.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _, a, b, c, d, e, f, g } from "../../../BTable.vue_vue_type_script_setup_true_lang-DPbNjtGg.mjs";
|
|
2
2
|
import { _ as _2 } from "../../../BTableSimple.vue_vue_type_script_setup_true_lang-BHwMXn1g.mjs";
|
|
3
3
|
export {
|
|
4
4
|
_ as BTable,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../BTable.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../BTable.vue_vue_type_script_setup_true_lang-Z3Xw0zF8.js"),_=require("../../../BTableSimple.vue_vue_type_script_setup_true_lang-ph_fYlOS.js");exports.BTable=e._sfc_main,exports.BTableLite=e._sfc_main$1,exports.BTbody=e._sfc_main$2,exports.BTd=e._sfc_main$3,exports.BTfoot=e._sfc_main$4,exports.BTh=e._sfc_main$5,exports.BThead=e._sfc_main$6,exports.BTr=e._sfc_main$7,exports.BTableSimple=_._sfc_main;
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
|
@@ -20,7 +20,7 @@ import { _ as _18, a as a9 } from "../../BFormFloatingLabel.vue_vue_type_script_
|
|
|
20
20
|
import { _ as _19, a as a10, b as b3, c as c3 } from "../../BFormValidFeedback.vue_vue_type_script_setup_true_lang-Ch3fU9dp.mjs";
|
|
21
21
|
import { _ as _20, a as a11 } from "../../BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BFw7wsON.mjs";
|
|
22
22
|
import { _ as _21 } from "../../BFormFile.vue_vue_type_script_setup_true_lang-B7usYuIr.mjs";
|
|
23
|
-
import { _ as _22 } from "../../BFormGroup.vue_vue_type_script_setup_true_lang-
|
|
23
|
+
import { _ as _22 } from "../../BFormGroup.vue_vue_type_script_setup_true_lang-DMeTU5tW.mjs";
|
|
24
24
|
import { _ as _23, _ as _24 } from "../../BFormInput.vue_vue_type_script_setup_true_lang-jvciEcJM.mjs";
|
|
25
25
|
import { _ as _25, a as a12 } from "../../BFormRadioGroup.vue_vue_type_script_setup_true_lang-C8NbWP6Y.mjs";
|
|
26
26
|
import { _ as _26, a as a13 } from "../../BFormSelect.vue_vue_type_script_setup_true_lang-kIC1ys8j.mjs";
|
|
@@ -43,7 +43,7 @@ import { _ as _42 } from "../../floatingUi-B76xsVek.mjs";
|
|
|
43
43
|
import { _ as _43 } from "../../BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DT9DiFfu.mjs";
|
|
44
44
|
import { _ as _44, a as a20 } from "../../BProgress.vue_vue_type_script_setup_true_lang-BjivaLyP.mjs";
|
|
45
45
|
import { _ as _45 } from "../../BSpinner.vue_vue_type_script_setup_true_lang-DD4fhTVT.mjs";
|
|
46
|
-
import { _ as _46, a as a21, b as b7, c as c7, d as d5, e as e3, f as f3, g } from "../../BTable.vue_vue_type_script_setup_true_lang-
|
|
46
|
+
import { _ as _46, a as a21, b as b7, c as c7, d as d5, e as e3, f as f3, g } from "../../BTable.vue_vue_type_script_setup_true_lang-DPbNjtGg.mjs";
|
|
47
47
|
import { _ as _47 } from "../../BTableSimple.vue_vue_type_script_setup_true_lang-BHwMXn1g.mjs";
|
|
48
48
|
import { _ as _48, a as a22 } from "../../BTabs.vue_vue_type_script_setup_true_lang-CfXiy_8u.mjs";
|
|
49
49
|
import { _ as _49, a as a23 } from "../../BToastOrchestrator.vue_vue_type_style_index_0_lang-DzwoIRAO.mjs";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js"),_=require("../../BAlert-P_IB7iko.js"),r=require("../../BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js"),t=require("../../BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),s=require("../../BBreadcrumb.vue_vue_type_script_setup_true_lang-Bfrh_eL-.js"),p=require("../../BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js"),u=require("../../BButtonToolbar.vue_vue_type_script_setup_true_lang-CZVb72nY.js"),o=require("../../BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),a=require("../../BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js"),i=require("../../BCardText.vue_vue_type_script_setup_true_lang-CR-fpXDH.js"),n=require("../../BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js"),c=require("../../BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js"),B=require("../../BCol.vue_vue_type_script_setup_true_lang-DkVrxQjg.js"),m=require("../../BContainer.vue_vue_type_script_setup_true_lang-AmjLyc2M.js"),v=require("../../BRow.vue_vue_type_script_setup_true_lang-BQDsZpLm.js"),l=require("../../BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js"),x=require("../../BDropdownText.vue_vue_type_script_setup_true_lang-BrYKvL0m.js"),f=require("../../BForm.vue_vue_type_script_setup_true_lang-FDjWFgSg.js"),g=require("../../BFormFloatingLabel.vue_vue_type_script_setup_true_lang-DztUsGeZ.js"),d=require("../../BFormValidFeedback.vue_vue_type_script_setup_true_lang-BXedB99M.js"),y=require("../../BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js"),j=require("../../BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js"),q=require("../../BFormGroup.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js"),_=require("../../BAlert-P_IB7iko.js"),r=require("../../BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js"),t=require("../../BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),s=require("../../BBreadcrumb.vue_vue_type_script_setup_true_lang-Bfrh_eL-.js"),p=require("../../BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js"),u=require("../../BButtonToolbar.vue_vue_type_script_setup_true_lang-CZVb72nY.js"),o=require("../../BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),a=require("../../BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js"),i=require("../../BCardText.vue_vue_type_script_setup_true_lang-CR-fpXDH.js"),n=require("../../BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js"),c=require("../../BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js"),B=require("../../BCol.vue_vue_type_script_setup_true_lang-DkVrxQjg.js"),m=require("../../BContainer.vue_vue_type_script_setup_true_lang-AmjLyc2M.js"),v=require("../../BRow.vue_vue_type_script_setup_true_lang-BQDsZpLm.js"),l=require("../../BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js"),x=require("../../BDropdownText.vue_vue_type_script_setup_true_lang-BrYKvL0m.js"),f=require("../../BForm.vue_vue_type_script_setup_true_lang-FDjWFgSg.js"),g=require("../../BFormFloatingLabel.vue_vue_type_script_setup_true_lang-DztUsGeZ.js"),d=require("../../BFormValidFeedback.vue_vue_type_script_setup_true_lang-BXedB99M.js"),y=require("../../BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js"),j=require("../../BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js"),q=require("../../BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js"),$=require("../../BFormInput.vue_vue_type_script_setup_true_lang-9OVTsznL.js"),F=require("../../BFormRadioGroup.vue_vue_type_script_setup_true_lang-CIidoofY.js"),T=require("../../BFormSelect.vue_vue_type_script_setup_true_lang-lsIyWDyo.js"),b=require("../../useFormSelect-D5oSQGWg.js"),C=require("../../BFormSpinbutton.vue_vue_type_script_setup_true_lang-_-HbboVN.js"),I=require("../../BFormTags.vue_vue_type_script_setup_true_lang-DrB8VO9P.js"),G=require("../../BFormTextarea.vue_vue_type_script_setup_true_lang-B5Sf8cOv.js"),h=require("../../BImg.vue_vue_type_script_setup_true_lang-CUI0BSKd.js"),S=require("../../BInputGroupText.vue_vue_type_script_setup_true_lang-DOczomaj.js"),w=require("../../BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),P=require("../../BListGroupItem.vue_vue_type_script_setup_true_lang-qWcMCejE.js"),D=require("../../BModalOrchestrator.vue_vue_type_script_setup_true_lang-BzRcyiEp.js"),O=require("../../BNavText.vue_vue_type_script_setup_true_lang-4wrL1sjB.js"),N=require("../../BNavbarToggle.vue_vue_type_script_setup_true_lang-C6SG8Q_h.js"),A=require("../../BOffcanvas.vue_vue_type_script_setup_true_lang-BpZ1A9Zx.js"),k=require("../../BOverlay.vue_vue_type_script_setup_true_lang-DCLwhRri.js"),L=require("../../BPagination.vue_vue_type_script_setup_true_lang-DLW4Bi3B.js"),M=require("../../BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C50GIwEd.js"),R=require("../../floatingUi-D2izbGt_.js"),H=require("../../BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CS3Vqld3.js"),V=require("../../BProgress.vue_vue_type_script_setup_true_lang-D97WgK6P.js"),W=require("../../BSpinner.vue_vue_type_script_setup_true_lang-CnrNxh78.js"),z=require("../../BTable.vue_vue_type_script_setup_true_lang-Z3Xw0zF8.js"),E=require("../../BTableSimple.vue_vue_type_script_setup_true_lang-ph_fYlOS.js"),J=require("../../BTabs.vue_vue_type_script_setup_true_lang-Bo8oNWOy.js"),K=require("../../BToastOrchestrator.vue_vue_type_style_index_0_lang-JeP55Rpn.js"),U=require("../../BTooltip.vue_vue_type_script_setup_true_lang-o2dcBqfI.js");exports.BAccordion=e._sfc_main,exports.BAccordionItem=e._sfc_main$1,exports.BAlert=_.BAlert,exports.BAvatar=r._sfc_main,exports.BAvatarGroup=r._sfc_main$1,exports.BBadge=t._sfc_main,exports.BBreadcrumb=s._sfc_main,exports.BBreadcrumbItem=s._sfc_main$1,exports.BButton=p._sfc_main,exports.BButtonGroup=u._sfc_main,exports.BButtonToolbar=u._sfc_main$1,exports.BCloseButton=o._sfc_main,exports.BCard=a._sfc_main,exports.BCardBody=a._sfc_main$1,exports.BCardFooter=a._sfc_main$2,exports.BCardHeader=a._sfc_main$3,exports.BCardImg=a._sfc_main$4,exports.BCardSubtitle=a._sfc_main$5,exports.BCardTitle=a._sfc_main$6,exports.BCardGroup=i._sfc_main,exports.BCardText=i._sfc_main$1,exports.BCarousel=n._sfc_main,exports.BCarouselSlide=n._sfc_main$1,exports.BCollapse=c._sfc_main,exports.BCol=B._sfc_main,exports.BContainer=m._sfc_main,exports.BRow=v._sfc_main,exports.BDropdown=l._sfc_main,exports.BDropdownDivider=x._sfc_main,exports.BDropdownForm=x._sfc_main$1,exports.BDropdownGroup=x._sfc_main$2,exports.BDropdownHeader=x._sfc_main$3,exports.BDropdownItem=x._sfc_main$4,exports.BDropdownItemButton=x._sfc_main$5,exports.BDropdownText=x._sfc_main$6,exports.BForm=f._sfc_main,exports.BFormDatalist=g._sfc_main,exports.BFormFloatingLabel=g._sfc_main$1,exports.BFormInvalidFeedback=d._sfc_main,exports.BFormRow=d._sfc_main$1,exports.BFormText=d._sfc_main$2,exports.BFormValidFeedback=d._sfc_main$3,exports.BFormCheckbox=y._sfc_main,exports.BFormCheckboxGroup=y._sfc_main$1,exports.BFormFile=j._sfc_main,exports.BFormGroup=q._sfc_main,exports.BFormInput=$._sfc_main,exports.BInput=$._sfc_main,exports.BFormRadio=F._sfc_main,exports.BFormRadioGroup=F._sfc_main$1,exports.BFormSelect=T._sfc_main,exports.BFormSelectOptionGroup=T._sfc_main$1,exports.BFormSelectOption=b._sfc_main,exports.BFormSpinbutton=C._sfc_main,exports.BFormTag=I._sfc_main$1,exports.BFormTags=I._sfc_main,exports.BFormTextarea=G._sfc_main,exports.BImg=h._sfc_main,exports.BInputGroup=S._sfc_main,exports.BInputGroupText=S._sfc_main$1,exports.BLink=w._sfc_main,exports.BListGroup=P._sfc_main,exports.BListGroupItem=P._sfc_main$1,exports.BModal=D.BModal,exports.BModalOrchestrator=D._sfc_main,exports.BNav=O._sfc_main,exports.BNavForm=O._sfc_main$1,exports.BNavItem=O._sfc_main$2,exports.BNavItemDropdown=O._sfc_main$3,exports.BNavText=O._sfc_main$4,exports.BNavbar=N._sfc_main,exports.BNavbarBrand=N._sfc_main$1,exports.BNavbarNav=N._sfc_main$2,exports.BNavbarToggle=N._sfc_main$3,exports.BOffcanvas=A._sfc_main,exports.BOverlay=k._sfc_main,exports.BPagination=L._sfc_main,exports.BPlaceholder=M._sfc_main,exports.BPlaceholderButton=M._sfc_main$1,exports.BPlaceholderCard=M._sfc_main$2,exports.BPlaceholderTable=M._sfc_main$3,exports.BPlaceholderWrapper=M._sfc_main$4,exports.BPopover=R._sfc_main,exports.BPopoverOrchestrator=H._sfc_main,exports.BProgress=V._sfc_main,exports.BProgressBar=V._sfc_main$1,exports.BSpinner=W._sfc_main,exports.BTable=z._sfc_main,exports.BTableLite=z._sfc_main$1,exports.BTbody=z._sfc_main$2,exports.BTd=z._sfc_main$3,exports.BTfoot=z._sfc_main$4,exports.BTh=z._sfc_main$5,exports.BThead=z._sfc_main$6,exports.BTr=z._sfc_main$7,exports.BTableSimple=E._sfc_main,exports.BTab=J._sfc_main,exports.BTabs=J._sfc_main$1,exports.BToast=K._sfc_main,exports.BToastOrchestrator=K._sfc_main$1,exports.BTooltip=U._sfc_main;
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "bootstrap-vue-next",
|
|
3
3
|
"displayName": "BootstrapVueNext",
|
|
4
4
|
"description": "BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.",
|
|
5
|
-
"version": "0.25.
|
|
5
|
+
"version": "0.25.13",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "./dist/bootstrap-vue-next.umd.js",
|
|
8
8
|
"module": "./dist/bootstrap-vue-next.mjs",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BFormGroup.vue_vue_type_script_setup_true_lang-BF4vTqnP.js","sources":["../src/utils/props.ts","../src/components/BFormGroup/BFormGroup.vue"],"sourcesContent":["// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n\nimport {upperFirst} from './stringUtils'\n\n/**\n * Use data last parameters to allow for currying\n *\n * @param suffix\n * @param value\n * @returns\n */\nexport const suffixPropName = (suffix: string, value: string): string =>\n value + (suffix ? upperFirst(suffix) : '')\n","<template>\n <component\n :is=\"isFieldset ? 'fieldset' : 'div'\"\n :id=\"computedId\"\n :disabled=\"isFieldset ? props.disabled : null\"\n :role=\"isFieldset ? null : 'group'\"\n :aria-invalid=\"computedAriaInvalid\"\n :aria-labelledby=\"isFieldset && isHorizontal ? labelId : null\"\n :class=\"[stateClass, {'was-validated': props.validated}]\"\n >\n <ContentTemplate.define>\n <BFormInvalidFeedback\n v-if=\"$slots.invalidFeedback || props.invalidFeedback\"\n :id=\"invalidFeedbackId\"\n :aria-live=\"props.feedbackAriaLive\"\n :state=\"props.state\"\n :tooltip=\"props.tooltip\"\n >\n <slot name=\"invalid-feedback\">{{ props.invalidFeedback }}</slot>\n </BFormInvalidFeedback>\n <BFormValidFeedback\n v-if=\"$slots.validFeedback || props.validFeedback\"\n :id=\"validFeedbackId\"\n :aria-live=\"props.feedbackAriaLive\"\n :state=\"props.state\"\n :tooltip=\"props.tooltip\"\n >\n <slot name=\"valid-feedback\">{{ props.validFeedback }}</slot>\n </BFormValidFeedback>\n <BFormText v-if=\"$slots.description || props.description\" :id=\"descriptionId\">\n <slot name=\"description\">{{ props.description }}</slot>\n </BFormText>\n </ContentTemplate.define>\n <LabelContentTemplate.define>\n <template v-if=\"$slots.label || props.label || isHorizontal\">\n <BCol v-if=\"isHorizontal\" v-bind=\"labelColProps\">\n <component\n :is=\"labelTag\"\n :id=\"labelId\"\n :for=\"props.labelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"labelClasses\"\n @click=\"isFieldset ? onLegendClick : null\"\n >\n <slot name=\"label\">{{ props.label }}</slot>\n </component>\n </BCol>\n <component\n :is=\"labelTag\"\n v-else\n :id=\"labelId\"\n :for=\"props.labelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"labelClasses\"\n @click=\"isFieldset ? onLegendClick : null\"\n >\n <slot name=\"label\">{{ props.label }}</slot>\n </component>\n </template>\n </LabelContentTemplate.define>\n <BFormRow v-if=\"isHorizontal && !isFieldset\">\n <LabelContentTemplate.reuse />\n <BCol v-bind=\"contentColProps\" ref=\"content\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"null\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <ContentTemplate.reuse />\n </BCol>\n </BFormRow>\n <template v-else>\n <LabelContentTemplate.reuse />\n <div v-if=\"!isHorizontal && props.floating\" ref=\"content\" class=\"form-floating\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"null\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <ContentTemplate.reuse />\n </div>\n <template v-else>\n <slot\n :id=\"computedId\"\n :aria-describedby=\"null\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <ContentTemplate.reuse />\n </template>\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, ref} from 'vue'\nimport {useAriaInvalid} from '../../composables/useAriaInvalid'\nimport {attemptFocus, isVisible} from '../../utils/dom'\nimport BCol from '../BContainer/BCol.vue'\nimport BFormInvalidFeedback from '../BForm/BFormInvalidFeedback.vue'\nimport BFormRow from '../BForm/BFormRow.vue'\nimport BFormText from '../BForm/BFormText.vue'\nimport BFormValidFeedback from '../BForm/BFormValidFeedback.vue'\nimport {suffixPropName} from '../../utils/props'\nimport {useStateClass} from '../../composables/useStateClass'\nimport {useId} from '../../composables/useId'\nimport {createReusableTemplate} from '@vueuse/core'\nimport type {BFormGroupProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst INPUTS = ['input', 'select', 'textarea']\n\nconst _props = withDefaults(defineProps<BFormGroupProps>(), {\n ariaInvalid: undefined,\n contentCols: undefined,\n contentColsLg: undefined,\n contentColsMd: undefined,\n contentColsSm: undefined,\n contentColsXl: undefined,\n description: undefined,\n disabled: false,\n feedbackAriaLive: 'assertive',\n floating: false,\n id: undefined,\n invalidFeedback: undefined,\n label: undefined,\n labelAlign: undefined,\n labelAlignLg: undefined,\n labelAlignMd: undefined,\n labelAlignSm: undefined,\n labelAlignXl: undefined,\n labelClass: undefined,\n labelCols: undefined,\n labelColsLg: undefined,\n labelColsMd: undefined,\n labelColsSm: undefined,\n labelColsXl: undefined,\n labelFor: undefined,\n labelSize: undefined,\n labelVisuallyHidden: false,\n state: null,\n tooltip: false,\n validFeedback: undefined,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'invalid-feedback'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'valid-feedback'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'description'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'label'?: (props: Record<string, never>) => any\n 'default'?: (props: {\n 'id': string\n 'ariaDescribedby': string | null\n 'descriptionId': string | undefined\n 'label-id': string | null\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n}>()\n\nconst LabelContentTemplate = createReusableTemplate()\nconst ContentTemplate = createReusableTemplate()\n\nconst breakPoints = ['xs', 'sm', 'md', 'lg', 'xl']\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getColProps = (props: any, prefix: string) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n breakPoints.reduce((result: any, breakpoint: string) => {\n const suffix = suffixPropName(breakpoint === 'xs' ? '' : breakpoint, `${prefix}Cols`)\n let propValue = props[suffix]\n propValue = propValue === '' ? true : propValue || false\n\n if (!(typeof propValue === 'boolean') && propValue !== 'auto') {\n const val = Number.parseInt(propValue)\n propValue = Number.isNaN(val) ? 0 : val\n propValue = propValue > 0 ? propValue : false\n }\n\n if (propValue) {\n if (breakpoint === 'xs') {\n result[typeof propValue === 'boolean' ? 'col' : 'cols'] = propValue\n } else {\n result[breakpoint || (typeof propValue === 'boolean' ? 'col' : 'cols')] = propValue\n }\n }\n return result\n }, {})\n\nconst content = ref<HTMLElement | null>(null)\n\nconst contentColProps = computed(() => getColProps(props, 'content'))\nconst labelAlignClasses = computed(() =>\n ((props: BFormGroupProps, prefix: string) =>\n breakPoints.reduce((result: string[], breakpoint) => {\n const suffix = suffixPropName(\n breakpoint === 'xs' ? '' : breakpoint,\n `${prefix}Align`\n ) as keyof BFormGroupProps\n const propValue: string = props[suffix] || null\n if (propValue) {\n breakpoint === 'xs'\n ? result.push(`text-${propValue}`)\n : result.push(`text-${breakpoint}-${propValue}`)\n }\n return result\n }, []))(props, 'label')\n)\nconst labelColProps = computed(() => getColProps(props, 'label'))\nconst isHorizontal = computed(\n () => Object.keys(contentColProps.value).length > 0 || Object.keys(labelColProps.value).length > 0\n)\n\nconst stateClass = useStateClass(() => props.state)\n\nconst computedAriaInvalid = useAriaInvalid(\n () => props.ariaInvalid,\n () => props.state\n)\n\nconst onLegendClick = (event: Readonly<MouseEvent>) => {\n if (props.labelFor || content.value === null) return\n\n const {target} = event\n const tagName = target ? (target as HTMLElement).tagName : ''\n\n if ([...INPUTS, 'a', 'button', 'label'].indexOf(tagName) !== -1) return\n\n const inputs = [\n ...content.value.querySelectorAll(INPUTS.map((v) => `${v}:not([disabled])`).join()),\n ].filter(isVisible)\n const [inp] = inputs\n if (inputs.length === 1 && inp instanceof HTMLElement) {\n attemptFocus(inp)\n }\n}\n\nconst computedId = useId(() => props.id)\nconst labelId = useId(undefined, '_BV_label_')\nconst labelTag = computed(() => (!props.labelFor ? 'legend' : 'label'))\nconst labelClasses = computed(() => [\n isHorizontal.value ? 'col-form-label' : 'form-label',\n {\n 'bv-no-focus-ring': !props.labelFor,\n 'col-form-label': isHorizontal.value || !props.labelFor,\n 'pt-0': !isHorizontal.value && !props.labelFor,\n 'd-block': !isHorizontal.value && props.labelFor,\n [`col-form-label-${props.labelSize}`]: !!props.labelSize,\n 'visually-hidden': props.labelVisuallyHidden,\n },\n labelAlignClasses.value,\n props.labelClass,\n])\n\nconst invalidFeedbackId = useId(undefined, '_BV_feedback_invalid_')\n\nconst validFeedbackId = useId(undefined, '_BV_feedback_valid_')\nconst descriptionId = useId(undefined, '_BV_description_')\n\nconst isFieldset = computed(() => !props.labelFor)\n</script>\n"],"names":["suffixPropName","suffix","value","upperFirst","INPUTS","_props","__props","props","useDefaults","LabelContentTemplate","createReusableTemplate","ContentTemplate","breakPoints","getColProps","prefix","reduce","result","breakpoint","propValue","val","Number","parseInt","isNaN","content","ref","contentColProps","computed","labelAlignClasses","push","labelColProps","isHorizontal","Object","keys","length","stateClass","useStateClass","state","computedAriaInvalid","useAriaInvalid","ariaInvalid","onLegendClick","event","labelFor","target","tagName","indexOf","inputs","querySelectorAll","map","v","join","filter","isVisible","inp","HTMLElement","attemptFocus","computedId","useId","id","labelId","labelTag","labelClasses","labelSize","labelVisuallyHidden","labelClass","invalidFeedbackId","validFeedbackId","descriptionId","isFieldset"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BFormGroup.vue_vue_type_script_setup_true_lang-CbhlDyNx.mjs","sources":["../src/utils/props.ts","../src/components/BFormGroup/BFormGroup.vue"],"sourcesContent":["// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n\nimport {upperFirst} from './stringUtils'\n\n/**\n * Use data last parameters to allow for currying\n *\n * @param suffix\n * @param value\n * @returns\n */\nexport const suffixPropName = (suffix: string, value: string): string =>\n value + (suffix ? upperFirst(suffix) : '')\n","<template>\n <component\n :is=\"isFieldset ? 'fieldset' : 'div'\"\n :id=\"computedId\"\n :disabled=\"isFieldset ? props.disabled : null\"\n :role=\"isFieldset ? null : 'group'\"\n :aria-invalid=\"computedAriaInvalid\"\n :aria-labelledby=\"isFieldset && isHorizontal ? labelId : null\"\n :class=\"[stateClass, {'was-validated': props.validated}]\"\n >\n <ContentTemplate.define>\n <BFormInvalidFeedback\n v-if=\"$slots.invalidFeedback || props.invalidFeedback\"\n :id=\"invalidFeedbackId\"\n :aria-live=\"props.feedbackAriaLive\"\n :state=\"props.state\"\n :tooltip=\"props.tooltip\"\n >\n <slot name=\"invalid-feedback\">{{ props.invalidFeedback }}</slot>\n </BFormInvalidFeedback>\n <BFormValidFeedback\n v-if=\"$slots.validFeedback || props.validFeedback\"\n :id=\"validFeedbackId\"\n :aria-live=\"props.feedbackAriaLive\"\n :state=\"props.state\"\n :tooltip=\"props.tooltip\"\n >\n <slot name=\"valid-feedback\">{{ props.validFeedback }}</slot>\n </BFormValidFeedback>\n <BFormText v-if=\"$slots.description || props.description\" :id=\"descriptionId\">\n <slot name=\"description\">{{ props.description }}</slot>\n </BFormText>\n </ContentTemplate.define>\n <LabelContentTemplate.define>\n <template v-if=\"$slots.label || props.label || isHorizontal\">\n <BCol v-if=\"isHorizontal\" v-bind=\"labelColProps\">\n <component\n :is=\"labelTag\"\n :id=\"labelId\"\n :for=\"props.labelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"labelClasses\"\n @click=\"isFieldset ? onLegendClick : null\"\n >\n <slot name=\"label\">{{ props.label }}</slot>\n </component>\n </BCol>\n <component\n :is=\"labelTag\"\n v-else\n :id=\"labelId\"\n :for=\"props.labelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"labelClasses\"\n @click=\"isFieldset ? onLegendClick : null\"\n >\n <slot name=\"label\">{{ props.label }}</slot>\n </component>\n </template>\n </LabelContentTemplate.define>\n <BFormRow v-if=\"isHorizontal && !isFieldset\">\n <LabelContentTemplate.reuse />\n <BCol v-bind=\"contentColProps\" ref=\"content\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"null\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <ContentTemplate.reuse />\n </BCol>\n </BFormRow>\n <template v-else>\n <LabelContentTemplate.reuse />\n <div v-if=\"!isHorizontal && props.floating\" ref=\"content\" class=\"form-floating\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"null\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <ContentTemplate.reuse />\n </div>\n <template v-else>\n <slot\n :id=\"computedId\"\n :aria-describedby=\"null\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <ContentTemplate.reuse />\n </template>\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, ref} from 'vue'\nimport {useAriaInvalid} from '../../composables/useAriaInvalid'\nimport {attemptFocus, isVisible} from '../../utils/dom'\nimport BCol from '../BContainer/BCol.vue'\nimport BFormInvalidFeedback from '../BForm/BFormInvalidFeedback.vue'\nimport BFormRow from '../BForm/BFormRow.vue'\nimport BFormText from '../BForm/BFormText.vue'\nimport BFormValidFeedback from '../BForm/BFormValidFeedback.vue'\nimport {suffixPropName} from '../../utils/props'\nimport {useStateClass} from '../../composables/useStateClass'\nimport {useId} from '../../composables/useId'\nimport {createReusableTemplate} from '@vueuse/core'\nimport type {BFormGroupProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst INPUTS = ['input', 'select', 'textarea']\n\nconst _props = withDefaults(defineProps<BFormGroupProps>(), {\n ariaInvalid: undefined,\n contentCols: undefined,\n contentColsLg: undefined,\n contentColsMd: undefined,\n contentColsSm: undefined,\n contentColsXl: undefined,\n description: undefined,\n disabled: false,\n feedbackAriaLive: 'assertive',\n floating: false,\n id: undefined,\n invalidFeedback: undefined,\n label: undefined,\n labelAlign: undefined,\n labelAlignLg: undefined,\n labelAlignMd: undefined,\n labelAlignSm: undefined,\n labelAlignXl: undefined,\n labelClass: undefined,\n labelCols: undefined,\n labelColsLg: undefined,\n labelColsMd: undefined,\n labelColsSm: undefined,\n labelColsXl: undefined,\n labelFor: undefined,\n labelSize: undefined,\n labelVisuallyHidden: false,\n state: null,\n tooltip: false,\n validFeedback: undefined,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'invalid-feedback'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'valid-feedback'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'description'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'label'?: (props: Record<string, never>) => any\n 'default'?: (props: {\n 'id': string\n 'ariaDescribedby': string | null\n 'descriptionId': string | undefined\n 'label-id': string | null\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) => any\n}>()\n\nconst LabelContentTemplate = createReusableTemplate()\nconst ContentTemplate = createReusableTemplate()\n\nconst breakPoints = ['xs', 'sm', 'md', 'lg', 'xl']\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getColProps = (props: any, prefix: string) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n breakPoints.reduce((result: any, breakpoint: string) => {\n const suffix = suffixPropName(breakpoint === 'xs' ? '' : breakpoint, `${prefix}Cols`)\n let propValue = props[suffix]\n propValue = propValue === '' ? true : propValue || false\n\n if (!(typeof propValue === 'boolean') && propValue !== 'auto') {\n const val = Number.parseInt(propValue)\n propValue = Number.isNaN(val) ? 0 : val\n propValue = propValue > 0 ? propValue : false\n }\n\n if (propValue) {\n if (breakpoint === 'xs') {\n result[typeof propValue === 'boolean' ? 'col' : 'cols'] = propValue\n } else {\n result[breakpoint || (typeof propValue === 'boolean' ? 'col' : 'cols')] = propValue\n }\n }\n return result\n }, {})\n\nconst content = ref<HTMLElement | null>(null)\n\nconst contentColProps = computed(() => getColProps(props, 'content'))\nconst labelAlignClasses = computed(() =>\n ((props: BFormGroupProps, prefix: string) =>\n breakPoints.reduce((result: string[], breakpoint) => {\n const suffix = suffixPropName(\n breakpoint === 'xs' ? '' : breakpoint,\n `${prefix}Align`\n ) as keyof BFormGroupProps\n const propValue: string = props[suffix] || null\n if (propValue) {\n breakpoint === 'xs'\n ? result.push(`text-${propValue}`)\n : result.push(`text-${breakpoint}-${propValue}`)\n }\n return result\n }, []))(props, 'label')\n)\nconst labelColProps = computed(() => getColProps(props, 'label'))\nconst isHorizontal = computed(\n () => Object.keys(contentColProps.value).length > 0 || Object.keys(labelColProps.value).length > 0\n)\n\nconst stateClass = useStateClass(() => props.state)\n\nconst computedAriaInvalid = useAriaInvalid(\n () => props.ariaInvalid,\n () => props.state\n)\n\nconst onLegendClick = (event: Readonly<MouseEvent>) => {\n if (props.labelFor || content.value === null) return\n\n const {target} = event\n const tagName = target ? (target as HTMLElement).tagName : ''\n\n if ([...INPUTS, 'a', 'button', 'label'].indexOf(tagName) !== -1) return\n\n const inputs = [\n ...content.value.querySelectorAll(INPUTS.map((v) => `${v}:not([disabled])`).join()),\n ].filter(isVisible)\n const [inp] = inputs\n if (inputs.length === 1 && inp instanceof HTMLElement) {\n attemptFocus(inp)\n }\n}\n\nconst computedId = useId(() => props.id)\nconst labelId = useId(undefined, '_BV_label_')\nconst labelTag = computed(() => (!props.labelFor ? 'legend' : 'label'))\nconst labelClasses = computed(() => [\n isHorizontal.value ? 'col-form-label' : 'form-label',\n {\n 'bv-no-focus-ring': !props.labelFor,\n 'col-form-label': isHorizontal.value || !props.labelFor,\n 'pt-0': !isHorizontal.value && !props.labelFor,\n 'd-block': !isHorizontal.value && props.labelFor,\n [`col-form-label-${props.labelSize}`]: !!props.labelSize,\n 'visually-hidden': props.labelVisuallyHidden,\n },\n labelAlignClasses.value,\n props.labelClass,\n])\n\nconst invalidFeedbackId = useId(undefined, '_BV_feedback_invalid_')\n\nconst validFeedbackId = useId(undefined, '_BV_feedback_valid_')\nconst descriptionId = useId(undefined, '_BV_description_')\n\nconst isFieldset = computed(() => !props.labelFor)\n</script>\n"],"names":["props"],"mappings":"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"}
|