{"version":3,"file":"BApp-DJWC2mB8.mjs","names":["$attrs","$attrs"],"sources":["../src/utils/positionClasses.ts","../src/components/BApp/BOrchestrator.vue","../src/components/BApp/BOrchestrator.vue","../src/components/BApp/BApp.vue","../src/components/BApp/BApp.vue"],"sourcesContent":["import type {ContainerPosition} from '../types/Alignment'\n\nexport const positionClasses = {\n  'top-start': 'top-0 start-0',\n  'top-center': 'top-0 start-50 translate-middle-x',\n  'top-end': 'top-0 end-0',\n  'middle-start': 'top-50 start-0 translate-middle-y',\n  'middle-center': 'top-50 start-50 translate-middle',\n  'middle-end': 'top-50 end-0 translate-middle-y',\n  'bottom-start': 'bottom-0 start-0',\n  'bottom-center': 'bottom-0 start-50 translate-middle-x',\n  'bottom-end': 'bottom-0 end-0',\n} as const satisfies Record<ContainerPosition, string>\n","<template>\n  <ConditionalTeleport :to=\"teleportTo\" :disabled=\"!teleportTo\">\n    <div class=\"orchestrator-container\" v-bind=\"$attrs\">\n      <div\n        v-for=\"(value, key) in ComputedPositionClasses\"\n        :key=\"key\"\n        :class=\"value.class\"\n        :style=\"value.style\"\n      >\n        <TransitionGroup\n          :name=\"\n            items?.filter((el) => el.position === key)?.some((el) => el.type === 'toast')\n              ? 'b-list'\n              : undefined\n          \"\n        >\n          <!-- eslint-disable vue/no-unused-vars -->\n          <span\n            v-for=\"{\n              _self,\n              type,\n              position,\n              slots,\n              promise,\n              options,\n              _component,\n              ...val\n            } in items?.filter((el) => el.position === key) || []\"\n            :key=\"_self\"\n          >\n            <component\n              :is=\"_component\"\n              v-bind=\"val\"\n              :ref=\"(ref: ComponentPublicInstance) => (promise.value.ref = ref)\"\n              initial-animation\n              :teleport-disabled=\"true\"\n              @hide=\"\n                (e: BvTriggerableEvent) => {\n                  setEventOk(e)\n                  val.onHide?.(e)\n                  if (e.defaultPrevented) {\n                    return\n                  }\n                  promise.stop?.()\n                  if (options?.resolveOnHide) {\n                    promise.resolve(e)\n                  }\n                }\n              \"\n              @hidden=\"\n                (e: BvTriggerableEvent) => {\n                  setEventOk(e)\n                  val.onHidden?.(e)\n                  if (e.defaultPrevented) {\n                    return\n                  }\n                  if (!options?.resolveOnHide) {\n                    promise.resolve(e)\n                  }\n                  if (!options?.keep) {\n                    promise.value.destroy?.()\n                  }\n                }\n              \"\n            >\n              <template v-for=\"(comp, slot) in slots\" #[slot]=\"scope\" :key=\"slot\">\n                <component :is=\"comp\" v-bind=\"scope\" />\n              </template>\n            </component>\n          </span>\n        </TransitionGroup>\n      </div>\n    </div>\n  </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {type ComponentPublicInstance, computed, inject, watch} from 'vue'\nimport {orchestratorRegistryKey} from '../../utils/keys'\nimport {positionClasses} from '../../utils/positionClasses'\nimport type {BvTriggerableEvent} from '../../utils'\nimport type {BOrchestratorProps} from '../../types/ComponentProps'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\n\nfunction setEventOk(event: BvTriggerableEvent): void {\n  event.ok = event.trigger === 'ok' ? true : event.trigger === 'cancel' ? false : null\n}\n\nconst props = withDefaults(defineProps<BOrchestratorProps>(), {\n  noPopovers: false,\n  noToasts: false,\n  noModals: false,\n  appendToast: false,\n  filter: () => true,\n})\n\nconst orchestratorRegistry = inject(orchestratorRegistryKey, null)\n\nif (orchestratorRegistry) {\n  if (!orchestratorRegistry._isOrchestratorInstalled.value) {\n    orchestratorRegistry._isOrchestratorInstalled.value = true\n  }\n} else {\n  if (process.env.NODE_ENV === 'development') {\n    console.warn(\n      '[BOrchestrator] The orchestrator registry not found. Please use BApp, useRegistry or provide the plugin.'\n    )\n  }\n}\n\nwatch(\n  () => props.appendToast,\n  (value) => {\n    if (orchestratorRegistry && value !== undefined) {\n      orchestratorRegistry._isToastAppend.value = value\n    }\n  },\n  {immediate: true}\n)\n\nconst ComputedPositionClasses = computed(() => {\n  const positionsActive = items.value?.reduce(\n    (acc, item) => {\n      if (item.position) {\n        acc[item.position] = true\n      }\n      return acc\n    },\n    {} as Record<string, boolean>\n  )\n  const classes: Record<string, {class: string; style: string}> = {}\n  for (const position in positionClasses) {\n    if (positionsActive?.[position]) {\n      classes[position] = {\n        class: `${\n          positionClasses[position as keyof typeof positionClasses]\n        } toast-container position-fixed p-3`,\n        style:\n          'width: calc(var(--bs-toast-max-width, 350px) + var(--bs-toast-padding-x, 1rem) * 2)',\n      }\n    }\n  }\n  if (positionsActive?.['modal']) {\n    classes['modal'] = {\n      class: '',\n      style: '',\n    }\n  }\n  if (positionsActive?.['popover']) {\n    classes['popover'] = {\n      class: '',\n      style: '',\n    }\n  }\n  return classes\n})\n\nconst items = computed(() => {\n  const store = orchestratorRegistry?.store.value ?? []\n  return store\n    .filter((el) => !props.noPopovers || el.type !== 'popover')\n    .filter((el) => !props.noToasts || el.type !== 'toast')\n    .filter((el) => !props.noModals || el.type !== 'modal')\n    .filter(props.filter)\n})\n</script>\n","<template>\n  <ConditionalTeleport :to=\"teleportTo\" :disabled=\"!teleportTo\">\n    <div class=\"orchestrator-container\" v-bind=\"$attrs\">\n      <div\n        v-for=\"(value, key) in ComputedPositionClasses\"\n        :key=\"key\"\n        :class=\"value.class\"\n        :style=\"value.style\"\n      >\n        <TransitionGroup\n          :name=\"\n            items?.filter((el) => el.position === key)?.some((el) => el.type === 'toast')\n              ? 'b-list'\n              : undefined\n          \"\n        >\n          <!-- eslint-disable vue/no-unused-vars -->\n          <span\n            v-for=\"{\n              _self,\n              type,\n              position,\n              slots,\n              promise,\n              options,\n              _component,\n              ...val\n            } in items?.filter((el) => el.position === key) || []\"\n            :key=\"_self\"\n          >\n            <component\n              :is=\"_component\"\n              v-bind=\"val\"\n              :ref=\"(ref: ComponentPublicInstance) => (promise.value.ref = ref)\"\n              initial-animation\n              :teleport-disabled=\"true\"\n              @hide=\"\n                (e: BvTriggerableEvent) => {\n                  setEventOk(e)\n                  val.onHide?.(e)\n                  if (e.defaultPrevented) {\n                    return\n                  }\n                  promise.stop?.()\n                  if (options?.resolveOnHide) {\n                    promise.resolve(e)\n                  }\n                }\n              \"\n              @hidden=\"\n                (e: BvTriggerableEvent) => {\n                  setEventOk(e)\n                  val.onHidden?.(e)\n                  if (e.defaultPrevented) {\n                    return\n                  }\n                  if (!options?.resolveOnHide) {\n                    promise.resolve(e)\n                  }\n                  if (!options?.keep) {\n                    promise.value.destroy?.()\n                  }\n                }\n              \"\n            >\n              <template v-for=\"(comp, slot) in slots\" #[slot]=\"scope\" :key=\"slot\">\n                <component :is=\"comp\" v-bind=\"scope\" />\n              </template>\n            </component>\n          </span>\n        </TransitionGroup>\n      </div>\n    </div>\n  </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {type ComponentPublicInstance, computed, inject, watch} from 'vue'\nimport {orchestratorRegistryKey} from '../../utils/keys'\nimport {positionClasses} from '../../utils/positionClasses'\nimport type {BvTriggerableEvent} from '../../utils'\nimport type {BOrchestratorProps} from '../../types/ComponentProps'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\n\nfunction setEventOk(event: BvTriggerableEvent): void {\n  event.ok = event.trigger === 'ok' ? true : event.trigger === 'cancel' ? false : null\n}\n\nconst props = withDefaults(defineProps<BOrchestratorProps>(), {\n  noPopovers: false,\n  noToasts: false,\n  noModals: false,\n  appendToast: false,\n  filter: () => true,\n})\n\nconst orchestratorRegistry = inject(orchestratorRegistryKey, null)\n\nif (orchestratorRegistry) {\n  if (!orchestratorRegistry._isOrchestratorInstalled.value) {\n    orchestratorRegistry._isOrchestratorInstalled.value = true\n  }\n} else {\n  if (process.env.NODE_ENV === 'development') {\n    console.warn(\n      '[BOrchestrator] The orchestrator registry not found. Please use BApp, useRegistry or provide the plugin.'\n    )\n  }\n}\n\nwatch(\n  () => props.appendToast,\n  (value) => {\n    if (orchestratorRegistry && value !== undefined) {\n      orchestratorRegistry._isToastAppend.value = value\n    }\n  },\n  {immediate: true}\n)\n\nconst ComputedPositionClasses = computed(() => {\n  const positionsActive = items.value?.reduce(\n    (acc, item) => {\n      if (item.position) {\n        acc[item.position] = true\n      }\n      return acc\n    },\n    {} as Record<string, boolean>\n  )\n  const classes: Record<string, {class: string; style: string}> = {}\n  for (const position in positionClasses) {\n    if (positionsActive?.[position]) {\n      classes[position] = {\n        class: `${\n          positionClasses[position as keyof typeof positionClasses]\n        } toast-container position-fixed p-3`,\n        style:\n          'width: calc(var(--bs-toast-max-width, 350px) + var(--bs-toast-padding-x, 1rem) * 2)',\n      }\n    }\n  }\n  if (positionsActive?.['modal']) {\n    classes['modal'] = {\n      class: '',\n      style: '',\n    }\n  }\n  if (positionsActive?.['popover']) {\n    classes['popover'] = {\n      class: '',\n      style: '',\n    }\n  }\n  return classes\n})\n\nconst items = computed(() => {\n  const store = orchestratorRegistry?.store.value ?? []\n  return store\n    .filter((el) => !props.noPopovers || el.type !== 'popover')\n    .filter((el) => !props.noToasts || el.type !== 'toast')\n    .filter((el) => !props.noModals || el.type !== 'modal')\n    .filter(props.filter)\n})\n</script>\n","<template>\n  <BOrchestrator v-if=\"!noOrchestrator\" :append-toast=\"appendToast\" :teleport-to=\"teleportTo\" />\n  <slot v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BAppProps} from '../../types/ComponentProps'\nimport BOrchestrator from './BOrchestrator.vue'\nimport {useProvideDefaults} from '../../composables/useProvideDefaults'\nimport {useRegistry} from '../../composables/useRegistry'\nimport {useOrchestratorRegistry} from '../../composables/orchestratorShared'\nimport {toRef} from 'vue'\n\ndefineOptions({\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<BAppProps>(), {\n  appendToast: false,\n  teleportTo: undefined,\n  defaults: undefined,\n  mergeDefaults: false,\n  noOrchestrator: false,\n  rtl: false,\n})\n\nuseProvideDefaults(\n  toRef(() => props.defaults),\n  props.mergeDefaults\n)\nuseRegistry(props.rtl)\nif (!props.noOrchestrator) {\n  useOrchestratorRegistry()\n}\n</script>\n","<template>\n  <BOrchestrator v-if=\"!noOrchestrator\" :append-toast=\"appendToast\" :teleport-to=\"teleportTo\" />\n  <slot v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BAppProps} from '../../types/ComponentProps'\nimport BOrchestrator from './BOrchestrator.vue'\nimport {useProvideDefaults} from '../../composables/useProvideDefaults'\nimport {useRegistry} from '../../composables/useRegistry'\nimport {useOrchestratorRegistry} from '../../composables/orchestratorShared'\nimport {toRef} from 'vue'\n\ndefineOptions({\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<BAppProps>(), {\n  appendToast: false,\n  teleportTo: undefined,\n  defaults: undefined,\n  mergeDefaults: false,\n  noOrchestrator: false,\n  rtl: false,\n})\n\nuseProvideDefaults(\n  toRef(() => props.defaults),\n  props.mergeDefaults\n)\nuseRegistry(props.rtl)\nif (!props.noOrchestrator) {\n  useOrchestratorRegistry()\n}\n</script>\n"],"mappings":"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"}