@xcelsior/ui-spreadsheets 1.2.2 → 1.3.1

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 (99) hide show
  1. package/.omc/state/agent-replay-0cead415-b3bd-40fd-b199-47371946c4db.jsonl +27 -0
  2. package/.omc/state/idle-notif-cooldown.json +3 -0
  3. package/.omc/state/last-tool-error.json +7 -0
  4. package/.omc/state/mission-state.json +189 -0
  5. package/.omc/state/subagent-tracking.json +125 -0
  6. package/.turbo/turbo-build.log +28 -28
  7. package/.turbo/turbo-lint.log +140 -0
  8. package/dist/index.d.mts +94 -4
  9. package/dist/index.d.ts +94 -4
  10. package/dist/index.js +2134 -1157
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.mjs +2024 -1049
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/styles/globals.css +156 -16
  15. package/dist/styles/globals.css.map +1 -1
  16. package/package.json +1 -1
  17. package/plans/20260330-1230-spreadsheet-features/phase-01-types-and-duplicates-hook.md +73 -0
  18. package/plans/20260330-1230-spreadsheet-features/phase-02-filter-dropdown-portal.md +90 -0
  19. package/plans/20260330-1230-spreadsheet-features/phase-03-header-overflow-menu.md +101 -0
  20. package/plans/20260330-1230-spreadsheet-features/phase-04-integration.md +193 -0
  21. package/plans/20260330-1230-spreadsheet-features/plan.md +59 -0
  22. package/src/components/ColorPickerPopover.tsx +77 -32
  23. package/src/components/ColumnHeaderActions.tsx +241 -1
  24. package/src/components/RowIndexColumnHeader.tsx +13 -17
  25. package/src/components/SelectionSummaryBar.tsx +103 -0
  26. package/src/components/Spreadsheet.stories.tsx +254 -0
  27. package/src/components/Spreadsheet.tsx +235 -190
  28. package/src/components/SpreadsheetCell.tsx +280 -42
  29. package/src/components/SpreadsheetFilterDropdown.tsx +178 -13
  30. package/src/components/SpreadsheetHeader.tsx +79 -24
  31. package/src/components/SpreadsheetSettingsModal.tsx +4 -0
  32. package/src/hooks/useSpreadsheetColumnResize.ts +143 -0
  33. package/src/hooks/useSpreadsheetDuplicates.ts +149 -0
  34. package/src/hooks/useSpreadsheetFiltering.ts +18 -1
  35. package/src/hooks/useSpreadsheetHighlighting.ts +23 -3
  36. package/src/hooks/useSpreadsheetKeyboardShortcuts.ts +16 -0
  37. package/src/hooks/useSpreadsheetPinning.ts +148 -134
  38. package/src/hooks/useSpreadsheetSelection.ts +10 -22
  39. package/src/hooks/useSpreadsheetSummary.ts +68 -0
  40. package/src/index.ts +4 -1
  41. package/src/styles/globals.css +51 -0
  42. package/src/types.ts +50 -2
  43. package/storybook-static/assets/Color-YHDXOIA2-CtQurLnT.js +1 -0
  44. package/storybook-static/assets/DocsRenderer-CFRXHY34-oxrW8Hvo.js +575 -0
  45. package/storybook-static/assets/Spreadsheet.stories-DvhhzuK4.js +1357 -0
  46. package/storybook-static/assets/chunk-XP5HYGXS-BpfKkqn7.js +1 -0
  47. package/storybook-static/assets/entry-preview-CkBGHCAN.js +2 -0
  48. package/storybook-static/assets/entry-preview-docs-ugJb6pa8.js +46 -0
  49. package/storybook-static/assets/iframe-CPp2u3vg.js +211 -0
  50. package/storybook-static/assets/index-BB9bPxRC.js +24 -0
  51. package/storybook-static/assets/index-BQFlzFLk.js +9 -0
  52. package/storybook-static/assets/index-CtvPRVHf.js +9 -0
  53. package/storybook-static/assets/index-DgH-xKnr.js +11 -0
  54. package/storybook-static/assets/index-DrFu-skq.js +6 -0
  55. package/storybook-static/assets/index-DrdPSA1J.js +240 -0
  56. package/storybook-static/assets/index-DzFBShOR.js +20 -0
  57. package/storybook-static/assets/index-v-1boR4t.js +1 -0
  58. package/storybook-static/assets/preview-B8lJiyuQ.js +34 -0
  59. package/storybook-static/assets/preview-BBWR9nbA.js +1 -0
  60. package/storybook-static/assets/preview-BWzBA1C2.js +396 -0
  61. package/storybook-static/assets/preview-Bm0S-uxO.css +1 -0
  62. package/storybook-static/assets/preview-CvbIS5ZJ.js +1 -0
  63. package/storybook-static/assets/preview-DD_OYowb.js +1 -0
  64. package/storybook-static/assets/preview-DGUiP6tS.js +7 -0
  65. package/storybook-static/assets/preview-DHQbi4pV.js +1 -0
  66. package/storybook-static/assets/preview-DwI0w3cI.js +1 -0
  67. package/storybook-static/assets/preview-DyR7iiFG.js +1 -0
  68. package/storybook-static/assets/preview-zxZ6Be2V.js +2 -0
  69. package/storybook-static/assets/react-18-Pj8skaX9.js +1 -0
  70. package/storybook-static/assets/test-utils-quxJ1Z79.js +9 -0
  71. package/storybook-static/favicon.svg +1 -0
  72. package/storybook-static/iframe.html +666 -0
  73. package/storybook-static/index.html +177 -0
  74. package/storybook-static/index.json +1 -0
  75. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  76. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  77. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  78. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  79. package/storybook-static/project.json +1 -0
  80. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +3 -0
  81. package/storybook-static/sb-addons/essentials-backgrounds-5/manager-bundle.js +12 -0
  82. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +405 -0
  83. package/storybook-static/sb-addons/essentials-docs-4/manager-bundle.js +245 -0
  84. package/storybook-static/sb-addons/essentials-measure-8/manager-bundle.js +3 -0
  85. package/storybook-static/sb-addons/essentials-outline-9/manager-bundle.js +3 -0
  86. package/storybook-static/sb-addons/essentials-toolbars-7/manager-bundle.js +3 -0
  87. package/storybook-static/sb-addons/essentials-viewport-6/manager-bundle.js +3 -0
  88. package/storybook-static/sb-addons/interactions-10/manager-bundle.js +222 -0
  89. package/storybook-static/sb-addons/links-1/manager-bundle.js +3 -0
  90. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
  91. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  92. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  93. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  94. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  95. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  96. package/storybook-static/sb-manager/globals-module-info.js +1052 -0
  97. package/storybook-static/sb-manager/globals-runtime.js +42127 -0
  98. package/storybook-static/sb-manager/globals.js +48 -0
  99. package/storybook-static/sb-manager/runtime.js +12048 -0
