wimui 0.47.10 → 0.49.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.
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/Transition/Transition.cjs"),n=require("../../../icon/check.cjs"),r=require("../../../icon/chevron-down.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("./model-selector.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=e=>e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}K`:String(e),u=(e,t=`$`)=>`${t}${e}`,d=o.default.forwardRef(({models:e,value:d,defaultValue:f,onChange:p,size:m=`md`,disabled:h=!1,fullWidth:g=!1,showPricing:_=!0,showContext:v=!0,labels:y,className:b,...x},S)=>{let{placeholder:C=`Select a model`,contextLabel:w=`Context`,inputLabel:T=`In`,outputLabel:E=`Out`,perTokensLabel:D=`/1M`,triggerAriaLabel:O=`Select a model`}=y??{},k=d!==void 0,[A,j]=(0,o.useState)(f),M=k?d:A,N=e.find(e=>e.id===M),[P,F]=(0,o.useState)(!1),[I,L]=(0,o.useState)(-1),R=(0,o.useRef)(null),z=(0,o.useRef)(null),B=(0,o.useId)(),V=`${B}-listbox`,H=(0,o.useCallback)(e=>{R.current=e,typeof S==`function`?S(e):S&&(S.current=e)},[S]);(0,o.useEffect)(()=>{if(!P)return;let e=e=>{R.current&&!R.current.contains(e.target)&&F(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[P]);let U=e=>{e.disabled||(k||j(e.id),p?.(e.id,e),F(!1))},W=t=>{if(!h){if(t.key===`ArrowDown`||t.key===`Enter`||t.key===` `){if(t.preventDefault(),!P){F(!0);let t=e.findIndex(e=>e.id===M);L(t>=0?t:0)}}else t.key===`Escape`&&F(!1)}},G=t=>{L(n=>{let r=n;for(let n=0;n<e.length&&(r=(r+t+e.length)%e.length,e[r]?.disabled);n++);return r})},K=t=>{if(t.key===`ArrowDown`)t.preventDefault(),G(1);else if(t.key===`ArrowUp`)t.preventDefault(),G(-1);else if(t.key===`Enter`||t.key===` `){t.preventDefault();let n=e[I];n&&U(n)}else t.key===`Escape`&&(t.preventDefault(),F(!1),R.current?.querySelector(`button`)?.focus())};(0,o.useEffect)(()=>{P&&I>=0&&(z.current?.querySelectorAll(`[role="option"]`)?.[I])?.scrollIntoView({block:`nearest`})},[I,P]);let q=e=>{let t=[];if(v&&e.contextLength&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[w,` `,l(e.contextLength)]},`ctx`)),_&&e.pricing){let{input:n,output:r,currency:i}=e.pricing;n!==void 0&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[T,` `,u(n,i),D]},`in`)),r!==void 0&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[E,` `,u(r,i),D]},`out`))}return t.length===0?null:(0,c.jsx)(`span`,{className:a.default.metaRow,children:t})};return(0,c.jsxs)(`div`,{ref:H,className:(0,s.default)(`wim-model-selector`,a.default.root,a.default[m],g&&a.default.fullWidth,h&&a.default.disabled,b),...x,children:[(0,c.jsxs)(`button`,{type:`button`,className:a.default.trigger,"aria-haspopup":`listbox`,"aria-expanded":P,"aria-controls":P?V:void 0,"aria-label":O,disabled:h,onClick:()=>{if(h)return;F(e=>!e);let t=e.findIndex(e=>e.id===M);L(t>=0?t:0)},onKeyDown:W,children:[(0,c.jsx)(`span`,{className:a.default.triggerLabel,children:N?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{className:a.default.triggerName,children:N.name}),N.badge&&(0,c.jsx)(`span`,{className:a.default.badge,children:N.badge})]}):(0,c.jsx)(`span`,{className:a.default.placeholder,children:C})}),(0,c.jsx)(i.Icon,{component:r.default,size:`sm`,className:(0,s.default)(a.default.chevron,P&&a.default.chevronOpen)})]}),(0,c.jsx)(t.Transition,{show:P,preset:`scale`,unmount:!0,className:a.default.dropdownWrapper,children:(0,c.jsx)(`ul`,{ref:z,id:V,role:`listbox`,"aria-label":O,tabIndex:0,className:a.default.dropdown,onKeyDown:K,"aria-activedescendant":I>=0?`${B}-opt-${I}`:void 0,children:e.map((e,t)=>{let r=e.id===M;return(0,c.jsxs)(`li`,{id:`${B}-opt-${t}`,role:`option`,"aria-selected":r,"aria-disabled":e.disabled||void 0,className:(0,s.default)(a.default.option,t===I&&a.default.active,e.disabled&&a.default.optionDisabled),onMouseEnter:()=>L(t),onClick:()=>U(e),children:[(0,c.jsx)(`span`,{className:a.default.check,"aria-hidden":`true`,children:r&&(0,c.jsx)(i.Icon,{component:n.default,size:`sm`})}),(0,c.jsxs)(`span`,{className:a.default.optionBody,children:[(0,c.jsxs)(`span`,{className:a.default.optionHeader,children:[(0,c.jsx)(`span`,{className:a.default.optionName,children:e.name}),e.badge&&(0,c.jsx)(`span`,{className:a.default.badge,children:e.badge})]}),e.description&&(0,c.jsx)(`span`,{className:a.default.description,children:e.description}),q(e)]})]},e.id)})})})]})});d.displayName=`ModelSelector`,exports.ModelSelector=d;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/Transition/Transition.cjs"),n=require("../../../icon/check.cjs"),r=require("../../../icon/chevron-down.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("./model-selector.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=e=>e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}K`:String(e),u=(e,t=`$`)=>`${t}${e}`,d=o.default.forwardRef(({models:e,value:d,defaultValue:f,onChange:p,size:m=`md`,disabled:h=!1,fullWidth:g=!1,showPricing:_=!0,showContext:v=!0,labels:y,className:b,...x},S)=>{let{placeholder:C=`Select a model`,contextLabel:w=`Context`,inputLabel:T=`In`,outputLabel:E=`Out`,perTokensLabel:D=`/1M`,triggerAriaLabel:O=`Select a model`}=y??{},k=d!==void 0,[A,j]=(0,o.useState)(f),M=k?d:A,N=e.find(e=>e.id===M),[P,F]=(0,o.useState)(!1),[I,L]=(0,o.useState)(-1),R=(0,o.useRef)(null),z=(0,o.useRef)(null),B=(0,o.useId)(),V=`${B}-listbox`,H=(0,o.useCallback)(e=>{R.current=e,typeof S==`function`?S(e):S&&(S.current=e)},[S]);(0,o.useEffect)(()=>{if(!P)return;let e=e=>{R.current&&!R.current.contains(e.target)&&F(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[P]);let U=e=>{e.disabled||(k||j(e.id),p?.(e.id,e),F(!1))},W=(t,n)=>{let r=t;for(let t=0;t<e.length;t++){if(!e[r]?.disabled)return r;r=(r+n+e.length)%e.length}return-1},G=t=>{let n=e.findIndex(e=>e.id===M);L(t??(n>=0?n:W(0,1))),F(!0)},K=t=>{L(n=>{let r=n;for(let n=0;n<e.length&&(r=(r+t+e.length)%e.length,e[r]?.disabled);n++);return r})},q=t=>{if(!h)switch(t.key){case`ArrowDown`:case`ArrowUp`:t.preventDefault(),P?K(t.key===`ArrowDown`?1:-1):G();break;case`Home`:case`End`:t.preventDefault(),t.key===`Home`?P?L(W(0,1)):G(W(0,1)):P?L(W(e.length-1,-1)):G(W(e.length-1,-1));break;case`Enter`:case` `:if(t.preventDefault(),!P)G();else{let t=e[I];t&&U(t)}break;case`Escape`:P&&(t.preventDefault(),F(!1));break;case`Tab`:F(!1)}};(0,o.useEffect)(()=>{P&&I>=0&&(z.current?.querySelectorAll(`[role="option"]`)?.[I])?.scrollIntoView({block:`nearest`})},[I,P]);let J=e=>{let t=[];if(v&&e.contextLength&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[w,` `,l(e.contextLength)]},`ctx`)),_&&e.pricing){let{input:n,output:r,currency:i}=e.pricing;n!==void 0&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[T,` `,u(n,i),D]},`in`)),r!==void 0&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[E,` `,u(r,i),D]},`out`))}return t.length===0?null:(0,c.jsx)(`span`,{className:a.default.metaRow,children:t})};return(0,c.jsxs)(`div`,{ref:H,className:(0,s.default)(`wim-model-selector`,a.default.root,a.default[m],g&&a.default.fullWidth,h&&a.default.disabled,b),...x,children:[(0,c.jsxs)(`button`,{type:`button`,role:`combobox`,className:a.default.trigger,"aria-haspopup":`listbox`,"aria-expanded":P,"aria-controls":P?V:void 0,"aria-activedescendant":P&&I>=0?`${B}-opt-${I}`:void 0,"aria-label":O,disabled:h,onClick:()=>{h||(P?F(!1):G())},onKeyDown:q,onKeyUp:e=>{e.key===` `&&e.preventDefault()},children:[(0,c.jsx)(`span`,{className:a.default.triggerLabel,children:N?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{className:a.default.triggerName,children:N.name}),N.badge&&(0,c.jsx)(`span`,{className:a.default.badge,children:N.badge})]}):(0,c.jsx)(`span`,{className:a.default.placeholder,children:C})}),(0,c.jsx)(i.Icon,{component:r.default,size:`sm`,className:(0,s.default)(a.default.chevron,P&&a.default.chevronOpen)})]}),(0,c.jsx)(t.Transition,{show:P,preset:`scale`,unmount:!0,className:a.default.dropdownWrapper,children:(0,c.jsx)(`ul`,{ref:z,id:V,role:`listbox`,"aria-label":O,tabIndex:-1,className:a.default.dropdown,onMouseDown:e=>e.preventDefault(),children:e.map((e,t)=>{let r=e.id===M;return(0,c.jsxs)(`li`,{id:`${B}-opt-${t}`,role:`option`,"aria-selected":r,"aria-disabled":e.disabled||void 0,className:(0,s.default)(a.default.option,t===I&&a.default.active,e.disabled&&a.default.optionDisabled),onMouseEnter:()=>L(t),onClick:()=>U(e),children:[(0,c.jsx)(`span`,{className:a.default.check,"aria-hidden":`true`,children:r&&(0,c.jsx)(i.Icon,{component:n.default,size:`sm`})}),(0,c.jsxs)(`span`,{className:a.default.optionBody,children:[(0,c.jsxs)(`span`,{className:a.default.optionHeader,children:[(0,c.jsx)(`span`,{className:a.default.optionName,children:e.name}),e.badge&&(0,c.jsx)(`span`,{className:a.default.badge,children:e.badge})]}),e.description&&(0,c.jsx)(`span`,{className:a.default.description,children:e.description}),J(e)]})]},e.id)})})})]})});d.displayName=`ModelSelector`,exports.ModelSelector=d;
@@ -21,35 +21,50 @@ var h = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(e % 1e6 == 0 ? 0 : 1)}M` : e >= 1
21
21
  }, [B]);
