@wallarm-org/claude-design 4.8.0 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +6 -5
  2. package/dist/SETUP.md +35 -8
  3. package/dist/UPDATE.md +11 -9
  4. package/dist/project/README.md +49 -19
  5. package/dist/project/app-skeleton.dc.html +268 -0
  6. package/dist/project/components/AgentAvatar/README.md +5 -5
  7. package/dist/project/components/AgentGlyph/README.md +3 -3
  8. package/dist/project/components/AppShell/README.md +1 -1
  9. package/dist/project/components/AreaChart/README.md +3 -7
  10. package/dist/project/components/AreaChart/stories.js +1 -1
  11. package/dist/project/components/Attribute/README.md +1 -1
  12. package/dist/project/components/Avatar/README.md +1 -1
  13. package/dist/project/components/Badge/README.md +5 -31
  14. package/dist/project/components/BarList/README.md +0 -4
  15. package/dist/project/components/BarList/stories.js +1 -1
  16. package/dist/project/components/Calendar/README.md +6 -6
  17. package/dist/project/components/Chart/README.md +0 -4
  18. package/dist/project/components/Chart/stories.js +1 -1
  19. package/dist/project/components/Checkbox/README.md +3 -3
  20. package/dist/project/components/CodeEditor/README.md +8 -8
  21. package/dist/project/components/CodeEditor/stories.js +4 -4
  22. package/dist/project/components/CodeEditor/stories.md +0 -4
  23. package/dist/project/components/CodeSnippet/README.md +0 -8
  24. package/dist/project/components/CodeSnippet/stories.js +2 -2
  25. package/dist/project/components/ColumnChart/README.md +1 -5
  26. package/dist/project/components/ColumnChart/stories.js +1 -1
  27. package/dist/project/components/DateInput/README.md +6 -6
  28. package/dist/project/components/DateRangeInput/README.md +1 -1
  29. package/dist/project/components/Dialog/README.md +1 -1
  30. package/dist/project/components/Drawer/README.md +1 -1
  31. package/dist/project/components/DropdownMenu/README.md +4 -4
  32. package/dist/project/components/FeedbackPulse/README.md +1 -1
  33. package/dist/project/components/FileUpload/README.md +1 -1
  34. package/dist/project/components/FilterCascade/README.md +2 -2
  35. package/dist/project/components/FilterDropdown/README.md +7 -7
  36. package/dist/project/components/FilterInput/README.md +4 -4
  37. package/dist/project/components/HorizontalBarStack/README.md +1 -5
  38. package/dist/project/components/HorizontalBarStack/stories.js +1 -1
  39. package/dist/project/components/HttpMethod/README.md +1 -1
  40. package/dist/project/components/ImageCropper/README.md +1 -1
  41. package/dist/project/components/InlineEdit/README.md +3 -3
  42. package/dist/project/components/LineChart/README.md +2 -41
  43. package/dist/project/components/LineChart/stories.js +1 -1
  44. package/dist/project/components/List/README.md +1 -1
  45. package/dist/project/components/List/stories.js +1 -1
  46. package/dist/project/components/Logo/README.md +2 -2
  47. package/dist/project/components/Metric/README.md +0 -9
  48. package/dist/project/components/Metric/stories.js +1 -1
  49. package/dist/project/components/NotificationCenter/README.md +1 -1
  50. package/dist/project/components/NumberInput/README.md +3 -3
  51. package/dist/project/components/OverflowList/README.md +1 -1
  52. package/dist/project/components/OverflowTooltip/README.md +1 -1
  53. package/dist/project/components/Overview/README.md +0 -4
  54. package/dist/project/components/Overview/stories.js +1 -1
  55. package/dist/project/components/Pagination/README.md +3 -3
  56. package/dist/project/components/ParameterPath/README.md +2 -2
  57. package/dist/project/components/PasswordComplexity/README.md +1 -1
  58. package/dist/project/components/PieChart/README.md +1 -5
  59. package/dist/project/components/PieChart/stories.js +1 -1
  60. package/dist/project/components/Popover/README.md +2 -2
  61. package/dist/project/components/Progress/README.md +1 -1
  62. package/dist/project/components/RemoteShell/README.md +1 -1
  63. package/dist/project/components/ScrollArea/README.md +1 -1
  64. package/dist/project/components/Select/README.md +8 -8
  65. package/dist/project/components/Slider/README.md +1 -1
  66. package/dist/project/components/SplashScreen/README.md +2 -2
  67. package/dist/project/components/Stepper/README.md +3 -3
  68. package/dist/project/components/Switch/README.md +2 -2
  69. package/dist/project/components/Table/README.md +15 -15
  70. package/dist/project/components/Tabs/README.md +1 -1
  71. package/dist/project/components/TimeInput/README.md +6 -6
  72. package/dist/project/components/Toast/README.md +1 -1
  73. package/dist/project/components/Tooltip/README.md +2 -2
  74. package/dist/project/components/UTILITIES.md +3 -3
  75. package/dist/project/components/WallyAssistant/README.md +12 -12
  76. package/dist/project/components/WallyIcon/README.md +1 -1
  77. package/dist/project/components/bundle.css +15 -6
  78. package/dist/project/components/bundle.js +4 -4
  79. package/dist/project/components/index.d.ts +2 -2
  80. package/dist/project/design-system.json +4 -4
  81. package/dist/project/sampler.dc.html +5 -7
  82. package/dist/project/tokens.json +2 -2
  83. package/dist/wallarm-app.dc.html +269 -0
  84. package/dist/wallarm-sampler.dc.html +5 -7
  85. package/package.json +4 -4
