wimui 0.60.0 → 0.61.0

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 (59) hide show
  1. package/dist/components/_internal/useInlineFloating.cjs +2 -0
  2. package/dist/components/_internal/useInlineFloating.d.ts +54 -0
  3. package/dist/components/_internal/useInlineFloating.js +61 -0
  4. package/dist/components/ai/ModelSelector/ModelSelector.cjs +1 -1
  5. package/dist/components/ai/ModelSelector/ModelSelector.js +96 -89
  6. package/dist/components/ai/ModelSelector/model-selector.module.cjs +1 -1
  7. package/dist/components/ai/ModelSelector/model-selector.module.js +1 -1
  8. package/dist/components/form/Cascader/Cascader.cjs +1 -1
  9. package/dist/components/form/Cascader/Cascader.js +89 -85
  10. package/dist/components/form/Cascader/cascader.module.cjs +1 -1
  11. package/dist/components/form/Cascader/cascader.module.js +6 -6
  12. package/dist/components/form/Combobox/Combobox.cjs +1 -1
  13. package/dist/components/form/Combobox/Combobox.js +108 -102
  14. package/dist/components/form/Combobox/combobox.module.cjs +1 -1
  15. package/dist/components/form/Combobox/combobox.module.js +1 -1
  16. package/dist/components/form/DatePicker/DatePicker.cjs +1 -1
  17. package/dist/components/form/DatePicker/DatePicker.js +90 -85
  18. package/dist/components/form/DatePicker/date-picker.module.cjs +1 -1
  19. package/dist/components/form/DatePicker/date-picker.module.js +1 -1
  20. package/dist/components/form/Mentions/Mentions.cjs +1 -1
  21. package/dist/components/form/Mentions/Mentions.js +4 -4
  22. package/dist/components/form/MultiSelect/MultiSelect.cjs +1 -1
  23. package/dist/components/form/MultiSelect/MultiSelect.js +80 -77
  24. package/dist/components/form/MultiSelect/multiselect.module.cjs +1 -1
  25. package/dist/components/form/MultiSelect/multiselect.module.js +1 -1
  26. package/dist/components/form/PhoneInput/PhoneInput.cjs +1 -1
  27. package/dist/components/form/PhoneInput/PhoneInput.js +117 -111
  28. package/dist/components/form/PhoneInput/phone-input.module.cjs +1 -1
  29. package/dist/components/form/PhoneInput/phone-input.module.js +1 -1
  30. package/dist/components/form/Select/Select.cjs +1 -1
  31. package/dist/components/form/Select/Select.js +96 -89
  32. package/dist/components/form/Select/select.module.cjs +1 -1
  33. package/dist/components/form/Select/select.module.js +1 -1
  34. package/dist/components/form/SplitButton/SplitButton.cjs +1 -1
  35. package/dist/components/form/SplitButton/SplitButton.js +35 -31
  36. package/dist/components/form/TreeSelect/TreeSelect.cjs +1 -1
  37. package/dist/components/form/TreeSelect/TreeSelect.js +115 -112
  38. package/dist/components/form/TreeSelect/tree-select.module.cjs +1 -1
  39. package/dist/components/form/TreeSelect/tree-select.module.js +6 -6
  40. package/dist/components/navigation/Anchor/Anchor.cjs +1 -1
  41. package/dist/components/navigation/Anchor/Anchor.d.ts +5 -1
  42. package/dist/components/navigation/Anchor/Anchor.js +32 -29
  43. package/dist/components/navigation/Menubar/Menubar.cjs +1 -1
  44. package/dist/components/navigation/Menubar/Menubar.js +102 -92
  45. package/dist/components/navigation/Menubar/menubar.module.cjs +1 -1
  46. package/dist/components/navigation/Menubar/menubar.module.js +1 -1
  47. package/dist/components/overlay/BottomSheet/BottomSheet.cjs +1 -1
  48. package/dist/components/overlay/BottomSheet/BottomSheet.d.ts +7 -1
  49. package/dist/components/overlay/BottomSheet/BottomSheet.js +7 -6
  50. package/dist/components/overlay/HoverCard/HoverCard.cjs +1 -1
  51. package/dist/components/overlay/HoverCard/HoverCard.js +49 -43
  52. package/dist/components/overlay/HoverCard/hover-card.module.cjs +1 -1
  53. package/dist/components/overlay/HoverCard/hover-card.module.js +1 -1
  54. package/dist/llms-full.txt +3 -1
  55. package/dist/llms.txt +1 -1
  56. package/dist/styles.css +1 -1
  57. package/dist/wimui.umd.css +1 -1
  58. package/dist/wimui.umd.js +5 -5
  59. package/package.json +4 -4
@@ -1,128 +1,133 @@
1
1
  "use client";
2
2
  import { Root as e, Slottable as t } from "../../../node_modules/@radix-ui/react-slot/dist/index.js";
3
3
  import { useWimTranslation as n } from "../../../i18n/useWimTranslation.js";
4
- import { Transition as r } from "../../layout/Transition/Transition.js";
5
- import { FocusTrap as i } from "../../overlay/FocusTrap/FocusTrap.js";
6
- import { componentsNs as a } from "../../../i18n/generated/components.js";
7
- import { InputBase as o } from "../InputBase/InputBase.js";
8
- import { FieldTemplate as s } from "../FieldTemplate/FieldTemplate.js";
9
- import ee from "../Input/input.module.js";
10
- import { Calendar as te } from "../../data-display/Calendar/Calendar.js";
11
- import { mergeRefs as c } from "../../_internal/mergeRefs.js";
12
- import l from "./date-picker.module.js";
13
- import { forwardRef as u, useEffect as d, useId as f, useRef as p, useState as m } from "react";
14
- import h from "classnames";
15
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
4
+ import { useMergedRef as r } from "../../../hooks/useMergedRef.js";
5
+ import { Transition as i } from "../../layout/Transition/Transition.js";
6
+ import { FocusTrap as a } from "../../overlay/FocusTrap/FocusTrap.js";
7
+ import { componentsNs as o } from "../../../i18n/generated/components.js";
8
+ import { InputBase as ee } from "../InputBase/InputBase.js";
9
+ import { useInlineFloating as s } from "../../_internal/useInlineFloating.js";
10
+ import { FieldTemplate as c } from "../FieldTemplate/FieldTemplate.js";
11
+ import l from "../Input/input.module.js";
12
+ import { Calendar as u } from "../../data-display/Calendar/Calendar.js";
13
+ import d from "./date-picker.module.js";
14
+ import { forwardRef as f, useEffect as p, useId as te, useRef as m, useState as h } from "react";
15
+ import g from "classnames";
16
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
16
17
  //#region src/components/form/DatePicker/DatePicker.tsx
