@webority/ui-react 0.83.3 → 0.83.4

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 +1 @@
1
- import e from"./warnUnknownProps.js";import t from"./AppButton.js";import n from"./AppEmptyState.js";import r from"./AppSpinner.js";import{jsx as i}from"react/jsx-runtime";function a({loading:a=!1,error:o=null,empty:s=!1,children:c,onRetry:l,skeleton:u,className:d=``,...f}){e(`AppAsyncBlock`,f);let p=`async-block${d?` ${d}`:``}`;return a?i(`div`,{className:p,"data-state":`loading`,...f,children:u??i(`div`,{className:`d-flex align-items-center justify-content-center py-5`,children:i(r,{label:`Loading`})})}):o?i(`div`,{className:p,"data-state":`error`,...f,children:i(n,{icon:`alert-circle`,title:`Something went wrong`,text:o,action:l?i(t,{variant:`secondary`,onClick:l,children:`Retry`}):null})}):s?i(`div`,{className:p,"data-state":`empty`,...f,children:i(n,{icon:`inbox`,title:`Nothing to show yet`})}):i(`div`,{className:p,"data-state":`content`,...f,children:c})}export{a as default};
1
+ import e from"./warnUnknownProps.js";import t from"./AppButton.js";import n from"./AppEmptyState.js";import r from"./AppProgress.js";import{jsx as i}from"react/jsx-runtime";function a({loading:a=!1,error:o=null,empty:s=!1,children:c,onRetry:l,skeleton:u,className:d=``,...f}){e(`AppAsyncBlock`,f);let p=`async-block${d?` ${d}`:``}`;return a?i(`div`,{className:p,"data-state":`loading`,...f,children:u??i(r,{value:0,indeterminate:!0,size:`sm`,label:`Loading`})}):o?i(`div`,{className:p,"data-state":`error`,...f,children:i(n,{icon:`alert-circle`,title:`Something went wrong`,text:o,action:l?i(t,{variant:`secondary`,onClick:l,children:`Retry`}):null})}):s?i(`div`,{className:p,"data-state":`empty`,...f,children:i(n,{icon:`inbox`,title:`Nothing to show yet`})}):i(`div`,{className:p,"data-state":`content`,...f,children:c})}export{a as default};
@@ -1 +1 @@
1
- import e from"./warnUnknownProps.js";import{shortcutAria as t,shortcutChip as n}from"../lib/shortcutChip.js";import r from"./AppIcon.js";import i from"./renderIconProp.js";import a from"./AppSpinner.js";import o from"./AppModal.js";import{matchSegments as s}from"@webority/ui-elements/helpers";import{Fragment as c,useEffect as l,useId as u,useLayoutEffect as d,useRef as f}from"react";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@webority/ui-elements/elements/command-palette";var h=`lg`;function g({open:t,onClose:n,query:r=``,onQueryChange:i,placeholder:a=`Search…`,groups:s=[],path:c=[],onPathChange:l,rootLabel:d,backLabel:f=`Back`,recentsKey:m,recentsLimit:g,recentsLabel:v,loading:y=!1,emptyText:b=`No results`,footer:x,ariaLabel:S=`Search`,highlight:C=!0,id:w,className:T=``,...E}){e(`AppCommandPalette`,E);let D=u(),O=w||D;return p(o,{open:t,onClose:n,hideHeader:!0,placement:`top`,size:h,ariaLabel:S,className:`wui-cmd-card${T?` ${T}`:``}`,children:p(_,{baseId:O,query:r,onQueryChange:i,placeholder:a,groups:s,path:c,onPathChange:l,rootLabel:d,backLabel:f,recentsKey:m,recentsLimit:g,recentsLabel:v,loading:y,emptyText:b,footer:x,ariaLabel:S,highlight:C,onClose:n,rest:E})})}function _({baseId:e,query:o,onQueryChange:s,placeholder:c,groups:u,path:h,onPathChange:g,rootLabel:_,backLabel:b,recentsKey:x,recentsLimit:S,recentsLabel:C,loading:w,emptyText:T,footer:E,ariaLabel:D,highlight:O,onClose:k,rest:A}){let j=f(null),M=`${e}-list`,N=u.filter(e=>e.items?.length),P=!w&&o.trim()!==``&&N.length===0;return d(()=>{j.current?.refresh?.()}),l(()=>{let e=j.current,t=e=>{let t=u.find(t=>String(t.key)===e.detail.groupKey)?.items?.find(t=>String(t.key)===e.detail.key);if(t){if(e.preventDefault(),t.page){s?.(``),g?.([...h,{key:t.page.key,label:t.page.label}]);return}t.onSelect?.(),k?.()}},n=e=>{e.preventDefault(),s?.(``),g?.(e.detail.path)};return e.addEventListener(`wui-command-palette:select`,t),e.addEventListener(`wui-command-palette:navigate`,n),()=>{e.removeEventListener(`wui-command-palette:select`,t),e.removeEventListener(`wui-command-palette:navigate`,n)}},[u,h,k,s,g]),m(`wui-command-palette`,{ref:j,path:JSON.stringify(h),"root-label":_,"recents-key":x,"recents-limit":S,"recents-label":C,...A,children:[m(`div`,{className:`wui-cmd-search`,children:[p(`span`,{className:`wui-cmd-search-icon`,"aria-hidden":`true`,children:p(r,{name:`search`,size:18})}),p(`input`,{className:`wui-cmd-input`,type:`text`,role:`combobox`,"aria-expanded":`true`,"aria-controls":M,"aria-autocomplete":`list`,"aria-label":D,placeholder:c,autoComplete:`off`,spellCheck:!1,"data-autofocus":``,value:o,onChange:e=>s?.(e.target.value)}),w&&p(a,{size:`sm`,className:`wui-cmd-spinner`})]}),m(`div`,{className:`wui-cmd-crumbs`,hidden:!0,children:[p(`button`,{type:`button`,className:`wui-cmd-back`,"aria-label":b,children:p(r,{name:`chevron-left`,size:16})}),p(`ol`,{className:`wui-cmd-trail`})]}),m(`div`,{className:`wui-cmd-list`,role:`listbox`,id:M,"aria-label":`Results`,"aria-busy":w?`true`:void 0,hidden:N.length===0,children:[p(`div`,{className:`wui-cmd-recents`}),N.map(a=>{let s=`${e}-${y(a.key)}`;return m(`div`,{className:`wui-cmd-group`,role:`group`,"aria-labelledby":s,children:[p(`div`,{className:`wui-cmd-group-label`,role:`presentation`,id:s,children:a.label}),a.items.map(e=>{let c=`${s}-${y(e.key)}`,l=e.description==null?null:`${c}-desc`,u=e.meta==null?null:`${c}-meta`;return m(`div`,{className:`wui-cmd-item`,role:`option`,id:c,"data-group-key":String(a.key),"data-key":String(e.key),"data-opens":e.page?String(e.page.key):void 0,"aria-label":e.ariaLabel||(typeof e.label==`string`?e.label:``)||void 0,"aria-describedby":[l,u].filter(Boolean).join(` `)||void 0,"aria-disabled":e.disabled?`true`:void 0,"aria-keyshortcuts":t(e.shortcut),children:[e.icon!=null&&p(`span`,{className:`wui-cmd-item-icon`,"aria-hidden":`true`,children:i(e.icon,{size:18})}),m(`span`,{className:`wui-cmd-item-text`,children:[p(`span`,{className:`wui-cmd-item-label`,children:O?v(e.label,o):e.label}),l&&p(`span`,{className:`wui-cmd-item-desc`,id:l,children:e.description})]}),u&&p(`span`,{className:`wui-cmd-item-meta`,id:u,children:e.meta}),n(e.shortcut),e.page&&p(`span`,{className:`wui-cmd-item-chevron`,"aria-hidden":`true`,children:p(r,{name:`chevron-right`,size:16})})]},e.key)})]},a.key)})]}),p(`div`,{className:`wui-cmd-empty`,role:`status`,children:P?T:null}),E!=null&&p(`div`,{className:`wui-cmd-footer`,children:E})]})}function v(e,t){if(typeof e!=`string`)return e;let n=s(e,t);if(n.length===1&&!n[0].match)return e;let r=0;return n.map(e=>{let t=r;return r+=e.text.length,e.match?p(`mark`,{className:`wui-cmd-mark`,children:e.text},t):p(c,{children:e.text},t)})}function y(e){return String(e).replace(/\s+/g,`_`)}export{g as default};
1
+ import e from"./warnUnknownProps.js";import{shortcutAria as t,shortcutChip as n}from"../lib/shortcutChip.js";import r from"./AppIcon.js";import i from"./renderIconProp.js";import a from"./AppModal.js";import o from"./AppSpinner.js";import{matchSegments as s}from"@webority/ui-elements/helpers";import{Fragment as c,useEffect as l,useId as u,useLayoutEffect as d,useRef as f}from"react";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@webority/ui-elements/elements/command-palette";var h=`lg`;function g({open:t,onClose:n,query:r=``,onQueryChange:i,placeholder:o=`Search…`,groups:s=[],path:c=[],onPathChange:l,rootLabel:d,backLabel:f=`Back`,recentsKey:m,recentsLimit:g,recentsLabel:v,loading:y=!1,emptyText:b=`No results`,footer:x,ariaLabel:S=`Search`,highlight:C=!0,id:w,className:T=``,...E}){e(`AppCommandPalette`,E);let D=u(),O=w||D;return p(a,{open:t,onClose:n,hideHeader:!0,placement:`top`,size:h,ariaLabel:S,className:`wui-cmd-card${T?` ${T}`:``}`,children:p(_,{baseId:O,query:r,onQueryChange:i,placeholder:o,groups:s,path:c,onPathChange:l,rootLabel:d,backLabel:f,recentsKey:m,recentsLimit:g,recentsLabel:v,loading:y,emptyText:b,footer:x,ariaLabel:S,highlight:C,onClose:n,rest:E})})}function _({baseId:e,query:a,onQueryChange:s,placeholder:c,groups:u,path:h,onPathChange:g,rootLabel:_,backLabel:b,recentsKey:x,recentsLimit:S,recentsLabel:C,loading:w,emptyText:T,footer:E,ariaLabel:D,highlight:O,onClose:k,rest:A}){let j=f(null),M=`${e}-list`,N=u.filter(e=>e.items?.length),P=!w&&a.trim()!==``&&N.length===0;return d(()=>{j.current?.refresh?.()}),l(()=>{let e=j.current,t=e=>{let t=u.find(t=>String(t.key)===e.detail.groupKey)?.items?.find(t=>String(t.key)===e.detail.key);if(t){if(e.preventDefault(),t.page){s?.(``),g?.([...h,{key:t.page.key,label:t.page.label}]);return}t.onSelect?.(),k?.()}},n=e=>{e.preventDefault(),s?.(``),g?.(e.detail.path)};return e.addEventListener(`wui-command-palette:select`,t),e.addEventListener(`wui-command-palette:navigate`,n),()=>{e.removeEventListener(`wui-command-palette:select`,t),e.removeEventListener(`wui-command-palette:navigate`,n)}},[u,h,k,s,g]),m(`wui-command-palette`,{ref:j,path:JSON.stringify(h),"root-label":_,"recents-key":x,"recents-limit":S,"recents-label":C,...A,children:[m(`div`,{className:`wui-cmd-search`,children:[p(`span`,{className:`wui-cmd-search-icon`,"aria-hidden":`true`,children:p(r,{name:`search`,size:18})}),p(`input`,{className:`wui-cmd-input`,type:`text`,role:`combobox`,"aria-expanded":`true`,"aria-controls":M,"aria-autocomplete":`list`,"aria-label":D,placeholder:c,autoComplete:`off`,spellCheck:!1,"data-autofocus":``,value:a,onChange:e=>s?.(e.target.value)}),w&&p(o,{size:`sm`,className:`wui-cmd-spinner`})]}),m(`div`,{className:`wui-cmd-crumbs`,hidden:!0,children:[p(`button`,{type:`button`,className:`wui-cmd-back`,"aria-label":b,children:p(r,{name:`chevron-left`,size:16})}),p(`ol`,{className:`wui-cmd-trail`})]}),m(`div`,{className:`wui-cmd-list`,role:`listbox`,id:M,"aria-label":`Results`,"aria-busy":w?`true`:void 0,hidden:N.length===0,children:[p(`div`,{className:`wui-cmd-recents`}),N.map(o=>{let s=`${e}-${y(o.key)}`;return m(`div`,{className:`wui-cmd-group`,role:`group`,"aria-labelledby":s,children:[p(`div`,{className:`wui-cmd-group-label`,role:`presentation`,id:s,children:o.label}),o.items.map(e=>{let c=`${s}-${y(e.key)}`,l=e.description==null?null:`${c}-desc`,u=e.meta==null?null:`${c}-meta`;return m(`div`,{className:`wui-cmd-item`,role:`option`,id:c,"data-group-key":String(o.key),"data-key":String(e.key),"data-opens":e.page?String(e.page.key):void 0,"aria-label":e.ariaLabel||(typeof e.label==`string`?e.label:``)||void 0,"aria-describedby":[l,u].filter(Boolean).join(` `)||void 0,"aria-disabled":e.disabled?`true`:void 0,"aria-keyshortcuts":t(e.shortcut),children:[e.icon!=null&&p(`span`,{className:`wui-cmd-item-icon`,"aria-hidden":`true`,children:i(e.icon,{size:18})}),m(`span`,{className:`wui-cmd-item-text`,children:[p(`span`,{className:`wui-cmd-item-label`,children:O?v(e.label,a):e.label}),l&&p(`span`,{className:`wui-cmd-item-desc`,id:l,children:e.description})]}),u&&p(`span`,{className:`wui-cmd-item-meta`,id:u,children:e.meta}),n(e.shortcut),e.page&&p(`span`,{className:`wui-cmd-item-chevron`,"aria-hidden":`true`,children:p(r,{name:`chevron-right`,size:16})})]},e.key)})]},o.key)})]}),p(`div`,{className:`wui-cmd-empty`,role:`status`,children:P?T:null}),E!=null&&p(`div`,{className:`wui-cmd-footer`,children:E})]})}function v(e,t){if(typeof e!=`string`)return e;let n=s(e,t);if(n.length===1&&!n[0].match)return e;let r=0;return n.map(e=>{let t=r;return r+=e.text.length,e.match?p(`mark`,{className:`wui-cmd-mark`,children:e.text},t):p(c,{children:e.text},t)})}function y(e){return String(e).replace(/\s+/g,`_`)}export{g as default};
@@ -1 +1 @@
1
- import e from"./warnUnknownProps.js";import t from"./AppIcon.js";import n from"../lib/FieldMessage.js";import r from"./AppProgress.js";import{keyOf as i,linkOf as a,nameOf as o,sizeLabelOf as s,uploadErrorOf as c,uploadProgressOf as l,useItemUrl as u}from"../lib/fileItem.js";import d from"../lib/FileItemRow.js";import{DEFAULT_IMAGE_ACCEPT as f,DEFAULT_MAX_SIZE_MB as p,acceptLabel as m,isImageFile as h,isImageOnlyAccept as g,validateFile as _}from"@webority/ui-elements/helpers";import{useId as v,useState as y}from"react";import{Fragment as b,jsx as x,jsxs as S}from"react/jsx-runtime";function C({label:r=`Attachment`,value:o,name:s,onChange:c,multiple:l=!1,accept:u=f,maxSizeMb:m=p,optional:C=!1,validate:E=!0,error:D,id:O,...k}){e(`AppFileAttachment`,k);let A=v(),j=O||A,[M,N]=y(``),[P,F]=y(!1),I=l&&Array.isArray(o)?o:o?[o]:[],L=g(u),R=e=>e instanceof File?h(e):L||h(e),z=!l&&I.length===1&&R(I[0])&&(I[0]instanceof File||a(I[0])!==null),B=w(u,m);function V(e){if(!e.length)return;let t=[],n=``;for(let r of e){let e=E?_(r,{accept:u,maxSizeMb:m}):null;if(e){n||=e;continue}t.push(r)}if(N(n),t.length)if(l){let e=Array.isArray(o)?o:o?[o]:[],n=new Set(e.map(i));c(e.concat(t.filter(e=>!n.has(i(e)))))}else c(t[0])}function H(e){let t=Array.from(e.target.files||[]);e.target.value=``,V(t)}function U(e){N(``),c(l?I.filter((t,n)=>n!==e):null)}let W=D||M,G=W?`${j}-error`:void 0,K=l||I.length===0,q=L?`image`:`file`,J=l?`Add ${q}s`:`Add ${L?`an`:`a`} ${q}`;return S(`div`,{className:`field`,children:[S(`label`,{className:`label`,htmlFor:j,children:[r,C&&x(`span`,{className:`label-optional`,children:` (optional)`})]}),K&&S(b,{children:[S(`label`,{className:`attach-drop${P?` dragging`:``}`,htmlFor:j,onDragEnter:e=>{e.preventDefault(),k.disabled||F(!0)},onDragOver:e=>{e.preventDefault(),k.disabled||F(!0)},onDragLeave:e=>{e.preventDefault(),F(!1)},onDrop:e=>{e.preventDefault(),F(!1),!k.disabled&&V(Array.from(e.dataTransfer?.files||[]))},children:[x(`span`,{className:`attach-drop-icon`,children:x(t,{name:L?`image`:`file-text`,size:18})}),S(`span`,{className:`attach-drop-copy`,children:[x(`span`,{className:`attach-drop-title`,children:J}),B&&x(`span`,{className:`attach-drop-hint`,children:B})]}),x(`span`,{className:`attach-drop-cta`,children:`Browse`})]}),x(`input`,{id:j,type:`file`,className:`visually-hidden`,name:s,accept:u||void 0,multiple:l||void 0,"aria-describedby":G,onChange:H,...k})]}),z?x(T,{item:I[0],isImage:!0,onRemove:()=>U(0)}):I.length>0&&x(`div`,{className:`attach-list`,children:I.map((e,t)=>x(d,{item:e,isImage:R(e),onRemove:()=>U(t)},i(e)))}),x(n,{error:W,errorId:`${j}-error`})]})}function w(e,t){let n=e?.trim()?m(e):``,r=t>0?`up to ${t} MB`:``;return n&&r?`${n}, ${r}`:r?`Up to ${t} MB`:n}function T({item:e,isImage:n,onRemove:i}){let d=u(e,n),f=o(e),p=s(e),m=l(e),h=c(e),g=a(e);return S(`div`,{className:h?`attach-preview wui-attach-failed`:`attach-preview`,children:[S(`div`,{className:`attach-figure`,children:[x(`img`,{src:d,alt:f}),x(`button`,{type:`button`,className:`attach-remove`,"aria-label":`Remove attachment`,onClick:i,children:x(t,{name:`x`,size:18})})]}),S(`div`,{className:`attach-meta`,children:[x(`div`,{className:`attach-name`,children:g?x(`a`,{href:g,children:f}):f}),p&&x(`div`,{className:`attach-size`,children:p})]}),m!==null&&x(r,{value:m,size:`sm`,label:`Uploading ${f}`,className:`wui-attach-progress`}),h&&x(`div`,{className:`wui-attach-error`,children:h})]})}export{C as default};
1
+ import e from"./warnUnknownProps.js";import t from"./AppIcon.js";import n from"./AppProgress.js";import r from"../lib/FieldMessage.js";import{keyOf as i,linkOf as a,nameOf as o,sizeLabelOf as s,uploadErrorOf as c,uploadProgressOf as l,useItemUrl as u}from"../lib/fileItem.js";import d from"../lib/FileItemRow.js";import{DEFAULT_IMAGE_ACCEPT as f,DEFAULT_MAX_SIZE_MB as p,acceptLabel as m,isImageFile as h,isImageOnlyAccept as g,validateFile as _}from"@webority/ui-elements/helpers";import{useId as v,useState as y}from"react";import{Fragment as b,jsx as x,jsxs as S}from"react/jsx-runtime";function C({label:n=`Attachment`,value:o,name:s,onChange:c,multiple:l=!1,accept:u=f,maxSizeMb:m=p,optional:C=!1,validate:E=!0,error:D,id:O,...k}){e(`AppFileAttachment`,k);let A=v(),j=O||A,[M,N]=y(``),[P,F]=y(!1),I=l&&Array.isArray(o)?o:o?[o]:[],L=g(u),R=e=>e instanceof File?h(e):L||h(e),z=!l&&I.length===1&&R(I[0])&&(I[0]instanceof File||a(I[0])!==null),B=w(u,m);function V(e){if(!e.length)return;let t=[],n=``;for(let r of e){let e=E?_(r,{accept:u,maxSizeMb:m}):null;if(e){n||=e;continue}t.push(r)}if(N(n),t.length)if(l){let e=Array.isArray(o)?o:o?[o]:[],n=new Set(e.map(i));c(e.concat(t.filter(e=>!n.has(i(e)))))}else c(t[0])}function H(e){let t=Array.from(e.target.files||[]);e.target.value=``,V(t)}function U(e){N(``),c(l?I.filter((t,n)=>n!==e):null)}let W=D||M,G=W?`${j}-error`:void 0,K=l||I.length===0,q=L?`image`:`file`,J=l?`Add ${q}s`:`Add ${L?`an`:`a`} ${q}`;return S(`div`,{className:`field`,children:[S(`label`,{className:`label`,htmlFor:j,children:[n,C&&x(`span`,{className:`label-optional`,children:` (optional)`})]}),K&&S(b,{children:[S(`label`,{className:`attach-drop${P?` dragging`:``}`,htmlFor:j,onDragEnter:e=>{e.preventDefault(),k.disabled||F(!0)},onDragOver:e=>{e.preventDefault(),k.disabled||F(!0)},onDragLeave:e=>{e.preventDefault(),F(!1)},onDrop:e=>{e.preventDefault(),F(!1),!k.disabled&&V(Array.from(e.dataTransfer?.files||[]))},children:[x(`span`,{className:`attach-drop-icon`,children:x(t,{name:L?`image`:`file-text`,size:18})}),S(`span`,{className:`attach-drop-copy`,children:[x(`span`,{className:`attach-drop-title`,children:J}),B&&x(`span`,{className:`attach-drop-hint`,children:B})]}),x(`span`,{className:`attach-drop-cta`,children:`Browse`})]}),x(`input`,{id:j,type:`file`,className:`visually-hidden`,name:s,accept:u||void 0,multiple:l||void 0,"aria-describedby":G,onChange:H,...k})]}),z?x(T,{item:I[0],isImage:!0,onRemove:()=>U(0)}):I.length>0&&x(`div`,{className:`attach-list`,children:I.map((e,t)=>x(d,{item:e,isImage:R(e),onRemove:()=>U(t)},i(e)))}),x(r,{error:W,errorId:`${j}-error`})]})}function w(e,t){let n=e?.trim()?m(e):``,r=t>0?`up to ${t} MB`:``;return n&&r?`${n}, ${r}`:r?`Up to ${t} MB`:n}function T({item:e,isImage:r,onRemove:i}){let d=u(e,r),f=o(e),p=s(e),m=l(e),h=c(e),g=a(e);return S(`div`,{className:h?`attach-preview wui-attach-failed`:`attach-preview`,children:[S(`div`,{className:`attach-figure`,children:[x(`img`,{src:d,alt:f}),x(`button`,{type:`button`,className:`attach-remove`,"aria-label":`Remove attachment`,onClick:i,children:x(t,{name:`x`,size:18})})]}),S(`div`,{className:`attach-meta`,children:[x(`div`,{className:`attach-name`,children:g?x(`a`,{href:g,children:f}):f}),p&&x(`div`,{className:`attach-size`,children:p})]}),m!==null&&x(n,{value:m,size:`sm`,label:`Uploading ${f}`,className:`wui-attach-progress`}),h&&x(`div`,{className:`wui-attach-error`,children:h})]})}export{C as default};
@@ -9,7 +9,7 @@
9
9
  * the loading state, which is the least surprising reading of "still in flight".