@@ -140,7 +140,7 @@ export const WithIcons: StoryFn<typeof meta> = () => (
140
140
  Pending review
141
141
  </ListItem>
142
142
  <ListItem>
143
- <ListIcon className='text-text-error'>&#10007;</ListIcon>
143
+ <ListIcon className='text-text-danger'>&#10007;</ListIcon>
144
144
  Failed check
145
145
  </ListItem>
146
146
  </List>
@@ -9,4 +9,4 @@ var e={vD(e,t,r){let n,a;/**
9
9
  * @nolint
10
10
  * @preventMunge
11
11
  * @preserve-invariant-messages
12
- */var l,o,i=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty,d=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of u(t))p.call(e,a)||a===r||c(e,a,{get:()=>t[a],enumerable:!(n=s(t,a))||n.enumerable});return e},m={},h={$dispatcherGuard:()=>k,$makeReadOnly:()=>M,$reset:()=>O,$structuralCheck:()=>T,c:()=>E,clearRenderCounterRegistry:()=>x,renderCounterRegistry:()=>I,useRenderCounter:()=>D};for(var y in h)c(m,y,{get:h[y],enumerable:!0});e.exports=d(c({},"__esModule",{value:!0}),m);var _=(a=null!=(n=r("C"))?i(f(n)):{},d(n&&n.__esModule?a:c(a,"default",{value:n,enumerable:!0}),n)),{useRef:b,useEffect:g,isValidElement:w}=_,R=null!=(l=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?l:_.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,v=Symbol.for("react.memo_cache_sentinel"),E="function"==typeof(null==(o=_.__COMPILER_RUNTIME)?void 0:o.c)?_.__COMPILER_RUNTIME.c:function(e){return _.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=v;return t[v]=!0,t},[])},S={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{S[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var $=null;function N(e){return R.ReactCurrentDispatcher.current=e,R.ReactCurrentDispatcher.current}S.useMemoCache=e=>{if(null!=$)return $.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var C=[];function k(e){let t=R.ReactCurrentDispatcher.current;if(0===e){if(C.push(t),1===C.length&&($=t),t===S)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");N(S)}else if(1===e){let e=C.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===C.length&&($=null),N(e)}else if(2===e)C.push(t),N($);else if(3===e){let e=C.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");N(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function O(e){for(let t=0;t<e.length;t++)e[t]=v}function M(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var I=new Map;function x(){for(let e of I.values())e.forEach(e=>{e.count=0})}function D(e){let t=b(null);null!=t.current&&(t.current.count+=1),g(()=>{if(null==t.current){let r,n={count:0};null==(r=I.get(e))&&(r=new Set,I.set(e,r)),r.add(n),t.current=n}return()=>{var r;let n;null!==t.current&&(r=t.current,null!=(n=I.get(e))&&n.delete(r))}})}var j=new Set;function T(e,t,r,n,a,l){function o(e,t,o,i){let c=`${n}:${l} [${a}] ${r}${o} changed from ${e} to ${t} at depth ${i}`;j.has(c)||(j.add(c),console.error(c))}!function e(t,r,n,a){if(!(a>2)){if(t!==r)if(typeof t!=typeof r)o(`type ${typeof t}`,`type ${typeof r}`,n,a);else if("object"==typeof t){let l=Array.isArray(t),i=Array.isArray(r);if(null===t&&null!==r)o("null",`type ${typeof r}`,n,a);else if(null===r)o(`type ${typeof t}`,"null",n,a);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)o(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,n,a);else for(let[l,i]of t)r.has(l)?e(i,r.get(l),`${n}.get(${l})`,a+1):o(`Map instance with key ${l}`,`Map instance without key ${l}`,n,a);else o("Map instance","other value",n,a);else if(r instanceof Map)o("other value","Map instance",n,a);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)o(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,n,a);else for(let e of r)t.has(e)||o(`Set instance without element ${e}`,`Set instance with element ${e}`,n,a);else o("Set instance","other value",n,a);else if(r instanceof Set)o("other value","Set instance",n,a);else if(l||i)if(l!==i)o(`type ${l?"array":"object"}`,`type ${i?"array":"object"}`,n,a);else if(t.length!==r.length)o(`array with length ${t.length}`,`array with length ${r.length}`,n,a);else for(let l=0;l<t.length;l++)e(t[l],r[l],`${n}[${l}]`,a+1);else if(w(t)||w(r))w(t)!==w(r)?o(`type ${w(t)?"React element":"object"}`,`type ${w(r)?"React element":"object"}`,n,a):t.type!==r.type?o(`React element of type ${t.type}`,`React element of type ${r.type}`,n,a):e(t.props,r.props,`[props of ${n}]`,a+1);else{for(let e in r)e in t||o(`object without key ${e}`,`object with key ${e}`,n,a);for(let l in t)l in r?e(t[l],r[l],`${n}.${l}`,a+1):o(`object with key ${l}`,`object without key ${l}`,n,a)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&o(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,n,a):t!==r&&o(t,r,n,a)}}}(e,t,"",0)}},p(e,t,r){let n=new WeakMap,a=new WeakMap;function l(e,t,r){let l=t,o=r;if("object"==typeof l&&null!==l&&"$$typeof"in l&&l.$$typeof===Symbol.for("react.context")&&"Provider"in l&&(l=l.Provider),"function"==typeof l&&null!=o.ref&&!l.prototype?.isReactComponent){let t=l,r=n.get(e);r||(r=new WeakMap,n.set(e,r));let a=r.get(t);a||((a=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,a)),l=a}if("string"==typeof l&&"boolean"==typeof o.inert&&((o={...o}).inert?o.inert="":delete o.inert),"string"==typeof l)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in o&&(o={...o,[t]:o[e]},delete o[e]);return"string"==typeof l&&null!=o.ref&&(l=function(e,t){let r=a.get(e);r||(r=new Map,a.set(e,r));let n=r.get(t);if(n)return n;let l=e.forwardRef((r,n)=>{let a=e.useRef(null);if(!a.current||a.current.original!==n){let e;a.current={original:n,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof n){let r=n(t);e="function"==typeof r?r:void 0}else n&&(n.current=t)}}}return e.createElement(t,{...r,ref:a.current.callback})});return l.displayName=`CanvasHost(${t})`,r.set(t,l),l}(e,l)),{type:l,props:o}}function o(e){let t=(t,r,n)=>{let a=l(e,t,r??{});return e.createElement(a.type,void 0===n?a.props:{...a.props,key:n})};return{jsx:t,jsxs:(t,r,n)=>{let a=l(e,t,r??{}),{children:o,...i}=a.props;return e.createElement(a.type,void 0===n?i:{...i,key:n},...Array.isArray(o)?o:[o])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,r,...n)=>{let a=l(e,t,r??{});return e.createElement(a.type,a.props,...n)},cloneElement:(t,r,...n)=>{let a=e.cloneElement(t,r??void 0,...n),o=a.ref,i=l(e,a.type,{...a.props,ref:o});return i.type===a.type&&"string"!=typeof a.type?a:e.createElement(i.type,{...i.props,key:a.key})}}}r.d(t,{MA:()=>o,YJ:()=>i})},C(e,t,r){r.r(t);let n=(0,r("p").YJ)(window.React),{Children:a,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:f,act:p,cloneElement:d,createContext:m,createElement:h,createFactory:y,createRef:_,forwardRef:b,isValidElement:g,lazy:w,memo:R,startTransition:v,unstable_act:E,useCallback:S,useContext:$,useDebugValue:N,useDeferredValue:C,useEffect:k,useId:O,useImperativeHandle:M,useInsertionEffect:I,useLayoutEffect:x,useMemo:D,useReducer:j,useRef:T,useState:A,useSyncExternalStore:P,useTransition:L,version:z,use:W}=n;r.d(t,{},{Children:a,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:f,act:p,cloneElement:d,createContext:m,createElement:h,createFactory:y,createRef:_,default:n,forwardRef:b,isValidElement:g,lazy:w,memo:R,startTransition:v,unstable_act:E,use:W,useCallback:S,useContext:$,useDebugValue:N,useDeferredValue:C,useEffect:k,useId:O,useImperativeHandle:M,useInsertionEffect:I,useLayoutEffect:x,useMemo:D,useReducer:j,useRef:T,useState:A,useSyncExternalStore:P,useTransition:L,version:z})}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,r),l.exports}r.d=(e,t,n)=>{var a=(t,n)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,[n]:t[a]})};a(t,"get"),a(n,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:n,Fragment:a}=(0,r("p").MA)(window.React);var l=r("vD");let o=window.WallarmDS.List,i=window.WallarmDS.ListIcon,c=window.WallarmDS.ListItem,s={title:"Data Display/List",component:o,subcomponents:{ListItem:c,ListIcon:i},parameters:{layout:"centered",docs:{description:{component:'A semantic `ul` or `ol` with its spacing and markers under control — reach for `ordered` only when the sequence matters, and for a `Table` as soon as each item carries fields of its own. Markers are off by default and `role="list"` is set either way, so a list without bullets is still a list to a screen reader.'}}}};var u=r("C");let f=[{name:"Basic",story:()=>{let r,n=(0,l.c)(1);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(o,{children:[e(c,{children:"First item"}),e(c,{children:"Second item"}),e(c,{children:"Third item"})]}),n[0]=r):r=n[0],r},meta:s},{name:"Ordered",story:()=>{let r,n=(0,l.c)(1);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(o,{variant:"ordered",marker:"decimal",children:[e(c,{children:"First step"}),e(c,{children:"Second step"}),e(c,{children:"Third step"})]}),n[0]=r):r=n[0],r},meta:s},{name:"WithDisc",story:()=>{let r,n=(0,l.c)(1);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(o,{marker:"disc",children:[e(c,{children:"Apples"}),e(c,{children:"Bananas"}),e(c,{children:"Cherries"})]}),n[0]=r):r=n[0],r},meta:s},{name:"WithIcons",story:()=>{let r,n,a,s=(0,l.c)(3);return s[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(c,{children:[e(i,{className:"text-text-success",children:"✓"}),"Completed task"]}),s[0]=r):r=s[0],s[1]===Symbol.for("react.memo_cache_sentinel")?(n=t(c,{children:[e(i,{className:"text-text-warning",children:"⚠"}),"Pending review"]}),s[1]=n):n=s[1],s[2]===Symbol.for("react.memo_cache_sentinel")?(a=t(o,{children:[r,n,t(c,{children:[e(i,{className:"text-text-error",children:"✗"}),"Failed check"]})]}),s[2]=a):a=s[2],a},meta:s},{name:"Spacing",story:()=>{let r,n,a,i,s,u,f=(0,l.c)(6);return f[0]===Symbol.for("react.memo_cache_sentinel")?(r=e("p",{className:"sb-annotation mb-8",children:"spacing=0"}),f[0]=r):r=f[0],f[1]===Symbol.for("react.memo_cache_sentinel")?(n=t("div",{children:[r,t(o,{spacing:0,children:[e(c,{children:"Item A"}),e(c,{children:"Item B"}),e(c,{children:"Item C"})]})]}),a=e("p",{className:"sb-annotation mb-8",children:"spacing=8"}),f[1]=n,f[2]=a):(n=f[1],a=f[2]),f[3]===Symbol.for("react.memo_cache_sentinel")?(i=t("div",{children:[a,t(o,{spacing:8,children:[e(c,{children:"Item A"}),e(c,{children:"Item B"}),e(c,{children:"Item C"})]})]}),s=e("p",{className:"sb-annotation mb-8",children:"spacing=16"}),f[3]=i,f[4]=s):(i=f[3],s=f[4]),f[5]===Symbol.for("react.memo_cache_sentinel")?(u=t("div",{className:"flex gap-48",children:[n,i,t("div",{children:[s,t(o,{spacing:16,children:[e(c,{children:"Item A"}),e(c,{children:"Item B"}),e(c,{children:"Item C"})]})]})]}),f[5]=u):u=f[5],u},meta:s}];function p({entry:e}){let{story:t,meta:r}=e,n={...r.args,...t.args},a="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,l=()=>u.default.createElement(a,n),o={args:n,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=l;l=()=>e(t,o)}return u.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},u.default.createElement("h2",{className:"text-sm mb-12"},e.name),u.default.createElement(l))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(u.default.createElement(window.WallarmDS.Root,null,f.map((e,t)=>u.default.createElement(p,{key:t,entry:e})))),t}}})();
12
+ */var l,o,i=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty,d=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of u(t))p.call(e,a)||a===r||c(e,a,{get:()=>t[a],enumerable:!(n=s(t,a))||n.enumerable});return e},m={},h={$dispatcherGuard:()=>k,$makeReadOnly:()=>M,$reset:()=>O,$structuralCheck:()=>T,c:()=>E,clearRenderCounterRegistry:()=>x,renderCounterRegistry:()=>I,useRenderCounter:()=>D};for(var y in h)c(m,y,{get:h[y],enumerable:!0});e.exports=d(c({},"__esModule",{value:!0}),m);var _=(a=null!=(n=r("C"))?i(f(n)):{},d(n&&n.__esModule?a:c(a,"default",{value:n,enumerable:!0}),n)),{useRef:b,useEffect:g,isValidElement:w}=_,R=null!=(l=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?l:_.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,v=Symbol.for("react.memo_cache_sentinel"),E="function"==typeof(null==(o=_.__COMPILER_RUNTIME)?void 0:o.c)?_.__COMPILER_RUNTIME.c:function(e){return _.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=v;return t[v]=!0,t},[])},S={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{S[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var $=null;function N(e){return R.ReactCurrentDispatcher.current=e,R.ReactCurrentDispatcher.current}S.useMemoCache=e=>{if(null!=$)return $.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var C=[];function k(e){let t=R.ReactCurrentDispatcher.current;if(0===e){if(C.push(t),1===C.length&&($=t),t===S)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");N(S)}else if(1===e){let e=C.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===C.length&&($=null),N(e)}else if(2===e)C.push(t),N($);else if(3===e){let e=C.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");N(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function O(e){for(let t=0;t<e.length;t++)e[t]=v}function M(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var I=new Map;function x(){for(let e of I.values())e.forEach(e=>{e.count=0})}function D(e){let t=b(null);null!=t.current&&(t.current.count+=1),g(()=>{if(null==t.current){let r,n={count:0};null==(r=I.get(e))&&(r=new Set,I.set(e,r)),r.add(n),t.current=n}return()=>{var r;let n;null!==t.current&&(r=t.current,null!=(n=I.get(e))&&n.delete(r))}})}var j=new Set;function T(e,t,r,n,a,l){function o(e,t,o,i){let c=`${n}:${l} [${a}] ${r}${o} changed from ${e} to ${t} at depth ${i}`;j.has(c)||(j.add(c),console.error(c))}!function e(t,r,n,a){if(!(a>2)){if(t!==r)if(typeof t!=typeof r)o(`type ${typeof t}`,`type ${typeof r}`,n,a);else if("object"==typeof t){let l=Array.isArray(t),i=Array.isArray(r);if(null===t&&null!==r)o("null",`type ${typeof r}`,n,a);else if(null===r)o(`type ${typeof t}`,"null",n,a);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)o(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,n,a);else for(let[l,i]of t)r.has(l)?e(i,r.get(l),`${n}.get(${l})`,a+1):o(`Map instance with key ${l}`,`Map instance without key ${l}`,n,a);else o("Map instance","other value",n,a);else if(r instanceof Map)o("other value","Map instance",n,a);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)o(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,n,a);else for(let e of r)t.has(e)||o(`Set instance without element ${e}`,`Set instance with element ${e}`,n,a);else o("Set instance","other value",n,a);else if(r instanceof Set)o("other value","Set instance",n,a);else if(l||i)if(l!==i)o(`type ${l?"array":"object"}`,`type ${i?"array":"object"}`,n,a);else if(t.length!==r.length)o(`array with length ${t.length}`,`array with length ${r.length}`,n,a);else for(let l=0;l<t.length;l++)e(t[l],r[l],`${n}[${l}]`,a+1);else if(w(t)||w(r))w(t)!==w(r)?o(`type ${w(t)?"React element":"object"}`,`type ${w(r)?"React element":"object"}`,n,a):t.type!==r.type?o(`React element of type ${t.type}`,`React element of type ${r.type}`,n,a):e(t.props,r.props,`[props of ${n}]`,a+1);else{for(let e in r)e in t||o(`object without key ${e}`,`object with key ${e}`,n,a);for(let l in t)l in r?e(t[l],r[l],`${n}.${l}`,a+1):o(`object with key ${l}`,`object without key ${l}`,n,a)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&o(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,n,a):t!==r&&o(t,r,n,a)}}}(e,t,"",0)}},p(e,t,r){let n=new WeakMap,a=new WeakMap;function l(e,t,r){let l=t,o=r;if("object"==typeof l&&null!==l&&"$$typeof"in l&&l.$$typeof===Symbol.for("react.context")&&"Provider"in l&&(l=l.Provider),"function"==typeof l&&null!=o.ref&&!l.prototype?.isReactComponent){let t=l,r=n.get(e);r||(r=new WeakMap,n.set(e,r));let a=r.get(t);a||((a=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,a)),l=a}if("string"==typeof l&&"boolean"==typeof o.inert&&((o={...o}).inert?o.inert="":delete o.inert),"string"==typeof l)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in o&&(o={...o,[t]:o[e]},delete o[e]);return"string"==typeof l&&null!=o.ref&&(l=function(e,t){let r=a.get(e);r||(r=new Map,a.set(e,r));let n=r.get(t);if(n)return n;let l=e.forwardRef((r,n)=>{let a=e.useRef(null);if(!a.current||a.current.original!==n){let e;a.current={original:n,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof n){let r=n(t);e="function"==typeof r?r:void 0}else n&&(n.current=t)}}}return e.createElement(t,{...r,ref:a.current.callback})});return l.displayName=`CanvasHost(${t})`,r.set(t,l),l}(e,l)),{type:l,props:o}}function o(e){let t=(t,r,n)=>{let a=l(e,t,r??{});return e.createElement(a.type,void 0===n?a.props:{...a.props,key:n})};return{jsx:t,jsxs:(t,r,n)=>{let a=l(e,t,r??{}),{children:o,...i}=a.props;return e.createElement(a.type,void 0===n?i:{...i,key:n},...Array.isArray(o)?o:[o])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,r,...n)=>{let a=l(e,t,r??{});return e.createElement(a.type,a.props,...n)},cloneElement:(t,r,...n)=>{let a=e.cloneElement(t,r??void 0,...n),o=a.ref,i=l(e,a.type,{...a.props,ref:o});return i.type===a.type&&"string"!=typeof a.type?a:e.createElement(i.type,{...i.props,key:a.key})}}}r.d(t,{MA:()=>o,YJ:()=>i})},C(e,t,r){r.r(t);let n=(0,r("p").YJ)(window.React),{Children:a,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:f,act:p,cloneElement:d,createContext:m,createElement:h,createFactory:y,createRef:_,forwardRef:b,isValidElement:g,lazy:w,memo:R,startTransition:v,unstable_act:E,useCallback:S,useContext:$,useDebugValue:N,useDeferredValue:C,useEffect:k,useId:O,useImperativeHandle:M,useInsertionEffect:I,useLayoutEffect:x,useMemo:D,useReducer:j,useRef:T,useState:A,useSyncExternalStore:P,useTransition:L,version:z,use:W}=n;r.d(t,{},{Children:a,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:f,act:p,cloneElement:d,createContext:m,createElement:h,createFactory:y,createRef:_,default:n,forwardRef:b,isValidElement:g,lazy:w,memo:R,startTransition:v,unstable_act:E,use:W,useCallback:S,useContext:$,useDebugValue:N,useDeferredValue:C,useEffect:k,useId:O,useImperativeHandle:M,useInsertionEffect:I,useLayoutEffect:x,useMemo:D,useReducer:j,useRef:T,useState:A,useSyncExternalStore:P,useTransition:L,version:z})}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,r),l.exports}r.d=(e,t,n)=>{var a=(t,n)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,[n]:t[a]})};a(t,"get"),a(n,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:n,Fragment:a}=(0,r("p").MA)(window.React);var l=r("vD");let o=window.WallarmDS.List,i=window.WallarmDS.ListIcon,c=window.WallarmDS.ListItem,s={title:"Data Display/List",component:o,subcomponents:{ListItem:c,ListIcon:i},parameters:{layout:"centered",docs:{description:{component:'A semantic `ul` or `ol` with its spacing and markers under control — reach for `ordered` only when the sequence matters, and for a `Table` as soon as each item carries fields of its own. Markers are off by default and `role="list"` is set either way, so a list without bullets is still a list to a screen reader.'}}}};var u=r("C");let f=[{name:"Basic",story:()=>{let r,n=(0,l.c)(1);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(o,{children:[e(c,{children:"First item"}),e(c,{children:"Second item"}),e(c,{children:"Third item"})]}),n[0]=r):r=n[0],r},meta:s},{name:"Ordered",story:()=>{let r,n=(0,l.c)(1);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(o,{variant:"ordered",marker:"decimal",children:[e(c,{children:"First step"}),e(c,{children:"Second step"}),e(c,{children:"Third step"})]}),n[0]=r):r=n[0],r},meta:s},{name:"WithDisc",story:()=>{let r,n=(0,l.c)(1);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(o,{marker:"disc",children:[e(c,{children:"Apples"}),e(c,{children:"Bananas"}),e(c,{children:"Cherries"})]}),n[0]=r):r=n[0],r},meta:s},{name:"WithIcons",story:()=>{let r,n,a,s=(0,l.c)(3);return s[0]===Symbol.for("react.memo_cache_sentinel")?(r=t(c,{children:[e(i,{className:"text-text-success",children:"✓"}),"Completed task"]}),s[0]=r):r=s[0],s[1]===Symbol.for("react.memo_cache_sentinel")?(n=t(c,{children:[e(i,{className:"text-text-warning",children:"⚠"}),"Pending review"]}),s[1]=n):n=s[1],s[2]===Symbol.for("react.memo_cache_sentinel")?(a=t(o,{children:[r,n,t(c,{children:[e(i,{className:"text-text-danger",children:"✗"}),"Failed check"]})]}),s[2]=a):a=s[2],a},meta:s},{name:"Spacing",story:()=>{let r,n,a,i,s,u,f=(0,l.c)(6);return f[0]===Symbol.for("react.memo_cache_sentinel")?(r=e("p",{className:"sb-annotation mb-8",children:"spacing=0"}),f[0]=r):r=f[0],f[1]===Symbol.for("react.memo_cache_sentinel")?(n=t("div",{children:[r,t(o,{spacing:0,children:[e(c,{children:"Item A"}),e(c,{children:"Item B"}),e(c,{children:"Item C"})]})]}),a=e("p",{className:"sb-annotation mb-8",children:"spacing=8"}),f[1]=n,f[2]=a):(n=f[1],a=f[2]),f[3]===Symbol.for("react.memo_cache_sentinel")?(i=t("div",{children:[a,t(o,{spacing:8,children:[e(c,{children:"Item A"}),e(c,{children:"Item B"}),e(c,{children:"Item C"})]})]}),s=e("p",{className:"sb-annotation mb-8",children:"spacing=16"}),f[3]=i,f[4]=s):(i=f[3],s=f[4]),f[5]===Symbol.for("react.memo_cache_sentinel")?(u=t("div",{className:"flex gap-48",children:[n,i,t("div",{children:[s,t(o,{spacing:16,children:[e(c,{children:"Item A"}),e(c,{children:"Item B"}),e(c,{children:"Item C"})]})]})]}),f[5]=u):u=f[5],u},meta:s}];function p({entry:e}){let{story:t,meta:r}=e,n={...r.args,...t.args},a="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,l=()=>u.default.createElement(a,n),o={args:n,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=l;l=()=>e(t,o)}return u.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},u.default.createElement("h2",{className:"text-sm mb-12"},e.name),u.default.createElement(l))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(u.default.createElement(window.WallarmDS.Root,null,f.map((e,t)=>u.default.createElement(p,{key:t,entry:e})))),t}}})();
@@ -6,8 +6,8 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
6
6
 
7
7
  | Attribute | Type | Required | Default | Description |
8
8
  | --- | --- | --- | --- | --- |
9
- | `type` | `"full" \| "icon" \| "wordmark"` | no | `full` | |
10
- | `color` | `"default" \| "white" \| "full-white"` | no | `default` | |
9
+ | `type` | `LogoType \| undefined` | no | `full` | |
10
+ | `color` | `LogoStyle \| undefined` | no | `default` | |
11
11
  | `id` | `string \| undefined` | no | — | |
12
12
  | `tab-index` | `number \| undefined` | no | — | |
13
13
  | `on-change` | `ChangeEventHandler<T, Element> \| undefined` | no | — | |
@@ -76,12 +76,6 @@ import { MetricSparkline, type MetricSparklinePoint } from './MetricSparkline';
76
76
  import { MetricTotal } from './MetricTotal';
77
77
  import { MetricValue } from './MetricValue';
78
78
 
79
- const figmaUrl =
80
- 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=11437-11939';
81
-
82
- const sparklineFigmaUrl =
83
- 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=12610-10640';
84
-
85
79
  const DESCRIPTION = [
86
80
  "The family's compact stat — one number, optionally against a total and a change — for a card with no breakdown to draw; reach for `HorizontalBarStack` once that number splits into named parts.",
87
81
  'It is a brick set rather than a set of props: `MetricHeader` holds `MetricValue`, `MetricTotal` and `MetricDelta`, with `MetricCaption` beneath. On the delta, `sentiment` picks the colour and `trend` picks the arrow, on purpose independently — a number going up is not always good news.',
@@ -93,7 +87,6 @@ const meta = {
93
87
  component: Metric,
94
88
  parameters: {
95
89
  layout: 'padded',
96
- design: { type: 'figma', url: figmaUrl },
97
90
  docs: { description: { component: DESCRIPTION } },
98
91
  },
99
92
  } satisfies Meta<typeof Metric>;
@@ -250,7 +243,6 @@ export const Sparkline: StoryFn = () => (
250
243
  </Chart>
251
244
  </div>
252
245
  );
253
- Sparkline.parameters = { design: { type: 'figma', url: sparklineFigmaUrl } };
254
246
 
255
247
  /**
256
248
  * The sparkline's `color` is set per chart, on purpose apart from the delta's `sentiment`:
@@ -320,5 +312,4 @@ export const SparklineColors: StoryFn = () => (
320
312
  </div>
321
313
  </div>
322
314
  );
323
- SparklineColors.parameters = { design: { type: 'figma', url: sparklineFigmaUrl } };
324
315
  ```
@@ -9,4 +9,4 @@ var e={vD(e,t,r){let n,l;/**
9
9
  * @nolint
10
10
  * @preventMunge
11
11
  * @preserve-invariant-messages
12
- */var a,i,o=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,u=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,h=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of d(t))m.call(e,l)||l===r||c(e,l,{get:()=>t[l],enumerable:!(n=s(t,l))||n.enumerable});return e},p={},f={$dispatcherGuard:()=>M,$makeReadOnly:()=>D,$reset:()=>C,$structuralCheck:()=>W,c:()=>E,clearRenderCounterRegistry:()=>x,renderCounterRegistry:()=>O,useRenderCounter:()=>T};for(var y in f)c(p,y,{get:f[y],enumerable:!0});e.exports=h(c({},"__esModule",{value:!0}),p);var w=(l=null!=(n=r("C"))?o(u(n)):{},h(n&&n.__esModule?l:c(l,"default",{value:n,enumerable:!0}),n)),{useRef:v,useEffect:_,isValidElement:g}=w,b=null!=(a=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?a:w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=Symbol.for("react.memo_cache_sentinel"),E="function"==typeof(null==(i=w.__COMPILER_RUNTIME)?void 0:i.c)?w.__COMPILER_RUNTIME.c:function(e){return w.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=S;return t[S]=!0,t},[])},R={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{R[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var N=null;function $(e){return b.ReactCurrentDispatcher.current=e,b.ReactCurrentDispatcher.current}R.useMemoCache=e=>{if(null!=N)return N.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var k=[];function M(e){let t=b.ReactCurrentDispatcher.current;if(0===e){if(k.push(t),1===k.length&&(N=t),t===R)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");$(R)}else if(1===e){let e=k.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===k.length&&(N=null),$(e)}else if(2===e)k.push(t),$(N);else if(3===e){let e=k.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");$(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function C(e){for(let t=0;t<e.length;t++)e[t]=S}function D(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var O=new Map;function x(){for(let e of O.values())e.forEach(e=>{e.count=0})}function T(e){let t=v(null);null!=t.current&&(t.current.count+=1),_(()=>{if(null==t.current){let r,n={count:0};null==(r=O.get(e))&&(r=new Set,O.set(e,r)),r.add(n),t.current=n}return()=>{var r;let n;null!==t.current&&(r=t.current,null!=(n=O.get(e))&&n.delete(r))}})}var A=new Set;function W(e,t,r,n,l,a){function i(e,t,i,o){let c=`${n}:${a} [${l}] ${r}${i} changed from ${e} to ${t} at depth ${o}`;A.has(c)||(A.add(c),console.error(c))}!function e(t,r,n,l){if(!(l>2)){if(t!==r)if(typeof t!=typeof r)i(`type ${typeof t}`,`type ${typeof r}`,n,l);else if("object"==typeof t){let a=Array.isArray(t),o=Array.isArray(r);if(null===t&&null!==r)i("null",`type ${typeof r}`,n,l);else if(null===r)i(`type ${typeof t}`,"null",n,l);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)i(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,n,l);else for(let[a,o]of t)r.has(a)?e(o,r.get(a),`${n}.get(${a})`,l+1):i(`Map instance with key ${a}`,`Map instance without key ${a}`,n,l);else i("Map instance","other value",n,l);else if(r instanceof Map)i("other value","Map instance",n,l);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)i(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,n,l);else for(let e of r)t.has(e)||i(`Set instance without element ${e}`,`Set instance with element ${e}`,n,l);else i("Set instance","other value",n,l);else if(r instanceof Set)i("other value","Set instance",n,l);else if(a||o)if(a!==o)i(`type ${a?"array":"object"}`,`type ${o?"array":"object"}`,n,l);else if(t.length!==r.length)i(`array with length ${t.length}`,`array with length ${r.length}`,n,l);else for(let a=0;a<t.length;a++)e(t[a],r[a],`${n}[${a}]`,l+1);else if(g(t)||g(r))g(t)!==g(r)?i(`type ${g(t)?"React element":"object"}`,`type ${g(r)?"React element":"object"}`,n,l):t.type!==r.type?i(`React element of type ${t.type}`,`React element of type ${r.type}`,n,l):e(t.props,r.props,`[props of ${n}]`,l+1);else{for(let e in r)e in t||i(`object without key ${e}`,`object with key ${e}`,n,l);for(let a in t)a in r?e(t[a],r[a],`${n}.${a}`,l+1):i(`object with key ${a}`,`object without key ${a}`,n,l)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&i(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,n,l):t!==r&&i(t,r,n,l)}}}(e,t,"",0)}},p(e,t,r){let n=new WeakMap,l=new WeakMap;function a(e,t,r){let a=t,i=r;if("object"==typeof a&&null!==a&&"$$typeof"in a&&a.$$typeof===Symbol.for("react.context")&&"Provider"in a&&(a=a.Provider),"function"==typeof a&&null!=i.ref&&!a.prototype?.isReactComponent){let t=a,r=n.get(e);r||(r=new WeakMap,n.set(e,r));let l=r.get(t);l||((l=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,l)),a=l}if("string"==typeof a&&"boolean"==typeof i.inert&&((i={...i}).inert?i.inert="":delete i.inert),"string"==typeof a)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in i&&(i={...i,[t]:i[e]},delete i[e]);return"string"==typeof a&&null!=i.ref&&(a=function(e,t){let r=l.get(e);r||(r=new Map,l.set(e,r));let n=r.get(t);if(n)return n;let a=e.forwardRef((r,n)=>{let l=e.useRef(null);if(!l.current||l.current.original!==n){let e;l.current={original:n,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof n){let r=n(t);e="function"==typeof r?r:void 0}else n&&(n.current=t)}}}return e.createElement(t,{...r,ref:l.current.callback})});return a.displayName=`CanvasHost(${t})`,r.set(t,a),a}(e,a)),{type:a,props:i}}function i(e){let t=(t,r,n)=>{let l=a(e,t,r??{});return e.createElement(l.type,void 0===n?l.props:{...l.props,key:n})};return{jsx:t,jsxs:(t,r,n)=>{let l=a(e,t,r??{}),{children:i,...o}=l.props;return e.createElement(l.type,void 0===n?o:{...o,key:n},...Array.isArray(i)?i:[i])},jsxDEV:t,Fragment:e.Fragment}}function o(e){return{...e,createElement:(t,r,...n)=>{let l=a(e,t,r??{});return e.createElement(l.type,l.props,...n)},cloneElement:(t,r,...n)=>{let l=e.cloneElement(t,r??void 0,...n),i=l.ref,o=a(e,l.type,{...l.props,ref:i});return o.type===l.type&&"string"!=typeof l.type?l:e.createElement(o.type,{...o.props,key:l.key})}}}r.d(t,{MA:()=>i,YJ:()=>o})},C(e,t,r){r.r(t);let n=(0,r("p").YJ)(window.React),{Children:l,Component:a,Fragment:i,Profiler:o,PureComponent:c,StrictMode:s,Suspense:d,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:u,act:m,cloneElement:h,createContext:p,createElement:f,createFactory:y,createRef:w,forwardRef:v,isValidElement:_,lazy:g,memo:b,startTransition:S,unstable_act:E,useCallback:R,useContext:N,useDebugValue:$,useDeferredValue:k,useEffect:M,useId:C,useImperativeHandle:D,useInsertionEffect:O,useLayoutEffect:x,useMemo:T,useReducer:A,useRef:W,useState:j,useSyncExternalStore:I,useTransition:P,version:z,use:L}=n;r.d(t,{},{Children:l,Component:a,Fragment:i,Profiler:o,PureComponent:c,StrictMode:s,Suspense:d,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:u,act:m,cloneElement:h,createContext:p,createElement:f,createFactory:y,createRef:w,default:n,forwardRef:v,isValidElement:_,lazy:g,memo:b,startTransition:S,unstable_act:E,use:L,useCallback:R,useContext:N,useDebugValue:$,useDeferredValue:k,useEffect:M,useId:C,useImperativeHandle:D,useInsertionEffect:O,useLayoutEffect:x,useMemo:T,useReducer:A,useRef:W,useState:j,useSyncExternalStore:I,useTransition:P,version:z})}},t={};function r(n){var l=t[n];if(void 0!==l)return l.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t,n)=>{var l=(t,n)=>{for(var l in t)r.o(t,l)&&!r.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,[n]:t[l]})};l(t,"get"),l(n,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:n,Fragment:l}=(0,r("p").MA)(window.React);var a=r("vD");let i=window.WallarmDS.Chart,o=window.WallarmDS.ChartHeader,c=window.WallarmDS.ChartTitle,s=window.WallarmDS.Metric,d=window.WallarmDS.MetricCaption,u=window.WallarmDS.MetricDelta,m=window.WallarmDS.MetricHeader,h=window.WallarmDS.MetricSkeleton,p=window.WallarmDS.MetricSparkline,f=window.WallarmDS.MetricTotal,y=window.WallarmDS.MetricValue,w="https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=12610-10640",v={title:"Data Display/SimpleCharts/Metric",component:s,parameters:{layout:"padded",design:{type:"figma",url:"https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=11437-11939"},docs:{description:{component:"The family's compact stat — one number, optionally against a total and a change — for a card with no breakdown to draw; reach for `HorizontalBarStack` once that number splits into named parts. It is a brick set rather than a set of props: `MetricHeader` holds `MetricValue`, `MetricTotal` and `MetricDelta`, with `MetricCaption` beneath. On the delta, `sentiment` picks the colour and `trend` picks the arrow, on purpose independently — a number going up is not always good news. Add `MetricSparkline` after `Metric` to show the trend over the period; hover it for a point's date and value."}}}},_=r=>{let n,l,s=(0,a.c)(5),{title:d,children:u}=r;return s[0]!==d?(n=e(o,{children:e(c,{children:d})}),s[0]=d,s[1]=n):n=s[1],s[2]!==u||s[3]!==n?(l=e("div",{className:"w-320",children:t(i,{children:[n,u]})}),s[2]=u,s[3]=n,s[4]=l):l=s[4],l},g=[{x:new Date(2026,0,1),value:14},{x:new Date(2026,0,2),value:11},{x:new Date(2026,0,3),value:11},{x:new Date(2026,0,4),value:11},{x:new Date(2026,0,5),value:16},{x:new Date(2026,0,6),value:18},{x:new Date(2026,0,7),value:20},{x:new Date(2026,0,8),value:19},{x:new Date(2026,0,9),value:13}],b=()=>{let r,n,l=(0,a.c)(2);return l[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(o,{children:e(c,{children:"Attacks"})}),l[0]=r):r=l[0],l[1]===Symbol.for("react.memo_cache_sentinel")?(n=e("div",{className:"w-400",children:t(i,{children:[r,t(s,{children:[t(m,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(p,{"data-testid":"sparkline",data:g,label:"Attacks"})]})}),l[1]=n):n=l[1],n};b.parameters={design:{type:"figma",url:w}};let S=()=>{let r,n,l,h,f,w,v,_,b=(0,a.c)(8);return b[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(o,{children:e(c,{children:"Negative"})}),b[0]=r):r=b[0],b[1]===Symbol.for("react.memo_cache_sentinel")?(n=e("div",{className:"w-256",children:t(i,{children:[r,t(s,{children:[t(m,{children:[e(y,{children:"74"}),e(u,{value:5,trend:"down",sentiment:"negative"})]}),e(d,{children:"last 9 days"})]}),e(p,{data:g,color:"negative",label:"Attacks"})]})}),b[1]=n):n=b[1],b[2]===Symbol.for("react.memo_cache_sentinel")?(l=e(o,{children:e(c,{children:"Positive"})}),b[2]=l):l=b[2],b[3]===Symbol.for("react.memo_cache_sentinel")?(h=e("div",{className:"w-256",children:t(i,{children:[l,t(s,{children:[t(m,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(p,{data:g,color:"positive",label:"Attacks"})]})}),b[3]=h):h=b[3],b[4]===Symbol.for("react.memo_cache_sentinel")?(f=e(o,{children:e(c,{children:"Brand"})}),b[4]=f):f=b[4],b[5]===Symbol.for("react.memo_cache_sentinel")?(w=e("div",{className:"w-256",children:t(i,{children:[f,t(s,{children:[t(m,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(p,{data:g,label:"Attacks"})]})}),b[5]=w):w=b[5],b[6]===Symbol.for("react.memo_cache_sentinel")?(v=e(o,{children:e(c,{children:"Neutral"})}),b[6]=v):v=b[6],b[7]===Symbol.for("react.memo_cache_sentinel")?(_=t("div",{className:"flex flex-wrap gap-16",children:[n,h,w,e("div",{className:"w-256",children:t(i,{children:[v,t(s,{children:[t(m,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(p,{data:g,color:"neutral",label:"Attacks"})]})})]}),b[7]=_):_=b[7],_};S.parameters={design:{type:"figma",url:w}};var E=r("C");let R=[{name:"Gallery",story:()=>{let r,n,l,i,o,c,h,p,w,v=(0,a.c)(9);return v[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(_,{title:"Value only",children:e(s,{"data-testid":"metric",children:e(m,{children:e(y,{children:"91"})})})}),v[0]=r):r=v[0],v[1]===Symbol.for("react.memo_cache_sentinel")?(n=e(_,{title:"Negative — count rose",children:e(s,{children:t(m,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),v[1]=n):n=v[1],v[2]===Symbol.for("react.memo_cache_sentinel")?(l=e(_,{title:"Positive — count fell",children:e(s,{children:t(m,{children:[e(y,{children:"74"}),e(u,{value:8,trend:"down",sentiment:"positive"})]})})}),v[2]=l):l=v[2],v[3]===Symbol.for("react.memo_cache_sentinel")?(i=e(_,{title:"Neutral",children:e(s,{children:t(m,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up"})]})})}),v[3]=i):i=v[3],v[4]===Symbol.for("react.memo_cache_sentinel")?(o=e(_,{title:"Total — slash",children:e(s,{children:t(m,{children:[e(y,{children:"91"}),e(f,{connector:"slash",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),v[4]=o):o=v[4],v[5]===Symbol.for("react.memo_cache_sentinel")?(c=e(_,{title:"Total — of",children:e(s,{children:t(m,{children:[e(y,{children:"91"}),e(f,{connector:"of",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),v[5]=c):c=v[5],v[6]===Symbol.for("react.memo_cache_sentinel")?(h=e(_,{title:"Total — total",children:e(s,{children:t(m,{children:[e(y,{children:"91"}),e(f,{connector:"total",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),v[6]=h):h=v[6],v[7]===Symbol.for("react.memo_cache_sentinel")?(p=e(_,{title:"With caption",children:t(s,{children:[t(m,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"negative"})]}),e(d,{children:"blocked today"})]})}),v[7]=p):p=v[7],v[8]===Symbol.for("react.memo_cache_sentinel")?(w=t("div",{className:"flex flex-wrap gap-16",children:[r,n,l,i,o,c,h,p,e(_,{title:"Everything",children:t(s,{children:[t(m,{children:[e(y,{children:"91"}),e(f,{connector:"of",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]}),e(d,{children:"blocked today"})]})})]}),v[8]=w):w=v[8],w},meta:v},{name:"Loading",story:()=>{let t,r=(0,a.c)(1);return r[0]===Symbol.for("react.memo_cache_sentinel")?(t=e(_,{title:"Findings",children:e(h,{"data-testid":"metric-skeleton"})}),r[0]=t):t=r[0],t},meta:v},{name:"Sparkline",story:b,meta:v},{name:"SparklineColors",story:S,meta:v}];function N({entry:e}){let{story:t,meta:r}=e,n={...r.args,...t.args},l="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,a=()=>E.default.createElement(l,n),i={args:n,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=a;a=()=>e(t,i)}return E.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},E.default.createElement("h2",{className:"text-sm mb-12"},e.name),E.default.createElement(a))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(E.default.createElement(window.WallarmDS.Root,null,R.map((e,t)=>E.default.createElement(N,{key:t,entry:e})))),t}}})();
12
+ */var a,i,o=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,u=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,m=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of d(t))h.call(e,l)||l===r||c(e,l,{get:()=>t[l],enumerable:!(n=s(t,l))||n.enumerable});return e},f={},p={$dispatcherGuard:()=>M,$makeReadOnly:()=>D,$reset:()=>C,$structuralCheck:()=>j,c:()=>E,clearRenderCounterRegistry:()=>x,renderCounterRegistry:()=>O,useRenderCounter:()=>T};for(var y in p)c(f,y,{get:p[y],enumerable:!0});e.exports=m(c({},"__esModule",{value:!0}),f);var v=(l=null!=(n=r("C"))?o(u(n)):{},m(n&&n.__esModule?l:c(l,"default",{value:n,enumerable:!0}),n)),{useRef:w,useEffect:_,isValidElement:b}=v,S=null!=(a=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?a:v.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,g=Symbol.for("react.memo_cache_sentinel"),E="function"==typeof(null==(i=v.__COMPILER_RUNTIME)?void 0:i.c)?v.__COMPILER_RUNTIME.c:function(e){return v.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=g;return t[g]=!0,t},[])},R={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{R[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var N=null;function $(e){return S.ReactCurrentDispatcher.current=e,S.ReactCurrentDispatcher.current}R.useMemoCache=e=>{if(null!=N)return N.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var k=[];function M(e){let t=S.ReactCurrentDispatcher.current;if(0===e){if(k.push(t),1===k.length&&(N=t),t===R)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");$(R)}else if(1===e){let e=k.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===k.length&&(N=null),$(e)}else if(2===e)k.push(t),$(N);else if(3===e){let e=k.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");$(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function C(e){for(let t=0;t<e.length;t++)e[t]=g}function D(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var O=new Map;function x(){for(let e of O.values())e.forEach(e=>{e.count=0})}function T(e){let t=w(null);null!=t.current&&(t.current.count+=1),_(()=>{if(null==t.current){let r,n={count:0};null==(r=O.get(e))&&(r=new Set,O.set(e,r)),r.add(n),t.current=n}return()=>{var r;let n;null!==t.current&&(r=t.current,null!=(n=O.get(e))&&n.delete(r))}})}var A=new Set;function j(e,t,r,n,l,a){function i(e,t,i,o){let c=`${n}:${a} [${l}] ${r}${i} changed from ${e} to ${t} at depth ${o}`;A.has(c)||(A.add(c),console.error(c))}!function e(t,r,n,l){if(!(l>2)){if(t!==r)if(typeof t!=typeof r)i(`type ${typeof t}`,`type ${typeof r}`,n,l);else if("object"==typeof t){let a=Array.isArray(t),o=Array.isArray(r);if(null===t&&null!==r)i("null",`type ${typeof r}`,n,l);else if(null===r)i(`type ${typeof t}`,"null",n,l);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)i(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,n,l);else for(let[a,o]of t)r.has(a)?e(o,r.get(a),`${n}.get(${a})`,l+1):i(`Map instance with key ${a}`,`Map instance without key ${a}`,n,l);else i("Map instance","other value",n,l);else if(r instanceof Map)i("other value","Map instance",n,l);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)i(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,n,l);else for(let e of r)t.has(e)||i(`Set instance without element ${e}`,`Set instance with element ${e}`,n,l);else i("Set instance","other value",n,l);else if(r instanceof Set)i("other value","Set instance",n,l);else if(a||o)if(a!==o)i(`type ${a?"array":"object"}`,`type ${o?"array":"object"}`,n,l);else if(t.length!==r.length)i(`array with length ${t.length}`,`array with length ${r.length}`,n,l);else for(let a=0;a<t.length;a++)e(t[a],r[a],`${n}[${a}]`,l+1);else if(b(t)||b(r))b(t)!==b(r)?i(`type ${b(t)?"React element":"object"}`,`type ${b(r)?"React element":"object"}`,n,l):t.type!==r.type?i(`React element of type ${t.type}`,`React element of type ${r.type}`,n,l):e(t.props,r.props,`[props of ${n}]`,l+1);else{for(let e in r)e in t||i(`object without key ${e}`,`object with key ${e}`,n,l);for(let a in t)a in r?e(t[a],r[a],`${n}.${a}`,l+1):i(`object with key ${a}`,`object without key ${a}`,n,l)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&i(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,n,l):t!==r&&i(t,r,n,l)}}}(e,t,"",0)}},p(e,t,r){let n=new WeakMap,l=new WeakMap;function a(e,t,r){let a=t,i=r;if("object"==typeof a&&null!==a&&"$$typeof"in a&&a.$$typeof===Symbol.for("react.context")&&"Provider"in a&&(a=a.Provider),"function"==typeof a&&null!=i.ref&&!a.prototype?.isReactComponent){let t=a,r=n.get(e);r||(r=new WeakMap,n.set(e,r));let l=r.get(t);l||((l=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,l)),a=l}if("string"==typeof a&&"boolean"==typeof i.inert&&((i={...i}).inert?i.inert="":delete i.inert),"string"==typeof a)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in i&&(i={...i,[t]:i[e]},delete i[e]);return"string"==typeof a&&null!=i.ref&&(a=function(e,t){let r=l.get(e);r||(r=new Map,l.set(e,r));let n=r.get(t);if(n)return n;let a=e.forwardRef((r,n)=>{let l=e.useRef(null);if(!l.current||l.current.original!==n){let e;l.current={original:n,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof n){let r=n(t);e="function"==typeof r?r:void 0}else n&&(n.current=t)}}}return e.createElement(t,{...r,ref:l.current.callback})});return a.displayName=`CanvasHost(${t})`,r.set(t,a),a}(e,a)),{type:a,props:i}}function i(e){let t=(t,r,n)=>{let l=a(e,t,r??{});return e.createElement(l.type,void 0===n?l.props:{...l.props,key:n})};return{jsx:t,jsxs:(t,r,n)=>{let l=a(e,t,r??{}),{children:i,...o}=l.props;return e.createElement(l.type,void 0===n?o:{...o,key:n},...Array.isArray(i)?i:[i])},jsxDEV:t,Fragment:e.Fragment}}function o(e){return{...e,createElement:(t,r,...n)=>{let l=a(e,t,r??{});return e.createElement(l.type,l.props,...n)},cloneElement:(t,r,...n)=>{let l=e.cloneElement(t,r??void 0,...n),i=l.ref,o=a(e,l.type,{...l.props,ref:i});return o.type===l.type&&"string"!=typeof l.type?l:e.createElement(o.type,{...o.props,key:l.key})}}}r.d(t,{MA:()=>i,YJ:()=>o})},C(e,t,r){r.r(t);let n=(0,r("p").YJ)(window.React),{Children:l,Component:a,Fragment:i,Profiler:o,PureComponent:c,StrictMode:s,Suspense:d,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:u,act:h,cloneElement:m,createContext:f,createElement:p,createFactory:y,createRef:v,forwardRef:w,isValidElement:_,lazy:b,memo:S,startTransition:g,unstable_act:E,useCallback:R,useContext:N,useDebugValue:$,useDeferredValue:k,useEffect:M,useId:C,useImperativeHandle:D,useInsertionEffect:O,useLayoutEffect:x,useMemo:T,useReducer:A,useRef:j,useState:W,useSyncExternalStore:I,useTransition:P,version:z,use:L}=n;r.d(t,{},{Children:l,Component:a,Fragment:i,Profiler:o,PureComponent:c,StrictMode:s,Suspense:d,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:u,act:h,cloneElement:m,createContext:f,createElement:p,createFactory:y,createRef:v,default:n,forwardRef:w,isValidElement:_,lazy:b,memo:S,startTransition:g,unstable_act:E,use:L,useCallback:R,useContext:N,useDebugValue:$,useDeferredValue:k,useEffect:M,useId:C,useImperativeHandle:D,useInsertionEffect:O,useLayoutEffect:x,useMemo:T,useReducer:A,useRef:j,useState:W,useSyncExternalStore:I,useTransition:P,version:z})}},t={};function r(n){var l=t[n];if(void 0!==l)return l.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t,n)=>{var l=(t,n)=>{for(var l in t)r.o(t,l)&&!r.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,[n]:t[l]})};l(t,"get"),l(n,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:n,Fragment:l}=(0,r("p").MA)(window.React);var a=r("vD");let i=window.WallarmDS.Chart,o=window.WallarmDS.ChartHeader,c=window.WallarmDS.ChartTitle,s=window.WallarmDS.Metric,d=window.WallarmDS.MetricCaption,u=window.WallarmDS.MetricDelta,h=window.WallarmDS.MetricHeader,m=window.WallarmDS.MetricSkeleton,f=window.WallarmDS.MetricSparkline,p=window.WallarmDS.MetricTotal,y=window.WallarmDS.MetricValue,v={title:"Data Display/SimpleCharts/Metric",component:s,parameters:{layout:"padded",docs:{description:{component:"The family's compact stat — one number, optionally against a total and a change — for a card with no breakdown to draw; reach for `HorizontalBarStack` once that number splits into named parts. It is a brick set rather than a set of props: `MetricHeader` holds `MetricValue`, `MetricTotal` and `MetricDelta`, with `MetricCaption` beneath. On the delta, `sentiment` picks the colour and `trend` picks the arrow, on purpose independently — a number going up is not always good news. Add `MetricSparkline` after `Metric` to show the trend over the period; hover it for a point's date and value."}}}},w=r=>{let n,l,s=(0,a.c)(5),{title:d,children:u}=r;return s[0]!==d?(n=e(o,{children:e(c,{children:d})}),s[0]=d,s[1]=n):n=s[1],s[2]!==u||s[3]!==n?(l=e("div",{className:"w-320",children:t(i,{children:[n,u]})}),s[2]=u,s[3]=n,s[4]=l):l=s[4],l},_=[{x:new Date(2026,0,1),value:14},{x:new Date(2026,0,2),value:11},{x:new Date(2026,0,3),value:11},{x:new Date(2026,0,4),value:11},{x:new Date(2026,0,5),value:16},{x:new Date(2026,0,6),value:18},{x:new Date(2026,0,7),value:20},{x:new Date(2026,0,8),value:19},{x:new Date(2026,0,9),value:13}];var b=r("C");let S=[{name:"Gallery",story:()=>{let r,n,l,i,o,c,m,f,v,_=(0,a.c)(9);return _[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(w,{title:"Value only",children:e(s,{"data-testid":"metric",children:e(h,{children:e(y,{children:"91"})})})}),_[0]=r):r=_[0],_[1]===Symbol.for("react.memo_cache_sentinel")?(n=e(w,{title:"Negative — count rose",children:e(s,{children:t(h,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),_[1]=n):n=_[1],_[2]===Symbol.for("react.memo_cache_sentinel")?(l=e(w,{title:"Positive — count fell",children:e(s,{children:t(h,{children:[e(y,{children:"74"}),e(u,{value:8,trend:"down",sentiment:"positive"})]})})}),_[2]=l):l=_[2],_[3]===Symbol.for("react.memo_cache_sentinel")?(i=e(w,{title:"Neutral",children:e(s,{children:t(h,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up"})]})})}),_[3]=i):i=_[3],_[4]===Symbol.for("react.memo_cache_sentinel")?(o=e(w,{title:"Total — slash",children:e(s,{children:t(h,{children:[e(y,{children:"91"}),e(p,{connector:"slash",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),_[4]=o):o=_[4],_[5]===Symbol.for("react.memo_cache_sentinel")?(c=e(w,{title:"Total — of",children:e(s,{children:t(h,{children:[e(y,{children:"91"}),e(p,{connector:"of",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),_[5]=c):c=_[5],_[6]===Symbol.for("react.memo_cache_sentinel")?(m=e(w,{title:"Total — total",children:e(s,{children:t(h,{children:[e(y,{children:"91"}),e(p,{connector:"total",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]})})}),_[6]=m):m=_[6],_[7]===Symbol.for("react.memo_cache_sentinel")?(f=e(w,{title:"With caption",children:t(s,{children:[t(h,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"negative"})]}),e(d,{children:"blocked today"})]})}),_[7]=f):f=_[7],_[8]===Symbol.for("react.memo_cache_sentinel")?(v=t("div",{className:"flex flex-wrap gap-16",children:[r,n,l,i,o,c,m,f,e(w,{title:"Everything",children:t(s,{children:[t(h,{children:[e(y,{children:"91"}),e(p,{connector:"of",children:"120"}),e(u,{value:10,trend:"up",sentiment:"negative"})]}),e(d,{children:"blocked today"})]})})]}),_[8]=v):v=_[8],v},meta:v},{name:"Loading",story:()=>{let t,r=(0,a.c)(1);return r[0]===Symbol.for("react.memo_cache_sentinel")?(t=e(w,{title:"Findings",children:e(m,{"data-testid":"metric-skeleton"})}),r[0]=t):t=r[0],t},meta:v},{name:"Sparkline",story:()=>{let r,n,l=(0,a.c)(2);return l[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(o,{children:e(c,{children:"Attacks"})}),l[0]=r):r=l[0],l[1]===Symbol.for("react.memo_cache_sentinel")?(n=e("div",{className:"w-400",children:t(i,{children:[r,t(s,{children:[t(h,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(f,{"data-testid":"sparkline",data:_,label:"Attacks"})]})}),l[1]=n):n=l[1],n},meta:v},{name:"SparklineColors",story:()=>{let r,n,l,m,p,v,w,b,S=(0,a.c)(8);return S[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(o,{children:e(c,{children:"Negative"})}),S[0]=r):r=S[0],S[1]===Symbol.for("react.memo_cache_sentinel")?(n=e("div",{className:"w-256",children:t(i,{children:[r,t(s,{children:[t(h,{children:[e(y,{children:"74"}),e(u,{value:5,trend:"down",sentiment:"negative"})]}),e(d,{children:"last 9 days"})]}),e(f,{data:_,color:"negative",label:"Attacks"})]})}),S[1]=n):n=S[1],S[2]===Symbol.for("react.memo_cache_sentinel")?(l=e(o,{children:e(c,{children:"Positive"})}),S[2]=l):l=S[2],S[3]===Symbol.for("react.memo_cache_sentinel")?(m=e("div",{className:"w-256",children:t(i,{children:[l,t(s,{children:[t(h,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(f,{data:_,color:"positive",label:"Attacks"})]})}),S[3]=m):m=S[3],S[4]===Symbol.for("react.memo_cache_sentinel")?(p=e(o,{children:e(c,{children:"Brand"})}),S[4]=p):p=S[4],S[5]===Symbol.for("react.memo_cache_sentinel")?(v=e("div",{className:"w-256",children:t(i,{children:[p,t(s,{children:[t(h,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(f,{data:_,label:"Attacks"})]})}),S[5]=v):v=S[5],S[6]===Symbol.for("react.memo_cache_sentinel")?(w=e(o,{children:e(c,{children:"Neutral"})}),S[6]=w):w=S[6],S[7]===Symbol.for("react.memo_cache_sentinel")?(b=t("div",{className:"flex flex-wrap gap-16",children:[n,m,v,e("div",{className:"w-256",children:t(i,{children:[w,t(s,{children:[t(h,{children:[e(y,{children:"91"}),e(u,{value:10,trend:"up",sentiment:"positive"})]}),e(d,{children:"last 9 days"})]}),e(f,{data:_,color:"neutral",label:"Attacks"})]})})]}),S[7]=b):b=S[7],b},meta:v}];function g({entry:e}){let{story:t,meta:r}=e,n={...r.args,...t.args},l="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,a=()=>b.default.createElement(l,n),i={args:n,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=a;a=()=>e(t,i)}return b.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},b.default.createElement("h2",{className:"text-sm mb-12"},e.name),b.default.createElement(a))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(b.default.createElement(window.WallarmDS.Root,null,S.map((e,t)=>b.default.createElement(g,{key:t,entry:e})))),t}}})();
@@ -8,7 +8,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
8
8
  | --- | --- | --- | --- | --- |
9
9
  | `open` | `boolean \| undefined` | no | — | Controlled open state. Omit for uncontrolled. |
10
10
  | `on-open-change` | `((open: boolean) => void) \| undefined` | no | — | |
11
- | `positioning` | `complex` | no | `{ placement: 'bottom-end', gutter: 4 }` | Default: right-aligned under the bell with a 4px gap. |
11
+ | `positioning` | `PositioningOptions \| undefined` | no | `{ placement: 'bottom-end', gutter: 4 }` | Default: right-aligned under the bell with a 4px gap. |
12
12
  | `data-testid` | `string \| undefined` | no | — | |
13
13
 
14
14
  ## Sub-components
@@ -15,7 +15,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
15
15
  | `id` | `string` | no | — | The unique identifier of the machine. |
16
16
  | `tab-index` | `number \| undefined` | no | — | |
17
17
  | `rel` | `string \| undefined` | no | — | |
18
- | `input-mode` | `"text" \| "tel" \| "numeric" \| "decimal"` | no | — | Hints at the type of data that might be entered by the user. It also determines the type of keyboard shown to the user on mobile devices |
18
+ | `input-mode` | `InputMode \| undefined` | no | — | Hints at the type of data that might be entered by the user. It also determines the type of keyboard shown to the user on mobile devices |
19
19
  | `on-change` | `ChangeEventHandler<T, Element> \| undefined` | no | — | |
20
20
  | `disabled` | `boolean \| undefined` | no | — | Whether the number input is disabled. |
21
21
  | `name` | `string \| undefined` | no | — | The name attribute of the number input. Useful for form submission. |
@@ -23,12 +23,12 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
23
23
  | `as-child` | `boolean \| undefined` | no | — | Use the provided child element as the default rendered element, combining their props and behavior. |
24
24
  | `max` | `number \| undefined` | no | — | The maximum value of the number input |
25
25
  | `min` | `number \| undefined` | no | — | The minimum value of the number input |
26
- | `ids` | `complex` | no | — | The ids of the elements in the number input. Useful for composition. |
26
+ | `ids` | `ElementIds \| undefined` | no | — | The ids of the elements in the number input. Useful for composition. |
27
27
  | `read-only` | `boolean \| undefined` | no | — | Whether the number input is readonly |
28
28
  | `required` | `boolean \| undefined` | no | — | Whether the number input is required |
29
29
  | `on-value-change` | `complex` | no | — | Function invoked when the value changes |
30
30
  | `step` | `number \| undefined` | no | — | The amount to increment or decrement the value by |
31
- | `translations` | `complex` | no | — | Specifies the localized strings that identifies the accessibility elements and their states |
31
+ | `translations` | `IntlTranslations \| undefined` | no | — | Specifies the localized strings that identifies the accessibility elements and their states |
32
32
  | `large-step` | `number \| undefined` | no | — | The amount to increment or decrement the value by when the `Shift` key is held. |
33
33
  | `small-step` | `number \| undefined` | no | — | The amount to increment or decrement the value by when the `Alt` key is held. |
34
34
  | `allow-mouse-wheel` | `boolean \| undefined` | no | — | Whether to allow mouse wheel to change the value |
@@ -8,7 +8,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
8
8
  | --- | --- | --- | --- | --- |
9
9
  | `items` | `T[]` | yes | — | Measurements are cached by array identity — keep it referentially stable. |
10
10
  | `item-renderer` | `(item: T, index: number) => ReactNode` | yes | — | |
11
- | `overflow-renderer` | `complex` | no | — | Renders the overflow indicator. Also called once in the hidden measurement layer with every item hidden, so it must be pure. Compose it from the `OverflowListMore` parts; defaults to `<OverflowListMore />`. |
11
+ | `overflow-renderer` | `OverflowListRenderer<T> \| undefined` | no | — | Renders the overflow indicator. Also called once in the hidden measurement layer with every item hidden, so it must be pure. Compose it from the `OverflowListMore` parts; defaults to `<OverflowListMore />`. |
12
12
  | `min-visible-items` | `number \| undefined` | no | — | Keep at least this many items visible however narrow the row gets. |
13
13
  | `on-overflow` | `((hiddenItems: T[]) => void) \| undefined` | no | — | |
14
14
  | `collapse-from` | `CollapseDirection \| undefined` | no | — | |
@@ -7,7 +7,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
7
7
  | Attribute | Type | Required | Default | Description |
8
8
  | --- | --- | --- | --- | --- |
9
9
  | `force-tooltip` | `boolean \| undefined` | no | `false` | |
10
- | `positioning` | `complex` | no | — | |
10
+ | `positioning` | `PositioningOptions \| undefined` | no | — | |
11
11
 
12
12
  ## Sub-components
13
13
 
@@ -95,10 +95,6 @@ const meta = {
95
95
  title: 'Data Display/SimpleCharts/Overview',
96
96
  parameters: {
97
97
  layout: 'padded',
98
- design: {
99
- type: 'figma',
100
- url: 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=7490-121203&m=dev',
101
- },
102
98
  docs: { description: { component: DESCRIPTION } },
103
99
  },
104
100
  tags: ['autodocs'],
@@ -9,4 +9,4 @@ var e={vD(e,t,r){let a,n;/**
9
9
  * @nolint
10
10
  * @preventMunge
11
11
  * @preserve-invariant-messages
12
- */var l,o,i=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,d=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,f=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of u(t))m.call(e,n)||n===r||c(e,n,{get:()=>t[n],enumerable:!(a=s(t,n))||a.enumerable});return e},h={},p={$dispatcherGuard:()=>M,$makeReadOnly:()=>W,$reset:()=>N,$structuralCheck:()=>P,c:()=>C,clearRenderCounterRegistry:()=>L,renderCounterRegistry:()=>k,useRenderCounter:()=>O};for(var y in p)c(h,y,{get:p[y],enumerable:!0});e.exports=f(c({},"__esModule",{value:!0}),h);var w=(n=null!=(a=r("C"))?i(d(a)):{},f(a&&a.__esModule?n:c(n,"default",{value:a,enumerable:!0}),a)),{useRef:S,useEffect:g,isValidElement:v}=w,b=null!=(l=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?l:w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,_=Symbol.for("react.memo_cache_sentinel"),C="function"==typeof(null==(o=w.__COMPILER_RUNTIME)?void 0:o.c)?w.__COMPILER_RUNTIME.c:function(e){return w.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=_;return t[_]=!0,t},[])},D={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{D[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var R=null;function E(e){return b.ReactCurrentDispatcher.current=e,b.ReactCurrentDispatcher.current}D.useMemoCache=e=>{if(null!=R)return R.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var $=[];function M(e){let t=b.ReactCurrentDispatcher.current;if(0===e){if($.push(t),1===$.length&&(R=t),t===D)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");E(D)}else if(1===e){let e=$.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===$.length&&(R=null),E(e)}else if(2===e)$.push(t),E(R);else if(3===e){let e=$.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");E(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function N(e){for(let t=0;t<e.length;t++)e[t]=_}function W(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var k=new Map;function L(){for(let e of k.values())e.forEach(e=>{e.count=0})}function O(e){let t=S(null);null!=t.current&&(t.current.count+=1),g(()=>{if(null==t.current){let r,a={count:0};null==(r=k.get(e))&&(r=new Set,k.set(e,r)),r.add(a),t.current=a}return()=>{var r;let a;null!==t.current&&(r=t.current,null!=(a=k.get(e))&&a.delete(r))}})}var T=new Set;function P(e,t,r,a,n,l){function o(e,t,o,i){let c=`${a}:${l} [${n}] ${r}${o} changed from ${e} to ${t} at depth ${i}`;T.has(c)||(T.add(c),console.error(c))}!function e(t,r,a,n){if(!(n>2)){if(t!==r)if(typeof t!=typeof r)o(`type ${typeof t}`,`type ${typeof r}`,a,n);else if("object"==typeof t){let l=Array.isArray(t),i=Array.isArray(r);if(null===t&&null!==r)o("null",`type ${typeof r}`,a,n);else if(null===r)o(`type ${typeof t}`,"null",a,n);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)o(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,a,n);else for(let[l,i]of t)r.has(l)?e(i,r.get(l),`${a}.get(${l})`,n+1):o(`Map instance with key ${l}`,`Map instance without key ${l}`,a,n);else o("Map instance","other value",a,n);else if(r instanceof Map)o("other value","Map instance",a,n);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)o(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,a,n);else for(let e of r)t.has(e)||o(`Set instance without element ${e}`,`Set instance with element ${e}`,a,n);else o("Set instance","other value",a,n);else if(r instanceof Set)o("other value","Set instance",a,n);else if(l||i)if(l!==i)o(`type ${l?"array":"object"}`,`type ${i?"array":"object"}`,a,n);else if(t.length!==r.length)o(`array with length ${t.length}`,`array with length ${r.length}`,a,n);else for(let l=0;l<t.length;l++)e(t[l],r[l],`${a}[${l}]`,n+1);else if(v(t)||v(r))v(t)!==v(r)?o(`type ${v(t)?"React element":"object"}`,`type ${v(r)?"React element":"object"}`,a,n):t.type!==r.type?o(`React element of type ${t.type}`,`React element of type ${r.type}`,a,n):e(t.props,r.props,`[props of ${a}]`,n+1);else{for(let e in r)e in t||o(`object without key ${e}`,`object with key ${e}`,a,n);for(let l in t)l in r?e(t[l],r[l],`${a}.${l}`,n+1):o(`object with key ${l}`,`object without key ${l}`,a,n)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&o(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,a,n):t!==r&&o(t,r,a,n)}}}(e,t,"",0)}},p(e,t,r){let a=new WeakMap,n=new WeakMap;function l(e,t,r){let l=t,o=r;if("object"==typeof l&&null!==l&&"$$typeof"in l&&l.$$typeof===Symbol.for("react.context")&&"Provider"in l&&(l=l.Provider),"function"==typeof l&&null!=o.ref&&!l.prototype?.isReactComponent){let t=l,r=a.get(e);r||(r=new WeakMap,a.set(e,r));let n=r.get(t);n||((n=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,n)),l=n}if("string"==typeof l&&"boolean"==typeof o.inert&&((o={...o}).inert?o.inert="":delete o.inert),"string"==typeof l)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in o&&(o={...o,[t]:o[e]},delete o[e]);return"string"==typeof l&&null!=o.ref&&(l=function(e,t){let r=n.get(e);r||(r=new Map,n.set(e,r));let a=r.get(t);if(a)return a;let l=e.forwardRef((r,a)=>{let n=e.useRef(null);if(!n.current||n.current.original!==a){let e;n.current={original:a,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof a){let r=a(t);e="function"==typeof r?r:void 0}else a&&(a.current=t)}}}return e.createElement(t,{...r,ref:n.current.callback})});return l.displayName=`CanvasHost(${t})`,r.set(t,l),l}(e,l)),{type:l,props:o}}function o(e){let t=(t,r,a)=>{let n=l(e,t,r??{});return e.createElement(n.type,void 0===a?n.props:{...n.props,key:a})};return{jsx:t,jsxs:(t,r,a)=>{let n=l(e,t,r??{}),{children:o,...i}=n.props;return e.createElement(n.type,void 0===a?i:{...i,key:a},...Array.isArray(o)?o:[o])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,r,...a)=>{let n=l(e,t,r??{});return e.createElement(n.type,n.props,...a)},cloneElement:(t,r,...a)=>{let n=e.cloneElement(t,r??void 0,...a),o=n.ref,i=l(e,n.type,{...n.props,ref:o});return i.type===n.type&&"string"!=typeof n.type?n:e.createElement(i.type,{...i.props,key:n.key})}}}r.d(t,{MA:()=>o,YJ:()=>i})},C(e,t,r){r.r(t);let a=(0,r("p").YJ)(window.React),{Children:n,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:d,act:m,cloneElement:f,createContext:h,createElement:p,createFactory:y,createRef:w,forwardRef:S,isValidElement:g,lazy:v,memo:b,startTransition:_,unstable_act:C,useCallback:D,useContext:R,useDebugValue:E,useDeferredValue:$,useEffect:M,useId:N,useImperativeHandle:W,useInsertionEffect:k,useLayoutEffect:L,useMemo:O,useReducer:T,useRef:P,useState:x,useSyncExternalStore:j,useTransition:A,version:I,use:U}=a;r.d(t,{},{Children:n,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:d,act:m,cloneElement:f,createContext:h,createElement:p,createFactory:y,createRef:w,default:a,forwardRef:S,isValidElement:g,lazy:v,memo:b,startTransition:_,unstable_act:C,use:U,useCallback:D,useContext:R,useDebugValue:E,useDeferredValue:$,useEffect:M,useId:N,useImperativeHandle:W,useInsertionEffect:k,useLayoutEffect:L,useMemo:O,useReducer:T,useRef:P,useState:x,useSyncExternalStore:j,useTransition:A,version:I})}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,r),l.exports}r.d=(e,t,a)=>{var n=(t,a)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,[a]:t[n]})};n(t,"get"),n(a,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:a,Fragment:n}=(0,r("p").MA)(window.React);var l=r("vD");let o=new Intl.NumberFormat("en-US"),i=(e,t,r)=>{let a=43758.5453*Math.sin((e+t)*r);return a-Math.floor(a)},c=(e,t=1)=>{let r=new Date(2025,0,1,0,0,0).getTime(),a=[];for(let n=0;n<e;n++){let e=r+60*n*6e4,l=Math.round(120+30*Math.sin((n+t)/4)+(i(n,t,12.9898)-.5)*80),o=Math.round(24+10*Math.cos((n+t)/5)+(i(n,t,78.233)-.5)*32),c=Math.round(80+14*Math.sin((n+t)/6)+(i(n,t,39.346)-.5)*40);a.push({timestamp:e,requests:l,errors:o,latency:c})}return a},s=[{key:"requests",label:"Requests",color:"brand"}],u=c(24);c(24,1),c(24,7),(()=>{let e=new Date(2024,0,1,0,0,0).getTime(),t=[];for(let r=0;r<60;r++){let a=e+24*r*36e5,n=Math.round(1e3+400*Math.sin(r/9)+r%13*12),l=Math.round(80+30*Math.cos(r/11)+r%7*3);t.push({timestamp:a,requests:n,errors:l})}})(),c(1e3),new Date(2025,0,1,12,0,0).getTime(),u.map((e,t)=>t>=6&&t<=8||t>=15&&t<=16?{...e,errors:null}:e);let d=window.WallarmDS.Badge,m=window.WallarmDS.BarList,f=window.WallarmDS.BarListBar,h=window.WallarmDS.BarListItem,p=window.WallarmDS.BarListLabel,y=window.WallarmDS.BarListPercent,w=window.WallarmDS.BarListValue,S=window.WallarmDS.Chart,g=window.WallarmDS.ChartHeader,v=window.WallarmDS.ChartTitle,b=window.WallarmDS.HorizontalBarStack,_=window.WallarmDS.useChartTimeFormatters,C=window.WallarmDS.LineChart,D=window.WallarmDS.LineChartBody,R=window.WallarmDS.LineChartGrid,E=window.WallarmDS.LineChartLine,$=window.WallarmDS.LineChartTooltip,M=window.WallarmDS.LineChartXAxis,N=window.WallarmDS.LineChartYAxis,W=window.WallarmDS.Metric,k=window.WallarmDS.MetricCaption,L=window.WallarmDS.MetricDelta,O=window.WallarmDS.MetricHeader,T=window.WallarmDS.MetricTotal,P=window.WallarmDS.MetricValue,x=window.WallarmDS.LegendDot,j=window.WallarmDS.PieChart,A=window.WallarmDS.PieChartCenter,I=window.WallarmDS.PieChartCenterLabel,U=window.WallarmDS.PieChartCenterValue,z=window.WallarmDS.PieChartDonut,B=window.WallarmDS.PieChartLegend,F=window.WallarmDS.PieChartLegendItem,V=window.WallarmDS.PieChartLegendPercent,X=window.WallarmDS.PieChartLegendValue,H=e=>{let t;return t=Number(e),o.format(t)},q=[{name:"/api/v1/users",value:1240,color:"brand"},{name:"/api/v1/auth/login",value:890,color:"green"},{name:"/api/v1/orders",value:612,color:"blue"},{name:"/api/v1/products",value:358,color:"amber"},{name:"/api/v1/search",value:174,color:"red"}],Y=q.reduce((e,t)=>e+t.value,0),G=[{name:"4XX",value:35,color:"amber",badgeColor:"amber"},{name:"2XX",value:31,color:"green",badgeColor:"green"},{name:"5XX",value:15,color:"red",badgeColor:"red"},{name:"3XX",value:18,color:"blue",badgeColor:"blue"},{name:"1XX",value:1,color:"slate",badgeColor:"slate"}],J=G.reduce((e,t)=>e+t.value,0),K=[{name:"Critical",value:42,color:"red"},{name:"High",value:31,color:"brand"},{name:"Medium",value:18,color:"amber"}],Z=()=>{let r,a,n=(0,l.c)(2);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Top 5 endpoints"})}),n[0]=r):r=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(a=t(S,{children:[r,e(m,{max:Y,children:q.map(ea)})]}),n[1]=a):a=n[1],a},Q=()=>{let r,a,n,o,i=(0,l.c)(4);return(i[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Response status"})}),i[0]=r):r=i[0],i[1]===Symbol.for("react.memo_cache_sentinel"))?(a=e(U,{formatHoveredValue:en,children:J.toLocaleString("en-US")}),i[1]=a):a=i[1],i[2]===Symbol.for("react.memo_cache_sentinel")?(n=e(z,{children:t(A,{children:[a,e(I,{className:"whitespace-nowrap",pluralize:{one:"request",other:"requests"}})]})}),i[2]=n):n=i[2],i[3]===Symbol.for("react.memo_cache_sentinel")?(o=t(S,{children:[r,t(j,{data:G,total:J,children:[n,e(B,{children:G.map(el)})]})]}),i[3]=o):o=i[3],o},ee=()=>{let r,a,n,o,i,c,d,m=(0,l.c)(11),{formatHour:f,formatHourWithTimezone:h}=_();return m[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Requests per hour"})}),m[0]=r):r=m[0],m[1]===Symbol.for("react.memo_cache_sentinel")?(a=e(R,{}),m[1]=a):a=m[1],m[2]!==f?(n=e(M,{tickFormatter:f,minTickGap:32}),m[2]=f,m[3]=n):n=m[3],m[4]===Symbol.for("react.memo_cache_sentinel")?(o=e(N,{tickFormatter:H}),i=e(E,{seriesKey:"requests",curve:"linear"}),m[4]=o,m[5]=i):(o=m[4],i=m[5]),m[6]!==h?(c=e($,{xTickFormatter:h}),m[6]=h,m[7]=c):c=m[7],m[8]!==n||m[9]!==c?(d=t(S,{children:[r,e(C,{data:u,series:s,xKey:"timestamp",children:t(D,{children:[a,n,o,i,c]})})]}),m[8]=n,m[9]=c,m[10]=d):d=m[10],d},et=()=>{let r,a,n=(0,l.c)(2);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Findings by severity"})}),n[0]=r):r=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(a=t(S,{children:[r,e(b,{data:K,children:t(O,{children:[e(P,{children:"91"}),e(L,{value:10,trend:"up",sentiment:"negative"})]})})]}),n[1]=a):a=n[1],a},er=()=>{let r,a,n=(0,l.c)(2);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Blocked attacks"})}),n[0]=r):r=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(a=t(S,{children:[r,t(W,{children:[t(O,{children:[e(P,{children:"91"}),e(T,{connector:"of",children:"120"}),e(L,{value:10,trend:"up",sentiment:"negative"})]}),e(k,{children:"Last 24 hours"})]})]}),n[1]=a):a=n[1],a};function ea(r){return t(h,{value:r.value,children:[e(f,{}),e(p,{children:r.name}),t(w,{children:[r.value.toLocaleString("en-US"),e(y,{})]})]},r.name)}function en(e){return e.value.toLocaleString("en-US")}function el(r){return t(F,{name:r.name,children:[e(d,{color:r.badgeColor,type:"secondary",textVariant:"code",children:r.name}),t(X,{children:[r.value.toLocaleString("en-US"),e(x,{}),e(V,{})]})]},r.name)}var eo=r("C");let ei=[{name:"Default",story:()=>{let r,a,n,o=(0,l.c)(3);return o[0]===Symbol.for("react.memo_cache_sentinel")?(r=t("div",{className:"grid grid-cols-2 gap-16",children:[e(Z,{}),e(Q,{})]}),a=e(ee,{}),o[0]=r,o[1]=a):(r=o[0],a=o[1]),o[2]===Symbol.for("react.memo_cache_sentinel")?(n=t("div",{className:"flex flex-col gap-16 w-832",children:[r,a,t("div",{className:"grid grid-cols-2 gap-16",children:[e(et,{}),e(er,{})]})]}),o[2]=n):n=o[2],n},meta:{title:"Data Display/SimpleCharts/Overview",parameters:{layout:"padded",design:{type:"figma",url:"https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=7490-121203&m=dev"},docs:{description:{component:"The family of self-contained charts for a dashboard card: each owns its own data and they all share one frame — `Chart`, with `ChartHeader`, `ChartTitle` and `ChartActions`. This page is the family portrait, for checking they still read as one system after any one of them changes; the API and the interaction stories live on each chart's own page, and `Chart` by itself is the frame rather than a chart to reach for."}}},tags:["autodocs"]}}];function ec({entry:e}){let{story:t,meta:r}=e,a={...r.args,...t.args},n="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,l=()=>eo.default.createElement(n,a),o={args:a,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=l;l=()=>e(t,o)}return eo.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},eo.default.createElement("h2",{className:"text-sm mb-12"},e.name),eo.default.createElement(l))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(eo.default.createElement(window.WallarmDS.Root,null,ei.map((e,t)=>eo.default.createElement(ec,{key:t,entry:e})))),t}}})();
12
+ */var l,o,i=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,d=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,f=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of u(t))m.call(e,n)||n===r||c(e,n,{get:()=>t[n],enumerable:!(a=s(t,n))||a.enumerable});return e},h={},p={$dispatcherGuard:()=>M,$makeReadOnly:()=>W,$reset:()=>N,$structuralCheck:()=>P,c:()=>C,clearRenderCounterRegistry:()=>L,renderCounterRegistry:()=>k,useRenderCounter:()=>O};for(var y in p)c(h,y,{get:p[y],enumerable:!0});e.exports=f(c({},"__esModule",{value:!0}),h);var w=(n=null!=(a=r("C"))?i(d(a)):{},f(a&&a.__esModule?n:c(n,"default",{value:a,enumerable:!0}),a)),{useRef:S,useEffect:g,isValidElement:v}=w,b=null!=(l=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?l:w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,_=Symbol.for("react.memo_cache_sentinel"),C="function"==typeof(null==(o=w.__COMPILER_RUNTIME)?void 0:o.c)?w.__COMPILER_RUNTIME.c:function(e){return w.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=_;return t[_]=!0,t},[])},D={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{D[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var R=null;function E(e){return b.ReactCurrentDispatcher.current=e,b.ReactCurrentDispatcher.current}D.useMemoCache=e=>{if(null!=R)return R.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var $=[];function M(e){let t=b.ReactCurrentDispatcher.current;if(0===e){if($.push(t),1===$.length&&(R=t),t===D)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");E(D)}else if(1===e){let e=$.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===$.length&&(R=null),E(e)}else if(2===e)$.push(t),E(R);else if(3===e){let e=$.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");E(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function N(e){for(let t=0;t<e.length;t++)e[t]=_}function W(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var k=new Map;function L(){for(let e of k.values())e.forEach(e=>{e.count=0})}function O(e){let t=S(null);null!=t.current&&(t.current.count+=1),g(()=>{if(null==t.current){let r,a={count:0};null==(r=k.get(e))&&(r=new Set,k.set(e,r)),r.add(a),t.current=a}return()=>{var r;let a;null!==t.current&&(r=t.current,null!=(a=k.get(e))&&a.delete(r))}})}var T=new Set;function P(e,t,r,a,n,l){function o(e,t,o,i){let c=`${a}:${l} [${n}] ${r}${o} changed from ${e} to ${t} at depth ${i}`;T.has(c)||(T.add(c),console.error(c))}!function e(t,r,a,n){if(!(n>2)){if(t!==r)if(typeof t!=typeof r)o(`type ${typeof t}`,`type ${typeof r}`,a,n);else if("object"==typeof t){let l=Array.isArray(t),i=Array.isArray(r);if(null===t&&null!==r)o("null",`type ${typeof r}`,a,n);else if(null===r)o(`type ${typeof t}`,"null",a,n);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)o(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,a,n);else for(let[l,i]of t)r.has(l)?e(i,r.get(l),`${a}.get(${l})`,n+1):o(`Map instance with key ${l}`,`Map instance without key ${l}`,a,n);else o("Map instance","other value",a,n);else if(r instanceof Map)o("other value","Map instance",a,n);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)o(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,a,n);else for(let e of r)t.has(e)||o(`Set instance without element ${e}`,`Set instance with element ${e}`,a,n);else o("Set instance","other value",a,n);else if(r instanceof Set)o("other value","Set instance",a,n);else if(l||i)if(l!==i)o(`type ${l?"array":"object"}`,`type ${i?"array":"object"}`,a,n);else if(t.length!==r.length)o(`array with length ${t.length}`,`array with length ${r.length}`,a,n);else for(let l=0;l<t.length;l++)e(t[l],r[l],`${a}[${l}]`,n+1);else if(v(t)||v(r))v(t)!==v(r)?o(`type ${v(t)?"React element":"object"}`,`type ${v(r)?"React element":"object"}`,a,n):t.type!==r.type?o(`React element of type ${t.type}`,`React element of type ${r.type}`,a,n):e(t.props,r.props,`[props of ${a}]`,n+1);else{for(let e in r)e in t||o(`object without key ${e}`,`object with key ${e}`,a,n);for(let l in t)l in r?e(t[l],r[l],`${a}.${l}`,n+1):o(`object with key ${l}`,`object without key ${l}`,a,n)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&o(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,a,n):t!==r&&o(t,r,a,n)}}}(e,t,"",0)}},p(e,t,r){let a=new WeakMap,n=new WeakMap;function l(e,t,r){let l=t,o=r;if("object"==typeof l&&null!==l&&"$$typeof"in l&&l.$$typeof===Symbol.for("react.context")&&"Provider"in l&&(l=l.Provider),"function"==typeof l&&null!=o.ref&&!l.prototype?.isReactComponent){let t=l,r=a.get(e);r||(r=new WeakMap,a.set(e,r));let n=r.get(t);n||((n=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,n)),l=n}if("string"==typeof l&&"boolean"==typeof o.inert&&((o={...o}).inert?o.inert="":delete o.inert),"string"==typeof l)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in o&&(o={...o,[t]:o[e]},delete o[e]);return"string"==typeof l&&null!=o.ref&&(l=function(e,t){let r=n.get(e);r||(r=new Map,n.set(e,r));let a=r.get(t);if(a)return a;let l=e.forwardRef((r,a)=>{let n=e.useRef(null);if(!n.current||n.current.original!==a){let e;n.current={original:a,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof a){let r=a(t);e="function"==typeof r?r:void 0}else a&&(a.current=t)}}}return e.createElement(t,{...r,ref:n.current.callback})});return l.displayName=`CanvasHost(${t})`,r.set(t,l),l}(e,l)),{type:l,props:o}}function o(e){let t=(t,r,a)=>{let n=l(e,t,r??{});return e.createElement(n.type,void 0===a?n.props:{...n.props,key:a})};return{jsx:t,jsxs:(t,r,a)=>{let n=l(e,t,r??{}),{children:o,...i}=n.props;return e.createElement(n.type,void 0===a?i:{...i,key:a},...Array.isArray(o)?o:[o])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,r,...a)=>{let n=l(e,t,r??{});return e.createElement(n.type,n.props,...a)},cloneElement:(t,r,...a)=>{let n=e.cloneElement(t,r??void 0,...a),o=n.ref,i=l(e,n.type,{...n.props,ref:o});return i.type===n.type&&"string"!=typeof n.type?n:e.createElement(i.type,{...i.props,key:n.key})}}}r.d(t,{MA:()=>o,YJ:()=>i})},C(e,t,r){r.r(t);let a=(0,r("p").YJ)(window.React),{Children:n,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:d,act:m,cloneElement:f,createContext:h,createElement:p,createFactory:y,createRef:w,forwardRef:S,isValidElement:g,lazy:v,memo:b,startTransition:_,unstable_act:C,useCallback:D,useContext:R,useDebugValue:E,useDeferredValue:$,useEffect:M,useId:N,useImperativeHandle:W,useInsertionEffect:k,useLayoutEffect:L,useMemo:O,useReducer:T,useRef:P,useState:x,useSyncExternalStore:j,useTransition:I,version:A,use:U}=a;r.d(t,{},{Children:n,Component:l,Fragment:o,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:d,act:m,cloneElement:f,createContext:h,createElement:p,createFactory:y,createRef:w,default:a,forwardRef:S,isValidElement:g,lazy:v,memo:b,startTransition:_,unstable_act:C,use:U,useCallback:D,useContext:R,useDebugValue:E,useDeferredValue:$,useEffect:M,useId:N,useImperativeHandle:W,useInsertionEffect:k,useLayoutEffect:L,useMemo:O,useReducer:T,useRef:P,useState:x,useSyncExternalStore:j,useTransition:I,version:A})}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,r),l.exports}r.d=(e,t,a)=>{var n=(t,a)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,[a]:t[n]})};n(t,"get"),n(a,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:a,Fragment:n}=(0,r("p").MA)(window.React);var l=r("vD");let o=new Intl.NumberFormat("en-US"),i=(e,t,r)=>{let a=43758.5453*Math.sin((e+t)*r);return a-Math.floor(a)},c=(e,t=1)=>{let r=new Date(2025,0,1,0,0,0).getTime(),a=[];for(let n=0;n<e;n++){let e=r+60*n*6e4,l=Math.round(120+30*Math.sin((n+t)/4)+(i(n,t,12.9898)-.5)*80),o=Math.round(24+10*Math.cos((n+t)/5)+(i(n,t,78.233)-.5)*32),c=Math.round(80+14*Math.sin((n+t)/6)+(i(n,t,39.346)-.5)*40);a.push({timestamp:e,requests:l,errors:o,latency:c})}return a},s=[{key:"requests",label:"Requests",color:"brand"}],u=c(24);c(24,1),c(24,7),(()=>{let e=new Date(2024,0,1,0,0,0).getTime(),t=[];for(let r=0;r<60;r++){let a=e+24*r*36e5,n=Math.round(1e3+400*Math.sin(r/9)+r%13*12),l=Math.round(80+30*Math.cos(r/11)+r%7*3);t.push({timestamp:a,requests:n,errors:l})}})(),c(1e3),new Date(2025,0,1,12,0,0).getTime(),u.map((e,t)=>t>=6&&t<=8||t>=15&&t<=16?{...e,errors:null}:e);let d=window.WallarmDS.Badge,m=window.WallarmDS.BarList,f=window.WallarmDS.BarListBar,h=window.WallarmDS.BarListItem,p=window.WallarmDS.BarListLabel,y=window.WallarmDS.BarListPercent,w=window.WallarmDS.BarListValue,S=window.WallarmDS.Chart,g=window.WallarmDS.ChartHeader,v=window.WallarmDS.ChartTitle,b=window.WallarmDS.HorizontalBarStack,_=window.WallarmDS.useChartTimeFormatters,C=window.WallarmDS.LineChart,D=window.WallarmDS.LineChartBody,R=window.WallarmDS.LineChartGrid,E=window.WallarmDS.LineChartLine,$=window.WallarmDS.LineChartTooltip,M=window.WallarmDS.LineChartXAxis,N=window.WallarmDS.LineChartYAxis,W=window.WallarmDS.Metric,k=window.WallarmDS.MetricCaption,L=window.WallarmDS.MetricDelta,O=window.WallarmDS.MetricHeader,T=window.WallarmDS.MetricTotal,P=window.WallarmDS.MetricValue,x=window.WallarmDS.LegendDot,j=window.WallarmDS.PieChart,I=window.WallarmDS.PieChartCenter,A=window.WallarmDS.PieChartCenterLabel,U=window.WallarmDS.PieChartCenterValue,z=window.WallarmDS.PieChartDonut,B=window.WallarmDS.PieChartLegend,F=window.WallarmDS.PieChartLegendItem,V=window.WallarmDS.PieChartLegendPercent,X=window.WallarmDS.PieChartLegendValue,H=e=>{let t;return t=Number(e),o.format(t)},q=[{name:"/api/v1/users",value:1240,color:"brand"},{name:"/api/v1/auth/login",value:890,color:"green"},{name:"/api/v1/orders",value:612,color:"blue"},{name:"/api/v1/products",value:358,color:"amber"},{name:"/api/v1/search",value:174,color:"red"}],Y=q.reduce((e,t)=>e+t.value,0),G=[{name:"4XX",value:35,color:"amber",badgeColor:"amber"},{name:"2XX",value:31,color:"green",badgeColor:"green"},{name:"5XX",value:15,color:"red",badgeColor:"red"},{name:"3XX",value:18,color:"blue",badgeColor:"blue"},{name:"1XX",value:1,color:"slate",badgeColor:"slate"}],J=G.reduce((e,t)=>e+t.value,0),K=[{name:"Critical",value:42,color:"red"},{name:"High",value:31,color:"brand"},{name:"Medium",value:18,color:"amber"}],Z=()=>{let r,a,n=(0,l.c)(2);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Top 5 endpoints"})}),n[0]=r):r=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(a=t(S,{children:[r,e(m,{max:Y,children:q.map(ea)})]}),n[1]=a):a=n[1],a},Q=()=>{let r,a,n,o,i=(0,l.c)(4);return(i[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Response status"})}),i[0]=r):r=i[0],i[1]===Symbol.for("react.memo_cache_sentinel"))?(a=e(U,{formatHoveredValue:en,children:J.toLocaleString("en-US")}),i[1]=a):a=i[1],i[2]===Symbol.for("react.memo_cache_sentinel")?(n=e(z,{children:t(I,{children:[a,e(A,{className:"whitespace-nowrap",pluralize:{one:"request",other:"requests"}})]})}),i[2]=n):n=i[2],i[3]===Symbol.for("react.memo_cache_sentinel")?(o=t(S,{children:[r,t(j,{data:G,total:J,children:[n,e(B,{children:G.map(el)})]})]}),i[3]=o):o=i[3],o},ee=()=>{let r,a,n,o,i,c,d,m=(0,l.c)(11),{formatHour:f,formatHourWithTimezone:h}=_();return m[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Requests per hour"})}),m[0]=r):r=m[0],m[1]===Symbol.for("react.memo_cache_sentinel")?(a=e(R,{}),m[1]=a):a=m[1],m[2]!==f?(n=e(M,{tickFormatter:f,minTickGap:32}),m[2]=f,m[3]=n):n=m[3],m[4]===Symbol.for("react.memo_cache_sentinel")?(o=e(N,{tickFormatter:H}),i=e(E,{seriesKey:"requests",curve:"linear"}),m[4]=o,m[5]=i):(o=m[4],i=m[5]),m[6]!==h?(c=e($,{xTickFormatter:h}),m[6]=h,m[7]=c):c=m[7],m[8]!==n||m[9]!==c?(d=t(S,{children:[r,e(C,{data:u,series:s,xKey:"timestamp",children:t(D,{children:[a,n,o,i,c]})})]}),m[8]=n,m[9]=c,m[10]=d):d=m[10],d},et=()=>{let r,a,n=(0,l.c)(2);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Findings by severity"})}),n[0]=r):r=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(a=t(S,{children:[r,e(b,{data:K,children:t(O,{children:[e(P,{children:"91"}),e(L,{value:10,trend:"up",sentiment:"negative"})]})})]}),n[1]=a):a=n[1],a},er=()=>{let r,a,n=(0,l.c)(2);return n[0]===Symbol.for("react.memo_cache_sentinel")?(r=e(g,{children:e(v,{children:"Blocked attacks"})}),n[0]=r):r=n[0],n[1]===Symbol.for("react.memo_cache_sentinel")?(a=t(S,{children:[r,t(W,{children:[t(O,{children:[e(P,{children:"91"}),e(T,{connector:"of",children:"120"}),e(L,{value:10,trend:"up",sentiment:"negative"})]}),e(k,{children:"Last 24 hours"})]})]}),n[1]=a):a=n[1],a};function ea(r){return t(h,{value:r.value,children:[e(f,{}),e(p,{children:r.name}),t(w,{children:[r.value.toLocaleString("en-US"),e(y,{})]})]},r.name)}function en(e){return e.value.toLocaleString("en-US")}function el(r){return t(F,{name:r.name,children:[e(d,{color:r.badgeColor,type:"secondary",textVariant:"code",children:r.name}),t(X,{children:[r.value.toLocaleString("en-US"),e(x,{}),e(V,{})]})]},r.name)}var eo=r("C");let ei=[{name:"Default",story:()=>{let r,a,n,o=(0,l.c)(3);return o[0]===Symbol.for("react.memo_cache_sentinel")?(r=t("div",{className:"grid grid-cols-2 gap-16",children:[e(Z,{}),e(Q,{})]}),a=e(ee,{}),o[0]=r,o[1]=a):(r=o[0],a=o[1]),o[2]===Symbol.for("react.memo_cache_sentinel")?(n=t("div",{className:"flex flex-col gap-16 w-832",children:[r,a,t("div",{className:"grid grid-cols-2 gap-16",children:[e(et,{}),e(er,{})]})]}),o[2]=n):n=o[2],n},meta:{title:"Data Display/SimpleCharts/Overview",parameters:{layout:"padded",docs:{description:{component:"The family of self-contained charts for a dashboard card: each owns its own data and they all share one frame — `Chart`, with `ChartHeader`, `ChartTitle` and `ChartActions`. This page is the family portrait, for checking they still read as one system after any one of them changes; the API and the interaction stories live on each chart's own page, and `Chart` by itself is the frame rather than a chart to reach for."}}},tags:["autodocs"]}}];function ec({entry:e}){let{story:t,meta:r}=e,a={...r.args,...t.args},n="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,l=()=>eo.default.createElement(n,a),o={args:a,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=l;l=()=>e(t,o)}return eo.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},eo.default.createElement("h2",{className:"text-sm mb-12"},e.name),eo.default.createElement(l))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(eo.default.createElement(window.WallarmDS.Root,null,ei.map((e,t)=>eo.default.createElement(ec,{key:t,entry:e})))),t}}})();
@@ -13,10 +13,10 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
13
13
  | `default-page-size` | `number \| undefined` | no | — | Uncontrolled initial items-per-page. |
14
14
  | `sibling-count` | `number \| undefined` | no | — | Pages shown beside the active page. |
15
15
  | `boundary-count` | `number \| undefined` | no | — | Pages shown at the start/end. |
16
- | `on-page-change` | `complex` | no | — | |
17
- | `on-page-size-change` | `complex` | no | — | |
16
+ | `on-page-change` | `((details: PaginationPageChangeDetails) => void) \| undefined` | no | — | |
17
+ | `on-page-size-change` | `((details: PaginationPageSizeChangeDetails) => void) \| undefined` | no | — | |
18
18
  | `type` | `"button" \| "link" \| undefined` | no | — | Trigger element type. |
19
- | `get-page-url` | `complex` | no | — | |
19
+ | `get-page-url` | `((details: PaginationPageChangeDetails) => string) \| undefined` | no | — | |
20
20
  | `size` | `"medium" \| "small"` | no | `medium` | Visual size. |
21
21
  | `align` | `"left" \| "center" \| "right"` | no | `left` | Horizontal alignment of the row. |
22
22
  | `aria-label` | `string \| undefined` | no | `PAGINATION_ROOT_LABEL` | |
@@ -6,7 +6,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
6
6
 
7
7
  | Attribute | Type | Required | Default | Description |
8
8
  | --- | --- | --- | --- | --- |
9
- | `method` | `"GET" \| "POST" \| "PUT" \| "PATCH" \| "DELETE" \| "HEAD" \| "OPTIONS"` | no | — | |
9
+ | `method` | `HttpMethodName \| undefined` | no | — | |
10
10
  | `segments` | `string[]` | yes | — | |
11
11
  | `encoding` | `string \| undefined` | no | — | |
12
12
  | `attack` | `boolean \| undefined` | no | `false` | |
@@ -14,7 +14,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
14
14
  | `expanded` | `boolean` | no | `false` | Controlled expanded state. When provided, the component does not manage its own state — pair it with {@link onExpandedChange}. |
15
15
  | `default-expanded` | `boolean \| undefined` | no | `false` | Initial expanded state for the uncontrolled case. Ignored when `expanded` is provided. Defaults to `false`. |
16
16
  | `on-expanded-change` | `((expanded: boolean) => void) \| undefined` | no | — | Called with the next expanded state whenever the user toggles the path. Required for controlled usage; also useful for analytics in the uncontrolled case. |
17
- | `copy-format` | `complex` | no | `formatAsFilter` | |
17
+ | `copy-format` | `((data: CopyFormatData) => string) \| undefined` | no | `formatAsFilter` | |
18
18
  | `title` | `string \| undefined` | no | — | |
19
19
  | `default-checked` | `boolean \| undefined` | no | — | |
20
20
  | `default-value` | `string \| number \| readonly string[] \| undefined` | no | — | |
@@ -6,7 +6,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
6
6
 
7
7
  | Attribute | Type | Required | Default | Description |
8
8
  | --- | --- | --- | --- | --- |
9
- | `items` | `complex` | yes | — | |
9
+ | `items` | `PasswordComplexityItem[]` | yes | — | |
10
10
  | `title` | `string \| undefined` | no | — | |
11
11
  | `default-checked` | `boolean \| undefined` | no | — | |
12
12
  | `default-value` | `string \| number \| readonly string[] \| undefined` | no | — | |
@@ -6,7 +6,7 @@ Use kebab-case attribute names. Pass non-string values through renderVals holes,
6
6
 
7
7
  | Attribute | Type | Required | Default | Description |
8
8
  | --- | --- | --- | --- | --- |
9
- | `data` | `complex` | yes | — | Each datum's `name` is the join key used by `PieChartLegendItem` to sync hover/active state. Non-finite or negative `value`s are coerced to 0 so recharts can draw them. |
9
+ | `data` | `PieChartDatum[]` | yes | — | Each datum's `name` is the join key used by `PieChartLegendItem` to sync hover/active state. Non-finite or negative `value`s are coerced to 0 so recharts can draw them. |
10
10
  | `total` | `number \| undefined` | no | — | Override for the value used to compute percentages and the centre total. Defaults to `sum(data.value)`. Pass an explicit value when the centre label should reflect a different denominator — e.g. the unfiltered total while the chart shows a filtered view. |
11
11
  | `active-name` | `string \| null \| undefined` | no | — | Controlled active slice. When provided, the component does not manage hover state internally — the parent must update it via `onActiveNameChange`. |
12
12
  | `on-active-name-change` | `((name: string \| null) => void) \| undefined` | no | — | |
@@ -230,10 +230,6 @@ const meta = {
230
230
  },
231
231
  parameters: {
232
232
  layout: 'padded',
233
- design: {
234
- type: 'figma',
235
- url: 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=7490-122167&m=dev',
236
- },
237
233
  docs: { description: { component: DESCRIPTION } },
238
234
  },
239
235
  tags: ['autodocs'],