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/index53.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index53.js","sources":[
|
|
1
|
+
{"version":3,"file":"index53.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index54.js
CHANGED
package/dist/index54.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index54.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index54.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index55.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index55.js","sources":["../src/components/BbCheckbox/BbCheckbox.vue
|
|
1
|
+
{"version":3,"file":"index55.js","sources":["../src/components/BbCheckbox/BbCheckbox.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-checkbox\"\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<BaseCheckbox\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\t><template #icon=\"data\"\n\t\t\t\t\t><slot name=\"icon\" v-bind=\"data\" :text=\"label\" /></template\n\t\t\t></BaseCheckbox>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport type {\n\tBaseCheckboxEvents,\n\tSlotAttributes,\n} from '../BaseCheckbox/BaseCheckbox.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BbCheckboxProps = {\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 * Value of the input when unchecked. It handles any kind of serializable object.\n\t */\n\tfalseValue?: any;\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 * Sets the input in an indeterminate state.\n\t */\n\tindeterminate?: InputHTMLAttributes['indeterminate'];\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 * Will submit \"falseValue\" if the input is not checked. Otherwise \"trueValue\" will be submitted.\n\t */\n\tsubmitWhenFalse?: boolean;\n\n\t/**\n\t * Value of the input when checked. It handles any kind of serializable object.\n\t */\n\ttrueValue?: any;\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue?: 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 BbCheckboxEvents = BaseCheckboxEvents;\n\nwithDefaults(defineProps<BbCheckboxProps>(), {\n\tdirection: 'auto',\n\treverse: true,\n});\n\nconst emit = defineEmits<BbCheckboxEvents>();\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/BbCheckbox';\n</style>\n"],"names":["emit","__emit","eventListeners","event","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiKA,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/index56.js
CHANGED
package/dist/index56.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index56.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index56.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index57.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index57.js","sources":["../src/components/BbCheckboxGroup/BbCheckboxGroup.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 BaseCheckboxGroup from '../BaseCheckboxGroup/BaseCheckboxGroup.vue';\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport type { BaseCheckboxGroupEvents } from '../BaseCheckboxGroup/BaseCheckboxGroup.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { SlotAttributes } from '../BaseCheckbox/BaseCheckbox.vue';\n\nexport type BbCheckboxGroupProps<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\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 an array of 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\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 type BbCheckboxGroupEvents = BaseCheckboxGroupEvents;\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbCheckboxGroup',\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: {},\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\", \"inactive\", \"input\", \"keydown\", \"mousedown\", \"mouseup\", \"update:modelValue\"],\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-checkbox-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(BaseCheckboxGroup, _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,\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","BaseCheckboxGroup","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index57.js","sources":["../src/components/BbCheckboxGroup/BbCheckboxGroup.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-checkbox-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<BaseCheckboxGroup\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\"\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</BaseCheckboxGroup>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\" generic=\"T = any\">\nimport BaseCheckboxGroup from '../BaseCheckboxGroup/BaseCheckboxGroup.vue';\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport type { BaseCheckboxGroupEvents } from '../BaseCheckboxGroup/BaseCheckboxGroup.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { SlotAttributes } from '../BaseCheckbox/BaseCheckbox.vue';\n\nexport type BbCheckboxGroupProps<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\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 an array of 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\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 type BbCheckboxGroupEvents = BaseCheckboxGroupEvents;\n\nwithDefaults(defineProps<BbCheckboxGroupProps<T>>(), {});\n\nconst emit = defineEmits<BbCheckboxGroupEvents>();\n\ndefineSlots<{\n\tprepend?: (props: {}) => any;\n\tloading?: (props: {}) => any;\n\t'no-data'?: (props: {}) => any;\n\t'option:prepend'?: (props: { item: T }) => any;\n\ticon?: (\n\t\tprops: SlotAttributes & {\n\t\t\titem: T;\n\t\t\ttext: string;\n\t\t}\n\t) => any;\n\tlabel?: (props: { item: T; text: string; checked: boolean }) => any;\n\t'option:append'?: (props: { item: T }) => 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/BbCheckboxGroup';\n</style>\n"],"names":["emit","__emit","eventListeners","event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgNA,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/index58.js
CHANGED
package/dist/index58.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index58.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index58.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index59.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index59.js","sources":["../src/components/BbConfirm/BbConfirm.vue
|
|
1
|
+
{"version":3,"file":"index59.js","sources":["../src/components/BbConfirm/BbConfirm.vue"],"sourcesContent":["<template>\n\t<BaseDialog\n\t\t:model-value=\"state.open || state.loading\"\n\t\t:overlay-classes=\"['bb-confirm', `bb-confirm--${state.theme}`]\"\n\t\t:size=\"state.size\"\n\t\t:title=\"state.title\"\n\t\t@update:model-value=\"onModelValueUpdate\"\n\t>\n\t\t<!-- Transparently pass all slots that are not customized -->\n\t\t<template\n\t\t\tv-for=\"name in ['header', 'title', 'close', 'description']\"\n\t\t\t#[name]=\"data\"\n\t\t>\n\t\t\t<slot :name=\"name\" v-bind=\"data\"> </slot>\n\t\t</template>\n\t\t<div v-if=\"!state.loading\" class=\"bb-confirm__content\">\n\t\t\t<div v-if=\"state.text\" class=\"bb-confirm__text\">{{ state.text }}</div>\n\t\t</div>\n\t\t<slot v-else name=\"spinner\">\n\t\t\t<div class=\"bb-confirm__spinner\">\n\t\t\t\t<BbSpinner size=\"60\" />\n\t\t\t</div>\n\t\t</slot>\n\t\t<template v-if=\"!state.loading && state.actions\" #footer=\"data\">\n\t\t\t<slot\n\t\t\t\t:actions=\"state.actions\"\n\t\t\t\t:loading=\"state.loading\"\n\t\t\t\tname=\"footer\"\n\t\t\t\t:no=\"state.no\"\n\t\t\t\t:no-action=\"noAction\"\n\t\t\t\t:yes=\"state.yes\"\n\t\t\t\t:yes-action=\"yesAction\"\n\t\t\t\tv-bind=\"data\"\n\t\t\t>\n\t\t\t\t<BaseButton\n\t\t\t\t\tv-if=\"state.no\"\n\t\t\t\t\tclass=\"bb-confirm__no\"\n\t\t\t\t\t@click=\"noAction.handler\"\n\t\t\t\t>\n\t\t\t\t\t{{ noAction.text }}\n\t\t\t\t</BaseButton>\n\n\t\t\t\t<BaseButton\n\t\t\t\t\tv-if=\"state.yes\"\n\t\t\t\t\tclass=\"bb-confirm__yes\"\n\t\t\t\t\t@click=\"yesAction.handler\"\n\t\t\t\t>\n\t\t\t\t\t{{ yesAction.text }}\n\t\t\t\t</BaseButton>\n\t\t\t</slot>\n\t\t</template>\n\t</BaseDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { actions, state } from '@/composables/useConfirm';\nimport { computed } from 'vue';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport BaseDialog from '../BaseDialog/BaseDialog.vue';\nimport BbSpinner from '../BbSpinner/BbSpinner.vue';\n\nconst noAction = computed(() => actions.value[0]);\nconst yesAction = computed(() => actions.value[1]);\nconst onModelValueUpdate = (value: boolean) => {\n\tif (value) yesAction.value.handler();\n\telse noAction.value.handler();\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbConfirm';\n</style>\n"],"names":["noAction","computed","actions","yesAction","onModelValueUpdate","value"],"mappings":";;;;;;;;;;;;;;;;;AA6DA,UAAMA,IAAWC,EAAS,MAAMC,EAAQ,MAAM,CAAC,CAAC,GAC1CC,IAAYF,EAAS,MAAMC,EAAQ,MAAM,CAAC,CAAC,GAC3CE,IAAqB,CAACC,MAAmB;AAC1C,MAAAA,IAAOF,EAAU,MAAM,YACtBH,EAAS,MAAM;IAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index60.js
CHANGED
package/dist/index60.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index60.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index60.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index61.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index61.js","sources":["../src/components/BbDatePickerInput/BbDatePickerInput.vue
|
|
1
|
+
{"version":3,"file":"index61.js","sources":["../src/components/BbDatePickerInput/BbDatePickerInput.vue"],"sourcesContent":["<template>\n\t<BaseInputContainer\n\t\t:id=\"id\"\n\t\tclass=\"bb-date-picker-input\"\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<BaseDatePickerInput\n\t\t\t\t:id=\"id\"\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:disabled=\"disabled\"\n\t\t\t\t:first-day-of-week=\"firstDayOfWeek\"\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:placeholder=\"placeholder\"\n\t\t\t\t:range=\"range\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:selectable=\"selectable\"\n\t\t\t\t:width=\"width\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t>\n\t\t\t\t<template v-for=\"(_, name) in $slots\" #[name]=\"data\">\n\t\t\t\t\t<slot :name=\"name\" v-bind=\"data\" />\n\t\t\t\t</template>\n\t\t\t</BaseDatePickerInput>\n\t\t</template>\n\t</BaseInputContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport BaseDatePickerInput from '../BaseDatePickerInput/BaseDatePickerInput.vue';\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport type { BaseDatePickerInputEvents } from '../BaseDatePickerInput/BaseDatePickerInput.vue';\nimport type { BaseDatePickerSlots } from '../BaseDatePicker/BaseDatePicker.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type { Locale } from 'dayjs/locale/it';\n\nexport type BbDatePickerInputProps = {\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 * 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 * Defines the first day of the week with `0` meaning Sunday and `6` meaning Saturday\n\t */\n\tfirstDayOfWeek?: Locale['weekStart'];\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 selectable date\n\t */\n\tmax?: Date | string | number;\n\n\t/**\n\t * Minimum selectable date\n\t */\n\tmin?: Date | string | number;\n\n\t/**\n\t * Used by v-model. Can be null, a single string, or an array of strings based on whether a range or single date is needed\n\t */\n\tmodelValue: string | string[] | null;\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's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Selects a range of dates between two dates. It selects all of the days between start and end\n\t */\n\trange?: boolean;\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 * Function that accepts a `Date` object and returns a boolean. `false` meaning the date cannot be selected\n\t * @param date\n\t */\n\tselectable?: (date: Date) => boolean;\n\n\t/**\n\t * Width of the calendar\n\t */\n\twidth?: number | string;\n};\n\nwithDefaults(defineProps<BbDatePickerInputProps>(), {\n\tallowWriting: true,\n});\n\nexport type BbDatePickerInputEvents = BaseDatePickerInputEvents;\n\nconst emit = defineEmits<BbDatePickerInputEvents>();\n\ndefineSlots<\n\t{\n\t\t'prepend-outer'?: (props: {}) => any;\n\t\tprepend?: (props: {}) => any;\n\t\tappend?: (props: {}) => any;\n\t\t'append-outer'?: (props: {}) => any;\n\t\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n\t} & BaseDatePickerSlots\n>();\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n\tonInactive: () => emit('inactive'),\n\tonError: (message: string) => emit('error', message),\n\t'onUpdate:modelValue': (value: BbDatePickerInputProps['modelValue']) =>\n\t\temit('update:modelValue', value),\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbDatePickerInput';\n</style>\n"],"names":["emit","__emit","eventListeners","message","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2KA,UAAMA,IAAOC,GAePC,IAAiB;AAAA,MACtB,YAAY,MAAMF,EAAK,UAAU;AAAA,MACjC,SAAS,CAACG,MAAoBH,EAAK,SAASG,CAAO;AAAA,MACnD,uBAAuB,CAACC,MACvBJ,EAAK,qBAAqBI,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index62.js
CHANGED
package/dist/index62.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index62.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index62.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index63.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index63.js","sources":["../src/components/BbDialog/BbDialog.vue
|
|
1
|
+
{"version":3,"file":"index63.js","sources":["../src/components/BbDialog/BbDialog.vue"],"sourcesContent":["<template>\n\t<!-- Events need to be propagated manually -->\n\t<BaseDialog\n\t\tv-bind=\"$props\"\n\t\t:overlay-classes=\"overlayClasses\"\n\t\t@hidden=\"() => $emit('hidden')\"\n\t\t@shown=\"() => $emit('shown')\"\n\t\t@update:model-value=\"(value: boolean) => $emit('update:modelValue', value)\"\n\t\t><template #close=\"data\"><slot name=\"close\" v-bind=\"data\" /></template\n\t\t><template #default=\"data\"><slot name=\"default\" v-bind=\"data\" /></template\n\t\t><template #description=\"data\"\n\t\t\t><slot name=\"description\" v-bind=\"data\" /></template\n\t\t><template #footer=\"data\"><slot name=\"footer\" v-bind=\"data\" /></template\n\t\t><template #header=\"data\"><slot name=\"header\" v-bind=\"data\" /></template\n\t\t><template #title=\"data\"><slot name=\"title\" v-bind=\"data\" /></template>\n\t</BaseDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport BaseDialog from '../BaseDialog/BaseDialog.vue';\nimport type { Classes } from '@/types/Classes';\nimport type {\n\tBaseDialogProps,\n\tBaseDialogEvents,\n\tBaseDialogSlots,\n} from '../BaseDialog/BaseDialog.vue';\nexport type {\n\tBaseDialogProps as BbDialogProps,\n\tBaseDialogEvents as BbDialogEvents,\n\tSizes,\n} from '../BaseDialog/BaseDialog.vue';\n\nconst props = withDefaults(defineProps<BaseDialogProps>(), {\n\tshowClose: true,\n});\n\ndefineEmits<BaseDialogEvents>();\n\ndefineSlots<BaseDialogSlots>();\n\nconst overlayClasses = computed<Classes>(() => {\n\tlet base: Classes = ['bb-dialog'];\n\tif (props.overlayClasses) {\n\t\tbase = base.concat(props.overlayClasses);\n\t}\n\treturn base;\n});\n</script>\n<style lang=\"postcss\">\n@import '@/assets/css/BbDialog';\n</style>\n"],"names":["props","__props","overlayClasses","computed","base"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAiCA,UAAMA,IAAQC,GAQRC,IAAiBC,EAAkB,MAAM;AAC1C,UAAAC,IAAgB,CAAC,WAAW;AAChC,aAAIJ,EAAM,mBACFI,IAAAA,EAAK,OAAOJ,EAAM,cAAc,IAEjCI;AAAA,IAAA,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index64.js
CHANGED
package/dist/index64.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index64.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index64.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index65.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent as Y, computed as M, ref as v, openBlock as D, createElementBlock as H, mergeProps as S, createElementVNode as h, renderSlot as y, normalizeProps as Z, guardReactiveProps as ee, unref as c, createBlock as te, Teleport as oe, normalizeClass as ne, normalizeStyle as z, Fragment as N, renderList as ae, createVNode as le, withCtx as se, createCommentVNode as ie } from "vue";
|
|
2
|
-
import { findRightIndex as I } from "./
|
|
3
|
-
import { useFloating as re, arrow as ue } from "./
|
|
2
|
+
import { findRightIndex as I } from "./index222.js";
|
|
3
|
+
import { useFloating as re, arrow as ue } from "./index223.js";
|
|
4
4
|
import { useId as de } from "./index7.js";
|
|
5
5
|
import { wait as U } from "./index122.js";
|
|
6
6
|
import ce from "./index9.js";
|
|
7
7
|
import "./index10.js";
|
|
8
8
|
import V from "./index218.js";
|
|
9
|
-
import { autoUpdate as fe, flip as pe, shift as be } from "./
|
|
9
|
+
import { autoUpdate as fe, flip as pe, shift as be } from "./index214.js";
|
|
10
10
|
import { offset as me } from "./index219.js";
|
|
11
11
|
const ve = ["id", "aria-labelledby"], we = { class: "bb-dropdown__items-container" }, Me = /* @__PURE__ */ Y({
|
|
12
12
|
__name: "BbDropdown",
|
package/dist/index65.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index65.js","sources":["../src/components/BbDropdown/BbDropdown.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, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass, Teleport as _Teleport, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = [\"id\", \"aria-labelledby\"]\nconst _hoisted_2 = { class: \"bb-dropdown__items-container\" }\n\nimport { computed, ref } from 'vue';\nimport { findRightIndex } from '@/utilities/functions/findRightIndex';\nimport {\n\tuseFloating,\n\tautoUpdate,\n\tflip,\n\tshift,\n\tarrow,\n\toffset,\n} from '@floating-ui/vue';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport selectors from 'focusable-selectors';\nimport type { BaseButtonProps } from '../BaseButton/BaseButton.vue';\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbDropdownProps = Pick<\n\tCommonProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'id'\n\t| 'offset'\n\t| 'padding'\n\t| 'placement'\n\t| 'theme'\n\t| 'transitionDuration'\n> & {\n\t/**\n\t * Array used to render each dropdown button.\n\t * They can act as `button`, as `a`, or as `router-link`\n\t * as they are based on the functionality provided by\n\t * `BaseButton`\n\t */\n\titems: Item[];\n\t/**\n\t * Width of the dropdown in pixels.\n\t */\n\twidth?: number;\n};\n\nexport type Item = Omit<BaseButtonProps, 'block' | 'tag' | 'type'> & {\n\t/**\n\t * Click handler of the item.\n\t */\n\tonClick?: (...args: any[]) => any;\n\t/**\n\t * Key used to identify the element.\n\t */\n\tkey: string;\n};\n\nexport type MappedItem = Item & {\n\t/**\n\t * Identifier of the element among it's siblings.\n\t */\n\tid: string;\n\t/**\n\t * Keydown event used to handle accessibility.\n\t */\n\tonKeydown: (event: KeyboardEvent) => void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbDropdown',\n props: {\n arrowPadding: { default: 10 },\n block: { type: Boolean },\n disabled: { type: Boolean },\n eager: { type: Boolean },\n id: {},\n offset: { default: 3 },\n padding: { default: 6 },\n placement: { default: 'bottom' },\n theme: { default: 'default' },\n transitionDuration: { default: 150 },\n items: {},\n width: { default: 200 }\n },\n setup(__props: any) {\n\n\n\nconst props = __props;\n\nconst id = props.id ?? `bb_${useId().id.value}`;\n\nconst mappedItems = computed<MappedItem[]>(() => {\n\tlet firstFocusableIndex: number = props.items.findIndex((el) => !el.disabled);\n\tlet lastFocusableIndex: number = findRightIndex(\n\t\tprops.items,\n\t\t(item) => !item.disabled\n\t);\n\n\treturn props.items.map((item, index) => {\n\t\tconst itemid = `${id}-item-${item.key}`;\n\t\tconst { onClick: handler, ...rest } = item;\n\n\t\t/* Id a click handler has been passed close the dropdown\n\t\t * return focus and run the handler\n\t\t */\n\t\tconst onClick = async () => {\n\t\t\tawait closeDropdown();\n\t\t\tconst nextElement = document.querySelector(`#${id}`);\n\t\t\tif (!nextElement) return;\n\t\t\telse if (nextElement instanceof HTMLElement) {\n\t\t\t\tnextElement.focus();\n\t\t\t}\n\t\t\tif (handler) handler();\n\t\t};\n\n\t\t/**\n\t\t * On keydown\n\t\t * arrow down move to the next focusable element if it's not the last\n\t\t * arrow up move to the previous focusable element if it's not the first\n\t\t * on tab search the next focusable element after the button that opens the dropdown\n\t\t * if an element is found focus on that\n\t\t * (the menu is attached to body so it's not in order)\n\t\t */\n\t\tconst onKeydown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.target instanceof HTMLElement &&\n\t\t\t\tevent.target.dataset['dropdownItem']\n\t\t\t) {\n\t\t\t\tif (!content.value) return;\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (content.value && index !== lastFocusableIndex) {\n\t\t\t\t\t\tconst option = content.value.querySelector(\n\t\t\t\t\t\t\tselectors.map((selector) => `#${itemid} ~ ${selector}`).join(',')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\t\t\t\toption.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'ArrowUp') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (content.value && index !== firstFocusableIndex) {\n\t\t\t\t\t\tconst indexOfPrevious = findRightIndex(props.items, (item, i) => {\n\t\t\t\t\t\t\treturn i < index && !item.disabled;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst options = Array.from(\n\t\t\t\t\t\t\tcontent.value.querySelectorAll(`.bb-dropdown__item`)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst option = options[indexOfPrevious];\n\n\t\t\t\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\t\t\t\toption.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'Tab') {\n\t\t\t\t\tif (index === lastFocusableIndex && !event.shiftKey) {\n\t\t\t\t\t\tconst selector = selectors.join(',');\n\t\t\t\t\t\tconst focusableElements = Array.from(\n\t\t\t\t\t\t\tdocument.querySelectorAll(selector)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst indexOfButton = focusableElements.findIndex(\n\t\t\t\t\t\t\t(el) => el.id === id\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst nextElement = focusableElements[indexOfButton + 1];\n\t\t\t\t\t\tif (!nextElement) return;\n\t\t\t\t\t\telse if (nextElement instanceof HTMLElement) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tcloseDropdown();\n\t\t\t\t\t\t\tnextElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index === firstFocusableIndex && event.shiftKey) {\n\t\t\t\t\t\tconst nextElement = document.querySelector(`#${id}`);\n\t\t\t\t\t\tif (!nextElement) return;\n\t\t\t\t\t\telse if (nextElement instanceof HTMLElement) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tnextElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn {\n\t\t\t...rest,\n\t\t\tdisabled: rest.disabled || props.disabled,\n\t\t\tid: itemid,\n\t\t\tonClick,\n\t\t\tonKeydown,\n\t\t};\n\t});\n});\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\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 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\n/* On click of the trigger attach elements */\nconst onClick = () => {\n\tif (opening.value || closing.value) return;\n\tif (open.value) {\n\t\tcloseDropdown();\n\t} else {\n\t\topenDropdown();\n\t}\n};\n\nconst onKeydown = async (event: KeyboardEvent) => {\n\tlet firstFocusableIndex: number = props.items.findIndex((el) => !el.disabled);\n\tlet lastFocusableIndex: number = findRightIndex(\n\t\tprops.items,\n\t\t(item) => !item.disabled\n\t);\n\tif (event.key === 'ArrowDown') {\n\t\tevent.preventDefault();\n\t\tif (closing.value || opening.value) return;\n\t\tif (closed.value) {\n\t\t\tawait openDropdown();\n\t\t}\n\t\tif (\n\t\t\tcontent.value &&\n\t\t\tmappedItems.value.length &&\n\t\t\tfirstFocusableIndex !== -1\n\t\t) {\n\t\t\tconst idToFocus = mappedItems.value[firstFocusableIndex].id;\n\t\t\tconst option = content.value.querySelector(`#${idToFocus}`);\n\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\toption.focus();\n\t\t\t}\n\t\t}\n\t} else if (event.key === 'ArrowUp') {\n\t\tevent.preventDefault();\n\t\tif (closing.value || opening.value) return;\n\t\tif (closed.value) {\n\t\t\tawait openDropdown();\n\t\t}\n\t\tif (\n\t\t\tcontent.value &&\n\t\t\tmappedItems.value.length &&\n\t\t\tlastFocusableIndex !== -1\n\t\t) {\n\t\t\tconst idToFocus = mappedItems.value[lastFocusableIndex].id;\n\t\t\tconst option = content.value.querySelector(`#${idToFocus}`);\n\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\toption.focus();\n\t\t\t}\n\t\t}\n\t} else if (event.key === 'Tab') {\n\t\tif (open.value && !event.shiftKey) {\n\t\t\tevent.preventDefault();\n\t\t\tif (\n\t\t\t\tcontent.value &&\n\t\t\t\tmappedItems.value.length &&\n\t\t\t\tfirstFocusableIndex !== -1\n\t\t\t) {\n\t\t\t\tconst idToFocus = mappedItems.value[firstFocusableIndex].id;\n\t\t\t\tconst option = content.value.querySelector(`#${idToFocus}`);\n\t\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\t\toption.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onClickDocument = (event: Event) => {\n\tconst target = event.target;\n\tif (!target) return;\n\tif (target instanceof HTMLElement) {\n\t\tlet isOutside = true;\n\n\t\tif (wrapper.value) {\n\t\t\tif (wrapper.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\t\tif (content.value) {\n\t\t\tif (content.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\n\t\tif (isOutside) {\n\t\t\tcloseDropdown();\n\t\t}\n\t}\n};\n\nconst onDocumentFocus = (event: FocusEvent) => {\n\tconst target = event.target;\n\tif (!target) return;\n\tif (target instanceof HTMLElement) {\n\t\tlet isOutside = true;\n\n\t\tif (wrapper.value) {\n\t\t\tif (wrapper.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\t\tif (content.value) {\n\t\t\tif (content.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\n\t\tif (isOutside) {\n\t\t\tcloseDropdown();\n\t\t}\n\t}\n};\n\nconst onEsc = (event: KeyboardEvent) => {\n\tif (open.value) {\n\t\tif (event.key === 'Escape') {\n\t\t\tif (document.activeElement?.id !== id) {\n\t\t\t\tconst button = document.querySelector(`#${id}`);\n\t\t\t\tif (button instanceof HTMLElement) {\n\t\t\t\t\tbutton.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcloseDropdown();\n\t\t}\n\t}\n};\nconst hasOpenedOnce = ref(false);\nconst openDropdown = async () => {\n\thasOpenedOnce.value = true;\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\t/* Attach listeners to document so we don't have to track them one by one */\n\tdocument.addEventListener('click', onClickDocument, { passive: true });\n\tdocument.addEventListener('focusin', onDocumentFocus, { passive: true });\n\tdocument.addEventListener('keydown', onEsc, { passive: true });\n};\n\nconst closeDropdown = 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\tdocument.removeEventListener('click', onClickDocument);\n\tdocument.removeEventListener('focusin', onDocumentFocus);\n\tdocument.removeEventListener('keydown', onEsc);\n};\n\nconst attributes = computed(() => {\n\tconst classes = {\n\t\t'bb-dropdown--block': props.block,\n\t\t[`bb-dropdown--theme-${props.theme}`]: props.theme,\n\t};\n\treturn {\n\t\tclass: classes,\n\t};\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", _mergeProps({ class: \"bb-dropdown\" }, attributes.value), [\n _createElementVNode(\"span\", {\n ref_key: \"wrapper\",\n ref: wrapper,\n class: \"bb-dropdown__wrapper\"\n }, [\n _renderSlot(_ctx.$slots, \"activator\", _normalizeProps(_guardReactiveProps({\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t'aria-expanded': open.value,\n\t\t\t\t\t\t'aria-controls': `menu_${_unref(id)}`,\n\t\t\t\t\t\tid: _unref(id),\n\t\t\t\t\t\tonClick: onClick,\n\t\t\t\t\t\tonKeydown: onKeydown,\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 (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createBlock(_Teleport, {\n key: 0,\n to: \"body\"\n }, [\n _createElementVNode(\"span\", {\n id: `menu_${_unref(id)}`,\n ref_key: \"content\",\n ref: content,\n \"aria-labelledby\": _unref(id),\n \"aria-role\": \"menu\",\n class: _normalizeClass([\"bb-dropdown__bubble-container\", {\n\t\t\t\t\t[`bb-dropdown__bubble-container--${_unref(placement)}`]: true,\n\t\t\t\t\t[`bb-dropdown__bubble-container--${_ctx.theme}`]: _ctx.theme,\n\t\t\t\t\t'bb-dropdown__bubble-container--hidden': closed.value,\n\t\t\t\t\t'bb-dropdown__bubble-container--closing': closing.value,\n\t\t\t\t\t'bb-dropdown__bubble-container--opening': opening.value,\n\t\t\t\t\t'bb-dropdown__bubble-container--open': open.value,\n\t\t\t\t}]),\n style: _normalizeStyle({\n\t\t\t\t\t..._unref(floatingStyles),\n\t\t\t\t\ttransitionDuration: `${props.transitionDuration}ms`,\n\t\t\t\t})\n }, [\n _createElementVNode(\"span\", _mergeProps({\n ref_key: \"bubblearrow\",\n ref: bubblearrow,\n class: \"bb-dropdown__arrow\"\n }, arrowAttributes.value), null, 16),\n _createElementVNode(\"span\", {\n class: \"bb-dropdown__bubble\",\n style: _normalizeStyle({ width: `${_ctx.width}px` })\n }, [\n _renderSlot(_ctx.$slots, \"prepend\", {\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 _createElementVNode(\"span\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mappedItems.value, (item, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, {\n key: item.key\n }, [\n _renderSlot(_ctx.$slots, `item:prepend`, {\n closed: closed.value,\n closing: closing.value,\n disabled: item.disabled,\n index: index,\n item: _ctx.items[index],\n open: open.value,\n opening: opening.value,\n placement: _unref(placement),\n text: item.text\n }),\n _createVNode(BaseButton, _mergeProps({\n \"aria-role\": 'menuitem',\n class: [\"bb-dropdown__item\", {\n\t\t\t\t\t\t\t\t\t'bb-dropdown__item--first': index === 0,\n\t\t\t\t\t\t\t\t\t'bb-dropdown__item--last': index === _ctx.items.length - 1,\n\t\t\t\t\t\t\t\t}],\n \"data-dropdown-item\": true\n }, item), {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, item.key, {\n closed: closed.value,\n closing: closing.value,\n disabled: item.disabled,\n index: index,\n item: item,\n open: open.value,\n opening: opening.value,\n placement: _unref(placement),\n text: item.text\n }, () => [\n _renderSlot(_ctx.$slots, \"item\", {\n closed: closed.value,\n closing: closing.value,\n disabled: item.disabled,\n index: index,\n item: item,\n open: open.value,\n opening: opening.value,\n placement: _unref(placement),\n text: item.text\n })\n ])\n ]),\n _: 2\n }, 1040, [\"class\"]),\n _renderSlot(_ctx.$slots, `item:append`, {\n closed: closed.value,\n closing: closing.value,\n disabled: item.disabled,\n index: index,\n item: _ctx.items[index],\n open: open.value,\n opening: opening.value,\n placement: _unref(placement),\n text: item.text\n })\n ], 64))\n }), 128))\n ]),\n _renderSlot(_ctx.$slots, \"append\", {\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 ], 4)\n ], 14, _hoisted_1)\n ]))\n : _createCommentVNode(\"\", true)\n ], 16))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_sfc_main","_defineComponent","__props","props","id","useId","mappedItems","computed","firstFocusableIndex","el","lastFocusableIndex","findRightIndex","item","index","itemid","handler","rest","onClick","closeDropdown","nextElement","onKeydown","event","content","option","selectors","selector","indexOfPrevious","i","focusableElements","indexOfButton","wrapper","ref","bubblearrow","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","offset","shift","arrow","opening","open","closing","closed","arrowAttributes","x","y","openDropdown","idToFocus","onClickDocument","target","isOutside","onDocumentFocus","onEsc","_a","button","hasOpenedOnce","wait","attributes","_ctx","_cache","_openBlock","_createElementBlock","_mergeProps","_createElementVNode","_renderSlot","_normalizeProps","_guardReactiveProps","_unref","_createBlock","_Teleport","_normalizeClass","_normalizeStyle","_Fragment","_renderList","_createVNode","BaseButton","_withCtx","_createCommentVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index65.js","sources":["../src/components/BbDropdown/BbDropdown.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-dropdown\" v-bind=\"attributes\">\n\t\t<span ref=\"wrapper\" class=\"bb-dropdown__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-expanded': open,\n\t\t\t\t\t\t'aria-controls': `menu_${id}`,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tonClick,\n\t\t\t\t\t\tonKeydown,\n\t\t\t\t\t\tdisabled,\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 v-if=\"hasOpenedOnce || eager\" to=\"body\">\n\t\t\t<span\n\t\t\t\t:id=\"`menu_${id}`\"\n\t\t\t\tref=\"content\"\n\t\t\t\t:aria-labelledby=\"id\"\n\t\t\t\taria-role=\"menu\"\n\t\t\t\tclass=\"bb-dropdown__bubble-container\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t[`bb-dropdown__bubble-container--${placement}`]: true,\n\t\t\t\t\t[`bb-dropdown__bubble-container--${theme}`]: theme,\n\t\t\t\t\t'bb-dropdown__bubble-container--hidden': closed,\n\t\t\t\t\t'bb-dropdown__bubble-container--closing': closing,\n\t\t\t\t\t'bb-dropdown__bubble-container--opening': opening,\n\t\t\t\t\t'bb-dropdown__bubble-container--open': open,\n\t\t\t\t}\"\n\t\t\t\t:style=\"{\n\t\t\t\t\t...floatingStyles,\n\t\t\t\t\ttransitionDuration: `${props.transitionDuration}ms`,\n\t\t\t\t}\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tref=\"bubblearrow\"\n\t\t\t\t\tclass=\"bb-dropdown__arrow\"\n\t\t\t\t\tv-bind=\"arrowAttributes\"\n\t\t\t\t></span>\n\t\t\t\t<span class=\"bb-dropdown__bubble\" :style=\"{ width: `${width}px` }\">\n\t\t\t\t\t<slot\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\tname=\"prepend\"\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\t<span class=\"bb-dropdown__items-container\">\n\t\t\t\t\t\t<template v-for=\"(item, index) in mappedItems\" :key=\"item.key\">\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t\t\t\t:name=\"`item:prepend`\"\n\t\t\t\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t\t\t\t></slot>\n\t\t\t\t\t\t\t<BaseButton\n\t\t\t\t\t\t\t\t:aria-role=\"'menuitem'\"\n\t\t\t\t\t\t\t\tclass=\"bb-dropdown__item\"\n\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t'bb-dropdown__item--first': index === 0,\n\t\t\t\t\t\t\t\t\t'bb-dropdown__item--last': index === items.length - 1,\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t:data-dropdown-item=\"true\"\n\t\t\t\t\t\t\t\tv-bind=\"item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t\t:name=\"item.key\"\n\t\t\t\t\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t\t\tname=\"item\"\n\t\t\t\t\t\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t\t\t\t\t\t></slot>\n\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t</BaseButton>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t\t\t\t:name=\"`item:append`\"\n\t\t\t\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t\t\t\t></slot>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</span>\n\t\t\t\t\t<slot\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\tname=\"append\"\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, ref } from 'vue';\nimport { findRightIndex } from '@/utilities/functions/findRightIndex';\nimport {\n\tuseFloating,\n\tautoUpdate,\n\tflip,\n\tshift,\n\tarrow,\n\toffset,\n} from '@floating-ui/vue';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport selectors from 'focusable-selectors';\nimport type { BaseButtonProps } from '../BaseButton/BaseButton.vue';\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbDropdownProps = Pick<\n\tCommonProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'id'\n\t| 'offset'\n\t| 'padding'\n\t| 'placement'\n\t| 'theme'\n\t| 'transitionDuration'\n> & {\n\t/**\n\t * Array used to render each dropdown button.\n\t * They can act as `button`, as `a`, or as `router-link`\n\t * as they are based on the functionality provided by\n\t * `BaseButton`\n\t */\n\titems: Item[];\n\t/**\n\t * Width of the dropdown in pixels.\n\t */\n\twidth?: number;\n};\n\ndefineSlots<\n\t{\n\t\tactivator?: (props: {\n\t\t\tprops: {\n\t\t\t\t'aria-expanded': boolean;\n\t\t\t\t'aria-controls': string;\n\t\t\t\tid: string;\n\t\t\t\tonClick: MappedItem['onClick'];\n\t\t\t\tonKeydown: MappedItem['onKeydown'];\n\t\t\t\tdisabled?: BbDropdownProps['disabled'];\n\t\t\t};\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: boolean;\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownProps['placement'];\n\t\t}) => any;\n\t\tprepend?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: boolean;\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownProps['placement'];\n\t\t}) => any;\n\t\t'item:prepend'?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t\titem?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t\t'item:append'?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t\tappend?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: boolean;\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownProps['placement'];\n\t\t}) => any;\n\t} & {\n\t\t[key: string]: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t}\n>();\n\nexport type Item = Omit<BaseButtonProps, 'block' | 'tag' | 'type'> & {\n\t/**\n\t * Click handler of the item.\n\t */\n\tonClick?: (...args: any[]) => any;\n\t/**\n\t * Key used to identify the element.\n\t */\n\tkey: string;\n};\n\nexport type MappedItem = Item & {\n\t/**\n\t * Identifier of the element among it's siblings.\n\t */\n\tid: string;\n\t/**\n\t * Keydown event used to handle accessibility.\n\t */\n\tonKeydown: (event: KeyboardEvent) => void;\n};\n\nconst props = withDefaults(defineProps<BbDropdownProps>(), {\n\tarrowPadding: 10,\n\tplacement: 'bottom',\n\ttheme: 'default',\n\ttransitionDuration: 150,\n\twidth: 200,\n\tpadding: 6,\n\toffset: 3,\n});\n\nconst id = props.id ?? `bb_${useId().id.value}`;\n\nconst mappedItems = computed<MappedItem[]>(() => {\n\tlet firstFocusableIndex: number = props.items.findIndex((el) => !el.disabled);\n\tlet lastFocusableIndex: number = findRightIndex(\n\t\tprops.items,\n\t\t(item) => !item.disabled\n\t);\n\n\treturn props.items.map((item, index) => {\n\t\tconst itemid = `${id}-item-${item.key}`;\n\t\tconst { onClick: handler, ...rest } = item;\n\n\t\t/* Id a click handler has been passed close the dropdown\n\t\t * return focus and run the handler\n\t\t */\n\t\tconst onClick = async () => {\n\t\t\tawait closeDropdown();\n\t\t\tconst nextElement = document.querySelector(`#${id}`);\n\t\t\tif (!nextElement) return;\n\t\t\telse if (nextElement instanceof HTMLElement) {\n\t\t\t\tnextElement.focus();\n\t\t\t}\n\t\t\tif (handler) handler();\n\t\t};\n\n\t\t/**\n\t\t * On keydown\n\t\t * arrow down move to the next focusable element if it's not the last\n\t\t * arrow up move to the previous focusable element if it's not the first\n\t\t * on tab search the next focusable element after the button that opens the dropdown\n\t\t * if an element is found focus on that\n\t\t * (the menu is attached to body so it's not in order)\n\t\t */\n\t\tconst onKeydown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.target instanceof HTMLElement &&\n\t\t\t\tevent.target.dataset['dropdownItem']\n\t\t\t) {\n\t\t\t\tif (!content.value) return;\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (content.value && index !== lastFocusableIndex) {\n\t\t\t\t\t\tconst option = content.value.querySelector(\n\t\t\t\t\t\t\tselectors.map((selector) => `#${itemid} ~ ${selector}`).join(',')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\t\t\t\toption.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'ArrowUp') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (content.value && index !== firstFocusableIndex) {\n\t\t\t\t\t\tconst indexOfPrevious = findRightIndex(props.items, (item, i) => {\n\t\t\t\t\t\t\treturn i < index && !item.disabled;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst options = Array.from(\n\t\t\t\t\t\t\tcontent.value.querySelectorAll(`.bb-dropdown__item`)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst option = options[indexOfPrevious];\n\n\t\t\t\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\t\t\t\toption.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.key === 'Tab') {\n\t\t\t\t\tif (index === lastFocusableIndex && !event.shiftKey) {\n\t\t\t\t\t\tconst selector = selectors.join(',');\n\t\t\t\t\t\tconst focusableElements = Array.from(\n\t\t\t\t\t\t\tdocument.querySelectorAll(selector)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst indexOfButton = focusableElements.findIndex(\n\t\t\t\t\t\t\t(el) => el.id === id\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst nextElement = focusableElements[indexOfButton + 1];\n\t\t\t\t\t\tif (!nextElement) return;\n\t\t\t\t\t\telse if (nextElement instanceof HTMLElement) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tcloseDropdown();\n\t\t\t\t\t\t\tnextElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index === firstFocusableIndex && event.shiftKey) {\n\t\t\t\t\t\tconst nextElement = document.querySelector(`#${id}`);\n\t\t\t\t\t\tif (!nextElement) return;\n\t\t\t\t\t\telse if (nextElement instanceof HTMLElement) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tnextElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn {\n\t\t\t...rest,\n\t\t\tdisabled: rest.disabled || props.disabled,\n\t\t\tid: itemid,\n\t\t\tonClick,\n\t\t\tonKeydown,\n\t\t};\n\t});\n});\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\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 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\n/* On click of the trigger attach elements */\nconst onClick = () => {\n\tif (opening.value || closing.value) return;\n\tif (open.value) {\n\t\tcloseDropdown();\n\t} else {\n\t\topenDropdown();\n\t}\n};\n\nconst onKeydown = async (event: KeyboardEvent) => {\n\tlet firstFocusableIndex: number = props.items.findIndex((el) => !el.disabled);\n\tlet lastFocusableIndex: number = findRightIndex(\n\t\tprops.items,\n\t\t(item) => !item.disabled\n\t);\n\tif (event.key === 'ArrowDown') {\n\t\tevent.preventDefault();\n\t\tif (closing.value || opening.value) return;\n\t\tif (closed.value) {\n\t\t\tawait openDropdown();\n\t\t}\n\t\tif (\n\t\t\tcontent.value &&\n\t\t\tmappedItems.value.length &&\n\t\t\tfirstFocusableIndex !== -1\n\t\t) {\n\t\t\tconst idToFocus = mappedItems.value[firstFocusableIndex].id;\n\t\t\tconst option = content.value.querySelector(`#${idToFocus}`);\n\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\toption.focus();\n\t\t\t}\n\t\t}\n\t} else if (event.key === 'ArrowUp') {\n\t\tevent.preventDefault();\n\t\tif (closing.value || opening.value) return;\n\t\tif (closed.value) {\n\t\t\tawait openDropdown();\n\t\t}\n\t\tif (\n\t\t\tcontent.value &&\n\t\t\tmappedItems.value.length &&\n\t\t\tlastFocusableIndex !== -1\n\t\t) {\n\t\t\tconst idToFocus = mappedItems.value[lastFocusableIndex].id;\n\t\t\tconst option = content.value.querySelector(`#${idToFocus}`);\n\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\toption.focus();\n\t\t\t}\n\t\t}\n\t} else if (event.key === 'Tab') {\n\t\tif (open.value && !event.shiftKey) {\n\t\t\tevent.preventDefault();\n\t\t\tif (\n\t\t\t\tcontent.value &&\n\t\t\t\tmappedItems.value.length &&\n\t\t\t\tfirstFocusableIndex !== -1\n\t\t\t) {\n\t\t\t\tconst idToFocus = mappedItems.value[firstFocusableIndex].id;\n\t\t\t\tconst option = content.value.querySelector(`#${idToFocus}`);\n\t\t\t\tif (option && option instanceof HTMLElement) {\n\t\t\t\t\toption.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onClickDocument = (event: Event) => {\n\tconst target = event.target;\n\tif (!target) return;\n\tif (target instanceof HTMLElement) {\n\t\tlet isOutside = true;\n\n\t\tif (wrapper.value) {\n\t\t\tif (wrapper.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\t\tif (content.value) {\n\t\t\tif (content.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\n\t\tif (isOutside) {\n\t\t\tcloseDropdown();\n\t\t}\n\t}\n};\n\nconst onDocumentFocus = (event: FocusEvent) => {\n\tconst target = event.target;\n\tif (!target) return;\n\tif (target instanceof HTMLElement) {\n\t\tlet isOutside = true;\n\n\t\tif (wrapper.value) {\n\t\t\tif (wrapper.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\t\tif (content.value) {\n\t\t\tif (content.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\n\t\tif (isOutside) {\n\t\t\tcloseDropdown();\n\t\t}\n\t}\n};\n\nconst onEsc = (event: KeyboardEvent) => {\n\tif (open.value) {\n\t\tif (event.key === 'Escape') {\n\t\t\tif (document.activeElement?.id !== id) {\n\t\t\t\tconst button = document.querySelector(`#${id}`);\n\t\t\t\tif (button instanceof HTMLElement) {\n\t\t\t\t\tbutton.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcloseDropdown();\n\t\t}\n\t}\n};\nconst hasOpenedOnce = ref(false);\nconst openDropdown = async () => {\n\thasOpenedOnce.value = true;\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\t/* Attach listeners to document so we don't have to track them one by one */\n\tdocument.addEventListener('click', onClickDocument, { passive: true });\n\tdocument.addEventListener('focusin', onDocumentFocus, { passive: true });\n\tdocument.addEventListener('keydown', onEsc, { passive: true });\n};\n\nconst closeDropdown = 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\tdocument.removeEventListener('click', onClickDocument);\n\tdocument.removeEventListener('focusin', onDocumentFocus);\n\tdocument.removeEventListener('keydown', onEsc);\n};\n\nconst attributes = computed(() => {\n\tconst classes = {\n\t\t'bb-dropdown--block': props.block,\n\t\t[`bb-dropdown--theme-${props.theme}`]: props.theme,\n\t};\n\treturn {\n\t\tclass: classes,\n\t};\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbDropdown';\n</style>\n"],"names":["props","__props","id","useId","mappedItems","computed","firstFocusableIndex","el","lastFocusableIndex","findRightIndex","item","index","itemid","handler","rest","onClick","closeDropdown","nextElement","onKeydown","event","content","option","selectors","selector","indexOfPrevious","i","focusableElements","indexOfButton","wrapper","ref","bubblearrow","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","offset","shift","arrow","opening","open","closing","closed","arrowAttributes","x","y","openDropdown","idToFocus","onClickDocument","target","isOutside","onDocumentFocus","onEsc","_a","button","hasOpenedOnce","wait","attributes"],"mappings":"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"}
|
package/dist/index66.js
CHANGED
package/dist/index66.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index66.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index66.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index67.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index67.js","sources":["../src/components/BbDropdownButton/BbDropdownButton.vue
|
|
1
|
+
{"version":3,"file":"index67.js","sources":["../src/components/BbDropdownButton/BbDropdownButton.vue"],"sourcesContent":["<template>\n\t<span\n\t\tclass=\"bb-dropdown-button\"\n\t\t:class=\"{\n\t\t\t'bb-dropdown-button--block': block,\n\t\t\t[`bb-dropdown-button--theme-${props.theme}`]: props.theme,\n\t\t}\"\n\t>\n\t\t<BaseButton v-bind=\"mainBtn\" class=\"bb-dropdown-button__main-btn\">\n\t\t\t<slot\n\t\t\t\t:disabled=\"mainBtn.disabled\"\n\t\t\t\tname=\"left-btn\"\n\t\t\t\t:text=\"mainBtn.text\"\n\t\t\t></slot>\n\t\t</BaseButton>\n\t\t<BbDropdown\n\t\t\t:id=\"id\"\n\t\t\t:arrow-padding=\"arrowPadding\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:eager=\"eager\"\n\t\t\t:items=\"items\"\n\t\t\t:offset=\"offset\"\n\t\t\t:padding=\"padding\"\n\t\t\t:placement=\"placement\"\n\t\t\t:theme=\"theme\"\n\t\t\t:transition-duration=\"transitionDuration\"\n\t\t\t:width=\"width\"\n\t\t>\n\t\t\t<template\n\t\t\t\t#activator=\"{\n\t\t\t\t\tprops,\n\t\t\t\t\topening,\n\t\t\t\t\topen,\n\t\t\t\t\tclosed,\n\t\t\t\t\tclosing,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tplacement,\n\t\t\t\t}\"\n\t\t\t>\n\t\t\t\t<slot\n\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\tname=\"activator\"\n\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t:props=\"props\"\n\t\t\t\t>\n\t\t\t\t\t<BaseButton v-bind=\"props\" class=\"bb-dropdown-button__dropdown-btn\">\n\t\t\t\t\t\t<span class=\"bb-dropdown-button__dropdown-label\"\n\t\t\t\t\t\t\t>{{ open || opening ? 'Chiudi' : 'Apri' }} il menu</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\tname=\"right-btn\"\n\t\t\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tclass=\"bb-dropdown-button__dropdown-chevron\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\td=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6l1.41 1.41Z\"\n\t\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\t/></svg></slot></BaseButton></slot\n\t\t\t></template>\n\t\t\t<template #prepend=\"data\"><slot name=\"prepend\" v-bind=\"data\" /></template>\n\t\t\t<template #item:prepend=\"data\">\n\t\t\t\t<slot name=\"item:prepend\" v-bind=\"data\" />\n\t\t\t</template>\n\t\t\t<template #item=\"data\"><slot name=\"item\" v-bind=\"data\" /></template>\n\t\t\t<template v-for=\"item in items\" #[item.key]=\"data\">\n\t\t\t\t<slot :name=\"item.key\" v-bind=\"data\" />\n\t\t\t</template>\n\t\t\t<template #item:append=\"data\">\n\t\t\t\t<slot name=\"item:append\" v-bind=\"data\" />\n\t\t\t</template>\n\t\t\t<template #append=\"data\"><slot name=\"append\" v-bind=\"data\" /></template>\n\t\t</BbDropdown>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport BbDropdown from '../BbDropdown/BbDropdown.vue';\nimport type { BbDropdownProps, MappedItem } from '../BbDropdown/BbDropdown.vue';\n\nexport type BbDropdownButtonProps = Pick<\n\tBbDropdownProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'id'\n\t| 'items'\n\t| 'offset'\n\t| 'padding'\n\t| 'placement'\n\t| 'theme'\n\t| 'transitionDuration'\n\t| 'width'\n>;\n\nconst props = withDefaults(defineProps<BbDropdownButtonProps>(), {\n\ttheme: 'default',\n});\n\ndefineSlots<\n\t{\n\t\t'left-btn'?: (props: {\n\t\t\tdisabled?: boolean;\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t\tactivator?: (props: {\n\t\t\tprops: {\n\t\t\t\t'aria-expanded': boolean;\n\t\t\t\t'aria-controls': string;\n\t\t\t\tid: string;\n\t\t\t\tonClick: MappedItem['onClick'];\n\t\t\t\tonKeydown: MappedItem['onKeydown'];\n\t\t\t\tdisabled?: BbDropdownButtonProps['disabled'];\n\t\t\t};\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: boolean;\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t}) => any;\n\t\tprepend?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: boolean;\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t}) => any;\n\t\t'item:prepend'?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownButtonProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t\titem?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownButtonProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t\t'item:append'?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownButtonProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t\tappend?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: boolean;\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t}) => any;\n\t\t'right-btn'?: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: boolean;\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t}) => any;\n\t} & {\n\t\t[key: string]: (props: {\n\t\t\tclosed: boolean;\n\t\t\tclosing: boolean;\n\t\t\tdisabled?: MappedItem['disabled'];\n\t\t\tindex: number;\n\t\t\titem: BbDropdownButtonProps['items'][number];\n\t\t\topen: boolean;\n\t\t\topening: boolean;\n\t\t\tplacement: BbDropdownButtonProps['placement'];\n\t\t\ttext: MappedItem['text'];\n\t\t}) => any;\n\t}\n>();\n\nconst mainBtn = computed(() => {\n\tconst base = { ...props.items[0] };\n\tbase.disabled = base.disabled || props.disabled;\n\treturn base;\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbDropdownButton';\n</style>\n"],"names":["props","__props","mainBtn","computed","base"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8GA,UAAMA,IAAQC,GAkGRC,IAAUC,EAAS,MAAM;AAC9B,YAAMC,IAAO,EAAE,GAAGJ,EAAM,MAAM,CAAC,EAAE;AAC5B,aAAAI,EAAA,WAAWA,EAAK,YAAYJ,EAAM,UAChCI;AAAA,IAAA,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index68.js
CHANGED
package/dist/index68.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index68.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index68.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|