@webority/ui-react 0.120.1 → 0.122.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.
- package/dist/canvas-kit/kit.css +2 -0
- package/dist/canvas-kit/kit.js +15654 -15303
- package/dist/canvas-kit/manifest.json +126 -2
- package/dist/canvas-kit/release.json +8 -8
- package/dist/components/AppAutocomplete.js +1 -1
- package/dist/components/AppChart.js +1 -1
- package/dist/components/AppColorField.js +1 -1
- package/dist/components/AppColumnMenu.js +1 -1
- package/dist/components/AppConfirmDialog.js +1 -1
- package/dist/components/AppConfirmProvider.js +1 -0
- package/dist/components/AppCountryFlag.js +1 -1
- package/dist/components/AppCountrySelect.js +1 -1
- package/dist/components/AppDataTable.js +1 -1
- package/dist/components/AppDatePicker.js +1 -1
- package/dist/components/AppDateRangePicker.js +1 -1
- package/dist/components/AppDrawer.js +1 -1
- package/dist/components/AppFilePicker.js +1 -1
- package/dist/components/AppImagePicker.js +1 -1
- package/dist/components/AppLink.js +1 -1
- package/dist/components/AppModal.js +1 -1
- package/dist/components/AppMultiSelect.js +1 -1
- package/dist/components/AppNumberInput.js +1 -1
- package/dist/components/AppOtpInput.js +1 -1
- package/dist/components/AppPhoneNumberInput.js +1 -1
- package/dist/components/AppRadioGroup.js +1 -1
- package/dist/components/AppRepeater.js +1 -1
- package/dist/components/AppSelect.js +1 -1
- package/dist/components/AppSlider.js +1 -1
- package/dist/components/AppTagInput.js +1 -1
- package/dist/components/AppTimePicker.js +1 -1
- package/dist/components/iconGlyphs.g.js +1 -1
- package/dist/components/iconVariants.g.js +1 -1
- package/dist/guidance.json +1 -1
- package/dist/lib/flagStyles.js +1 -0
- package/dist/lib/pageScrollLock.js +1 -0
- package/dist/types/components/AppAutocomplete.d.ts +5 -0
- package/dist/types/components/AppChart.d.ts +2 -0
- package/dist/types/components/AppColorField.d.ts +6 -0
- package/dist/types/components/AppConfirmDialog.d.ts +3 -0
- package/dist/types/components/AppConfirmProvider.d.ts +27 -0
- package/dist/types/components/AppCountrySelect.d.ts +5 -0
- package/dist/types/components/AppDatePicker.d.ts +5 -0
- package/dist/types/components/AppDateRangePicker.d.ts +5 -0
- package/dist/types/components/AppFilePicker.d.ts +6 -0
- package/dist/types/components/AppImagePicker.d.ts +6 -0
- package/dist/types/components/AppMultiSelect.d.ts +5 -0
- package/dist/types/components/AppNumberInput.d.ts +5 -0
- package/dist/types/components/AppOtpInput.d.ts +5 -0
- package/dist/types/components/AppPhoneNumberInput.d.ts +5 -0
- package/dist/types/components/AppRadioGroup.d.ts +6 -0
- package/dist/types/components/AppRepeater.d.ts +2 -2
- package/dist/types/components/AppSelect.d.ts +5 -0
- package/dist/types/components/AppSlider.d.ts +5 -0
- package/dist/types/components/AppTagInput.d.ts +5 -0
- package/dist/types/components/AppTimePicker.d.ts +5 -0
- package/dist/types/components/iconGlyphs.g.d.ts +3 -0
- package/dist/types/components/iconVariants.g.d.ts +15 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/lib/flagStyles.d.ts +2 -0
- package/dist/types/lib/pageScrollLock.d.ts +1 -0
- package/dist/ui-react.js +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import ee from"./withTooltip.js";import r from"./AppIcon.js";import te from"./AppAlert.js";import i from"./AppButton.js";import ne from"../lib/FieldMessage.js";import re from"./AppRequiredMark.js";import ie from"./AppModal.js";import ae from"../lib/useFileDrop.js";import{AVATAR_ACCEPT as oe,AVATAR_MAX_SIZE_MB as a,AVATAR_OUTPUT_SIZE as se,AVATAR_OUTPUT_TYPE as o,AVATAR_PREVIEW_SIZES as
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import ee from"./withTooltip.js";import r from"./AppIcon.js";import te from"./AppAlert.js";import i from"./AppButton.js";import ne from"../lib/FieldMessage.js";import re from"./AppRequiredMark.js";import ie from"./AppModal.js";import ae from"../lib/useFileDrop.js";import{AVATAR_ACCEPT as oe,AVATAR_MAX_SIZE_MB as a,AVATAR_OUTPUT_SIZE as se,AVATAR_OUTPUT_TYPE as o,AVATAR_PREVIEW_SIZES as s,AVATAR_TEXT as c,DEFAULT_IMAGE_ACCEPT as l,DEFAULT_MAX_SIZE_MB as u,avatarUnreadableMessage as d,validateFile as ce}from"@webority/ui-elements/helpers";import{useCallback as le,useEffect as ue,useId as de,useRef as fe,useState as f}from"react";import{Fragment as pe,jsx as p,jsxs as m}from"react/jsx-runtime";import"@webority/ui-elements/elements/image-crop";var me=[`logo`,`avatar`],he=[`overlay`,`buttons`],ge=[`stacked`,`inline`,`profile`],_e=[`initials`,`avatar`],ve=[`circle`,`rounded`,`square`],ye=[`keep`,`image/webp`],be=s.join(` `),xe={logo:{controls:`overlay`,accept:l,maxSizeMb:u,crop:void 0,rotatable:!1,previews:!1,camera:!1,outputSize:void 0,outputType:`keep`,variant:`initials`,sizes:{sm:72,md:120,lg:160}},avatar:{controls:`buttons`,accept:oe,maxSizeMb:a,crop:1,rotatable:!0,previews:!0,camera:!0,outputSize:se,outputType:o,variant:`avatar`,sizes:{sm:64,md:96,lg:128}}},Se=`That image could not be cropped. Choose another one.`,Ce=`That image could not be opened. Choose another one.`,we={dialogSize:`lg`,dialogTitle:`Crop photo`,dialogSubtitle:`Drag the frame and zoom to choose what to keep.`,save:`Apply`,cancel:`Cancel`,cropFailed:Se,unreadable:()=>Ce},Te={dialogSize:void 0,dialogTitle:c.dialogTitle,dialogSubtitle:c.dialogSubtitle,save:c.save,cancel:c.cancel,cropFailed:c.cropFailed,unreadable:d};function h(oe){let{marker:a,props:se}=e(`AppImagePicker`,oe),{kind:o=`logo`,controls:s,value:l,fallback:u,variant:d,name:Se,onPick:Ce,onRemove:h,removeName:g,loading:_=!1,disabled:Ee=!1,accept:De,maxSizeMb:Oe,shape:v=`circle`,size:y=`md`,crop:ke,rotatable:Ae,previews:je,camera:Me,outputSize:Ne,outputType:Pe,layout:b=`stacked`,title:Fe,subtitle:Ie,overlayIcon:Le=`image`,overlayLabel:Re=`Update photo`,removeLabel:x=`Remove photo`,ariaLabel:ze,label:Be,hint:S,error:Ve,required:He=!1,optional:Ue=!1,className:C=``,fieldClassName:w=``,style:T,...E}=se;n(`AppImagePicker`,E),t(`AppImagePicker`,`kind`,o,me),t(`AppImagePicker`,`controls`,s,he),t(`AppImagePicker`,`variant`,d,_e),t(`AppImagePicker`,`layout`,b,ge),t(`AppImagePicker`,`shape`,v,ve),t(`AppImagePicker`,`outputType`,Pe,ye);let D=xe[o]??xe.logo,O=o===`avatar`?Te:we,k=D.sizes;t(`AppImagePicker`,`size`,typeof y==`string`?y:null,Object.keys(k));let We=(s??D.controls)===`overlay`,Ge=d??D.variant,A=De??D.accept,j=Oe??D.maxSizeMb,M=Ne??D.outputSize,Ke=Pe??D.outputType,qe=Ae??D.rotatable,Je=je??D.previews,Ye=Me??D.camera,N=ke??D.crop,P=N===`free`?null:typeof N==`number`&&Number.isFinite(N)&&N>0?N:void 0;N!=null&&P===void 0&&t(`AppImagePicker`,`crop`,String(N),[`free`,`a positive number`]);let F=P!==void 0&&M===void 0,I=fe(null),Xe=fe(null),L=fe(null),R=de(),[z,B]=f(null),[Ze,V]=f(!1),[Qe,H]=f(!1),[$e,U]=f(``),[W,et]=f(null),[G,tt]=f(!1),[nt,rt]=f(`loading`),[it,at]=f(``),ot=le(e=>{if(L.current=e,!e)return;let t=()=>{rt(`ready`),e.querySelector(`.wui-crop-stage`)?.focus()},n=()=>rt(`error`);return e.addEventListener(`load`,t),e.addEventListener(`error`,n),()=>{e.removeEventListener(`load`,t),e.removeEventListener(`error`,n),L.current=null}},[]);ue(()=>()=>W&&URL.revokeObjectURL(W.url),[W]),ue(()=>()=>z&&URL.revokeObjectURL(z),[z]);let[st,ct]=f(l);l!==st&&(ct(l),B(null),V(!1),H(!1));let K=_||Ee,q=Ze?null:z||(l&&!Qe?l:null),lt=!!q,J=Ve||$e,Y=S&&!J?`${R}-hint`:void 0,X=J?`${R}-error`:void 0,ut=X||Y,dt=!K&<&&(!!z||!!h||!!g),ft=lt?c.change:c.choose,pt=typeof y==`number`?y:k[y]??k.md,mt=()=>{K||I.current?.click()},ht=()=>{K||Xe.current?.click()},gt=e=>{if(Se&&I.current&&typeof DataTransfer==`function`){let t=new DataTransfer;t.items.add(e),I.current.files=t.files}V(!1),H(!1),B(URL.createObjectURL(e)),Ce(e)},_t=e=>{let t=P!==void 0&&e.type!==`image/svg+xml`,n=ce(e,{accept:A,maxSizeMb:t&&F?0:j});if(n){U(n);return}if(U(``),t){rt(`loading`),at(``),et({file:e,url:URL.createObjectURL(e)});return}gt(e)},{dragOver:vt,dropProps:yt}=ae({accept:A,maxSizeMb:F?0:j,disabled:K,onFiles:e=>_t(e[0]),onReject:({message:e})=>U(e)}),bt=e=>{let t=Ke===`keep`?e.type:Ke;return M===void 0?{name:e.name,type:t,maxBytes:j>0?j*1024*1024:0}:{name:e.name||`photo`,type:t,size:M}},xt=async()=>{let{file:e}=W;tt(!0),at(``);let t=null;try{t=await L.current?.toFile(bt(e))}catch{t=null}if(tt(!1),!t){at(O.cropFailed);return}if(et(null),F){let e=ce(t,{accept:A,maxSizeMb:j});e?U(e):gt(t);return}gt(t)},St=()=>{G||et(null)},Ct=e=>{let t=e.target.files?.[0];e.target.value=``,t&&_t(t)},wt=()=>{B(null),V(!0),U(``),I.current&&(I.current.value=``),h?.()},Z=P!==void 0&&m(ie,{open:!!W,title:O.dialogTitle,subtitle:O.dialogSubtitle,size:O.dialogSize,staticBackdrop:!0,dismissible:!G,onClose:St,footer:m(pe,{children:[p(i,{type:`button`,variant:`secondary`,disabled:G,onClick:St,children:O.cancel}),p(i,{type:`button`,variant:`primary`,loading:G,disabled:nt!==`ready`,onClick:xt,children:O.save})]}),children:[nt===`error`&&W&&p(te,{tone:`danger`,children:O.unreadable(W.file)}),it&&p(te,{tone:`danger`,children:it}),W&&nt!==`error`&&p(`wui-image-crop`,{ref:ot,src:W.url,aspect:P??`free`,round:P===1&&v===`circle`,rotatable:qe,previews:Je?be:void 0})]}),Tt=g&&p(`input`,{type:`hidden`,name:g,value:`true`,disabled:!Ze}),Q=Be&&m(`label`,{className:`label`,htmlFor:R,children:[Be,Ue&&!He&&p(`span`,{className:`label-optional`,children:` (optional)`}),He&&p(re,{})]}),Et=p(`input`,{id:R,ref:I,type:`file`,name:Se,hidden:!0,accept:A,disabled:K,onChange:Ct});if(!We){let e=pt,t=Ye&&m(`button`,{type:`button`,className:`btn btn-secondary btn-sm wui-image-picker-buttons-camera`,disabled:K,onClick:ht,children:[p(r,{name:`camera`,size:16}),c.camera]});return m(`div`,{...a,className:`field wui-image-picker-field${w?` ${w}`:``}`,children:[Q,m(`div`,{className:`wui-image-picker-buttons${vt?` is-dragging`:``}${C?` ${C}`:``}`,style:{"--wui-avatar-size":`${e}px`,...T},...yt,children:[m(`button`,{type:`button`,className:`wui-image-picker-buttons-face`,tabIndex:-1,"aria-label":ze??ft,"aria-describedby":ut,"aria-busy":_||void 0,disabled:K,onClick:mt,...E,children:[q?p(`img`,{className:`wui-image-picker-buttons-img`,src:q,alt:``,onError:()=>H(!0)}):p(`span`,{className:`wui-image-picker-buttons-placeholder`,"aria-hidden":`true`,children:u||p(r,{name:`user`,size:Math.round(e*.5)})}),p(`span`,{className:`wui-image-picker-buttons-badge`,"aria-hidden":`true`,children:_?p(r,{name:`refresh-cw`,size:14,className:`wui-spin`}):p(r,{name:`camera`,size:14})})]}),m(`div`,{className:`wui-image-picker-buttons-actions`,children:[p(i,{variant:`secondary`,size:`sm`,disabled:K,"aria-describedby":ut,onClick:mt,children:ft}),t,p(i,{variant:`secondary-danger`,size:`sm`,"data-wui-image-picker-remove":!0,hidden:!dt,onClick:wt,children:x})]}),Et,Ye&&p(`input`,{ref:Xe,type:`file`,hidden:!0,accept:`image/*`,capture:`user`,disabled:K,onChange:Ct}),Tt]}),p(ne,{error:J,hint:S,errorId:X,hintId:Y}),Z]})}let Dt=pt,Ot=Math.max(14,Math.round(Dt*.18)),kt=Math.round(Dt*.5),At=`wui-image-picker${Ge===`avatar`?` wui-image-picker-avatar`:``}${v===`rounded`?` wui-image-picker-rounded`:v===`square`?` wui-image-picker-square`:``}${vt?` is-dragging`:``}`,jt=b===`inline`,Mt=b===`profile`,Nt=[`field`,`wui-image-picker-field`,jt&&`wui-image-picker-field-inline`,Mt&&`wui-image-picker-field-profile`,C,w].filter(Boolean).join(` `),$=m(`div`,{className:`wui-image-picker-shell`,style:{"--wui-logo-size":`${Dt}px`},children:[p(`button`,{type:`button`,className:At,onClick:mt,disabled:K,"aria-busy":_||void 0,"aria-label":ze??`Upload photo`,"aria-describedby":X||Y,...yt,...E,children:m(`span`,{className:`wui-image-picker-ring`,"data-overlay-label":Re,children:[q?p(`img`,{className:`wui-image-picker-img`,src:q,alt:``,onError:()=>H(!0)}):p(`span`,{className:`wui-image-picker-logo`,children:u||Ge===`avatar`&&p(r,{name:`user`,size:kt})}),_?p(`span`,{className:`wui-image-picker-overlay is-loading`,"aria-hidden":`true`,children:p(r,{name:`refresh-cw`,size:Ot,className:`wui-spin`})}):!Ee&&m(`span`,{className:`wui-image-picker-overlay`,children:[p(r,{name:Le,size:Ot}),p(`span`,{children:Re})]})]})}),ee(p(`button`,{type:`button`,className:`wui-image-picker-remove`,hidden:!dt,"aria-label":x,"data-wui-image-picker-remove":!0,onClick:wt,children:p(r,{name:`x`,size:14})}),dt?x:null),Et,Tt]}),Pt=S&&!J?p(`div`,{className:`wui-image-picker-hint`,id:Y,children:S}):null,Ft=J?p(ne,{error:J,errorId:X}):null,It=m(`div`,{className:`wui-image-picker-meta`,children:[Fe&&p(`div`,{className:`wui-image-picker-title`,children:Fe}),Ie&&p(`div`,{className:`wui-image-picker-subtitle`,children:Ie}),Pt,Ft]});return jt?m(`div`,{...a,className:Nt,style:T,children:[Q,m(`div`,{className:`wui-image-picker-row`,children:[$,It]}),Z]}):Mt?m(`div`,{...a,className:Nt,style:T,children:[Q,$,It,Z]}):m(`div`,{...a,className:Nt,style:T,children:[Q,$,Pt,Ft,Z]})}export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import{devWarn as t}from"../lib/devWarn.js";import n from"./warnInvalidValue.js";import r from"./warnUnknownProps.js";import i from"./AppIcon.js";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";var c={sm:13,md:15,lg:18},l=[`underline`,`underline-center`,`static`,`slide`,`icon`,`highlight`,`bracket`,`fade`,`grow`,`glow`,`shine`,`none`];function u(e,t,n){if(!e)return null;let r=`wui-link__ic wui-link__ic--${t}`;return typeof e==`string`?o(`span`,{className:r,children:o(i,{name:e,size:c[n]??c.md})}):o(`span`,{className:r,children:e})}function d(i){let{marker:d,props:f}=e(`AppLink`,i),{children:p,label:m,href:h,animation:g=`underline`,leftIcon:_=null,rightIcon:v=null,size:y=`md`,surface:b=`default`,external:x=!1,disabled:S=!1,linkComponent:C,className:w=``,...T}=f;r(`AppLink`,T),n(`AppLink`,`animation`,g,l),n(`AppLink`,`size`,y,Object.keys(c)),n(`AppLink`,`surface`,b,[`default`,`dark`]),!h&&T.onClick&&!C&&t(`[@webority/ui-react] AppLink has onClick but no href, so it renders an anchor that keyboards cannot reach. Use AppButton for an action, or pass href.`);let E=l.includes(g)?g:`underline`,D=E===`icon`&&!v&&!_?`arrow-right`:v,O=[`wui-link`,`wui-link--${E}`,y===`md`?``:`wui-link--${y}`,S?`is-disabled`:``,b===`dark`?`wui-link--surface-dark`:``,w].filter(Boolean).join(` `),k=s(a,{children:[u(_,`left`,y),o(`span`,{className:`wui-link__label`,children:p??m}),u(D,`right`,y)]});return
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import{devWarn as t}from"../lib/devWarn.js";import n from"./warnInvalidValue.js";import r from"./warnUnknownProps.js";import i from"./AppIcon.js";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";var c={sm:13,md:15,lg:18},l=[`underline`,`underline-center`,`static`,`slide`,`icon`,`highlight`,`bracket`,`fade`,`grow`,`glow`,`shine`,`none`];function u(e,t,n){if(!e)return null;let r=`wui-link__ic wui-link__ic--${t}`;return typeof e==`string`?o(`span`,{className:r,children:o(i,{name:e,size:c[n]??c.md})}):o(`span`,{className:r,children:e})}function d(i){let{marker:d,props:f}=e(`AppLink`,i),{children:p,label:m,href:h,animation:g=`underline`,leftIcon:_=null,rightIcon:v=null,size:y=`md`,surface:b=`default`,external:x=!1,disabled:S=!1,linkComponent:C,className:w=``,...T}=f;r(`AppLink`,T),n(`AppLink`,`animation`,g,l),n(`AppLink`,`size`,y,Object.keys(c)),n(`AppLink`,`surface`,b,[`default`,`dark`]),!h&&T.onClick&&!C&&t(`[@webority/ui-react] AppLink has onClick but no href, so it renders an anchor that keyboards cannot reach. Use AppButton for an action, or pass href.`);let E=l.includes(g)?g:`underline`,D=E===`icon`&&!v&&!_?`arrow-right`:v,O=[`wui-link`,`wui-link--${E}`,y===`md`?``:`wui-link--${y}`,S?`is-disabled`:``,b===`dark`?`wui-link--surface-dark`:``,w].filter(Boolean).join(` `),k=s(a,{children:[u(_,`left`,y),o(`span`,{className:`wui-link__label`,children:p??m}),u(D,`right`,y)]});if(S){let e={...T};return delete e.onClick,delete e.type,o(`span`,{className:O,"aria-disabled":`true`,...d,...e,children:k})}return C&&!x?o(C,{className:O,to:h,...d,...T,children:k}):o(`a`,{className:O,href:h,target:x?`_blank`:void 0,rel:x?`noopener noreferrer`:void 0,...d,...T,children:k})}export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import{devWarn as t}from"../lib/devWarn.js";import n from"./warnInvalidValue.js";import r from"./warnUnknownProps.js";import i from"./AppIcon.js";import a from"../lib/DiscardPrompt.js";import{useCallback as
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import{devWarn as t}from"../lib/devWarn.js";import n from"./warnInvalidValue.js";import r from"./warnUnknownProps.js";import i from"./AppIcon.js";import a from"../lib/DiscardPrompt.js";import{lockPageScroll as o}from"../lib/pageScrollLock.js";import{useCallback as s,useEffect as c,useRef as l,useState as ee}from"react";import{Modal as te}from"react-bootstrap";import{jsx as u,jsxs as d}from"react/jsx-runtime";var ne=[`default`,`danger`,`success`,`warning`],f=[`center`,`top`],p=`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])`,m={sm:380,md:440,lg:640,xl:880},h=`wui-modal-fullscreen`,g=!1;function re(){let e=!0;try{e=process.env.NODE_ENV!==`production`}catch{e=!0}!e||g||(g=!0,t("[@webority/ui-react] <AppModal hideHeader> has no accessible name: pass `ariaLabel` (or a string `title`)."))}function ie(e,t){if(e.key!==`Tab`)return;let n=Array.from(t.querySelectorAll(p));if(!n.length){e.preventDefault(),t.focus();return}let r=n[0],i=n[n.length-1],a=document.activeElement;e.shiftKey&&(a===r||a===t)?(e.preventDefault(),i.focus()):!e.shiftKey&&a===i&&(e.preventDefault(),r.focus())}function _(){let e=[];for(let t of document.body.children)t.hasAttribute(`inert`)||t.matches(`.modal, .modal-backdrop`)||(t.setAttribute(`inert`,``),e.push(t));return e}function ae(){return typeof document<`u`&&document.querySelector(`wui-drawer[open], .offcanvas.show`)!==null}function v(t){let{marker:g,props:v}=e(`AppModal`,t),{open:y,eyebrow:b,title:x,subtitle:S,headerIcon:C,tone:w=`default`,dismissible:T=!0,onClose:E,onBack:D,backLabel:O=`Back`,headerActions:k,footer:A,size:j=`md`,placement:M=`center`,hideHeader:N=!1,staticBackdrop:P=!1,confirmDiscard:F,dirty:oe=!1,ariaLabel:I,className:se=``,children:ce,...L}=v;r(`AppModal`,L),n(`AppModal`,`tone`,w,ne),n(`AppModal`,`placement`,M,f),n(`AppModal`,`size`,typeof j==`string`?j:null,[...Object.keys(m),`fullscreen`]);let{style:R,ref:z,"data-wui":B,"data-wui-props":V,...H}=L,U=B?{"data-wui":B,"data-wui-props":V}:g,W=U[`data-wui`],G=U[`data-wui-props`];N&&!I&&typeof x!=`string`&&re();let K=l(null),q=l(null),[J,Y]=ee(!1);c(()=>{y||Y(!1)},[y]),c(()=>{J&&q.current?.focus()},[J]),c(()=>{if(y)return o()},[y]),c(()=>{let e=K.current?.closest(`.modal`);e&&(F?e.setAttribute(`confirm-discard`,F):e.removeAttribute(`confirm-discard`))},[y,F]);let X=l(null),le=s(e=>{X.current=e,typeof z==`function`?z(e):z&&(z.current=e)},[z]);c(()=>{let e=X.current?.dialog;e&&(e.setAttribute(`data-wui`,W),G===void 0?e.removeAttribute(`data-wui-props`):e.setAttribute(`data-wui-props`,G))},[y,W,G]),c(()=>{if(!y)return;let e=K.current?.closest(`.modal-content`);if(!e)return;let t=()=>Array.from(e.querySelectorAll(p));(e.querySelector(`[data-autofocus]`)||t().find(e=>!e.classList.contains(`wui-modal-close`)&&!e.classList.contains(`wui-modal-back`))||t()[0]||e).focus?.();let n=e.closest(`.modal`),r=_(),i=e=>ie(e,n);return n?.addEventListener(`keydown`,i),()=>{n?.removeEventListener(`keydown`,i);for(let e of r)e.removeAttribute(`inert`);n&&setTimeout(()=>{n.isConnected&&!n.classList.contains(`show`)&&n.dispatchEvent(new Event(`transitionend`,{bubbles:!0}))},500)}},[y]);let Z=()=>{if(F&&oe){Y(!0);return}E?.()},ue=()=>{Y(!1),E?.()},de=()=>{Y(!1),(K.current?.querySelector(`input:not([type="hidden"]):not([disabled]),select:not([disabled]),textarea:not([disabled])`))?.focus()},Q=j===`fullscreen`,fe=typeof j==`number`?j:m[j]??m.md,pe=[`wui-modal`,w==="default"?``:`tone-${w}`,se].filter(Boolean).join(` `),$=y&&ae(),me=[`wui-modal-shell`,Q&&h,$&&`wui-modal-stacked`].filter(Boolean).join(` `);return d(te,{...H,ref:le,show:y,onHide:Z,backdrop:!P||`static`,keyboard:!P,autoFocus:!1,enforceFocus:!0,restoreFocus:!0,centered:M!==`top`,className:me,style:Q?R:{"--wui-modal-max-width":`${fe}px`,...R},dialogClassName:`wui-rb-dialog`,contentClassName:pe,backdropClassName:$?`wui-modal-dim wui-modal-backdrop-stacked`:`wui-modal-dim`,"aria-label":I||(typeof x==`string`?x:void 0),children:[!N&&d(`div`,{className:`wui-modal-header`,children:[D&&u(`button`,{type:`button`,className:`wui-modal-back`,onClick:D,"aria-label":O,children:u(i,{name:`arrow-left`,size:18})}),d(`div`,{className:`wui-modal-heading`,children:[C&&u(`span`,{className:`wui-modal-headicon`,children:u(i,{name:C,size:18})}),d(`div`,{className:`wui-modal-headtext`,children:[b&&u(`div`,{className:`wui-modal-eyebrow`,children:b}),u(`div`,{className:`wui-modal-title`,children:x}),S&&u(`div`,{className:`wui-modal-subtitle`,children:S})]})]}),k&&u(`div`,{className:`wui-modal-header-actions`,children:k}),T&&u(`button`,{type:`button`,className:`wui-modal-close`,onClick:Z,"aria-label":`Close`,children:u(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:u(`path`,{d:`M18 6 6 18M6 6l12 12`})})})]}),u(`div`,{className:`wui-modal-body`,ref:K,children:ce}),(A||J)&&d(`div`,{className:J?`wui-modal-footer wui-drawer-discarding`:`wui-modal-footer`,children:[J&&u(a,{text:F,confirmRef:q,onDiscard:ue,onKeep:de}),A]})]})}export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import o from"./useNodeLabels.js";import s,{optionsEqual as c,readValues as l,writeValues as u}from"./useWuiControl.js";import{forwardRef as d,useEffect as f,useId as p}from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import"@webority/ui-elements/elements/multiselect";var g=[`sm`,`lg`],_=[],v=(e,t)=>({...e,label:t}),y=d(function(d,y){let{marker:b,props:x}=e(`AppMultiSelect`,d),{values:S,onChange:C,options:w,placeholder:T=`Select…`,searchPlaceholder:E=`Search…`,searchable:D=!0,disabled:O=!1,icon:k,size:A,collapseChips:j=!1,allowCustom:M=!1,validateCustom:N,customPattern:P,customInvalidMessage:F,name:I,id:L,label:R,error:z,hint:B,required:V=!1,
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import o from"./useNodeLabels.js";import s,{optionsEqual as c,readValues as l,writeValues as u}from"./useWuiControl.js";import{forwardRef as d,useEffect as f,useId as p}from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import"@webority/ui-elements/elements/multiselect";var g=[`sm`,`lg`],_=[],v=(e,t)=>({...e,label:t}),y=d(function(d,y){let{marker:b,props:x}=e(`AppMultiSelect`,d),{values:S,onChange:C,options:w,placeholder:T=`Select…`,searchPlaceholder:E=`Search…`,searchable:D=!0,disabled:O=!1,icon:k,size:A,collapseChips:j=!1,allowCustom:M=!1,validateCustom:N,customPattern:P,customInvalidMessage:F,name:I,id:L,label:R,error:z,hint:B,required:V=!1,optional:H=!1,help:U,helpLabel:W=`More information`,fieldClassName:G=``,...K}=x;n(`AppMultiSelect`,K),t(`AppMultiSelect`,`size`,A,g);let q=p(),J=L||q,{setRef:Y,innerRef:X}=s({ref:y,value:S,onChange:C,readValue:l,writeValue:u}),Z=w||_,{portal:Q,toElementOptions:$}=o(Z);return f(()=>{let e=X.current;if(!e)return;let t=$(Z,v);c(t,e.options)||(e.options=t)},[Z,X,$]),f(()=>{let e=X.current;e&&(e.validateCustom=N??null)},[N,X]),h(`div`,{...b,className:`field${G?` ${G}`:``}`,children:[R&&h(`label`,{className:`label`,htmlFor:J,children:[R,H&&!V&&m(`span`,{className:`label-optional`,children:` (optional)`}),V&&m(a,{}),U&&m(i,{label:W,children:U})]}),m(`wui-multiselect`,{"aria-label":typeof R==`string`?R:void 0,"aria-describedby":z?`${J}-error`:B?`${J}-hint`:void 0,"aria-invalid":z?`true`:void 0,id:J,ref:Y,name:I,placeholder:T,"search-placeholder":E,icon:k||void 0,size:A||void 0,"collapse-chips":j?``:void 0,"allow-custom":M?``:void 0,"custom-pattern":P||void 0,"custom-invalid-message":F||void 0,searchable:D?``:void 0,disabled:O?``:void 0,required:V?``:void 0,...K}),Q,m(r,{error:z,hint:B,errorId:`${J}-error`,hintId:`${J}-hint`})]})});export{y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"./AppIcon.js";import i from"../lib/FieldMessage.js";import
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"./AppIcon.js";import i from"../lib/FieldMessage.js";import a from"./AppInfoTip.js";import o from"./AppRequiredMark.js";import{forwardRef as s,useEffect as c,useId as l,useState as u}from"react";import{Form as d}from"react-bootstrap";import{jsx as f,jsxs as p}from"react/jsx-runtime";var m=[`sm`,`md`,`lg`],h=e=>{if(e===``||e===null)return null;let t=parseFloat(e);return Number.isNaN(t)?null:t},g=(e,t)=>t>0&&Number.isFinite(e)?e.toFixed(t):String(e??``),_=s(function(s,_){let{marker:v,props:y}=e(`AppNumberInput`,s),{label:b,required:x=!1,optional:ee=!1,error:S,hint:C,help:w,helpLabel:T=`More information`,value:E,onChange:D,min:O,max:k,step:A=1,precision:j=0,unit:M,size:N=`md`,id:P,name:F,className:te=``,fieldClassName:I=``,disabled:L=!1,readOnly:R=!1,...z}=y;n(`AppNumberInput`,z),t(`AppNumberInput`,`size`,N,m);let B=l(),V=P||B,H=e=>{if(j===0)return Math.round(e);let t=10**j;return Math.round(e*t)/t},U=e=>{let t=e;return typeof O==`number`&&(t=Math.max(t,O)),typeof k==`number`&&(t=Math.min(t,k)),t},W=e=>g(e,j),[G,K]=u(()=>W(E));c(()=>{K(e=>h(e)===(E??null)?e:g(E,j))},[E,j]);let q=e=>{let t=(h(G)??U(0))+e*A,n=U(H(t));K(W(n)),D?.(n)},J=h(G),Y=L||R||J!==null&&typeof O==`number`&&J<=O,X=L||R||J!==null&&typeof k==`number`&&J>=k,Z=S&&V?`${V}-error`:void 0,Q=C&&V?`${V}-hint`:void 0,$=Z||Q,ne=[`input`,N===`sm`?`input-sm`:``,N===`lg`?`input-lg`:``,S?`error`:``,`num-input`,te].filter(Boolean).join(` `),re=RegExp(`^${typeof O==`number`&&O>=0?``:`-?`}\\d*${j>0?`(\\.\\d*)?`:``}$`),ie=e=>{let t=e.target.value;if(!re.test(t))return;K(t);let n=h(t);n!==null&&D?.(n)},ae=e=>{if(R){z.onBlur?.(e);return}let t=h(e.target.value);if(t===null)K(``),D?.(null);else{let e=U(H(t));K(W(e)),D?.(e)}z.onBlur?.(e)},oe=e=>{if(R){z.onKeyDown?.(e);return}e.key===`ArrowUp`?(e.preventDefault(),q(1)):e.key===`ArrowDown`&&(e.preventDefault(),q(-1)),z.onKeyDown?.(e)},se=f(d.Control,{...z,id:V,name:F,type:`text`,inputMode:j>0?`decimal`:`numeric`,className:ne,disabled:L,readOnly:R,required:x,"aria-invalid":S?`true`:`false`,"aria-describedby":$,value:G,ref:_,onChange:ie,onBlur:ae,onKeyDown:oe}),ce=p(`div`,{className:[`num-wrap`,N===`sm`?`num-wrap-sm`:``,N===`lg`?`num-wrap-lg`:``].filter(Boolean).join(` `),children:[f(`button`,{type:`button`,className:`num-btn`,"aria-label":`Decrease`,tabIndex:-1,disabled:Y,onClick:()=>q(-1),children:f(r,{name:`minus`,size:16})}),se,M&&f(`span`,{className:`affix`,children:M}),f(`button`,{type:`button`,className:`num-btn`,"aria-label":`Increase`,tabIndex:-1,disabled:X,onClick:()=>q(1),children:f(r,{name:`plus`,size:16})})]});return p(d.Group,{...v,className:`field${I?` ${I}`:``}`,children:[b&&p(d.Label,{className:`label`,htmlFor:V,children:[b,ee&&!x&&f(`span`,{className:`label-optional`,children:` (optional)`}),x&&f(o,{}),w&&f(a,{label:T,children:w})]}),ce,f(i,{error:S,hint:C,errorId:Z,hintId:Q})]})});export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppRequiredMark.js";import a from"./useWuiControl.js";import{cloneElement as o,forwardRef as s,useId as c}from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import"@webority/ui-elements/elements/otp";var d=[`numeric`,`alphanumeric`],f=s(function(s,f){let{marker:p,props:m}=e(`AppOtpInput`,s),{value:h,onChange:g,onComplete:_,length:v=6,mode:y=`numeric`,label:b,required:x=!1,
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppRequiredMark.js";import a from"./useWuiControl.js";import{cloneElement as o,forwardRef as s,useId as c}from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import"@webority/ui-elements/elements/otp";var d=[`numeric`,`alphanumeric`],f=s(function(s,f){let{marker:p,props:m}=e(`AppOtpInput`,s),{value:h,onChange:g,onComplete:_,length:v=6,mode:y=`numeric`,label:b,required:x=!1,optional:S=!1,hint:C,error:w,disabled:T=!1,name:E,id:D,className:O=``,fieldClassName:k=``,...A}=m;n(`AppOtpInput`,A),t(`AppOtpInput`,`mode`,y,d);let j=c(),M=D||j,N=w?`${M}-error`:void 0,P=C?`${M}-hint`:void 0,F=N||P,{setRef:I}=a({ref:f,value:h??``,onChange:g,on:{complete:e=>_?.(e.detail)}}),L=l(`wui-otp`,{"aria-label":typeof b==`string`?b:void 0,ref:I,id:M,name:E,length:String(v),mode:y,"aria-describedby":F,"aria-invalid":w?`true`:void 0,disabled:T?``:void 0,required:x?``:void 0,className:O||void 0,...A});return!b&&!w&&!C?o(L,p):u(`div`,{...p,className:`field${k?` ${k}`:``}`,children:[b&&u(`label`,{className:`label`,htmlFor:M,children:[b,S&&!x&&l(`span`,{className:`label-optional`,children:` (optional)`}),x&&l(i,{})]}),L,l(r,{error:w,hint:C,errorId:N,hintId:P})]})});export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppRequiredMark.js";import a from"./useWuiControl.js";import{forwardRef as
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppRequiredMark.js";import a from"./useWuiControl.js";import{loadFlagStyles as o}from"../lib/flagStyles.js";import{forwardRef as s,useEffect as c,useId as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import"@webority/ui-elements/elements/phone";var f=[`sm`,`md`,`lg`],p=s(function(s,p){let{marker:m,props:h}=e(`AppPhoneNumberInput`,s),{value:g,onChange:_,country:v,disabled:y=!1,name:b,id:x,label:S=`Phone number`,placeholder:C,required:w=!1,optional:T=!1,hint:E,error:D,showFlag:O=!0,showDialCode:k=!0,size:A=`md`,fieldClassName:j=``,...M}=h;n(`AppPhoneNumberInput`,M),t(`AppPhoneNumberInput`,`size`,A,f),c(()=>{O&&o()},[O]);let N=l(),P=x||N,F=D&&P?`${P}-error`:void 0,I=!D&&E&&P?`${P}-hint`:void 0,{setRef:L}=a({ref:p,value:g??``,onChange:_,events:[`input`,`change`]});return d(`div`,{...m,className:`field app-phone-number-input${A===`sm`?` phone-sm`:``}${A===`lg`?` phone-lg`:``}${j?` ${j}`:``}`,children:[S&&d(`label`,{className:`label`,htmlFor:P,children:[S,T&&!w&&u(`span`,{className:`label-optional`,children:` (optional)`}),w&&u(i,{})]}),u(`wui-phone`,{ref:L,id:P,name:b,"aria-label":typeof S==`string`?S:void 0,"aria-describedby":F||I,"aria-invalid":D?`true`:void 0,country:v,placeholder:C,required:w?``:void 0,disabled:y?``:void 0,"hide-flag":O?void 0:``,"hide-dial":k?void 0:``,"external-error":``,...M}),u(r,{error:D,hint:E,errorId:F,hintId:I})]})});export{p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import{useId as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";var l=[`default`,`card`];function u(u){let{marker:d,props:f}=e(`AppRadioGroup`,u),{label:p,options:m=[],name:h,value:g,defaultValue:_,onChange:v,variant:y=`default`,inline:b=!1,required:x=!1,
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import{useId as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";var l=[`default`,`card`];function u(u){let{marker:d,props:f}=e(`AppRadioGroup`,u),{label:p,options:m=[],name:h,value:g,defaultValue:_,onChange:v,variant:y=`default`,inline:b=!1,required:x=!1,optional:S=!1,disabled:C=!1,error:w,hint:T,help:E,helpLabel:D=`More information`,id:O,className:k=``,fieldClassName:A=``,style:j,...M}=f;n(`AppRadioGroup`,M),t(`AppRadioGroup`,`variant`,y,l);let N=o(),P=O||N,F=h||P,I=`${P}-error`,L=`${P}-hint`,R=g!==void 0;return c(`div`,{...d,className:`field${A?` ${A}`:``}`,children:[p!=null&&c(`span`,{className:`label`,id:`${P}-label`,children:[p,S&&!x&&s(`span`,{className:`label-optional`,children:` (optional)`}),x&&s(a,{}),E&&s(i,{label:D,children:E})]}),s(`div`,{className:[`wui-radio-group`,y===`card`?`wui-radio-group-card`:``,b?`wui-radio-group-inline`:``,k].filter(Boolean).join(` `),style:j,id:P,role:`radiogroup`,"aria-labelledby":p==null?void 0:`${P}-label`,"aria-required":x?`true`:void 0,"aria-invalid":w?`true`:void 0,"aria-describedby":w?I:T?L:void 0,...M,children:m.map((e,t)=>{let n=`${P}-${t}`,r=e.description==null?void 0:`${n}-desc`;return c(`div`,{className:`form-check`,children:[s(`input`,{type:`radio`,className:`form-check-input`,id:n,name:F,value:e.value,disabled:C||e.disabled||void 0,required:x||void 0,"aria-describedby":r,...R?{checked:g===e.value,onChange:()=>v?.(e.value)}:{defaultChecked:_===e.value,onChange:()=>v?.(e.value)}}),s(`label`,{className:`form-check-label`,htmlFor:n,children:e.label}),r&&s(`div`,{className:`wui-radio-option-desc`,id:r,children:e.description})]},e.value)})}),s(r,{error:w,hint:T,errorId:I,hintId:L})]})}export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnUnknownProps.js";import n from"./AppActionIcon.js";import r from"./AppButton.js";import{jsx as
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnUnknownProps.js";import n from"./AppActionIcon.js";import r from"./AppButton.js";import i from"./AppLink.js";import{jsx as a,jsxs as o}from"react/jsx-runtime";function s(s){let{marker:c,props:l}=e(`AppRepeater`,s),{rows:u=[],renderRow:d,rowLabel:f,onAdd:p,onRemove:m,addLabel:h=`Add another`,addVariant:g=`secondary`,removeLabel:_=`Remove row`,emptyText:v,min:y=0,max:b,numbered:x=!0,className:S=``,...C}=l;t(`AppRepeater`,C);let w=typeof b==`number`&&u.length>=b,T=!!m&&u.length>y;return o(`div`,{className:`repeater${S?` ${S}`:``}`,...c,...C,children:[u.length===0&&v&&a(`div`,{className:`repeater-empty`,children:v}),u.map((e,t)=>{let r=f?f(e,t):null;return o(`div`,{className:`repeater-row`,children:[(!!r||T)&&a(`span`,{className:`repeater-row-label`,children:r}),x&&a(`span`,{className:`repeater-index`,children:t+1}),a(`div`,{className:`repeater-body`,children:d(e,t)}),T&&a(n,{icon:`trash-2`,label:`${_} ${t+1}`,danger:!0,className:`repeater-remove`,onClick:()=>m(t)})]},e.id??t)}),g===`link`?a(i,{animation:`static`,size:`sm`,linkComponent:`button`,type:`button`,leftIcon:`plus`,className:`repeater-add`,disabled:w,onClick:p,children:h}):a(r,{variant:g,size:`sm`,leftIcon:`plus`,className:`repeater-add`,disabled:w,onClick:p,children:h})]})}export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import ee from"../lib/FieldMessage.js";import r from"./AppInfoTip.js";import i from"./AppRequiredMark.js";import a from"./useNodeLabels.js";import o,{optionsEqual as te}from"./useWuiControl.js";import{forwardRef as s,useEffect as ne,useId as c,useLayoutEffect as l,useRef as u}from"react";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";import"@webority/ui-elements/elements/select";var m=[`sm`,`lg`,`xl`],h=[`off`,`border`,`above`],g=(e,t)=>({value:e.value,label:t,icon:e.icon}),_=s(function(s,_){let{marker:v,props:
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import ee from"../lib/FieldMessage.js";import r from"./AppInfoTip.js";import i from"./AppRequiredMark.js";import a from"./useNodeLabels.js";import o,{optionsEqual as te}from"./useWuiControl.js";import{forwardRef as s,useEffect as ne,useId as c,useLayoutEffect as l,useRef as u}from"react";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";import"@webority/ui-elements/elements/select";var m=[`sm`,`lg`,`xl`],h=[`off`,`border`,`above`],g=(e,t)=>({value:e.value,label:t,icon:e.icon}),_=s(function(s,_){let{marker:v,props:y}=e(`AppSelect`,s),{value:b,onChange:re,options:x=[],placeholder:ie=`Select...`,searchPlaceholder:ae=`Search...`,emptyText:oe,searchable:se=!1,clearable:ce=!1,size:S,icon:le,compact:ue=!1,valuePrefix:C,prefix:w,suffix:T,floatingLabel:E=`off`,disabled:D,open:O,label:k,required:A=!1,optional:j=!1,error:M,hint:N,help:P,helpLabel:F=`More information`,id:I,name:L,className:R=``,fieldClassName:de=``,"aria-label":z,"aria-labelledby":B,"aria-describedby":V,...H}=y;n(`AppSelect`,H),t(`AppSelect`,`size`,S,m),t(`AppSelect`,`floatingLabel`,E,h);let fe=c(),{setRef:pe,innerRef:U}=o({ref:_,value:b??``,onChange:re}),{portal:me,toElementOptions:W}=a(x),G=u({el:null,options:null,map:null});l(()=>{let e=U.current;if(!e||G.current.el===e&&G.current.options===x&&G.current.map===W)return;G.current={el:e,options:x,map:W};let t=W(x,g);te(t,e.options)||(e.options=t)});let K=I||fe,q=E!==`off`&&k,J=M&&K?`${K}-error`:void 0,Y=N&&K?`${K}-hint`:void 0,he=J||Y||V;ne(()=>{let e=U.current;e&&(C==null||C===``?e.removeAttribute(`prefix`):e.setAttribute(`prefix`,C))},[C,U]);let X=!q&&(w!=null||T!=null),Z=!k&&!M&&!N,Q=p(d,{children:[f(`wui-select`,{"aria-label":z||(typeof k==`string`?k:void 0),"aria-labelledby":B||void 0,"aria-describedby":he||void 0,"aria-invalid":M?`true`:void 0,ref:pe,value:b||void 0,id:K,name:L,placeholder:E!==`off`&&k?` `:ie,"search-placeholder":ae,"empty-text":oe||void 0,searchable:se?``:void 0,clearable:ce?``:void 0,size:S||void 0,icon:le||void 0,compact:ue?``:void 0,disabled:D?``:void 0,open:O?``:void 0,required:A?``:void 0,className:R||void 0,...Z&&!X?v:null,...H}),me]}),$=X?p(`div`,{...Z?v:null,className:`input-affixed`,children:[w!=null&&f(`span`,{className:`affix affix-pre`,children:w}),Q,T!=null&&f(`span`,{className:`affix affix-suf`,children:T})]}):Q;if(Z)return $;let ge=[`field`,de].filter(Boolean).join(` `);return p(`div`,{...v,className:ge,children:[k&&!q&&p(`label`,{className:`label`,htmlFor:K,children:[k,j&&!A&&f(`span`,{className:`label-optional`,children:` (optional)`}),A&&f(i,{}),P&&f(r,{label:F,children:P})]}),q?p(`div`,{className:E===`above`?`field-float wui-float-above`:`field-float`,children:[Q,p(`label`,{className:`float-label`,htmlFor:K,children:[k,j&&!A&&f(`span`,{className:`label-optional`,children:` (optional)`}),A&&f(i,{})]})]}):$,f(ee,{error:M,hint:N,errorId:J,hintId:Y})]})});export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppRequiredMark.js";import a,{readRange as o,writeNumberValue as s}from"./useWuiControl.js";import{forwardRef as c,useEffect as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import"@webority/ui-elements/elements/slider";var p=[`sm`,`md`,`lg`],m=c(function(c,m){let{marker:h,props:g}=e(`AppSlider`,c),{value:_,start:v,end:y,range:b=!1,onChange:x,label:S,required:C=!1,
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppRequiredMark.js";import a,{readRange as o,writeNumberValue as s}from"./useWuiControl.js";import{forwardRef as c,useEffect as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import"@webority/ui-elements/elements/slider";var p=[`sm`,`md`,`lg`],m=c(function(c,m){let{marker:h,props:g}=e(`AppSlider`,c),{value:_,start:v,end:y,range:b=!1,onChange:x,label:S,required:C=!1,optional:w=!1,hint:T,error:E,name:D,startName:O,endName:k,min:A=0,max:j=100,step:M=1,disabled:N,size:P,showValue:F,unit:I,id:L,ariaLabel:R,className:z=``,fieldClassName:B=``,...V}=g;n(`AppSlider`,V),t(`AppSlider`,`size`,P,p);let H=u(),U=L||H,W=b,{setRef:G,innerRef:K}=a({ref:m,value:W?void 0:_,onChange:x,readValue:W?o:void 0,writeValue:W?void 0:s});l(()=>{if(!W)return;let e=K.current;e&&(v!==void 0&&v>e.end?(y!==void 0&&e.end!==y&&(e.end=y),v!==void 0&&e.start!==v&&(e.start=v)):(v!==void 0&&e.start!==v&&(e.start=v),y!==void 0&&e.end!==y&&(e.end=y)))},[v,y,W,K]);let q=!S&&!E&&!T,J=E?`${U}-error`:void 0,Y=T?`${U}-hint`:void 0,X=d(`wui-slider`,{ref:G,id:U,name:D||void 0,"start-name":O||void 0,"end-name":k||void 0,min:A,max:j,step:M,size:P||void 0,"aria-label":R||(typeof S==`string`?S:void 0),"aria-describedby":J||Y,"aria-invalid":E?`true`:void 0,disabled:N?``:void 0,required:C?``:void 0,range:W?``:void 0,"show-value":F?``:void 0,unit:I||void 0,className:z||void 0,...q?h:null,...V});return q?X:f(`div`,{...h,className:`field${B?` ${B}`:``}`,children:[S&&f(`label`,{className:`label`,htmlFor:U,children:[S,w&&!C&&d(`span`,{className:`label-optional`,children:` (optional)`}),C&&d(i,{})]}),X,d(r,{error:E,hint:T,errorId:J,hintId:Y})]})});export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import o,{readValues as s,writeValues as c}from"./useWuiControl.js";import{forwardRef as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import"@webority/ui-elements/elements/taginput";var p=[`sm`,`lg`],m=l(function(l,m){let{marker:h,props:g}=e(`AppTagInput`,l),{values:_,onChange:v,placeholder:y=`Add…`,name:b,label:x,error:S,hint:C,required:w=!1,
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import o,{readValues as s,writeValues as c}from"./useWuiControl.js";import{forwardRef as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import"@webority/ui-elements/elements/taginput";var p=[`sm`,`lg`],m=l(function(l,m){let{marker:h,props:g}=e(`AppTagInput`,l),{values:_,onChange:v,placeholder:y=`Add…`,name:b,label:x,error:S,hint:C,required:w=!1,optional:T=!1,size:E,maxTags:D,allowDuplicates:O=!1,disabled:k=!1,id:A,ariaLabel:j,className:M=``,fieldClassName:N=``,help:P,helpLabel:F=`More information`,...I}=g;n(`AppTagInput`,I),t(`AppTagInput`,`size`,E,p);let L=u(),R=A||L,{setRef:z}=o({ref:m,value:_,onChange:v,readValue:s,writeValue:c});return f(`div`,{...h,className:`field${N?` ${N}`:``}`,children:[x&&f(`label`,{className:`label`,htmlFor:R,children:[x,T&&!w&&d(`span`,{className:`label-optional`,children:` (optional)`}),w&&d(a,{}),P&&d(i,{label:F,children:P})]}),d(`wui-taginput`,{"aria-label":j||(typeof x==`string`?x:void 0),"aria-describedby":S?`${R}-error`:C?`${R}-hint`:void 0,"aria-invalid":S?`true`:void 0,id:R,ref:z,name:b,placeholder:y,size:E||void 0,"max-tags":D===void 0?void 0:String(D),"allow-duplicates":O?``:void 0,disabled:k?``:void 0,required:w?``:void 0,className:M||void 0,...I}),d(r,{error:S,hint:C,errorId:`${R}-error`,hintId:`${R}-hint`})]})});export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import o from"./useWuiControl.js";import{cloneElement as s,forwardRef as c,useId as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import"@webority/ui-elements/elements/timepicker";var f=[`sm`,`md`,`lg`],p=[`12`,`24`],m=c(function(c,m){let{marker:h,props:g}=e(`AppTimePicker`,c),{value:_,onChange:v,label:y,required:b=!1,
|
|
1
|
+
import{splitMarkerProps as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"../lib/FieldMessage.js";import i from"./AppInfoTip.js";import a from"./AppRequiredMark.js";import o from"./useWuiControl.js";import{cloneElement as s,forwardRef as c,useId as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import"@webority/ui-elements/elements/timepicker";var f=[`sm`,`md`,`lg`],p=[`12`,`24`],m=c(function(c,m){let{marker:h,props:g}=e(`AppTimePicker`,c),{value:_,onChange:v,label:y,required:b=!1,optional:x=!1,hint:S,error:C,help:w,helpLabel:T=`More information`,name:E,min:D,max:O,step:k,format:A=24,placeholder:j=`Select time`,disabled:M,size:N,id:P,ariaLabel:F,className:I=``,fieldClassName:L=``,...R}=g;n(`AppTimePicker`,R),t(`AppTimePicker`,`size`,N,f);let z=String(A);t(`AppTimePicker`,`format`,z,p);let B=l(),V=P||E||B,{setRef:H}=o({ref:m,value:_??``,onChange:v}),U=!y&&!C&&!S,W=C?`${V}-error`:void 0,G=S?`${V}-hint`:void 0,K=u(`wui-timepicker`,{ref:H,value:_||void 0,id:V,name:E,min:D,max:O,step:k==null?void 0:String(k),format:z,placeholder:j,size:N||void 0,"aria-label":F||(typeof y==`string`?y:void 0),"aria-describedby":W||G,"aria-invalid":C?`true`:void 0,disabled:M?``:void 0,required:b?``:void 0,className:I||void 0,...R});return U?s(K,h):d(`div`,{...h,className:`field${L?` ${L}`:``}`,children:[y&&d(`label`,{className:`label`,htmlFor:V,children:[y,x&&!b&&u(`span`,{className:`label-optional`,children:` (optional)`}),b&&u(a,{}),w&&u(i,{label:T,children:w})]}),K,u(r,{error:C,hint:S,errorId:W,hintId:G})]})});export{m as default};
|