22
22
  let Y = (e) => {
23
23
  e.disabled || (F || L(e.id), y?.(e.id, e), V(!1));
24
- }, X = (e) => {
25
- if (!x) {
26
- if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
27
- if (e.preventDefault(), !B) {
28
- V(!0);
29
- let e = a.findIndex((e) => e.id === R);
30
- U(e >= 0 ? e : 0);
31
- }
32
- } else e.key === "Escape" && V(!1);
24
+ }, X = (e, t) => {
25
+ let n = e;
26
+ for (let e = 0; e < a.length; e++) {
27
+ if (!a[n]?.disabled) return n;
28
+ n = (n + t + a.length) % a.length;
33
29
  }
30
+ return -1;
34
31
  }, Z = (e) => {
32
+ let t = a.findIndex((e) => e.id === R);
33
+ U(e ?? (t >= 0 ? t : X(0, 1))), V(!0);
34
+ }, Q = (e) => {
35
35
  U((t) => {
36
36
  let n = t;
37
37
  for (let t = 0; t < a.length && (n = (n + e + a.length) % a.length, a[n]?.disabled); t++);
38
38
  return n;
39
39
  });
40
- }, Q = (e) => {
41
- if (e.key === "ArrowDown") e.preventDefault(), Z(1);
42
- else if (e.key === "ArrowUp") e.preventDefault(), Z(-1);
43
- else if (e.key === "Enter" || e.key === " ") {
44
- e.preventDefault();
45
- let t = a[H];
46
- t && Y(t);
47
- } else e.key === "Escape" && (e.preventDefault(), V(!1), W.current?.querySelector("button")?.focus());
40
+ }, $ = (e) => {
41
+ if (!x) switch (e.key) {
42
+ case "ArrowDown":
43
+ case "ArrowUp":
44
+ e.preventDefault(), B ? Q(e.key === "ArrowDown" ? 1 : -1) : Z();
45
+ break;
46
+ case "Home":
47
+ case "End":
48
+ e.preventDefault(), e.key === "Home" ? B ? U(X(0, 1)) : Z(X(0, 1)) : B ? U(X(a.length - 1, -1)) : Z(X(a.length - 1, -1));
49
+ break;
50
+ case "Enter":
51
+ case " ":
52
+ if (e.preventDefault(), !B) Z();
53
+ else {
54
+ let e = a[H];
55
+ e && Y(e);
56
+ }
57
+ break;
58
+ case "Escape":
59
+ B && (e.preventDefault(), V(!1));
60
+ break;
61
+ case "Tab": V(!1);
62
+ }
48
63
  };
49
64
  s(() => {
50
65
  B && H >= 0 && (G.current?.querySelectorAll("[role=\"option\"]")?.[H])?.scrollIntoView({ block: "nearest" });
51
66
  }, [H, B]);
