bitboss-ui 0.2.39 → 0.2.41
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/index10.js +1 -4
- package/dist/index10.js.map +1 -1
- package/dist/index100.js +1 -4
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +3 -3
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +1 -4
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +2 -2
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +1 -4
- package/dist/index104.js.map +1 -1
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +1 -4
- package/dist/index106.js.map +1 -1
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +1 -4
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +1 -1
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +2 -2
- package/dist/index11.js.map +1 -1
- package/dist/index110.js +1 -4
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +4 -4
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +1 -4
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +1 -1
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +1 -4
- package/dist/index114.js.map +1 -1
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +1 -1
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +1 -1
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +1 -1
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +1 -1
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +1 -4
- package/dist/index12.js.map +1 -1
- package/dist/index121.js +1 -1
- package/dist/index125.js +1 -1
- package/dist/index126.js +1 -1
- package/dist/index127.js +1 -1
- package/dist/index13.js.map +1 -1
- package/dist/index131.js +2 -2
- package/dist/index14.js +1 -4
- package/dist/index14.js.map +1 -1
- package/dist/index15.js +8 -8
- package/dist/index15.js.map +1 -1
- package/dist/index158.js +1 -4
- package/dist/index158.js.map +1 -1
- package/dist/index16.js +1 -4
- package/dist/index16.js.map +1 -1
- package/dist/index160.js +1 -4
- package/dist/index160.js.map +1 -1
- package/dist/index169.js +1 -4
- package/dist/index169.js.map +1 -1
- package/dist/index17.js +6 -6
- package/dist/index17.js.map +1 -1
- package/dist/index18.js +1 -4
- package/dist/index18.js.map +1 -1
- package/dist/index183.js +1 -4
- package/dist/index183.js.map +1 -1
- package/dist/index185.js +1 -4
- package/dist/index185.js.map +1 -1
- package/dist/index19.js +3 -3
- package/dist/index19.js.map +1 -1
- package/dist/index196.js +10 -2
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +3 -4
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +35 -2
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +6 -3
- package/dist/index199.js.map +1 -1
- package/dist/index20.js +1 -4
- package/dist/index20.js.map +1 -1
- package/dist/index200.js +232 -32
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +2 -6
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +4 -2
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +3 -2
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +3 -5
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +5 -16
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +10 -10
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +15 -18
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +18 -19
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +15 -24
- package/dist/index209.js.map +1 -1
- package/dist/index21.js +2 -2
- package/dist/index21.js.map +1 -1
- package/dist/index210.js +29 -8
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +8 -2
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +2 -235
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +2 -3
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +368 -3
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +131 -375
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +2 -134
- package/dist/index216.js.map +1 -1
- package/dist/index219.js +1 -1
- package/dist/index219.js.map +1 -1
- package/dist/index22.js +1 -4
- package/dist/index22.js.map +1 -1
- package/dist/index220.js +2 -2
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +2 -10
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +8 -27
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +120 -16
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +6 -9
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +16 -120
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +2 -2
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +2 -4
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +151 -426
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +1 -91
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +1 -1
- package/dist/index23.js.map +1 -1
- package/dist/index230.js +68 -199
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +5 -295
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +14 -5
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +435 -2
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +89 -2
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +4 -2
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +200 -2
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +224 -2
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +258 -2
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +295 -2
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +1 -4
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +6 -160
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +2 -2
- package/dist/index242.js +2 -69
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +2 -5
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +2 -224
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +2 -258
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +2 -2
- package/dist/index247.js +2 -117
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +2 -106
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +117 -2
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +2 -2
- package/dist/index25.js.map +1 -1
- package/dist/index250.js +105 -37
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +4 -2
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +4 -2
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +60 -14
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +3 -2
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +2 -3
- package/dist/index255.js.map +1 -1
- package/dist/index26.js +1 -4
- package/dist/index26.js.map +1 -1
- package/dist/index27.js.map +1 -1
- package/dist/index28.js +1 -4
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +3 -3
- package/dist/index29.js.map +1 -1
- package/dist/index30.js +1 -4
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +19 -19
- package/dist/index31.js.map +1 -1
- package/dist/index32.js +1 -4
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +2 -2
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +1 -4
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +2 -2
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +1 -4
- package/dist/index36.js.map +1 -1
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +1 -4
- package/dist/index38.js.map +1 -1
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +1 -4
- package/dist/index40.js.map +1 -1
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +1 -4
- package/dist/index42.js.map +1 -1
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +1 -4
- package/dist/index44.js.map +1 -1
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +1 -4
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +1 -1
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +1 -4
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +1 -1
- package/dist/index49.js.map +1 -1
- package/dist/index50.js +1 -4
- package/dist/index50.js.map +1 -1
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +1 -4
- package/dist/index52.js.map +1 -1
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +1 -4
- package/dist/index54.js.map +1 -1
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +1 -4
- package/dist/index56.js.map +1 -1
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +1 -4
- package/dist/index58.js.map +1 -1
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +1 -4
- package/dist/index60.js.map +1 -1
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +1 -4
- package/dist/index62.js.map +1 -1
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +1 -4
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +3 -3
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +1 -4
- package/dist/index66.js.map +1 -1
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +1 -4
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +13 -13
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +1 -4
- package/dist/index70.js.map +1 -1
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +1 -1
- package/dist/index72.js.map +1 -1
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +1 -4
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +1 -1
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +1 -4
- package/dist/index76.js.map +1 -1
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +1 -4
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +3 -3
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +1 -4
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +1 -1
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +1 -4
- package/dist/index82.js.map +1 -1
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +1 -4
- package/dist/index84.js.map +1 -1
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +1 -4
- package/dist/index86.js.map +1 -1
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +1 -4
- package/dist/index88.js.map +1 -1
- package/dist/index89.js.map +1 -1
- package/dist/index9.js.map +1 -1
- package/dist/index90.js +1 -4
- package/dist/index90.js.map +1 -1
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +1 -4
- package/dist/index92.js.map +1 -1
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +1 -4
- package/dist/index94.js.map +1 -1
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +1 -4
- package/dist/index96.js.map +1 -1
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +1 -4
- package/dist/index98.js.map +1 -1
- package/dist/index99.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +33 -35
package/dist/index79.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index79.js","sources":["../src/components/BbPopover/BbPopover.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, Teleport as _Teleport } from \"vue\"\n\nconst _hoisted_1 = [\"id\"]\nconst _hoisted_2 = {\n key: 1,\n class: \"bb-popover__bubble\"\n}\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"bb-popover__close-label\" }, \"Chiudi\", -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"svg\", {\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M23 23L1 1M23 1L1 23\",\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-width\": \"2\"\n })\n], -1)\n\nimport { computed, nextTick, ref } from 'vue';\nimport {\n\tuseFloating,\n\tautoUpdate,\n\tflip,\n\tshift,\n\toffset,\n\tarrow,\n} from '@floating-ui/vue';\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport type { CommonProps } from '@/types/CommonProps';\nimport type { Placement } from '@floating-ui/vue';\n\nexport type BbPopoverProps = Pick<\n\tCommonProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'offset'\n\t| 'padding'\n\t| 'placement'\n\t| 'showClose'\n\t| 'theme'\n\t| 'transitionDuration'\n> & {\n\t/**\n\t * Elements that obtains focus immediately after opening the popover.\n\t * By default it's the first tabbable item.\n\t */\n\tfocusTarget?: string;\n\t/**\n\t * Width of the dropdown in pixels.\n\t */\n\twidth?: number | string;\n};\n\nexport type BbPopoverEvents = {\n\t(e: 'shown'): void;\n\t(e: 'hidden'): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbPopover',\n props: {\n arrowPadding: { default: 10 },\n block: { type: Boolean },\n disabled: { type: Boolean },\n eager: { type: Boolean },\n offset: { default: 3 },\n padding: { default: 10 },\n placement: { default: 'bottom' },\n showClose: { type: Boolean, default: true },\n theme: { default: 'default' },\n transitionDuration: { default: 150 },\n focusTarget: {},\n width: {}\n },\n emits: [\"shown\", \"hidden\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst { id: _id } = useId();\nconst id = `bbp_${_id.value}`;\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\n\nconst { activate, deactivate } = useFocusTrap(content, {\n\t/**\n\t * This traps all clicks outside so we are pressing\n\t * the trigger we just allow and process that in its\n\t * own click handler.\n\t * If we are pressing anything random on the page\n\t * close the popover and be done\n\t */\n\tclickOutsideDeactivates: (event) => {\n\t\tconst target = event.target;\n\t\tif (target instanceof HTMLElement) {\n\t\t\tif (wrapper.value?.contains(target)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tclosePopover();\n\t\temit('hidden');\n\t\treturn true;\n\t},\n\tescapeDeactivates: () => {\n\t\tnextTick(async () => {\n\t\t\tawait closePopover();\n\t\t\tfocusTrigger();\n\t\t\temit('hidden');\n\t\t});\n\t\treturn true;\n\t},\n\t/* We don't return focus so that when\n\t * we press a button on tyhe page we can focus\n\t * THAT button and not the current trigger\n\t */\n\treturnFocusOnDeactivate: false,\n});\n\nconst { floatingStyles, placement, middlewareData } = useFloating(\n\twrapper,\n\tcontent,\n\t{\n\t\tplacement: props.placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\tmiddleware: [\n\t\t\tflip(),\n\t\t\toffset(props.offset),\n\t\t\tshift({ padding: props.padding }),\n\t\t\tarrow({\n\t\t\t\telement: bubblearrow,\n\t\t\t\tpadding: props.arrowPadding,\n\t\t\t}),\n\t\t],\n\t}\n);\n\nconst attributes = computed(() => {\n\tconst classes = {\n\t\t'bb-popover--block': props.block,\n\t\t[`bb-popover--theme-${props.theme}`]: props.theme,\n\t};\n\treturn {\n\t\tclass: classes,\n\t};\n});\n\nconst opening = ref(false);\nconst open = ref(false);\nconst closing = ref(false);\nconst closed = ref(true);\n\nconst arrowAttributes = computed(() => {\n\tif (middlewareData.value.arrow) {\n\t\tconst { x, y } = middlewareData.value.arrow;\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t},\n\t\t};\n\t}\n});\n\nconst containerStyle = computed(() => {\n\tconst base: Record<string, any> = {\n\t\t...floatingStyles.value,\n\t\ttransitionDuration: `${props.transitionDuration}ms`,\n\t};\n\tif (props.width) {\n\t\tlet width: string;\n\t\t// If the width is a css unit string use it, if it is a number or number string add px\n\t\tif (typeof props.width === 'string' && Number.isNaN(Number(props.width))) {\n\t\t\tif (props.width.includes('%')) {\n\t\t\t\tif (!wrapper.value) return;\n\t\t\t\twidth = `${\n\t\t\t\t\twrapper.value.clientWidth * (+props.width.replace('%', '') / 100)\n\t\t\t\t}px`;\n\t\t\t} else {\n\t\t\t\twidth = props.width;\n\t\t\t}\n\t\t} else {\n\t\t\twidth = `${props.width}px`;\n\t\t}\n\t\tbase.width = width;\n\t}\n\treturn base;\n});\n\nconst openPopover = async () => {\n\tclosed.value = false;\n\tclosing.value = false;\n\topening.value = true;\n\tawait wait(50);\n\topen.value = true;\n\topening.value = false;\n};\n\nconst closePopover = async () => {\n\topen.value = false;\n\topening.value = false;\n\tclosing.value = true;\n\tawait wait(props.transitionDuration);\n\tclosing.value = false;\n\tclosed.value = true;\n};\nconst hasOpenedOnce = ref(false);\nconst onTriggerClick = async () => {\n\tif (open.value) {\n\t\tawait closePopover();\n\t\tfocusTrigger();\n\t\temit('hidden');\n\t\treturn;\n\t}\n\tif (opening.value || props.disabled) return;\n\thasOpenedOnce.value = true;\n\tawait openPopover();\n\tlet focusTarget = props.focusTarget ?? '.bb-popover__close';\n\n\tactivate({\n\t\tonPostActivate: () => {\n\t\t\tif (content.value) {\n\t\t\t\tconst target = content.value.querySelector(focusTarget);\n\t\t\t\tif (target instanceof HTMLElement) {\n\t\t\t\t\ttarget.focus();\n\t\t\t\t\temit('shown');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n};\n\nconst focusTrigger = () => {\n\tconst trigger = wrapper.value?.querySelector(`[aria-controls=popover_${id}]`);\n\tif (trigger instanceof HTMLElement) {\n\t\ttrigger.focus();\n\t}\n};\n\nconst onClickClose = async () => {\n\tdeactivate();\n\tawait closePopover();\n\tfocusTrigger();\n\temit('hidden');\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", _mergeProps({ class: \"bb-popover\" }, attributes.value), [\n _createElementVNode(\"span\", {\n ref_key: \"wrapper\",\n ref: wrapper,\n class: \"bb-popover__wrapper\"\n }, [\n _renderSlot(_ctx.$slots, \"activator\", _normalizeProps(_guardReactiveProps({\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t'aria-controls': `popover_${id}`,\n\t\t\t\t\t\t'aria-expanded': open.value,\n\t\t\t\t\t\tonClick: onTriggerClick,\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\tdisabled: !!_ctx.disabled,\n\t\t\t\t\t},\n\t\t\t\t\tclosed: closed.value,\n\t\t\t\t\tclosing: closing.value,\n\t\t\t\t\tdisabled: !!_ctx.disabled,\n\t\t\t\t\topen: open.value,\n\t\t\t\t\topening: opening.value,\n\t\t\t\t\tplacement: _unref(placement),\n\t\t\t\t})))\n ], 512),\n (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createElementVNode(\"span\", {\n id: `popover_${id}`,\n ref_key: \"content\",\n ref: content,\n class: _normalizeClass([\"bb-popover__bubble-container\", {\n\t\t\t\t\t[`bb-popover__bubble-container--${_unref(placement)}`]: true,\n\t\t\t\t\t[`bb-popover__bubble-container--${_ctx.theme}`]: _ctx.theme,\n\t\t\t\t\t'bb-popover__bubble-container--hidden': closed.value,\n\t\t\t\t\t'bb-popover__bubble-container--closing': closing.value,\n\t\t\t\t\t'bb-popover__bubble-container--opening': opening.value,\n\t\t\t\t\t'bb-popover__bubble-container--open': open.value,\n\t\t\t\t}]),\n style: _normalizeStyle(containerStyle.value)\n }, [\n (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createElementBlock(\"span\", _mergeProps({\n key: 0,\n ref_key: \"bubblearrow\",\n ref: bubblearrow,\n class: \"bb-popover__arrow\"\n }, arrowAttributes.value), null, 16))\n : _createCommentVNode(\"\", true),\n (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, [\n (_ctx.showClose)\n ? (_openBlock(), _createBlock(BaseButton, {\n key: 0,\n class: \"bb-popover__close\",\n onClick: onClickClose\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _hoisted_4\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\", {\n close: onClickClose,\n closed: closed.value,\n closing: closing.value,\n disabled: !!_ctx.disabled,\n open: open.value,\n opening: opening.value,\n placement: _unref(placement)\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 14, _hoisted_1)\n ]))\n ], 16))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","_defineComponent","__props","__emit","props","emit","_id","useId","id","wrapper","ref","content","bubblearrow","activate","deactivate","useFocusTrap","event","target","_a","closePopover","nextTick","focusTrigger","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","offset","shift","arrow","attributes","computed","opening","open","closing","closed","arrowAttributes","x","y","containerStyle","base","width","openPopover","wait","hasOpenedOnce","onTriggerClick","focusTarget","trigger","onClickClose","_ctx","_cache","_openBlock","_createElementBlock","_mergeProps","_createElementVNode","_renderSlot","_normalizeProps","_guardReactiveProps","_unref","_createBlock","_Teleport","_normalizeClass","_normalizeStyle","_createCommentVNode","BaseButton","_withCtx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index79.js","sources":["../src/components/BbPopover/BbPopover.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-popover\" v-bind=\"attributes\">\n\t\t<span ref=\"wrapper\" class=\"bb-popover__wrapper\">\n\t\t\t<slot\n\t\t\t\tname=\"activator\"\n\t\t\t\tv-bind=\"{\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t'aria-controls': `popover_${id}`,\n\t\t\t\t\t\t'aria-expanded': open,\n\t\t\t\t\t\tonClick: onTriggerClick,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\t},\n\t\t\t\t\tclosed: closed,\n\t\t\t\t\tclosing: closing,\n\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\topen: open,\n\t\t\t\t\topening: opening,\n\t\t\t\t\tplacement: placement,\n\t\t\t\t}\"\n\t\t\t></slot>\n\t\t</span>\n\t\t<teleport to=\"body\">\n\t\t\t<span\n\t\t\t\t:id=\"`popover_${id}`\"\n\t\t\t\tref=\"content\"\n\t\t\t\tclass=\"bb-popover__bubble-container\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t[`bb-popover__bubble-container--${placement}`]: true,\n\t\t\t\t\t[`bb-popover__bubble-container--${theme}`]: theme,\n\t\t\t\t\t'bb-popover__bubble-container--hidden': closed,\n\t\t\t\t\t'bb-popover__bubble-container--closing': closing,\n\t\t\t\t\t'bb-popover__bubble-container--opening': opening,\n\t\t\t\t\t'bb-popover__bubble-container--open': open,\n\t\t\t\t}\"\n\t\t\t\t:style=\"containerStyle\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tv-if=\"hasOpenedOnce || eager\"\n\t\t\t\t\tref=\"bubblearrow\"\n\t\t\t\t\tclass=\"bb-popover__arrow\"\n\t\t\t\t\tv-bind=\"arrowAttributes\"\n\t\t\t\t></span>\n\t\t\t\t<span v-if=\"hasOpenedOnce || eager\" class=\"bb-popover__bubble\">\n\t\t\t\t\t<BaseButton\n\t\t\t\t\t\tv-if=\"showClose\"\n\t\t\t\t\t\tclass=\"bb-popover__close\"\n\t\t\t\t\t\t@click=\"onClickClose\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"bb-popover__close-label\">Chiudi</span>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M23 23L1 1M23 1L1 23\"\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</BaseButton>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t:close=\"onClickClose\"\n\t\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t\t:disabled=\"!!disabled\"\n\t\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t></slot>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</teleport>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref } from 'vue';\nimport {\n\tuseFloating,\n\tautoUpdate,\n\tflip,\n\tshift,\n\toffset,\n\tarrow,\n} from '@floating-ui/vue';\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport type { CommonProps } from '@/types/CommonProps';\nimport type { Placement } from '@floating-ui/vue';\n\nexport type BbPopoverProps = Pick<\n\tCommonProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'offset'\n\t| 'padding'\n\t| 'placement'\n\t| 'showClose'\n\t| 'theme'\n\t| 'transitionDuration'\n> & {\n\t/**\n\t * Elements that obtains focus immediately after opening the popover.\n\t * By default it's the first tabbable item.\n\t */\n\tfocusTarget?: string;\n\t/**\n\t * Width of the dropdown in pixels.\n\t */\n\twidth?: number | string;\n};\n\nconst props = withDefaults(defineProps<BbPopoverProps>(), {\n\tarrowPadding: 10,\n\toffset: 3,\n\tpadding: 10,\n\tplacement: 'bottom',\n\tshowClose: true,\n\ttheme: 'default',\n\ttransitionDuration: 150,\n});\n\nexport type BbPopoverEvents = {\n\t(e: 'shown'): void;\n\t(e: 'hidden'): void;\n};\n\nconst emit = defineEmits<BbPopoverEvents>();\n\ndefineSlots<{\n\tactivator?: (props: {\n\t\tprops: {\n\t\t\t'aria-controls': string;\n\t\t\t'aria-expanded': boolean;\n\t\t\tonClick: typeof onTriggerClick;\n\t\t\tid: string;\n\t\t\tdisabled: boolean;\n\t\t};\n\t\tclosed: boolean;\n\t\tclosing: boolean;\n\t\tdisabled: boolean;\n\t\topen: boolean;\n\t\topening: boolean;\n\t\tplacement: Placement;\n\t}) => any;\n\tdefault?: (props: {\n\t\tclose: typeof onClickClose;\n\t\tclosed: boolean;\n\t\tclosing: boolean;\n\t\tdisabled: boolean;\n\t\topen: boolean;\n\t\topening: boolean;\n\t\tplacement: Placement;\n\t}) => any;\n}>();\n\nconst { id: _id } = useId();\nconst id = `bbp_${_id.value}`;\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\n\nconst { activate, deactivate } = useFocusTrap(content, {\n\t/**\n\t * This traps all clicks outside so we are pressing\n\t * the trigger we just allow and process that in its\n\t * own click handler.\n\t * If we are pressing anything random on the page\n\t * close the popover and be done\n\t */\n\tclickOutsideDeactivates: (event) => {\n\t\tconst target = event.target;\n\t\tif (target instanceof HTMLElement) {\n\t\t\tif (wrapper.value?.contains(target)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tclosePopover();\n\t\temit('hidden');\n\t\treturn true;\n\t},\n\tescapeDeactivates: () => {\n\t\tnextTick(async () => {\n\t\t\tawait closePopover();\n\t\t\tfocusTrigger();\n\t\t\temit('hidden');\n\t\t});\n\t\treturn true;\n\t},\n\t/* We don't return focus so that when\n\t * we press a button on tyhe page we can focus\n\t * THAT button and not the current trigger\n\t */\n\treturnFocusOnDeactivate: false,\n});\n\nconst { floatingStyles, placement, middlewareData } = useFloating(\n\twrapper,\n\tcontent,\n\t{\n\t\tplacement: props.placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\tmiddleware: [\n\t\t\tflip(),\n\t\t\toffset(props.offset),\n\t\t\tshift({ padding: props.padding }),\n\t\t\tarrow({\n\t\t\t\telement: bubblearrow,\n\t\t\t\tpadding: props.arrowPadding,\n\t\t\t}),\n\t\t],\n\t}\n);\n\nconst attributes = computed(() => {\n\tconst classes = {\n\t\t'bb-popover--block': props.block,\n\t\t[`bb-popover--theme-${props.theme}`]: props.theme,\n\t};\n\treturn {\n\t\tclass: classes,\n\t};\n});\n\nconst opening = ref(false);\nconst open = ref(false);\nconst closing = ref(false);\nconst closed = ref(true);\n\nconst arrowAttributes = computed(() => {\n\tif (middlewareData.value.arrow) {\n\t\tconst { x, y } = middlewareData.value.arrow;\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t},\n\t\t};\n\t}\n});\n\nconst containerStyle = computed(() => {\n\tconst base: Record<string, any> = {\n\t\t...floatingStyles.value,\n\t\ttransitionDuration: `${props.transitionDuration}ms`,\n\t};\n\tif (props.width) {\n\t\tlet width: string;\n\t\t// If the width is a css unit string use it, if it is a number or number string add px\n\t\tif (typeof props.width === 'string' && Number.isNaN(Number(props.width))) {\n\t\t\tif (props.width.includes('%')) {\n\t\t\t\tif (!wrapper.value) return;\n\t\t\t\twidth = `${\n\t\t\t\t\twrapper.value.clientWidth * (+props.width.replace('%', '') / 100)\n\t\t\t\t}px`;\n\t\t\t} else {\n\t\t\t\twidth = props.width;\n\t\t\t}\n\t\t} else {\n\t\t\twidth = `${props.width}px`;\n\t\t}\n\t\tbase.width = width;\n\t}\n\treturn base;\n});\n\nconst openPopover = async () => {\n\tclosed.value = false;\n\tclosing.value = false;\n\topening.value = true;\n\tawait wait(50);\n\topen.value = true;\n\topening.value = false;\n};\n\nconst closePopover = async () => {\n\topen.value = false;\n\topening.value = false;\n\tclosing.value = true;\n\tawait wait(props.transitionDuration);\n\tclosing.value = false;\n\tclosed.value = true;\n};\nconst hasOpenedOnce = ref(false);\nconst onTriggerClick = async () => {\n\tif (open.value) {\n\t\tawait closePopover();\n\t\tfocusTrigger();\n\t\temit('hidden');\n\t\treturn;\n\t}\n\tif (opening.value || props.disabled) return;\n\thasOpenedOnce.value = true;\n\tawait openPopover();\n\tlet focusTarget = props.focusTarget ?? '.bb-popover__close';\n\n\tactivate({\n\t\tonPostActivate: () => {\n\t\t\tif (content.value) {\n\t\t\t\tconst target = content.value.querySelector(focusTarget);\n\t\t\t\tif (target instanceof HTMLElement) {\n\t\t\t\t\ttarget.focus();\n\t\t\t\t\temit('shown');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n};\n\nconst focusTrigger = () => {\n\tconst trigger = wrapper.value?.querySelector(`[aria-controls=popover_${id}]`);\n\tif (trigger instanceof HTMLElement) {\n\t\ttrigger.focus();\n\t}\n};\n\nconst onClickClose = async () => {\n\tdeactivate();\n\tawait closePopover();\n\tfocusTrigger();\n\temit('hidden');\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbPopover';\n</style>\n"],"names":["props","__props","emit","__emit","_id","useId","id","wrapper","ref","content","bubblearrow","activate","deactivate","useFocusTrap","event","target","_a","closePopover","nextTick","focusTrigger","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","offset","shift","arrow","attributes","computed","opening","open","closing","closed","arrowAttributes","x","y","containerStyle","base","width","openPopover","wait","hasOpenedOnce","onTriggerClick","focusTarget","trigger","onClickClose"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuHA,UAAMA,IAAQC,GAeRC,IAAOC,GA6BP,EAAE,IAAIC,EAAI,IAAIC,EAAM,GACpBC,IAAK,OAAOF,EAAI,KAAK,IAErBG,IAAUC,KACVC,IAAUD,KACVE,IAAcF,KAEd,EAAE,UAAAG,GAAU,YAAAC,MAAeC,EAAaJ,GAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQtD,yBAAyB,CAACK,MAAU;;AACnC,cAAMC,IAASD,EAAM;AACrB,eAAIC,aAAkB,gBACjBC,IAAAT,EAAQ,UAAR,QAAAS,EAAe,SAASD,OAIhBE,KACbf,EAAK,QAAQ,IACN;AAAA,MACR;AAAA,MACA,mBAAmB,OAClBgB,EAAS,YAAY;AACpB,cAAMD,EAAa,GACNE,KACbjB,EAAK,QAAQ;AAAA,MAAA,CACb,GACM;AAAA;AAAA;AAAA;AAAA;AAAA,MAMR,yBAAyB;AAAA,IAAA,CACzB,GAEK,EAAE,gBAAAkB,GAAgB,WAAAC,GAAW,gBAAAC,EAAmB,IAAAC;AAAA,MACrDhB;AAAA,MACAE;AAAA,MACA;AAAA,QACC,WAAWT,EAAM;AAAA,QACjB,sBAAsBwB;AAAA,QACtB,YAAY;AAAA,UACXC,GAAK;AAAA,UACLC,GAAO1B,EAAM,MAAM;AAAA,UACnB2B,GAAM,EAAE,SAAS3B,EAAM,SAAS;AAAA,UAChC4B,EAAM;AAAA,YACL,SAASlB;AAAA,YACT,SAASV,EAAM;AAAA,UAAA,CACf;AAAA,QACF;AAAA,MACD;AAAA,IAAA,GAGK6B,IAAaC,EAAS,OAKpB;AAAA,MACN,OALe;AAAA,QACf,qBAAqB9B,EAAM;AAAA,QAC3B,CAAC,qBAAqBA,EAAM,KAAK,EAAE,GAAGA,EAAM;AAAA,MAAA;AAAA,IAGrC,EAER,GAEK+B,IAAUvB,EAAI,EAAK,GACnBwB,IAAOxB,EAAI,EAAK,GAChByB,IAAUzB,EAAI,EAAK,GACnB0B,IAAS1B,EAAI,EAAI,GAEjB2B,IAAkBL,EAAS,MAAM;AAClC,UAAAR,EAAe,MAAM,OAAO;AAC/B,cAAM,EAAE,GAAAc,GAAG,GAAAC,EAAE,IAAIf,EAAe,MAAM;AAC/B,eAAA;AAAA,UACN,OAAO;AAAA,YACN,MAAM,GAAGc,CAAC;AAAA,YACV,KAAK,GAAGC,CAAC;AAAA,UACV;AAAA,QAAA;AAAA,MAEF;AAAA,IAAA,CACA,GAEKC,IAAiBR,EAAS,MAAM;AACrC,YAAMS,IAA4B;AAAA,QACjC,GAAGnB,EAAe;AAAA,QAClB,oBAAoB,GAAGpB,EAAM,kBAAkB;AAAA,MAAA;AAEhD,UAAIA,EAAM,OAAO;AACZ,YAAAwC;AAEA,YAAA,OAAOxC,EAAM,SAAU,YAAY,OAAO,MAAM,OAAOA,EAAM,KAAK,CAAC;AACtE,cAAIA,EAAM,MAAM,SAAS,GAAG,GAAG;AAC9B,gBAAI,CAACO,EAAQ;AAAO;AACZ,YAAAiC,IAAA,GACPjC,EAAQ,MAAM,eAAe,CAACP,EAAM,MAAM,QAAQ,KAAK,EAAE,IAAI,IAC9D;AAAA,UAAA;AAEA,YAAAwC,IAAQxC,EAAM;AAAA;AAGP,UAAAwC,IAAA,GAAGxC,EAAM,KAAK;AAEvB,QAAAuC,EAAK,QAAQC;AAAA,MACd;AACO,aAAAD;AAAA,IAAA,CACP,GAEKE,IAAc,YAAY;AAC/B,MAAAP,EAAO,QAAQ,IACfD,EAAQ,QAAQ,IAChBF,EAAQ,QAAQ,IAChB,MAAMW,EAAK,EAAE,GACbV,EAAK,QAAQ,IACbD,EAAQ,QAAQ;AAAA,IAAA,GAGXd,IAAe,YAAY;AAChC,MAAAe,EAAK,QAAQ,IACbD,EAAQ,QAAQ,IAChBE,EAAQ,QAAQ,IACV,MAAAS,EAAK1C,EAAM,kBAAkB,GACnCiC,EAAQ,QAAQ,IAChBC,EAAO,QAAQ;AAAA,IAAA,GAEVS,IAAgBnC,EAAI,EAAK,GACzBoC,IAAiB,YAAY;AAClC,UAAIZ,EAAK,OAAO;AACf,cAAMf,EAAa,GACNE,KACbjB,EAAK,QAAQ;AACb;AAAA,MACD;AACI,UAAA6B,EAAQ,SAAS/B,EAAM;AAAU;AACrC,MAAA2C,EAAc,QAAQ,IACtB,MAAMF,EAAY;AACd,UAAAI,IAAc7C,EAAM,eAAe;AAE9B,MAAAW,EAAA;AAAA,QACR,gBAAgB,MAAM;AACrB,cAAIF,EAAQ,OAAO;AAClB,kBAAMM,IAASN,EAAQ,MAAM,cAAcoC,CAAW;AACtD,YAAI9B,aAAkB,gBACrBA,EAAO,MAAM,GACbb,EAAK,OAAO;AAAA,UAEd;AAAA,QACD;AAAA,MAAA,CACA;AAAA,IAAA,GAGIiB,IAAe,MAAM;;AAC1B,YAAM2B,KAAU9B,IAAAT,EAAQ,UAAR,gBAAAS,EAAe,cAAc,0BAA0BV,CAAE;AACzE,MAAIwC,aAAmB,eACtBA,EAAQ,MAAM;AAAA,IACf,GAGKC,IAAe,YAAY;AACrB,MAAAnC,KACX,MAAMK,EAAa,GACNE,KACbjB,EAAK,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index80.js
CHANGED
package/dist/index80.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index80.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index80.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index81.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as a, computed as l, openBlock as s, createElementBlock as n, normalizeClass as m, createElementVNode as i, normalizeStyle as c } from "vue";
|
|
2
|
-
import { clamp as p } from "./
|
|
2
|
+
import { clamp as p } from "./index213.js";
|
|
3
3
|
import { getAsPercentageBetween as d } from "./index121.js";
|
|
4
4
|
const v = /* @__PURE__ */ a({
|
|
5
5
|
__name: "BbProgress",
|
package/dist/index81.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index81.js","sources":["../src/components/BbProgress/BbProgress.vue
|
|
1
|
+
{"version":3,"file":"index81.js","sources":["../src/components/BbProgress/BbProgress.vue"],"sourcesContent":["<template>\n\t<div\n\t\tclass=\"bb-progress\"\n\t\t:class=\"{\n\t\t\t'bb-progress--vertical': vertical,\n\t\t\t'bb-progress--horizontal': !vertical,\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"bb-progress-bar\"\n\t\t\t:style=\"{ [vertical ? 'height' : 'width']: width + '%' }\"\n\t\t></div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { clamp } from '@/utilities/functions/clamp';\nimport { getAsPercentageBetween } from '@/utilities/functions/percentage';\nimport { computed } from 'vue';\n\nexport type BbProgressProps = {\n\t/**\n\t * Used by v-model. It'a number contained between `min` and `max` that corresponds to the current value.\n\t */\n\tmodelValue?: number | null;\n\t/**\n\t * Minimum value. Lower cap.\n\t */\n\tmin?: number;\n\t/**\n\t * Maximum value. Upper cap.\n\t */\n\tmax?: number;\n\t/**\n\t * Displays the component as vertical.\n\t */\n\tvertical?: boolean;\n};\n\n/**\n * You can get percentage between 250 and 370 and have it compute it automatically\n */\nconst props = withDefaults(defineProps<BbProgressProps>(), {\n\tmodelValue: 0,\n\tmin: 0,\n\tmax: 100,\n});\n\nconst width = computed(() =>\n\tclamp(\n\t\tgetAsPercentageBetween(props.modelValue || props.min, props.min, props.max),\n\t\t0,\n\t\t100\n\t)\n);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbProgress';\n</style>\n"],"names":["props","__props","width","computed","clamp","getAsPercentageBetween"],"mappings":";;;;;;;;;;;;AA0CA,UAAMA,IAAQC,GAMRC,IAAQC;AAAA,MAAS,MACtBC;AAAA,QACCC,EAAuBL,EAAM,cAAcA,EAAM,KAAKA,EAAM,KAAKA,EAAM,GAAG;AAAA,QAC1E;AAAA,QACA;AAAA,MACD;AAAA,IAAA;;;;;;;;;;;;;;"}
|
package/dist/index82.js
CHANGED
package/dist/index82.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index82.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index82.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index83.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index83.js","sources":["../src/components/BbRadio/BbRadio.vue
|
|
1
|
+
{"version":3,"file":"index83.js","sources":["../src/components/BbRadio/BbRadio.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-radio\"\n\t\t:direction=\"direction\"\n\t\t:errors=\"errors\"\n\t\t:has-errors=\"hasErrors\"\n\t\t:hide-label=\"hideLabel\"\n\t\t:input-position=\"inputPosition\"\n\t\t:label=\"label\"\n\t\t:label-position=\"labelPosition\"\n\t\t:label-tag=\"'span'\"\n\t\t:name=\"name\"\n\t\t:reverse=\"reverse\"\n\t\t:tag=\"'label'\"\n\t>\n\t\t<template #label=\"data\"><slot name=\"label\" v-bind=\"data\"></slot></template>\n\t\t<template #input=\"{ id, name, hasErrors }\">\n\t\t\t<BaseRadio\n\t\t\t\t:id=\"id\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:checked=\"checked\"\n\t\t\t\t:color=\"color\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:has-errors=\"hasErrors\"\n\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:value=\"value\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t\t><template #icon=\"data\"\n\t\t\t\t\t><slot name=\"icon\" v-bind=\"data\" :text=\"label\" /></template\n\t\t\t></BaseRadio>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseRadio from '../BaseRadio/BaseRadio.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type {\n\tSlotAttributes,\n\tBaseRadioEvents,\n} from '../BaseRadio/BaseRadio.vue';\n\nexport type BbRadioProps = {\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Defines the input as checked\n\t */\n\tchecked?: InputHTMLAttributes['checked'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue?: any;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname: InputHTMLAttributes['name'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Defines the value of the radio input.\n\t * It can be any serializable value.\n\t */\n\tvalue: any;\n\n\t/**\n\t * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n\t */\n\tdirection?: 'horizontal' | 'vertical' | 'auto' | string;\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * Sets the slignment of the input. Since inputs are inline block they can be aligned just as text can.\n\t */\n\tinputPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * Text content of the label of the element.\n\t */\n\tlabel: string;\n\n\t/**\n\t * Sets the text alignment of the label.\n\t */\n\tlabelPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n};\n\nexport type BbRadioEvents = BaseRadioEvents;\n\nwithDefaults(defineProps<BbRadioProps>(), {\n\tdirection: 'auto',\n\treverse: true,\n});\n\nconst emit = defineEmits<BbRadioEvents>();\n\ndefineSlots<{\n\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n\ticon?: (props: SlotAttributes & { text: string }) => any;\n}>();\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n\t'onUpdate:modelValue': (value: any) => emit('update:modelValue', value),\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbRadio';\n</style>\n"],"names":["emit","__emit","eventListeners","event","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgJA,UAAMA,IAAOC,GAOPC,IAAiB;AAAA,MACtB,QAAQ,CAACC,MAAsBH,EAAK,QAAQG,CAAK;AAAA,MACjD,UAAU,CAACA,MAAiBH,EAAK,UAAUG,CAAK;AAAA,MAChD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,SAAS,CAACA,MAAiBH,EAAK,SAASG,CAAK;AAAA,MAC9C,WAAW,CAACA,MAAyBH,EAAK,WAAWG,CAAK;AAAA,MAC1D,aAAa,CAACA,MAAsBH,EAAK,aAAaG,CAAK;AAAA,MAC3D,WAAW,CAACA,MAAsBH,EAAK,WAAWG,CAAK;AAAA,MACvD,uBAAuB,CAACC,MAAeJ,EAAK,qBAAqBI,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index84.js
CHANGED
package/dist/index84.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index84.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index84.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index85.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index85.js","sources":["../src/components/BbRadioGroup/BbRadioGroup.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseRadioGroup from '../BaseRadioGroup/BaseRadioGroup.vue';\nimport type { BaseRadioGroupEvents } from '../BaseRadioGroup/BaseRadioGroup.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { SlotAttributes } from '../BaseRadio/BaseRadio.vue';\n\nexport type BbRadioGroupEvents = BaseRadioGroupEvents;\n\nexport type BbRadioGroupProps<T> = {\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Defines an array of dependencies that will trigger actions in the component upon change.\n\t */\n\tdependencies?: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to dependencies.\n\t */\n\tdepsDebounceTime?: number;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * If coherence is enforce the input cannot have a modelValue the is incoherent with its current items.\n\t *\n\t * e.g. You cannot set v-model to a user that is not present in the items passed.\n\t *\n\t * modelValue will be reset upon incoherence.\n\t */\n\tenforceCoherence?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used to retrieve items can be an array or a function.\n\t */\n\titems:\n\t\t| T[]\n\t\t| ((prefill: boolean, modelValue?: any[]) => Promise<T[]>)\n\t\t| ((prefill: boolean, modelValue?: any[]) => T[]);\n\n\t/**\n\t * Defines a path that returns a property of the object to use as text or a function that returns a string\n\t */\n\titemText?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => string) | undefined;\n\n\t/**\n\t * Defines a path that returns a property of the object to use as value or a function that returns any value\n\t */\n\titemValue?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => any) | undefined;\n\n\t/**\n\t * String displayed while items are being loaded.\n\t */\n\tloadingText?: string;\n\n\t/**\n\t * Defines the strategy used to understand whether an option has been selected.\n\t * `string` is 40% faster but relies on property order.\n\t * `equality` is more reliable but is slower.\n\t */\n\tmatchStrategy?: 'string' | 'equality';\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue: any;\n\n\t/**\n\t * Timeout used to debounce response to changes to modelValue.\n\t */\n\tmodelValueDebounceTime?: number;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there are no items to display.\n\t */\n\tnoDataText?: string;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n\t/**\n\t * Visually hides the legend of the fieldset while maintaining accessibility.\n\t */\n\thideLegend?: boolean;\n\n\t/**\n\t * Defines the direction of the inputs in the fieldset\n\t */\n\tinputDirection?: 'horizontal' | 'vertical';\n\n\t/**\n\t * Text content of the legend.\n\t */\n\tlegend: string;\n};\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbRadioGroup',\n props: {\n autofocus: {},\n color: {},\n dependencies: {},\n depsDebounceTime: {},\n disabled: { type: Boolean },\n enforceCoherence: { type: Boolean },\n hasErrors: { type: Boolean },\n id: {},\n items: { type: [Array, Function] },\n itemText: {},\n itemValue: {},\n loadingText: {},\n matchStrategy: {},\n modelValue: {},\n modelValueDebounceTime: {},\n name: {},\n noDataText: {},\n readonly: {},\n errors: {},\n hideLabel: { type: Boolean },\n reverse: { type: Boolean },\n hideLegend: { type: Boolean },\n inputDirection: {},\n legend: {}\n },\n emits: [\"blur\", \"change\", \"click\", \"focus\", \"input\", \"keydown\", \"mousedown\", \"mouseup\", \"update:modelValue\", \"inactive\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\nconst emit = __emit;\n\n\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInactive: () => emit('inactive'),\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n\t'onUpdate:modelValue': (event: any) => emit('update:modelValue', event),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BaseInputContainer, {\n id: _ctx.id,\n class: \"bb-radio-group\",\n direction: 'vertical',\n errors: _ctx.errors,\n \"has-errors\": _ctx.hasErrors,\n \"hide-label\": _ctx.hideLegend,\n label: _ctx.legend,\n \"label-tag\": 'legend',\n name: _ctx.name,\n reverse: _ctx.reverse,\n tag: 'fieldset'\n }, {\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"legend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n input: _withCtx(({ id, name }) => [\n _createVNode(BaseRadioGroup, _mergeProps({\n id: id,\n autofocus: _ctx.autofocus,\n color: _ctx.color,\n dependencies: _ctx.dependencies,\n \"deps-debounce-time\": _ctx.depsDebounceTime,\n direction: _ctx.inputDirection,\n disabled: _ctx.disabled,\n \"enforce-coherence\": _ctx.enforceCoherence,\n \"has-errors\": _ctx.hasErrors,\n \"hide-label\": _ctx.hideLabel,\n \"item-text\": _ctx.itemText as any,\n \"item-value\": _ctx.itemValue as any,\n items: _ctx.items as any,\n \"loading-text\": _ctx.loadingText,\n \"match-strategy\": _ctx.matchStrategy,\n \"model-value\": _ctx.modelValue,\n \"model-value-debounce-time\": _ctx.modelValueDebounceTime,\n name: name,\n \"no-data-text\": _ctx.noDataText,\n readonly: _ctx.readonly\n }, eventListeners), {\n prepend: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"prepend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n loading: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"loading\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"no-data\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"no-data\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"option:prepend\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"option:prepend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n icon: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"icon\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"label\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"option:append\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"option:append\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n append: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"append\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n _: 2\n }, 1040, [\"id\", \"autofocus\", \"color\", \"dependencies\", \"deps-debounce-time\", \"direction\", \"disabled\", \"enforce-coherence\", \"has-errors\", \"hide-label\", \"item-text\", \"item-value\", \"items\", \"loading-text\", \"match-strategy\", \"model-value\", \"model-value-debounce-time\", \"name\", \"no-data-text\", \"readonly\"])\n ]),\n _: 3\n }, 8, [\"id\", \"errors\", \"has-errors\", \"hide-label\", \"label\", \"name\", \"reverse\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","__emit","emit","eventListeners","event","_ctx","_cache","_openBlock","_createBlock","BaseInputContainer","_withCtx","data","_renderSlot","_normalizeProps","_guardReactiveProps","id","name","_createVNode","BaseRadioGroup","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index85.js","sources":["../src/components/BbRadioGroup/BbRadioGroup.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-radio-group\"\n\t\t:direction=\"'vertical'\"\n\t\t:errors=\"errors\"\n\t\t:has-errors=\"hasErrors\"\n\t\t:hide-label=\"hideLegend\"\n\t\t:label=\"legend\"\n\t\t:label-tag=\"'legend'\"\n\t\t:name=\"name\"\n\t\t:reverse=\"reverse\"\n\t\t:tag=\"'fieldset'\"\n\t>\n\t\t<template #label=\"data\"><slot name=\"legend\" v-bind=\"data\"></slot></template>\n\t\t<template #input=\"{ id, name }\">\n\t\t\t<BaseRadioGroup\n\t\t\t\t:id=\"id\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:color=\"color\"\n\t\t\t\t:dependencies=\"dependencies\"\n\t\t\t\t:deps-debounce-time=\"depsDebounceTime\"\n\t\t\t\t:direction=\"inputDirection\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:enforce-coherence=\"enforceCoherence\"\n\t\t\t\t:has-errors=\"hasErrors\"\n\t\t\t\t:hide-label=\"hideLabel\"\n\t\t\t\t:item-text=\"itemText as any\"\n\t\t\t\t:item-value=\"itemValue as any\"\n\t\t\t\t:items=\"items as any\"\n\t\t\t\t:loading-text=\"loadingText\"\n\t\t\t\t:match-strategy=\"matchStrategy\"\n\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t:model-value-debounce-time=\"modelValueDebounceTime\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:no-data-text=\"noDataText\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t>\n\t\t\t\t<template #prepend=\"data\"\n\t\t\t\t\t><slot name=\"prepend\" v-bind=\"data\"></slot></template\n\t\t\t\t><template #loading=\"data\"\n\t\t\t\t\t><slot name=\"loading\" v-bind=\"data\"></slot></template\n\t\t\t\t><template #no-data=\"data\"\n\t\t\t\t\t><slot name=\"no-data\" v-bind=\"data\"></slot></template\n\t\t\t\t><template #option:prepend=\"data\"\n\t\t\t\t\t><slot name=\"option:prepend\" v-bind=\"data\"></slot></template\n\t\t\t\t><template #icon=\"data\"\n\t\t\t\t\t><slot name=\"icon\" v-bind=\"data\"></slot></template\n\t\t\t\t><template #label=\"data\"\n\t\t\t\t\t><slot name=\"label\" v-bind=\"data\"></slot></template\n\t\t\t\t><template #option:append=\"data\"\n\t\t\t\t\t><slot name=\"option:append\" v-bind=\"data\"></slot></template\n\t\t\t\t><template #append=\"data\"\n\t\t\t\t\t><slot name=\"append\" v-bind=\"data\"></slot\n\t\t\t\t></template>\n\t\t\t</BaseRadioGroup>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\" generic=\"T = any\">\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseRadioGroup from '../BaseRadioGroup/BaseRadioGroup.vue';\nimport type { BaseRadioGroupEvents } from '../BaseRadioGroup/BaseRadioGroup.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { SlotAttributes } from '../BaseRadio/BaseRadio.vue';\n\nexport type BbRadioGroupEvents = BaseRadioGroupEvents;\n\nexport type BbRadioGroupProps<T> = {\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Defines an array of dependencies that will trigger actions in the component upon change.\n\t */\n\tdependencies?: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to dependencies.\n\t */\n\tdepsDebounceTime?: number;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * If coherence is enforce the input cannot have a modelValue the is incoherent with its current items.\n\t *\n\t * e.g. You cannot set v-model to a user that is not present in the items passed.\n\t *\n\t * modelValue will be reset upon incoherence.\n\t */\n\tenforceCoherence?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used to retrieve items can be an array or a function.\n\t */\n\titems:\n\t\t| T[]\n\t\t| ((prefill: boolean, modelValue?: any[]) => Promise<T[]>)\n\t\t| ((prefill: boolean, modelValue?: any[]) => T[]);\n\n\t/**\n\t * Defines a path that returns a property of the object to use as text or a function that returns a string\n\t */\n\titemText?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => string) | undefined;\n\n\t/**\n\t * Defines a path that returns a property of the object to use as value or a function that returns any value\n\t */\n\titemValue?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => any) | undefined;\n\n\t/**\n\t * String displayed while items are being loaded.\n\t */\n\tloadingText?: string;\n\n\t/**\n\t * Defines the strategy used to understand whether an option has been selected.\n\t * `string` is 40% faster but relies on property order.\n\t * `equality` is more reliable but is slower.\n\t */\n\tmatchStrategy?: 'string' | 'equality';\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue: any;\n\n\t/**\n\t * Timeout used to debounce response to changes to modelValue.\n\t */\n\tmodelValueDebounceTime?: number;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there are no items to display.\n\t */\n\tnoDataText?: string;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n\t/**\n\t * Visually hides the legend of the fieldset while maintaining accessibility.\n\t */\n\thideLegend?: boolean;\n\n\t/**\n\t * Defines the direction of the inputs in the fieldset\n\t */\n\tinputDirection?: 'horizontal' | 'vertical';\n\n\t/**\n\t * Text content of the legend.\n\t */\n\tlegend: string;\n};\ndefineProps<BbRadioGroupProps<T>>();\n\nconst emit = defineEmits<BbRadioGroupEvents>();\n\ndefineSlots<{\n\tprepend?: (props: {}) => any;\n\tloading?: (props: {}) => any;\n\t'no-data'?: (props: {}) => any;\n\t'option:prepend'?: (props: { item: any }) => any;\n\ticon?: (\n\t\tprops: SlotAttributes & {\n\t\t\titem: any;\n\t\t\ttext: string;\n\t\t}\n\t) => any;\n\tlabel?: (props: { item: any; text: string; checked: boolean }) => any;\n\t'option:append'?: (props: { item: any }) => any;\n\tappend?: (props: {}) => any;\n\tlegend?: (props: { text: string; hasErrors: boolean }) => any;\n}>();\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInactive: () => emit('inactive'),\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n\t'onUpdate:modelValue': (event: any) => emit('update:modelValue', event),\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbRadioGroup';\n</style>\n"],"names":["emit","__emit","eventListeners","event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiNA,UAAMA,IAAOC,GAmBPC,IAAiB;AAAA,MACtB,QAAQ,CAACC,MAAsBH,EAAK,QAAQG,CAAK;AAAA,MACjD,UAAU,CAACA,MAAiBH,EAAK,UAAUG,CAAK;AAAA,MAChD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,YAAY,MAAMH,EAAK,UAAU;AAAA,MACjC,SAAS,CAACG,MAAiBH,EAAK,SAASG,CAAK;AAAA,MAC9C,WAAW,CAACA,MAAyBH,EAAK,WAAWG,CAAK;AAAA,MAC1D,aAAa,CAACA,MAAsBH,EAAK,aAAaG,CAAK;AAAA,MAC3D,WAAW,CAACA,MAAsBH,EAAK,WAAWG,CAAK;AAAA,MACvD,uBAAuB,CAACA,MAAeH,EAAK,qBAAqBG,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index86.js
CHANGED
package/dist/index86.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index86.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index86.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index87.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index87.js","sources":["../src/components/BbRating/BbRating.vue
|
|
1
|
+
{"version":3,"file":"index87.js","sources":["../src/components/BbRating/BbRating.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-rating\"\n\t\t:direction=\"'vertical'\"\n\t\t:errors=\"errors\"\n\t\t:has-errors=\"hasErrors\"\n\t\t:hide-label=\"hideLegend\"\n\t\t:input-position=\"inputPosition\"\n\t\t:label=\"legend\"\n\t\t:label-position=\"legendPosition\"\n\t\t:label-tag=\"'legend'\"\n\t\t:name=\"name\"\n\t\t:reverse=\"reverse\"\n\t\t:tag=\"'fieldset'\"\n\t>\n\t\t<template #label=\"data\"><slot name=\"legend\" v-bind=\"data\"></slot></template>\n\t\t<template #input=\"{ id, name }\">\n\t\t\t<BaseRating\n\t\t\t\t:id=\"id\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:color=\"color\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:has-errors=\"hasErrors\"\n\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:size=\"size\"\n\t\t\t\t:stars=\"stars\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t>\n\t\t\t\t<template #icon=\"data\"><slot name=\"icon\" v-bind=\"data\" /></template>\n\t\t\t</BaseRating>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseRating from '../BaseRating/BaseRating.vue';\nimport type {\n\tBaseRatingEvents,\n\tBaseRatingSlots,\n} from '../BaseRating/BaseRating.vue';\nimport type { BbIconProps } from '../BbIcon/BbIcon.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BbRatingProps = {\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\t/**\n\t * Used by v-model\n\t */\n\tmodelValue: null | number;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname: Exclude<InputHTMLAttributes['name'], undefined>;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\t/**\n\t * Maximum number of stars to render and maximum value of the component\n\t */\n\tstars?: number;\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\n\n\t/**\n\t * Sets the slignment of the input. Since inputs are inline block they can be aligned just as text can.\n\t */\n\tinputPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n\t/**\n\t * Visually hides the legend of the fieldset while maintaining accessibility.\n\t */\n\thideLegend?: boolean;\n\n\t/**\n\t * Text content of the legend.\n\t */\n\tlegend: string;\n\t/**\n\t * Sets the text alignment of the legend.\n\t */\n\tlegendPosition?: 'left' | 'center' | 'right';\n} & Pick<BbIconProps, 'size'>;\n\nwithDefaults(defineProps<BbRatingProps>(), {\n\tinputPosition: 'left',\n});\n\nexport type BbRatingEvents = BaseRatingEvents;\nconst emit = defineEmits<BbRatingEvents>();\n\ndefineSlots<\n\tBaseRatingSlots & {\n\t\tlegend?: (props: { text: string; hasErrors: boolean }) => any;\n\t}\n>();\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInactive: () => emit('inactive'),\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n\t'onUpdate:modelValue': (event: any) => emit('update:modelValue', event),\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbRating';\n</style>\n"],"names":["emit","__emit","eventListeners","event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HA,UAAMA,IAAOC,GAQPC,IAAiB;AAAA,MACtB,QAAQ,CAACC,MAAsBH,EAAK,QAAQG,CAAK;AAAA,MACjD,UAAU,CAACA,MAAiBH,EAAK,UAAUG,CAAK;AAAA,MAChD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,YAAY,MAAMH,EAAK,UAAU;AAAA,MACjC,SAAS,CAACG,MAAiBH,EAAK,SAASG,CAAK;AAAA,MAC9C,WAAW,CAACA,MAAyBH,EAAK,WAAWG,CAAK;AAAA,MAC1D,aAAa,CAACA,MAAsBH,EAAK,aAAaG,CAAK;AAAA,MAC3D,WAAW,CAACA,MAAsBH,EAAK,WAAWG,CAAK;AAAA,MACvD,uBAAuB,CAACA,MAAeH,EAAK,qBAAqBG,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index88.js
CHANGED
package/dist/index88.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index88.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index88.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index89.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index89.js","sources":[
|
|
1
|
+
{"version":3,"file":"index89.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index9.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index9.js","sources":["../src/components/BaseButton/BaseButton.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveDynamicComponent as _resolveDynamicComponent, mergeProps as _mergeProps, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { computed, getCurrentInstance, resolveComponent } from 'vue';\nimport type { RouteLocationRaw } from 'vue-router';\n\nexport type BaseButtonProps = {\n\t/**\n\t * Class to apply when the link is active\n\t */\n\tactiveClass?: string;\n\n\t/**\n\t * Value passed to the attribute `aria-current` when the link is exact active.\n\t *\n\t * @defaultValue `'page'`\n\t */\n\tariaCurrentValue?:\n\t\t| 'page'\n\t\t| 'step'\n\t\t| 'location'\n\t\t| 'date'\n\t\t| 'time'\n\t\t| 'true'\n\t\t| 'false';\n\n\t/**\n\t * Displays the component as full width.\n\t */\n\tblock?: boolean;\n\n\tdata?: object;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Class to apply when the link is exact active\n\t */\n\texactActiveClass?: string;\n\n\theaders?: object;\n\n\t/**\n\t * Returns the hyperlink's URL.\n\t *\n\t * Can be set, to change the URL.\n\t */\n\thref?: HTMLAnchorElement['href'];\n\n\tmethod?: 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n\tonBefore?: () => void;\n\n\tonCancel?: () => void;\n\n\tonCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void;\n\n\tonFinish?: () => void;\n\n\tonly?: string[];\n\n\tonProgress?: (progress: { percentage: number | undefined }) => void;\n\n\tonStart?: () => void;\n\n\tonSuccess?: () => void;\n\n\tpreserveScroll?: boolean | ((props: { [key: string]: unknown }) => boolean);\n\n\tpreserveState?:\n\t\t| boolean\n\t\t| ((props: { [key: string]: unknown }) => boolean)\n\t\t| null;\n\n\tqueryStringArrayFormat?: 'brackets' | 'indices';\n\n\t/**\n\t * Calls `router.replace` instead of `router.push`.\n\t */\n\treplace?: boolean;\n\n\t/**\n\t * Any HTML tag corresponding to a non-void HTMl element.\n\t */\n\ttag?: string;\n\n\t/**\n\t * Sets or retrieves the window or frame at which to target content.\n\t */\n\ttarget?: HTMLAnchorElement['target'];\n\n\t/**\n\t * Text content of the component.\n\t */\n\ttext?: string;\n\n\t/**\n\t * Route Location the link should navigate to when clicked on.\n\t */\n\tto?: RouteLocationRaw;\n\n\t/**\n\t * Gets the classification and default behavior of the button.\n\t */\n\ttype?: HTMLButtonElement['type'];\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BaseButton',\n props: {\n activeClass: {},\n ariaCurrentValue: {},\n block: { type: Boolean },\n data: {},\n disabled: { type: Boolean },\n exactActiveClass: {},\n headers: {},\n href: {},\n method: {},\n onBefore: {},\n onCancel: {},\n onCancelToken: {},\n onFinish: {},\n only: {},\n onProgress: {},\n onStart: {},\n onSuccess: {},\n preserveScroll: { type: [Boolean, Function] },\n preserveState: { type: [Boolean, Function, null] },\n queryStringArrayFormat: {},\n replace: { type: Boolean },\n tag: { default: 'button' },\n target: {},\n text: {},\n to: {},\n type: { default: 'button' }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n\n/* Ignore because possibly undefined */\n// @ts-ignore\nconst isInertia = !!getCurrentInstance()?.proxy?.$inertia;\n\n// @ts-ignore\nconst isNuxt = !!getCurrentInstance()?.proxy?.$nuxt;\n\nconst tag = computed(() => {\n\t// For disabled links always render a\n\tif (props.href || (props.to && props.disabled)) {\n\t\tif (isInertia && !props.disabled) return resolveComponent('Link');\n\t\treturn 'a';\n\t}\n\tif (props.to) {\n\t\tif (isNuxt) return resolveComponent('NuxtLink');\n\t\treturn 'router-link';\n\t}\n\treturn props.tag;\n});\n\nconst classes = computed(() => ({\n\t'base-btn': true,\n\t'base-btn--block': props.block,\n\t'base-btn--disabled': props.disabled,\n}));\n\nconst attributes = computed(() => {\n\ttype PossibleAttributes = {\n\t\tactiveClass: BaseButtonProps['activeClass'];\n\n\t\t'aria-disabled': boolean;\n\n\t\tariaCurrentValue: BaseButtonProps['ariaCurrentValue'];\n\n\t\tdata: BaseButtonProps['data'];\n\n\t\tdisabled: boolean;\n\n\t\texactActiveClass: BaseButtonProps['exactActiveClass'];\n\n\t\theaders: BaseButtonProps['headers'];\n\n\t\thref: string;\n\n\t\tmethod: BaseButtonProps['method'];\n\n\t\tonBefore: BaseButtonProps['onBefore'];\n\n\t\tonCancel: BaseButtonProps['onCancel'];\n\n\t\tonCancelToken: BaseButtonProps['onCancelToken'];\n\n\t\tonFinish: BaseButtonProps['onFinish'];\n\n\t\tonly: BaseButtonProps['only'];\n\n\t\tonProgress: BaseButtonProps['onProgress'];\n\n\t\tonStart: BaseButtonProps['onStart'];\n\n\t\tonSuccess: BaseButtonProps['onSuccess'];\n\n\t\tpreserveScroll: BaseButtonProps['preserveScroll'];\n\n\t\tpreserveState: BaseButtonProps['preserveState'];\n\n\t\tqueryStringArrayFormat: BaseButtonProps['queryStringArrayFormat'];\n\n\t\treplace: BaseButtonProps['replace'];\n\n\t\trole: string;\n\n\t\tstyle: { [rule: string]: string };\n\n\t\ttarget: string;\n\n\t\tto: BaseButtonProps['to'];\n\n\t\ttype: string;\n\t};\n\tconst initial: Partial<PossibleAttributes> = {};\n\n\tif (tag.value === 'button') {\n\t\tinitial.disabled = props.disabled;\n\t\tinitial.type = props.type;\n\t} else if (\n\t\ttag.value === 'a' ||\n\t\t(isInertia && typeof tag.value !== 'string' && tag.value.name === 'Link')\n\t) {\n\t\t// When rendering as anchor prevent navigation if disabled\n\t\t// https://getbootstrap.com/docs/4.0/components/buttons/#disabled-state\n\t\tif (props.disabled) {\n\t\t\tinitial['aria-disabled'] = true;\n\t\t\tinitial.role = 'link';\n\t\t} else {\n\t\t\t// Only attach the href to active links\n\t\t\t// https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n\t\t\tinitial.href = props.href;\n\t\t\tinitial.target = props.target;\n\n\t\t\tif (isInertia) {\n\t\t\t\tinitial.data = props.data;\n\t\t\t\tinitial.headers = props.headers;\n\t\t\t\tinitial.method = props.method;\n\t\t\t\tinitial.onBefore = props.onBefore;\n\t\t\t\tinitial.onCancel = props.onCancel;\n\t\t\t\tinitial.onCancelToken = props.onCancelToken;\n\t\t\t\tinitial.onFinish = props.onFinish;\n\t\t\t\tinitial.only = props.only;\n\t\t\t\tinitial.onProgress = props.onProgress;\n\t\t\t\tinitial.onStart = props.onStart;\n\t\t\t\tinitial.onSuccess = props.onSuccess;\n\t\t\t\tinitial.preserveScroll = props.preserveScroll;\n\t\t\t\tinitial.preserveState = props.preserveState;\n\t\t\t\tinitial.queryStringArrayFormat = props.queryStringArrayFormat;\n\t\t\t\tinitial.replace = props.replace;\n\t\t\t}\n\t\t}\n\t} else if (\n\t\ttag.value === 'router-link' ||\n\t\t(typeof tag.value !== 'string' && tag.value.name === 'NuxtLink')\n\t) {\n\t\tinitial.activeClass = props.activeClass;\n\t\tinitial.ariaCurrentValue = props.ariaCurrentValue;\n\t\tinitial.exactActiveClass = props.exactActiveClass;\n\t\tinitial.replace = props.replace;\n\t\tinitial.target = props.target;\n\t\tinitial.to = props.to;\n\t}\n\n\tswitch (tag.value) {\n\t\tcase 'button':\n\t\t\tinitial.disabled = props.disabled;\n\t\t\tinitial.type = props.type;\n\t\t\tbreak;\n\t\tcase 'a':\n\t\t\t// When rendering as anchor prevent navigation if disabled\n\t\t\t// https://getbootstrap.com/docs/4.0/components/buttons/#disabled-state\n\t\t\tif (props.disabled) {\n\t\t\t\tinitial['aria-disabled'] = true;\n\t\t\t\tinitial.role = 'link';\n\t\t\t} else {\n\t\t\t\t// Only attach the href to active links\n\t\t\t\t// https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n\t\t\t\tinitial.href = props.href;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'router-link':\n\t\t\tinitial.to = props.to;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\treturn initial;\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_resolveDynamicComponent(tag.value), _mergeProps({ class: classes.value }, attributes.value), {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\", {}, () => [\n _createTextVNode(_toDisplayString(_ctx.text), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","props","isInertia","_b","_a","getCurrentInstance","isNuxt","_d","_c","tag","computed","resolveComponent","classes","attributes","initial","_ctx","_cache","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_renderSlot","_createTextVNode","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index9.js","sources":["../src/components/BaseButton/BaseButton.vue"],"sourcesContent":["<template>\n\t<component :is=\"tag\" :class=\"classes\" v-bind=\"attributes\">\n\t\t<slot>{{ text }}</slot>\n\t</component>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance, resolveComponent } from 'vue';\nimport type { RouteLocationRaw } from 'vue-router';\n\nexport type BaseButtonProps = {\n\t/**\n\t * Class to apply when the link is active\n\t */\n\tactiveClass?: string;\n\n\t/**\n\t * Value passed to the attribute `aria-current` when the link is exact active.\n\t *\n\t * @defaultValue `'page'`\n\t */\n\tariaCurrentValue?:\n\t\t| 'page'\n\t\t| 'step'\n\t\t| 'location'\n\t\t| 'date'\n\t\t| 'time'\n\t\t| 'true'\n\t\t| 'false';\n\n\t/**\n\t * Displays the component as full width.\n\t */\n\tblock?: boolean;\n\n\tdata?: object;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Class to apply when the link is exact active\n\t */\n\texactActiveClass?: string;\n\n\theaders?: object;\n\n\t/**\n\t * Returns the hyperlink's URL.\n\t *\n\t * Can be set, to change the URL.\n\t */\n\thref?: HTMLAnchorElement['href'];\n\n\tmethod?: 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n\tonBefore?: () => void;\n\n\tonCancel?: () => void;\n\n\tonCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void;\n\n\tonFinish?: () => void;\n\n\tonly?: string[];\n\n\tonProgress?: (progress: { percentage: number | undefined }) => void;\n\n\tonStart?: () => void;\n\n\tonSuccess?: () => void;\n\n\tpreserveScroll?: boolean | ((props: { [key: string]: unknown }) => boolean);\n\n\tpreserveState?:\n\t\t| boolean\n\t\t| ((props: { [key: string]: unknown }) => boolean)\n\t\t| null;\n\n\tqueryStringArrayFormat?: 'brackets' | 'indices';\n\n\t/**\n\t * Calls `router.replace` instead of `router.push`.\n\t */\n\treplace?: boolean;\n\n\t/**\n\t * Any HTML tag corresponding to a non-void HTMl element.\n\t */\n\ttag?: string;\n\n\t/**\n\t * Sets or retrieves the window or frame at which to target content.\n\t */\n\ttarget?: HTMLAnchorElement['target'];\n\n\t/**\n\t * Text content of the component.\n\t */\n\ttext?: string;\n\n\t/**\n\t * Route Location the link should navigate to when clicked on.\n\t */\n\tto?: RouteLocationRaw;\n\n\t/**\n\t * Gets the classification and default behavior of the button.\n\t */\n\ttype?: HTMLButtonElement['type'];\n};\n\nconst props = withDefaults(defineProps<BaseButtonProps>(), {\n\ttag: 'button',\n\ttype: 'button',\n});\n\ndefineSlots<{\n\tdefault?: (props: {}) => any;\n}>();\n\n/* Ignore because possibly undefined */\n// @ts-ignore\nconst isInertia = !!getCurrentInstance()?.proxy?.$inertia;\n\n// @ts-ignore\nconst isNuxt = !!getCurrentInstance()?.proxy?.$nuxt;\n\nconst tag = computed(() => {\n\t// For disabled links always render a\n\tif (props.href || (props.to && props.disabled)) {\n\t\tif (isInertia && !props.disabled) return resolveComponent('Link');\n\t\treturn 'a';\n\t}\n\tif (props.to) {\n\t\tif (isNuxt) return resolveComponent('NuxtLink');\n\t\treturn 'router-link';\n\t}\n\treturn props.tag;\n});\n\nconst classes = computed(() => ({\n\t'base-btn': true,\n\t'base-btn--block': props.block,\n\t'base-btn--disabled': props.disabled,\n}));\n\nconst attributes = computed(() => {\n\ttype PossibleAttributes = {\n\t\tactiveClass: BaseButtonProps['activeClass'];\n\n\t\t'aria-disabled': boolean;\n\n\t\tariaCurrentValue: BaseButtonProps['ariaCurrentValue'];\n\n\t\tdata: BaseButtonProps['data'];\n\n\t\tdisabled: boolean;\n\n\t\texactActiveClass: BaseButtonProps['exactActiveClass'];\n\n\t\theaders: BaseButtonProps['headers'];\n\n\t\thref: string;\n\n\t\tmethod: BaseButtonProps['method'];\n\n\t\tonBefore: BaseButtonProps['onBefore'];\n\n\t\tonCancel: BaseButtonProps['onCancel'];\n\n\t\tonCancelToken: BaseButtonProps['onCancelToken'];\n\n\t\tonFinish: BaseButtonProps['onFinish'];\n\n\t\tonly: BaseButtonProps['only'];\n\n\t\tonProgress: BaseButtonProps['onProgress'];\n\n\t\tonStart: BaseButtonProps['onStart'];\n\n\t\tonSuccess: BaseButtonProps['onSuccess'];\n\n\t\tpreserveScroll: BaseButtonProps['preserveScroll'];\n\n\t\tpreserveState: BaseButtonProps['preserveState'];\n\n\t\tqueryStringArrayFormat: BaseButtonProps['queryStringArrayFormat'];\n\n\t\treplace: BaseButtonProps['replace'];\n\n\t\trole: string;\n\n\t\tstyle: { [rule: string]: string };\n\n\t\ttarget: string;\n\n\t\tto: BaseButtonProps['to'];\n\n\t\ttype: string;\n\t};\n\tconst initial: Partial<PossibleAttributes> = {};\n\n\tif (tag.value === 'button') {\n\t\tinitial.disabled = props.disabled;\n\t\tinitial.type = props.type;\n\t} else if (\n\t\ttag.value === 'a' ||\n\t\t(isInertia && typeof tag.value !== 'string' && tag.value.name === 'Link')\n\t) {\n\t\t// When rendering as anchor prevent navigation if disabled\n\t\t// https://getbootstrap.com/docs/4.0/components/buttons/#disabled-state\n\t\tif (props.disabled) {\n\t\t\tinitial['aria-disabled'] = true;\n\t\t\tinitial.role = 'link';\n\t\t} else {\n\t\t\t// Only attach the href to active links\n\t\t\t// https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n\t\t\tinitial.href = props.href;\n\t\t\tinitial.target = props.target;\n\n\t\t\tif (isInertia) {\n\t\t\t\tinitial.data = props.data;\n\t\t\t\tinitial.headers = props.headers;\n\t\t\t\tinitial.method = props.method;\n\t\t\t\tinitial.onBefore = props.onBefore;\n\t\t\t\tinitial.onCancel = props.onCancel;\n\t\t\t\tinitial.onCancelToken = props.onCancelToken;\n\t\t\t\tinitial.onFinish = props.onFinish;\n\t\t\t\tinitial.only = props.only;\n\t\t\t\tinitial.onProgress = props.onProgress;\n\t\t\t\tinitial.onStart = props.onStart;\n\t\t\t\tinitial.onSuccess = props.onSuccess;\n\t\t\t\tinitial.preserveScroll = props.preserveScroll;\n\t\t\t\tinitial.preserveState = props.preserveState;\n\t\t\t\tinitial.queryStringArrayFormat = props.queryStringArrayFormat;\n\t\t\t\tinitial.replace = props.replace;\n\t\t\t}\n\t\t}\n\t} else if (\n\t\ttag.value === 'router-link' ||\n\t\t(typeof tag.value !== 'string' && tag.value.name === 'NuxtLink')\n\t) {\n\t\tinitial.activeClass = props.activeClass;\n\t\tinitial.ariaCurrentValue = props.ariaCurrentValue;\n\t\tinitial.exactActiveClass = props.exactActiveClass;\n\t\tinitial.replace = props.replace;\n\t\tinitial.target = props.target;\n\t\tinitial.to = props.to;\n\t}\n\n\tswitch (tag.value) {\n\t\tcase 'button':\n\t\t\tinitial.disabled = props.disabled;\n\t\t\tinitial.type = props.type;\n\t\t\tbreak;\n\t\tcase 'a':\n\t\t\t// When rendering as anchor prevent navigation if disabled\n\t\t\t// https://getbootstrap.com/docs/4.0/components/buttons/#disabled-state\n\t\t\tif (props.disabled) {\n\t\t\t\tinitial['aria-disabled'] = true;\n\t\t\t\tinitial.role = 'link';\n\t\t\t} else {\n\t\t\t\t// Only attach the href to active links\n\t\t\t\t// https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n\t\t\t\tinitial.href = props.href;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'router-link':\n\t\t\tinitial.to = props.to;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\treturn initial;\n});\n</script>\n<style lang=\"postcss\">\n@import '@/assets/css/BaseButton';\n</style>\n"],"names":["props","__props","isInertia","_b","_a","getCurrentInstance","isNuxt","_d","_c","tag","computed","resolveComponent","classes","attributes","initial"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkHA,UAAMA,IAAQC,GAWRC,IAAY,CAAC,GAACC,KAAAC,IAAAC,EAAA,MAAA,gBAAAD,EAAsB,UAAtB,QAAAD,EAA6B,WAG3CG,IAAS,CAAC,GAACC,KAAAC,IAAAH,EAAA,MAAA,gBAAAG,EAAsB,UAAtB,QAAAD,EAA6B,QAExCE,IAAMC,EAAS,MAEhBV,EAAM,QAASA,EAAM,MAAMA,EAAM,WAChCE,KAAa,CAACF,EAAM,WAAiBW,EAAiB,MAAM,IACzD,MAEJX,EAAM,KACLM,IAAeK,EAAiB,UAAU,IACvC,gBAEDX,EAAM,GACb,GAEKY,IAAUF,EAAS,OAAO;AAAA,MAC/B,YAAY;AAAA,MACZ,mBAAmBV,EAAM;AAAA,MACzB,sBAAsBA,EAAM;AAAA,IAC3B,EAAA,GAEIa,IAAaH,EAAS,MAAM;AAsDjC,YAAMI,IAAuC,CAAA;AAkD7C,cAhDIL,EAAI,UAAU,YACjBK,EAAQ,WAAWd,EAAM,UACzBc,EAAQ,OAAOd,EAAM,QAErBS,EAAI,UAAU,OACbP,KAAa,OAAOO,EAAI,SAAU,YAAYA,EAAI,MAAM,SAAS,SAI9DT,EAAM,YACTc,EAAQ,eAAe,IAAI,IAC3BA,EAAQ,OAAO,WAIfA,EAAQ,OAAOd,EAAM,MACrBc,EAAQ,SAASd,EAAM,QAEnBE,MACHY,EAAQ,OAAOd,EAAM,MACrBc,EAAQ,UAAUd,EAAM,SACxBc,EAAQ,SAASd,EAAM,QACvBc,EAAQ,WAAWd,EAAM,UACzBc,EAAQ,WAAWd,EAAM,UACzBc,EAAQ,gBAAgBd,EAAM,eAC9Bc,EAAQ,WAAWd,EAAM,UACzBc,EAAQ,OAAOd,EAAM,MACrBc,EAAQ,aAAad,EAAM,YAC3Bc,EAAQ,UAAUd,EAAM,SACxBc,EAAQ,YAAYd,EAAM,WAC1Bc,EAAQ,iBAAiBd,EAAM,gBAC/Bc,EAAQ,gBAAgBd,EAAM,eAC9Bc,EAAQ,yBAAyBd,EAAM,wBACvCc,EAAQ,UAAUd,EAAM,aAI1BS,EAAI,UAAU,iBACb,OAAOA,EAAI,SAAU,YAAYA,EAAI,MAAM,SAAS,gBAErDK,EAAQ,cAAcd,EAAM,aAC5Bc,EAAQ,mBAAmBd,EAAM,kBACjCc,EAAQ,mBAAmBd,EAAM,kBACjCc,EAAQ,UAAUd,EAAM,SACxBc,EAAQ,SAASd,EAAM,QACvBc,EAAQ,KAAKd,EAAM,KAGZS,EAAI,OAAO;AAAA,QAClB,KAAK;AACJ,UAAAK,EAAQ,WAAWd,EAAM,UACzBc,EAAQ,OAAOd,EAAM;AACrB;AAAA,QACD,KAAK;AAGJ,UAAIA,EAAM,YACTc,EAAQ,eAAe,IAAI,IAC3BA,EAAQ,OAAO,UAIfA,EAAQ,OAAOd,EAAM;AAEtB;AAAA,QACD,KAAK;AACJ,UAAAc,EAAQ,KAAKd,EAAM;AACnB;AAAA,MAGF;AACO,aAAAc;AAAA,IAAA,CACP;;;;;;;;;;;"}
|
package/dist/index90.js
CHANGED
package/dist/index90.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index90.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index90.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index91.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index91.js","sources":["../src/components/BbSelect/BbSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseSelect from '../BaseSelect/BaseSelect.vue';\nimport type { BaseSelectEvents } from '../BaseSelect/BaseSelect.vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BbSelectProps<T> = {\n\t/**\n\t * Allows the user to add options to the list by\n\t * inserting text in the input and pressing ENTER.\n\t * The value and text of the option generated is a\n\t * string equal to what has been inserted.\n\t */\n\taddOptions?: boolean;\n\n\t/**\n\t * Allows typing into the input.\n\t */\n\tallowWriting?: boolean;\n\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Sets the display model for selected values to a list\n\t * of comma separated string. In this mode the user\n\t * cannot deselect an option by pressing the close button.\n\t */\n\tcomma?: boolean;\n\n\t/**\n\t * Used to log messages for debugging.\n\t */\n\tdebug?: boolean;\n\n\t/**\n\t * Defines an array of dependencies that will trigger actions in the component upon change.\n\t */\n\tdependencies?: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to dependencies.\n\t */\n\tdepsDebounceTime?: number;\n\n\t/**\n\t * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n\t */\n\tdirection?: 'horizontal' | 'vertical' | 'auto' | string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * If coherence is enforce the input cannot have a modelValue the is incoherent with its current items.\n\t *\n\t * e.g. You cannot set v-model to a user that is not present in the items passed.\n\t *\n\t * modelValue will be reset upon incoherence.\n\t */\n\tenforceCoherence?: boolean;\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\n\n\t/**\n\t * Defines how the filtering should work.\n\t * In any case options are always filtered by the text displayed but\n\t * they can also take into account other properties of the\n\t * passed elements when this property is a string or an array of string.\n\t * E.g. items could be a list of users and you can filter users by email or phone by passing `['email', 'phone']`\n\t * You can also pass false to not filter anything or a function for more granular control.\n\t *\n\t */\n\tfilterBy?:\n\t\t| string\n\t\t| string[]\n\t\t| false\n\t\t| ((value: any, item: T) => boolean)\n\t\t| null;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used to retrieve items can be an array or a function.\n\t */\n\titems:\n\t\t| T[]\n\t\t| ((query: string, prefill: boolean, modelValue: any) => Promise<T[]>)\n\t\t| ((query: string, prefill: boolean, modelValue: any) => T[]);\n\n\t/**\n\t * Defines a path that returns a property of the object to use as text or a function that returns a string\n\t */\n\titemText?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => string) | undefined;\n\n\t/**\n\t * Defines a path that returns a property of the object to use as value or a function that returns any value\n\t */\n\titemValue?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => any) | undefined;\n\n\t/**\n\t * Text content of the label of the element.\n\t */\n\tlabel: string;\n\n\t/**\n\t * Sets the text alignment of the label.\n\t */\n\tlabelPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * String displayed while items are being loaded.\n\t */\n\tloadingText?: string;\n\n\t/**\n\t * Defines the strategy used to understand whether an option has been selected.\n\t * `string` is 40% faster but relies on property order.\n\t * `equality` is more reliable but is slower.\n\t */\n\tmatchStrategy?: 'string' | 'equality';\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue: any;\n\n\t/**\n\t * Timeout used to debounce response to changes to modelValue.\n\t */\n\tmodelValueDebounceTime?: number;\n\n\t/**\n\t * Allows the selection of multiple items.\n\t */\n\tmultiple?: boolean;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there are no items to display.\n\t */\n\tnoDataText?: string;\n\n\t/**\n\t * String displayed when there's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Defines the prefill strategy for the input. By default the input will prefill\n\t * on focus. It can also always prefill with `true` and only prefill on search with `false`.\n\t */\n\tprefill?: boolean | 'focus';\n\n\t/**\n\t * Time to wait when the users stops writing in the input before querying data.\n\t * Especially useful when searching live data on big datasets.\n\t */\n\tqueryDebounceTime?: number;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * If `true` when in multiple selection, reset the query immediately\n\t * upon selecting an option. By default the query is\n\t * not reset until focus is lost so the user can search\n\t * for \"Cath\" and select \"Cathy\" and then write more to\n\t * search for \"Catherine\"\n\t */\n\tresetQueryOnOptionSelected?: boolean;\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Adds a stash to accumulate selected values. Especially\n\t * useful when searching in a big database of items.\n\t * E.g. if you search for \"John\" and then search for \"Richard\"\n\t * you either always return the previous items or you stash them passing `true` to this option.\n\t */\n\tstash?: boolean;\n\n\t/**\n\t * How long the transition has to last in milliseconds\n\t */\n\ttransitionDuration?: number;\n\n\t/**\n\t * Pass `true` if the dropdown is not updating following movement in the UI, like in modals. Very expensive so use with care.\n\t */\n\tupdateOnAnimationFrame?: boolean;\n};\n\nexport type BbSelectEvents = BaseSelectEvents;\n\nexport type BbSelectSlots<T> = {\n\tappend?: (props: {}) => any;\n\n\t'append-outer'?: (props: {}) => any;\n\n\tchevron?: (props: { loading: boolean; shown: boolean }) => any;\n\n\tchip?: (props: {\n\t\tdisabled: boolean;\n\t\thasErrors?: boolean;\n\t\tindex: number;\n\t\titem: T;\n\t\tloading: boolean;\n\t\tmanual: boolean;\n\t\tselected: boolean;\n\t\ttext: string;\n\t\tvalue: any;\n\t}) => any;\n\n\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n\n\tloading?: (props: { query: string }) => any;\n\n\t'no-data'?: (props: { query: string }) => any;\n\n\toption?: (props: {\n\t\tdisabled: boolean;\n\t\tfocused: boolean;\n\t\thasErrors?: boolean;\n\t\tindex: number;\n\t\titem: T;\n\t\tloading: boolean;\n\t\tmanual: boolean;\n\t\tselected: boolean;\n\t\ttext: string;\n\t\tvalue: any;\n\t}) => any;\n\n\t'option:append'?: (props: { item: T }) => any;\n\n\t'option:prepend'?: (props: { item: T }) => any;\n\n\t'options:append'?: (props: {}) => any;\n\n\t'options:prepend'?: (props: {}) => any;\n\n\tprepend?: (props: {}) => any;\n\n\t'prepend-outer'?: (props: {}) => any;\n\n\tspinner?: (props: { loading: boolean }) => any;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbSelect',\n props: {\n addOptions: { type: Boolean },\n allowWriting: { type: Boolean, default: true },\n autocomplete: {},\n autofocus: {},\n comma: { type: Boolean },\n debug: { type: Boolean },\n dependencies: {},\n depsDebounceTime: {},\n direction: {},\n disabled: { type: Boolean },\n enforceCoherence: { type: Boolean },\n errors: {},\n filterBy: { type: [String, Array, Boolean, Function, null] },\n hasErrors: { type: Boolean },\n hideLabel: { type: Boolean },\n id: {},\n items: {},\n itemText: {},\n itemValue: {},\n label: {},\n labelPosition: {},\n loadingText: {},\n matchStrategy: {},\n modelValue: {},\n modelValueDebounceTime: {},\n multiple: { type: Boolean },\n name: {},\n noDataText: {},\n placeholder: {},\n prefill: { type: [Boolean, String], default: 'focus' },\n queryDebounceTime: {},\n readonly: {},\n resetQueryOnOptionSelected: { type: Boolean },\n reverse: { type: Boolean },\n stash: { type: Boolean },\n transitionDuration: {},\n updateOnAnimationFrame: { type: Boolean }\n },\n emits: [\"blur\", \"change\", \"click\", \"focus\", \"inactive\", \"input\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\nconst emit = __emit;\n\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInactive: () => emit('inactive'),\n\tonInput: (event: Event) => emit('input', event),\n\t'onUpdate:modelValue': (value: any) => emit('update:modelValue', value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BaseInputContainer, {\n id: _ctx.id,\n class: \"bb-select\",\n direction: _ctx.direction,\n errors: _ctx.errors,\n \"has-errors\": _ctx.hasErrors,\n \"hide-label\": _ctx.hideLabel,\n label: _ctx.label,\n \"label-position\": _ctx.labelPosition,\n \"model-value\": _ctx.modelValue,\n name: _ctx.name,\n reverse: _ctx.reverse\n }, {\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"label\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n input: _withCtx(({ id, name, hasErrors }) => [\n _createVNode(BaseSelect, _mergeProps({\n id: id,\n \"add-options\": _ctx.addOptions,\n \"allow-writing\": _ctx.allowWriting,\n autocomplete: _ctx.autocomplete,\n autofocus: _ctx.autofocus,\n comma: _ctx.comma,\n debug: _ctx.debug,\n dependencies: _ctx.dependencies,\n \"deps-debounce-time\": _ctx.depsDebounceTime,\n disabled: _ctx.disabled,\n \"enforce-coherence\": _ctx.enforceCoherence,\n \"filter-by\": _ctx.filterBy,\n \"has-errors\": hasErrors,\n \"item-text\": <any>_ctx.itemText,\n \"item-value\": <any>_ctx.itemValue,\n items: _ctx.items,\n \"loading-text\": _ctx.loadingText,\n \"match-strategy\": _ctx.matchStrategy,\n \"model-value\": _ctx.modelValue,\n \"model-value-debounce-time\": _ctx.modelValueDebounceTime,\n multiple: _ctx.multiple,\n name: name,\n \"no-data-text\": _ctx.noDataText,\n placeholder: _ctx.placeholder,\n prefill: _ctx.prefill,\n \"query-debounce-time\": _ctx.queryDebounceTime,\n readonly: _ctx.readonly,\n \"reset-query-on-option-selected\": _ctx.resetQueryOnOptionSelected,\n stash: _ctx.stash,\n \"transition-duration\": _ctx.transitionDuration,\n \"update-on-animation-frame\": _ctx.updateOnAnimationFrame\n }, eventListeners), {\n \"append-outer\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"append-outer\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n append: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"append\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n chevron: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"chevron\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n loading: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"loading\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"no-data\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"no-data\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"option:append\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"option:append\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"option:prepend\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"option:prepend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n option: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"option\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"options:append\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"options:append\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"options:prepend\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"options:prepend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"prepend-outer\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"prepend-outer\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n prepend: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"prepend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n spinner: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"spinner\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n chip: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"chip\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n _: 2\n }, 1040, [\"id\", \"add-options\", \"allow-writing\", \"autocomplete\", \"autofocus\", \"comma\", \"debug\", \"dependencies\", \"deps-debounce-time\", \"disabled\", \"enforce-coherence\", \"filter-by\", \"has-errors\", \"item-text\", \"item-value\", \"items\", \"loading-text\", \"match-strategy\", \"model-value\", \"model-value-debounce-time\", \"multiple\", \"name\", \"no-data-text\", \"placeholder\", \"prefill\", \"query-debounce-time\", \"readonly\", \"reset-query-on-option-selected\", \"stash\", \"transition-duration\", \"update-on-animation-frame\"])\n ]),\n _: 3\n }, 8, [\"id\", \"direction\", \"errors\", \"has-errors\", \"hide-label\", \"label\", \"label-position\", \"model-value\", \"name\", \"reverse\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","__emit","emit","eventListeners","event","value","_ctx","_cache","_openBlock","_createBlock","BaseInputContainer","_withCtx","data","_renderSlot","_normalizeProps","_guardReactiveProps","id","name","hasErrors","_createVNode","BaseSelect","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index91.js","sources":["../src/components/BbSelect/BbSelect.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-select\"\n\t\t:direction=\"direction\"\n\t\t:errors=\"errors\"\n\t\t:has-errors=\"hasErrors\"\n\t\t:hide-label=\"hideLabel\"\n\t\t:label=\"label\"\n\t\t:label-position=\"labelPosition\"\n\t\t:model-value=\"modelValue\"\n\t\t:name=\"name\"\n\t\t:reverse=\"reverse\"\n\t>\n\t\t<template #label=\"data\"><slot name=\"label\" v-bind=\"data\"></slot></template>\n\t\t<template #input=\"{ id, name, hasErrors }\">\n\t\t\t<BaseSelect\n\t\t\t\t:id=\"id\"\n\t\t\t\t:add-options=\"addOptions\"\n\t\t\t\t:allow-writing=\"allowWriting\"\n\t\t\t\t:autocomplete=\"autocomplete\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:comma=\"comma\"\n\t\t\t\t:debug=\"debug\"\n\t\t\t\t:dependencies=\"dependencies\"\n\t\t\t\t:deps-debounce-time=\"depsDebounceTime\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:enforce-coherence=\"enforceCoherence\"\n\t\t\t\t:filter-by=\"filterBy\"\n\t\t\t\t:has-errors=\"hasErrors\"\n\t\t\t\t:item-text=\"<any>itemText\"\n\t\t\t\t:item-value=\"<any>itemValue\"\n\t\t\t\t:items=\"items\"\n\t\t\t\t:loading-text=\"loadingText\"\n\t\t\t\t:match-strategy=\"matchStrategy\"\n\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t:model-value-debounce-time=\"modelValueDebounceTime\"\n\t\t\t\t:multiple=\"multiple\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:no-data-text=\"noDataText\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:prefill=\"prefill\"\n\t\t\t\t:query-debounce-time=\"queryDebounceTime\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:reset-query-on-option-selected=\"resetQueryOnOptionSelected\"\n\t\t\t\t:stash=\"stash\"\n\t\t\t\t:transition-duration=\"transitionDuration\"\n\t\t\t\t:update-on-animation-frame=\"updateOnAnimationFrame\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t>\n\t\t\t\t<template #append-outer=\"data\"\n\t\t\t\t\t><slot name=\"append-outer\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #append=\"data\"><slot name=\"append\" v-bind=\"data\" /></template>\n\t\t\t\t<template #chevron=\"data\"\n\t\t\t\t\t><slot name=\"chevron\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #loading=\"data\"\n\t\t\t\t\t><slot name=\"loading\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #no-data=\"data\"\n\t\t\t\t\t><slot name=\"no-data\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #option:append=\"data\"\n\t\t\t\t\t><slot name=\"option:append\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #option:prepend=\"data\"\n\t\t\t\t\t><slot name=\"option:prepend\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #option=\"data\"><slot name=\"option\" v-bind=\"data\" /></template>\n\t\t\t\t<template #options:append=\"data\"\n\t\t\t\t\t><slot name=\"options:append\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #options:prepend=\"data\"\n\t\t\t\t\t><slot name=\"options:prepend\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #prepend-outer=\"data\"\n\t\t\t\t\t><slot name=\"prepend-outer\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #prepend=\"data\"\n\t\t\t\t\t><slot name=\"prepend\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #spinner=\"data\"\n\t\t\t\t\t><slot name=\"spinner\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t\t<template #chip=\"data\"><slot name=\"chip\" v-bind=\"data\" /></template>\n\t\t\t</BaseSelect>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\" generic=\"T = any\">\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseSelect from '../BaseSelect/BaseSelect.vue';\nimport type { BaseSelectEvents } from '../BaseSelect/BaseSelect.vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BbSelectProps<T> = {\n\t/**\n\t * Allows the user to add options to the list by\n\t * inserting text in the input and pressing ENTER.\n\t * The value and text of the option generated is a\n\t * string equal to what has been inserted.\n\t */\n\taddOptions?: boolean;\n\n\t/**\n\t * Allows typing into the input.\n\t */\n\tallowWriting?: boolean;\n\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Sets the display model for selected values to a list\n\t * of comma separated string. In this mode the user\n\t * cannot deselect an option by pressing the close button.\n\t */\n\tcomma?: boolean;\n\n\t/**\n\t * Used to log messages for debugging.\n\t */\n\tdebug?: boolean;\n\n\t/**\n\t * Defines an array of dependencies that will trigger actions in the component upon change.\n\t */\n\tdependencies?: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to dependencies.\n\t */\n\tdepsDebounceTime?: number;\n\n\t/**\n\t * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n\t */\n\tdirection?: 'horizontal' | 'vertical' | 'auto' | string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * If coherence is enforce the input cannot have a modelValue the is incoherent with its current items.\n\t *\n\t * e.g. You cannot set v-model to a user that is not present in the items passed.\n\t *\n\t * modelValue will be reset upon incoherence.\n\t */\n\tenforceCoherence?: boolean;\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\n\n\t/**\n\t * Defines how the filtering should work.\n\t * In any case options are always filtered by the text displayed but\n\t * they can also take into account other properties of the\n\t * passed elements when this property is a string or an array of string.\n\t * E.g. items could be a list of users and you can filter users by email or phone by passing `['email', 'phone']`\n\t * You can also pass false to not filter anything or a function for more granular control.\n\t *\n\t */\n\tfilterBy?:\n\t\t| string\n\t\t| string[]\n\t\t| false\n\t\t| ((value: any, item: T) => boolean)\n\t\t| null;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used to retrieve items can be an array or a function.\n\t */\n\titems:\n\t\t| T[]\n\t\t| ((query: string, prefill: boolean, modelValue: any) => Promise<T[]>)\n\t\t| ((query: string, prefill: boolean, modelValue: any) => T[]);\n\n\t/**\n\t * Defines a path that returns a property of the object to use as text or a function that returns a string\n\t */\n\titemText?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => string) | undefined;\n\n\t/**\n\t * Defines a path that returns a property of the object to use as value or a function that returns any value\n\t */\n\titemValue?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => any) | undefined;\n\n\t/**\n\t * Text content of the label of the element.\n\t */\n\tlabel: string;\n\n\t/**\n\t * Sets the text alignment of the label.\n\t */\n\tlabelPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * String displayed while items are being loaded.\n\t */\n\tloadingText?: string;\n\n\t/**\n\t * Defines the strategy used to understand whether an option has been selected.\n\t * `string` is 40% faster but relies on property order.\n\t * `equality` is more reliable but is slower.\n\t */\n\tmatchStrategy?: 'string' | 'equality';\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue: any;\n\n\t/**\n\t * Timeout used to debounce response to changes to modelValue.\n\t */\n\tmodelValueDebounceTime?: number;\n\n\t/**\n\t * Allows the selection of multiple items.\n\t */\n\tmultiple?: boolean;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there are no items to display.\n\t */\n\tnoDataText?: string;\n\n\t/**\n\t * String displayed when there's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Defines the prefill strategy for the input. By default the input will prefill\n\t * on focus. It can also always prefill with `true` and only prefill on search with `false`.\n\t */\n\tprefill?: boolean | 'focus';\n\n\t/**\n\t * Time to wait when the users stops writing in the input before querying data.\n\t * Especially useful when searching live data on big datasets.\n\t */\n\tqueryDebounceTime?: number;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * If `true` when in multiple selection, reset the query immediately\n\t * upon selecting an option. By default the query is\n\t * not reset until focus is lost so the user can search\n\t * for \"Cath\" and select \"Cathy\" and then write more to\n\t * search for \"Catherine\"\n\t */\n\tresetQueryOnOptionSelected?: boolean;\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Adds a stash to accumulate selected values. Especially\n\t * useful when searching in a big database of items.\n\t * E.g. if you search for \"John\" and then search for \"Richard\"\n\t * you either always return the previous items or you stash them passing `true` to this option.\n\t */\n\tstash?: boolean;\n\n\t/**\n\t * How long the transition has to last in milliseconds\n\t */\n\ttransitionDuration?: number;\n\n\t/**\n\t * Pass `true` if the dropdown is not updating following movement in the UI, like in modals. Very expensive so use with care.\n\t */\n\tupdateOnAnimationFrame?: boolean;\n};\n\nexport type BbSelectEvents = BaseSelectEvents;\n\nexport type BbSelectSlots<T> = {\n\tappend?: (props: {}) => any;\n\n\t'append-outer'?: (props: {}) => any;\n\n\tchevron?: (props: { loading: boolean; shown: boolean }) => any;\n\n\tchip?: (props: {\n\t\tdisabled: boolean;\n\t\thasErrors?: boolean;\n\t\tindex: number;\n\t\titem: T;\n\t\tloading: boolean;\n\t\tmanual: boolean;\n\t\tselected: boolean;\n\t\ttext: string;\n\t\tvalue: any;\n\t}) => any;\n\n\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n\n\tloading?: (props: { query: string }) => any;\n\n\t'no-data'?: (props: { query: string }) => any;\n\n\toption?: (props: {\n\t\tdisabled: boolean;\n\t\tfocused: boolean;\n\t\thasErrors?: boolean;\n\t\tindex: number;\n\t\titem: T;\n\t\tloading: boolean;\n\t\tmanual: boolean;\n\t\tselected: boolean;\n\t\ttext: string;\n\t\tvalue: any;\n\t}) => any;\n\n\t'option:append'?: (props: { item: T }) => any;\n\n\t'option:prepend'?: (props: { item: T }) => any;\n\n\t'options:append'?: (props: {}) => any;\n\n\t'options:prepend'?: (props: {}) => any;\n\n\tprepend?: (props: {}) => any;\n\n\t'prepend-outer'?: (props: {}) => any;\n\n\tspinner?: (props: { loading: boolean }) => any;\n};\n\nwithDefaults(defineProps<BbSelectProps<T>>(), {\n\tallowWriting: true,\n\tprefill: 'focus',\n});\n\nconst emit = defineEmits<BbSelectEvents>();\ndefineSlots<BbSelectSlots<T>>();\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInactive: () => emit('inactive'),\n\tonInput: (event: Event) => emit('input', event),\n\t'onUpdate:modelValue': (value: any) => emit('update:modelValue', value),\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbSelect';\n</style>\n"],"names":["emit","__emit","eventListeners","event","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgYA,UAAMA,IAAOC,GAGPC,IAAiB;AAAA,MACtB,QAAQ,CAACC,MAAsBH,EAAK,QAAQG,CAAK;AAAA,MACjD,UAAU,CAACA,MAAiBH,EAAK,UAAUG,CAAK;AAAA,MAChD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,YAAY,MAAMH,EAAK,UAAU;AAAA,MACjC,SAAS,CAACG,MAAiBH,EAAK,SAASG,CAAK;AAAA,MAC9C,uBAAuB,CAACC,MAAeJ,EAAK,qBAAqBI,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index92.js
CHANGED
package/dist/index92.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index92.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index92.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index93.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index93.js","sources":["../src/components/BbSlider/BbSlider.vue
|
|
1
|
+
{"version":3,"file":"index93.js","sources":["../src/components/BbSlider/BbSlider.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-slider\"\n\t\t:direction=\"direction\"\n\t\t:errors=\"errors\"\n\t\t:has-errors=\"hasErrors\"\n\t\t:hide-label=\"hideLabel\"\n\t\t:label=\"label\"\n\t\t:label-position=\"labelPosition\"\n\t\t:model-value=\"modelValue\"\n\t\t:name=\"name\"\n\t\t:reverse=\"reverse\"\n\t>\n\t\t<template #label=\"data\"><slot name=\"label\" v-bind=\"data\"></slot></template>\n\t\t<template #input=\"{ id, name, hasErrors }\">\n\t\t\t<BaseSlider\n\t\t\t\t:id=\"id\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:color=\"color\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:has-errors=\"hasErrors\"\n\t\t\t\t:max=\"max\"\n\t\t\t\t:min=\"min\"\n\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:step=\"step\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t>\n\t\t\t\t<template #append=\"data\"><slot name=\"append\" v-bind=\"data\" /></template>\n\t\t\t\t<template #prepend=\"data\"\n\t\t\t\t\t><slot name=\"prepend\" v-bind=\"data\"\n\t\t\t\t/></template>\n\t\t\t</BaseSlider>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseSlider from '../BaseSlider/BaseSlider.vue';\nimport type {\n\tBaseSliderEvents,\n\tBaseSliderSlots,\n} from '../BaseSlider/BaseSlider.vue';\nimport type { BaseInputContainerSlots } from '../BaseInputContainer/BaseInputContainer.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BbSliderProps = {\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n\t */\n\tdirection?: 'horizontal' | 'vertical' | 'auto' | string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Text content of the label of the element.\n\t */\n\tlabel: string;\n\n\t/**\n\t * Sets the text alignment of the label.\n\t */\n\tlabelPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * Maximum value cap.\n\t */\n\tmax?: number;\n\n\t/**\n\t * Minimum value cap.\n\t */\n\tmin?: number;\n\n\t/**\n\t * Used by v-model.\n\t */\n\tmodelValue: number | string | null;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * The step attribute is a number that specifies the granularity that the value must adhere to.\n\t */\n\tstep?: number;\n};\ndefineProps<BbSliderProps>();\n\nexport type BbSliderEvents = BaseSliderEvents;\n\nconst emit = defineEmits<BbSliderEvents>();\n\ntype BbSliderSlots = BaseSliderSlots & {\n\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n};\n\ndefineSlots<BbSliderSlots>();\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonEnd: (value: BbSliderProps['modelValue']) => emit('end', value),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInactive: () => emit('inactive'),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonPointerdown: (event: PointerEvent) => emit('pointerdown', event),\n\tonPointermove: (event: PointerEvent) => emit('pointermove', event),\n\tonPointerup: (event: PointerEvent) => emit('pointerup', event),\n\tonStart: (value: BbSliderProps['modelValue']) => emit('start', value),\n\t'onUpdate:modelValue': (value: number) => emit('update:modelValue', value),\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbSlider';\n</style>\n"],"names":["emit","__emit","eventListeners","event","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IA,UAAMA,IAAOC,GAWPC,IAAiB;AAAA,MACtB,SAAS,CAACC,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,OAAO,CAACC,MAAuCJ,EAAK,OAAOI,CAAK;AAAA,MAChE,SAAS,CAACD,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,YAAY,MAAMH,EAAK,UAAU;AAAA,MACjC,WAAW,CAACG,MAAyBH,EAAK,WAAWG,CAAK;AAAA,MAC1D,eAAe,CAACA,MAAwBH,EAAK,eAAeG,CAAK;AAAA,MACjE,eAAe,CAACA,MAAwBH,EAAK,eAAeG,CAAK;AAAA,MACjE,aAAa,CAACA,MAAwBH,EAAK,aAAaG,CAAK;AAAA,MAC7D,SAAS,CAACC,MAAuCJ,EAAK,SAASI,CAAK;AAAA,MACpE,uBAAuB,CAACA,MAAkBJ,EAAK,qBAAqBI,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index94.js
CHANGED
package/dist/index94.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index94.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index94.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index95.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index95.js","sources":["../src/components/BbSwitch/BbSwitch.vue
|
|
1
|
+
{"version":3,"file":"index95.js","sources":["../src/components/BbSwitch/BbSwitch.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-switch\"\n\t\t:direction=\"direction\"\n\t\t:errors=\"errors\"\n\t\t:has-errors=\"hasErrors\"\n\t\t:hide-label=\"hideLabel\"\n\t\t:input-position=\"inputPosition\"\n\t\t:label=\"label\"\n\t\t:label-position=\"labelPosition\"\n\t\t:label-tag=\"'span'\"\n\t\t:name=\"name\"\n\t\t:reverse=\"reverse\"\n\t\t:tag=\"'label'\"\n\t>\n\t\t<template #label=\"data\"><slot name=\"label\" v-bind=\"data\"></slot></template>\n\t\t<template #input=\"{ id, name, hasErrors }\">\n\t\t\t<BaseSwitch\n\t\t\t\t:id=\"id\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:checked=\"checked\"\n\t\t\t\t:color=\"color\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:false-value=\"falseValue\"\n\t\t\t\t:has-errors=\"hasErrors\"\n\t\t\t\t:indeterminate=\"indeterminate\"\n\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:submit-when-false=\"submitWhenFalse\"\n\t\t\t\t:true-value=\"trueValue\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t>\n\t\t\t\t<template #icon=\"data\"\n\t\t\t\t\t><slot name=\"icon\" v-bind=\"data\" :text=\"label\"\n\t\t\t\t/></template>\n\t\t\t</BaseSwitch>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseSwitch from '../BaseSwitch/BaseSwitch.vue';\nimport type { SlotAttributes } from '../BaseCheckbox/BaseCheckbox.vue';\nimport type {\n\tBbCheckboxEvents,\n\tBbCheckboxProps,\n} from '../BbCheckbox/BbCheckbox.vue';\n\nexport type BbSwitchProps = BbCheckboxProps;\n\nexport type BbSwitchEvents = BbCheckboxEvents;\n\nwithDefaults(defineProps<BbSwitchProps>(), {\n\tdirection: 'auto',\n\treverse: true,\n});\n\nconst emit = defineEmits<BbSwitchEvents>();\n\ndefineSlots<{\n\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n\ticon?: (props: SlotAttributes & { text: string }) => any;\n}>();\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n\t'onUpdate:modelValue': (value: any) => emit('update:modelValue', value),\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbSwitch';\n</style>\n"],"names":["emit","__emit","eventListeners","event","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,UAAMA,IAAOC,GAOPC,IAAiB;AAAA,MACtB,QAAQ,CAACC,MAAsBH,EAAK,QAAQG,CAAK;AAAA,MACjD,UAAU,CAACA,MAAiBH,EAAK,UAAUG,CAAK;AAAA,MAChD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,SAAS,CAACA,MAAsBH,EAAK,SAASG,CAAK;AAAA,MACnD,SAAS,CAACA,MAAiBH,EAAK,SAASG,CAAK;AAAA,MAC9C,WAAW,CAACA,MAAyBH,EAAK,WAAWG,CAAK;AAAA,MAC1D,aAAa,CAACA,MAAsBH,EAAK,aAAaG,CAAK;AAAA,MAC3D,WAAW,CAACA,MAAsBH,EAAK,WAAWG,CAAK;AAAA,MACvD,uBAAuB,CAACC,MAAeJ,EAAK,qBAAqBI,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|