bitboss-ui 0.1.59 → 0.1.60

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.
Files changed (132) hide show
  1. package/dist/components/BaseButton/BaseButton.vue.d.ts +1 -1
  2. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +6 -16
  3. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +21 -21
  4. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +2 -2
  5. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +1 -1
  6. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +3 -3
  7. package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -1
  8. package/dist/components/BbSelect/BbSelect.vue.d.ts +1 -1
  9. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
  10. package/dist/components/BbTooltip/BbTooltip.vue.d.ts +1 -1
  11. package/dist/index106.js +1 -1
  12. package/dist/index111.js +1 -1
  13. package/dist/index112.js +1 -1
  14. package/dist/index113.js +1 -1
  15. package/dist/index114.js +1 -1
  16. package/dist/index116.js +1 -1
  17. package/dist/index118.js +1 -1
  18. package/dist/index12.js +7 -7
  19. package/dist/index14.js +36 -36
  20. package/dist/index14.js.map +1 -1
  21. package/dist/index16.js +8 -8
  22. package/dist/index16.js.map +1 -1
  23. package/dist/index18.js +2 -2
  24. package/dist/index185.js +2 -350
  25. package/dist/index185.js.map +1 -1
  26. package/dist/index186.js +2 -134
  27. package/dist/index186.js.map +1 -1
  28. package/dist/index187.js +2 -5
  29. package/dist/index187.js.map +1 -1
  30. package/dist/index188.js +348 -17
  31. package/dist/index188.js.map +1 -1
  32. package/dist/index189.js +2 -2
  33. package/dist/index189.js.map +1 -1
  34. package/dist/index191.js +6 -186
  35. package/dist/index191.js.map +1 -1
  36. package/dist/index192.js +4 -23
  37. package/dist/index192.js.map +1 -1
  38. package/dist/index193.js +1 -1
  39. package/dist/index194.js +3 -2
  40. package/dist/index194.js.map +1 -1
  41. package/dist/index195.js +3 -2
  42. package/dist/index195.js.map +1 -1
  43. package/dist/index196.js +8 -3
  44. package/dist/index196.js.map +1 -1
  45. package/dist/index197.js +5 -3
  46. package/dist/index197.js.map +1 -1
  47. package/dist/index198.js +19 -4
  48. package/dist/index198.js.map +1 -1
  49. package/dist/index199.js +20 -2
  50. package/dist/index199.js.map +1 -1
  51. package/dist/index20.js +1 -1
  52. package/dist/index200.js +29 -6
  53. package/dist/index200.js.map +1 -1
  54. package/dist/index201.js +16 -8
  55. package/dist/index201.js.map +1 -1
  56. package/dist/index202.js +13 -17
  57. package/dist/index202.js.map +1 -1
  58. package/dist/index203.js +130 -25
  59. package/dist/index203.js.map +1 -1
  60. package/dist/index204.js +2 -16
  61. package/dist/index204.js.map +1 -1
  62. package/dist/index205.js +184 -14
  63. package/dist/index205.js.map +1 -1
  64. package/dist/index206.js +23 -3
  65. package/dist/index206.js.map +1 -1
  66. package/dist/index207.js +3 -35
  67. package/dist/index207.js.map +1 -1
  68. package/dist/index208.js +35 -2
  69. package/dist/index208.js.map +1 -1
  70. package/dist/index209.js +1 -1
  71. package/dist/index211.js +2 -2
  72. package/dist/index212.js +1 -1
  73. package/dist/index214.js +1 -1
  74. package/dist/index215.js +223 -5
  75. package/dist/index215.js.map +1 -1
  76. package/dist/index216.js +258 -2
  77. package/dist/index216.js.map +1 -1
  78. package/dist/index217.js +116 -294
  79. package/dist/index217.js.map +1 -1
  80. package/dist/index218.js +106 -2
  81. package/dist/index218.js.map +1 -1
  82. package/dist/index219.js +4 -2
  83. package/dist/index219.js.map +1 -1
  84. package/dist/index22.js +2 -2
  85. package/dist/index220.js +5 -116
  86. package/dist/index220.js.map +1 -1
  87. package/dist/index221.js +2 -106
  88. package/dist/index221.js.map +1 -1
  89. package/dist/index222.js +294 -223
  90. package/dist/index222.js.map +1 -1
  91. package/dist/index223.js +2 -258
  92. package/dist/index223.js.map +1 -1
  93. package/dist/index224.js +2 -4
  94. package/dist/index224.js.map +1 -1
  95. package/dist/index229.js +11 -2
  96. package/dist/index229.js.map +1 -1
  97. package/dist/index230.js +434 -8
  98. package/dist/index230.js.map +1 -1
  99. package/dist/index231.js +8 -5
  100. package/dist/index231.js.map +1 -1
  101. package/dist/index232.js +88 -10
  102. package/dist/index232.js.map +1 -1
  103. package/dist/index233.js +189 -424
  104. package/dist/index233.js.map +1 -1
  105. package/dist/index234.js +2 -9
  106. package/dist/index234.js.map +1 -1
  107. package/dist/index235.js +7 -87
  108. package/dist/index235.js.map +1 -1
  109. package/dist/index236.js +6 -200
  110. package/dist/index236.js.map +1 -1
  111. package/dist/index26.js +2 -2
  112. package/dist/index28.js +4 -4
  113. package/dist/index30.js +2 -2
  114. package/dist/index32.js +2 -2
  115. package/dist/index44.js +1 -1
  116. package/dist/index46.js +1 -1
  117. package/dist/index58.js +6 -6
  118. package/dist/index58.js.map +1 -1
  119. package/dist/index6.js.map +1 -1
  120. package/dist/index60.js +5 -5
  121. package/dist/index60.js.map +1 -1
  122. package/dist/index62.js +2 -2
  123. package/dist/index69.js +1 -1
  124. package/dist/index72.js +1 -1
  125. package/dist/index76.js +2 -2
  126. package/dist/index78.js +1 -1
  127. package/dist/index8.js +2 -2
  128. package/dist/index96.js +2 -2
  129. package/dist/index98.js +3 -3
  130. package/dist/style.css +1 -1
  131. package/dist/types/CommonProps.d.ts +77 -16
  132. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { CommonProps, NonVoidElementTag } from '../../types/CommonProps';
2
2
  import type { InertiaLinkProps } from "@inertiajs/vue3";
3
3
  import type { RouterLinkProps } from "vue-router";