17
- var v = u(({ intent: u = "default", variant: v = "outline", fullWidth: y = !1, className: b, disabled: x, value: S, defaultValue: C, onChange: w, format: ne = "YYYY-MM-DD", clearable: re = !0, placeholder: ie, minDate: ae, maxDate: oe, disabledDates: se, label: T, error: E, required: D, layout: O, id: k, labels: A, width: j, asChild: M = !1, children: N, ...P }, F) => {
18
- let [I, L] = m(!1), [R, z] = m(C || null), B = p(null), V = p(null), H = c(B, F), { t: U } = n(a), W = f(), G = k || `wim-datepicker-${W}`, K = `${G}-dropdown`, q = T ? `${G}-label` : void 0, J = E ? `${G}-error` : void 0, Y = S !== void 0, X = Y ? S : R, ce = ie ?? A?.placeholder, Z = x, Q = E ? "danger" : u;
19
- d(() => {
18
+ var y = f(({ intent: f = "default", variant: y = "outline", fullWidth: b = !1, className: x, disabled: S, value: C, defaultValue: w, onChange: T, format: ne = "YYYY-MM-DD", clearable: re = !0, placeholder: ie, minDate: ae, maxDate: oe, disabledDates: se, label: E, error: D, required: O, layout: k, id: A, labels: j, width: M, asChild: N = !1, children: P, ...F }, I) => {
19
+ let [L, R] = h(!1), [z, B] = h(w || null), V = m(null), H = m(null), { t: ce } = n(o), U = te(), W = A || `wim-datepicker-${U}`, G = `${W}-dropdown`, K = E ? `${W}-label` : void 0, q = D ? `${W}-error` : void 0, J = C !== void 0, Y = J ? C : z, le = ie ?? j?.placeholder, X = S, Z = D ? "danger" : f;
20
+ p(() => {
20
21
  let e = (e) => {
21
- B.current && !B.current.contains(e.target) && L(!1);
22
+ V.current && !V.current.contains(e.target) && R(!1);
22
23
  };
23
24
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
24
- }, []), d(() => {
25
+ }, []), p(() => {
25
26
  let e = (e) => {
26
- e.key === "Escape" && I && (L(!1), V.current?.focus());
27
+ e.key === "Escape" && L && (R(!1), H.current?.focus());
27
28
  };
28
- return I && document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
29
- }, [I]);
30
- let le = (e) => {
29
+ return L && document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
30
+ }, [L]);
31
+ let ue = (e) => {
31
32
  if (!e) return "";
32
33
  let t = e.getFullYear(), n = String(e.getMonth() + 1).padStart(2, "0"), r = String(e.getDate()).padStart(2, "0");
33
34
  return ne.replace("YYYY", String(t)).replace("MM", n).replace("DD", r);
34
- }, ue = (e) => {
35
- Y || z(e), w?.(e), L(!1), V.current?.focus();
36
35
  }, de = (e) => {
37
- e?.stopPropagation(), Z || (Y || z(null), w?.(null));
38
- }, $ = () => {
39
- Z || L(!I);
36
+ J || B(e), T?.(e), R(!1), H.current?.focus();
37
+ }, fe = (e) => {
38
+ e?.stopPropagation(), X || (J || B(null), T?.(null));
39
+ }, Q = () => {
40
+ X || R(!L);
41
+ }, pe = (e) => {
42
+ X || (e.key === "Escape" ? (R(!1), H.current?.focus()) : (e.key === "Enter" || e.key === " " || e.key === "ArrowDown" && (e.altKey || !L)) && (e.preventDefault(), R(!L)));
40
43
  };
41
- return d(() => {
42
- if (I) {
44
+ p(() => {
45
+ if (L) {
43
46
  let e = setTimeout(() => {
44
- let e = B.current?.querySelector("[data-calendar-day][tabindex=\"0\"]:not(:disabled), [data-calendar-day][data-selected]:not(:disabled), [data-calendar-day]:focus");
45
- e ? e.focus() : B.current?.querySelector("[data-calendar-day]:not([data-other-month]):not(:disabled)")?.focus();
47
+ let e = V.current?.querySelector("[data-calendar-day][tabindex=\"0\"]:not(:disabled), [data-calendar-day][data-selected]:not(:disabled), [data-calendar-day]:focus");
48
+ e ? e.focus() : V.current?.querySelector("[data-calendar-day]:not([data-other-month]):not(:disabled)")?.focus();
46
49
  }, 50);
47
50
  return () => clearTimeout(e);
48
51
  }
49
- }, [I]), /* @__PURE__ */ g(s, {
50
- label: T,
51
- error: E,
52
- required: D,
53
- layout: O,
54
- labelId: q,
55
- htmlFor: G,
56
- errorId: J,
57
- className: b,
58
- children: /* @__PURE__ */ _(M ? e : "div", {
59
- ref: H,
60
- className: h("wim-date-picker", l.root, y && l.fullWidth),
52
+ }, [L]);
53
+ let $ = N ? e : "div", { setReference: me, setFloating: he, floatingProps: ge } = s({ open: L && !S }), _e = r(V, I, me);
54
+ return /* @__PURE__ */ _(c, {
55
+ label: E,
56
+ error: D,
57
+ required: O,
58
+ layout: k,
59
+ labelId: K,
60
+ htmlFor: W,
61
+ errorId: q,
62
+ className: x,
63
+ children: /* @__PURE__ */ v($, {
64
+ ref: _e,
65
+ className: g("wim-date-picker", d.root, b && d.fullWidth),
61
66
  children: [
62
- /* @__PURE__ */ g(o, {
63
- intent: Q,
64
- variant: v,
65
- width: j,
66
- fullWidth: y,
67
- disabled: Z,
67
+ /* @__PURE__ */ _(ee, {
68
+ intent: Z,
69
+ variant: y,
70
+ width: M,
71
+ fullWidth: b,
72
+ disabled: X,
68
73
  allowClear: re,
69
- hasValue: !!X,
70
- onClear: de,
74
+ hasValue: !!Y,
75
+ onClear: fe,
71
76
  rightIcons: [{
72
77
  name: "ChevronDownIcon",
73
- rotated: I,
74
- onClick: $,
78
+ rotated: L,
79
+ onClick: Q,
75
80
  decorative: !0
76
81
  }],
77
- children: /* @__PURE__ */ g("input", {
78
- id: G,
79
- ref: V,
82
+ children: /* @__PURE__ */ _("input", {
83
+ id: W,
84
+ ref: H,
80
85
  type: "text",
81
86
  readOnly: !0,
82
87
  role: "combobox",
83
- className: h(ee.root, l.input),
84
- value: le(X),
85
- placeholder: ce,
86
- disabled: Z,
87
- onClick: $,
88
- onKeyDown: (e) => {
89
- Z || (e.key === "Escape" ? (L(!1), V.current?.focus()) : (e.key === "Enter" || e.key === " " || e.key === "ArrowDown" && (e.altKey || !I)) && (e.preventDefault(), L(!I)));
90
- },
88
+ className: g(l.root, d.input),
89
+ value: ue(Y),
90
+ placeholder: le,
91
+ disabled: X,
92
+ onClick: Q,
93
+ onKeyDown: pe,
91
94
  "aria-haspopup": "dialog",
92
- "aria-expanded": I,
93
- "aria-controls": I ? K : void 0,
94
- "aria-invalid": Q === "danger",
95
- "aria-describedby": J,
96
- "aria-labelledby": q,
97
- "aria-required": D,
98
- ...P
95
+ "aria-expanded": L,
96
+ "aria-controls": L ? G : void 0,
97
+ "aria-invalid": Z === "danger",
98
+ "aria-describedby": q,
99
+ "aria-labelledby": K,
100
+ "aria-required": O,
101
+ ...F
99
102
  })
100
103
  }),
101
- /* @__PURE__ */ g(r, {
102
- show: I && !x,
104
+ /* @__PURE__ */ _(i, {
105
+ show: L && !S,
103
106
  preset: "fade",
104
- id: K,
105
- className: l.dropdown,
106
- children: /* @__PURE__ */ g(i, {
107
- active: I,
107
+ id: G,
108
+ className: d.dropdown,
109
+ ref: he,
110
+ ...ge,
111
+ children: /* @__PURE__ */ _(a, {
112
+ active: L,
108
113
  initialFocus: !1,
109
- children: /* @__PURE__ */ g("div", {
114
+ children: /* @__PURE__ */ _("div", {
110
115
  role: "dialog",
111
116
  "aria-modal": "true",
112
- "aria-labelledby": q,
113
- "aria-label": q ? void 0 : P["aria-label"] ?? U("datepicker.dialog"),
114
- children: /* @__PURE__ */ g(te, {
115
- value: X ?? void 0,
116
- onChange: ue
117
+ "aria-labelledby": K,
118
+ "aria-label": K ? void 0 : F["aria-label"] ?? ce("datepicker.dialog"),
119
+ children: /* @__PURE__ */ _(u, {
120
+ value: Y ?? void 0,
121
+ onChange: de
117
122
  })
118
123
  })
119
124
  })
120
125
  }),
121
- /* @__PURE__ */ g(t, { children: N })
126
+ /* @__PURE__ */ _(t, { children: P })
122
127
  ]
123
128
  })
124
129
  });
125
130
  });
126
- v.displayName = "DatePicker";
131
+ y.displayName = "DatePicker";
127
132
  //#endregion
128
- export { v as DatePicker, v as default };
133
+ export { y as DatePicker, y as default };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_1skhw_4`,t=`_fullWidth_1skhw_9`,n=`_input_1skhw_13`,r=`_dropdown_1skhw_17`,i={root:e,fullWidth:t,input:n,dropdown:r};exports.default=i,exports.dropdown=r,exports.fullWidth=t,exports.input=n,exports.root=e;
2
+ var e=`_root_1gx5z_4`,t=`_fullWidth_1gx5z_9`,n=`_input_1gx5z_13`,r=`_dropdown_1gx5z_17`,i={root:e,fullWidth:t,input:n,dropdown:r};exports.default=i,exports.dropdown=r,exports.fullWidth=t,exports.input=n,exports.root=e;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/form/DatePicker/date-picker.module.scss
3
- var e = "_root_1skhw_4", t = "_fullWidth_1skhw_9", n = "_input_1skhw_13", r = "_dropdown_1skhw_17", i = {
3
+ var e = "_root_1gx5z_4", t = "_fullWidth_1gx5z_9", n = "_input_1gx5z_13", r = "_dropdown_1gx5z_17", i = {
4
4
  root: e,
5
5
  fullWidth: t,
6
6
  input: n,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../_internal/BaseListItem/BaseListItem.cjs"),r=require("../../_internal/mergeRefs.cjs"),i=require("../Textarea/Textarea.cjs"),a=require("./mentions.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("react/jsx-runtime");var c=(0,o.forwardRef)(({options:e,trigger:c=`@`,value:l,defaultValue:u,onChange:d,onSelect:f,asChild:p=!1,children:m,intent:h,variant:g,fullWidth:_,fieldSizing:v,label:y,error:ee,required:b,layout:x,width:S,placeholder:C,rows:w,cols:T,onCopy:E,onCut:D,onPaste:O,...k},A)=>{let j=(0,o.useId)(),M=k.id||`wim-mentions-${j}`,[N,P]=(0,o.useState)(u||``),F=l!==void 0,I=F?l:N,[L,R]=(0,o.useState)(!1),[z,B]=(0,o.useState)(``),[V,H]=(0,o.useState)(0),[U,W]=(0,o.useState)(-1),[G,K]=(0,o.useState)(0),q=(0,o.useRef)(null),J=(0,o.useRef)(null),Y=r.mergeRefs(J,A),X=e.filter(e=>e.display.toLowerCase().includes(z.toLowerCase())),Z=e=>{let t=e.target.value,n=e.target.selectionStart;H(n),F||P(t),d&&d(e);let r=t.slice(0,n),i=r.lastIndexOf(c);if(i!==-1){let e=r.slice(i+c.length);if(!e.includes(` `)){W(i),B(e),R(!0),K(0);return}}R(!1),W(-1)},Q=e=>{let t=I.slice(0,U),n=I.slice(V),r=`${t}${c}${e.display} ${n}`;F||P(r),d&&d({target:{value:r}}),f&&f(e),R(!1),W(-1),setTimeout(()=>{if(q.current){q.current.focus();let n=t.length+c.length+e.display.length+1;q.current.setSelectionRange(n,n)}},0)},te=e=>{L&&X.length>0&&(e.key===`ArrowDown`?(e.preventDefault(),K(e=>e>=X.length-1?0:e+1)):e.key===`ArrowUp`?(e.preventDefault(),K(e=>e<=0?X.length-1:e-1)):e.key===`Enter`||e.key===`Tab`?G>=0&&X[G]&&(e.preventDefault(),Q(X[G])):e.key===`Escape`&&R(!1))},ne=p?t.Root:`div`,re={intent:h,variant:g,fullWidth:_,fieldSizing:v,label:y,error:ee,required:b,layout:x,width:S,placeholder:C,rows:w,cols:T,onCopy:E,onCut:D,onPaste:O},$={...k};delete $[`aria-label`],delete $[`aria-labelledby`],delete $[`aria-describedby`],delete $.id;let ie=$;return(0,s.jsxs)(ne,{className:`wim-mentions ${a.default.container}`,ref:Y,...ie,children:[(0,s.jsx)(i.Textarea,{...k,...re,ref:q,value:I,onChange:Z,onKeyDown:te,"aria-autocomplete":`list`,"aria-controls":L?`${M}-list`:void 0,onBlur:e=>{J.current?.contains(e.relatedTarget)||R(!1)}}),L&&X.length>0&&(0,s.jsx)(`div`,{id:`${M}-list`,className:a.default.list,role:`listbox`,children:X.map((e,t)=>(0,s.jsx)(n.BaseListItem,{active:t===G,onMouseDown:e=>e.preventDefault(),onClick:()=>Q(e),onMouseEnter:()=>K(t),role:`option`,"aria-selected":t===G,tabIndex:-1,children:e.display},e.id))}),p?(0,s.jsx)(t.Slottable,{children:m}):null]})});c.displayName=`Mentions`,exports.Mentions=c,exports.default=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../_internal/BaseListItem/BaseListItem.cjs"),r=require("../Textarea/Textarea.cjs"),i=require("../../_internal/mergeRefs.cjs"),a=require("./mentions.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("react/jsx-runtime");var c=(0,o.forwardRef)(({options:e,trigger:c=`@`,value:l,defaultValue:u,onChange:d,onSelect:f,asChild:p=!1,children:m,intent:h,variant:g,fullWidth:_,fieldSizing:v,label:y,error:ee,required:b,layout:x,width:S,placeholder:C,rows:w,cols:T,onCopy:E,onCut:D,onPaste:O,...k},A)=>{let j=(0,o.useId)(),M=k.id||`wim-mentions-${j}`,[N,P]=(0,o.useState)(u||``),F=l!==void 0,I=F?l:N,[L,R]=(0,o.useState)(!1),[z,B]=(0,o.useState)(``),[V,H]=(0,o.useState)(0),[U,W]=(0,o.useState)(-1),[G,K]=(0,o.useState)(0),q=(0,o.useRef)(null),J=(0,o.useRef)(null),Y=i.mergeRefs(J,A),X=e.filter(e=>e.display.toLowerCase().includes(z.toLowerCase())),Z=e=>{let t=e.target.value,n=e.target.selectionStart;H(n),F||P(t),d&&d(e);let r=t.slice(0,n),i=r.lastIndexOf(c);if(i!==-1){let e=r.slice(i+c.length);if(!e.includes(` `)){W(i),B(e),R(!0),K(0);return}}R(!1),W(-1)},Q=e=>{let t=I.slice(0,U),n=I.slice(V),r=`${t}${c}${e.display} ${n}`;F||P(r),d&&d({target:{value:r}}),f&&f(e),R(!1),W(-1),setTimeout(()=>{if(q.current){q.current.focus();let n=t.length+c.length+e.display.length+1;q.current.setSelectionRange(n,n)}},0)},te=e=>{L&&X.length>0&&(e.key===`ArrowDown`?(e.preventDefault(),K(e=>e>=X.length-1?0:e+1)):e.key===`ArrowUp`?(e.preventDefault(),K(e=>e<=0?X.length-1:e-1)):e.key===`Enter`||e.key===`Tab`?G>=0&&X[G]&&(e.preventDefault(),Q(X[G])):e.key===`Escape`&&R(!1))},ne=p?t.Root:`div`,re={intent:h,variant:g,fullWidth:_,fieldSizing:v,label:y,error:ee,required:b,layout:x,width:S,placeholder:C,rows:w,cols:T,onCopy:E,onCut:D,onPaste:O},$={...k};delete $[`aria-label`],delete $[`aria-labelledby`],delete $[`aria-describedby`],delete $.id;let ie=$;return(0,s.jsxs)(ne,{className:`wim-mentions ${a.default.container}`,ref:Y,...ie,children:[(0,s.jsx)(r.Textarea,{...k,...re,ref:q,value:I,onChange:Z,onKeyDown:te,"aria-autocomplete":`list`,"aria-controls":L?`${M}-list`:void 0,onBlur:e=>{J.current?.contains(e.relatedTarget)||R(!1)}}),L&&X.length>0&&(0,s.jsx)(`div`,{id:`${M}-list`,className:a.default.list,role:`listbox`,children:X.map((e,t)=>(0,s.jsx)(n.BaseListItem,{active:t===G,onMouseDown:e=>e.preventDefault(),onClick:()=>Q(e),onMouseEnter:()=>K(t),role:`option`,"aria-selected":t===G,tabIndex:-1,children:e.display},e.id))}),p?(0,s.jsx)(t.Slottable,{children:m}):null]})});c.displayName=`Mentions`,exports.Mentions=c,exports.default=c;
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { Root as e, Slottable as t } from "../../../node_modules/@radix-ui/react-slot/dist/index.js";
3
3
  import { BaseListItem as n } from "../../_internal/BaseListItem/BaseListItem.js";
4
- import { mergeRefs as r } from "../../_internal/mergeRefs.js";
5
- import { Textarea as i } from "../Textarea/Textarea.js";
4
+ import { Textarea as r } from "../Textarea/Textarea.js";
5
+ import { mergeRefs as i } from "../../_internal/mergeRefs.js";
6
6
  import a from "./mentions.module.js";
7
7
  import { forwardRef as o, useId as s, useRef as c, useState as l } from "react";
8
8
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
9
  //#region src/components/form/Mentions/Mentions.tsx
10
10
  var f = o(({ options: o, trigger: f = "@", value: p, defaultValue: ee, onChange: m, onSelect: h, asChild: g = !1, children: _, intent: v, variant: y, fullWidth: b, fieldSizing: x, label: S, error: C, required: w, layout: T, width: E, placeholder: D, rows: te, cols: ne, onCopy: O, onCut: k, onPaste: A, ...j }, M) => {
11
- let N = s(), P = j.id || `wim-mentions-${N}`, [F, I] = l(ee || ""), L = p !== void 0, R = L ? p : F, [z, B] = l(!1), [V, H] = l(""), [U, W] = l(0), [G, K] = l(-1), [q, J] = l(0), Y = c(null), X = c(null), re = r(X, M), Z = o.filter((e) => e.display.toLowerCase().includes(V.toLowerCase())), ie = (e) => {
11
+ let N = s(), P = j.id || `wim-mentions-${N}`, [F, I] = l(ee || ""), L = p !== void 0, R = L ? p : F, [z, B] = l(!1), [V, H] = l(""), [U, W] = l(0), [G, K] = l(-1), [q, J] = l(0), Y = c(null), X = c(null), re = i(X, M), Z = o.filter((e) => e.display.toLowerCase().includes(V.toLowerCase())), ie = (e) => {
12
12
  let t = e.target.value, n = e.target.selectionStart;
13
13
  W(n), L || I(t), m && m(e);
14
14
  let r = t.slice(0, n), i = r.lastIndexOf(f);
@@ -55,7 +55,7 @@ var f = o(({ options: o, trigger: f = "@", value: p, defaultValue: ee, onChange:
55
55
  ref: re,
56
56
  ...ce,
57
57
  children: [
58
- /* @__PURE__ */ u(i, {
58
+ /* @__PURE__ */ u(r, {
59
59
  ...j,
60
60
  ...se,
61
61
  ref: Y,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../icon/check.cjs"),n=require("../../media/Icon/Icon.cjs"),r=require("../../_internal/BaseListItem/BaseListItem.cjs"),i=require("../InputBase/InputBase.cjs"),a=require("../FieldTemplate/FieldTemplate.cjs"),o=require("../../data-display/Chip/Chip.cjs"),s=require("./multiselect.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime");var d=({options:e=[],value:d,onChange:f,placeholder:p,label:m,error:h,required:g,layout:_,className:v,disabled:y=!1,defaultValue:b=[],allowClear:x=!1,id:S,width:C,fullWidth:w=!1,...T})=>{let[E,D]=(0,c.useState)(!1),[O,k]=(0,c.useState)(b),[A,j]=(0,c.useState)(-1),[M,N]=(0,c.useState)(!1),P=(0,c.useRef)(null),F=(0,c.useRef)(null),I=(0,c.useRef)(null),L=(0,c.useId)(),R=S||`wim-multiselect-${L}`,z=`${R}-list`,B=m?`${R}-label`:void 0,V=h?`${R}-error`:void 0,H=`${R}-trigger`,U=d!==void 0,W=U?d:O;(0,c.useEffect)(()=>{let e=e=>{P.current&&!P.current.contains(e.target)&&D(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let G=e=>{if(y||e&&e.target.closest(`[data-chip-delete]`))return;let t=!E;D(t),j(t?0:-1)},K=e=>{if(y)return;let t;t=W?.includes(e)?W.filter(t=>t!==e):[...W||[],e],U||k(t),f&&f(t)},q=(e,t)=>{if(e.stopPropagation(),y)return;let n=(W||[]).filter(e=>e!==t);U||k(n),f&&f(n)},J=e=>{e?.stopPropagation(),!y&&(U||k([]),f&&f([]))},Y=e.filter(e=>W?.includes(e.value)),X=t=>{if(N(!0),!y)switch(t.key){case`ArrowDown`:t.preventDefault(),E?j(t=>t<e.length-1?t+1:0):(D(!0),j(0));break;case`ArrowUp`:t.preventDefault(),E&&j(t=>t>0?t-1:e.length-1);break;case`Enter`:case` `:t.preventDefault(),E?A>=0&&K(e[A].value):(D(!0),j(0));break;case`Escape`:E&&(t.preventDefault(),D(!1),j(-1),I.current?.focus());break;case`Home`:E&&(t.preventDefault(),j(0));break;case`End`:E&&(t.preventDefault(),j(e.length-1));break;case`Tab`:E&&(D(!1),j(-1))}};(0,c.useEffect)(()=>{E&&A>=0&&F.current&&F.current.children[A]?.scrollIntoView({block:`nearest`})},[A,E]);let{"aria-label":Z,"aria-labelledby":Q,"aria-describedby":$,...ee}=T;return(0,u.jsx)(a.FieldTemplate,{label:m,error:h,required:g,layout:_,labelId:B,htmlFor:H,errorId:V,className:v,children:(0,u.jsxs)(`div`,{className:(0,l.default)(`wim-multi-select`,s.default.root,w&&s.default.fullWidth),ref:P,onMouseMove:()=>N(!1),"data-keyboard-nav":M,...ee,children:[(0,u.jsx)(i.InputBase,{disabled:y,allowClear:x,hasValue:W&&W.length>0,onClear:J,intent:h?`danger`:`default`,width:C,fullWidth:w,rightIcons:[{name:`ChevronDownIcon`,rotated:E}],className:(0,l.default)(E&&s.default.open),children:(0,u.jsx)(`div`,{id:H,"data-testid":`multiselect-trigger`,className:(0,l.default)(s.default.trigger,y&&s.default.disabled),onClick:G,tabIndex:y?-1:0,role:`combobox`,"aria-expanded":E,"aria-haspopup":`listbox`,"aria-controls":E?z:void 0,"aria-disabled":y,"aria-labelledby":B||Q,"aria-describedby":V||$,"aria-required":g,"aria-invalid":!!h,"aria-label":m?void 0:Z||p,onKeyDown:X,ref:I,"aria-activedescendant":E&&A>=0?`${R}-option-${A}`:void 0,children:(0,u.jsx)(`div`,{className:(0,l.default)(s.default.value,Y.length===0&&s.default.placeholder),children:Y.length>0?Y.map(e=>(0,u.jsx)(o.Chip,{"data-testid":`multiselect-chip`,size:`sm`,intent:`neutral`,variant:`solid`,disabled:y,onDelete:y?void 0:t=>q(t,e.value),children:e.label},e.value)):p})})}),E&&!y&&(0,u.jsx)(`ul`,{id:z,ref:F,className:s.default.list,role:`listbox`,"aria-multiselectable":`true`,"aria-labelledby":B||Q||void 0,children:e.map((e,i)=>{let a=W?.includes(e.value),o=i===A;return(0,u.jsx)(r.BaseListItem,{asChild:!0,id:`${R}-option-${i}`,className:(0,l.default)(s.default.option,a&&s.default.selected),active:o,disabled:e.disabled,onClick:()=>!e.disabled&&K(e.value),onMouseEnter:()=>j(i),rightSection:a?(0,u.jsx)(n.Icon,{component:t.default,size:`sm`}):void 0,role:`option`,"aria-selected":a,tabIndex:-1,children:(0,u.jsx)(`li`,{children:e.label})},e.value)})})]})})};d.displayName=`MultiSelect`,exports.MultiSelect=d;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../hooks/useMergedRef.cjs"),n=require("../../../icon/check.cjs"),r=require("../../media/Icon/Icon.cjs"),i=require("../../_internal/BaseListItem/BaseListItem.cjs"),a=require("../InputBase/InputBase.cjs"),o=require("../../_internal/useInlineFloating.cjs"),s=require("../FieldTemplate/FieldTemplate.cjs"),ee=require("../../data-display/Chip/Chip.cjs"),c=require("./multiselect.module.cjs");let l=require("react");l=e.__toESM(l,1);let u=require("classnames");u=e.__toESM(u,1);let d=require("react/jsx-runtime");var f=({options:e=[],value:f,onChange:p,placeholder:m,label:h,error:g,required:_,layout:v,className:y,disabled:b=!1,defaultValue:x=[],allowClear:S=!1,id:C,width:w,fullWidth:T=!1,...E})=>{let[D,O]=(0,l.useState)(!1),[k,A]=(0,l.useState)(x),[j,M]=(0,l.useState)(-1),[N,P]=(0,l.useState)(!1),F=(0,l.useRef)(null),I=(0,l.useRef)(null),L=(0,l.useRef)(null),R=(0,l.useId)(),z=C||`wim-multiselect-${R}`,B=`${z}-list`,V=h?`${z}-label`:void 0,H=g?`${z}-error`:void 0,U=`${z}-trigger`,W=f!==void 0,G=W?f:k;(0,l.useEffect)(()=>{let e=e=>{F.current&&!F.current.contains(e.target)&&O(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let K=e=>{if(b||e&&e.target.closest(`[data-chip-delete]`))return;let t=!D;O(t),M(t?0:-1)},q=e=>{if(b)return;let t;t=G?.includes(e)?G.filter(t=>t!==e):[...G||[],e],W||A(t),p&&p(t)},J=(e,t)=>{if(e.stopPropagation(),b)return;let n=(G||[]).filter(e=>e!==t);W||A(n),p&&p(n)},Y=e=>{e?.stopPropagation(),!b&&(W||A([]),p&&p([]))},X=e.filter(e=>G?.includes(e.value)),Z=t=>{if(P(!0),!b)switch(t.key){case`ArrowDown`:t.preventDefault(),D?M(t=>t<e.length-1?t+1:0):(O(!0),M(0));break;case`ArrowUp`:t.preventDefault(),D&&M(t=>t>0?t-1:e.length-1);break;case`Enter`:case` `:t.preventDefault(),D?j>=0&&q(e[j].value):(O(!0),M(0));break;case`Escape`:D&&(t.preventDefault(),O(!1),M(-1),L.current?.focus());break;case`Home`:D&&(t.preventDefault(),M(0));break;case`End`:D&&(t.preventDefault(),M(e.length-1));break;case`Tab`:D&&(O(!1),M(-1))}};(0,l.useEffect)(()=>{D&&j>=0&&I.current&&I.current.children[j]?.scrollIntoView({block:`nearest`})},[j,D]);let{"aria-label":Q,"aria-labelledby":$,"aria-describedby":te,...ne}=E,{setReference:re,setFloating:ie,floatingProps:ae}=o.useInlineFloating({open:D&&!b}),oe=t.useMergedRef(F,re),se=t.useMergedRef(I,ie);return(0,d.jsx)(s.FieldTemplate,{label:h,error:g,required:_,layout:v,labelId:V,htmlFor:U,errorId:H,className:y,children:(0,d.jsxs)(`div`,{className:(0,u.default)(`wim-multi-select`,c.default.root,T&&c.default.fullWidth),ref:oe,onMouseMove:()=>P(!1),"data-keyboard-nav":N,...ne,children:[(0,d.jsx)(a.InputBase,{disabled:b,allowClear:S,hasValue:G&&G.length>0,onClear:Y,intent:g?`danger`:`default`,width:w,fullWidth:T,rightIcons:[{name:`ChevronDownIcon`,rotated:D}],className:(0,u.default)(D&&c.default.open),children:(0,d.jsx)(`div`,{id:U,"data-testid":`multiselect-trigger`,className:(0,u.default)(c.default.trigger,b&&c.default.disabled),onClick:K,tabIndex:b?-1:0,role:`combobox`,"aria-expanded":D,"aria-haspopup":`listbox`,"aria-controls":D?B:void 0,"aria-disabled":b,"aria-labelledby":V||$,"aria-describedby":H||te,"aria-required":_,"aria-invalid":!!g,"aria-label":h?void 0:Q||m,onKeyDown:Z,ref:L,"aria-activedescendant":D&&j>=0?`${z}-option-${j}`:void 0,children:(0,d.jsx)(`div`,{className:(0,u.default)(c.default.value,X.length===0&&c.default.placeholder),children:X.length>0?X.map(e=>(0,d.jsx)(ee.Chip,{"data-testid":`multiselect-chip`,size:`sm`,intent:`neutral`,variant:`solid`,disabled:b,onDelete:b?void 0:t=>J(t,e.value),children:e.label},e.value)):m})})}),D&&!b&&(0,d.jsx)(`ul`,{id:B,ref:se,className:c.default.list,...ae,role:`listbox`,"aria-multiselectable":`true`,"aria-labelledby":V||$||void 0,children:e.map((e,t)=>{let a=G?.includes(e.value),o=t===j;return(0,d.jsx)(i.BaseListItem,{asChild:!0,id:`${z}-option-${t}`,className:(0,u.default)(c.default.option,a&&c.default.selected),active:o,disabled:e.disabled,onClick:()=>!e.disabled&&q(e.value),onMouseEnter:()=>M(t),rightSection:a?(0,d.jsx)(r.Icon,{component:n.default,size:`sm`}):void 0,role:`option`,"aria-selected":a,tabIndex:-1,children:(0,d.jsx)(`li`,{children:e.label})},e.value)})})]})})};f.displayName=`MultiSelect`,exports.MultiSelect=f;
@@ -1,48 +1,50 @@
1
1
  "use client";
2
- import e from "../../../icon/check.js";
3
- import { Icon as t } from "../../media/Icon/Icon.js";
4
- import { BaseListItem as n } from "../../_internal/BaseListItem/BaseListItem.js";
5
- import { InputBase as r } from "../InputBase/InputBase.js";
6
- import { FieldTemplate as i } from "../FieldTemplate/FieldTemplate.js";
7
- import { Chip as a } from "../../data-display/Chip/Chip.js";
8
- import o from "./multiselect.module.js";
9
- import { useEffect as s, useId as c, useRef as l, useState as u } from "react";
10
- import d from "classnames";
11
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
2
+ import { useMergedRef as e } from "../../../hooks/useMergedRef.js";
3
+ import t from "../../../icon/check.js";
4
+ import { Icon as n } from "../../media/Icon/Icon.js";
5
+ import { BaseListItem as r } from "../../_internal/BaseListItem/BaseListItem.js";
6
+ import { InputBase as i } from "../InputBase/InputBase.js";
7
+ import { useInlineFloating as a } from "../../_internal/useInlineFloating.js";
8
+ import { FieldTemplate as o } from "../FieldTemplate/FieldTemplate.js";
9
+ import { Chip as s } from "../../data-display/Chip/Chip.js";
10
+ import c from "./multiselect.module.js";
11
+ import { useEffect as l, useId as u, useRef as d, useState as f } from "react";
12
+ import p from "classnames";
13
+ import { jsx as m, jsxs as ee } from "react/jsx-runtime";
12
14
  //#region src/components/form/MultiSelect/MultiSelect.tsx
13
- var m = ({ options: m = [], value: h, onChange: g, placeholder: _, label: v, error: y, required: b, layout: x, className: S, disabled: C = !1, defaultValue: w = [], allowClear: T = !1, id: E, width: D, fullWidth: O = !1, ...ee }) => {
14
- let [k, A] = u(!1), [j, M] = u(w), [N, P] = u(-1), [F, I] = u(!1), L = l(null), R = l(null), z = l(null), B = c(), V = E || `wim-multiselect-${B}`, H = `${V}-list`, U = v ? `${V}-label` : void 0, W = y ? `${V}-error` : void 0, G = `${V}-trigger`, K = h !== void 0, q = K ? h : j;
15
- s(() => {
15
+ var h = ({ options: h = [], value: g, onChange: _, placeholder: v, label: y, error: b, required: x, layout: S, className: C, disabled: w = !1, defaultValue: T = [], allowClear: te = !1, id: ne, width: E, fullWidth: D = !1, ...O }) => {
16
+ let [k, A] = f(!1), [j, M] = f(T), [N, P] = f(-1), [F, I] = f(!1), L = d(null), R = d(null), z = d(null), B = u(), V = ne || `wim-multiselect-${B}`, H = `${V}-list`, U = y ? `${V}-label` : void 0, W = b ? `${V}-error` : void 0, G = `${V}-trigger`, K = g !== void 0, q = K ? g : j;
17
+ l(() => {
16
18
  let e = (e) => {
17
19
  L.current && !L.current.contains(e.target) && A(!1);
18
20
  };
19
21
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
20
22
  }, []);
21
23
  let J = (e) => {
22
- if (C || e && e.target.closest("[data-chip-delete]")) return;
24
+ if (w || e && e.target.closest("[data-chip-delete]")) return;
23
25
  let t = !k;
24
26
  A(t), P(t ? 0 : -1);
25
27
  }, Y = (e) => {
26
- if (C) return;
28
+ if (w) return;
27
29
  let t;
28
- t = q?.includes(e) ? q.filter((t) => t !== e) : [...q || [], e], K || M(t), g && g(t);
30
+ t = q?.includes(e) ? q.filter((t) => t !== e) : [...q || [], e], K || M(t), _ && _(t);
29
31
  }, X = (e, t) => {
30
- if (e.stopPropagation(), C) return;
32
+ if (e.stopPropagation(), w) return;
31
33
  let n = (q || []).filter((e) => e !== t);
32
- K || M(n), g && g(n);
33
- }, Z = (e) => {
34
- e?.stopPropagation(), !C && (K || M([]), g && g([]));
35
- }, Q = m.filter((e) => q?.includes(e.value)), te = (e) => {
36
- if (I(!0), !C) switch (e.key) {
34
+ K || M(n), _ && _(n);
35
+ }, re = (e) => {
36
+ e?.stopPropagation(), !w && (K || M([]), _ && _([]));
37
+ }, Z = h.filter((e) => q?.includes(e.value)), ie = (e) => {
38
+ if (I(!0), !w) switch (e.key) {
37
39
  case "ArrowDown":
38
- e.preventDefault(), k ? P((e) => e < m.length - 1 ? e + 1 : 0) : (A(!0), P(0));
40
+ e.preventDefault(), k ? P((e) => e < h.length - 1 ? e + 1 : 0) : (A(!0), P(0));
39
41
  break;
40
42
  case "ArrowUp":
41
- e.preventDefault(), k && P((e) => e > 0 ? e - 1 : m.length - 1);
43
+ e.preventDefault(), k && P((e) => e > 0 ? e - 1 : h.length - 1);
42
44
  break;
43
45
  case "Enter":
44
46
  case " ":
45
- e.preventDefault(), k ? N >= 0 && Y(m[N].value) : (A(!0), P(0));
47
+ e.preventDefault(), k ? N >= 0 && Y(h[N].value) : (A(!0), P(0));
46
48
  break;
47
49
  case "Escape":
48
50
  k && (e.preventDefault(), A(!1), P(-1), z.current?.focus());
@@ -51,106 +53,107 @@ var m = ({ options: m = [], value: h, onChange: g, placeholder: _, label: v, err
51
53
  k && (e.preventDefault(), P(0));
52
54
  break;
53
55
  case "End":
54
- k && (e.preventDefault(), P(m.length - 1));
56
+ k && (e.preventDefault(), P(h.length - 1));
55
57
  break;
56
58
  case "Tab": k && (A(!1), P(-1));
57
59
  }
58
60
  };
59
- s(() => {
61
+ l(() => {
60
62
  k && N >= 0 && R.current && R.current.children[N]?.scrollIntoView({ block: "nearest" });
61
63
  }, [N, k]);
62
- let { "aria-label": ne, "aria-labelledby": $, "aria-describedby": re, ...ie } = ee;
63
- return /* @__PURE__ */ f(i, {
64
- label: v,
65
- error: y,
66
- required: b,
67
- layout: x,
64
+ let { "aria-label": Q, "aria-labelledby": $, "aria-describedby": ae, ...oe } = O, { setReference: se, setFloating: ce, floatingProps: le } = a({ open: k && !w }), ue = e(L, se), de = e(R, ce);
65
+ return /* @__PURE__ */ m(o, {
66
+ label: y,
67
+ error: b,
68
+ required: x,
69
+ layout: S,
68
70
  labelId: U,
69
71
  htmlFor: G,
70
72
  errorId: W,
71
- className: S,
72
- children: /* @__PURE__ */ p("div", {
73
- className: d("wim-multi-select", o.root, O && o.fullWidth),
74
- ref: L,
73
+ className: C,
74
+ children: /* @__PURE__ */ ee("div", {
75
+ className: p("wim-multi-select", c.root, D && c.fullWidth),
76
+ ref: ue,
75
77
  onMouseMove: () => I(!1),
76
78
  "data-keyboard-nav": F,
77
- ...ie,
78
- children: [/* @__PURE__ */ f(r, {
79
- disabled: C,
80
- allowClear: T,
79
+ ...oe,
80
+ children: [/* @__PURE__ */ m(i, {
81
+ disabled: w,
82
+ allowClear: te,
81
83
  hasValue: q && q.length > 0,
82
- onClear: Z,
83
- intent: y ? "danger" : "default",
84
- width: D,
85
- fullWidth: O,
84
+ onClear: re,
85
+ intent: b ? "danger" : "default",
86
+ width: E,
87
+ fullWidth: D,
86
88
  rightIcons: [{
87
89
  name: "ChevronDownIcon",
88
90
  rotated: k
89
91
  }],
90
- className: d(k && o.open),
91
- children: /* @__PURE__ */ f("div", {
92
+ className: p(k && c.open),
93
+ children: /* @__PURE__ */ m("div", {
92
94
  id: G,
93
95
  "data-testid": "multiselect-trigger",
94
- className: d(o.trigger, C && o.disabled),
96
+ className: p(c.trigger, w && c.disabled),
95
97
  onClick: J,
96
- tabIndex: C ? -1 : 0,
98
+ tabIndex: w ? -1 : 0,
97
99
  role: "combobox",
98
100
  "aria-expanded": k,
99
101
  "aria-haspopup": "listbox",
100
102
  "aria-controls": k ? H : void 0,
101
- "aria-disabled": C,
103
+ "aria-disabled": w,
102
104
  "aria-labelledby": U || $,
103
- "aria-describedby": W || re,
104
- "aria-required": b,
105
- "aria-invalid": !!y,
106
- "aria-label": v ? void 0 : ne || _,
107
- onKeyDown: te,
105
+ "aria-describedby": W || ae,
106
+ "aria-required": x,
107
+ "aria-invalid": !!b,
108
+ "aria-label": y ? void 0 : Q || v,
109
+ onKeyDown: ie,
108
110
  ref: z,
109
111
  "aria-activedescendant": k && N >= 0 ? `${V}-option-${N}` : void 0,
110
- children: /* @__PURE__ */ f("div", {
111
- className: d(o.value, Q.length === 0 && o.placeholder),
112
- children: Q.length > 0 ? Q.map((e) => /* @__PURE__ */ f(a, {
112
+ children: /* @__PURE__ */ m("div", {
113
+ className: p(c.value, Z.length === 0 && c.placeholder),
114
+ children: Z.length > 0 ? Z.map((e) => /* @__PURE__ */ m(s, {
113
115
  "data-testid": "multiselect-chip",
114
116
  size: "sm",
115
117
  intent: "neutral",
116
118
  variant: "solid",
117
- disabled: C,
118
- onDelete: C ? void 0 : (t) => X(t, e.value),
119
+ disabled: w,
120
+ onDelete: w ? void 0 : (t) => X(t, e.value),
119
121
  children: e.label
120
- }, e.value)) : _
122
+ }, e.value)) : v
121
123
  })
122
124
  })
123
- }), k && !C && /* @__PURE__ */ f("ul", {
125
+ }), k && !w && /* @__PURE__ */ m("ul", {
124
126
  id: H,
125
- ref: R,
126
- className: o.list,
127
+ ref: de,
128
+ className: c.list,
129
+ ...le,
127
130
  role: "listbox",
128
131
  "aria-multiselectable": "true",
129
132
  "aria-labelledby": U || $ || void 0,
130
- children: m.map((r, i) => {
131
- let a = q?.includes(r.value), s = i === N;
132
- return /* @__PURE__ */ f(n, {
133
+ children: h.map((e, i) => {
134
+ let a = q?.includes(e.value), o = i === N;
135
+ return /* @__PURE__ */ m(r, {
133
136
  asChild: !0,
134
137
  id: `${V}-option-${i}`,
135
- className: d(o.option, a && o.selected),
136
- active: s,
137
- disabled: r.disabled,
138
- onClick: () => !r.disabled && Y(r.value),
138
+ className: p(c.option, a && c.selected),
139
+ active: o,
140
+ disabled: e.disabled,
141
+ onClick: () => !e.disabled && Y(e.value),
139
142
  onMouseEnter: () => P(i),
140
- rightSection: a ? /* @__PURE__ */ f(t, {
141
- component: e,
143
+ rightSection: a ? /* @__PURE__ */ m(n, {
144
+ component: t,
142
145
  size: "sm"
143
146
  }) : void 0,
144
147
  role: "option",
145
148
  "aria-selected": a,
146
149
  tabIndex: -1,
147
- children: /* @__PURE__ */ f("li", { children: r.label })
148
- }, r.value);
150
+ children: /* @__PURE__ */ m("li", { children: e.label })
151
+ }, e.value);
149
152
  })
150
153
  })]
151
154
  })
152
155
  });
153
156
  };
154
- m.displayName = "MultiSelect";
157
+ h.displayName = "MultiSelect";
155
158
  //#endregion
156
- export { m as MultiSelect };
159
+ export { h as MultiSelect };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_3chmk_23`,t=`_fullWidth_3chmk_30`,n=`_trigger_3chmk_34`,r=`_disabled_3chmk_55`,i=`_open_3chmk_76`,a=`_value_3chmk_84`,o=`_placeholder_3chmk_85`,s=`_icon_3chmk_88`,c=`_list_3chmk_108`,l=`_option_3chmk_122`,u=`_active_3chmk_122`,d=`_selected_3chmk_126`,f=`_clear_3chmk_137`,p={root:e,fullWidth:t,trigger:n,disabled:r,open:i,value:a,placeholder:o,icon:s,list:c,option:l,active:u,selected:d,clear:f};exports.active=u,exports.clear=f,exports.default=p,exports.disabled=r,exports.fullWidth=t,exports.icon=s,exports.list=c,exports.open=i,exports.option=l,exports.placeholder=o,exports.root=e,exports.selected=d,exports.trigger=n,exports.value=a;
2
+ var e=`_root_58yea_23`,t=`_fullWidth_58yea_30`,n=`_trigger_58yea_34`,r=`_disabled_58yea_55`,i=`_open_58yea_76`,a=`_value_58yea_84`,o=`_placeholder_58yea_85`,s=`_icon_58yea_88`,c=`_list_58yea_108`,l=`_option_58yea_129`,u=`_active_58yea_129`,d=`_selected_58yea_133`,f=`_clear_58yea_144`,p={root:e,fullWidth:t,trigger:n,disabled:r,open:i,value:a,placeholder:o,icon:s,list:c,option:l,active:u,selected:d,clear:f};exports.active=u,exports.clear=f,exports.default=p,exports.disabled=r,exports.fullWidth=t,exports.icon=s,exports.list=c,exports.open=i,exports.option=l,exports.placeholder=o,exports.root=e,exports.selected=d,exports.trigger=n,exports.value=a;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/form/MultiSelect/multiselect.module.scss
3
- var e = "_root_3chmk_23", t = "_fullWidth_3chmk_30", n = "_trigger_3chmk_34", r = "_disabled_3chmk_55", i = "_open_3chmk_76", a = "_value_3chmk_84", o = "_placeholder_3chmk_85", s = "_icon_3chmk_88", c = "_list_3chmk_108", l = "_option_3chmk_122", u = "_active_3chmk_122", d = "_selected_3chmk_126", f = "_clear_3chmk_137", p = {
3
+ var e = "_root_58yea_23", t = "_fullWidth_58yea_30", n = "_trigger_58yea_34", r = "_disabled_58yea_55", i = "_open_58yea_76", a = "_value_58yea_84", o = "_placeholder_58yea_85", s = "_icon_58yea_88", c = "_list_58yea_108", l = "_option_58yea_129", u = "_active_58yea_129", d = "_selected_58yea_133", f = "_clear_58yea_144", p = {
4
4
  root: e,
5
5
  fullWidth: t,
6
6
  trigger: n,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../../icon/chevron-down.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("../../../i18n/generated/form.cjs"),o=require("../FieldTemplate/FieldTemplate.cjs"),s=require("./phone-input.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime");var d=[{code:`US`,dialCode:`1`,flag:`🇺🇸`},{code:`JP`,dialCode:`81`,flag:`🇯🇵`},{code:`GB`,dialCode:`44`,flag:`🇬🇧`},{code:`AU`,dialCode:`61`,flag:`🇦🇺`},{code:`DE`,dialCode:`49`,flag:`🇩🇪`},{code:`FR`,dialCode:`33`,flag:`🇫🇷`},{code:`CN`,dialCode:`86`,flag:`🇨🇳`},{code:`KR`,dialCode:`82`,flag:`🇰🇷`},{code:`IN`,dialCode:`91`,flag:`🇮🇳`},{code:`BR`,dialCode:`55`,flag:`🇧🇷`}],f=(0,c.forwardRef)(({value:e=``,onChange:f,countryCode:p=`US`,onCountryChange:m,placeholder:h=`000-0000-0000`,disabled:g=!1,error:_,required:v=!1,label:y,layout:b=`vertical`,className:x,fullWidth:S=!1,"aria-label":C,"aria-labelledby":w,"aria-describedby":T,...E},D)=>{let O=`wim-phone-input-${(0,c.useId)()}`,k=y?`${O}-label`:void 0,{t:A}=t.useWimTranslation(a.formNs),j=A(`phone.select_country`),M=`${O}-countries`,N=e=>`${O}-country-${e}`,P=_?`${O}-error`:void 0,[F,I]=(0,c.useState)(!1),[L,R]=(0,c.useState)(-1),z=(0,c.useRef)(null),B=(0,c.useRef)(null),V=(0,c.useRef)({text:``,timer:null});(0,c.useEffect)(()=>{let e=e=>{z.current&&!z.current.contains(e.target)&&I(!1)};return F&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[F]);let H=d.find(e=>e.code===p)??d[0],U=e=>{f?.(e.target.value)},W=d.length-1,G=e=>{let t=d.findIndex(e=>e.code===H.code);R(e??Math.max(t,0)),I(!0)},K=e=>{let t=d[e];t&&(m?.(t.code),I(!1))},q=e=>A(`phone.countries.${e.code}`),J=e=>a.formNs.resources.en?.phone?.countries?.[e.code]??``,Y=(e,t)=>{let n=e.toLowerCase().replace(/^\+/,``);if(n===``)return-1;let r=/^[0-9]+$/.test(n),i=!r&&n.length>1&&n.split(``).every(e=>e===n[0]),a=i?n[0]:n,o=i||n.length===1?t+1:t,s=r?[e=>e.dialCode]:[e=>q(e).toLowerCase(),e=>J(e).toLowerCase(),e=>e.code.toLowerCase()];for(let e of s)for(let t=0;t<d.length;t++){let n=(Math.max(o,0)+t)%d.length;if(e(d[n]).startsWith(a))return n}return-1},X=e=>{let t=V.current;t.timer&&clearTimeout(t.timer),t.text+=e,t.timer=setTimeout(()=>{t.text=``,t.timer=null},500);let n=Y(t.text,F?L:-1);n<0||(F?R(n):G(n))},Z=e=>{if(!g)switch(e.key){case`ArrowDown`:case`ArrowUp`:if(e.preventDefault(),!F)G();else{let t=e.key===`ArrowDown`?1:-1;R(e=>(e+t+d.length)%d.length)}break;case`Home`:case`End`:e.preventDefault(),F?R(e.key===`Home`?0:W):G(e.key===`Home`?0:W);break;case`Enter`:case` `:e.preventDefault(),e.key===` `&&V.current.text!==``?X(` `):F?K(L):G();break;case`Escape`:F&&(e.preventDefault(),I(!1));break;case`Tab`:I(!1);break;default:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(e.preventDefault(),X(e.key))}};return(0,c.useEffect)(()=>{let e=V.current;return()=>{e.timer&&clearTimeout(e.timer)}},[]),(0,c.useEffect)(()=>{F&&L>=0&&(B.current?.querySelectorAll(`[role="option"]`)?.[L])?.scrollIntoView?.({block:`nearest`})},[L,F]),(0,u.jsx)(o.FieldTemplate,{label:y,labelId:k,htmlFor:O,required:v,error:_,errorId:P,layout:b,className:x,children:(0,u.jsxs)(`div`,{ref:z,className:(0,l.default)(`wim-phone-input`,s.default.root,S&&s.default.fullWidth,g&&s.default.disabled,_&&s.default.danger),"data-testid":`phone-input-root`,...E,children:[(0,u.jsxs)(`div`,{className:s.default.countryWrapper,children:[(0,u.jsxs)(`button`,{type:`button`,role:`combobox`,className:s.default.countryTrigger,onClick:()=>{g||(F?I(!1):G())},onKeyDown:Z,onKeyUp:e=>{e.key===` `&&e.preventDefault()},disabled:g,"aria-haspopup":`listbox`,"aria-expanded":F,"aria-controls":F?M:void 0,"aria-activedescendant":F&&L>=0?N(L):void 0,"aria-label":j,children:[(0,u.jsx)(`span`,{"aria-hidden":`true`,style:{fontSize:`1.2em`},children:H.flag}),(0,u.jsxs)(`span`,{children:[`+`,H.dialCode]}),(0,u.jsx)(i.Icon,{component:r.default,size:`sm`,className:(0,l.default)(s.default.chevron,F&&s.default.chevronOpen)})]}),(0,u.jsx)(n.Transition,{show:F,preset:`fade`,className:s.default.dropdown,children:(0,u.jsx)(`ul`,{ref:B,id:M,className:s.default.countryList,role:`listbox`,"aria-label":j,tabIndex:-1,onMouseDown:e=>e.preventDefault(),children:d.map((e,t)=>(0,u.jsxs)(`li`,{id:N(t),className:(0,l.default)(s.default.countryOption,t===L&&s.default.active,H.code===e.code&&s.default.selected),onMouseEnter:()=>R(t),onClick:()=>K(t),role:`option`,"aria-selected":H.code===e.code,children:[(0,u.jsx)(`span`,{"aria-hidden":`true`,children:e.flag}),(0,u.jsx)(`span`,{className:s.default.countryName,children:q(e)}),` `,(0,u.jsxs)(`span`,{className:s.default.countryCode,children:[`+`,e.dialCode]})]},e.code))})})]}),(0,u.jsx)(`div`,{className:s.default.divider,"aria-hidden":`true`}),(0,u.jsx)(`input`,{id:O,ref:D,type:`tel`,value:e,onChange:U,placeholder:h,disabled:g,className:s.default.number,"aria-invalid":!!_,"aria-label":y?void 0:C,"aria-labelledby":y?void 0:w,"aria-describedby":[T,P].filter(Boolean).join(` `)||void 0})]})})});f.displayName=`PhoneInput`,exports.PHONE_COUNTRIES=d,exports.PhoneInput=f;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../hooks/useMergedRef.cjs"),r=require("../../layout/Transition/Transition.cjs"),i=require("../../../icon/chevron-down.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("../../_internal/useInlineFloating.cjs"),s=require("../../../i18n/generated/form.cjs"),c=require("../FieldTemplate/FieldTemplate.cjs"),l=require("./phone-input.module.cjs");let u=require("react");u=e.__toESM(u,1);let d=require("classnames");d=e.__toESM(d,1);let f=require("react/jsx-runtime");var p=[{code:`US`,dialCode:`1`,flag:`🇺🇸`},{code:`JP`,dialCode:`81`,flag:`🇯🇵`},{code:`GB`,dialCode:`44`,flag:`🇬🇧`},{code:`AU`,dialCode:`61`,flag:`🇦🇺`},{code:`DE`,dialCode:`49`,flag:`🇩🇪`},{code:`FR`,dialCode:`33`,flag:`🇫🇷`},{code:`CN`,dialCode:`86`,flag:`🇨🇳`},{code:`KR`,dialCode:`82`,flag:`🇰🇷`},{code:`IN`,dialCode:`91`,flag:`🇮🇳`},{code:`BR`,dialCode:`55`,flag:`🇧🇷`}],m=(0,u.forwardRef)(({value:e=``,onChange:m,countryCode:h=`US`,onCountryChange:g,placeholder:_=`000-0000-0000`,disabled:v=!1,error:y,required:b=!1,label:x,layout:S=`vertical`,className:C,fullWidth:w=!1,"aria-label":T,"aria-labelledby":E,"aria-describedby":D,...O},k)=>{let A=`wim-phone-input-${(0,u.useId)()}`,j=x?`${A}-label`:void 0,{t:M}=t.useWimTranslation(s.formNs),N=M(`phone.select_country`),P=`${A}-countries`,F=e=>`${A}-country-${e}`,I=y?`${A}-error`:void 0,[L,R]=(0,u.useState)(!1),[z,B]=(0,u.useState)(-1),V=(0,u.useRef)(null),H=(0,u.useRef)(null),U=(0,u.useRef)({text:``,timer:null});(0,u.useEffect)(()=>{let e=e=>{V.current&&!V.current.contains(e.target)&&R(!1)};return L&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[L]);let W=p.find(e=>e.code===h)??p[0],G=e=>{m?.(e.target.value)},K=p.length-1,q=e=>{let t=p.findIndex(e=>e.code===W.code);B(e??Math.max(t,0)),R(!0)},J=e=>{let t=p[e];t&&(g?.(t.code),R(!1))},Y=e=>M(`phone.countries.${e.code}`),X=e=>s.formNs.resources.en?.phone?.countries?.[e.code]??``,Z=(e,t)=>{let n=e.toLowerCase().replace(/^\+/,``);if(n===``)return-1;let r=/^[0-9]+$/.test(n),i=!r&&n.length>1&&n.split(``).every(e=>e===n[0]),a=i?n[0]:n,o=i||n.length===1?t+1:t,s=r?[e=>e.dialCode]:[e=>Y(e).toLowerCase(),e=>X(e).toLowerCase(),e=>e.code.toLowerCase()];for(let e of s)for(let t=0;t<p.length;t++){let n=(Math.max(o,0)+t)%p.length;if(e(p[n]).startsWith(a))return n}return-1},Q=e=>{let t=U.current;t.timer&&clearTimeout(t.timer),t.text+=e,t.timer=setTimeout(()=>{t.text=``,t.timer=null},500);let n=Z(t.text,L?z:-1);n<0||(L?B(n):q(n))},$=e=>{if(!v)switch(e.key){case`ArrowDown`:case`ArrowUp`:if(e.preventDefault(),!L)q();else{let t=e.key===`ArrowDown`?1:-1;B(e=>(e+t+p.length)%p.length)}break;case`Home`:case`End`:e.preventDefault(),L?B(e.key===`Home`?0:K):q(e.key===`Home`?0:K);break;case`Enter`:case` `:e.preventDefault(),e.key===` `&&U.current.text!==``?Q(` `):L?J(z):q();break;case`Escape`:L&&(e.preventDefault(),R(!1));break;case`Tab`:R(!1);break;default:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(e.preventDefault(),Q(e.key))}};(0,u.useEffect)(()=>{let e=U.current;return()=>{e.timer&&clearTimeout(e.timer)}},[]),(0,u.useEffect)(()=>{L&&z>=0&&(H.current?.querySelectorAll(`[role="option"]`)?.[z])?.scrollIntoView?.({block:`nearest`})},[z,L]);let{setReference:ee,setFloating:te,floatingProps:ne}=o.useInlineFloating({open:L}),re=n.useMergedRef(V,ee);return(0,f.jsx)(c.FieldTemplate,{label:x,labelId:j,htmlFor:A,required:b,error:y,errorId:I,layout:S,className:C,children:(0,f.jsxs)(`div`,{ref:re,className:(0,d.default)(`wim-phone-input`,l.default.root,w&&l.default.fullWidth,v&&l.default.disabled,y&&l.default.danger),"data-testid":`phone-input-root`,...O,children:[(0,f.jsxs)(`div`,{className:l.default.countryWrapper,children:[(0,f.jsxs)(`button`,{type:`button`,role:`combobox`,className:l.default.countryTrigger,onClick:()=>{v||(L?R(!1):q())},onKeyDown:$,onKeyUp:e=>{e.key===` `&&e.preventDefault()},disabled:v,"aria-haspopup":`listbox`,"aria-expanded":L,"aria-controls":L?P:void 0,"aria-activedescendant":L&&z>=0?F(z):void 0,"aria-label":N,children:[(0,f.jsx)(`span`,{"aria-hidden":`true`,style:{fontSize:`1.2em`},children:W.flag}),(0,f.jsxs)(`span`,{children:[`+`,W.dialCode]}),(0,f.jsx)(a.Icon,{component:i.default,size:`sm`,className:(0,d.default)(l.default.chevron,L&&l.default.chevronOpen)})]}),(0,f.jsx)(r.Transition,{show:L,preset:`fade`,className:l.default.dropdown,ref:te,...ne,children:(0,f.jsx)(`ul`,{ref:H,id:P,className:l.default.countryList,role:`listbox`,"aria-label":N,tabIndex:-1,onMouseDown:e=>e.preventDefault(),children:p.map((e,t)=>(0,f.jsxs)(`li`,{id:F(t),className:(0,d.default)(l.default.countryOption,t===z&&l.default.active,W.code===e.code&&l.default.selected),onMouseEnter:()=>B(t),onClick:()=>J(t),role:`option`,"aria-selected":W.code===e.code,children:[(0,f.jsx)(`span`,{"aria-hidden":`true`,children:e.flag}),(0,f.jsx)(`span`,{className:l.default.countryName,children:Y(e)}),` `,(0,f.jsxs)(`span`,{className:l.default.countryCode,children:[`+`,e.dialCode]})]},e.code))})})]}),(0,f.jsx)(`div`,{className:l.default.divider,"aria-hidden":`true`}),(0,f.jsx)(`input`,{id:A,ref:k,type:`tel`,value:e,onChange:G,placeholder:_,disabled:v,className:l.default.number,"aria-invalid":!!y,"aria-label":x?void 0:T,"aria-labelledby":x?void 0:E,"aria-describedby":[D,I].filter(Boolean).join(` `)||void 0})]})})});m.displayName=`PhoneInput`,exports.PHONE_COUNTRIES=p,exports.PhoneInput=m;