52
- let $ = (e) => {
67
+ let ee = (e) => {
53
68
  let t = [];
54
69
  if (w && e.contextLength && t.push(/* @__PURE__ */ m("span", {
55
70
  className: i.meta,
@@ -89,19 +104,21 @@ var h = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(e % 1e6 == 0 ? 0 : 1)}M` : e >= 1
89
104
  ...D,
90
105
  children: [/* @__PURE__ */ m("button", {
91
106
  type: "button",
107
+ role: "combobox",
92
108
  className: i.trigger,
93
109
  "aria-haspopup": "listbox",
94
110
  "aria-expanded": B,
95
111
  "aria-controls": B ? q : void 0,
112
+ "aria-activedescendant": B && H >= 0 ? `${K}-opt-${H}` : void 0,
96
113
  "aria-label": P,
97
114
  disabled: x,
98
115
  onClick: () => {
99
- if (x) return;
100
- V((e) => !e);
101
- let e = a.findIndex((e) => e.id === R);
102
- U(e >= 0 ? e : 0);
116
+ x || (B ? V(!1) : Z());
117
+ },
118
+ onKeyDown: $,
119
+ onKeyUp: (e) => {
120
+ e.key === " " && e.preventDefault();
103
121
  },
104
- onKeyDown: X,
105
122
  children: [/* @__PURE__ */ p("span", {
106
123
  className: i.triggerLabel,
107
124
  children: z ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("span", {
@@ -129,10 +146,9 @@ var h = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(e % 1e6 == 0 ? 0 : 1)}M` : e >= 1
129
146
  id: q,
130
147
  role: "listbox",
131
148
  "aria-label": P,
132
- tabIndex: 0,
149
+ tabIndex: -1,
133
150
  className: i.dropdown,
134
- onKeyDown: Q,
135
- "aria-activedescendant": H >= 0 ? `${K}-opt-${H}` : void 0,
151
+ onMouseDown: (e) => e.preventDefault(),
136
152
  children: a.map((e, n) => {
137
153
  let a = e.id === R;
138
154
  return /* @__PURE__ */ m("li", {
@@ -167,7 +183,7 @@ var h = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(e % 1e6 == 0 ? 0 : 1)}M` : e >= 1
167
183
  className: i.description,
168
184
  children: e.description
169
185
  }),
170
- $(e)
186
+ ee(e)
171
187
  ]
172
188
  })]
173
189
  }, e.id);
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/Transition/Transition.cjs"),n=require("../../../icon/chevron-down.cjs"),r=require("../../media/Icon/Icon.cjs"),i=require("../FieldTemplate/FieldTemplate.cjs"),a=require("./phone-input.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=[{code:`US`,name:`United States`,dialCode:`1`,flag:`🇺🇸`},{code:`JP`,name:`Japan`,dialCode:`81`,flag:`🇯🇵`},{code:`GB`,name:`United Kingdom`,dialCode:`44`,flag:`🇬🇧`},{code:`AU`,name:`Australia`,dialCode:`61`,flag:`🇦🇺`},{code:`DE`,name:`Germany`,dialCode:`49`,flag:`🇩🇪`},{code:`FR`,name:`France`,dialCode:`33`,flag:`🇫🇷`},{code:`CN`,name:`China`,dialCode:`86`,flag:`🇨🇳`},{code:`KR`,name:`South Korea`,dialCode:`82`,flag:`🇰🇷`},{code:`IN`,name:`India`,dialCode:`91`,flag:`🇮🇳`},{code:`BR`,name:`Brazil`,dialCode:`55`,flag:`🇧🇷`}],u=(0,o.forwardRef)(({value:e=``,onChange:u,countryCode:d=`US`,onCountryChange:f,placeholder:p=`000-0000-0000`,disabled:m=!1,error:h,required:g=!1,label:_,layout:v=`vertical`,className:y,fullWidth:b=!1,...x},S)=>{let C=`wim-phone-input-${(0,o.useId)()}`,w=_?`${C}-label`:void 0,T=_?void 0:`Select country`,E=h?`${C}-error`:void 0,[D,O]=(0,o.useState)(!1),k=(0,o.useRef)(null);(0,o.useEffect)(()=>{let e=e=>{k.current&&!k.current.contains(e.target)&&O(!1)};return D&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[D]);let A=l.find(e=>e.code===d)??l[0],j=e=>{u?.(e.target.value)};return(0,c.jsx)(i.FieldTemplate,{label:_,labelId:w,htmlFor:C,required:g,error:h,errorId:E,layout:v,className:y,children:(0,c.jsxs)(`div`,{ref:k,className:(0,s.default)(`wim-phone-input`,a.default.root,b&&a.default.fullWidth,m&&a.default.disabled,h&&a.default.danger),"data-testid":`phone-input-root`,...x,children:[(0,c.jsxs)(`div`,{className:a.default.countryWrapper,children:[(0,c.jsxs)(`button`,{type:`button`,className:a.default.countryTrigger,onClick:()=>!m&&O(!D),disabled:m,"aria-haspopup":`listbox`,"aria-expanded":D,"aria-labelledby":w,"aria-label":T,children:[(0,c.jsx)(`span`,{"aria-hidden":`true`,style:{fontSize:`1.2em`},children:A.flag}),(0,c.jsxs)(`span`,{children:[`+`,A.dialCode]}),(0,c.jsx)(r.Icon,{component:n.default,size:`sm`,className:(0,s.default)(a.default.chevron,D&&a.default.chevronOpen)})]}),(0,c.jsx)(t.Transition,{show:D,preset:`fade`,className:a.default.dropdown,children:(0,c.jsx)(`ul`,{className:a.default.countryList,role:`listbox`,"aria-labelledby":_?w:void 0,"aria-label":T,children:l.map(e=>(0,c.jsxs)(`li`,{className:(0,s.default)(a.default.countryOption,A.code===e.code&&a.default.selected),onClick:()=>{f?.(e.code),O(!1)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),f?.(e.code),O(!1))},tabIndex:0,role:`option`,"aria-selected":A.code===e.code,children:[(0,c.jsx)(`span`,{"aria-hidden":`true`,children:e.flag}),(0,c.jsx)(`span`,{className:a.default.countryName,children:e.name}),(0,c.jsxs)(`span`,{className:a.default.countryCode,children:[`+`,e.dialCode]})]},e.code))})})]}),(0,c.jsx)(`div`,{className:a.default.divider,"aria-hidden":`true`}),(0,c.jsx)(`input`,{id:C,ref:S,type:`tel`,value:e,onChange:j,placeholder:p,disabled:m,className:a.default.number,"aria-invalid":!!h,"aria-describedby":E})]})})});u.displayName=`PhoneInput`,exports.PHONE_COUNTRIES=l,exports.PhoneInput=u;
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("../FieldTemplate/FieldTemplate.cjs"),o=require("./phone-input.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=[{code:`US`,name:`United States`,dialCode:`1`,flag:`🇺🇸`},{code:`JP`,name:`Japan`,dialCode:`81`,flag:`🇯🇵`},{code:`GB`,name:`United Kingdom`,dialCode:`44`,flag:`🇬🇧`},{code:`AU`,name:`Australia`,dialCode:`61`,flag:`🇦🇺`},{code:`DE`,name:`Germany`,dialCode:`49`,flag:`🇩🇪`},{code:`FR`,name:`France`,dialCode:`33`,flag:`🇫🇷`},{code:`CN`,name:`China`,dialCode:`86`,flag:`🇨🇳`},{code:`KR`,name:`South Korea`,dialCode:`82`,flag:`🇰🇷`},{code:`IN`,name:`India`,dialCode:`91`,flag:`🇮🇳`},{code:`BR`,name:`Brazil`,dialCode:`55`,flag:`🇧🇷`}],d=(0,s.forwardRef)(({value:e=``,onChange:d,countryCode:f=`US`,onCountryChange:p,placeholder:m=`000-0000-0000`,disabled:h=!1,error:g,required:_=!1,label:v,layout:y=`vertical`,className:b,fullWidth:x=!1,...S},C)=>{let w=`wim-phone-input-${(0,s.useId)()}`,T=v?`${w}-label`:void 0,{t:E}=t.useWimTranslation(`form`),D=E(`phone.select_country`),O=`${w}-countries`,k=e=>`${w}-country-${e}`,A=g?`${w}-error`:void 0,[j,M]=(0,s.useState)(!1),[N,P]=(0,s.useState)(-1),F=(0,s.useRef)(null),I=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=e=>{F.current&&!F.current.contains(e.target)&&M(!1)};return j&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[j]);let L=u.find(e=>e.code===f)??u[0],R=e=>{d?.(e.target.value)},z=u.length-1,B=e=>{let t=u.findIndex(e=>e.code===L.code);P(e??Math.max(t,0)),M(!0)},V=e=>{let t=u[e];t&&(p?.(t.code),M(!1))},H=e=>{if(!h)switch(e.key){case`ArrowDown`:case`ArrowUp`:if(e.preventDefault(),!j)B();else{let t=e.key===`ArrowDown`?1:-1;P(e=>(e+t+u.length)%u.length)}break;case`Home`:case`End`:e.preventDefault(),j?P(e.key===`Home`?0:z):B(e.key===`Home`?0:z);break;case`Enter`:case` `:e.preventDefault(),j?V(N):B();break;case`Escape`:j&&(e.preventDefault(),M(!1));break;case`Tab`:M(!1)}};return(0,s.useEffect)(()=>{j&&N>=0&&(I.current?.querySelectorAll(`[role="option"]`)?.[N])?.scrollIntoView?.({block:`nearest`})},[N,j]),(0,l.jsx)(a.FieldTemplate,{label:v,labelId:T,htmlFor:w,required:_,error:g,errorId:A,layout:y,className:b,children:(0,l.jsxs)(`div`,{ref:F,className:(0,c.default)(`wim-phone-input`,o.default.root,x&&o.default.fullWidth,h&&o.default.disabled,g&&o.default.danger),"data-testid":`phone-input-root`,...S,children:[(0,l.jsxs)(`div`,{className:o.default.countryWrapper,children:[(0,l.jsxs)(`button`,{type:`button`,role:`combobox`,className:o.default.countryTrigger,onClick:()=>{h||(j?M(!1):B())},onKeyDown:H,onKeyUp:e=>{e.key===` `&&e.preventDefault()},disabled:h,"aria-haspopup":`listbox`,"aria-expanded":j,"aria-controls":j?O:void 0,"aria-activedescendant":j&&N>=0?k(N):void 0,"aria-label":D,children:[(0,l.jsx)(`span`,{"aria-hidden":`true`,style:{fontSize:`1.2em`},children:L.flag}),(0,l.jsxs)(`span`,{children:[`+`,L.dialCode]}),(0,l.jsx)(i.Icon,{component:r.default,size:`sm`,className:(0,c.default)(o.default.chevron,j&&o.default.chevronOpen)})]}),(0,l.jsx)(n.Transition,{show:j,preset:`fade`,className:o.default.dropdown,children:(0,l.jsx)(`ul`,{ref:I,id:O,className:o.default.countryList,role:`listbox`,"aria-label":D,tabIndex:-1,onMouseDown:e=>e.preventDefault(),children:u.map((e,t)=>(0,l.jsxs)(`li`,{id:k(t),className:(0,c.default)(o.default.countryOption,t===N&&o.default.active,L.code===e.code&&o.default.selected),onMouseEnter:()=>P(t),onClick:()=>V(t),role:`option`,"aria-selected":L.code===e.code,children:[(0,l.jsx)(`span`,{"aria-hidden":`true`,children:e.flag}),(0,l.jsx)(`span`,{className:o.default.countryName,children:e.name}),(0,l.jsxs)(`span`,{className:o.default.countryCode,children:[`+`,e.dialCode]})]},e.code))})})]}),(0,l.jsx)(`div`,{className:o.default.divider,"aria-hidden":`true`}),(0,l.jsx)(`input`,{id:w,ref:C,type:`tel`,value:e,onChange:R,placeholder:m,disabled:h,className:o.default.number,"aria-invalid":!!g,"aria-describedby":A})]})})});d.displayName=`PhoneInput`,exports.PHONE_COUNTRIES=u,exports.PhoneInput=d;
@@ -1,14 +1,15 @@
1
1
  "use client";
2
- import { Transition as e } from "../../layout/Transition/Transition.js";
3
- import t from "../../../icon/chevron-down.js";
4
- import { Icon as n } from "../../media/Icon/Icon.js";
5
- import { FieldTemplate as r } from "../FieldTemplate/FieldTemplate.js";
6
- import i from "./phone-input.module.js";
7
- import { forwardRef as a, useEffect as o, useId as s, useRef as c, useState as l } from "react";
8
- import u from "classnames";
9
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
2
+ import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
3
+ import { Transition as t } from "../../layout/Transition/Transition.js";
4
+ import n from "../../../icon/chevron-down.js";
5
+ import { Icon as r } from "../../media/Icon/Icon.js";
6
+ import { FieldTemplate as i } from "../FieldTemplate/FieldTemplate.js";
7
+ import a from "./phone-input.module.js";
8
+ import { forwardRef as o, useEffect as s, useId as c, useRef as l, useState as u } from "react";
9
+ import d from "classnames";
10
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
11
  //#region src/components/form/PhoneInput/PhoneInput.tsx
11
- var p = [
12
+ var m = [
12
13
  {
13
14
  code: "US",
14
15
  name: "United States",
@@ -69,89 +70,127 @@ var p = [
69
70
  dialCode: "55",
70
71
  flag: "🇧🇷"
71
72
  }
72
- ], m = a(({ value: a = "", 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, ...T }, E) => {
73
- let D = `wim-phone-input-${s()}`, O = x ? `${D}-label` : void 0, k = x ? void 0 : "Select country", A = y ? `${D}-error` : void 0, [j, M] = l(!1), N = c(null);
74
- o(() => {
73
+ ], h = o(({ value: o = "", onChange: h, countryCode: g = "US", onCountryChange: _, placeholder: v = "000-0000-0000", disabled: y = !1, error: b, required: x = !1, label: S, layout: C = "vertical", className: w, fullWidth: T = !1, ...E }, D) => {
74
+ let O = `wim-phone-input-${c()}`, k = S ? `${O}-label` : void 0, { t: A } = e("form"), j = A("phone.select_country"), M = `${O}-countries`, N = (e) => `${O}-country-${e}`, P = b ? `${O}-error` : void 0, [F, I] = u(!1), [L, R] = u(-1), z = l(null), B = l(null);
75
+ s(() => {
75
76
  let e = (e) => {
76
- N.current && !N.current.contains(e.target) && M(!1);
77
+ z.current && !z.current.contains(e.target) && I(!1);
77
78
  };
78
- return j && document.addEventListener("mousedown", e), () => {
79
+ return F && document.addEventListener("mousedown", e), () => {
79
80
  document.removeEventListener("mousedown", e);
80
81
  };
81
- }, [j]);
82
- let P = p.find((e) => e.code === h) ?? p[0], F = (e) => {
83
- m?.(e.target.value);
82
+ }, [F]);
83
+ let V = m.find((e) => e.code === g) ?? m[0], H = (e) => {
84
+ h?.(e.target.value);
85
+ }, U = m.length - 1, W = (e) => {
86
+ let t = m.findIndex((e) => e.code === V.code);
87
+ R(e ?? Math.max(t, 0)), I(!0);
88
+ }, G = (e) => {
89
+ let t = m[e];
90
+ t && (_?.(t.code), I(!1));
91
+ }, K = (e) => {
92
+ if (!y) switch (e.key) {
93
+ case "ArrowDown":
94
+ case "ArrowUp":
95
+ if (e.preventDefault(), !F) W();
96
+ else {
97
+ let t = e.key === "ArrowDown" ? 1 : -1;
98
+ R((e) => (e + t + m.length) % m.length);
99
+ }
100
+ break;
101
+ case "Home":
102
+ case "End":
103
+ e.preventDefault(), F ? R(e.key === "Home" ? 0 : U) : W(e.key === "Home" ? 0 : U);
104
+ break;
105
+ case "Enter":
106
+ case " ":
107
+ e.preventDefault(), F ? G(L) : W();
108
+ break;
109
+ case "Escape":
110
+ F && (e.preventDefault(), I(!1));
111
+ break;
112
+ case "Tab": I(!1);
113
+ }
84
114
  };
85
- return /* @__PURE__ */ d(r, {
86
- label: x,
87
- labelId: O,
88
- htmlFor: D,
89
- required: b,
90
- error: y,
91
- errorId: A,
92
- layout: S,
93
- className: C,
94
- children: /* @__PURE__ */ f("div", {
95
- ref: N,
96
- className: u("wim-phone-input", i.root, w && i.fullWidth, v && i.disabled, y && i.danger),
115
+ return s(() => {
116
+ F && L >= 0 && (B.current?.querySelectorAll("[role=\"option\"]")?.[L])?.scrollIntoView?.({ block: "nearest" });
117
+ }, [L, F]), /* @__PURE__ */ f(i, {
118
+ label: S,
119
+ labelId: k,
120
+ htmlFor: O,
121
+ required: x,
122
+ error: b,
123
+ errorId: P,
124
+ layout: C,
125
+ className: w,
126
+ children: /* @__PURE__ */ p("div", {
127
+ ref: z,
128
+ className: d("wim-phone-input", a.root, T && a.fullWidth, y && a.disabled, b && a.danger),
97
129
  "data-testid": "phone-input-root",
98
- ...T,
130
+ ...E,
99
131
  children: [
100
- /* @__PURE__ */ f("div", {
101
- className: i.countryWrapper,
102
- children: [/* @__PURE__ */ f("button", {
132
+ /* @__PURE__ */ p("div", {
133
+ className: a.countryWrapper,
134
+ children: [/* @__PURE__ */ p("button", {
103
135
  type: "button",
104
- className: i.countryTrigger,
105
- onClick: () => !v && M(!j),
106
- disabled: v,
136
+ role: "combobox",
137
+ className: a.countryTrigger,
138
+ onClick: () => {
139
+ y || (F ? I(!1) : W());
140
+ },
141
+ onKeyDown: K,
142
+ onKeyUp: (e) => {
143
+ e.key === " " && e.preventDefault();
144
+ },
145
+ disabled: y,
107
146
  "aria-haspopup": "listbox",
108
- "aria-expanded": j,
109
- "aria-labelledby": O,
110
- "aria-label": k,
147
+ "aria-expanded": F,
148
+ "aria-controls": F ? M : void 0,
149
+ "aria-activedescendant": F && L >= 0 ? N(L) : void 0,
150
+ "aria-label": j,
111
151
  children: [
112
- /* @__PURE__ */ d("span", {
152
+ /* @__PURE__ */ f("span", {
113
153
  "aria-hidden": "true",
114
154
  style: { fontSize: "1.2em" },
115
- children: P.flag
155
+ children: V.flag
116
156
  }),
117
- /* @__PURE__ */ f("span", { children: ["+", P.dialCode] }),
118
- /* @__PURE__ */ d(n, {
119
- component: t,
157
+ /* @__PURE__ */ p("span", { children: ["+", V.dialCode] }),
158
+ /* @__PURE__ */ f(r, {
159
+ component: n,
120
160
  size: "sm",
121
- className: u(i.chevron, j && i.chevronOpen)
161
+ className: d(a.chevron, F && a.chevronOpen)
122
162
  })
123
163
  ]
124
- }), /* @__PURE__ */ d(e, {
125
- show: j,
164
+ }), /* @__PURE__ */ f(t, {
165
+ show: F,
126
166
  preset: "fade",
127
- className: i.dropdown,
128
- children: /* @__PURE__ */ d("ul", {
129
- className: i.countryList,
167
+ className: a.dropdown,
168
+ children: /* @__PURE__ */ f("ul", {
169
+ ref: B,
170
+ id: M,
171
+ className: a.countryList,
130
172
  role: "listbox",
131
- "aria-labelledby": x ? O : void 0,
132
- "aria-label": k,
133
- children: p.map((e) => /* @__PURE__ */ f("li", {
134
- className: u(i.countryOption, P.code === e.code && i.selected),
135
- onClick: () => {
136
- g?.(e.code), M(!1);
137
- },
138
- onKeyDown: (t) => {
139
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), g?.(e.code), M(!1));
140
- },
141
- tabIndex: 0,
173
+ "aria-label": j,
174
+ tabIndex: -1,
175
+ onMouseDown: (e) => e.preventDefault(),
176
+ children: m.map((e, t) => /* @__PURE__ */ p("li", {
177
+ id: N(t),
178
+ className: d(a.countryOption, t === L && a.active, V.code === e.code && a.selected),
179
+ onMouseEnter: () => R(t),
180
+ onClick: () => G(t),
142
181
  role: "option",
143
- "aria-selected": P.code === e.code,
182
+ "aria-selected": V.code === e.code,
144
183
  children: [
145
- /* @__PURE__ */ d("span", {
184
+ /* @__PURE__ */ f("span", {
146
185
  "aria-hidden": "true",
147
186
  children: e.flag
148
187
  }),
149
- /* @__PURE__ */ d("span", {
150
- className: i.countryName,
188
+ /* @__PURE__ */ f("span", {
189
+ className: a.countryName,
151
190
  children: e.name
152
191
  }),
153
- /* @__PURE__ */ f("span", {
154
- className: i.countryCode,
192
+ /* @__PURE__ */ p("span", {
193
+ className: a.countryCode,
155
194
  children: ["+", e.dialCode]
156
195
  })
157
196
  ]
@@ -159,26 +198,26 @@ var p = [
159
198
  })
160
199
  })]
161
200
  }),
162
- /* @__PURE__ */ d("div", {
163
- className: i.divider,
201
+ /* @__PURE__ */ f("div", {
202
+ className: a.divider,
164
203
  "aria-hidden": "true"
165
204
  }),
166
- /* @__PURE__ */ d("input", {
167
- id: D,
168
- ref: E,
205
+ /* @__PURE__ */ f("input", {
206
+ id: O,
207
+ ref: D,
169
208
  type: "tel",
170
- value: a,
171
- onChange: F,
172
- placeholder: _,
173
- disabled: v,
174
- className: i.number,
175
- "aria-invalid": !!y,
176
- "aria-describedby": A
209
+ value: o,
210
+ onChange: H,
211
+ placeholder: v,
212
+ disabled: y,
213
+ className: a.number,
214
+ "aria-invalid": !!b,
215
+ "aria-describedby": P
177
216
  })
178
217
  ]
179
218
  })
180
219
  });
181
220
  });
182
- m.displayName = "PhoneInput";
221
+ h.displayName = "PhoneInput";
183
222
  //#endregion
184
- export { p as PHONE_COUNTRIES, m as PhoneInput };
223
+ export { m as PHONE_COUNTRIES, h as PhoneInput };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_jiaef_37`,t=`_fullWidth_jiaef_50`,n=`_disabled_jiaef_53`,r=`_chevron_jiaef_77`,i=`_countryCode_jiaef_78`,a=`_number_jiaef_79`,o=`_danger_jiaef_8`,s=`_countryWrapper_jiaef_91`,c=`_countryTrigger_jiaef_98`,l=`_chevronOpen_jiaef_137`,u=`_dropdown_jiaef_140`,d=`_countryList_jiaef_152`,f=`_countryOption_jiaef_159`,p=`_selected_jiaef_172`,m=`_countryName_jiaef_177`,h=`_divider_jiaef_187`,g={root:e,fullWidth:t,disabled:n,chevron:r,countryCode:i,number:a,danger:o,countryWrapper:s,countryTrigger:c,chevronOpen:l,dropdown:u,countryList:d,countryOption:f,selected:p,countryName:m,divider:h};exports.chevron=r,exports.chevronOpen=l,exports.countryCode=i,exports.countryList=d,exports.countryName=m,exports.countryOption=f,exports.countryTrigger=c,exports.countryWrapper=s,exports.danger=o,exports.default=g,exports.disabled=n,exports.divider=h,exports.dropdown=u,exports.fullWidth=t,exports.number=a,exports.root=e,exports.selected=p;
2
+ var e=`_root_tiqbm_37`,t=`_fullWidth_tiqbm_50`,n=`_disabled_tiqbm_53`,r=`_chevron_tiqbm_77`,i=`_countryCode_tiqbm_78`,a=`_number_tiqbm_79`,o=`_danger_tiqbm_8`,s=`_countryWrapper_tiqbm_91`,c=`_countryTrigger_tiqbm_98`,l=`_chevronOpen_tiqbm_137`,u=`_dropdown_tiqbm_140`,d=`_countryList_tiqbm_152`,f=`_countryOption_tiqbm_159`,p=`_active_tiqbm_169`,m=`_selected_tiqbm_172`,h=`_countryName_tiqbm_177`,g=`_divider_tiqbm_187`,_={root:e,fullWidth:t,disabled:n,chevron:r,countryCode:i,number:a,danger:o,countryWrapper:s,countryTrigger:c,chevronOpen:l,dropdown:u,countryList:d,countryOption:f,active:p,selected:m,countryName:h,divider:g};exports.active=p,exports.chevron=r,exports.chevronOpen=l,exports.countryCode=i,exports.countryList=d,exports.countryName=h,exports.countryOption=f,exports.countryTrigger=c,exports.countryWrapper=s,exports.danger=o,exports.default=_,exports.disabled=n,exports.divider=g,exports.dropdown=u,exports.fullWidth=t,exports.number=a,exports.root=e,exports.selected=m;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/form/PhoneInput/phone-input.module.scss
3
- var e = "_root_jiaef_37", t = "_fullWidth_jiaef_50", n = "_disabled_jiaef_53", r = "_chevron_jiaef_77", i = "_countryCode_jiaef_78", a = "_number_jiaef_79", o = "_danger_jiaef_8", s = "_countryWrapper_jiaef_91", c = "_countryTrigger_jiaef_98", l = "_chevronOpen_jiaef_137", u = "_dropdown_jiaef_140", d = "_countryList_jiaef_152", f = "_countryOption_jiaef_159", p = "_selected_jiaef_172", m = "_countryName_jiaef_177", h = "_divider_jiaef_187", g = {
3
+ var e = "_root_tiqbm_37", t = "_fullWidth_tiqbm_50", n = "_disabled_tiqbm_53", r = "_chevron_tiqbm_77", i = "_countryCode_tiqbm_78", a = "_number_tiqbm_79", o = "_danger_tiqbm_8", s = "_countryWrapper_tiqbm_91", c = "_countryTrigger_tiqbm_98", l = "_chevronOpen_tiqbm_137", u = "_dropdown_tiqbm_140", d = "_countryList_tiqbm_152", f = "_countryOption_tiqbm_159", p = "_active_tiqbm_169", m = "_selected_tiqbm_172", h = "_countryName_tiqbm_177", g = "_divider_tiqbm_187", _ = {
4
4
  root: e,
5
5
  fullWidth: t,
6
6
  disabled: n,
@@ -14,9 +14,10 @@ var e = "_root_jiaef_37", t = "_fullWidth_jiaef_50", n = "_disabled_jiaef_53", r
14
14
  dropdown: u,
15
15
  countryList: d,
16
16
  countryOption: f,
17
- selected: p,
18
- countryName: m,
19
- divider: h
17
+ active: p,
18
+ selected: m,
19
+ countryName: h,
20
+ divider: g
20
21
  };
21
22
  //#endregion
22
- export { r as chevron, l as chevronOpen, i as countryCode, d as countryList, m as countryName, f as countryOption, c as countryTrigger, s as countryWrapper, o as danger, g as default, n as disabled, h as divider, u as dropdown, t as fullWidth, a as number, e as root, p as selected };
23
+ export { p as active, r as chevron, l as chevronOpen, i as countryCode, d as countryList, h as countryName, f as countryOption, c as countryTrigger, s as countryWrapper, o as danger, _ as default, n as disabled, g as divider, u as dropdown, t as fullWidth, a as number, e as root, m as selected };
@@ -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("../../../i18n/useWimTranslation.cjs"),r=require("../../_internal/OverlayBase.cjs"),i=require("../../../icon/chevron-left.cjs"),a=require("../../../icon/chevron-right.cjs"),o=require("../../../icon/close.cjs"),s=require("../../../icon/minus.cjs"),c=require("../../../icon/plus.cjs"),l=require("../Icon/Icon.cjs"),u=require("./lightbox.module.cjs");let d=require("react");d=e.__toESM(d,1);let f=require("classnames");f=e.__toESM(f,1);let p=require("react/jsx-runtime");var m=(0,d.createContext)(void 0),h=()=>{let e=(0,d.useContext)(m);if(!e)throw Error(`Lightbox components must be used within Lightbox`);return e},g=({children:e,open:t,onOpenChange:n,defaultOpen:r=!1,defaultIndex:i=0})=>{let[a,o]=(0,d.useState)(r),[s,c]=(0,d.useState)(i),[l,u]=(0,d.useState)([]),f=t!==void 0,h=f?t:a,g=(0,d.useCallback)(e=>{f||o(e),n?.(e)},[f,n]),_=(0,d.useCallback)(e=>{let t=-1;return u(n=>(t=n.length,[...n,e])),t},[]),v=(0,d.useCallback)(e=>{},[]);return(0,p.jsx)(m.Provider,{value:{open:h,setOpen:g,currentIndex:s,setCurrentIndex:c,items:l,setItems:u,registerItem:_,unregisterItem:v},children:e})},_=({children:e,className:r,onClick:i,asChild:a=!1,index:o,src:s,alt:c,caption:l,...d})=>{let{setOpen:m,setCurrentIndex:g,items:_,setItems:v}=h(),{t:y}=n.useWimTranslation(`components`),b=e=>{if(i?.(e),o!==void 0)g(o);else if(s){let e=_.findIndex(e=>e.src===s);if(e!==-1)g(e);else{let e=_.length;v(e=>[...e,{src:s,alt:c,caption:l}]),g(e)}}m(!0)},x=a?t.Root:`button`,S=o===void 0?void 0:_[o]?.alt,C=d[`aria-label`]!==void 0||d[`aria-labelledby`]!==void 0,w=c??S,T=C?void 0:w?y(`lightbox.open_named`,{name:w}):y(`lightbox.open`);return(0,p.jsx)(x,{type:`button`,className:(0,f.default)(u.default.trigger,r),onClick:b,"aria-label":T,...d,children:(0,p.jsx)(t.Slottable,{children:e})})},v=({className:e,showCloseButton:t=!0,showNavigation:m=!0,showCounter:g=!0,closeOnOverlayClick:_=!0,...v})=>{let{open:y,setOpen:b,currentIndex:x,setCurrentIndex:S,items:C}=h(),{t:w}=n.useWimTranslation(`components`),[T,E]=(0,d.useState)(1),D=(0,d.useCallback)(()=>{S((x-1+C.length)%C.length),E(1)},[x,C.length,S]),O=(0,d.useCallback)(()=>{S((x+1)%C.length),E(1)},[x,C.length,S]),k=()=>{E(e=>e===1?2:1)};(0,d.useEffect)(()=>{if(!y)return;let e=e=>{e.key===`ArrowLeft`&&D(),e.key===`ArrowRight`&&O(),e.key===`Escape`&&b(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y,D,O,b]);let A=C[x];return A?(0,p.jsx)(r.OverlayBase,{...v,open:y,onOpenChange:b,closeOnOverlayClick:_,overlayClassName:u.default.overlay,className:(0,f.default)(`wim-lightbox`,u.default.contentRoot,e),transitionProps:{preset:`fade`,enter:u.default.contentEnter,enterFrom:u.default.contentEnterFrom,enterTo:u.default.contentEnterTo},children:(0,p.jsxs)(`div`,{className:u.default.container,children:[(0,p.jsxs)(`div`,{className:u.default.header,children:[g&&C.length>1&&(0,p.jsx)(`div`,{className:u.default.counter,children:w(`lightbox.counter`,{current:x+1,total:C.length})}),(0,p.jsxs)(`div`,{className:u.default.controls,children:[(0,p.jsx)(`button`,{className:u.default.iconButton,onClick:k,"aria-label":w(T>1?`lightbox.zoom_out`:`lightbox.zoom_in`),children:T>1?(0,p.jsx)(l.Icon,{component:s.default}):(0,p.jsx)(l.Icon,{component:c.default})}),t&&(0,p.jsx)(`button`,{className:u.default.iconButton,onClick:()=>b(!1),"aria-label":w(`lightbox.close`),children:(0,p.jsx)(l.Icon,{component:o.default})})]})]}),(0,p.jsxs)(`div`,{className:u.default.viewport,children:[m&&C.length>1&&(0,p.jsx)(`button`,{className:(0,f.default)(u.default.navButton,u.default.prev),onClick:D,"aria-label":w(`lightbox.previous`),children:(0,p.jsx)(l.Icon,{component:i.default})}),(0,p.jsx)(`div`,{className:u.default.mediaWrapper,style:{transform:`scale(${T})`},children:(0,p.jsx)(`img`,{src:A.src,alt:A.alt||``,className:u.default.image})}),m&&C.length>1&&(0,p.jsx)(`button`,{className:(0,f.default)(u.default.navButton,u.default.next),onClick:O,"aria-label":w(`lightbox.next`),children:(0,p.jsx)(l.Icon,{component:a.default})})]}),(A.title||A.caption)&&(0,p.jsxs)(`div`,{className:u.default.footer,children:[A.title&&(0,p.jsx)(`h3`,{className:u.default.title,children:A.title}),A.caption&&(0,p.jsx)(`p`,{className:u.default.caption,children:A.caption})]})]})}):null},y=({items:e,children:t})=>{let{setItems:n}=h();return(0,d.useEffect)(()=>{n(e)},[e,n]),(0,p.jsx)(`div`,{className:u.default.gallery,children:t})},b=g;b.Trigger=_,b.Content=v,b.Gallery=y,b.displayName=`Lightbox`,_.displayName=`Lightbox.Trigger`,v.displayName=`Lightbox.Content`,y.displayName=`Lightbox.Gallery`,exports.Lightbox=g,exports.LightboxContent=v,exports.LightboxGallery=y,exports.LightboxRoot=b,exports.default=b,exports.LightboxTrigger=_,exports.useLightbox=h;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../../i18n/useWimTranslation.cjs"),r=require("../../_internal/OverlayBase.cjs"),i=require("../../../icon/chevron-left.cjs"),a=require("../../../icon/chevron-right.cjs"),o=require("../../../icon/close.cjs"),s=require("../../../icon/minus.cjs"),c=require("../../../icon/plus.cjs"),l=require("../Icon/Icon.cjs"),u=require("./lightbox.module.cjs");let d=require("react");d=e.__toESM(d,1);let f=require("classnames");f=e.__toESM(f,1);let p=require("react/jsx-runtime");var m=(0,d.createContext)(void 0),h=()=>{let e=(0,d.useContext)(m);if(!e)throw Error(`Lightbox components must be used within Lightbox`);return e},g=({children:e,open:t,onOpenChange:n,defaultOpen:r=!1,defaultIndex:i=0})=>{let[a,o]=(0,d.useState)(r),[s,c]=(0,d.useState)(i),[l,u]=(0,d.useState)([]),f=t!==void 0,h=f?t:a,g=(0,d.useCallback)(e=>{f||o(e),n?.(e)},[f,n]),_=(0,d.useCallback)(e=>{let t=-1;return u(n=>(t=n.length,[...n,e])),t},[]),v=(0,d.useCallback)(e=>{},[]);return(0,p.jsx)(m.Provider,{value:{open:h,setOpen:g,currentIndex:s,setCurrentIndex:c,items:l,setItems:u,registerItem:_,unregisterItem:v},children:e})},_=({children:e,className:r,onClick:i,asChild:a=!1,index:o,src:s,alt:c,caption:l,...d})=>{let{setOpen:m,setCurrentIndex:g,items:_,setItems:v}=h(),{t:y}=n.useWimTranslation(`components`),b=e=>{if(i?.(e),o!==void 0)g(o);else if(s){let e=_.findIndex(e=>e.src===s);if(e!==-1)g(e);else{let e=_.length;v(e=>[...e,{src:s,alt:c,caption:l}]),g(e)}}m(!0)},x=a?t.Root:`button`,S=o===void 0?void 0:_[o]?.alt,C=d[`aria-label`]!==void 0||d[`aria-labelledby`]!==void 0,w=c??S,T=C?void 0:w?y(`lightbox.open_named`,{name:w}):y(`lightbox.open`);return(0,p.jsx)(x,{type:`button`,className:(0,f.default)(u.default.trigger,r),onClick:b,"aria-label":T,...d,children:(0,p.jsx)(t.Slottable,{children:e})})},v=({className:e,showCloseButton:t=!0,showNavigation:m=!0,showCounter:g=!0,closeOnOverlayClick:_=!0,...v})=>{let{open:y,setOpen:b,currentIndex:x,setCurrentIndex:S,items:C}=h(),{t:w}=n.useWimTranslation(`components`),[T,E]=(0,d.useState)(1),D=(0,d.useCallback)(()=>{S((x-1+C.length)%C.length),E(1)},[x,C.length,S]),O=(0,d.useCallback)(()=>{S((x+1)%C.length),E(1)},[x,C.length,S]),k=()=>{E(e=>e===1?2:1)};(0,d.useEffect)(()=>{if(!y)return;let e=e=>{e.key===`ArrowLeft`&&D(),e.key===`ArrowRight`&&O(),e.key===`Escape`&&b(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y,D,O,b]);let A=C[x];return A?(0,p.jsx)(r.OverlayBase,{...v,open:y,onOpenChange:b,closeOnOverlayClick:_,overlayClassName:u.default.overlay,className:(0,f.default)(`wim-lightbox`,u.default.contentRoot,e),"aria-label":v[`aria-labelledby`]?void 0:v[`aria-label`]??(A.title||A.alt||w(`lightbox.dialog`)),transitionProps:{preset:`fade`,enter:u.default.contentEnter,enterFrom:u.default.contentEnterFrom,enterTo:u.default.contentEnterTo},children:(0,p.jsxs)(`div`,{className:u.default.container,children:[(0,p.jsxs)(`div`,{className:u.default.header,children:[g&&C.length>1&&(0,p.jsx)(`div`,{className:u.default.counter,children:w(`lightbox.counter`,{current:x+1,total:C.length})}),(0,p.jsxs)(`div`,{className:u.default.controls,children:[(0,p.jsx)(`button`,{className:u.default.iconButton,onClick:k,"aria-label":w(T>1?`lightbox.zoom_out`:`lightbox.zoom_in`),children:T>1?(0,p.jsx)(l.Icon,{component:s.default}):(0,p.jsx)(l.Icon,{component:c.default})}),t&&(0,p.jsx)(`button`,{className:u.default.iconButton,onClick:()=>b(!1),"aria-label":w(`lightbox.close`),children:(0,p.jsx)(l.Icon,{component:o.default})})]})]}),(0,p.jsxs)(`div`,{className:u.default.viewport,children:[m&&C.length>1&&(0,p.jsx)(`button`,{className:(0,f.default)(u.default.navButton,u.default.prev),onClick:D,"aria-label":w(`lightbox.previous`),children:(0,p.jsx)(l.Icon,{component:i.default})}),(0,p.jsx)(`div`,{className:u.default.mediaWrapper,style:{transform:`scale(${T})`},children:(0,p.jsx)(`img`,{src:A.src,alt:A.alt||``,className:u.default.image})}),m&&C.length>1&&(0,p.jsx)(`button`,{className:(0,f.default)(u.default.navButton,u.default.next),onClick:O,"aria-label":w(`lightbox.next`),children:(0,p.jsx)(l.Icon,{component:a.default})})]}),(A.title||A.caption)&&(0,p.jsxs)(`div`,{className:u.default.footer,children:[A.title&&(0,p.jsx)(`h3`,{className:u.default.title,children:A.title}),A.caption&&(0,p.jsx)(`p`,{className:u.default.caption,children:A.caption})]})]})}):null},y=({items:e,children:t})=>{let{setItems:n}=h();return(0,d.useEffect)(()=>{n(e)},[e,n]),(0,p.jsx)(`div`,{className:u.default.gallery,children:t})},b=g;b.Trigger=_,b.Content=v,b.Gallery=y,b.displayName=`Lightbox`,_.displayName=`Lightbox.Trigger`,v.displayName=`Lightbox.Content`,y.displayName=`Lightbox.Gallery`,exports.Lightbox=g,exports.LightboxContent=v,exports.LightboxGallery=y,exports.LightboxRoot=b,exports.default=b,exports.LightboxTrigger=_,exports.useLightbox=h;
@@ -98,6 +98,7 @@ var y = d(void 0), b = () => {
98
98
  closeOnOverlayClick: y,
99
99
  overlayClassName: u.overlay,
100
100
  className: g("wim-lightbox", u.contentRoot, e),
101
+ "aria-label": x["aria-labelledby"] ? void 0 : x["aria-label"] ?? (N.title || N.alt || D("lightbox.dialog")),
101
102
  transitionProps: {
102
103
  preset: "fade",
103
104
  enter: u.contentEnter,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../_internal/OverlayBase.cjs"),n=require("./bottom-sheet.module.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("classnames");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=(0,r.createContext)(void 0),s=()=>{let e=(0,r.useContext)(o);if(!e)throw Error(`useBottomSheet must be used within a BottomSheet provider`);return e},c=({children:e,open:t,defaultOpen:n=!1,onOpenChange:i})=>{let[s,c]=(0,r.useState)(n),l=t!==void 0,u=l?t:s,d=(0,r.useCallback)(e=>{l||c(e),i?.(e)},[l,i]);return(0,a.jsx)(o.Provider,{value:{open:u,onOpenChange:d},children:e})},l=({children:e,asChild:t,className:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!0)};return t&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(n,e.props.className)}):(0,a.jsx)(`button`,{className:n,onClick:c,children:e})},u=({children:e,className:t,asChild:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!1)};return n&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(t,e.props.className)}):(0,a.jsx)(`button`,{type:`button`,className:t,onClick:c,children:e})},d=({children:e,className:r})=>{let{open:o,onOpenChange:c}=s();return(0,a.jsxs)(t.OverlayBase,{open:o,onOpenChange:c,overlayClassName:n.default.overlay,contentClassName:(0,i.default)(`wim-bottom-sheet`,n.default.content,r),transitionProps:{preset:`slide-bottom`},children:[(0,a.jsx)(`div`,{className:n.default.handle}),e]})},f=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.header,t),"data-testid":`bottom-sheet-header`,children:e}),p=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.footer,t),"data-testid":`bottom-sheet-footer`,children:e}),m=({children:e,className:t})=>(0,a.jsx)(`h2`,{className:(0,i.default)(n.default.title,t),"data-testid":`bottom-sheet-title`,children:e}),h=({children:e,className:t})=>(0,a.jsx)(`p`,{className:(0,i.default)(n.default.description,t),"data-testid":`bottom-sheet-description`,children:e}),g=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.body,t),"data-testid":`bottom-sheet-body`,children:e}),_=e=>(0,a.jsx)(c,{...e});_.displayName=`BottomSheet`,_.Trigger=l,_.Content=d,_.Header=f,_.Footer=p,_.Title=m,_.Description=h,_.Body=g,_.Close=u,exports.BottomSheet=_,exports.default=_,exports.BottomSheetBody=g,exports.BottomSheetClose=u,exports.BottomSheetContent=d,exports.BottomSheetDescription=h,exports.BottomSheetFooter=p,exports.BottomSheetHeader=f,exports.BottomSheetTitle=m,exports.BottomSheetTrigger=l;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../_internal/OverlayBase.cjs"),n=require("./bottom-sheet.module.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("classnames");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=(0,r.createContext)(void 0),s=()=>{let e=(0,r.useContext)(o);if(!e)throw Error(`useBottomSheet must be used within a BottomSheet provider`);return e},c=({children:e,open:t,defaultOpen:n=!1,onOpenChange:i})=>{let[s,c]=(0,r.useState)(n),l=t!==void 0,u=l?t:s,d=(0,r.useCallback)(e=>{l||c(e),i?.(e)},[l,i]),f=(0,r.useId)(),p=`wim-bottom-sheet-${f}-title`,m=`wim-bottom-sheet-${f}-description`;return(0,a.jsx)(o.Provider,{value:{titleId:p,descriptionId:m,open:u,onOpenChange:d},children:e})},l=({children:e,asChild:t,className:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!0)};return t&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(n,e.props.className)}):(0,a.jsx)(`button`,{className:n,onClick:c,children:e})},u=({children:e,className:t,asChild:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!1)};return n&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(t,e.props.className)}):(0,a.jsx)(`button`,{type:`button`,className:t,onClick:c,children:e})},d=({children:e,className:r})=>{let{open:o,onOpenChange:c,titleId:l,descriptionId:u}=s();return(0,a.jsxs)(t.OverlayBase,{open:o,onOpenChange:c,overlayClassName:n.default.overlay,contentClassName:(0,i.default)(`wim-bottom-sheet`,n.default.content,r),transitionProps:{preset:`slide-bottom`},"aria-labelledby":l,"aria-describedby":u,children:[(0,a.jsx)(`div`,{className:n.default.handle}),e]})},f=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.header,t),"data-testid":`bottom-sheet-header`,children:e}),p=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.footer,t),"data-testid":`bottom-sheet-footer`,children:e}),m=({children:e,className:t})=>{let{titleId:r}=s();return(0,a.jsx)(`h2`,{id:r,className:(0,i.default)(n.default.title,t),"data-testid":`bottom-sheet-title`,children:e})},h=({children:e,className:t})=>{let{descriptionId:r}=s();return(0,a.jsx)(`p`,{id:r,className:(0,i.default)(n.default.description,t),"data-testid":`bottom-sheet-description`,children:e})},g=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.body,t),"data-testid":`bottom-sheet-body`,children:e}),_=e=>(0,a.jsx)(c,{...e});_.displayName=`BottomSheet`,_.Trigger=l,_.Content=d,_.Header=f,_.Footer=p,_.Title=m,_.Description=h,_.Body=g,_.Close=u,exports.BottomSheet=_,exports.default=_,exports.BottomSheetBody=g,exports.BottomSheetClose=u,exports.BottomSheetContent=d,exports.BottomSheetDescription=h,exports.BottomSheetFooter=p,exports.BottomSheetHeader=f,exports.BottomSheetTitle=m,exports.BottomSheetTrigger=l;