4
- export type BaseButtonProps = Pick<CommonProps, "block" | "disabled" | "text"> & NonVoidElementTag & Partial<Pick<RouterLinkProps, "activeClass" | "ariaCurrentValue" | "exactActiveClass" | "replace" | "to">> & Pick<InertiaLinkProps, "data" | "headers" | "method" | "onBefore" | "onCancel" | "onCancelToken" | "onFinish" | "only" | "onProgress" | "onStart" | "onSuccess" | "preserveScroll" | "preserveState" | "queryStringArrayFormat"> & Partial<{
4
+ export type BaseButtonProps = Pick<CommonProps, "block" | "disabled" | "text"> & NonVoidElementTag & Partial<Pick<RouterLinkProps, "activeClass" | "ariaCurrentValue" | "exactActiveClass" | "replace" | "to">> & Partial<Pick<InertiaLinkProps, "data" | "headers" | "method" | "onBefore" | "onCancel" | "onCancelToken" | "onFinish" | "only" | "onProgress" | "onStart" | "onSuccess" | "preserveScroll" | "preserveState" | "queryStringArrayFormat">> & Partial<{
5
5
  /**
6
6
  * Gets the classification and default behavior of the button
7
7
  */
@@ -1,14 +1,7 @@
1
1
  import { default as dayjs } from "dayjs";
2
2
  import { type BaseDatePickerProps } from "../BaseDatePicker/BaseDatePicker.vue";
3
- export type BaseDatePickerInputProps = Omit<BaseDatePickerProps, "multiple"> & {
4
- allowWriting?: boolean;
5
- autocomplete?: string;
6
- autofocus?: boolean;
7
- hasErrors?: boolean;
8
- id?: string;
9
- name?: string;
10
- placeholder?: string;
11
- };
3
+ import { CommonProps } from '../../types/CommonProps';
4
+ export type BaseDatePickerInputProps = Omit<BaseDatePickerProps, "multiple"> & Pick<CommonProps, "allowWriting" | "autocomplete" | "autofocus" | "hasErrors" | "id" | "name" | "placeholder">;
12
5
  export type BaseDatePickerInputEvents = {
13
6
  (e: "update:modelValue", value: BaseDatePickerInputProps["modelValue"]): void;
14
7
  (e: "inactive"): void;
@@ -31,19 +24,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
31
24
  "onUpdate:modelValue"?: ((value: string | string[] | null) => any) | undefined;
32
25
  onInactive?: (() => any) | undefined;
33
26
  }, {
34
- width: string | number;
35
- allowWriting: boolean;
36
27
  autocomplete: string;
28
+ allowWriting: boolean;
29
+ width: string | number;
37
30
  }, {}>, Readonly<{
38
- 'prepend-outer'?: ((props: {}) => any) | undefined;
31
+ "prepend-outer"?: ((props: {}) => any) | undefined;
39
32
  prepend?: ((props: {}) => any) | undefined;
40
33
  append?: ((props: {}) => any) | undefined;
41
- 'append-outer'?: ((props: {}) => any) | undefined;
34
+ "append-outer"?: ((props: {}) => any) | undefined;
42
35
  } & {
43
36
  day?: ((props: {
44
- /**
45
- * These events are just propagated
46
- */
47
37
  first: boolean;
48
38
  highlighted: boolean;
49
39
  item: dayjs.Dayjs;
@@ -1,41 +1,39 @@
1
1
  import type { Classes } from '../../types/Classes';
2
+ import { CommonProps, Size } from '../../types/CommonProps';
2
3
  export type Sizes = {
3
4
  sm: number;
4
5
  md: number;
5
6
  lg: number;
6
7
  };
7
- export interface BaseDialogProps {
8
- closeLabel?: string;
9
- compact?: boolean;
8
+ export type BaseDialogProps = Pick<CommonProps, "closeLabel" | "compact" | "disabled" | "eager" | "panelClasses" | "overlayClasses" | "persistent" | "showClose" | "title" | "transition" | "transitionDuration"> & Size<Sizes> & {
9
+ /**
10
+ * Description of the content of the modal. Extremely useful for accessibility reasons.
11
+ */
10
12
  description?: string;
11
- disabled?: boolean;
12
- eager?: boolean;
13
+ /**
14
+ * Displays the modala s fulscreen with no margin to the page
15
+ */
13
16
  fullscreen?: boolean;
17
+ /**
18
+ * Defines the state open / clpsed of the modal.
19
+ */
14
20
  modelValue?: boolean | null;
15
- panelClasses?: Classes;
16
- overlayClasses?: Classes;
17
- persistent?: boolean;
18
- showClose?: boolean;
19
- size?: keyof Sizes | string | number;
20
- title?: string;
21
- transition?: string;
22
- transitionDuration?: number;
23
- }
21
+ };
24
22
  export type BaseDialogSlots = {
25
23
  header?: (props: {
26
24
  titleId: typeof titleId;
27
25
  close: typeof onCloseClick;
28
- title: BaseDialogProps['title'];
26
+ title: BaseDialogProps["title"];
29
27
  }) => any;
30
28
  title?: (props: {
31
- text: BaseDialogProps['title'];
29
+ text: BaseDialogProps["title"];
32
30
  }) => any;
33
31
  close?: (props: {
34
- text: BaseDialogProps['closeLabel'];
32
+ text: BaseDialogProps["closeLabel"];
35
33
  }) => any;
36
34
  description?: (props: {
37
35
  descriptionId: typeof descriptionId;
38
- text: BaseDialogProps['description'];
36
+ text: BaseDialogProps["description"];
39
37
  }) => any;
40
38
  default?: (props: {}) => any;
41
39
  footer?: (props: {}) => any;
@@ -76,13 +74,15 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
76
74
  onHidden?: (() => any) | undefined;
77
75
  onShown?: (() => any) | undefined;
78
76
  }, {
79
- transition: string;
80
77
  closeLabel: string;
81
- panelClasses: Classes;
82
78
  overlayClasses: Classes;
79
+ panelClasses: Classes;
83
80
  showClose: boolean;
84
- size: string | number;
81
+ transition: string;
85
82
  transitionDuration: number;
83
+ size: number | ({
84
+ size?: any;
85
+ } & string) | keyof Sizes;
86
86
  }, {}>, Readonly<BaseDialogSlots>>;
87
87
  export default _default;
88
88
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -131,13 +131,13 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
131
131
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
132
132
  onInactive?: (() => any) | undefined;
133
133
  }, {
134
+ allowWriting: boolean;
134
135
  depsDebounceTime: number;
135
136
  loadingText: string;
136
137
  modelValueDebounceTime: number;
137
138
  noDataText: string;
138
- prefill: boolean | "focus";
139
- allowWriting: boolean;
140
139
  transitionDuration: number;
140
+ prefill: boolean | "focus";
141
141
  filterBy: string | false | string[] | ((value: any, item: any) => boolean) | null;
142
142
  queryDebounceTime: number;
143
143
  updateOnAnimationFrame: boolean;
@@ -29,9 +29,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
29
29
  theme: string;
30
30
  width: number;
31
31
  }>>>, {
32
+ transitionDuration: number;
32
33
  width: number;
33
34
  placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
34
- transitionDuration: number;
35
35
  theme: string;
36
36
  }, {}>, Readonly<{
37
37
  activator?: ((props: {
@@ -82,13 +82,13 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
82
82
  onHidden?: (() => any) | undefined;
83
83
  onShown?: (() => any) | undefined;
84
84
  }, {
85
- transition: string;
86
85
  closeLabel: string;
87
- panelClasses: Classes;
88
86
  overlayClasses: Classes;
87
+ panelClasses: Classes;
89
88
  showClose: boolean;
90
- size: string | number;
89
+ transition: string;
91
90
  transitionDuration: number;
91
+ size: string | number;
92
92
  position: "top" | "right" | "bottom" | "left";
93
93
  }, {}>, Readonly<BbOffCanvasSlots>>;
94
94
  export default _default;
@@ -29,9 +29,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
29
29
  onHidden?: (() => any) | undefined;
30
30
  onShown?: (() => any) | undefined;
31
31
  }, {
32
- placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
33
32
  showClose: boolean;
34
33
  transitionDuration: number;
34
+ placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
35
35
  theme: string;
36
36
  }, {}>, Readonly<{
37
37
  activator?: ((props: {
@@ -63,8 +63,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
63
63
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
64
64
  onInactive?: (() => any) | undefined;
65
65
  }, {
66
- prefill: boolean | "focus";
67
66
  allowWriting: boolean;
67
+ prefill: boolean | "focus";
68
68
  }, {}>, Readonly<{
69
69
  "prepend-outer"?: ((props: {}) => any) | undefined;
70
70
  prepend?: ((props: {}) => any) | undefined;
@@ -24,9 +24,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
24
24
  };
25
25
  tag: string;
26
26
  }>>>, {
27
+ transitionDuration: number;
27
28
  tag: "" | "object" | "a" | "abbr" | "address" | "article" | "aside" | "audio" | "b" | "bdi" | "bdo" | "blockquote" | "body" | "button" | "canvas" | "caption" | "cite" | "code" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "html" | "i" | "iframe" | "ins" | "kbd" | "label" | "legend" | "li" | "main" | "map" | "mark" | "menu" | "meter" | "nav" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "script" | "search" | "section" | "select" | "slot" | "small" | "span" | "strong" | "style" | "sub" | "summary" | "sup" | "table" | "tbody" | "td" | "template" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "u" | "ul" | "var" | "video";
28
29
  strategy: "resize" | "mutation";
29
- transitionDuration: number;
30
30
  mutationOptions: MutationObserverInit;
31
31
  }, {}>, Readonly<BbSmoothHeightSlots>>;
32
32
  export default _default;
@@ -42,9 +42,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
42
42
  theme: string;
43
43
  transitionDuration: number;
44
44
  }>>>, {
45
- placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
46
45
  showClose: boolean;
47
46
  transitionDuration: number;
47
+ placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
48
48
  theme: string;
49
49
  padding: number;
50
50
  }, {}>, Readonly<BbTooltipSlots>>;
package/dist/index106.js CHANGED
@@ -4,7 +4,7 @@ import { useId as j } from "./index118.js";
4
4
  import { wait as C } from "./index117.js";
5
5
  import q from "./index6.js";
6
6
  import "./index7.js";
7
- import { autoUpdate as A } from "./index185.js";
7
+ import { autoUpdate as A } from "./index188.js";
8
8
  import { flip as G, shift as J } from "./index193.js";
9
9
  const K = /* @__PURE__ */ l("span", { class: "bb-tooltip__arrow" }, null, -1), Q = { class: "bb-tooltip__bubble" }, W = /* @__PURE__ */ l("svg", {
10
10
  viewBox: "0 0 24 24",
package/dist/index111.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i, ref as a, watch as s, computed as u, openBlock as c, createElementBlock as p, normalizeProps as d, guardReactiveProps as m, createElementVNode as b, renderSlot as v, createCommentVNode as f } from "vue";
2
2
  import { wait as V } from "./index117.js";
3
- import { throttle as _ } from "./index206.js";
3
+ import { throttle as _ } from "./index207.js";
4
4
  const h = { class: "bb-collapsible__content" }, k = /* @__PURE__ */ i({
5
5
  __name: "BbCollapsible",
6
6
  props: {
package/dist/index112.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as d, getCurrentInstance as m, inject as x, computed as l, ref as y, watchEffect as _, openBlock as h, createElementBlock as w, mergeProps as b } from "vue";
2
- import { isCssColor as z } from "./index194.js";
2
+ import { isCssColor as z } from "./index187.js";
3
3
  const g = ["innerHTML"], $ = /* @__PURE__ */ d({
4
4
  __name: "BbIcon",
5
5
  props: {
package/dist/index113.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as v, ref as r, onMounted as p, onBeforeUnmount as h, openBlock as i, createBlock as l, resolveDynamicComponent as u, normalizeStyle as m, withCtx as f, renderSlot as d } from "vue";
2
- import { throttle as g } from "./index206.js";
2
+ import { throttle as g } from "./index207.js";
3
3
  const O = /* @__PURE__ */ v({
4
4
  __name: "BbSmoothHeight",
5
5
  props: {
package/dist/index114.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as m, computed as r, openBlock as a, createElementBlock as d, normalizeProps as u, guardReactiveProps as z, createElementVNode as c } from "vue";
2
- import { isCssColor as f } from "./index194.js";
2
+ import { isCssColor as f } from "./index187.js";
3
3
  const _ = /* @__PURE__ */ c("svg", {
4
4
  xmlns: "http://www.w3.org/2000/svg",
5
5
  viewBox: "0 0 512 512"
package/dist/index116.js CHANGED
@@ -1,4 +1,4 @@
1
- import { clamp as o } from "./index195.js";
1
+ import { clamp as o } from "./index186.js";
2
2
  const r = (t, e) => t * 100 / e, p = (t, e) => t / 100 * e, l = (t, e, n) => r(t - e, n - e), P = ({
3
3
  value: t = 0,
4
4
  originalBounds: e,
package/dist/index118.js CHANGED
@@ -1,4 +1,4 @@
1
- import { nanoid as e } from "./index208.js";
1
+ import { nanoid as e } from "./index185.js";
2
2
  import { ref as o } from "vue";
3
3
  const f = () => {
4
4
  const r = o(e());
package/dist/index12.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as de, ref as k, computed as h, watch as ue, openBlock as d, createElementBlock as u, mergeProps as ce, createElementVNode as i, createTextVNode as be, toDisplayString as f, unref as p, withDirectives as L, createVNode as g, Transition as V, withCtx as w, vShow as z, createCommentVNode as A, normalizeClass as x, Fragment as O, renderList as S, renderSlot as R, nextTick as me } from "vue";
2
- import { groupBy as W } from "./index201.js";
2
+ import { groupBy as W } from "./index196.js";
3
3
  import { isNil as fe } from "./index115.js";
4
4
  import { last as $ } from "./index190.js";
5
- import c from "./index187.js";
6
- import pe from "./index188.js";
7
- import he from "./index202.js";
8
- import ye from "./index203.js";
9
- import _e from "./index204.js";
10
- import ve from "./index205.js";
5
+ import c from "./index197.js";
6
+ import pe from "./index198.js";
7
+ import he from "./index199.js";
8
+ import ye from "./index200.js";
9
+ import _e from "./index201.js";
10
+ import ve from "./index202.js";
11
11
  const ke = { class: "bb-base-date-picker__header" }, ge = ["disabled"], Ve = /* @__PURE__ */ i("span", null, null, -1), we = {
12
12
  class: "bb-base-date-picker__selected-day-label",
13
13
  "aria-live": "polite"
package/dist/index14.js CHANGED
@@ -1,15 +1,15 @@
1
- import { defineComponent as R, ref as l, computed as Y, watch as J, onMounted as Q, onBeforeUnmount as X, openBlock as B, createElementBlock as Z, normalizeClass as C, renderSlot as u, createElementVNode as g, withDirectives as x, mergeProps as T, unref as d, toDisplayString as ee, createBlock as ae, Teleport as te, createVNode as oe, createSlots as ne, renderList as le, withCtx as ie, normalizeProps as re, guardReactiveProps as se } from "vue";
2
- import { autoUpdate as ue, computePosition as de } from "./index185.js";
3
- import ce from "./index186.js";
4
- import c from "./index187.js";
5
- import fe from "./index188.js";
6
- import { identity as pe } from "./index189.js";
1
+ import { defineComponent as R, ref as l, computed as Y, watch as J, onMounted as Q, onBeforeUnmount as X, openBlock as B, createElementBlock as Z, normalizeClass as C, renderSlot as u, createElementVNode as g, withDirectives as x, mergeProps as T, unref as d, toDisplayString as ee, createBlock as ae, Teleport as te, createVNode as ne, createSlots as oe, renderList as le, withCtx as ie, normalizeProps as re, guardReactiveProps as se } from "vue";
2
+ import { autoUpdate as ue, computePosition as de } from "./index188.js";
3
+ import ce from "./index203.js";
4
+ import c from "./index197.js";
5
+ import fe from "./index198.js";
6
+ import { identity as pe } from "./index204.js";
7
7
  import { last as me } from "./index190.js";
8
- import { vMaska as be } from "./index191.js";
8
+ import { vMaska as be } from "./index205.js";
9
9
  import { wait as I } from "./index117.js";
10
10
  import ve from "./index12.js";
11
11
  import "./index13.js";
12
- import O from "./index192.js";
12
+ import O from "./index206.js";
13
13
  import { useId as ye } from "./index118.js";
14
14
  import { offset as ge, flip as he, shift as ke } from "./index193.js";
15
15
  const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name", "placeholder", "readonly", "value", "aria-describedby"], Ee = ["id"], Pe = /* @__PURE__ */ R({
@@ -26,7 +26,7 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
26
26
  width: { default: 290 },
27
27
  allowWriting: { type: Boolean, default: !0 },
28
28
  autocomplete: { default: "off" },
29
- autofocus: { type: Boolean },
29
+ autofocus: {},
30
30
  hasErrors: { type: Boolean },
31
31
  id: {},
32
32
  name: {},
@@ -35,14 +35,14 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
35
35
  emits: ["update:modelValue", "inactive", "error"],
36
36
  setup(P, { emit: W }) {
37
37
  c.extend(ce), c.locale(fe);
38
- const n = P, r = W, t = l(null), h = l(null), s = l(null), A = l(null), f = l(null), k = l(), p = n.id || `bdpi_${ye().id.value}`, F = Y(() => ({
38
+ const o = P, r = W, t = l(null), h = l(null), s = l(null), A = l(null), f = l(null), k = l(), p = o.id || `bdpi_${ye().id.value}`, F = Y(() => ({
39
39
  "bb-base-date-picker-input": !0,
40
- "bb-base-date-picker-input--errors": n.hasErrors,
41
- "bb-base-date-picker-input--readonly": n.readonly,
42
- "bb-base-date-picker-input--disabled": n.disabled
40
+ "bb-base-date-picker-input--errors": o.hasErrors,
41
+ "bb-base-date-picker-input--readonly": o.readonly,
42
+ "bb-base-date-picker-input--disabled": o.disabled
43
43
  })), G = {
44
44
  onInput: (e) => {
45
- if (console.log(e), !n.range && e.target instanceof HTMLInputElement)
45
+ if (console.log(e), !o.range && e.target instanceof HTMLInputElement)
46
46
  if (f.value = e.target.value, /\d{2}\/\d{2}\/\d{4}/.test(e.target.value)) {
47
47
  const a = c(e.target.value, "DD/MM/YYYY");
48
48
  k.value.isDateDisabled(a) ? r("error", "invalid_date_typed") : r("update:modelValue", a.toISOString());
@@ -52,14 +52,14 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
52
52
  }, w = l(!1), L = (e) => {
53
53
  if (e)
54
54
  if (Array.isArray(e)) {
55
- let a, o;
56
- return e.length && (a = e[0]), e.length > 1 && (o = me(e)), [a, o].filter(pe).map((i) => c(i).format("DD/MM/YYYY")).join(" - ");
55
+ let a, n;
56
+ return e.length && (a = e[0]), e.length > 1 && (n = me(e)), [a, n].filter(pe).map((i) => c(i).format("DD/MM/YYYY")).join(" - ");
57
57
  } else
58
58
  return c(e).format("DD/MM/YYYY");
59
59
  return null;
60
- }, H = Y(() => f.value ? f.value : L(n.modelValue));
60
+ }, H = Y(() => f.value ? f.value : L(o.modelValue));
61
61
  J(
62
- () => n.modelValue,
62
+ () => o.modelValue,
63
63
  (e) => {
64
64
  f.value = L(e);
65
65
  }
@@ -70,10 +70,10 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
70
70
  middleware: [ge(6), he(), ke()]
71
71
  }).then((e) => {
72
72
  var a;
73
- t.value && (t.value.style.left = `${e.x}px`, t.value.style.top = `${e.y}px`, typeof n.width == "string" && (Number(n.width) ? t.value.style.width = `${Math.max(
73
+ t.value && (t.value.style.left = `${e.x}px`, t.value.style.top = `${e.y}px`, typeof o.width == "string" && (Number(o.width) ? t.value.style.width = `${Math.max(
74
74
  ((a = s.value) == null ? void 0 : a.offsetWidth) ?? 0,
75
- +n.width
76
- )}px` : t.value.style.width = n.width));
75
+ +o.width
76
+ )}px` : t.value.style.width = o.width));
77
77
  });
78
78
  };
79
79
  let V;
@@ -93,23 +93,23 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
93
93
  m.value = !1, M.value = !0, await I(500), M.value = !1, m.value = !1, b.value = !0, (e = k.value) == null || e.setSelectionModeToDay();
94
94
  }, j = (e) => {
95
95
  if (e.key === "Tab" && !e.shiftKey && (e.preventDefault(), t.value)) {
96
- const o = t.value.querySelectorAll(
96
+ const n = t.value.querySelectorAll(
97
97
  O.join()
98
98
  )[0];
99
- o instanceof HTMLElement && o.focus();
99
+ n instanceof HTMLElement && n.focus();
100
100
  }
101
101
  }, q = (e) => {
102
102
  var a;
103
103
  if (e.key === "Tab" && t.value) {
104
- const o = O.join(", "), i = t.value.querySelectorAll(
105
- o
104
+ const n = O.join(", "), i = t.value.querySelectorAll(
105
+ n
106
106
  );
107
107
  if (e.target === i[i.length - 1]) {
108
108
  e.preventDefault();
109
109
  const v = Array.from(
110
- document.body.querySelectorAll(o)
110
+ document.body.querySelectorAll(n)
111
111
  ), S = v.findIndex(
112
- (y) => y.id === n.id
112
+ (y) => y.id === o.id
113
113
  );
114
114
  if (S > -1) {
115
115
  const y = v[S + 1];
@@ -121,11 +121,11 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
121
121
  }, N = () => {
122
122
  U(), document.addEventListener("focusin", D), document.addEventListener("click", _);
123
123
  }, D = (e) => {
124
- var a, o;
125
- e.target instanceof HTMLElement && ((a = h.value) != null && a.contains(e.target) || (o = t.value) != null && o.contains(e.target) || ($(), w.value = !1, document.removeEventListener("click", _), document.removeEventListener("focusin", D), r("inactive")));
124
+ var a, n;
125
+ e.target instanceof HTMLElement && ((a = h.value) != null && a.contains(e.target) || (n = t.value) != null && n.contains(e.target) || ($(), w.value = !1, document.removeEventListener("click", _), document.removeEventListener("focusin", D), r("inactive")));
126
126
  }, _ = (e) => {
127
- var a, o;
128
- e.target instanceof HTMLElement && ((a = h.value) != null && a.contains(e.target) || (o = t.value) != null && o.contains(e.target) || ($(), w.value = !1, document.removeEventListener("click", _), document.removeEventListener("focusin", D), r("inactive")));
127
+ var a, n;
128
+ e.target instanceof HTMLElement && ((a = h.value) != null && a.contains(e.target) || (n = t.value) != null && n.contains(e.target) || ($(), w.value = !1, document.removeEventListener("click", _), document.removeEventListener("focusin", D), r("inactive")));
129
129
  }, z = {
130
130
  "onUpdate:modelValue": (e) => r("update:modelValue", e)
131
131
  };
@@ -144,7 +144,7 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
144
144
  x(g("input", T({
145
145
  autocomplete: e.autocomplete,
146
146
  autofocus: e.autofocus,
147
- "data-maska": n.range ? "##/##/#### - ##/##/####" : "##/##/####",
147
+ "data-maska": o.range ? "##/##/#### - ##/##/####" : "##/##/####",
148
148
  disabled: e.disabled,
149
149
  id: d(p),
150
150
  name: e.name,
@@ -164,7 +164,7 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
164
164
  g("span", {
165
165
  class: "bb-base-date-picker-input__accessible-description",
166
166
  id: `bdpi_description_${d(p)}`
167
- }, "Formato della data " + ee(n.range ? "GG/MM/AAAA - GG/MM/AAAA" : "GG/MM/AAAA"), 9, Ee)
167
+ }, "Formato della data " + ee(o.range ? "GG/MM/AAAA - GG/MM/AAAA" : "GG/MM/AAAA"), 9, Ee)
168
168
  ], 512),
169
169
  u(e.$slots, "append-outer"),
170
170
  (B(), ae(te, { to: "body" }, [
@@ -180,7 +180,7 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
180
180
  ref: t,
181
181
  onKeydown: q
182
182
  }, [
183
- oe(ve, T({
183
+ ne(ve, T({
184
184
  disabled: e.disabled,
185
185
  firstDayOfWeek: e.firstDayOfWeek,
186
186
  id: d(p),
@@ -194,8 +194,8 @@ const we = ["autocomplete", "autofocus", "data-maska", "disabled", "id", "name",
194
194
  }, z, {
195
195
  ref_key: "basedatepicker",
196
196
  ref: k
197
- }), ne({ _: 2 }, [
198
- le(e.$slots, (o, i) => ({
197
+ }), oe({ _: 2 }, [
198
+ le(e.$slots, (n, i) => ({
199
199
  name: i,
200
200
  fn: ie((v) => [
201
201
  u(e.$slots, i, re(se(v)))
@@ -1 +1 @@
1
- {"version":3,"file":"index14.js","sources":["../src/components/BaseDatePickerInput/BaseDatePickerInput.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, unref as _unref, mergeProps as _mergeProps, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, withCtx as _withCtx, renderList as _renderList, createSlots as _createSlots, createVNode as _createVNode, normalizeClass as _normalizeClass, Teleport as _Teleport, openBlock as _openBlock, createBlock as _createBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"autocomplete\", \"autofocus\", \"data-maska\", \"disabled\", \"id\", \"name\", \"placeholder\", \"readonly\", \"value\", \"aria-describedby\"]\nconst _hoisted_2 = [\"id\"]\n\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n} from \"@floating-ui/dom\";\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { default as customParseFormat } from \"dayjs/plugin/customParseFormat\";\nimport { default as dayjs } from \"dayjs\";\nimport { default as it } from \"dayjs/locale/it\";\nimport { identity } from \"@/utilities/functions/identity\";\nimport { last } from \"@/utilities/functions/last\";\nimport { vMaska } from \"maska\";\nimport { wait } from \"@/utilities/functions/wait\";\nimport BaseDatePicker, {\n type BaseDatePickerSlots,\n type BaseDatePickerProps,\n} from \"../BaseDatePicker/BaseDatePicker.vue\";\nimport focusableSelectors from \"focusable-selectors\";\nimport selectors from \"focusable-selectors\";\nimport { useId } from \"@/composables/useId\";\n\nexport type BaseDatePickerInputProps = Omit<BaseDatePickerProps, \"multiple\"> & {\n allowWriting?: boolean;\n autocomplete?: string;\n autofocus?: boolean;\n hasErrors?: boolean;\n id?: string;\n name?: string;\n placeholder?: string;\n};\n\nexport type BaseDatePickerInputEvents = {\n (e: \"update:modelValue\", value: BaseDatePickerInputProps[\"modelValue\"]): void;\n (e: \"inactive\"): void;\n (e: \"error\", message: string): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BaseDatePickerInput',\n props: {\n disabled: { type: Boolean },\n readonly: {},\n firstDayOfWeek: {},\n max: {},\n min: {},\n modelValue: {},\n range: { type: Boolean },\n selectable: {},\n width: { default: 290 },\n allowWriting: { type: Boolean, default: true },\n autocomplete: { default: \"off\" },\n autofocus: { type: Boolean },\n hasErrors: { type: Boolean },\n id: {},\n name: {},\n placeholder: {}\n },\n emits: [\"update:modelValue\", \"inactive\", \"error\"],\n setup(__props: any, { emit: __emit }) {\n\ndayjs.extend(customParseFormat);\ndayjs.locale(it);\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst calendar = ref<HTMLElement | null>(null);\nconst outerContainer = ref<HTMLElement | null>(null);\nconst innerContainer = ref<HTMLElement | null>(null);\nconst input = ref<HTMLElement | null>(null);\nconst inputValue = ref<string | null>(null);\nconst basedatepicker = ref();\nconst id = props.id || `bdpi_${useId().id.value}`;\n\nconst classes = computed(() => ({\n \"bb-base-date-picker-input\": true,\n \"bb-base-date-picker-input--errors\": props.hasErrors,\n \"bb-base-date-picker-input--readonly\": props.readonly,\n \"bb-base-date-picker-input--disabled\": props.disabled,\n}));\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n onInput: (event: Event) => {\n console.log(event);\n if (props.range) return;\n if (event.target instanceof HTMLInputElement) {\n inputValue.value = event.target.value;\n if (/\\d{2}\\/\\d{2}\\/\\d{4}/.test(event.target.value)) {\n const date = dayjs(event.target.value, \"DD/MM/YYYY\");\n if (!basedatepicker.value.isDateDisabled(date)) {\n emit(\"update:modelValue\", date.toISOString());\n } else {\n emit(\"error\", \"invalid_date_typed\");\n }\n } else if (event.target.value === \"\") {\n emit(\"update:modelValue\", null);\n }\n }\n },\n};\n\n/**\n * Applies a class when the user is inside this whole component.\n * We cannot use focus within as it doesn't work for elements that are teleported.\n * Also we cannot use the <input/> if we phisically move focus to the calendar so\n * we track it manually.\n */\nconst active = ref(false);\n\nconst getStringFromModelValue = (value: typeof props.modelValue) => {\n if (value) {\n if (Array.isArray(value)) {\n let head;\n let tail;\n if (value.length) head = value[0];\n if (value.length > 1) tail = last(value);\n return [head, tail]\n .filter(identity)\n .map((el) => dayjs(el).format(\"DD/MM/YYYY\"))\n .join(\" - \");\n } else {\n return dayjs(value).format(\"DD/MM/YYYY\");\n }\n }\n return null;\n};\n\nconst displayValue = computed(() => {\n if (inputValue.value) return inputValue.value;\n return getStringFromModelValue(props.modelValue);\n});\n\nwatch(\n () => props.modelValue,\n (value) => {\n inputValue.value = getStringFromModelValue(value);\n }\n);\n\n/**\n * This is used to position the calendar container.\n * When the linked item (outerContainer) updates its position\n * this is rerun by floating-UI\n */\nconst displayOptions = () => {\n if (innerContainer.value && calendar.value) {\n computePosition(innerContainer.value, calendar.value, {\n placement: \"bottom-start\",\n middleware: [offset(6), flip(), shift()],\n }).then((data) => {\n if (calendar.value) {\n calendar.value.style.left = `${data.x}px`;\n calendar.value.style.top = `${data.y}px`;\n if (typeof props.width === \"string\") {\n if (Number(props.width)) {\n calendar.value.style.width = `${Math.max(\n innerContainer.value?.offsetWidth ?? 0,\n +props.width\n )}px`;\n } else {\n calendar.value.style.width = props.width;\n }\n }\n }\n });\n }\n};\n\nlet cleanUpPositioning: () => void;\n\nonMounted(async () => {\n if (innerContainer.value && calendar.value) {\n cleanUpPositioning = autoUpdate(\n innerContainer.value,\n calendar.value,\n displayOptions\n );\n }\n});\nonBeforeUnmount(() => {\n cleanUpPositioning();\n});\n\n/**\n * We need the transitions because elements must be hidden and shown\n * to accessibility tools when they are fully closed or fully open,\n * while still being animated for sighted users.\n */\n\n// Option panel is open\nconst shown = ref(false);\n// Option panel is opening\nconst showing = ref(false);\n// option panel is closing\nconst hiding = ref(false);\n// Option panel il closed\nconst hidden = ref(true);\n\nconst open = async () => {\n hidden.value = false;\n showing.value = true;\n await wait(500);\n showing.value = false;\n\n hidden.value = false;\n shown.value = true;\n};\n\nconst close = async () => {\n shown.value = false;\n hiding.value = true;\n await wait(500);\n hiding.value = false;\n shown.value = false;\n hidden.value = true;\n basedatepicker.value?.setSelectionModeToDay();\n};\n\nconst onKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Tab\") {\n if (!event.shiftKey) {\n event.preventDefault();\n if (calendar.value) {\n const focusableElements = calendar.value.querySelectorAll(\n selectors.join()\n );\n const firstFocusableElement = focusableElements[0];\n if (firstFocusableElement instanceof HTMLElement) {\n firstFocusableElement.focus();\n }\n }\n }\n }\n};\n\nconst onCalendarKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Tab\") {\n if (calendar.value) {\n const focusableSelectorsString = focusableSelectors.join(\", \");\n const focusableElements = calendar.value.querySelectorAll(\n focusableSelectorsString\n );\n /* When the user tabs on the last tabbable elem */\n if (event.target === focusableElements[focusableElements.length - 1]) {\n event.preventDefault();\n const focusableElements = Array.from(\n document.body.querySelectorAll(focusableSelectorsString)\n );\n const indexOfInput = focusableElements.findIndex(\n (el) => el.id === props.id\n );\n if (indexOfInput > -1) {\n const nextElement = focusableElements[indexOfInput + 1];\n if (nextElement instanceof HTMLElement) {\n nextElement.focus();\n }\n }\n } else if (event.target === focusableElements[0]) {\n if (event.shiftKey) {\n event.preventDefault();\n input.value?.focus();\n }\n }\n }\n }\n};\n\nconst onFocus = () => {\n open();\n document.addEventListener(\"focusin\", onDocumentFocus);\n document.addEventListener(\"click\", onDocumentClick);\n};\n\nconst onDocumentFocus = (event: FocusEvent) => {\n if (event.target instanceof HTMLElement) {\n if (\n !(\n outerContainer.value?.contains(event.target) ||\n calendar.value?.contains(event.target)\n )\n ) {\n close();\n active.value = false;\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"focusin\", onDocumentFocus);\n emit(\"inactive\");\n }\n }\n};\n\nconst onDocumentClick = (event: MouseEvent) => {\n if (event.target instanceof HTMLElement) {\n if (\n !(\n outerContainer.value?.contains(event.target) ||\n calendar.value?.contains(event.target)\n )\n ) {\n close();\n active.value = false;\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"focusin\", onDocumentFocus);\n emit(\"inactive\");\n }\n }\n};\n\n/**\n * These events are just propagated\n */\nconst calendarEventListeners = {\n \"onUpdate:modelValue\": (value: string | string[] | null) =>\n emit(\"update:modelValue\", value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: _normalizeClass([classes.value, \"bb-base-date-picker-input__container\"]),\n ref_key: \"outerContainer\",\n ref: outerContainer\n }, [\n _renderSlot(_ctx.$slots, \"prepend-outer\"),\n _createElementVNode(\"span\", {\n class: \"bb-base-date-picker-input__inner-container\",\n ref_key: \"innerContainer\",\n ref: innerContainer\n }, [\n _renderSlot(_ctx.$slots, \"prepend\"),\n _withDirectives(_createElementVNode(\"input\", _mergeProps({\n autocomplete: _ctx.autocomplete,\n autofocus: _ctx.autofocus,\n \"data-maska\": props.range ? '##/##/#### - ##/##/####' : '##/##/####',\n disabled: _ctx.disabled,\n id: _unref(id),\n name: _ctx.name,\n placeholder: _ctx.placeholder,\n readonly: _ctx.readonly || _ctx.range || !_ctx.allowWriting,\n type: 'text',\n value: displayValue.value,\n onFocus: onFocus,\n onKeydown: onKeydown,\n \"aria-describedby\": `bdpi_description_${_unref(id)}`,\n ref_key: \"input\",\n ref: input\n }, eventListeners), null, 16, _hoisted_1), [\n [_unref(vMaska)]\n ]),\n _renderSlot(_ctx.$slots, \"append\"),\n _createElementVNode(\"span\", {\n class: \"bb-base-date-picker-input__accessible-description\",\n id: `bdpi_description_${_unref(id)}`\n }, \"Formato della data \" + _toDisplayString(props.range ? \"GG/MM/AAAA - GG/MM/AAAA\" : \"GG/MM/AAAA\"), 9, _hoisted_2)\n ], 512),\n _renderSlot(_ctx.$slots, \"append-outer\"),\n (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"bb-base-date-picker-input__calendar\", {\n 'bb-base-date-picker-input__calendar--active': active.value,\n 'bb-base-date-picker-input__calendar--shown': shown.value,\n 'bb-base-date-picker-input__calendar--showing': showing.value,\n 'bb-base-date-picker-input__calendar--hiding': hiding.value,\n 'bb-base-date-picker-input__calendar--hidden': hidden.value,\n }]),\n ref_key: \"calendar\",\n ref: calendar,\n onKeydown: onCalendarKeydown\n }, [\n _createVNode(BaseDatePicker, _mergeProps({\n disabled: _ctx.disabled,\n firstDayOfWeek: _ctx.firstDayOfWeek,\n id: _unref(id),\n max: _ctx.max,\n min: _ctx.min,\n \"model-value\": _ctx.modelValue,\n range: _ctx.range,\n readonly: _ctx.readonly,\n selectable: _ctx.selectable,\n width: _ctx.width\n }, calendarEventListeners, {\n ref_key: \"basedatepicker\",\n ref: basedatepicker\n }), _createSlots({ _: 2 }, [\n _renderList(_ctx.$slots, (_, name) => {\n return {\n name: name,\n fn: _withCtx((data) => [\n _renderSlot(_ctx.$slots, name, _normalizeProps(_guardReactiveProps(data)))\n ])\n }\n })\n ]), 1040, [\"disabled\", \"firstDayOfWeek\", \"id\", \"max\", \"min\", \"model-value\", \"range\", \"readonly\", \"selectable\", \"width\"])\n ], 34)\n ]))\n ], 2))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_sfc_main","_defineComponent","__props","__emit","dayjs","customParseFormat","it","props","emit","calendar","ref","outerContainer","innerContainer","input","inputValue","basedatepicker","id","useId","classes","computed","eventListeners","event","date","active","getStringFromModelValue","value","head","tail","last","identity","el","displayValue","watch","displayOptions","computePosition","offset","flip","shift","data","_a","cleanUpPositioning","onMounted","autoUpdate","onBeforeUnmount","shown","showing","hiding","hidden","open","wait","close","onKeydown","firstFocusableElement","selectors","onCalendarKeydown","focusableSelectorsString","focusableSelectors","focusableElements","indexOfInput","nextElement","onFocus","onDocumentFocus","onDocumentClick","_b","calendarEventListeners","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_withDirectives","_mergeProps","_unref","vMaska","_toDisplayString","_createBlock","_Teleport","_createVNode","BaseDatePicker","_createSlots","_renderList","_","name","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"index14.js","sources":["../src/components/BaseDatePickerInput/BaseDatePickerInput.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, unref as _unref, mergeProps as _mergeProps, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, withCtx as _withCtx, renderList as _renderList, createSlots as _createSlots, createVNode as _createVNode, normalizeClass as _normalizeClass, Teleport as _Teleport, openBlock as _openBlock, createBlock as _createBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"autocomplete\", \"autofocus\", \"data-maska\", \"disabled\", \"id\", \"name\", \"placeholder\", \"readonly\", \"value\", \"aria-describedby\"]\nconst _hoisted_2 = [\"id\"]\n\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n} from \"@floating-ui/dom\";\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { default as customParseFormat } from \"dayjs/plugin/customParseFormat\";\nimport { default as dayjs } from \"dayjs\";\nimport { default as it } from \"dayjs/locale/it\";\nimport { identity } from \"@/utilities/functions/identity\";\nimport { last } from \"@/utilities/functions/last\";\nimport { vMaska } from \"maska\";\nimport { wait } from \"@/utilities/functions/wait\";\nimport BaseDatePicker, {\n type BaseDatePickerSlots,\n type BaseDatePickerProps,\n} from \"../BaseDatePicker/BaseDatePicker.vue\";\nimport focusableSelectors from \"focusable-selectors\";\nimport selectors from \"focusable-selectors\";\nimport { useId } from \"@/composables/useId\";\nimport { CommonProps } from \"@/types/CommonProps\";\n\nexport type BaseDatePickerInputProps = Omit<BaseDatePickerProps, \"multiple\"> &\n Pick<\n CommonProps,\n | \"allowWriting\"\n | \"autocomplete\"\n | \"autofocus\"\n | \"hasErrors\"\n | \"id\"\n | \"name\"\n | \"placeholder\"\n >;\n\nexport type BaseDatePickerInputEvents = {\n (e: \"update:modelValue\", value: BaseDatePickerInputProps[\"modelValue\"]): void;\n (e: \"inactive\"): void;\n (e: \"error\", message: string): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BaseDatePickerInput',\n props: {\n disabled: { type: Boolean },\n readonly: {},\n firstDayOfWeek: {},\n max: {},\n min: {},\n modelValue: {},\n range: { type: Boolean },\n selectable: {},\n width: { default: 290 },\n allowWriting: { type: Boolean, default: true },\n autocomplete: { default: \"off\" },\n autofocus: {},\n hasErrors: { type: Boolean },\n id: {},\n name: {},\n placeholder: {}\n },\n emits: [\"update:modelValue\", \"inactive\", \"error\"],\n setup(__props: any, { emit: __emit }) {\n\ndayjs.extend(customParseFormat);\ndayjs.locale(it);\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst calendar = ref<HTMLElement | null>(null);\nconst outerContainer = ref<HTMLElement | null>(null);\nconst innerContainer = ref<HTMLElement | null>(null);\nconst input = ref<HTMLElement | null>(null);\nconst inputValue = ref<string | null>(null);\nconst basedatepicker = ref();\nconst id = props.id || `bdpi_${useId().id.value}`;\n\nconst classes = computed(() => ({\n \"bb-base-date-picker-input\": true,\n \"bb-base-date-picker-input--errors\": props.hasErrors,\n \"bb-base-date-picker-input--readonly\": props.readonly,\n \"bb-base-date-picker-input--disabled\": props.disabled,\n}));\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n onInput: (event: Event) => {\n console.log(event);\n if (props.range) return;\n if (event.target instanceof HTMLInputElement) {\n inputValue.value = event.target.value;\n if (/\\d{2}\\/\\d{2}\\/\\d{4}/.test(event.target.value)) {\n const date = dayjs(event.target.value, \"DD/MM/YYYY\");\n if (!basedatepicker.value.isDateDisabled(date)) {\n emit(\"update:modelValue\", date.toISOString());\n } else {\n emit(\"error\", \"invalid_date_typed\");\n }\n } else if (event.target.value === \"\") {\n emit(\"update:modelValue\", null);\n }\n }\n },\n};\n\n/**\n * Applies a class when the user is inside this whole component.\n * We cannot use focus within as it doesn't work for elements that are teleported.\n * Also we cannot use the <input/> if we phisically move focus to the calendar so\n * we track it manually.\n */\nconst active = ref(false);\n\nconst getStringFromModelValue = (value: typeof props.modelValue) => {\n if (value) {\n if (Array.isArray(value)) {\n let head;\n let tail;\n if (value.length) head = value[0];\n if (value.length > 1) tail = last(value);\n return [head, tail]\n .filter(identity)\n .map((el) => dayjs(el).format(\"DD/MM/YYYY\"))\n .join(\" - \");\n } else {\n return dayjs(value).format(\"DD/MM/YYYY\");\n }\n }\n return null;\n};\n\nconst displayValue = computed(() => {\n if (inputValue.value) return inputValue.value;\n return getStringFromModelValue(props.modelValue);\n});\n\nwatch(\n () => props.modelValue,\n (value) => {\n inputValue.value = getStringFromModelValue(value);\n }\n);\n\n/**\n * This is used to position the calendar container.\n * When the linked item (outerContainer) updates its position\n * this is rerun by floating-UI\n */\nconst displayOptions = () => {\n if (innerContainer.value && calendar.value) {\n computePosition(innerContainer.value, calendar.value, {\n placement: \"bottom-start\",\n middleware: [offset(6), flip(), shift()],\n }).then((data) => {\n if (calendar.value) {\n calendar.value.style.left = `${data.x}px`;\n calendar.value.style.top = `${data.y}px`;\n if (typeof props.width === \"string\") {\n if (Number(props.width)) {\n calendar.value.style.width = `${Math.max(\n innerContainer.value?.offsetWidth ?? 0,\n +props.width\n )}px`;\n } else {\n calendar.value.style.width = props.width;\n }\n }\n }\n });\n }\n};\n\nlet cleanUpPositioning: () => void;\n\nonMounted(async () => {\n if (innerContainer.value && calendar.value) {\n cleanUpPositioning = autoUpdate(\n innerContainer.value,\n calendar.value,\n displayOptions\n );\n }\n});\nonBeforeUnmount(() => {\n cleanUpPositioning();\n});\n\n/**\n * We need the transitions because elements must be hidden and shown\n * to accessibility tools when they are fully closed or fully open,\n * while still being animated for sighted users.\n */\n\n// Option panel is open\nconst shown = ref(false);\n// Option panel is opening\nconst showing = ref(false);\n// option panel is closing\nconst hiding = ref(false);\n// Option panel il closed\nconst hidden = ref(true);\n\nconst open = async () => {\n hidden.value = false;\n showing.value = true;\n await wait(500);\n showing.value = false;\n\n hidden.value = false;\n shown.value = true;\n};\n\nconst close = async () => {\n shown.value = false;\n hiding.value = true;\n await wait(500);\n hiding.value = false;\n shown.value = false;\n hidden.value = true;\n basedatepicker.value?.setSelectionModeToDay();\n};\n\nconst onKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Tab\") {\n if (!event.shiftKey) {\n event.preventDefault();\n if (calendar.value) {\n const focusableElements = calendar.value.querySelectorAll(\n selectors.join()\n );\n const firstFocusableElement = focusableElements[0];\n if (firstFocusableElement instanceof HTMLElement) {\n firstFocusableElement.focus();\n }\n }\n }\n }\n};\n\nconst onCalendarKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Tab\") {\n if (calendar.value) {\n const focusableSelectorsString = focusableSelectors.join(\", \");\n const focusableElements = calendar.value.querySelectorAll(\n focusableSelectorsString\n );\n /* When the user tabs on the last tabbable elem */\n if (event.target === focusableElements[focusableElements.length - 1]) {\n event.preventDefault();\n const focusableElements = Array.from(\n document.body.querySelectorAll(focusableSelectorsString)\n );\n const indexOfInput = focusableElements.findIndex(\n (el) => el.id === props.id\n );\n if (indexOfInput > -1) {\n const nextElement = focusableElements[indexOfInput + 1];\n if (nextElement instanceof HTMLElement) {\n nextElement.focus();\n }\n }\n } else if (event.target === focusableElements[0]) {\n if (event.shiftKey) {\n event.preventDefault();\n input.value?.focus();\n }\n }\n }\n }\n};\n\nconst onFocus = () => {\n open();\n document.addEventListener(\"focusin\", onDocumentFocus);\n document.addEventListener(\"click\", onDocumentClick);\n};\n\nconst onDocumentFocus = (event: FocusEvent) => {\n if (event.target instanceof HTMLElement) {\n if (\n !(\n outerContainer.value?.contains(event.target) ||\n calendar.value?.contains(event.target)\n )\n ) {\n close();\n active.value = false;\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"focusin\", onDocumentFocus);\n emit(\"inactive\");\n }\n }\n};\n\nconst onDocumentClick = (event: MouseEvent) => {\n if (event.target instanceof HTMLElement) {\n if (\n !(\n outerContainer.value?.contains(event.target) ||\n calendar.value?.contains(event.target)\n )\n ) {\n close();\n active.value = false;\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"focusin\", onDocumentFocus);\n emit(\"inactive\");\n }\n }\n};\n\n/**\n * These events are just propagated\n */\nconst calendarEventListeners = {\n \"onUpdate:modelValue\": (value: string | string[] | null) =>\n emit(\"update:modelValue\", value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: _normalizeClass([classes.value, \"bb-base-date-picker-input__container\"]),\n ref_key: \"outerContainer\",\n ref: outerContainer\n }, [\n _renderSlot(_ctx.$slots, \"prepend-outer\"),\n _createElementVNode(\"span\", {\n class: \"bb-base-date-picker-input__inner-container\",\n ref_key: \"innerContainer\",\n ref: innerContainer\n }, [\n _renderSlot(_ctx.$slots, \"prepend\"),\n _withDirectives(_createElementVNode(\"input\", _mergeProps({\n autocomplete: _ctx.autocomplete,\n autofocus: _ctx.autofocus,\n \"data-maska\": props.range ? '##/##/#### - ##/##/####' : '##/##/####',\n disabled: _ctx.disabled,\n id: _unref(id),\n name: _ctx.name,\n placeholder: _ctx.placeholder,\n readonly: _ctx.readonly || _ctx.range || !_ctx.allowWriting,\n type: 'text',\n value: displayValue.value,\n onFocus: onFocus,\n onKeydown: onKeydown,\n \"aria-describedby\": `bdpi_description_${_unref(id)}`,\n ref_key: \"input\",\n ref: input\n }, eventListeners), null, 16, _hoisted_1), [\n [_unref(vMaska)]\n ]),\n _renderSlot(_ctx.$slots, \"append\"),\n _createElementVNode(\"span\", {\n class: \"bb-base-date-picker-input__accessible-description\",\n id: `bdpi_description_${_unref(id)}`\n }, \"Formato della data \" + _toDisplayString(props.range ? \"GG/MM/AAAA - GG/MM/AAAA\" : \"GG/MM/AAAA\"), 9, _hoisted_2)\n ], 512),\n _renderSlot(_ctx.$slots, \"append-outer\"),\n (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"bb-base-date-picker-input__calendar\", {\n 'bb-base-date-picker-input__calendar--active': active.value,\n 'bb-base-date-picker-input__calendar--shown': shown.value,\n 'bb-base-date-picker-input__calendar--showing': showing.value,\n 'bb-base-date-picker-input__calendar--hiding': hiding.value,\n 'bb-base-date-picker-input__calendar--hidden': hidden.value,\n }]),\n ref_key: \"calendar\",\n ref: calendar,\n onKeydown: onCalendarKeydown\n }, [\n _createVNode(BaseDatePicker, _mergeProps({\n disabled: _ctx.disabled,\n firstDayOfWeek: _ctx.firstDayOfWeek,\n id: _unref(id),\n max: _ctx.max,\n min: _ctx.min,\n \"model-value\": _ctx.modelValue,\n range: _ctx.range,\n readonly: _ctx.readonly,\n selectable: _ctx.selectable,\n width: _ctx.width\n }, calendarEventListeners, {\n ref_key: \"basedatepicker\",\n ref: basedatepicker\n }), _createSlots({ _: 2 }, [\n _renderList(_ctx.$slots, (_, name) => {\n return {\n name: name,\n fn: _withCtx((data) => [\n _renderSlot(_ctx.$slots, name, _normalizeProps(_guardReactiveProps(data)))\n ])\n }\n })\n ]), 1040, [\"disabled\", \"firstDayOfWeek\", \"id\", \"max\", \"min\", \"model-value\", \"range\", \"readonly\", \"selectable\", \"width\"])\n ], 34)\n ]))\n ], 2))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_sfc_main","_defineComponent","__props","__emit","dayjs","customParseFormat","it","props","emit","calendar","ref","outerContainer","innerContainer","input","inputValue","basedatepicker","id","useId","classes","computed","eventListeners","event","date","active","getStringFromModelValue","value","head","tail","last","identity","el","displayValue","watch","displayOptions","computePosition","offset","flip","shift","data","_a","cleanUpPositioning","onMounted","autoUpdate","onBeforeUnmount","shown","showing","hiding","hidden","open","wait","close","onKeydown","firstFocusableElement","selectors","onCalendarKeydown","focusableSelectorsString","focusableSelectors","focusableElements","indexOfInput","nextElement","onFocus","onDocumentFocus","onDocumentClick","_b","calendarEventListeners","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_withDirectives","_mergeProps","_unref","vMaska","_toDisplayString","_createBlock","_Teleport","_createVNode","BaseDatePicker","_createSlots","_renderList","_","name","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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"}