@@ -0,0 +1 @@
1
+ import{R as e}from"./index-CtvPRVHf.js";const o={},c=e.createContext(o);function u(n){const t=e.useContext(c);return e.useMemo(function(){return typeof n=="function"?n(t):{...t,...n}},[t,n])}function m(n){let t;return n.disableParentContext?t=typeof n.components=="function"?n.components(o):n.components||o:t=u(n.components),e.createElement(c.Provider,{value:t},n.children)}export{m as MDXProvider,u as useMDXComponents};
@@ -0,0 +1,34 @@
1
+ import{d as P}from"./index-DrFu-skq.js";const{useEffect:_,useMemo:h}=__STORYBOOK_MODULE_PREVIEW_API__,{global:j}=__STORYBOOK_MODULE_GLOBAL__,{logger:X}=__STORYBOOK_MODULE_CLIENT_LOGGER__;var p="backgrounds",U={light:{name:"light",value:"#F8F8F8"},dark:{name:"dark",value:"#333"}},{document:b,window:O}=j,D=()=>{var r;return!!((r=O==null?void 0:O.matchMedia("(prefers-reduced-motion: reduce)"))!=null&&r.matches)},A=r=>{(Array.isArray(r)?r:[r]).forEach(N)},N=r=>{var t;let e=b.getElementById(r);e&&((t=e.parentElement)==null||t.removeChild(e))},F=(r,e)=>{let t=b.getElementById(r);if(t)t.innerHTML!==e&&(t.innerHTML=e);else{let o=b.createElement("style");o.setAttribute("id",r),o.innerHTML=e,b.head.appendChild(o)}},Y=(r,e,t)=>{var a;let o=b.getElementById(r);if(o)o.innerHTML!==e&&(o.innerHTML=e);else{let d=b.createElement("style");d.setAttribute("id",r),d.innerHTML=e;let i=`addon-backgrounds-grid${t?`-docs-${t}`:""}`,n=b.getElementById(i);n?(a=n.parentElement)==null||a.insertBefore(d,n):b.head.appendChild(d)}},W={cellSize:100,cellAmount:10,opacity:.8},w="addon-backgrounds",R="addon-backgrounds-grid",q=D()?"":"transition: background-color 0.3s;",J=(r,e)=>{let{globals:t,parameters:o,viewMode:a,id:d}=e,{options:i=U,disable:n,grid:s=W}=o[p]||{},c=t[p]||{},u=c.value,l=u?i[u]:void 0,$=(l==null?void 0:l.value)||"transparent",f=c.grid||!1,y=!!l&&!n,m=a==="docs"?`#anchor--${d} .docs-story`:".sb-show-main",E=a==="docs"?`#anchor--${d} .docs-story`:".sb-show-main",H=o.layout===void 0||o.layout==="padded",L=a==="docs"?20:H?16:0,{cellAmount:k,cellSize:g,opacity:x,offsetX:v=L,offsetY:S=L}=s,B=a==="docs"?`${w}-docs-${d}`:`${w}-color`,G=a==="docs"?d:null;_(()=>{let M=`
2
+ ${m} {
3
+ background: ${$} !important;
4
+ ${q}
5
+ }`;if(!y){A(B);return}Y(B,M,G)},[m,B,G,y,$]);let T=a==="docs"?`${R}-docs-${d}`:`${R}`;return _(()=>{if(!f){A(T);return}let M=[`${g*k}px ${g*k}px`,`${g*k}px ${g*k}px`,`${g}px ${g}px`,`${g}px ${g}px`].join(", "),K=`
6
+ ${E} {
7
+ background-size: ${M} !important;
8
+ background-position: ${v}px ${S}px, ${v}px ${S}px, ${v}px ${S}px, ${v}px ${S}px !important;
9
+ background-blend-mode: difference !important;
10
+ background-image: linear-gradient(rgba(130, 130, 130, ${x}) 1px, transparent 1px),
11
+ linear-gradient(90deg, rgba(130, 130, 130, ${x}) 1px, transparent 1px),
12
+ linear-gradient(rgba(130, 130, 130, ${x/2}) 1px, transparent 1px),
13
+ linear-gradient(90deg, rgba(130, 130, 130, ${x/2}) 1px, transparent 1px) !important;
14
+ }
15
+ `;F(T,K)},[k,g,E,T,f,v,S,x]),r()},Q=(r,e=[],t)=>{if(r==="transparent")return"transparent";if(e.find(a=>a.value===r)||r)return r;let o=e.find(a=>a.name===t);if(o)return o.value;if(t){let a=e.map(d=>d.name).join(", ");X.warn(P`
16
+ Backgrounds Addon: could not find the default color "${t}".
17
+ These are the available colors for your story based on your configuration:
18
+ ${a}.
19
+ `)}return"transparent"},Z=(r,e)=>{var u;let{globals:t,parameters:o}=e,a=(u=t[p])==null?void 0:u.value,d=o[p],i=h(()=>d.disable?"transparent":Q(a,d.values,d.default),[d,a]),n=h(()=>i&&i!=="transparent",[i]),s=e.viewMode==="docs"?`#anchor--${e.id} .docs-story`:".sb-show-main",c=h(()=>`
20
+ ${s} {
21
+ background: ${i} !important;
22
+ ${D()?"":"transition: background-color 0.3s;"}
23
+ }
24
+ `,[i,s]);return _(()=>{let l=e.viewMode==="docs"?`addon-backgrounds-docs-${e.id}`:"addon-backgrounds-color";if(!n){A(l);return}Y(l,c,e.viewMode==="docs"?e.id:null)},[n,c,e]),r()},V=(r,e)=>{var y;let{globals:t,parameters:o}=e,a=o[p].grid,d=((y=t[p])==null?void 0:y.grid)===!0&&a.disable!==!0,{cellAmount:i,cellSize:n,opacity:s}=a,c=e.viewMode==="docs",u=o.layout===void 0||o.layout==="padded"?16:0,l=a.offsetX??(c?20:u),$=a.offsetY??(c?20:u),f=h(()=>{let m=e.viewMode==="docs"?`#anchor--${e.id} .docs-story`:".sb-show-main",E=[`${n*i}px ${n*i}px`,`${n*i}px ${n*i}px`,`${n}px ${n}px`,`${n}px ${n}px`].join(", ");return`
25
+ ${m} {
26
+ background-size: ${E} !important;
27
+ background-position: ${l}px ${$}px, ${l}px ${$}px, ${l}px ${$}px, ${l}px ${$}px !important;
28
+ background-blend-mode: difference !important;
29
+ background-image: linear-gradient(rgba(130, 130, 130, ${s}) 1px, transparent 1px),
30
+ linear-gradient(90deg, rgba(130, 130, 130, ${s}) 1px, transparent 1px),
31
+ linear-gradient(rgba(130, 130, 130, ${s/2}) 1px, transparent 1px),
32
+ linear-gradient(90deg, rgba(130, 130, 130, ${s/2}) 1px, transparent 1px) !important;
33
+ }
34
+ `},[n]);return _(()=>{let m=e.viewMode==="docs"?`addon-backgrounds-grid-docs-${e.id}`:"addon-backgrounds-grid";if(!d){A(m);return}F(m,f)},[d,f,e]),r()},C,ae=(C=globalThis.FEATURES)!=null&&C.backgroundsStoryGlobals?[J]:[V,Z],I,oe={[p]:{grid:{cellSize:20,opacity:.5,cellAmount:5},disable:!1,...!((I=globalThis.FEATURES)!=null&&I.backgroundsStoryGlobals)&&{values:Object.values(U)}}},ee={[p]:{value:void 0,grid:!1}},z,de=(z=globalThis.FEATURES)!=null&&z.backgroundsStoryGlobals?ee:{[p]:null};export{ae as decorators,de as initialGlobals,oe as parameters};
@@ -0,0 +1 @@
1
+ var j="Invariant failed";function S(e,t){if(!e)throw new Error(j)}const{useEffect:T}=__STORYBOOK_MODULE_PREVIEW_API__,{global:d}=__STORYBOOK_MODULE_GLOBAL__;var K="measureEnabled";function Y(){let e=d.document.documentElement,t=Math.max(e.scrollHeight,e.offsetHeight);return{width:Math.max(e.scrollWidth,e.offsetWidth),height:t}}function G(){let e=d.document.createElement("canvas");e.id="storybook-addon-measure";let t=e.getContext("2d");S(t!=null);let{width:o,height:l}=Y();return A(e,t,{width:o,height:l}),e.style.position="absolute",e.style.left="0",e.style.top="0",e.style.zIndex="2147483647",e.style.pointerEvents="none",d.document.body.appendChild(e),{canvas:e,context:t,width:o,height:l}}function A(e,t,{width:o,height:l}){e.style.width=`${o}px`,e.style.height=`${l}px`;let i=d.window.devicePixelRatio;e.width=Math.floor(o*i),e.height=Math.floor(l*i),t.scale(i,i)}var h={};function U(){h.canvas||(h=G())}function H(){h.context&&h.context.clearRect(0,0,h.width??0,h.height??0)}function V(e){H(),e(h.context)}function Z(){S(h.canvas),S(h.context),A(h.canvas,h.context,{width:0,height:0});let{width:e,height:t}=Y();A(h.canvas,h.context,{width:e,height:t}),h.width=e,h.height=t}function J(){var e;h.canvas&&(H(),(e=h.canvas.parentNode)==null||e.removeChild(h.canvas),h={})}var w={margin:"#f6b26b",border:"#ffe599",padding:"#93c47d",content:"#6fa8dc",text:"#232020"},c=6;function W(e,{x:t,y:o,w:l,h:i,r:n}){t=t-l/2,o=o-i/2,l<2*n&&(n=l/2),i<2*n&&(n=i/2),e.beginPath(),e.moveTo(t+n,o),e.arcTo(t+l,o,t+l,o+i,n),e.arcTo(t+l,o+i,t,o+i,n),e.arcTo(t,o+i,t,o,n),e.arcTo(t,o,t+l,o,n),e.closePath()}function Q(e,{padding:t,border:o,width:l,height:i,top:n,left:r}){let f=l-o.left-o.right-t.left-t.right,a=i-t.top-t.bottom-o.top-o.bottom,s=r+o.left+t.left,u=n+o.top+t.top;return e==="top"?s+=f/2:e==="right"?(s+=f,u+=a/2):e==="bottom"?(s+=f/2,u+=a):e==="left"?u+=a/2:e==="center"&&(s+=f/2,u+=a/2),{x:s,y:u}}function x(e,t,{margin:o,border:l,padding:i},n,r){let f=m=>0,a=0,s=0,u=r?1:.5,g=r?n*2:0;return e==="padding"?f=m=>i[m]*u+g:e==="border"?f=m=>i[m]+l[m]*u+g:e==="margin"&&(f=m=>i[m]+l[m]+o[m]*u+g),t==="top"?s=-f("top"):t==="right"?a=f("right"):t==="bottom"?s=f("bottom"):t==="left"&&(a=-f("left")),{offsetX:a,offsetY:s}}function tt(e,t){return Math.abs(e.x-t.x)<Math.abs(e.w+t.w)/2&&Math.abs(e.y-t.y)<Math.abs(e.h+t.h)/2}function et(e,t,o){return e==="top"?t.y=o.y-o.h-c:e==="right"?t.x=o.x+o.w/2+c+t.w/2:e==="bottom"?t.y=o.y+o.h+c:e==="left"&&(t.x=o.x-o.w/2-c-t.w/2),{x:t.x,y:t.y}}function X(e,t,{x:o,y:l,w:i,h:n},r){return W(e,{x:o,y:l,w:i,h:n,r:3}),e.fillStyle=`${w[t]}dd`,e.fill(),e.strokeStyle=w[t],e.stroke(),e.fillStyle=w.text,e.fillText(r,o,l),W(e,{x:o,y:l,w:i,h:n,r:3}),e.fillStyle=`${w[t]}dd`,e.fill(),e.strokeStyle=w[t],e.stroke(),e.fillStyle=w.text,e.fillText(r,o,l),{x:o,y:l,w:i,h:n}}function C(e,t){e.font="600 12px monospace",e.textBaseline="middle",e.textAlign="center";let o=e.measureText(t),l=o.actualBoundingBoxAscent+o.actualBoundingBoxDescent,i=o.width+c*2,n=l+c*2;return{w:i,h:n}}function ot(e,t,{type:o,position:l="center",text:i},n,r=!1){let{x:f,y:a}=Q(l,t),{offsetX:s,offsetY:u}=x(o,l,t,c+1,r);f+=s,a+=u;let{w:g,h:m}=C(e,i);if(n&&tt({x:f,y:a,w:g,h:m},n)){let v=et(l,{x:f,y:a,w:g},n);f=v.x,a=v.y}return X(e,o,{x:f,y:a,w:g,h:m},i)}function it(e,{w:t,h:o}){let l=t*.5+c,i=o*.5+c;return{offsetX:(e.x==="left"?-1:1)*l,offsetY:(e.y==="top"?-1:1)*i}}function lt(e,t,{type:o,text:l}){let{floatingAlignment:i,extremities:n}=t,r=n[i.x],f=n[i.y],{w:a,h:s}=C(e,l),{offsetX:u,offsetY:g}=it(i,{w:a,h:s});return r+=u,f+=g,X(e,o,{x:r,y:f,w:a,h:s},l)}function E(e,t,o,l){let i=[];o.forEach((n,r)=>{let f=l&&n.position==="center"?lt(e,t,n):ot(e,t,n,i[r-1],l);i[r]=f})}function nt(e,t,o,l){let i=o.reduce((n,r)=>{var f;return Object.prototype.hasOwnProperty.call(n,r.position)||(n[r.position]=[]),(f=n[r.position])==null||f.push(r),n},{});i.top&&E(e,t,i.top,l),i.right&&E(e,t,i.right,l),i.bottom&&E(e,t,i.bottom,l),i.left&&E(e,t,i.left,l),i.center&&E(e,t,i.center,l)}var L={margin:"#f6b26ba8",border:"#ffe599a8",padding:"#93c47d8c",content:"#6fa8dca8"},B=30;function p(e){return parseInt(e.replace("px",""),10)}function b(e){return Number.isInteger(e)?e:e.toFixed(2)}function P(e){return e.filter(t=>t.text!==0&&t.text!=="0")}function ft(e){let t={top:d.window.scrollY,bottom:d.window.scrollY+d.window.innerHeight,left:d.window.scrollX,right:d.window.scrollX+d.window.innerWidth},o={top:Math.abs(t.top-e.top),bottom:Math.abs(t.bottom-e.bottom),left:Math.abs(t.left-e.left),right:Math.abs(t.right-e.right)};return{x:o.left>o.right?"left":"right",y:o.top>o.bottom?"top":"bottom"}}function rt(e){let t=d.getComputedStyle(e),{top:o,left:l,right:i,bottom:n,width:r,height:f}=e.getBoundingClientRect(),{marginTop:a,marginBottom:s,marginLeft:u,marginRight:g,paddingTop:m,paddingBottom:v,paddingLeft:k,paddingRight:F,borderBottomWidth:I,borderTopWidth:D,borderLeftWidth:$,borderRightWidth:N}=t;o=o+d.window.scrollY,l=l+d.window.scrollX,n=n+d.window.scrollY,i=i+d.window.scrollX;let y={top:p(a),bottom:p(s),left:p(u),right:p(g)},q={top:p(m),bottom:p(v),left:p(k),right:p(F)},z={top:p(D),bottom:p(I),left:p($),right:p(N)},_={top:o-y.top,bottom:n+y.bottom,left:l-y.left,right:i+y.right};return{margin:y,padding:q,border:z,top:o,left:l,bottom:n,right:i,width:r,height:f,extremities:_,floatingAlignment:ft(_)}}function at(e,{margin:t,width:o,height:l,top:i,left:n,bottom:r,right:f}){let a=l+t.bottom+t.top;e.fillStyle=L.margin,e.fillRect(n,i-t.top,o,t.top),e.fillRect(f,i-t.top,t.right,a),e.fillRect(n,r,o,t.bottom),e.fillRect(n-t.left,i-t.top,t.left,a);let s=[{type:"margin",text:b(t.top),position:"top"},{type:"margin",text:b(t.right),position:"right"},{type:"margin",text:b(t.bottom),position:"bottom"},{type:"margin",text:b(t.left),position:"left"}];return P(s)}function st(e,{padding:t,border:o,width:l,height:i,top:n,left:r,bottom:f,right:a}){let s=l-o.left-o.right,u=i-t.top-t.bottom-o.top-o.bottom;e.fillStyle=L.padding,e.fillRect(r+o.left,n+o.top,s,t.top),e.fillRect(a-t.right-o.right,n+t.top+o.top,t.right,u),e.fillRect(r+o.left,f-t.bottom-o.bottom,s,t.bottom),e.fillRect(r+o.left,n+t.top+o.top,t.left,u);let g=[{type:"padding",text:t.top,position:"top"},{type:"padding",text:t.right,position:"right"},{type:"padding",text:t.bottom,position:"bottom"},{type:"padding",text:t.left,position:"left"}];return P(g)}function ht(e,{border:t,width:o,height:l,top:i,left:n,bottom:r,right:f}){let a=l-t.top-t.bottom;e.fillStyle=L.border,e.fillRect(n,i,o,t.top),e.fillRect(n,r-t.bottom,o,t.bottom),e.fillRect(n,i+t.top,t.left,a),e.fillRect(f-t.right,i+t.top,t.right,a);let s=[{type:"border",text:t.top,position:"top"},{type:"border",text:t.right,position:"right"},{type:"border",text:t.bottom,position:"bottom"},{type:"border",text:t.left,position:"left"}];return P(s)}function ut(e,{padding:t,border:o,width:l,height:i,top:n,left:r}){let f=l-o.left-o.right-t.left-t.right,a=i-t.top-t.bottom-o.top-o.bottom;return e.fillStyle=L.content,e.fillRect(r+o.left+t.left,n+o.top+t.top,f,a),[{type:"content",position:"center",text:`${b(f)} x ${b(a)}`}]}function dt(e){return t=>{if(e&&t){let o=rt(e),l=at(t,o),i=st(t,o),n=ht(t,o),r=ut(t,o),f=o.width<=B*3||o.height<=B;nt(t,o,[...r,...i,...n,...l],f)}}}function mt(e){V(dt(e))}var gt=(e,t)=>{let o=d.document.elementFromPoint(e,t),l=i=>{if(i&&i.shadowRoot){let n=i.shadowRoot.elementFromPoint(e,t);return i.isEqualNode(n)?i:n.shadowRoot?l(n):n}return i};return l(o)||o},O,M={x:0,y:0};function R(e,t){O=gt(e,t),mt(O)}var pt=(e,t)=>{let{measureEnabled:o}=t.globals;return T(()=>{let l=i=>{window.requestAnimationFrame(()=>{i.stopPropagation(),M.x=i.clientX,M.y=i.clientY})};return document.addEventListener("pointermove",l),()=>{document.removeEventListener("pointermove",l)}},[]),T(()=>{let l=n=>{window.requestAnimationFrame(()=>{n.stopPropagation(),R(n.clientX,n.clientY)})},i=()=>{window.requestAnimationFrame(()=>{Z()})};return t.viewMode==="story"&&o&&(document.addEventListener("pointerover",l),U(),window.addEventListener("resize",i),R(M.x,M.y)),()=>{window.removeEventListener("resize",i),J()}},[o,t.viewMode]),e()},ct=[pt],wt={[K]:!1};export{ct as decorators,wt as initialGlobals};
@@ -0,0 +1,396 @@
1
+ import{d as $}from"./index-DrFu-skq.js";const{useMemo:x,useEffect:f}=__STORYBOOK_MODULE_PREVIEW_API__,{global:p}=__STORYBOOK_MODULE_GLOBAL__;var m="outline",u=i=>{(Array.isArray(i)?i:[i]).forEach(r)},r=i=>{let t=typeof i=="string"?i:i.join(""),o=p.document.getElementById(t);o&&o.parentElement&&o.parentElement.removeChild(o)},b=(i,t)=>{let o=p.document.getElementById(i);if(o)o.innerHTML!==t&&(o.innerHTML=t);else{let n=p.document.createElement("style");n.setAttribute("id",i),n.innerHTML=t,p.document.head.appendChild(n)}};function s(i){return $`
2
+ ${i} body {
3
+ outline: 1px solid #2980b9 !important;
4
+ }
5
+
6
+ ${i} article {
7
+ outline: 1px solid #3498db !important;
8
+ }
9
+
10
+ ${i} nav {
11
+ outline: 1px solid #0088c3 !important;
12
+ }
13
+
14
+ ${i} aside {
15
+ outline: 1px solid #33a0ce !important;
16
+ }
17
+
18
+ ${i} section {
19
+ outline: 1px solid #66b8da !important;
20
+ }
21
+
22
+ ${i} header {
23
+ outline: 1px solid #99cfe7 !important;
24
+ }
25
+
26
+ ${i} footer {
27
+ outline: 1px solid #cce7f3 !important;
28
+ }
29
+
30
+ ${i} h1 {
31
+ outline: 1px solid #162544 !important;
32
+ }
33
+
34
+ ${i} h2 {
35
+ outline: 1px solid #314e6e !important;
36
+ }
37
+
38
+ ${i} h3 {
39
+ outline: 1px solid #3e5e85 !important;
40
+ }
41
+
42
+ ${i} h4 {
43
+ outline: 1px solid #449baf !important;
44
+ }
45
+
46
+ ${i} h5 {
47
+ outline: 1px solid #c7d1cb !important;
48
+ }
49
+
50
+ ${i} h6 {
51
+ outline: 1px solid #4371d0 !important;
52
+ }
53
+
54
+ ${i} main {
55
+ outline: 1px solid #2f4f90 !important;
56
+ }
57
+
58
+ ${i} address {
59
+ outline: 1px solid #1a2c51 !important;
60
+ }
61
+
62
+ ${i} div {
63
+ outline: 1px solid #036cdb !important;
64
+ }
65
+
66
+ ${i} p {
67
+ outline: 1px solid #ac050b !important;
68
+ }
69
+
70
+ ${i} hr {
71
+ outline: 1px solid #ff063f !important;
72
+ }
73
+
74
+ ${i} pre {
75
+ outline: 1px solid #850440 !important;
76
+ }
77
+
78
+ ${i} blockquote {
79
+ outline: 1px solid #f1b8e7 !important;
80
+ }
81
+
82
+ ${i} ol {
83
+ outline: 1px solid #ff050c !important;
84
+ }
85
+
86
+ ${i} ul {
87
+ outline: 1px solid #d90416 !important;
88
+ }
89
+
90
+ ${i} li {
91
+ outline: 1px solid #d90416 !important;
92
+ }
93
+
94
+ ${i} dl {
95
+ outline: 1px solid #fd3427 !important;
96
+ }
97
+
98
+ ${i} dt {
99
+ outline: 1px solid #ff0043 !important;
100
+ }
101
+
102
+ ${i} dd {
103
+ outline: 1px solid #e80174 !important;
104
+ }
105
+
106
+ ${i} figure {
107
+ outline: 1px solid #ff00bb !important;
108
+ }
109
+
110
+ ${i} figcaption {
111
+ outline: 1px solid #bf0032 !important;
112
+ }
113
+
114
+ ${i} table {
115
+ outline: 1px solid #00cc99 !important;
116
+ }
117
+
118
+ ${i} caption {
119
+ outline: 1px solid #37ffc4 !important;
120
+ }
121
+
122
+ ${i} thead {
123
+ outline: 1px solid #98daca !important;
124
+ }
125
+
126
+ ${i} tbody {
127
+ outline: 1px solid #64a7a0 !important;
128
+ }
129
+
130
+ ${i} tfoot {
131
+ outline: 1px solid #22746b !important;
132
+ }
133
+
134
+ ${i} tr {
135
+ outline: 1px solid #86c0b2 !important;
136
+ }
137
+
138
+ ${i} th {
139
+ outline: 1px solid #a1e7d6 !important;
140
+ }
141
+
142
+ ${i} td {
143
+ outline: 1px solid #3f5a54 !important;
144
+ }
145
+
146
+ ${i} col {
147
+ outline: 1px solid #6c9a8f !important;
148
+ }
149
+
150
+ ${i} colgroup {
151
+ outline: 1px solid #6c9a9d !important;
152
+ }
153
+
154
+ ${i} button {
155
+ outline: 1px solid #da8301 !important;
156
+ }
157
+
158
+ ${i} datalist {
159
+ outline: 1px solid #c06000 !important;
160
+ }
161
+
162
+ ${i} fieldset {
163
+ outline: 1px solid #d95100 !important;
164
+ }
165
+
166
+ ${i} form {
167
+ outline: 1px solid #d23600 !important;
168
+ }
169
+
170
+ ${i} input {
171
+ outline: 1px solid #fca600 !important;
172
+ }
173
+
174
+ ${i} keygen {
175
+ outline: 1px solid #b31e00 !important;
176
+ }
177
+
178
+ ${i} label {
179
+ outline: 1px solid #ee8900 !important;
180
+ }
181
+
182
+ ${i} legend {
183
+ outline: 1px solid #de6d00 !important;
184
+ }
185
+
186
+ ${i} meter {
187
+ outline: 1px solid #e8630c !important;
188
+ }
189
+
190
+ ${i} optgroup {
191
+ outline: 1px solid #b33600 !important;
192
+ }
193
+
194
+ ${i} option {
195
+ outline: 1px solid #ff8a00 !important;
196
+ }
197
+
198
+ ${i} output {
199
+ outline: 1px solid #ff9619 !important;
200
+ }
201
+
202
+ ${i} progress {
203
+ outline: 1px solid #e57c00 !important;
204
+ }
205
+
206
+ ${i} select {
207
+ outline: 1px solid #e26e0f !important;
208
+ }
209
+
210
+ ${i} textarea {
211
+ outline: 1px solid #cc5400 !important;
212
+ }
213
+
214
+ ${i} details {
215
+ outline: 1px solid #33848f !important;
216
+ }
217
+
218
+ ${i} summary {
219
+ outline: 1px solid #60a1a6 !important;
220
+ }
221
+
222
+ ${i} command {
223
+ outline: 1px solid #438da1 !important;
224
+ }
225
+
226
+ ${i} menu {
227
+ outline: 1px solid #449da6 !important;
228
+ }
229
+
230
+ ${i} del {
231
+ outline: 1px solid #bf0000 !important;
232
+ }
233
+
234
+ ${i} ins {
235
+ outline: 1px solid #400000 !important;
236
+ }
237
+
238
+ ${i} img {
239
+ outline: 1px solid #22746b !important;
240
+ }
241
+
242
+ ${i} iframe {
243
+ outline: 1px solid #64a7a0 !important;
244
+ }
245
+
246
+ ${i} embed {
247
+ outline: 1px solid #98daca !important;
248
+ }
249
+
250
+ ${i} object {
251
+ outline: 1px solid #00cc99 !important;
252
+ }
253
+
254
+ ${i} param {
255
+ outline: 1px solid #37ffc4 !important;
256
+ }
257
+
258
+ ${i} video {
259
+ outline: 1px solid #6ee866 !important;
260
+ }
261
+
262
+ ${i} audio {
263
+ outline: 1px solid #027353 !important;
264
+ }
265
+
266
+ ${i} source {
267
+ outline: 1px solid #012426 !important;
268
+ }
269
+
270
+ ${i} canvas {
271
+ outline: 1px solid #a2f570 !important;
272
+ }
273
+
274
+ ${i} track {
275
+ outline: 1px solid #59a600 !important;
276
+ }
277
+
278
+ ${i} map {
279
+ outline: 1px solid #7be500 !important;
280
+ }
281
+
282
+ ${i} area {
283
+ outline: 1px solid #305900 !important;
284
+ }
285
+
286
+ ${i} a {
287
+ outline: 1px solid #ff62ab !important;
288
+ }
289
+
290
+ ${i} em {
291
+ outline: 1px solid #800b41 !important;
292
+ }
293
+
294
+ ${i} strong {
295
+ outline: 1px solid #ff1583 !important;
296
+ }
297
+
298
+ ${i} i {
299
+ outline: 1px solid #803156 !important;
300
+ }
301
+
302
+ ${i} b {
303
+ outline: 1px solid #cc1169 !important;
304
+ }
305
+
306
+ ${i} u {
307
+ outline: 1px solid #ff0430 !important;
308
+ }
309
+
310
+ ${i} s {
311
+ outline: 1px solid #f805e3 !important;
312
+ }
313
+
314
+ ${i} small {
315
+ outline: 1px solid #d107b2 !important;
316
+ }
317
+
318
+ ${i} abbr {
319
+ outline: 1px solid #4a0263 !important;
320
+ }
321
+
322
+ ${i} q {
323
+ outline: 1px solid #240018 !important;
324
+ }
325
+
326
+ ${i} cite {
327
+ outline: 1px solid #64003c !important;
328
+ }
329
+
330
+ ${i} dfn {
331
+ outline: 1px solid #b4005a !important;
332
+ }
333
+
334
+ ${i} sub {
335
+ outline: 1px solid #dba0c8 !important;
336
+ }
337
+
338
+ ${i} sup {
339
+ outline: 1px solid #cc0256 !important;
340
+ }
341
+
342
+ ${i} time {
343
+ outline: 1px solid #d6606d !important;
344
+ }
345
+
346
+ ${i} code {
347
+ outline: 1px solid #e04251 !important;
348
+ }
349
+
350
+ ${i} kbd {
351
+ outline: 1px solid #5e001f !important;
352
+ }
353
+
354
+ ${i} samp {
355
+ outline: 1px solid #9c0033 !important;
356
+ }
357
+
358
+ ${i} var {
359
+ outline: 1px solid #d90047 !important;
360
+ }
361
+
362
+ ${i} mark {
363
+ outline: 1px solid #ff0053 !important;
364
+ }
365
+
366
+ ${i} bdi {
367
+ outline: 1px solid #bf3668 !important;
368
+ }
369
+
370
+ ${i} bdo {
371
+ outline: 1px solid #6f1400 !important;
372
+ }
373
+
374
+ ${i} ruby {
375
+ outline: 1px solid #ff7b93 !important;
376
+ }
377
+
378
+ ${i} rt {
379
+ outline: 1px solid #ff2f54 !important;
380
+ }
381
+
382
+ ${i} rp {
383
+ outline: 1px solid #803e49 !important;
384
+ }
385
+
386
+ ${i} span {
387
+ outline: 1px solid #cc2643 !important;
388
+ }
389
+
390
+ ${i} br {
391
+ outline: 1px solid #db687d !important;
392
+ }
393
+
394
+ ${i} wbr {
395
+ outline: 1px solid #db175b !important;
396
+ }`}var e=(i,t)=>{let{globals:o}=t,n=[!0,"true"].includes(o[m]),d=t.viewMode==="docs",l=x(()=>s(d?'[data-story-block="true"]':".sb-show-main"),[t]);return f(()=>{let a=d?`addon-outline-docs-${t.id}`:"addon-outline";return n?b(a,l):u(a),()=>{u(a)}},[n,l,t]),i()},h=[e],g={[m]:!1};export{h as decorators,g as initialGlobals};