10
10
  *
11
11
  * @param {object} props
12
- * @param {boolean} [props.loading=false] Show the skeleton (or spinner) instead of content.
12
+ * @param {boolean} [props.loading=false] Show the skeleton (or the progress line) instead of content.
13
13
  * @param {string|import('react').ReactNode} [props.error] An error to show in place of content.
14
14
  * Falsy (including `null`/`undefined`) means no error.
15
15
  * @param {boolean} [props.empty=false] Show the empty state instead of content — the fetch
@@ -18,7 +18,8 @@
18
18
  * error-free and non-empty.
19
19
  * @param {() => void} [props.onRetry] Shown as a Retry button on the error state when set.
20
20
  * @param {import('react').ReactNode} [props.skeleton] Loading placeholder shaped like the
21
- * content. Falls back to a centered `AppSpinner` when omitted.
21
+ * content. Falls back to the thin indeterminate progress line at the top of the block when
22
+ * omitted.
22
23
  * @param {string} [props.className] Extra classes on the wrapper.
23
24
  */
24
25
  export default function AppAsyncBlock({ loading, error, empty, children, onRetry, skeleton, className, ...rest }: {
package/dist/ui-react.js CHANGED
@@ -1 +1 @@
1
- import e from"./components/AppTooltip.js";import t,{iconNames as n,registerIcons as r}from"./components/AppIcon.js";import i from"./components/AppAccordion.js";import a from"./components/AppActionIcon.js";import o from"./components/AppAlert.js";import s from"./components/AppButton.js";import c from"./components/AppEmptyState.js";import l from"./components/AppSpinner.js";import u from"./components/AppAsyncBlock.js";import d from"./components/AppPopover.js";import f from"./components/AppInfoTip.js";import p from"./components/AppRequiredMark.js";import m from"./components/AppAutocomplete.js";import h from"./components/AppAvatar.js";import g from"./components/AppAvatarGroup.js";import _ from"./components/AppModal.js";import v from"./components/AppAvatarPicker.js";import y from"./components/AppBadge.js";import b from"./components/AppBanner.js";import x from"./components/AppBreadcrumbs.js";import S from"./components/AppButtonGroup.js";import C from"./components/AppCalendar.js";import w from"./components/AppCard.js";import T from"./components/AppCarousel.js";import E from"./components/AppChart.js";import D from"./components/AppDropdown.js";import O from"./components/AppSegmented.js";import k from"./components/AppChartCard.js";import A from"./components/AppCheckbox.js";import j from"./components/AppChip.js";import M from"./components/AppChipGroup.js";import N from"./components/AppChoiceCard.js";import P from"./components/AppChoiceChip.js";import F from"./components/AppCodeBlock.js";import I from"./components/AppColorField.js";import L from"./components/AppColumnMenu.js";import R from"./components/AppCommandPalette.js";import z from"./components/AppCommentThread.js";import B from"./components/AppCompareTable.js";import V from"./components/AppInput.js";import{MODAL_ICONS as H}from"./components/ModalIcons.js";import U from"./components/AppConfirmDialog.js";import W from"./components/AppConsentBanner.js";import G from"./components/AppContextMenu.js";import K from"./components/AppCopyButton.js";import q from"./components/AppCountrySelect.js";import J from"./components/AppDashboardCell.js";import Y from"./components/AppDashboardGrid.js";import X,{AppSkeletonRows as Z}from"./components/AppSkeleton.js";import Q from"./components/AppSelectMini.js";import $ from"./components/AppTablePagination.js";import ee from"./components/AppDataTable.js";import te from"./components/AppDatePicker.js";import ne from"./components/AppDateRangePicker.js";import re from"./components/AppDescriptions.js";import ie from"./components/AppDrawer.js";import ae from"./components/AppDropZone.js";import oe from"./components/AppDueDate.js";import se from"./components/AppErrorSummary.js";import ce from"./components/AppProgress.js";import le from"./components/AppFileAttachment.js";import ue from"./components/AppFilePicker.js";import de from"./components/AppFileViewer.js";import{buildListQuery as fe,parseListQuery as pe}from"./lib/listQuery.js";import me from"./components/AppMultiSelect.js";import he from"./components/AppSearch.js";import ge from"./components/AppSelect.js";import _e from"./components/AppSwitch.js";import ve from"./components/AppFilterBar.js";import ye from"./components/AppFloatingDock.js";import be from"./components/AppFormActions.js";import xe from"./components/AppFormRow.js";import Se from"./components/AppFormSection.js";import Ce from"./components/AppHoverCard.js";import we from"./components/AppInfoList.js";import Te from"./components/AppInlineEdit.js";import Ee from"./components/AppInputGroup.js";import{dismissAll as De,errorToast as Oe,toast as ke}from"./components/toast.js";import Ae from"./components/AppKanban.js";import je from"./components/AppKbd.js";import Me from"./components/AppSparkline.js";import Ne from"./components/AppKpiTile.js";import Pe from"./components/AppLightbox.js";import Fe from"./components/AppLink.js";import Ie from"./components/AppLogoPicker.js";import Le from"./components/AppMentionInput.js";import Re from"./components/AppMenubar.js";import ze from"./components/AppMeter.js";import Be from"./components/AppMetricStrip.js";import Ve from"./components/AppNavigationMenu.js";import He from"./components/AppNotificationCenter.js";import Ue from"./components/AppNumberInput.js";import We from"./components/AppOnboardingChecklist.js";import Ge from"./components/AppOtpInput.js";import Ke from"./components/AppPageHeader.js";import qe from"./components/AppPagination.js";import Je from"./components/AppPhoneNumberInput.js";import Ye from"./components/AppPricingCard.js";import Xe from"./components/AppQrCode.js";import Ze from"./components/AppRadio.js";import Qe from"./components/AppRadioGroup.js";import $e from"./components/AppRating.js";import et from"./components/AppRecordPager.js";import tt from"./components/AppRelativeTime.js";import nt from"./components/AppRepeater.js";import rt from"./components/AppResizable.js";import it from"./components/AppResizableHandle.js";import at from"./components/AppResizablePanel.js";import ot from"./components/AppResourceCard.js";import st from"./components/AppResult.js";import ct from"./components/AppRichText.js";import lt from"./components/AppRollingNumber.js";import ut from"./components/AppRouteError.js";import dt from"./components/AppScoreScale.js";import ft from"./components/AppScrollbar.js";import pt from"./components/AppSectionCallToAction.js";import mt from"./components/AppSectionFaq.js";import ht from"./components/AppSectionFeatures.js";import gt from"./components/AppSectionHero.js";import _t from"./components/AppSectionLogos.js";import vt from"./components/AppSectionPricing.js";import yt from"./components/AppSectionTestimonials.js";import bt from"./components/AppShell.js";import xt from"./components/AppShortcutLegend.js";import St from"./components/AppShowMore.js";import Ct from"./components/AppSidebarMenu.js";import wt from"./components/AppSlider.js";import Tt from"./components/AppSortableList.js";import Et from"./components/AppSplash.js";import Dt from"./components/AppSplitButton.js";import Ot from"./components/AppSplitView.js";import kt from"./components/AppStatusBadge.js";import At from"./components/AppStepper.js";import jt from"./components/AppTableEmptyState.js";import Mt from"./components/AppTableToolbar.js";import Nt from"./components/AppTabs.js";import Pt from"./components/AppTagInput.js";import Ft from"./components/AppTextarea.js";import It from"./components/AppThemeToggle.js";import Lt from"./components/AppTimeline.js";import Rt from"./components/AppTimePicker.js";import zt from"./components/AppToast.js";import Bt from"./components/AppToolbar.js";import Vt from"./components/AppTour.js";import Ht from"./components/AppTreeView.js";import Ut from"./components/AppTruncate.js";import Wt from"./components/AppUpdateBar.js";import Gt from"./components/AppWhatsNew.js";import Kt from"./components/AppWizard.js";import qt from"./components/AppWorkspaceSwitcher.js";import{useCommandPaletteShortcut as Jt}from"./lib/useCommandPaletteShortcut.js";import{useFloatingStack as Yt}from"./lib/useFloatingStack.js";import{useListQuery as Xt}from"./lib/useListQuery.js";import{useListShortcuts as Zt}from"./lib/useListShortcuts.js";import{usePagination as Qt}from"./lib/usePagination.js";import{useTableView as $t}from"./lib/useTableView.js";import{createLocalSeenStore as en}from"@webority/ui-elements/elements/tour";import{postedMasked as tn,themeBootScript as nn}from"@webority/ui-elements/helpers";export{i as AppAccordion,a as AppActionIcon,o as AppAlert,u as AppAsyncBlock,m as AppAutocomplete,h as AppAvatar,g as AppAvatarGroup,v as AppAvatarPicker,y as AppBadge,b as AppBanner,x as AppBreadcrumbs,s as AppButton,S as AppButtonGroup,C as AppCalendar,w as AppCard,T as AppCarousel,E as AppChart,k as AppChartCard,A as AppCheckbox,j as AppChip,M as AppChipGroup,N as AppChoiceCard,P as AppChoiceChip,F as AppCodeBlock,I as AppColorField,L as AppColumnMenu,R as AppCommandPalette,z as AppCommentThread,B as AppCompareTable,U as AppConfirmDialog,W as AppConsentBanner,G as AppContextMenu,K as AppCopyButton,q as AppCountrySelect,J as AppDashboardCell,Y as AppDashboardGrid,ee as AppDataTable,te as AppDatePicker,ne as AppDateRangePicker,re as AppDescriptions,ie as AppDrawer,ae as AppDropZone,D as AppDropdown,oe as AppDueDate,c as AppEmptyState,se as AppErrorSummary,le as AppFileAttachment,ue as AppFilePicker,de as AppFileViewer,ve as AppFilterBar,ye as AppFloatingDock,be as AppFormActions,xe as AppFormRow,Se as AppFormSection,Ce as AppHoverCard,t as AppIcon,we as AppInfoList,f as AppInfoTip,Te as AppInlineEdit,V as AppInput,Ee as AppInputGroup,Ae as AppKanban,je as AppKbd,Ne as AppKpiTile,Pe as AppLightbox,Fe as AppLink,Ie as AppLogoPicker,Le as AppMentionInput,Re as AppMenubar,ze as AppMeter,Be as AppMetricStrip,_ as AppModal,me as AppMultiSelect,Ve as AppNavigationMenu,He as AppNotificationCenter,Ue as AppNumberInput,We as AppOnboardingChecklist,Ge as AppOtpInput,Ke as AppPageHeader,qe as AppPagination,Je as AppPhoneNumberInput,d as AppPopover,Ye as AppPricingCard,ce as AppProgress,Xe as AppQrCode,Ze as AppRadio,Qe as AppRadioGroup,$e as AppRating,et as AppRecordPager,tt as AppRelativeTime,nt as AppRepeater,p as AppRequiredMark,rt as AppResizable,it as AppResizableHandle,at as AppResizablePanel,ot as AppResourceCard,st as AppResult,ct as AppRichText,lt as AppRollingNumber,ut as AppRouteError,dt as AppScoreScale,ft as AppScrollbar,he as AppSearch,pt as AppSectionCallToAction,mt as AppSectionFaq,ht as AppSectionFeatures,gt as AppSectionHero,_t as AppSectionLogos,vt as AppSectionPricing,yt as AppSectionTestimonials,O as AppSegmented,ge as AppSelect,Q as AppSelectMini,bt as AppShell,xt as AppShortcutLegend,St as AppShowMore,Ct as AppSidebarMenu,X as AppSkeleton,Z as AppSkeletonRows,wt as AppSlider,Tt as AppSortableList,Me as AppSparkline,l as AppSpinner,Et as AppSplash,Dt as AppSplitButton,Ot as AppSplitView,kt as AppStatusBadge,At as AppStepper,_e as AppSwitch,jt as AppTableEmptyState,$ as AppTablePagination,Mt as AppTableToolbar,Nt as AppTabs,Pt as AppTagInput,Ft as AppTextarea,It as AppThemeToggle,Rt as AppTimePicker,Lt as AppTimeline,zt as AppToast,Bt as AppToolbar,e as AppTooltip,Vt as AppTour,Ht as AppTreeView,Ut as AppTruncate,Wt as AppUpdateBar,Gt as AppWhatsNew,Kt as AppWizard,qt as AppWorkspaceSwitcher,H as MODAL_ICONS,fe as buildListQuery,en as createLocalSeenStore,De as dismissAll,Oe as errorToast,n as iconNames,pe as parseListQuery,tn as postedMasked,r as registerIcons,nn as themeBootScript,ke as toast,Jt as useCommandPaletteShortcut,Yt as useFloatingStack,Xt as useListQuery,Zt as useListShortcuts,Qt as usePagination,$t as useTableView};
1
+ import e from"./components/AppTooltip.js";import t,{iconNames as n,registerIcons as r}from"./components/AppIcon.js";import i from"./components/AppAccordion.js";import a from"./components/AppActionIcon.js";import o from"./components/AppAlert.js";import s from"./components/AppButton.js";import c from"./components/AppEmptyState.js";import l from"./components/AppProgress.js";import u from"./components/AppAsyncBlock.js";import d from"./components/AppPopover.js";import f from"./components/AppInfoTip.js";import p from"./components/AppRequiredMark.js";import m from"./components/AppAutocomplete.js";import h from"./components/AppAvatar.js";import g from"./components/AppAvatarGroup.js";import _ from"./components/AppModal.js";import v from"./components/AppAvatarPicker.js";import y from"./components/AppBadge.js";import b from"./components/AppBanner.js";import x from"./components/AppBreadcrumbs.js";import S from"./components/AppButtonGroup.js";import C from"./components/AppCalendar.js";import w from"./components/AppCard.js";import T from"./components/AppCarousel.js";import E from"./components/AppChart.js";import D from"./components/AppDropdown.js";import O from"./components/AppSegmented.js";import k from"./components/AppChartCard.js";import A from"./components/AppCheckbox.js";import j from"./components/AppChip.js";import M from"./components/AppChipGroup.js";import N from"./components/AppChoiceCard.js";import P from"./components/AppChoiceChip.js";import F from"./components/AppCodeBlock.js";import I from"./components/AppColorField.js";import L from"./components/AppColumnMenu.js";import R from"./components/AppSpinner.js";import z from"./components/AppCommandPalette.js";import B from"./components/AppCommentThread.js";import V from"./components/AppCompareTable.js";import H from"./components/AppInput.js";import{MODAL_ICONS as U}from"./components/ModalIcons.js";import W from"./components/AppConfirmDialog.js";import G from"./components/AppConsentBanner.js";import K from"./components/AppContextMenu.js";import q from"./components/AppCopyButton.js";import J from"./components/AppCountrySelect.js";import Y from"./components/AppDashboardCell.js";import X from"./components/AppDashboardGrid.js";import Z,{AppSkeletonRows as Q}from"./components/AppSkeleton.js";import $ from"./components/AppSelectMini.js";import ee from"./components/AppTablePagination.js";import te from"./components/AppDataTable.js";import ne from"./components/AppDatePicker.js";import re from"./components/AppDateRangePicker.js";import ie from"./components/AppDescriptions.js";import ae from"./components/AppDrawer.js";import oe from"./components/AppDropZone.js";import se from"./components/AppDueDate.js";import ce from"./components/AppErrorSummary.js";import le from"./components/AppFileAttachment.js";import ue from"./components/AppFilePicker.js";import de from"./components/AppFileViewer.js";import{buildListQuery as fe,parseListQuery as pe}from"./lib/listQuery.js";import me from"./components/AppMultiSelect.js";import he from"./components/AppSearch.js";import ge from"./components/AppSelect.js";import _e from"./components/AppSwitch.js";import ve from"./components/AppFilterBar.js";import ye from"./components/AppFloatingDock.js";import be from"./components/AppFormActions.js";import xe from"./components/AppFormRow.js";import Se from"./components/AppFormSection.js";import Ce from"./components/AppHoverCard.js";import we from"./components/AppInfoList.js";import Te from"./components/AppInlineEdit.js";import Ee from"./components/AppInputGroup.js";import{dismissAll as De,errorToast as Oe,toast as ke}from"./components/toast.js";import Ae from"./components/AppKanban.js";import je from"./components/AppKbd.js";import Me from"./components/AppSparkline.js";import Ne from"./components/AppKpiTile.js";import Pe from"./components/AppLightbox.js";import Fe from"./components/AppLink.js";import Ie from"./components/AppLogoPicker.js";import Le from"./components/AppMentionInput.js";import Re from"./components/AppMenubar.js";import ze from"./components/AppMeter.js";import Be from"./components/AppMetricStrip.js";import Ve from"./components/AppNavigationMenu.js";import He from"./components/AppNotificationCenter.js";import Ue from"./components/AppNumberInput.js";import We from"./components/AppOnboardingChecklist.js";import Ge from"./components/AppOtpInput.js";import Ke from"./components/AppPageHeader.js";import qe from"./components/AppPagination.js";import Je from"./components/AppPhoneNumberInput.js";import Ye from"./components/AppPricingCard.js";import Xe from"./components/AppQrCode.js";import Ze from"./components/AppRadio.js";import Qe from"./components/AppRadioGroup.js";import $e from"./components/AppRating.js";import et from"./components/AppRecordPager.js";import tt from"./components/AppRelativeTime.js";import nt from"./components/AppRepeater.js";import rt from"./components/AppResizable.js";import it from"./components/AppResizableHandle.js";import at from"./components/AppResizablePanel.js";import ot from"./components/AppResourceCard.js";import st from"./components/AppResult.js";import ct from"./components/AppRichText.js";import lt from"./components/AppRollingNumber.js";import ut from"./components/AppRouteError.js";import dt from"./components/AppScoreScale.js";import ft from"./components/AppScrollbar.js";import pt from"./components/AppSectionCallToAction.js";import mt from"./components/AppSectionFaq.js";import ht from"./components/AppSectionFeatures.js";import gt from"./components/AppSectionHero.js";import _t from"./components/AppSectionLogos.js";import vt from"./components/AppSectionPricing.js";import yt from"./components/AppSectionTestimonials.js";import bt from"./components/AppShell.js";import xt from"./components/AppShortcutLegend.js";import St from"./components/AppShowMore.js";import Ct from"./components/AppSidebarMenu.js";import wt from"./components/AppSlider.js";import Tt from"./components/AppSortableList.js";import Et from"./components/AppSplash.js";import Dt from"./components/AppSplitButton.js";import Ot from"./components/AppSplitView.js";import kt from"./components/AppStatusBadge.js";import At from"./components/AppStepper.js";import jt from"./components/AppTableEmptyState.js";import Mt from"./components/AppTableToolbar.js";import Nt from"./components/AppTabs.js";import Pt from"./components/AppTagInput.js";import Ft from"./components/AppTextarea.js";import It from"./components/AppThemeToggle.js";import Lt from"./components/AppTimeline.js";import Rt from"./components/AppTimePicker.js";import zt from"./components/AppToast.js";import Bt from"./components/AppToolbar.js";import Vt from"./components/AppTour.js";import Ht from"./components/AppTreeView.js";import Ut from"./components/AppTruncate.js";import Wt from"./components/AppUpdateBar.js";import Gt from"./components/AppWhatsNew.js";import Kt from"./components/AppWizard.js";import qt from"./components/AppWorkspaceSwitcher.js";import{useCommandPaletteShortcut as Jt}from"./lib/useCommandPaletteShortcut.js";import{useFloatingStack as Yt}from"./lib/useFloatingStack.js";import{useListQuery as Xt}from"./lib/useListQuery.js";import{useListShortcuts as Zt}from"./lib/useListShortcuts.js";import{usePagination as Qt}from"./lib/usePagination.js";import{useTableView as $t}from"./lib/useTableView.js";import{createLocalSeenStore as en}from"@webority/ui-elements/elements/tour";import{postedMasked as tn,themeBootScript as nn}from"@webority/ui-elements/helpers";export{i as AppAccordion,a as AppActionIcon,o as AppAlert,u as AppAsyncBlock,m as AppAutocomplete,h as AppAvatar,g as AppAvatarGroup,v as AppAvatarPicker,y as AppBadge,b as AppBanner,x as AppBreadcrumbs,s as AppButton,S as AppButtonGroup,C as AppCalendar,w as AppCard,T as AppCarousel,E as AppChart,k as AppChartCard,A as AppCheckbox,j as AppChip,M as AppChipGroup,N as AppChoiceCard,P as AppChoiceChip,F as AppCodeBlock,I as AppColorField,L as AppColumnMenu,z as AppCommandPalette,B as AppCommentThread,V as AppCompareTable,W as AppConfirmDialog,G as AppConsentBanner,K as AppContextMenu,q as AppCopyButton,J as AppCountrySelect,Y as AppDashboardCell,X as AppDashboardGrid,te as AppDataTable,ne as AppDatePicker,re as AppDateRangePicker,ie as AppDescriptions,ae as AppDrawer,oe as AppDropZone,D as AppDropdown,se as AppDueDate,c as AppEmptyState,ce as AppErrorSummary,le as AppFileAttachment,ue as AppFilePicker,de as AppFileViewer,ve as AppFilterBar,ye as AppFloatingDock,be as AppFormActions,xe as AppFormRow,Se as AppFormSection,Ce as AppHoverCard,t as AppIcon,we as AppInfoList,f as AppInfoTip,Te as AppInlineEdit,H as AppInput,Ee as AppInputGroup,Ae as AppKanban,je as AppKbd,Ne as AppKpiTile,Pe as AppLightbox,Fe as AppLink,Ie as AppLogoPicker,Le as AppMentionInput,Re as AppMenubar,ze as AppMeter,Be as AppMetricStrip,_ as AppModal,me as AppMultiSelect,Ve as AppNavigationMenu,He as AppNotificationCenter,Ue as AppNumberInput,We as AppOnboardingChecklist,Ge as AppOtpInput,Ke as AppPageHeader,qe as AppPagination,Je as AppPhoneNumberInput,d as AppPopover,Ye as AppPricingCard,l as AppProgress,Xe as AppQrCode,Ze as AppRadio,Qe as AppRadioGroup,$e as AppRating,et as AppRecordPager,tt as AppRelativeTime,nt as AppRepeater,p as AppRequiredMark,rt as AppResizable,it as AppResizableHandle,at as AppResizablePanel,ot as AppResourceCard,st as AppResult,ct as AppRichText,lt as AppRollingNumber,ut as AppRouteError,dt as AppScoreScale,ft as AppScrollbar,he as AppSearch,pt as AppSectionCallToAction,mt as AppSectionFaq,ht as AppSectionFeatures,gt as AppSectionHero,_t as AppSectionLogos,vt as AppSectionPricing,yt as AppSectionTestimonials,O as AppSegmented,ge as AppSelect,$ as AppSelectMini,bt as AppShell,xt as AppShortcutLegend,St as AppShowMore,Ct as AppSidebarMenu,Z as AppSkeleton,Q as AppSkeletonRows,wt as AppSlider,Tt as AppSortableList,Me as AppSparkline,R as AppSpinner,Et as AppSplash,Dt as AppSplitButton,Ot as AppSplitView,kt as AppStatusBadge,At as AppStepper,_e as AppSwitch,jt as AppTableEmptyState,ee as AppTablePagination,Mt as AppTableToolbar,Nt as AppTabs,Pt as AppTagInput,Ft as AppTextarea,It as AppThemeToggle,Rt as AppTimePicker,Lt as AppTimeline,zt as AppToast,Bt as AppToolbar,e as AppTooltip,Vt as AppTour,Ht as AppTreeView,Ut as AppTruncate,Wt as AppUpdateBar,Gt as AppWhatsNew,Kt as AppWizard,qt as AppWorkspaceSwitcher,U as MODAL_ICONS,fe as buildListQuery,en as createLocalSeenStore,De as dismissAll,Oe as errorToast,n as iconNames,pe as parseListQuery,tn as postedMasked,r as registerIcons,nn as themeBootScript,ke as toast,Jt as useCommandPaletteShortcut,Yt as useFloatingStack,Xt as useListQuery,Zt as useListShortcuts,Qt as usePagination,$t as useTableView};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webority/ui-react",
3
- "version": "0.83.3",
3
+ "version": "0.83.4",
4
4
  "description": "Webority shared React component library — App* primitives on react-bootstrap + the @webority/theme design system.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",
@@ -27,8 +27,8 @@
27
27
  },
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
- "@webority/theme": "0.83.3",
31
- "@webority/ui-elements": "0.83.3"
30
+ "@webority/theme": "0.83.4",
31
+ "@webority/ui-elements": "0.83.4"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@webority/analytics": "^0.25.0",
@@ -45,7 +45,7 @@
45
45
  "@types/react": "^19.2.17",
46
46
  "@vitejs/plugin-react": "^6.0.1",
47
47
  "@vitest/coverage-v8": "5.0.1",
48
- "@webority/analytics": "0.25.0",
48
+ "@webority/analytics": "0.25.1",
49
49
  "bootstrap": "5.3.3",
50
50
  "jsdom": "30.1.1",
51
51
  "react": "^19.2.6",