@sanity/table 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,9 +1,9 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2022 ʞunp ʇɹǝdnɹ
4
- Copyright (c) 2022 Mathis Bullinger
5
- Copyright (c) 2022 Dave Lucia
6
- Copyright (c) 2022 Sanity.io
3
+ Copyright (c) 2024 ʞunp ʇɹǝdnɹ
4
+ Copyright (c) 2024 Mathis Bullinger
5
+ Copyright (c) 2024 Dave Lucia
6
+ Copyright (c) 2024 Sanity.io
7
7
 
8
8
  Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -11,25 +11,27 @@ Only the v3 version is maintained by Sanity.io.
11
11
  ## Acknowledgements
12
12
 
13
13
  Big thanks to the original contributors for their work!
14
- * Original version: [rdunk/sanity-plugin-table](https://github.com/rdunk/sanity-plugin-table).
15
- * Further improvements in fork [MathisBullinger/sanity-plugin-another-table](https://github.com/MathisBullinger/sanity-plugin-another-table).
16
- * Initial V3 port: [bitfo/sanity-plugin-table](https://github.com/bitfo/sanity-plugin-table)
14
+
15
+ - Original version: [rdunk/sanity-plugin-table](https://github.com/rdunk/sanity-plugin-table).
16
+ - Further improvements in fork [MathisBullinger/sanity-plugin-another-table](https://github.com/MathisBullinger/sanity-plugin-another-table).
17
+ - Initial V3 port: [bitfo/sanity-plugin-table](https://github.com/bitfo/sanity-plugin-table)
17
18
 
18
19
  ## Disclaimer
19
20
 
20
21
  Sometimes a table is just what you need.
21
22
  However, before using the Table plugin, consider if there are other ways to model your data that are:
22
- * easier to edit and validate
23
- * easier to query
24
23
 
25
- Approaching your schemas in a more structured manner can often pay dividends down the line.
24
+ - easier to edit and validate
25
+ - easier to query
26
+
27
+ Approaching your schemas in a more structured manner can often pay dividends down the line.
26
28
 
27
29
  ## Install
28
30
 
29
31
  Install using npm
30
32
 
31
33
  ```bash
32
- $ npm --save @sanity/table
34
+ $ npm i --save @sanity/table
33
35
  ```
34
36
 
35
37
  ## Usage
@@ -73,6 +75,22 @@ export default defineConfig({
73
75
  });
74
76
  ```
75
77
 
78
+ ## Configuration
79
+
80
+ You can optionally configure the `_type` used for the row object in the table schema by passing a `rowType` when adding the plugin. For most users this is unnecessary, but it can be useful if you are migrating from a legacy table plugin.
81
+
82
+ ```js
83
+ export default defineConfig({
84
+ // ...
85
+ plugins: [
86
+ table({
87
+ rowType: 'my-custom-row-type',
88
+ }),
89
+ ],
90
+ // ...
91
+ });
92
+ ```
93
+
76
94
  ## License
77
95
 
78
96
  [MIT](LICENSE) © ʞunp ʇɹǝdnɹ, Mathis Bullinger, Dave Lucia and Sanity.io
@@ -87,7 +105,7 @@ on how to run this plugin with hotreload in the studio.
87
105
 
88
106
  ### Release new version
89
107
 
90
- Run ["CI & Release" workflow](https://github.com/sanity-io/sanity-plugin-table/actions/workflows/main.yml).
108
+ Run ["CI & Release" workflow](https://github.com/sanity-io/table/actions/workflows/main.yml).
91
109
  Make sure to select the main branch and check "Release new version".
92
110
 
93
111
  Semantic release will only release on configured branches, so it is safe to run release on any branch.
package/lib/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?e(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}import{set as r,unset as o,defineType as l,definePlugin as i}from"sanity";import{jsx as c,jsxs as a,Fragment as s}from"react/jsx-runtime";import u,{useState as d}from"react";import{Box as p,Button as f,TextInput as h,Dialog as y,Card as m,Inline as g,MenuButton as v,Menu as w,MenuItem as b,MenuDivider as C,Text as A,Flex as k,Label as R,Grid as x}from"@sanity/ui";import{RemoveIcon as O,ControlsIcon as j,AddIcon as S,WarningOutlineIcon as I}from"@sanity/icons";var U,T=new Uint8Array(16);function z(){if(!U&&!(U="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return U(T)}var E=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function P(e){return"string"==typeof e&&E.test(e)}for(var _=[],D=0;D<256;++D)_.push((D+256).toString(16).substr(1));function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(_[e[t+0]]+_[e[t+1]]+_[e[t+2]]+_[e[t+3]]+"-"+_[e[t+4]]+_[e[t+5]]+"-"+_[e[t+6]]+_[e[t+7]]+"-"+_[e[t+8]]+_[e[t+9]]+"-"+_[e[t+10]]+_[e[t+11]]+_[e[t+12]]+_[e[t+13]]+_[e[t+14]]+_[e[t+15]]).toLowerCase();if(!P(n))throw TypeError("Stringified UUID is invalid");return n}function V(e,t,n){function r(e,r,o,l){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=function(e){if(!P(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var i=new Uint8Array(16+e.length);if(i.set(r),i.set(e,r.length),(i=n(i))[6]=15&i[6]|t,i[8]=63&i[8]|128,o){l=l||0;for(var c=0;c<16;++c)o[l+c]=i[c];return o}return M(i)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function N(e){return 14+(e+64>>>9<<4)+1}function H(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function L(e,t,n,r,o,l){return H((i=H(H(t,e),H(r,l)))<<(c=o)|i>>>32-c,n);var i,c}function F(e,t,n,r,o,l,i){return L(t&n|~t&r,e,t,o,l,i)}function J(e,t,n,r,o,l,i){return L(t&r|n&~r,e,t,o,l,i)}function B(e,t,n,r,o,l,i){return L(t^n^r,e,t,o,l,i)}function W(e,t,n,r,o,l,i){return L(n^(t|~r),e,t,o,l,i)}function $(e,t,n){var r=(e=e||{}).random||(e.rng||z)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return M(r)}function q(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function G(e,t){return e<<t|e>>>32-t}V("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",o=0;o<n;o+=8){var l=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(l>>>4&15)+r.charAt(15&l),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[N(t)-1]=t;for(var n=1732584193,r=-271733879,o=-1732584194,l=271733878,i=0;i<e.length;i+=16){var c=n,a=r,s=o,u=l;n=F(n,r,o,l,e[i],7,-680876936),l=F(l,n,r,o,e[i+1],12,-389564586),o=F(o,l,n,r,e[i+2],17,606105819),r=F(r,o,l,n,e[i+3],22,-1044525330),n=F(n,r,o,l,e[i+4],7,-176418897),l=F(l,n,r,o,e[i+5],12,1200080426),o=F(o,l,n,r,e[i+6],17,-1473231341),r=F(r,o,l,n,e[i+7],22,-45705983),n=F(n,r,o,l,e[i+8],7,1770035416),l=F(l,n,r,o,e[i+9],12,-1958414417),o=F(o,l,n,r,e[i+10],17,-42063),r=F(r,o,l,n,e[i+11],22,-1990404162),n=F(n,r,o,l,e[i+12],7,1804603682),l=F(l,n,r,o,e[i+13],12,-40341101),o=F(o,l,n,r,e[i+14],17,-1502002290),n=J(n,r=F(r,o,l,n,e[i+15],22,1236535329),o,l,e[i+1],5,-165796510),l=J(l,n,r,o,e[i+6],9,-1069501632),o=J(o,l,n,r,e[i+11],14,643717713),r=J(r,o,l,n,e[i],20,-373897302),n=J(n,r,o,l,e[i+5],5,-701558691),l=J(l,n,r,o,e[i+10],9,38016083),o=J(o,l,n,r,e[i+15],14,-660478335),r=J(r,o,l,n,e[i+4],20,-405537848),n=J(n,r,o,l,e[i+9],5,568446438),l=J(l,n,r,o,e[i+14],9,-1019803690),o=J(o,l,n,r,e[i+3],14,-187363961),r=J(r,o,l,n,e[i+8],20,1163531501),n=J(n,r,o,l,e[i+13],5,-1444681467),l=J(l,n,r,o,e[i+2],9,-51403784),o=J(o,l,n,r,e[i+7],14,1735328473),n=B(n,r=J(r,o,l,n,e[i+12],20,-1926607734),o,l,e[i+5],4,-378558),l=B(l,n,r,o,e[i+8],11,-2022574463),o=B(o,l,n,r,e[i+11],16,1839030562),r=B(r,o,l,n,e[i+14],23,-35309556),n=B(n,r,o,l,e[i+1],4,-1530992060),l=B(l,n,r,o,e[i+4],11,1272893353),o=B(o,l,n,r,e[i+7],16,-155497632),r=B(r,o,l,n,e[i+10],23,-1094730640),n=B(n,r,o,l,e[i+13],4,681279174),l=B(l,n,r,o,e[i],11,-358537222),o=B(o,l,n,r,e[i+3],16,-722521979),r=B(r,o,l,n,e[i+6],23,76029189),n=B(n,r,o,l,e[i+9],4,-640364487),l=B(l,n,r,o,e[i+12],11,-421815835),o=B(o,l,n,r,e[i+15],16,530742520),n=W(n,r=B(r,o,l,n,e[i+2],23,-995338651),o,l,e[i],6,-198630844),l=W(l,n,r,o,e[i+7],10,1126891415),o=W(o,l,n,r,e[i+14],15,-1416354905),r=W(r,o,l,n,e[i+5],21,-57434055),n=W(n,r,o,l,e[i+12],6,1700485571),l=W(l,n,r,o,e[i+3],10,-1894986606),o=W(o,l,n,r,e[i+10],15,-1051523),r=W(r,o,l,n,e[i+1],21,-2054922799),n=W(n,r,o,l,e[i+8],6,1873313359),l=W(l,n,r,o,e[i+15],10,-30611744),o=W(o,l,n,r,e[i+6],15,-1560198380),r=W(r,o,l,n,e[i+13],21,1309151649),n=W(n,r,o,l,e[i+4],6,-145523070),l=W(l,n,r,o,e[i+11],10,-1120210379),o=W(o,l,n,r,e[i+2],15,718787259),r=W(r,o,l,n,e[i+9],21,-343485551),n=H(n,c),r=H(r,a),o=H(o,s),l=H(l,u)}return[n,r,o,l]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(N(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))})),V("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var o=0;o<r.length;++o)e.push(r.charCodeAt(o))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var l=e.length/4+2,i=Math.ceil(l/16),c=new Array(i),a=0;a<i;++a){for(var s=new Uint32Array(16),u=0;u<16;++u)s[u]=e[64*a+4*u]<<24|e[64*a+4*u+1]<<16|e[64*a+4*u+2]<<8|e[64*a+4*u+3];c[a]=s}c[i-1][14]=8*(e.length-1)/Math.pow(2,32),c[i-1][14]=Math.floor(c[i-1][14]),c[i-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<i;++d){for(var p=new Uint32Array(80),f=0;f<16;++f)p[f]=c[d][f];for(var h=16;h<80;++h)p[h]=G(p[h-3]^p[h-8]^p[h-14]^p[h-16],1);for(var y=n[0],m=n[1],g=n[2],v=n[3],w=n[4],b=0;b<80;++b){var C=Math.floor(b/20),A=G(y,5)+q(C,m,g,v)+w+t[C]+p[b]>>>0;w=v,v=g,g=G(m,30)>>>0,m=y,y=A}n[0]=n[0]+y>>>0,n[1]=n[1]+m>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+v>>>0,n[4]=n[4]+w>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));const K=e=>{var t;return c("table",{style:{width:"100%"},children:a("tbody",{children:[e.rows.map(((t,n)=>{const r=(t=>(n,r)=>c("td",{children:c(h,{fontSize:1,padding:3,value:n,onChange:n=>e.updateCell(n,t,r)})},"cell-".concat(t,"-").concat(r)))(n);return a("tr",{children:[t.cells.map(r),c("td",{children:c(p,{marginLeft:1,style:{textAlign:"center"},children:c(f,{icon:O,padding:2,onClick:()=>e.removeRow(n),mode:"bleed"})})},n)]},"row-".concat(n))})),c("tr",{children:((null==(t=e.rows[0])?void 0:t.cells)||[]).map(((t,n)=>c("td",{children:c(p,{marginTop:1,style:{textAlign:"center"},children:c(f,{icon:O,padding:2,onClick:()=>e.removeColumn(n),mode:"bleed"})})},n)))})]})})},Q=e=>{const[t,n]=d(null),[r,o]=d("");return a(u.Fragment,{children:[t&&c(y,{header:"Add ".concat(t.type),id:"dialog-add",onClose:()=>n(null),zOffset:1e3,children:a(m,{padding:4,children:[c(h,{style:{textAlign:"left"},fontSize:2,padding:3,type:"number",value:r,onChange:e=>{o(e.currentTarget.value)}}),c(p,{marginTop:4,children:a(g,{space:1,style:{textAlign:"right"},children:[c(f,{text:"Cancel",mode:"ghost",onClick:()=>n(null)}),c(f,{text:"Confirm",tone:"critical",onClick:()=>{const e=parseInt(null!=r?r:"0",10);e<100&&(n(null),null==t||t.callback(e),o(void 0))}})]})})]})}),c(v,{button:c(f,{icon:j,fontSize:1,padding:2,mode:"ghost"}),id:"menu-button-example",menu:a(w,{children:[c(b,{icon:S,fontSize:1,text:"Add Row(s)",onClick:()=>{n({type:"rows",callback:t=>e.addRows(t)})}}),c(b,{icon:S,fontSize:1,text:"Add Row At Index",onClick:()=>{n({type:"rows",callback:t=>e.addRowAt(t)})}}),c(b,{icon:S,fontSize:1,text:"Add Column(s)",onClick:()=>{n({type:"columns",callback:t=>e.addColumns(t)})}}),c(b,{icon:S,fontSize:1,text:"Add Column At Index",onClick:()=>{n({type:"columns",callback:t=>e.addColumnAt(t)})}}),c(C,{}),c(b,{icon:I,fontSize:1,text:"Remove",tone:"critical",onClick:e.remove})]}),placement:e.placement})]})};var X;const Y=null!=(X=globalThis.structuredClone)?X:e=>JSON.parse(JSON.stringify(e)),Z=e=>{var n,l,i;const{value:s,onChange:u}=e,[h,v]=d(null),w=e=>u(r(e)),b=()=>{v({type:"table",callback:C})},C=()=>{u(o()),v(null)},R=e=>{if(!s)return;const t=Y(s);t.rows.forEach((t=>{t.cells.splice(e,1)})),w(t),v(null)};return a("div",{children:[h&&c(y,{header:"Remove ".concat(h.type),id:"dialog-remove",onClose:()=>v(null),zOffset:1e3,children:a(m,{padding:4,children:[a(A,{children:["Are you sure you want to remove this ",h.type,"?"]}),c(p,{marginTop:4,children:a(g,{space:1,style:{textAlign:"right"},children:[c(f,{text:"Cancel",mode:"ghost",onClick:()=>v(null)}),c(f,{text:"Confirm",tone:"critical",onClick:()=>h.callback()})]})})]})}),c(p,{children:c(k,{justify:"flex-end",children:(null==(n=null==s?void 0:s.rows)?void 0:n.length)&&c(Q,{addColumns:e=>{if(!s)return;const t=Y(s);return t.rows.forEach(((n,r)=>{for(let n=0;n<e;n++)t.rows[r].cells.push("")})),w(t)},addColumnAt:e=>{if(!s)return;const t=Y(s);return t.rows.forEach(((n,r)=>{t.rows[r].cells.splice(e,0,"")})),w(t)},addRows:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;var t;if(!s)return;const n=Y(s),r=null!=(t=null==s?void 0:s.rows[0].cells.length)?t:0;for(let t=0;t<e;t++)n.rows.push({_type:"tableRow",_key:$(),cells:Array(r).fill("")});return w(n)},addRowAt:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(!s)return;const t=Y(s),n=s.rows[0].cells.length;return t.rows.splice(e,0,{_type:"tableRow",_key:$(),cells:Array(n).fill("")}),w(t)},remove:b,placement:"left"})})}),(null==(l=null==s?void 0:s.rows)?void 0:l.length)&&c(K,{rows:s.rows,removeRow:e=>{if(s)return s.rows.length<=1?b():v({type:"row",callback:()=>(e=>{if(!s)return;const t=Y(s);t.rows.splice(e,1),w(t),v(null)})(e)})},removeColumn:e=>{if(s)return s.rows[0].cells.length<=1?b():v({type:"column",callback:()=>R(e)})},updateCell:(e,t,n)=>{if(!s)return;const r=Y(s);return r.rows[t].cells[n]=e.target.value,w(r)}}),(!s||!(null==(i=null==s?void 0:s.rows)?void 0:i.length))&&c(g,{space:1,children:c(f,{fontSize:1,padding:3,icon:S,text:"Create Table",tone:"primary",mode:"ghost",onClick:()=>{const e={rows:[{_type:"tableRow",_key:$(),cells:["",""]},{_type:"tableRow",_key:$(),cells:["",""]}]};return w(t(t({},s),e))}})})]})};function ee(){return c("svg",{width:"1em",height:"1em",viewBox:"0 0 25 25",fill:"none",stroke:"currentColor",strokeWidth:"1.2",children:c("path",{d:"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18"})})}const te=e=>{let{rows:t}=e;const n=0===t.length?0:t[0].cells.length;return c(x,{columns:n,padding:2,children:t.map((e=>e.cells.map(((t,n)=>c(m,{padding:2,style:{outline:"1px solid #DFE2E9"},children:c(A,{style:{textOverflow:"elipsis"},children:t})},e._key+n)))))})},ne=e=>{var t;const{schemaType:n}=e,{rows:r=[],title:o}=null!=e?e:{title:"Title missing"};return a(s,{children:[c(p,{padding:3,children:a(g,{space:3,children:[c(m,{children:c(R,{size:4,children:c(ee,{})})}),c(m,{children:c(A,{children:null!=(t=null==n?void 0:n.title)?t:o})})]})}),c(p,{padding:2,children:0===r.length?c(R,{muted:!0,children:"Empty Table"}):c(te,{rows:r})})]})},re=l({title:"Table Row",name:"tableRow",type:"object",fields:[{name:"cells",type:"array",of:[{type:"string"}]}]}),oe=l({title:"Table",name:"table",type:"object",fields:[{name:"rows",type:"array",of:[{type:re.name}]}],components:{input:Z,preview:ne},preview:{select:{rows:"rows",title:"title"},prepare:e=>{let{title:t,rows:n=[]}=e;return{title:t,rows:n}}}}),le=i((()=>({name:"table",schema:{types:[re,oe]}})));export{Z as TableComponent,ne as TablePreview,le as table};
1
+ function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?e(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}import{set as r,unset as o,definePlugin as l,defineType as i}from"sanity";import{jsx as c,jsxs as a,Fragment as s}from"react/jsx-runtime";import u,{useState as d}from"react";import{Box as p,Button as f,TextInput as h,Dialog as y,Card as m,Inline as g,MenuButton as v,Menu as w,MenuItem as b,MenuDivider as C,Text as A,Flex as k,Label as R,Grid as x}from"@sanity/ui";import{RemoveIcon as O,ControlsIcon as j,AddIcon as S,WarningOutlineIcon as I}from"@sanity/icons";var T,U=new Uint8Array(16);function z(){if(!T&&!(T="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return T(U)}var E=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function P(e){return"string"==typeof e&&E.test(e)}for(var _=[],D=0;D<256;++D)_.push((D+256).toString(16).substr(1));function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(_[e[t+0]]+_[e[t+1]]+_[e[t+2]]+_[e[t+3]]+"-"+_[e[t+4]]+_[e[t+5]]+"-"+_[e[t+6]]+_[e[t+7]]+"-"+_[e[t+8]]+_[e[t+9]]+"-"+_[e[t+10]]+_[e[t+11]]+_[e[t+12]]+_[e[t+13]]+_[e[t+14]]+_[e[t+15]]).toLowerCase();if(!P(n))throw TypeError("Stringified UUID is invalid");return n}function V(e,t,n){function r(e,r,o,l){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=function(e){if(!P(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var i=new Uint8Array(16+e.length);if(i.set(r),i.set(e,r.length),(i=n(i))[6]=15&i[6]|t,i[8]=63&i[8]|128,o){l=l||0;for(var c=0;c<16;++c)o[l+c]=i[c];return o}return M(i)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function N(e){return 14+(e+64>>>9<<4)+1}function H(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function L(e,t,n,r,o,l){return H((i=H(H(t,e),H(r,l)))<<(c=o)|i>>>32-c,n);var i,c}function F(e,t,n,r,o,l,i){return L(t&n|~t&r,e,t,o,l,i)}function J(e,t,n,r,o,l,i){return L(t&r|n&~r,e,t,o,l,i)}function B(e,t,n,r,o,l,i){return L(t^n^r,e,t,o,l,i)}function W(e,t,n,r,o,l,i){return L(n^(t|~r),e,t,o,l,i)}function $(e,t,n){var r=(e=e||{}).random||(e.rng||z)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return M(r)}function q(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function G(e,t){return e<<t|e>>>32-t}V("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",o=0;o<n;o+=8){var l=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(l>>>4&15)+r.charAt(15&l),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[N(t)-1]=t;for(var n=1732584193,r=-271733879,o=-1732584194,l=271733878,i=0;i<e.length;i+=16){var c=n,a=r,s=o,u=l;n=F(n,r,o,l,e[i],7,-680876936),l=F(l,n,r,o,e[i+1],12,-389564586),o=F(o,l,n,r,e[i+2],17,606105819),r=F(r,o,l,n,e[i+3],22,-1044525330),n=F(n,r,o,l,e[i+4],7,-176418897),l=F(l,n,r,o,e[i+5],12,1200080426),o=F(o,l,n,r,e[i+6],17,-1473231341),r=F(r,o,l,n,e[i+7],22,-45705983),n=F(n,r,o,l,e[i+8],7,1770035416),l=F(l,n,r,o,e[i+9],12,-1958414417),o=F(o,l,n,r,e[i+10],17,-42063),r=F(r,o,l,n,e[i+11],22,-1990404162),n=F(n,r,o,l,e[i+12],7,1804603682),l=F(l,n,r,o,e[i+13],12,-40341101),o=F(o,l,n,r,e[i+14],17,-1502002290),n=J(n,r=F(r,o,l,n,e[i+15],22,1236535329),o,l,e[i+1],5,-165796510),l=J(l,n,r,o,e[i+6],9,-1069501632),o=J(o,l,n,r,e[i+11],14,643717713),r=J(r,o,l,n,e[i],20,-373897302),n=J(n,r,o,l,e[i+5],5,-701558691),l=J(l,n,r,o,e[i+10],9,38016083),o=J(o,l,n,r,e[i+15],14,-660478335),r=J(r,o,l,n,e[i+4],20,-405537848),n=J(n,r,o,l,e[i+9],5,568446438),l=J(l,n,r,o,e[i+14],9,-1019803690),o=J(o,l,n,r,e[i+3],14,-187363961),r=J(r,o,l,n,e[i+8],20,1163531501),n=J(n,r,o,l,e[i+13],5,-1444681467),l=J(l,n,r,o,e[i+2],9,-51403784),o=J(o,l,n,r,e[i+7],14,1735328473),n=B(n,r=J(r,o,l,n,e[i+12],20,-1926607734),o,l,e[i+5],4,-378558),l=B(l,n,r,o,e[i+8],11,-2022574463),o=B(o,l,n,r,e[i+11],16,1839030562),r=B(r,o,l,n,e[i+14],23,-35309556),n=B(n,r,o,l,e[i+1],4,-1530992060),l=B(l,n,r,o,e[i+4],11,1272893353),o=B(o,l,n,r,e[i+7],16,-155497632),r=B(r,o,l,n,e[i+10],23,-1094730640),n=B(n,r,o,l,e[i+13],4,681279174),l=B(l,n,r,o,e[i],11,-358537222),o=B(o,l,n,r,e[i+3],16,-722521979),r=B(r,o,l,n,e[i+6],23,76029189),n=B(n,r,o,l,e[i+9],4,-640364487),l=B(l,n,r,o,e[i+12],11,-421815835),o=B(o,l,n,r,e[i+15],16,530742520),n=W(n,r=B(r,o,l,n,e[i+2],23,-995338651),o,l,e[i],6,-198630844),l=W(l,n,r,o,e[i+7],10,1126891415),o=W(o,l,n,r,e[i+14],15,-1416354905),r=W(r,o,l,n,e[i+5],21,-57434055),n=W(n,r,o,l,e[i+12],6,1700485571),l=W(l,n,r,o,e[i+3],10,-1894986606),o=W(o,l,n,r,e[i+10],15,-1051523),r=W(r,o,l,n,e[i+1],21,-2054922799),n=W(n,r,o,l,e[i+8],6,1873313359),l=W(l,n,r,o,e[i+15],10,-30611744),o=W(o,l,n,r,e[i+6],15,-1560198380),r=W(r,o,l,n,e[i+13],21,1309151649),n=W(n,r,o,l,e[i+4],6,-145523070),l=W(l,n,r,o,e[i+11],10,-1120210379),o=W(o,l,n,r,e[i+2],15,718787259),r=W(r,o,l,n,e[i+9],21,-343485551),n=H(n,c),r=H(r,a),o=H(o,s),l=H(l,u)}return[n,r,o,l]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(N(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))})),V("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var o=0;o<r.length;++o)e.push(r.charCodeAt(o))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var l=e.length/4+2,i=Math.ceil(l/16),c=new Array(i),a=0;a<i;++a){for(var s=new Uint32Array(16),u=0;u<16;++u)s[u]=e[64*a+4*u]<<24|e[64*a+4*u+1]<<16|e[64*a+4*u+2]<<8|e[64*a+4*u+3];c[a]=s}c[i-1][14]=8*(e.length-1)/Math.pow(2,32),c[i-1][14]=Math.floor(c[i-1][14]),c[i-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<i;++d){for(var p=new Uint32Array(80),f=0;f<16;++f)p[f]=c[d][f];for(var h=16;h<80;++h)p[h]=G(p[h-3]^p[h-8]^p[h-14]^p[h-16],1);for(var y=n[0],m=n[1],g=n[2],v=n[3],w=n[4],b=0;b<80;++b){var C=Math.floor(b/20),A=G(y,5)+q(C,m,g,v)+w+t[C]+p[b]>>>0;w=v,v=g,g=G(m,30)>>>0,m=y,y=A}n[0]=n[0]+y>>>0,n[1]=n[1]+m>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+v>>>0,n[4]=n[4]+w>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));const K=e=>{var t;return c("table",{style:{width:"100%"},children:a("tbody",{children:[e.rows.map(((t,n)=>{const r=(t=>(n,r)=>c("td",{children:c(h,{fontSize:1,padding:3,value:n,onChange:n=>e.updateCell(n,t,r)})},"cell-".concat(t,"-").concat(r)))(n);return a("tr",{children:[t.cells.map(r),c("td",{children:c(p,{marginLeft:1,style:{textAlign:"center"},children:c(f,{icon:O,padding:2,onClick:()=>e.removeRow(n),mode:"bleed"})})},n)]},"row-".concat(n))})),c("tr",{children:((null==(t=e.rows[0])?void 0:t.cells)||[]).map(((t,n)=>c("td",{children:c(p,{marginTop:1,style:{textAlign:"center"},children:c(f,{icon:O,padding:2,onClick:()=>e.removeColumn(n),mode:"bleed"})})},n)))})]})})},Q=e=>{const[t,n]=d(null),[r,o]=d("");return a(u.Fragment,{children:[t&&c(y,{header:"Add ".concat(t.type),id:"dialog-add",onClose:()=>n(null),zOffset:1e3,children:a(m,{padding:4,children:[c(h,{style:{textAlign:"left"},fontSize:2,padding:3,type:"number",value:r,onChange:e=>{o(e.currentTarget.value)}}),c(p,{marginTop:4,children:a(g,{space:1,style:{textAlign:"right"},children:[c(f,{text:"Cancel",mode:"ghost",onClick:()=>n(null)}),c(f,{text:"Confirm",tone:"critical",onClick:()=>{const e=parseInt(null!=r?r:"0",10);e<100&&(n(null),null==t||t.callback(e),o(void 0))}})]})})]})}),c(v,{button:c(f,{icon:j,fontSize:1,padding:2,mode:"ghost"}),id:"menu-button-example",menu:a(w,{children:[c(b,{icon:S,fontSize:1,text:"Add Row(s)",onClick:()=>{n({type:"rows",callback:t=>e.addRows(t)})}}),c(b,{icon:S,fontSize:1,text:"Add Row At Index",onClick:()=>{n({type:"rows",callback:t=>e.addRowAt(t)})}}),c(b,{icon:S,fontSize:1,text:"Add Column(s)",onClick:()=>{n({type:"columns",callback:t=>e.addColumns(t)})}}),c(b,{icon:S,fontSize:1,text:"Add Column At Index",onClick:()=>{n({type:"columns",callback:t=>e.addColumnAt(t)})}}),c(C,{}),c(b,{icon:I,fontSize:1,text:"Remove",tone:"critical",onClick:e.remove})]}),placement:e.placement})]})};var X;const Y=null!=(X=globalThis.structuredClone)?X:e=>JSON.parse(JSON.stringify(e)),Z=e=>{var n,l,i;const{value:s,onChange:u}=e,[h,v]=d(null),w=e=>u(r(e)),b=()=>{v({type:"table",callback:C})},C=()=>{u(o()),v(null)},R=e=>{if(!s)return;const t=Y(s);t.rows.forEach((t=>{t.cells.splice(e,1)})),w(t),v(null)};return a("div",{children:[h&&c(y,{header:"Remove ".concat(h.type),id:"dialog-remove",onClose:()=>v(null),zOffset:1e3,children:a(m,{padding:4,children:[a(A,{children:["Are you sure you want to remove this ",h.type,"?"]}),c(p,{marginTop:4,children:a(g,{space:1,style:{textAlign:"right"},children:[c(f,{text:"Cancel",mode:"ghost",onClick:()=>v(null)}),c(f,{text:"Confirm",tone:"critical",onClick:()=>h.callback()})]})})]})}),c(p,{children:c(k,{justify:"flex-end",children:(null==(n=null==s?void 0:s.rows)?void 0:n.length)&&c(Q,{addColumns:e=>{if(!s)return;const t=Y(s);return t.rows.forEach(((n,r)=>{for(let n=0;n<e;n++)t.rows[r].cells.push("")})),w(t)},addColumnAt:e=>{if(!s)return;const t=Y(s);return t.rows.forEach(((n,r)=>{t.rows[r].cells.splice(e,0,"")})),w(t)},addRows:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;var t;if(!s)return;const n=Y(s),r=null!=(t=null==s?void 0:s.rows[0].cells.length)?t:0;for(let t=0;t<e;t++)n.rows.push({_type:"tableRow",_key:$(),cells:Array(r).fill("")});return w(n)},addRowAt:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(!s)return;const t=Y(s),n=s.rows[0].cells.length;return t.rows.splice(e,0,{_type:"tableRow",_key:$(),cells:Array(n).fill("")}),w(t)},remove:b,placement:"left"})})}),(null==(l=null==s?void 0:s.rows)?void 0:l.length)&&c(K,{rows:s.rows,removeRow:e=>{if(s)return s.rows.length<=1?b():v({type:"row",callback:()=>(e=>{if(!s)return;const t=Y(s);t.rows.splice(e,1),w(t),v(null)})(e)})},removeColumn:e=>{if(s)return s.rows[0].cells.length<=1?b():v({type:"column",callback:()=>R(e)})},updateCell:(e,t,n)=>{if(!s)return;const r=Y(s);return r.rows[t].cells[n]=e.target.value,w(r)}}),(!s||!(null==(i=null==s?void 0:s.rows)?void 0:i.length))&&c(g,{space:1,children:c(f,{fontSize:1,padding:3,icon:S,text:"Create Table",tone:"primary",mode:"ghost",onClick:()=>{const e={rows:[{_type:"tableRow",_key:$(),cells:["",""]},{_type:"tableRow",_key:$(),cells:["",""]}]};return w(t(t({},s),e))}})})]})};function ee(){return c("svg",{width:"1em",height:"1em",viewBox:"0 0 25 25",fill:"none",stroke:"currentColor",strokeWidth:"1.2",children:c("path",{d:"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18"})})}const te=e=>{let{rows:t}=e;const n=0===t.length?0:t[0].cells.length;return c(x,{columns:n,padding:2,children:t.map((e=>e.cells.map(((t,n)=>c(m,{padding:2,style:{outline:"1px solid #DFE2E9"},children:c(A,{style:{textOverflow:"elipsis"},children:t})},e._key+n)))))})},ne=e=>{var t;const{schemaType:n}=e,{rows:r=[],title:o}=null!=e?e:{title:"Title missing"};return a(s,{children:[c(p,{padding:3,children:a(g,{space:3,children:[c(m,{children:c(R,{size:4,children:c(ee,{})})}),c(m,{children:c(A,{children:null!=(t=null==n?void 0:n.title)?t:o})})]})}),c(p,{padding:2,children:0===r.length?c(R,{muted:!0,children:"Empty Table"}):c(te,{rows:r})})]})},re=l((e=>{const t=i({title:"Table Row",name:(null==e?void 0:e.rowType)||"tableRow",type:"object",fields:[{name:"cells",type:"array",of:[{type:"string"}]}]});return{name:"table",schema:{types:[t,i({title:"Table",name:"table",type:"object",fields:[{name:"rows",type:"array",of:[{type:t.name}]}],components:{input:Z,preview:ne},preview:{select:{rows:"rows",title:"title"},prepare:e=>{let{title:t,rows:n=[]}=e;return{title:t,rows:n}}}})]}}}));export{Z as TableComponent,ne as TablePreview,re as table};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v35.js","../node_modules/uuid/dist/esm-browser/parse.js","../node_modules/uuid/dist/esm-browser/md5.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/sha1.js","../node_modules/uuid/dist/esm-browser/v3.js","../node_modules/uuid/dist/esm-browser/v5.js","../src/components/TableInput.tsx","../src/components/TableMenu.tsx","../src/components/TableComponent.tsx","../src/components/TableIcon.tsx","../src/components/TablePreview.tsx","../src/index.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","import React from 'react';\nimport { Box, Button, TextInput } from '@sanity/ui';\nimport { RemoveIcon } from '@sanity/icons';\nimport type { TableRow } from './TableComponent';\n\ninterface TableInputProps {\n rows: TableRow[];\n updateCell: (\n e: React.FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => any;\n removeRow: (index: number) => any;\n removeColumn: (index: number) => any;\n}\n\nconst TableInput = (props: TableInputProps) => {\n const renderRowCell =\n (rowIndex: number) => (cell: string, cellIndex: number) =>\n (\n <td key={`cell-${rowIndex}-${cellIndex}`}>\n <TextInput\n fontSize={1}\n padding={3}\n value={cell}\n onChange={e => props.updateCell(e, rowIndex, cellIndex)}\n />\n </td>\n );\n\n const renderRow = (row: TableRow, rowIndex: number) => {\n const renderCell = renderRowCell(rowIndex);\n\n return (\n <tr key={`row-${rowIndex}`}>\n {row.cells.map(renderCell)}\n {\n <td key={rowIndex}>\n <Box marginLeft={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeRow(rowIndex)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n }\n </tr>\n );\n };\n\n return (\n <table style={{ width: '100%' }}>\n <tbody>\n {props.rows.map(renderRow)}\n <tr>\n {(props.rows[0]?.cells || []).map((_, i) => (\n <td key={i}>\n <Box marginTop={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeColumn(i)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n ))}\n </tr>\n </tbody>\n </table>\n );\n};\n\nexport default TableInput;\n","import React, { FormEventHandler, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n Dialog,\n Inline,\n Menu,\n MenuButton,\n MenuDivider,\n MenuItem,\n Placement,\n TextInput,\n} from '@sanity/ui';\nimport { AddIcon, WarningOutlineIcon, ControlsIcon } from '@sanity/icons';\n\ninterface TableMenuProps {\n addColumns: (count: number) => any;\n addColumnAt: (index: number) => any;\n addRows: (count: number) => any;\n addRowAt: (index: number) => any;\n remove: () => any;\n placement: Placement;\n}\n\nconst TableMenu = (props: TableMenuProps) => {\n const [dialog, setDialog] = useState<{\n type: string;\n callback: (count: number) => any;\n } | null>(null);\n\n const [count, setCount] = useState<string | undefined>('');\n\n const updateCount: FormEventHandler<HTMLInputElement> = e => {\n setCount(e.currentTarget.value);\n };\n\n const addRows = () => {\n setDialog({ type: 'rows', callback: c => props.addRows(c) });\n };\n\n const addRowAt = () => {\n setDialog({ type: 'rows', callback: index => props.addRowAt(index) });\n };\n\n const addColumns = () => {\n setDialog({\n type: 'columns',\n callback: c => props.addColumns(c),\n });\n };\n\n const addColumnsAt = () => {\n setDialog({ type: 'columns', callback: index => props.addColumnAt(index) });\n };\n\n const onConfirm = () => {\n const parsedCount = parseInt(count ?? '0', 10);\n\n if (parsedCount < 100) {\n setDialog(null);\n dialog?.callback(parsedCount);\n setCount(undefined);\n }\n };\n\n return (\n <React.Fragment>\n {dialog && (\n <Dialog\n header={`Add ${dialog.type}`}\n id=\"dialog-add\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <TextInput\n style={{ textAlign: 'left' }}\n fontSize={2}\n padding={3}\n type=\"number\"\n value={count}\n onChange={updateCount}\n />\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button text=\"Confirm\" tone=\"critical\" onClick={onConfirm} />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <MenuButton\n button={\n <Button icon={ControlsIcon} fontSize={1} padding={2} mode=\"ghost\" />\n }\n id=\"menu-button-example\"\n menu={\n <Menu>\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row(s)\"\n onClick={addRows}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row At Index\"\n onClick={addRowAt}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column(s)\"\n onClick={addColumns}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column At Index\"\n onClick={addColumnsAt}\n />\n <MenuDivider />\n <MenuItem\n icon={WarningOutlineIcon}\n fontSize={1}\n text=\"Remove\"\n tone=\"critical\"\n onClick={props.remove}\n />\n </Menu>\n }\n placement={props.placement}\n />\n </React.Fragment>\n );\n};\n\nexport default TableMenu;\n","/* eslint-disable consistent-return */\nimport React, { useState, FormEvent } from 'react';\nimport { uuid } from '@sanity/uuid';\nimport { ObjectInputProps, set, unset } from 'sanity';\nimport TableInput from './TableInput';\nimport TableMenu from './TableMenu';\nimport { Box, Button, Card, Dialog, Flex, Inline, Text } from '@sanity/ui';\n\nimport { AddIcon } from '@sanity/icons';\n\nconst ROW_TYPE = 'tableRow';\n\nconst deepClone: <T>(data: T) => T =\n globalThis.structuredClone ?? (data => JSON.parse(JSON.stringify(data)));\n\nexport interface TableValue {\n _type: 'table';\n rows: TableRow[];\n}\n\nexport interface TableProps extends ObjectInputProps<TableValue> {}\n\nexport type TableRow = {\n _type: string;\n _key: string;\n cells: string[];\n};\n\n// TODO refactor deeplone stuff to use proper patches\n// TODO use callback all the things\n\nconst TableComponent = (props: TableProps) => {\n const { value, onChange } = props;\n const [dialog, setDialog] = useState<{\n type: string;\n callback: () => any;\n } | null>(null);\n\n const updateValue = (v?: Omit<TableValue, '_type'>) => {\n return onChange(set(v));\n };\n\n const resetValue = () => {\n return onChange(unset());\n };\n\n const createTable = () => {\n const newValue: Omit<TableValue, '_type'> = {\n rows: [\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n ],\n };\n return updateValue({ ...value, ...newValue });\n };\n\n const confirmRemoveTable = () => {\n setDialog({ type: 'table', callback: removeTable });\n };\n\n const removeTable = () => {\n resetValue();\n setDialog(null);\n };\n\n const addRows = (count: number = 1) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value?.rows[0].cells.length ?? 0;\n for (let i = 0; i < count; i++) {\n // Add as many cells as we have columns\n newValue.rows.push({\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n }\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const addRowAt = (index: number = 0) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value.rows[0].cells.length;\n\n newValue.rows.splice(index, 0, {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const removeRow = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.splice(index, 1);\n updateValue(newValue);\n setDialog(null);\n };\n\n const confirmRemoveRow = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'row', callback: () => removeRow(index) });\n };\n\n const confirmRemoveColumn = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows[0].cells.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'column', callback: () => removeColumn(index) });\n };\n\n const addColumns = (count: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Add a cell to each of the rows\n newValue.rows.forEach((_, i) => {\n for (let j = 0; j < count; j++) {\n newValue.rows[i].cells.push('');\n }\n });\n return updateValue(newValue);\n };\n\n const addColumnAt = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n\n newValue.rows.forEach((_, i) => {\n newValue.rows[i].cells.splice(index, 0, '');\n });\n\n return updateValue(newValue);\n };\n\n const removeColumn = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.forEach(row => {\n row.cells.splice(index, 1);\n });\n updateValue(newValue);\n setDialog(null);\n };\n\n const updateCell = (\n e: FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows[rowIndex].cells[cellIndex] = (\n e.target as HTMLInputElement\n ).value;\n return updateValue(newValue);\n };\n\n return (\n <div>\n {dialog && (\n <Dialog\n header={`Remove ${dialog.type}`}\n id=\"dialog-remove\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <Text>Are you sure you want to remove this {dialog.type}?</Text>\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button\n text=\"Confirm\"\n tone=\"critical\"\n onClick={() => dialog.callback()}\n />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <Box>\n <Flex justify=\"flex-end\">\n {value?.rows?.length && (\n <TableMenu\n addColumns={addColumns}\n addColumnAt={addColumnAt}\n addRows={addRows}\n addRowAt={addRowAt}\n remove={confirmRemoveTable}\n placement=\"left\"\n />\n )}\n </Flex>\n </Box>\n {value?.rows?.length && (\n <TableInput\n rows={value.rows}\n removeRow={confirmRemoveRow}\n removeColumn={confirmRemoveColumn}\n updateCell={updateCell}\n />\n )}\n {(!value || !value?.rows?.length) && (\n <Inline space={1}>\n <Button\n fontSize={1}\n padding={3}\n icon={AddIcon}\n text=\"Create Table\"\n tone=\"primary\"\n mode=\"ghost\"\n onClick={createTable}\n />\n </Inline>\n )}\n </div>\n );\n};\n\nexport default TableComponent;\n","import React from 'react';\n\nexport default function TableIcon() {\n return (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n >\n <path d=\"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18\" />\n </svg>\n );\n}\n","import React from 'react';\nimport type { TableRow } from './TableComponent';\nimport { Box, Card, Inline, Grid, Label, Text } from '@sanity/ui';\nimport TableIcon from './TableIcon';\nimport { PreviewProps } from 'sanity';\n\ninterface ValueProps {\n rows?: TableRow[];\n title?: string;\n}\n\nconst Table = ({ rows }: { rows: TableRow[] }) => {\n const numCols = rows.length === 0 ? 0 : rows[0].cells.length;\n\n return (\n <Grid columns={numCols} padding={2}>\n {rows.map(row =>\n row.cells.map((cell, i) => (\n <Card\n key={row._key + i}\n padding={2}\n style={{ outline: '1px solid #DFE2E9' }}\n >\n <Text style={{ textOverflow: 'elipsis' }}>{cell}</Text>\n </Card>\n ))\n )}\n </Grid>\n );\n};\n\nconst TablePreview = (props: ValueProps & PreviewProps) => {\n const { schemaType } = props;\n const { rows = [], title } = props ?? {\n title: 'Title missing',\n };\n\n return (\n <>\n <Box padding={3}>\n <Inline space={3}>\n <Card>\n <Label size={4}>\n <TableIcon />\n </Label>\n </Card>\n <Card>\n <Text>{schemaType?.title ?? title}</Text>\n </Card>\n </Inline>\n </Box>\n <Box padding={2}>\n {rows.length === 0 ? (\n <Label muted>Empty Table</Label>\n ) : (\n <Table rows={rows} />\n )}\n </Box>\n </>\n );\n};\n\nexport default TablePreview;\n","import { definePlugin, defineType } from 'sanity';\n\nimport { TableComponent, TablePreview } from './components';\nexport type {\n TableValue,\n TableProps,\n TableRow,\n} from './components/TableComponent';\n\nexport { TableComponent, TablePreview };\n\nconst tableRowSchema = defineType({\n title: 'Table Row',\n name: 'tableRow',\n type: 'object',\n fields: [\n {\n name: 'cells',\n type: 'array',\n of: [{ type: 'string' }],\n },\n ],\n});\n\nconst tableSchema = defineType({\n title: 'Table',\n name: 'table',\n type: 'object',\n fields: [\n {\n name: 'rows',\n type: 'array',\n of: [\n {\n type: tableRowSchema.name,\n },\n ],\n },\n ],\n components: {\n //TODO remove as any when rc.3 is released\n input: TableComponent as any,\n preview: TablePreview as any,\n },\n preview: {\n select: {\n rows: 'rows',\n title: 'title',\n },\n prepare: ({ title, rows = [] }) => ({\n title,\n rows,\n }),\n },\n});\n\nexport const table = definePlugin(() => {\n return {\n name: 'table',\n schema: {\n types: [tableRowSchema, tableSchema],\n },\n };\n});\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","REGEX","validate","uuid","test","byteToHex","i","push","toString","substr","stringify","arr","offset","arguments","length","undefined","toLowerCase","TypeError","v35","name","version","hashfunc","generateUUID","value","namespace","buf","str","unescape","encodeURIComponent","bytes","charCodeAt","stringToBytes","v","parseInt","slice","parse","set","err","DNS","URL","getOutputLength","inputLength8","safeAdd","x","y","lsw","md5cmn","q","a","b","s","t","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","v4","options","rnds","random","f","z","ROTL","n","msg","input","output","length32","hexTab","hex","charAt","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","K","H","Array","isArray","prototype","call","l","N","Math","ceil","M","_i","j","pow","floor","_i2","W","_t","e","_t2","T","TableInput","props","_a","jsx","style","width","children","jsxs","rows","map","row","rowIndex","renderCell","cell","cellIndex","TextInput","fontSize","padding","onChange","updateCell","renderRowCell","cells","Box","marginLeft","textAlign","Button","icon","RemoveIcon","onClick","removeRow","mode","concat","_","marginTop","removeColumn","TableMenu","dialog","setDialog","useState","count","setCount","React","Fragment","Dialog","header","type","id","onClose","zOffset","Card","currentTarget","Inline","space","text","tone","parsedCount","callback","MenuButton","button","ControlsIcon","menu","Menu","MenuItem","AddIcon","addRows","addRowAt","index","addColumns","addColumnAt","MenuDivider","WarningOutlineIcon","remove","placement","deepClone","globalThis","structuredClone","data","JSON","TableComponent","_b","_c","updateValue","confirmRemoveTable","removeTable","unset","newValue","forEach","splice","Text","Flex","justify","columnCount","_type","_key","fill","target","TableIcon","height","viewBox","stroke","strokeWidth","Table","_ref","numCols","Grid","columns","outline","textOverflow","TablePreview","schemaType","title","Label","size","muted","tableRowSchema","defineType","fields","of","tableSchema","components","preview","select","prepare","_ref2","table","definePlugin","schema","types"],"mappings":"uoCAGA,IAAIA,EACAC,EAAQ,IAAIC,WAAW,IACZ,SAASC,IAEtB,IAAKH,KAGHA,EAAoC,oBAAXI,QAA0BA,OAAOJ,iBAAmBI,OAAOJ,gBAAgBK,KAAKD,SAA+B,oBAAbE,UAAgE,mBAA7BA,SAASN,iBAAkCM,SAASN,gBAAgBK,KAAKC,WAGrO,MAAM,IAAIC,MAAM,4GAIpB,OAAOP,EAAgBC,EACzB,CClBA,IAAAO,EAAe,sHCEf,SAASC,EAASC,GAChB,MAAuB,iBAATA,GAAqBF,EAAMG,KAAKD,EAChD,CCIA,IAFA,IAAIE,EAAY,GAEPC,EAAI,EAAGA,EAAI,MAAOA,EACzBD,EAAUE,MAAMD,EAAI,KAAOE,SAAS,IAAIC,OAAO,IAGjD,SAASC,EAAUC,GACjB,IAAIC,EAASC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAG7EV,GAAQE,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,MAAMI,cAMzf,IAAKd,EAASC,GACZ,MAAMc,UAAU,+BAGlB,OAAOd,CACT,CCVe,SAAAe,EAAUC,EAAMC,EAASC,GACtC,SAASC,EAAaC,EAAOC,EAAWC,EAAKb,GAS3C,GARqB,iBAAVW,IACTA,EAjBN,SAAuBG,GACrBA,EAAMC,SAASC,mBAAmBF,IAIlC,IAFA,IAAIG,EAAQ,GAEHvB,EAAI,EAAGA,EAAIoB,EAAIZ,SAAUR,EAChCuB,EAAMtB,KAAKmB,EAAII,WAAWxB,IAG5B,OAAOuB,CACT,CAOcE,CAAcR,IAGC,iBAAdC,IACTA,ECtBN,SAAerB,GACb,IAAKD,EAASC,GACZ,MAAMc,UAAU,gBAGlB,IAAIe,EACArB,EAAM,IAAIhB,WAAW,IAuBzB,OArBAgB,EAAI,IAAMqB,EAAIC,SAAS9B,EAAK+B,MAAM,EAAG,GAAI,OAAS,GAClDvB,EAAI,GAAKqB,IAAM,GAAK,IACpBrB,EAAI,GAAKqB,IAAM,EAAI,IACnBrB,EAAI,GAAS,IAAJqB,EAETrB,EAAI,IAAMqB,EAAIC,SAAS9B,EAAK+B,MAAM,EAAG,IAAK,OAAS,EACnDvB,EAAI,GAAS,IAAJqB,EAETrB,EAAI,IAAMqB,EAAIC,SAAS9B,EAAK+B,MAAM,GAAI,IAAK,OAAS,EACpDvB,EAAI,GAAS,IAAJqB,EAETrB,EAAI,IAAMqB,EAAIC,SAAS9B,EAAK+B,MAAM,GAAI,IAAK,OAAS,EACpDvB,EAAI,GAAS,IAAJqB,EAGTrB,EAAI,KAAOqB,EAAIC,SAAS9B,EAAK+B,MAAM,GAAI,IAAK,KAAO,cAAgB,IACnEvB,EAAI,IAAMqB,EAAI,WAAc,IAC5BrB,EAAI,IAAMqB,IAAM,GAAK,IACrBrB,EAAI,IAAMqB,IAAM,GAAK,IACrBrB,EAAI,IAAMqB,IAAM,EAAI,IACpBrB,EAAI,IAAU,IAAJqB,EACHrB,CACT,CDRkBwB,CAAMX,IAGK,KAArBA,EAAUV,OACZ,MAAMG,UAAU,oEAMlB,IAAIY,EAAQ,IAAIlC,WAAW,GAAK4B,EAAMT,QAOtC,GANAe,EAAMO,IAAIZ,GACVK,EAAMO,IAAIb,EAAOC,EAAUV,SAC3Be,EAAQR,EAASQ,IACX,GAAgB,GAAXA,EAAM,GAAYT,EAC7BS,EAAM,GAAgB,GAAXA,EAAM,GAAY,IAEzBJ,EAAK,CACPb,EAASA,GAAU,EAEnB,IAAK,IAAIN,EAAI,EAAGA,EAAI,KAAMA,EACxBmB,EAAIb,EAASN,GAAKuB,EAAMvB,GAG1B,OAAOmB,CACR,CAED,OAAOf,EAAUmB,EAClB,CAGD,IACEP,EAAaH,KAAOA,CACN,CAAd,MAAOkB,GAAO,CAKhB,OAFAf,EAAagB,IA7CE,uCA8CfhB,EAAaiB,IA7CE,uCA8CRjB,CACT,CEPA,SAASkB,EAAgBC,GACvB,OAAwC,IAAhCA,EAAe,KAAO,GAAK,GAAU,CAC/C,CAsHA,SAASC,EAAQC,EAAGC,GAClB,IAAIC,GAAW,MAAJF,IAAmB,MAAJC,GAE1B,OADWD,GAAK,KAAOC,GAAK,KAAOC,GAAO,KAC5B,GAAW,MAANA,CACrB,CAcA,SAASC,EAAOC,EAAGC,EAAGC,EAAGN,EAAGO,EAAGC,GAC7B,OAAOT,GATcU,EASQV,EAAQA,EAAQM,EAAGD,GAAIL,EAAQC,EAAGQ,OATrCE,EAS0CH,GARhDE,IAAQ,GAAKC,EAQuCJ,GAT1E,IAAuBG,EAAKC,CAU5B,CAEA,SAASC,EAAMN,EAAGC,EAAGM,EAAGC,EAAGb,EAAGO,EAAGC,GAC/B,OAAOL,EAAOG,EAAIM,GAAKN,EAAIO,EAAGR,EAAGC,EAAGN,EAAGO,EAAGC,EAC5C,CAEA,SAASM,EAAMT,EAAGC,EAAGM,EAAGC,EAAGb,EAAGO,EAAGC,GAC/B,OAAOL,EAAOG,EAAIO,EAAID,GAAKC,EAAGR,EAAGC,EAAGN,EAAGO,EAAGC,EAC5C,CAEA,SAASO,EAAMV,EAAGC,EAAGM,EAAGC,EAAGb,EAAGO,EAAGC,GAC/B,OAAOL,EAAOG,EAAIM,EAAIC,EAAGR,EAAGC,EAAGN,EAAGO,EAAGC,EACvC,CAEA,SAASQ,EAAMX,EAAGC,EAAGM,EAAGC,EAAGb,EAAGO,EAAGC,GAC/B,OAAOL,EAAOS,GAAKN,GAAKO,GAAIR,EAAGC,EAAGN,EAAGO,EAAGC,EAC1C,CCjNA,SAASS,EAAGC,EAASpC,EAAKb,GAExB,IAAIkD,GADJD,EAAUA,GAAW,IACFE,SAAWF,EAAQjE,KAAOA,KAK7C,GAHAkE,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBrC,EAAK,CACPb,EAASA,GAAU,EAEnB,IAAK,IAAIN,EAAI,EAAGA,EAAI,KAAMA,EACxBmB,EAAIb,EAASN,GAAKwD,EAAKxD,GAGzB,OAAOmB,CACR,CAED,OAAOf,EAAUoD,EACnB,CCnBA,SAASE,EAAEd,EAAGP,EAAGC,EAAGqB,GAClB,OAAQf,GACN,KAAK,EACH,OAAOP,EAAIC,GAAKD,EAAIsB,EAEtB,KAAK,EAML,KAAK,EACH,OAAOtB,EAAIC,EAAIqB,EAJjB,KAAK,EACH,OAAOtB,EAAIC,EAAID,EAAIsB,EAAIrB,EAAIqB,EAKjC,CAEA,SAASC,EAAKvB,EAAGwB,GACf,OAAOxB,GAAKwB,EAAIxB,IAAM,GAAKwB,CAC7B,CClBSjD,EAAI,KAAM,IHkBnB,SAAaW,GACX,GAAqB,iBAAVA,EAAoB,CAC7B,IAAIuC,EAAMzC,SAASC,mBAAmBC,IAEtCA,EAAQ,IAAIlC,WAAWyE,EAAItD,QAE3B,IAAK,IAAIR,EAAI,EAAGA,EAAI8D,EAAItD,SAAUR,EAChCuB,EAAMvB,GAAK8D,EAAItC,WAAWxB,EAE7B,CAED,OAOF,SAA8B+D,GAK5B,IAJA,IAAIC,EAAS,GACTC,EAA0B,GAAfF,EAAMvD,OACjB0D,EAAS,mBAEJlE,EAAI,EAAGA,EAAIiE,EAAUjE,GAAK,EAAG,CACpC,IAAIqC,EAAI0B,EAAM/D,GAAK,KAAOA,EAAI,GAAK,IAC/BmE,EAAMxC,SAASuC,EAAOE,OAAO/B,IAAM,EAAI,IAAQ6B,EAAOE,OAAW,GAAJ/B,GAAW,IAC5E2B,EAAO/D,KAAKkE,EACb,CAED,OAAOH,CACT,CAnBSK,CAiCT,SAAoBhC,EAAGiC,GAErBjC,EAAEiC,GAAO,IAAM,KAAQA,EAAM,GAC7BjC,EAAEH,EAAgBoC,GAAO,GAAKA,EAM9B,IALA,IAAI5B,EAAI,WACJC,GAAK,UACLM,GAAK,WACLC,EAAI,UAEClD,EAAI,EAAGA,EAAIqC,EAAE7B,OAAQR,GAAK,GAAI,CACrC,IAAIuE,EAAO7B,EACP8B,EAAO7B,EACP8B,EAAOxB,EACPyB,EAAOxB,EACXR,EAAIM,EAAMN,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,GAAI,GAAI,WAChCkD,EAAIF,EAAME,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,IAAK,WACrCiD,EAAID,EAAMC,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,GAAI,WACpC2C,EAAIK,EAAML,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,IAAK,YACrC0C,EAAIM,EAAMN,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,GAAI,WACpCkD,EAAIF,EAAME,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,GAAI,YACpCiD,EAAID,EAAMC,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,IAAK,YACrC2C,EAAIK,EAAML,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,IAAK,UACrC0C,EAAIM,EAAMN,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,EAAG,YACnCkD,EAAIF,EAAME,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,IAAK,YACrCiD,EAAID,EAAMC,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,IAAK,OACtC2C,EAAIK,EAAML,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,IAAK,IAAK,YACtC0C,EAAIM,EAAMN,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,IAAK,EAAG,YACpCkD,EAAIF,EAAME,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,IAAK,IAAK,UACtCiD,EAAID,EAAMC,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,IAAK,YAEtC0C,EAAIS,EAAMT,EADVC,EAAIK,EAAML,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,IAAK,GAAI,YACrBiD,EAAGC,EAAGb,EAAErC,EAAI,GAAI,GAAI,WACpCkD,EAAIC,EAAMD,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,GAAI,YACpCiD,EAAIE,EAAMF,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,GAAI,WACrC2C,EAAIQ,EAAMR,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,GAAI,IAAK,WACjC0C,EAAIS,EAAMT,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,GAAI,WACpCkD,EAAIC,EAAMD,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,IAAK,EAAG,UACpCiD,EAAIE,EAAMF,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,IAAK,WACtC2C,EAAIQ,EAAMR,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,IAAK,WACrC0C,EAAIS,EAAMT,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,EAAG,WACnCkD,EAAIC,EAAMD,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,IAAK,GAAI,YACrCiD,EAAIE,EAAMF,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,IAAK,WACrC2C,EAAIQ,EAAMR,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,GAAI,YACpC0C,EAAIS,EAAMT,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,IAAK,GAAI,YACrCkD,EAAIC,EAAMD,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,GAAI,UACpCiD,EAAIE,EAAMF,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,GAAI,YAEpC0C,EAAIU,EAAMV,EADVC,EAAIQ,EAAMR,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,IAAK,IAAK,YACtBiD,EAAGC,EAAGb,EAAErC,EAAI,GAAI,GAAI,QACpCkD,EAAIE,EAAMF,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,IAAK,YACrCiD,EAAIG,EAAMH,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,GAAI,YACrC2C,EAAIS,EAAMT,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,IAAK,IAAK,UACtC0C,EAAIU,EAAMV,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,GAAI,YACpCkD,EAAIE,EAAMF,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,GAAI,YACpCiD,EAAIG,EAAMH,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,IAAK,WACrC2C,EAAIS,EAAMT,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,IAAK,IAAK,YACtC0C,EAAIU,EAAMV,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,IAAK,EAAG,WACpCkD,EAAIE,EAAMF,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,GAAI,IAAK,WACjCiD,EAAIG,EAAMH,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,IAAK,WACrC2C,EAAIS,EAAMT,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,GAAI,UACpC0C,EAAIU,EAAMV,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,GAAI,WACpCkD,EAAIE,EAAMF,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,IAAK,IAAK,WACtCiD,EAAIG,EAAMH,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,GAAI,WAErC0C,EAAIW,EAAMX,EADVC,EAAIS,EAAMT,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,IAAK,WACrBiD,EAAGC,EAAGb,EAAErC,GAAI,GAAI,WAChCkD,EAAIG,EAAMH,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,GAAI,YACpCiD,EAAII,EAAMJ,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,IAAK,YACtC2C,EAAIU,EAAMV,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,IAAK,UACrC0C,EAAIW,EAAMX,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,IAAK,EAAG,YACpCkD,EAAIG,EAAMH,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,GAAI,IAAK,YACrCiD,EAAII,EAAMJ,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,IAAK,IAAK,SACtC2C,EAAIU,EAAMV,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,IAAK,YACrC0C,EAAIW,EAAMX,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,EAAG,YACnCkD,EAAIG,EAAMH,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,IAAK,IAAK,UACtCiD,EAAII,EAAMJ,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,IAAK,YACrC2C,EAAIU,EAAMV,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,IAAK,GAAI,YACrC0C,EAAIW,EAAMX,EAAGC,EAAGM,EAAGC,EAAGb,EAAErC,EAAI,GAAI,GAAI,WACpCkD,EAAIG,EAAMH,EAAGR,EAAGC,EAAGM,EAAGZ,EAAErC,EAAI,IAAK,IAAK,YACtCiD,EAAII,EAAMJ,EAAGC,EAAGR,EAAGC,EAAGN,EAAErC,EAAI,GAAI,GAAI,WACpC2C,EAAIU,EAAMV,EAAGM,EAAGC,EAAGR,EAAGL,EAAErC,EAAI,GAAI,IAAK,WACrC0C,EAAIN,EAAQM,EAAG6B,GACf5B,EAAIP,EAAQO,EAAG6B,GACfvB,EAAIb,EAAQa,EAAGwB,GACfvB,EAAId,EAAQc,EAAGwB,EAChB,CAED,MAAO,CAAChC,EAAGC,EAAGM,EAAGC,EACnB,CAtH8ByB,CA6H9B,SAAsBZ,GACpB,GAAqB,IAAjBA,EAAMvD,OACR,MAAO,GAMT,IAHA,IAAIoE,EAAyB,EAAfb,EAAMvD,OAChBwD,EAAS,IAAIa,YAAY3C,EAAgB0C,IAEpC5E,EAAI,EAAGA,EAAI4E,EAAS5E,GAAK,EAChCgE,EAAOhE,GAAK,KAAsB,IAAf+D,EAAM/D,EAAI,KAAcA,EAAI,GAGjD,OAAOgE,CACT,CA1IyCc,CAAavD,GAAuB,EAAfA,EAAMf,QACpE,II9BSI,EAAI,KAAM,IFoBnB,SAAcW,GACZ,IAAIwD,EAAI,CAAC,WAAY,WAAY,WAAY,YACzCC,EAAI,CAAC,WAAY,WAAY,WAAY,UAAY,YAEzD,GAAqB,iBAAVzD,EAAoB,CAC7B,IAAIuC,EAAMzC,SAASC,mBAAmBC,IAEtCA,EAAQ,GAER,IAAK,IAAIvB,EAAI,EAAGA,EAAI8D,EAAItD,SAAUR,EAChCuB,EAAMtB,KAAK6D,EAAItC,WAAWxB,GAE7B,MAAWiF,MAAMC,QAAQ3D,KAExBA,EAAQ0D,MAAME,UAAUvD,MAAMwD,KAAK7D,IAGrCA,EAAMtB,KAAK,KAKX,IAJA,IAAIoF,EAAI9D,EAAMf,OAAS,EAAI,EACvB8E,EAAIC,KAAKC,KAAKH,EAAI,IAClBI,EAAI,IAAIR,MAAMK,GAETI,EAAK,EAAGA,EAAKJ,IAAKI,EAAI,CAG7B,IAFA,IAAIrF,EAAM,IAAIwE,YAAY,IAEjBc,EAAI,EAAGA,EAAI,KAAMA,EACxBtF,EAAIsF,GAAKpE,EAAW,GAALmE,EAAc,EAAJC,IAAU,GAAKpE,EAAW,GAALmE,EAAc,EAAJC,EAAQ,IAAM,GAAKpE,EAAW,GAALmE,EAAc,EAAJC,EAAQ,IAAM,EAAIpE,EAAW,GAALmE,EAAc,EAAJC,EAAQ,GAGvIF,EAAEC,GAAMrF,CACT,CAEDoF,EAAEH,EAAI,GAAG,IAA2B,GAApB/D,EAAMf,OAAS,GAAS+E,KAAKK,IAAI,EAAG,IACpDH,EAAEH,EAAI,GAAG,IAAMC,KAAKM,MAAMJ,EAAEH,EAAI,GAAG,KACnCG,EAAEH,EAAI,GAAG,IAA2B,GAApB/D,EAAMf,OAAS,GAAS,WAExC,IAAK,IAAIsF,EAAM,EAAGA,EAAMR,IAAKQ,EAAK,CAGhC,IAFA,IAAIC,EAAI,IAAIlB,YAAY,IAEfhC,EAAI,EAAGA,EAAI,KAAMA,EACxBkD,EAAElD,GAAK4C,EAAEK,GAAKjD,GAGhB,IAAK,IAAImD,EAAK,GAAIA,EAAK,KAAMA,EAC3BD,EAAEC,GAAMpC,EAAKmC,EAAEC,EAAK,GAAKD,EAAEC,EAAK,GAAKD,EAAEC,EAAK,IAAMD,EAAEC,EAAK,IAAK,GAShE,IANA,IAAItD,EAAIsC,EAAE,GACNrC,EAAIqC,EAAE,GACN/B,EAAI+B,EAAE,GACN9B,EAAI8B,EAAE,GACNiB,EAAIjB,EAAE,GAEDkB,EAAM,EAAGA,EAAM,KAAMA,EAAK,CACjC,IAAItD,EAAI2C,KAAKM,MAAMK,EAAM,IACrBC,EAAIvC,EAAKlB,EAAG,GAAKgB,EAAEd,EAAGD,EAAGM,EAAGC,GAAK+C,EAAIlB,EAAEnC,GAAKmD,EAAEG,KAAS,EAC3DD,EAAI/C,EACJA,EAAID,EACJA,EAAIW,EAAKjB,EAAG,MAAQ,EACpBA,EAAID,EACJA,EAAIyD,CACL,CAEDnB,EAAE,GAAKA,EAAE,GAAKtC,IAAM,EACpBsC,EAAE,GAAKA,EAAE,GAAKrC,IAAM,EACpBqC,EAAE,GAAKA,EAAE,GAAK/B,IAAM,EACpB+B,EAAE,GAAKA,EAAE,GAAK9B,IAAM,EACpB8B,EAAE,GAAKA,EAAE,GAAKiB,IAAM,CACrB,CAED,MAAO,CAACjB,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GACxV,IG7EA,MAAMoB,EAAcC,IAhBpB,IAAAC,EAoDE,OACGC,EAAA,QAAA,CAAMC,MAAO,CAAEC,MAAO,QACrBC,SAACC,EAAA,QAAA,CACED,SAAA,CAAML,EAAAO,KAAKC,KAzBA,CAACC,EAAeC,KAC1B,MAAAC,EAbLD,IAAqB,CAACE,EAAcC,IAEhCX,EAAA,KAAA,CACCG,SAACH,EAAAY,EAAA,CACCC,SAAU,EACVC,QAAS,EACTpG,MAAOgG,EACPK,SAAerB,GAAAI,EAAMkB,WAAWtB,EAAGc,EAAUG,MALhCH,QAAAA,OAAAA,EAAYG,KAAAA,OAAAA,IAWdM,CAAcT,GAEjC,OACGJ,EAAA,KAAA,CACED,SAAA,CAAII,EAAAW,MAAMZ,IAAIG,GAEZT,EAAA,KAAA,CACCG,SAACH,EAAAmB,EAAA,CAAIC,WAAY,EAAGnB,MAAO,CAAEoB,UAAW,UACtClB,SAACH,EAAAsB,EAAA,CACCC,KAAMC,EACNV,QAAS,EACTW,QAAS,IAAM3B,EAAM4B,UAAUlB,GAC/BmB,KAAK,aANFnB,KAST,OAAAoB,OAZYpB,GAchB,IAQGR,EAAA,KAAA,CACGG,WAAA,OAAAJ,EAAAD,EAAMO,KAAK,SAAI,EAAAN,EAAAmB,QAAS,IAAIZ,KAAI,CAACuB,EAAGpI,IACnCuG,EAAA,KAAA,CACCG,SAACH,EAAAmB,EAAA,CAAIW,UAAW,EAAG7B,MAAO,CAAEoB,UAAW,UACrClB,SAACH,EAAAsB,EAAA,CACCC,KAAMC,EACNV,QAAS,EACTW,QAAS,IAAM3B,EAAMiC,aAAatI,GAClCkI,KAAK,aANFlI,WAajB,EC9CEuI,EAAalC,IACjB,MAAOmC,EAAQC,GAAaC,EAGlB,OAEHC,EAAOC,GAAYF,EAA6B,IAoCrD,OAAA/B,EAACkC,EAAMC,SAAN,CACEpC,SAAA,CAAA8B,GACEjC,EAAAwC,EAAA,CACCC,OAAeR,OAAAA,OAAAA,EAAOS,MACtBC,GAAG,aACHC,QAAS,IAAMV,EAAU,MACzBW,QAAS,IAET1C,SAACC,EAAA0C,EAAA,CAAKhC,QAAS,EACbX,SAAA,CAACH,EAAAY,EAAA,CACCX,MAAO,CAAEoB,UAAW,QACpBR,SAAU,EACVC,QAAS,EACT4B,KAAK,SACLhI,MAAO0H,EACPrB,SAjDiDrB,IAClD2C,EAAA3C,EAAEqD,cAAcrI,MAAK,IAkDrBsF,EAAAmB,EAAA,CAAIW,UAAW,EACd3B,SAACC,EAAA4C,EAAA,CAAOC,MAAO,EAAGhD,MAAO,CAAEoB,UAAW,SACpClB,SAAA,CAACH,EAAAsB,EAAA,CACC4B,KAAK,SACLvB,KAAK,QACLF,QAAS,IAAMS,EAAU,QAE1BlC,EAAAsB,EAAA,CAAO4B,KAAK,UAAUC,KAAK,WAAW1B,QAnCnC,KAChB,MAAM2B,EAAchI,SAAkB,MAATgH,EAASA,EAAA,IAAK,IAEvCgB,EAAc,MAChBlB,EAAU,MACV,MAAAD,GAAAA,EAAQoB,SAASD,GACjBf,OAAS,GACX,cAkCGrC,EAAAsD,EAAA,CACCC,OACGvD,EAAAsB,EAAA,CAAOC,KAAMiC,EAAc3C,SAAU,EAAGC,QAAS,EAAGa,KAAK,UAE5DgB,GAAG,sBACHc,KACGrD,EAAAsD,EAAA,CACCvD,SAAA,CAACH,EAAA2D,EAAA,CACCpC,KAAMqC,EACN/C,SAAU,EACVqC,KAAK,aACLzB,QAvEI,KACJS,EAAA,CAAEQ,KAAM,OAAQW,YAAevD,EAAM+D,QAAQnH,IAAI,IAwElDsD,EAAA2D,EAAA,CACCpC,KAAMqC,EACN/C,SAAU,EACVqC,KAAK,mBACLzB,QAzEK,KACLS,EAAA,CAAEQ,KAAM,OAAQW,YAAmBvD,EAAMgE,SAASC,IAAQ,IA0E3D/D,EAAA2D,EAAA,CACCpC,KAAMqC,EACN/C,SAAU,EACVqC,KAAK,gBACLzB,QA3EO,KACPS,EAAA,CACRQ,KAAM,UACNW,SAAU3G,GAAKoD,EAAMkE,WAAWtH,IACjC,IAyEQsD,EAAA2D,EAAA,CACCpC,KAAMqC,EACN/C,SAAU,EACVqC,KAAK,sBACLzB,QA1ES,KACTS,EAAA,CAAEQ,KAAM,UAAWW,YAAmBvD,EAAMmE,YAAYF,IAAQ,MA2EjEG,EAAY,IACZlE,EAAA2D,EAAA,CACCpC,KAAM4C,EACNtD,SAAU,EACVqC,KAAK,SACLC,KAAK,WACL1B,QAAS3B,EAAMsE,YAIrBC,UAAWvE,EAAMuE,cAErB,EC5IJ,IAAAtE,EAUA,MAEMuE,EACJ,OAAAvE,EAAWwE,WAAAC,iBAAoBzE,EAAA0E,GAAQC,KAAKpJ,MAAMoJ,KAAK7K,UAAU4K,IAkB7DE,EAAkB7E,IA/BxB,IAAAC,EAAA6E,EAAAC,EAgCQ,MAAAnK,MAAEA,EAAOqG,SAAAA,GAAajB,GACrBmC,EAAQC,GAAaC,EAGlB,MAEJ2C,EAAe3J,GACZ4F,EAASxF,EAAIJ,IAyBhB4J,EAAqB,KACzB7C,EAAU,CAAEQ,KAAM,QAASW,SAAU2B,GAAa,EAG9CA,EAAc,KAzBXjE,EAASkE,KA2BhB/C,EAAU,KAAI,EA6FVH,EAAgBgC,IACpB,IAAKrJ,EACH,OAEI,MAAAwK,EAAWZ,EAAU5J,GAClBwK,EAAA7E,KAAK8E,SAAe5E,IACvBA,EAAAW,MAAMkE,OAAOrB,EAAO,EAAC,IAE3Be,EAAYI,GACZhD,EAAU,KAAI,EAkBhB,OACG9B,EAAA,MAAA,CACED,SAAA,CAAA8B,GACEjC,EAAAwC,EAAA,CACCC,OAAkBR,UAAAA,OAAAA,EAAOS,MACzBC,GAAG,gBACHC,QAAS,IAAMV,EAAU,MACzBW,QAAS,IAET1C,SAACC,EAAA0C,EAAA,CAAKhC,QAAS,EACbX,SAAA,CAACC,EAAAiF,EAAA,CAAKlF,SAAA,CAAA,wCAAsC8B,EAAOS,KAAK,OACvD1C,EAAAmB,EAAA,CAAIW,UAAW,EACd3B,SAACC,EAAA4C,EAAA,CAAOC,MAAO,EAAGhD,MAAO,CAAEoB,UAAW,SACpClB,SAAA,CAACH,EAAAsB,EAAA,CACC4B,KAAK,SACLvB,KAAK,QACLF,QAAS,IAAMS,EAAU,QAE1BlC,EAAAsB,EAAA,CACC4B,KAAK,UACLC,KAAK,WACL1B,QAAS,IAAMQ,EAAOoB,uBAOjCrD,EAAAmB,EAAA,CACChB,SAACH,EAAAsF,EAAA,CAAKC,QAAQ,WACXpF,UAAA,OAAAJ,EAAA,MAAArF,OAAA,EAAAA,EAAO2F,WAAPN,EAAAA,EAAa9F,SACX+F,EAAAgC,EAAA,CACCgC,WAtFQ5B,IAClB,IAAK1H,EACH,OAEI,MAAAwK,EAAWZ,EAAU5J,GAO3B,OALAwK,EAAS7E,KAAK8E,SAAQ,CAACtD,EAAGpI,KACxB,IAAA,IAAS2F,EAAI,EAAGA,EAAIgD,EAAOhD,IACzB8F,EAAS7E,KAAK5G,GAAGyH,MAAMxH,KAAK,GAC9B,IAEKoL,EAAYI,EAAQ,EA4EjBjB,YAzESF,IACnB,IAAKrJ,EACH,OAEI,MAAAwK,EAAWZ,EAAU5J,GAM3B,OAJAwK,EAAS7E,KAAK8E,SAAQ,CAACtD,EAAGpI,KACxByL,EAAS7E,KAAK5G,GAAGyH,MAAMkE,OAAOrB,EAAO,EAAG,GAAE,IAGrCe,EAAYI,EAAQ,EAgEjBrB,QAvJI,WAAuB,IAAtBzB,yDAAgB,EAzEnCrC,IAAAA,EA0EI,IAAKrF,EACH,OAEI,MAAAwK,EAAWZ,EAAU5J,GAErB8K,EAAc,OAAAzF,EAAO,MAAPrF,OAAO,EAAAA,EAAA2F,KAAK,GAAGa,MAAMjH,QAArB8F,EAA+B,EACnD,IAAA,IAAStG,EAAI,EAAGA,EAAI2I,EAAO3I,IAEzByL,EAAS7E,KAAK3G,KAAK,CACjB+L,MAzES,WA0ETC,KAAMpM,IACN4H,MAAOxC,MAAM8G,GAAaG,KAAK,MAInC,OAAOb,EAAYI,EAAQ,EAwIjBpB,SArIK,WAAuB,IAAtBC,yDAAgB,EAChC,IAAKrJ,EACH,OAEI,MAAAwK,EAAWZ,EAAU5J,GAErB8K,EAAc9K,EAAM2F,KAAK,GAAGa,MAAMjH,OASxC,OAPSiL,EAAA7E,KAAK+E,OAAOrB,EAAO,EAAG,CAC7B0B,MA3FW,WA4FXC,KAAMpM,IACN4H,MAAOxC,MAAM8G,GAAaG,KAAK,MAI1Bb,EAAYI,EAAQ,EAuHjBd,OAAQW,EACRV,UAAU,cAKjB,OAAAO,EAAO,MAAAlK,OAAA,EAAAA,EAAA2F,WAAM,EAAAuE,EAAA3K,SACX+F,EAAAH,EAAA,CACCQ,KAAM3F,EAAM2F,KACZqB,UAnHkBqC,IACxB,GAAKrJ,EAGD,OAAAA,EAAM2F,KAAKpG,QAAU,EAAU8K,IAC5B7C,EAAU,CAAEQ,KAAM,MAAOW,SAAU,IAfzBU,KACjB,IAAKrJ,EACH,OAEI,MAAAwK,EAAWZ,EAAU5J,GAClBwK,EAAA7E,KAAK+E,OAAOrB,EAAO,GAC5Be,EAAYI,GACZhD,EAAU,KAAI,EAQkCR,CAAUqC,IAAQ,EA+G5DhC,aA5GqBgC,IAC3B,GAAKrJ,EAGL,OAAIA,EAAM2F,KAAK,GAAGa,MAAMjH,QAAU,EAAU8K,IACrC7C,EAAU,CAAEQ,KAAM,SAAUW,SAAU,IAAMtB,EAAagC,IAAQ,EAwGlE/C,WA9DW,CACjBtB,EACAc,EACAG,KAEA,IAAKjG,EACH,OAEI,MAAAwK,EAAWZ,EAAU5J,GAI3B,OAHAwK,EAAS7E,KAAKG,GAAUU,MAAMP,GAC5BjB,EAAEkG,OACFlL,MACKoK,EAAYI,EAAQ,MAqDtBxK,KAAU,OAAAmK,mBAAOxE,WAAP,EAAAwE,EAAa5K,UACvB+F,EAAAgD,EAAA,CAAOC,MAAO,EACb9C,SAACH,EAAAsB,EAAA,CACCT,SAAU,EACVC,QAAS,EACTS,KAAMqC,EACNV,KAAK,eACLC,KAAK,UACLxB,KAAK,QACLF,QA3MU,KAClB,MAAMyD,EAAsC,CAC1C7E,KAAM,CACJ,CACEoF,MAxCO,WAyCPC,KAAMpM,IACN4H,MAAO,CAAC,GAAI,KAEd,CACEuE,MA7CO,WA8CPC,KAAMpM,IACN4H,MAAO,CAAC,GAAI,OAIlB,OAAO4D,SAAiBpK,GAAUwK,GAAU,QAgM5C,EC3PJ,SAAwBW,KACtB,OACG7F,EAAA,MAAA,CACCE,MAAM,MACN4F,OAAO,MACPC,QAAQ,YACRJ,KAAK,OACLK,OAAO,eACPC,YAAY,MAEZ9F,SAACH,EAAA,OAAA,CAAKrD,EAAE,0CAGd,CCJA,MAAMuJ,GAAQC,IAAoC,IAAnC9F,KAAEA,GAAiC8F,EAChD,MAAMC,EAA0B,IAAhB/F,EAAKpG,OAAe,EAAIoG,EAAK,GAAGa,MAAMjH,OAEtD,OACG+F,EAAAqG,EAAA,CAAKC,QAASF,EAAStF,QAAS,EAC9BX,SAAKE,EAAAC,QACJC,EAAIW,MAAMZ,KAAI,CAACI,EAAMjH,IAClBuG,EAAA8C,EAAA,CAEChC,QAAS,EACTb,MAAO,CAAEsG,QAAS,qBAElBpG,SAACH,EAAAqF,EAAA,CAAKpF,MAAO,CAAEuG,aAAc,WAAcrG,SAAAO,KAJtCH,EAAImF,KAAOjM,QAQxB,EAIEgN,GAAgB3G,IA/BtB,IAAAC,EAgCQ,MAAA2G,WAAEA,GAAe5G,GACjBO,KAAEA,EAAO,GAAIsG,MAAAA,GAAmB,MAAT7G,EAASA,EAAA,CACpC6G,MAAO,iBAIP,OAAAvG,EAAAmC,EAAA,CACEpC,SAAA,CAACH,EAAAmB,EAAA,CAAIL,QAAS,EACZX,SAACC,EAAA4C,EAAA,CAAOC,MAAO,EACb9C,SAAA,CAACH,EAAA8C,EAAA,CACC3C,SAACH,EAAA4G,EAAA,CAAMC,KAAM,EACX1G,WAAC0F,GAAU,QAGd7F,EAAA8C,EAAA,CACC3C,SAACH,EAAAqF,EAAA,CAAMlF,SAAA,OAAAJ,EAAA,MAAA2G,OAAA,EAAAA,EAAYC,OAAS5G,EAAA4G,WAIjC3G,EAAAmB,EAAA,CAAIL,QAAS,EACXX,SAAgB,IAAhBE,EAAKpG,OACH+F,EAAA4G,EAAA,CAAME,OAAK,EAAC3G,SAAA,gBAEZH,EAAAkG,GAAA,CAAM7F,aAGb,EC/CE0G,GAAiBC,EAAW,CAChCL,MAAO,YACPrM,KAAM,WACNoI,KAAM,SACNuE,OAAQ,CACN,CACE3M,KAAM,QACNoI,KAAM,QACNwE,GAAI,CAAC,CAAExE,KAAM,eAKbyE,GAAcH,EAAW,CAC7BL,MAAO,QACPrM,KAAM,QACNoI,KAAM,SACNuE,OAAQ,CACN,CACE3M,KAAM,OACNoI,KAAM,QACNwE,GAAI,CACF,CACExE,KAAMqE,GAAezM,SAK7B8M,WAAY,CAEV5J,MAAOmH,EACP0C,QAASZ,IAEXY,QAAS,CACPC,OAAQ,CACNjH,KAAM,OACNsG,MAAO,SAETY,QAASC,IAAA,IAACb,MAAEA,OAAOtG,EAAO,IAAUmH,EAAA,MAAA,CAClCb,QACAtG,OACF,KAISoH,GAAQC,GAAa,KACzB,CACLpN,KAAM,QACNqN,OAAQ,CACNC,MAAO,CAACb,GAAgBI"}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v35.js","../node_modules/uuid/dist/esm-browser/parse.js","../node_modules/uuid/dist/esm-browser/md5.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/sha1.js","../node_modules/uuid/dist/esm-browser/v3.js","../node_modules/uuid/dist/esm-browser/v5.js","../src/components/TableInput.tsx","../src/components/TableMenu.tsx","../src/components/TableComponent.tsx","../src/components/TableIcon.tsx","../src/components/TablePreview.tsx","../src/index.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","import React from 'react';\nimport { Box, Button, TextInput } from '@sanity/ui';\nimport { RemoveIcon } from '@sanity/icons';\nimport type { TableRow } from './TableComponent';\n\ninterface TableInputProps {\n rows: TableRow[];\n updateCell: (\n e: React.FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => any;\n removeRow: (index: number) => any;\n removeColumn: (index: number) => any;\n}\n\nconst TableInput = (props: TableInputProps) => {\n const renderRowCell =\n (rowIndex: number) => (cell: string, cellIndex: number) =>\n (\n <td key={`cell-${rowIndex}-${cellIndex}`}>\n <TextInput\n fontSize={1}\n padding={3}\n value={cell}\n onChange={e => props.updateCell(e, rowIndex, cellIndex)}\n />\n </td>\n );\n\n const renderRow = (row: TableRow, rowIndex: number) => {\n const renderCell = renderRowCell(rowIndex);\n\n return (\n <tr key={`row-${rowIndex}`}>\n {row.cells.map(renderCell)}\n {\n <td key={rowIndex}>\n <Box marginLeft={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeRow(rowIndex)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n }\n </tr>\n );\n };\n\n return (\n <table style={{ width: '100%' }}>\n <tbody>\n {props.rows.map(renderRow)}\n <tr>\n {(props.rows[0]?.cells || []).map((_, i) => (\n <td key={i}>\n <Box marginTop={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeColumn(i)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n ))}\n </tr>\n </tbody>\n </table>\n );\n};\n\nexport default TableInput;\n","import React, { FormEventHandler, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n Dialog,\n Inline,\n Menu,\n MenuButton,\n MenuDivider,\n MenuItem,\n Placement,\n TextInput,\n} from '@sanity/ui';\nimport { AddIcon, WarningOutlineIcon, ControlsIcon } from '@sanity/icons';\n\ninterface TableMenuProps {\n addColumns: (count: number) => any;\n addColumnAt: (index: number) => any;\n addRows: (count: number) => any;\n addRowAt: (index: number) => any;\n remove: () => any;\n placement: Placement;\n}\n\nconst TableMenu = (props: TableMenuProps) => {\n const [dialog, setDialog] = useState<{\n type: string;\n callback: (count: number) => any;\n } | null>(null);\n\n const [count, setCount] = useState<string | undefined>('');\n\n const updateCount: FormEventHandler<HTMLInputElement> = e => {\n setCount(e.currentTarget.value);\n };\n\n const addRows = () => {\n setDialog({ type: 'rows', callback: c => props.addRows(c) });\n };\n\n const addRowAt = () => {\n setDialog({ type: 'rows', callback: index => props.addRowAt(index) });\n };\n\n const addColumns = () => {\n setDialog({\n type: 'columns',\n callback: c => props.addColumns(c),\n });\n };\n\n const addColumnsAt = () => {\n setDialog({ type: 'columns', callback: index => props.addColumnAt(index) });\n };\n\n const onConfirm = () => {\n const parsedCount = parseInt(count ?? '0', 10);\n\n if (parsedCount < 100) {\n setDialog(null);\n dialog?.callback(parsedCount);\n setCount(undefined);\n }\n };\n\n return (\n <React.Fragment>\n {dialog && (\n <Dialog\n header={`Add ${dialog.type}`}\n id=\"dialog-add\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <TextInput\n style={{ textAlign: 'left' }}\n fontSize={2}\n padding={3}\n type=\"number\"\n value={count}\n onChange={updateCount}\n />\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button text=\"Confirm\" tone=\"critical\" onClick={onConfirm} />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <MenuButton\n button={\n <Button icon={ControlsIcon} fontSize={1} padding={2} mode=\"ghost\" />\n }\n id=\"menu-button-example\"\n menu={\n <Menu>\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row(s)\"\n onClick={addRows}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row At Index\"\n onClick={addRowAt}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column(s)\"\n onClick={addColumns}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column At Index\"\n onClick={addColumnsAt}\n />\n <MenuDivider />\n <MenuItem\n icon={WarningOutlineIcon}\n fontSize={1}\n text=\"Remove\"\n tone=\"critical\"\n onClick={props.remove}\n />\n </Menu>\n }\n placement={props.placement}\n />\n </React.Fragment>\n );\n};\n\nexport default TableMenu;\n","/* eslint-disable consistent-return */\nimport React, { useState, FormEvent } from 'react';\nimport { uuid } from '@sanity/uuid';\nimport { ObjectInputProps, set, unset } from 'sanity';\nimport TableInput from './TableInput';\nimport TableMenu from './TableMenu';\nimport { Box, Button, Card, Dialog, Flex, Inline, Text } from '@sanity/ui';\n\nimport { AddIcon } from '@sanity/icons';\n\nconst ROW_TYPE = 'tableRow';\n\nconst deepClone: <T>(data: T) => T =\n globalThis.structuredClone ?? (data => JSON.parse(JSON.stringify(data)));\n\nexport interface TableValue {\n _type: 'table';\n rows: TableRow[];\n}\n\nexport interface TableProps extends ObjectInputProps<TableValue> {}\n\nexport type TableRow = {\n _type: string;\n _key: string;\n cells: string[];\n};\n\n// TODO refactor deeplone stuff to use proper patches\n// TODO use callback all the things\n\nconst TableComponent = (props: TableProps) => {\n const { value, onChange } = props;\n const [dialog, setDialog] = useState<{\n type: string;\n callback: () => any;\n } | null>(null);\n\n const updateValue = (v?: Omit<TableValue, '_type'>) => {\n return onChange(set(v));\n };\n\n const resetValue = () => {\n return onChange(unset());\n };\n\n const createTable = () => {\n const newValue: Omit<TableValue, '_type'> = {\n rows: [\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n ],\n };\n return updateValue({ ...value, ...newValue });\n };\n\n const confirmRemoveTable = () => {\n setDialog({ type: 'table', callback: removeTable });\n };\n\n const removeTable = () => {\n resetValue();\n setDialog(null);\n };\n\n const addRows = (count: number = 1) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value?.rows[0].cells.length ?? 0;\n for (let i = 0; i < count; i++) {\n // Add as many cells as we have columns\n newValue.rows.push({\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n }\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const addRowAt = (index: number = 0) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value.rows[0].cells.length;\n\n newValue.rows.splice(index, 0, {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const removeRow = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.splice(index, 1);\n updateValue(newValue);\n setDialog(null);\n };\n\n const confirmRemoveRow = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'row', callback: () => removeRow(index) });\n };\n\n const confirmRemoveColumn = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows[0].cells.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'column', callback: () => removeColumn(index) });\n };\n\n const addColumns = (count: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Add a cell to each of the rows\n newValue.rows.forEach((_, i) => {\n for (let j = 0; j < count; j++) {\n newValue.rows[i].cells.push('');\n }\n });\n return updateValue(newValue);\n };\n\n const addColumnAt = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n\n newValue.rows.forEach((_, i) => {\n newValue.rows[i].cells.splice(index, 0, '');\n });\n\n return updateValue(newValue);\n };\n\n const removeColumn = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.forEach(row => {\n row.cells.splice(index, 1);\n });\n updateValue(newValue);\n setDialog(null);\n };\n\n const updateCell = (\n e: FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows[rowIndex].cells[cellIndex] = (\n e.target as HTMLInputElement\n ).value;\n return updateValue(newValue);\n };\n\n return (\n <div>\n {dialog && (\n <Dialog\n header={`Remove ${dialog.type}`}\n id=\"dialog-remove\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <Text>Are you sure you want to remove this {dialog.type}?</Text>\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button\n text=\"Confirm\"\n tone=\"critical\"\n onClick={() => dialog.callback()}\n />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <Box>\n <Flex justify=\"flex-end\">\n {value?.rows?.length && (\n <TableMenu\n addColumns={addColumns}\n addColumnAt={addColumnAt}\n addRows={addRows}\n addRowAt={addRowAt}\n remove={confirmRemoveTable}\n placement=\"left\"\n />\n )}\n </Flex>\n </Box>\n {value?.rows?.length && (\n <TableInput\n rows={value.rows}\n removeRow={confirmRemoveRow}\n removeColumn={confirmRemoveColumn}\n updateCell={updateCell}\n />\n )}\n {(!value || !value?.rows?.length) && (\n <Inline space={1}>\n <Button\n fontSize={1}\n padding={3}\n icon={AddIcon}\n text=\"Create Table\"\n tone=\"primary\"\n mode=\"ghost\"\n onClick={createTable}\n />\n </Inline>\n )}\n </div>\n );\n};\n\nexport default TableComponent;\n","import React from 'react';\n\nexport default function TableIcon() {\n return (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n >\n <path d=\"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18\" />\n </svg>\n );\n}\n","import React from 'react';\nimport type { TableRow } from './TableComponent';\nimport { Box, Card, Inline, Grid, Label, Text } from '@sanity/ui';\nimport TableIcon from './TableIcon';\nimport { PreviewProps } from 'sanity';\n\ninterface ValueProps {\n rows?: TableRow[];\n title?: string;\n}\n\nconst Table = ({ rows }: { rows: TableRow[] }) => {\n const numCols = rows.length === 0 ? 0 : rows[0].cells.length;\n\n return (\n <Grid columns={numCols} padding={2}>\n {rows.map(row =>\n row.cells.map((cell, i) => (\n <Card\n key={row._key + i}\n padding={2}\n style={{ outline: '1px solid #DFE2E9' }}\n >\n <Text style={{ textOverflow: 'elipsis' }}>{cell}</Text>\n </Card>\n ))\n )}\n </Grid>\n );\n};\n\nconst TablePreview = (props: ValueProps & PreviewProps) => {\n const { schemaType } = props;\n const { rows = [], title } = props ?? {\n title: 'Title missing',\n };\n\n return (\n <>\n <Box padding={3}>\n <Inline space={3}>\n <Card>\n <Label size={4}>\n <TableIcon />\n </Label>\n </Card>\n <Card>\n <Text>{schemaType?.title ?? title}</Text>\n </Card>\n </Inline>\n </Box>\n <Box padding={2}>\n {rows.length === 0 ? (\n <Label muted>Empty Table</Label>\n ) : (\n <Table rows={rows} />\n )}\n </Box>\n </>\n );\n};\n\nexport default TablePreview;\n","import { definePlugin, defineType } from 'sanity';\n\nimport { TableComponent, TablePreview } from './components';\nexport type {\n TableValue,\n TableProps,\n TableRow,\n} from './components/TableComponent';\n\nexport { TableComponent, TablePreview };\n\nexport interface TableConfig {\n rowType?: string;\n}\n\nexport const table = definePlugin<TableConfig | undefined>(config => {\n const tableRowSchema = defineType({\n title: 'Table Row',\n name: config?.rowType || 'tableRow',\n type: 'object',\n fields: [\n {\n name: 'cells',\n type: 'array',\n of: [{ type: 'string' }],\n },\n ],\n });\n\n const tableSchema = defineType({\n title: 'Table',\n name: 'table',\n type: 'object',\n fields: [\n {\n name: 'rows',\n type: 'array',\n of: [\n {\n type: tableRowSchema.name,\n },\n ],\n },\n ],\n components: {\n input: TableComponent as any,\n preview: TablePreview as any,\n },\n preview: {\n select: {\n rows: 'rows',\n title: 'title',\n },\n prepare: ({ title, rows = [] }) => ({\n title,\n rows,\n }),\n },\n });\n\n return {\n name: 'table',\n schema: {\n types: [tableRowSchema, tableSchema],\n },\n };\n});\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","REGEX","validate","uuid","test","byteToHex","i","push","toString","substr","stringify","arr","offset","arguments","length","undefined","toLowerCase","TypeError","v35","name","version","hashfunc","generateUUID","value","namespace","buf","str","unescape","encodeURIComponent","bytes","charCodeAt","stringToBytes","v","parseInt","slice","parse","set","err","DNS","URL","getOutputLength","inputLength8","safeAdd","x","y","lsw","md5cmn","q","a","b","s","t","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","v4","options","rnds","random","f","z","ROTL","n","msg","input","output","length32","hexTab","hex","charAt","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","K","H","Array","isArray","prototype","call","l","N","Math","ceil","M","_i","j","pow","floor","_i2","W","_t","e","_t2","T","TableInput","props","_a","jsx","style","width","children","jsxs","rows","map","row","rowIndex","renderCell","cell","cellIndex","TextInput","fontSize","padding","onChange","updateCell","renderRowCell","cells","Box","marginLeft","textAlign","Button","icon","RemoveIcon","onClick","removeRow","mode","concat","_","marginTop","removeColumn","TableMenu","dialog","setDialog","useState","count","setCount","React","Fragment","Dialog","header","type","id","onClose","zOffset","Card","currentTarget","Inline","space","text","tone","parsedCount","callback","MenuButton","button","ControlsIcon","menu","Menu","MenuItem","AddIcon","addRows","addRowAt","index","addColumns","addColumnAt","MenuDivider","WarningOutlineIcon","remove","placement","deepClone","globalThis","structuredClone","data","JSON","TableComponent","_b","_c","updateValue","confirmRemoveTable","removeTable","unset","newValue","forEach","splice","Text","Flex","justify","columnCount","_type","_key","fill","target","TableIcon","height","viewBox","stroke","strokeWidth","Table","_ref","numCols","Grid","columns","outline","textOverflow","TablePreview","schemaType","title","Label","size","muted","table","definePlugin","config","tableRowSchema","defineType","rowType","fields","of","schema","types","components","preview","select","prepare","_ref2"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?e(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("sanity"),o=require("react/jsx-runtime"),l=require("react"),i=require("@sanity/ui"),s=require("@sanity/icons");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c,u=a(l),d=new Uint8Array(16);function p(){if(!c&&!(c="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return c(d)}var f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function h(e){return"string"==typeof e&&f.test(e)}for(var y=[],x=0;x<256;++x)y.push((x+256).toString(16).substr(1));function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(y[e[t+0]]+y[e[t+1]]+y[e[t+2]]+y[e[t+3]]+"-"+y[e[t+4]]+y[e[t+5]]+"-"+y[e[t+6]]+y[e[t+7]]+"-"+y[e[t+8]]+y[e[t+9]]+"-"+y[e[t+10]]+y[e[t+11]]+y[e[t+12]]+y[e[t+13]]+y[e[t+14]]+y[e[t+15]]).toLowerCase();if(!h(n))throw TypeError("Stringified UUID is invalid");return n}function m(e,t,n){function r(e,r,o,l){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=function(e){if(!h(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var i=new Uint8Array(16+e.length);if(i.set(r),i.set(e,r.length),(i=n(i))[6]=15&i[6]|t,i[8]=63&i[8]|128,o){l=l||0;for(var s=0;s<16;++s)o[l+s]=i[s];return o}return g(i)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function v(e){return 14+(e+64>>>9<<4)+1}function j(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function w(e,t,n,r,o,l){return j((i=j(j(t,e),j(r,l)))<<(s=o)|i>>>32-s,n);var i,s}function b(e,t,n,r,o,l,i){return w(t&n|~t&r,e,t,o,l,i)}function C(e,t,n,r,o,l,i){return w(t&r|n&~r,e,t,o,l,i)}function A(e,t,n,r,o,l,i){return w(t^n^r,e,t,o,l,i)}function I(e,t,n,r,o,l,i){return w(n^(t|~r),e,t,o,l,i)}function k(e,t,n){var r=(e=e||{}).random||(e.rng||p)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return g(r)}function R(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function O(e,t){return e<<t|e>>>32-t}m("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",o=0;o<n;o+=8){var l=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(l>>>4&15)+r.charAt(15&l),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[v(t)-1]=t;for(var n=1732584193,r=-271733879,o=-1732584194,l=271733878,i=0;i<e.length;i+=16){var s=n,a=r,c=o,u=l;n=b(n,r,o,l,e[i],7,-680876936),l=b(l,n,r,o,e[i+1],12,-389564586),o=b(o,l,n,r,e[i+2],17,606105819),r=b(r,o,l,n,e[i+3],22,-1044525330),n=b(n,r,o,l,e[i+4],7,-176418897),l=b(l,n,r,o,e[i+5],12,1200080426),o=b(o,l,n,r,e[i+6],17,-1473231341),r=b(r,o,l,n,e[i+7],22,-45705983),n=b(n,r,o,l,e[i+8],7,1770035416),l=b(l,n,r,o,e[i+9],12,-1958414417),o=b(o,l,n,r,e[i+10],17,-42063),r=b(r,o,l,n,e[i+11],22,-1990404162),n=b(n,r,o,l,e[i+12],7,1804603682),l=b(l,n,r,o,e[i+13],12,-40341101),o=b(o,l,n,r,e[i+14],17,-1502002290),n=C(n,r=b(r,o,l,n,e[i+15],22,1236535329),o,l,e[i+1],5,-165796510),l=C(l,n,r,o,e[i+6],9,-1069501632),o=C(o,l,n,r,e[i+11],14,643717713),r=C(r,o,l,n,e[i],20,-373897302),n=C(n,r,o,l,e[i+5],5,-701558691),l=C(l,n,r,o,e[i+10],9,38016083),o=C(o,l,n,r,e[i+15],14,-660478335),r=C(r,o,l,n,e[i+4],20,-405537848),n=C(n,r,o,l,e[i+9],5,568446438),l=C(l,n,r,o,e[i+14],9,-1019803690),o=C(o,l,n,r,e[i+3],14,-187363961),r=C(r,o,l,n,e[i+8],20,1163531501),n=C(n,r,o,l,e[i+13],5,-1444681467),l=C(l,n,r,o,e[i+2],9,-51403784),o=C(o,l,n,r,e[i+7],14,1735328473),n=A(n,r=C(r,o,l,n,e[i+12],20,-1926607734),o,l,e[i+5],4,-378558),l=A(l,n,r,o,e[i+8],11,-2022574463),o=A(o,l,n,r,e[i+11],16,1839030562),r=A(r,o,l,n,e[i+14],23,-35309556),n=A(n,r,o,l,e[i+1],4,-1530992060),l=A(l,n,r,o,e[i+4],11,1272893353),o=A(o,l,n,r,e[i+7],16,-155497632),r=A(r,o,l,n,e[i+10],23,-1094730640),n=A(n,r,o,l,e[i+13],4,681279174),l=A(l,n,r,o,e[i],11,-358537222),o=A(o,l,n,r,e[i+3],16,-722521979),r=A(r,o,l,n,e[i+6],23,76029189),n=A(n,r,o,l,e[i+9],4,-640364487),l=A(l,n,r,o,e[i+12],11,-421815835),o=A(o,l,n,r,e[i+15],16,530742520),n=I(n,r=A(r,o,l,n,e[i+2],23,-995338651),o,l,e[i],6,-198630844),l=I(l,n,r,o,e[i+7],10,1126891415),o=I(o,l,n,r,e[i+14],15,-1416354905),r=I(r,o,l,n,e[i+5],21,-57434055),n=I(n,r,o,l,e[i+12],6,1700485571),l=I(l,n,r,o,e[i+3],10,-1894986606),o=I(o,l,n,r,e[i+10],15,-1051523),r=I(r,o,l,n,e[i+1],21,-2054922799),n=I(n,r,o,l,e[i+8],6,1873313359),l=I(l,n,r,o,e[i+15],10,-30611744),o=I(o,l,n,r,e[i+6],15,-1560198380),r=I(r,o,l,n,e[i+13],21,1309151649),n=I(n,r,o,l,e[i+4],6,-145523070),l=I(l,n,r,o,e[i+11],10,-1120210379),o=I(o,l,n,r,e[i+2],15,718787259),r=I(r,o,l,n,e[i+9],21,-343485551),n=j(n,s),r=j(r,a),o=j(o,c),l=j(l,u)}return[n,r,o,l]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(v(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))})),m("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var o=0;o<r.length;++o)e.push(r.charCodeAt(o))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var l=e.length/4+2,i=Math.ceil(l/16),s=new Array(i),a=0;a<i;++a){for(var c=new Uint32Array(16),u=0;u<16;++u)c[u]=e[64*a+4*u]<<24|e[64*a+4*u+1]<<16|e[64*a+4*u+2]<<8|e[64*a+4*u+3];s[a]=c}s[i-1][14]=8*(e.length-1)/Math.pow(2,32),s[i-1][14]=Math.floor(s[i-1][14]),s[i-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<i;++d){for(var p=new Uint32Array(80),f=0;f<16;++f)p[f]=s[d][f];for(var h=16;h<80;++h)p[h]=O(p[h-3]^p[h-8]^p[h-14]^p[h-16],1);for(var y=n[0],x=n[1],g=n[2],m=n[3],v=n[4],j=0;j<80;++j){var w=Math.floor(j/20),b=O(y,5)+R(w,x,g,m)+v+t[w]+p[j]>>>0;v=m,m=g,g=O(x,30)>>>0,x=y,y=b}n[0]=n[0]+y>>>0,n[1]=n[1]+x>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+v>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));const T=e=>{var t;return o.jsx("table",{style:{width:"100%"},children:o.jsxs("tbody",{children:[e.rows.map(((t,n)=>{const r=(t=>(n,r)=>o.jsx("td",{children:o.jsx(i.TextInput,{fontSize:1,padding:3,value:n,onChange:n=>e.updateCell(n,t,r)})},"cell-".concat(t,"-").concat(r)))(n);return o.jsxs("tr",{children:[t.cells.map(r),o.jsx("td",{children:o.jsx(i.Box,{marginLeft:1,style:{textAlign:"center"},children:o.jsx(i.Button,{icon:s.RemoveIcon,padding:2,onClick:()=>e.removeRow(n),mode:"bleed"})})},n)]},"row-".concat(n))})),o.jsx("tr",{children:((null==(t=e.rows[0])?void 0:t.cells)||[]).map(((t,n)=>o.jsx("td",{children:o.jsx(i.Box,{marginTop:1,style:{textAlign:"center"},children:o.jsx(i.Button,{icon:s.RemoveIcon,padding:2,onClick:()=>e.removeColumn(n),mode:"bleed"})})},n)))})]})})},S=e=>{const[t,n]=l.useState(null),[r,a]=l.useState("");return o.jsxs(u.default.Fragment,{children:[t&&o.jsx(i.Dialog,{header:"Add ".concat(t.type),id:"dialog-add",onClose:()=>n(null),zOffset:1e3,children:o.jsxs(i.Card,{padding:4,children:[o.jsx(i.TextInput,{style:{textAlign:"left"},fontSize:2,padding:3,type:"number",value:r,onChange:e=>{a(e.currentTarget.value)}}),o.jsx(i.Box,{marginTop:4,children:o.jsxs(i.Inline,{space:1,style:{textAlign:"right"},children:[o.jsx(i.Button,{text:"Cancel",mode:"ghost",onClick:()=>n(null)}),o.jsx(i.Button,{text:"Confirm",tone:"critical",onClick:()=>{const e=parseInt(null!=r?r:"0",10);e<100&&(n(null),null==t||t.callback(e),a(void 0))}})]})})]})}),o.jsx(i.MenuButton,{button:o.jsx(i.Button,{icon:s.ControlsIcon,fontSize:1,padding:2,mode:"ghost"}),id:"menu-button-example",menu:o.jsxs(i.Menu,{children:[o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Row(s)",onClick:()=>{n({type:"rows",callback:t=>e.addRows(t)})}}),o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Row At Index",onClick:()=>{n({type:"rows",callback:t=>e.addRowAt(t)})}}),o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Column(s)",onClick:()=>{n({type:"columns",callback:t=>e.addColumns(t)})}}),o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Column At Index",onClick:()=>{n({type:"columns",callback:t=>e.addColumnAt(t)})}}),o.jsx(i.MenuDivider,{}),o.jsx(i.MenuItem,{icon:s.WarningOutlineIcon,fontSize:1,text:"Remove",tone:"critical",onClick:e.remove})]}),placement:e.placement})]})};var B;const M=null!=(B=globalThis.structuredClone)?B:e=>JSON.parse(JSON.stringify(e)),U=e=>{var n,a,c;const{value:u,onChange:d}=e,[p,f]=l.useState(null),h=e=>d(r.set(e)),y=()=>{f({type:"table",callback:x})},x=()=>{d(r.unset()),f(null)},g=e=>{if(!u)return;const t=M(u);t.rows.forEach((t=>{t.cells.splice(e,1)})),h(t),f(null)};return o.jsxs("div",{children:[p&&o.jsx(i.Dialog,{header:"Remove ".concat(p.type),id:"dialog-remove",onClose:()=>f(null),zOffset:1e3,children:o.jsxs(i.Card,{padding:4,children:[o.jsxs(i.Text,{children:["Are you sure you want to remove this ",p.type,"?"]}),o.jsx(i.Box,{marginTop:4,children:o.jsxs(i.Inline,{space:1,style:{textAlign:"right"},children:[o.jsx(i.Button,{text:"Cancel",mode:"ghost",onClick:()=>f(null)}),o.jsx(i.Button,{text:"Confirm",tone:"critical",onClick:()=>p.callback()})]})})]})}),o.jsx(i.Box,{children:o.jsx(i.Flex,{justify:"flex-end",children:(null==(n=null==u?void 0:u.rows)?void 0:n.length)&&o.jsx(S,{addColumns:e=>{if(!u)return;const t=M(u);return t.rows.forEach(((n,r)=>{for(let n=0;n<e;n++)t.rows[r].cells.push("")})),h(t)},addColumnAt:e=>{if(!u)return;const t=M(u);return t.rows.forEach(((n,r)=>{t.rows[r].cells.splice(e,0,"")})),h(t)},addRows:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;var t;if(!u)return;const n=M(u),r=null!=(t=null==u?void 0:u.rows[0].cells.length)?t:0;for(let t=0;t<e;t++)n.rows.push({_type:"tableRow",_key:k(),cells:Array(r).fill("")});return h(n)},addRowAt:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(!u)return;const t=M(u),n=u.rows[0].cells.length;return t.rows.splice(e,0,{_type:"tableRow",_key:k(),cells:Array(n).fill("")}),h(t)},remove:y,placement:"left"})})}),(null==(a=null==u?void 0:u.rows)?void 0:a.length)&&o.jsx(T,{rows:u.rows,removeRow:e=>{if(u)return u.rows.length<=1?y():f({type:"row",callback:()=>(e=>{if(!u)return;const t=M(u);t.rows.splice(e,1),h(t),f(null)})(e)})},removeColumn:e=>{if(u)return u.rows[0].cells.length<=1?y():f({type:"column",callback:()=>g(e)})},updateCell:(e,t,n)=>{if(!u)return;const r=M(u);return r.rows[t].cells[n]=e.target.value,h(r)}}),(!u||!(null==(c=null==u?void 0:u.rows)?void 0:c.length))&&o.jsx(i.Inline,{space:1,children:o.jsx(i.Button,{fontSize:1,padding:3,icon:s.AddIcon,text:"Create Table",tone:"primary",mode:"ghost",onClick:()=>{const e={rows:[{_type:"tableRow",_key:k(),cells:["",""]},{_type:"tableRow",_key:k(),cells:["",""]}]};return h(t(t({},u),e))}})})]})};function z(){return o.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 25 25",fill:"none",stroke:"currentColor",strokeWidth:"1.2",children:o.jsx("path",{d:"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18"})})}const E=e=>{let{rows:t}=e;const n=0===t.length?0:t[0].cells.length;return o.jsx(i.Grid,{columns:n,padding:2,children:t.map((e=>e.cells.map(((t,n)=>o.jsx(i.Card,{padding:2,style:{outline:"1px solid #DFE2E9"},children:o.jsx(i.Text,{style:{textOverflow:"elipsis"},children:t})},e._key+n)))))})},P=e=>{var t;const{schemaType:n}=e,{rows:r=[],title:l}=null!=e?e:{title:"Title missing"};return o.jsxs(o.Fragment,{children:[o.jsx(i.Box,{padding:3,children:o.jsxs(i.Inline,{space:3,children:[o.jsx(i.Card,{children:o.jsx(i.Label,{size:4,children:o.jsx(z,{})})}),o.jsx(i.Card,{children:o.jsx(i.Text,{children:null!=(t=null==n?void 0:n.title)?t:l})})]})}),o.jsx(i.Box,{padding:2,children:0===r.length?o.jsx(i.Label,{muted:!0,children:"Empty Table"}):o.jsx(E,{rows:r})})]})},D=r.defineType({title:"Table Row",name:"tableRow",type:"object",fields:[{name:"cells",type:"array",of:[{type:"string"}]}]}),_=r.defineType({title:"Table",name:"table",type:"object",fields:[{name:"rows",type:"array",of:[{type:D.name}]}],components:{input:U,preview:P},preview:{select:{rows:"rows",title:"title"},prepare:e=>{let{title:t,rows:n=[]}=e;return{title:t,rows:n}}}}),q=r.definePlugin((()=>({name:"table",schema:{types:[D,_]}})));exports.TableComponent=U,exports.TablePreview=P,exports.table=q;
1
+ "use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?e(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("sanity"),o=require("react/jsx-runtime"),l=require("react"),i=require("@sanity/ui"),s=require("@sanity/icons");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c,u=a(l),d=new Uint8Array(16);function p(){if(!c&&!(c="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return c(d)}var f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function h(e){return"string"==typeof e&&f.test(e)}for(var y=[],x=0;x<256;++x)y.push((x+256).toString(16).substr(1));function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(y[e[t+0]]+y[e[t+1]]+y[e[t+2]]+y[e[t+3]]+"-"+y[e[t+4]]+y[e[t+5]]+"-"+y[e[t+6]]+y[e[t+7]]+"-"+y[e[t+8]]+y[e[t+9]]+"-"+y[e[t+10]]+y[e[t+11]]+y[e[t+12]]+y[e[t+13]]+y[e[t+14]]+y[e[t+15]]).toLowerCase();if(!h(n))throw TypeError("Stringified UUID is invalid");return n}function m(e,t,n){function r(e,r,o,l){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=function(e){if(!h(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var i=new Uint8Array(16+e.length);if(i.set(r),i.set(e,r.length),(i=n(i))[6]=15&i[6]|t,i[8]=63&i[8]|128,o){l=l||0;for(var s=0;s<16;++s)o[l+s]=i[s];return o}return g(i)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function v(e){return 14+(e+64>>>9<<4)+1}function w(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function j(e,t,n,r,o,l){return w((i=w(w(t,e),w(r,l)))<<(s=o)|i>>>32-s,n);var i,s}function b(e,t,n,r,o,l,i){return j(t&n|~t&r,e,t,o,l,i)}function C(e,t,n,r,o,l,i){return j(t&r|n&~r,e,t,o,l,i)}function A(e,t,n,r,o,l,i){return j(t^n^r,e,t,o,l,i)}function I(e,t,n,r,o,l,i){return j(n^(t|~r),e,t,o,l,i)}function k(e,t,n){var r=(e=e||{}).random||(e.rng||p)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return g(r)}function R(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function O(e,t){return e<<t|e>>>32-t}m("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",o=0;o<n;o+=8){var l=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(l>>>4&15)+r.charAt(15&l),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[v(t)-1]=t;for(var n=1732584193,r=-271733879,o=-1732584194,l=271733878,i=0;i<e.length;i+=16){var s=n,a=r,c=o,u=l;n=b(n,r,o,l,e[i],7,-680876936),l=b(l,n,r,o,e[i+1],12,-389564586),o=b(o,l,n,r,e[i+2],17,606105819),r=b(r,o,l,n,e[i+3],22,-1044525330),n=b(n,r,o,l,e[i+4],7,-176418897),l=b(l,n,r,o,e[i+5],12,1200080426),o=b(o,l,n,r,e[i+6],17,-1473231341),r=b(r,o,l,n,e[i+7],22,-45705983),n=b(n,r,o,l,e[i+8],7,1770035416),l=b(l,n,r,o,e[i+9],12,-1958414417),o=b(o,l,n,r,e[i+10],17,-42063),r=b(r,o,l,n,e[i+11],22,-1990404162),n=b(n,r,o,l,e[i+12],7,1804603682),l=b(l,n,r,o,e[i+13],12,-40341101),o=b(o,l,n,r,e[i+14],17,-1502002290),n=C(n,r=b(r,o,l,n,e[i+15],22,1236535329),o,l,e[i+1],5,-165796510),l=C(l,n,r,o,e[i+6],9,-1069501632),o=C(o,l,n,r,e[i+11],14,643717713),r=C(r,o,l,n,e[i],20,-373897302),n=C(n,r,o,l,e[i+5],5,-701558691),l=C(l,n,r,o,e[i+10],9,38016083),o=C(o,l,n,r,e[i+15],14,-660478335),r=C(r,o,l,n,e[i+4],20,-405537848),n=C(n,r,o,l,e[i+9],5,568446438),l=C(l,n,r,o,e[i+14],9,-1019803690),o=C(o,l,n,r,e[i+3],14,-187363961),r=C(r,o,l,n,e[i+8],20,1163531501),n=C(n,r,o,l,e[i+13],5,-1444681467),l=C(l,n,r,o,e[i+2],9,-51403784),o=C(o,l,n,r,e[i+7],14,1735328473),n=A(n,r=C(r,o,l,n,e[i+12],20,-1926607734),o,l,e[i+5],4,-378558),l=A(l,n,r,o,e[i+8],11,-2022574463),o=A(o,l,n,r,e[i+11],16,1839030562),r=A(r,o,l,n,e[i+14],23,-35309556),n=A(n,r,o,l,e[i+1],4,-1530992060),l=A(l,n,r,o,e[i+4],11,1272893353),o=A(o,l,n,r,e[i+7],16,-155497632),r=A(r,o,l,n,e[i+10],23,-1094730640),n=A(n,r,o,l,e[i+13],4,681279174),l=A(l,n,r,o,e[i],11,-358537222),o=A(o,l,n,r,e[i+3],16,-722521979),r=A(r,o,l,n,e[i+6],23,76029189),n=A(n,r,o,l,e[i+9],4,-640364487),l=A(l,n,r,o,e[i+12],11,-421815835),o=A(o,l,n,r,e[i+15],16,530742520),n=I(n,r=A(r,o,l,n,e[i+2],23,-995338651),o,l,e[i],6,-198630844),l=I(l,n,r,o,e[i+7],10,1126891415),o=I(o,l,n,r,e[i+14],15,-1416354905),r=I(r,o,l,n,e[i+5],21,-57434055),n=I(n,r,o,l,e[i+12],6,1700485571),l=I(l,n,r,o,e[i+3],10,-1894986606),o=I(o,l,n,r,e[i+10],15,-1051523),r=I(r,o,l,n,e[i+1],21,-2054922799),n=I(n,r,o,l,e[i+8],6,1873313359),l=I(l,n,r,o,e[i+15],10,-30611744),o=I(o,l,n,r,e[i+6],15,-1560198380),r=I(r,o,l,n,e[i+13],21,1309151649),n=I(n,r,o,l,e[i+4],6,-145523070),l=I(l,n,r,o,e[i+11],10,-1120210379),o=I(o,l,n,r,e[i+2],15,718787259),r=I(r,o,l,n,e[i+9],21,-343485551),n=w(n,s),r=w(r,a),o=w(o,c),l=w(l,u)}return[n,r,o,l]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(v(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))})),m("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var o=0;o<r.length;++o)e.push(r.charCodeAt(o))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var l=e.length/4+2,i=Math.ceil(l/16),s=new Array(i),a=0;a<i;++a){for(var c=new Uint32Array(16),u=0;u<16;++u)c[u]=e[64*a+4*u]<<24|e[64*a+4*u+1]<<16|e[64*a+4*u+2]<<8|e[64*a+4*u+3];s[a]=c}s[i-1][14]=8*(e.length-1)/Math.pow(2,32),s[i-1][14]=Math.floor(s[i-1][14]),s[i-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<i;++d){for(var p=new Uint32Array(80),f=0;f<16;++f)p[f]=s[d][f];for(var h=16;h<80;++h)p[h]=O(p[h-3]^p[h-8]^p[h-14]^p[h-16],1);for(var y=n[0],x=n[1],g=n[2],m=n[3],v=n[4],w=0;w<80;++w){var j=Math.floor(w/20),b=O(y,5)+R(j,x,g,m)+v+t[j]+p[w]>>>0;v=m,m=g,g=O(x,30)>>>0,x=y,y=b}n[0]=n[0]+y>>>0,n[1]=n[1]+x>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+v>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));const T=e=>{var t;return o.jsx("table",{style:{width:"100%"},children:o.jsxs("tbody",{children:[e.rows.map(((t,n)=>{const r=(t=>(n,r)=>o.jsx("td",{children:o.jsx(i.TextInput,{fontSize:1,padding:3,value:n,onChange:n=>e.updateCell(n,t,r)})},"cell-".concat(t,"-").concat(r)))(n);return o.jsxs("tr",{children:[t.cells.map(r),o.jsx("td",{children:o.jsx(i.Box,{marginLeft:1,style:{textAlign:"center"},children:o.jsx(i.Button,{icon:s.RemoveIcon,padding:2,onClick:()=>e.removeRow(n),mode:"bleed"})})},n)]},"row-".concat(n))})),o.jsx("tr",{children:((null==(t=e.rows[0])?void 0:t.cells)||[]).map(((t,n)=>o.jsx("td",{children:o.jsx(i.Box,{marginTop:1,style:{textAlign:"center"},children:o.jsx(i.Button,{icon:s.RemoveIcon,padding:2,onClick:()=>e.removeColumn(n),mode:"bleed"})})},n)))})]})})},S=e=>{const[t,n]=l.useState(null),[r,a]=l.useState("");return o.jsxs(u.default.Fragment,{children:[t&&o.jsx(i.Dialog,{header:"Add ".concat(t.type),id:"dialog-add",onClose:()=>n(null),zOffset:1e3,children:o.jsxs(i.Card,{padding:4,children:[o.jsx(i.TextInput,{style:{textAlign:"left"},fontSize:2,padding:3,type:"number",value:r,onChange:e=>{a(e.currentTarget.value)}}),o.jsx(i.Box,{marginTop:4,children:o.jsxs(i.Inline,{space:1,style:{textAlign:"right"},children:[o.jsx(i.Button,{text:"Cancel",mode:"ghost",onClick:()=>n(null)}),o.jsx(i.Button,{text:"Confirm",tone:"critical",onClick:()=>{const e=parseInt(null!=r?r:"0",10);e<100&&(n(null),null==t||t.callback(e),a(void 0))}})]})})]})}),o.jsx(i.MenuButton,{button:o.jsx(i.Button,{icon:s.ControlsIcon,fontSize:1,padding:2,mode:"ghost"}),id:"menu-button-example",menu:o.jsxs(i.Menu,{children:[o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Row(s)",onClick:()=>{n({type:"rows",callback:t=>e.addRows(t)})}}),o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Row At Index",onClick:()=>{n({type:"rows",callback:t=>e.addRowAt(t)})}}),o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Column(s)",onClick:()=>{n({type:"columns",callback:t=>e.addColumns(t)})}}),o.jsx(i.MenuItem,{icon:s.AddIcon,fontSize:1,text:"Add Column At Index",onClick:()=>{n({type:"columns",callback:t=>e.addColumnAt(t)})}}),o.jsx(i.MenuDivider,{}),o.jsx(i.MenuItem,{icon:s.WarningOutlineIcon,fontSize:1,text:"Remove",tone:"critical",onClick:e.remove})]}),placement:e.placement})]})};var B;const M=null!=(B=globalThis.structuredClone)?B:e=>JSON.parse(JSON.stringify(e)),U=e=>{var n,a,c;const{value:u,onChange:d}=e,[p,f]=l.useState(null),h=e=>d(r.set(e)),y=()=>{f({type:"table",callback:x})},x=()=>{d(r.unset()),f(null)},g=e=>{if(!u)return;const t=M(u);t.rows.forEach((t=>{t.cells.splice(e,1)})),h(t),f(null)};return o.jsxs("div",{children:[p&&o.jsx(i.Dialog,{header:"Remove ".concat(p.type),id:"dialog-remove",onClose:()=>f(null),zOffset:1e3,children:o.jsxs(i.Card,{padding:4,children:[o.jsxs(i.Text,{children:["Are you sure you want to remove this ",p.type,"?"]}),o.jsx(i.Box,{marginTop:4,children:o.jsxs(i.Inline,{space:1,style:{textAlign:"right"},children:[o.jsx(i.Button,{text:"Cancel",mode:"ghost",onClick:()=>f(null)}),o.jsx(i.Button,{text:"Confirm",tone:"critical",onClick:()=>p.callback()})]})})]})}),o.jsx(i.Box,{children:o.jsx(i.Flex,{justify:"flex-end",children:(null==(n=null==u?void 0:u.rows)?void 0:n.length)&&o.jsx(S,{addColumns:e=>{if(!u)return;const t=M(u);return t.rows.forEach(((n,r)=>{for(let n=0;n<e;n++)t.rows[r].cells.push("")})),h(t)},addColumnAt:e=>{if(!u)return;const t=M(u);return t.rows.forEach(((n,r)=>{t.rows[r].cells.splice(e,0,"")})),h(t)},addRows:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;var t;if(!u)return;const n=M(u),r=null!=(t=null==u?void 0:u.rows[0].cells.length)?t:0;for(let t=0;t<e;t++)n.rows.push({_type:"tableRow",_key:k(),cells:Array(r).fill("")});return h(n)},addRowAt:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(!u)return;const t=M(u),n=u.rows[0].cells.length;return t.rows.splice(e,0,{_type:"tableRow",_key:k(),cells:Array(n).fill("")}),h(t)},remove:y,placement:"left"})})}),(null==(a=null==u?void 0:u.rows)?void 0:a.length)&&o.jsx(T,{rows:u.rows,removeRow:e=>{if(u)return u.rows.length<=1?y():f({type:"row",callback:()=>(e=>{if(!u)return;const t=M(u);t.rows.splice(e,1),h(t),f(null)})(e)})},removeColumn:e=>{if(u)return u.rows[0].cells.length<=1?y():f({type:"column",callback:()=>g(e)})},updateCell:(e,t,n)=>{if(!u)return;const r=M(u);return r.rows[t].cells[n]=e.target.value,h(r)}}),(!u||!(null==(c=null==u?void 0:u.rows)?void 0:c.length))&&o.jsx(i.Inline,{space:1,children:o.jsx(i.Button,{fontSize:1,padding:3,icon:s.AddIcon,text:"Create Table",tone:"primary",mode:"ghost",onClick:()=>{const e={rows:[{_type:"tableRow",_key:k(),cells:["",""]},{_type:"tableRow",_key:k(),cells:["",""]}]};return h(t(t({},u),e))}})})]})};function z(){return o.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 25 25",fill:"none",stroke:"currentColor",strokeWidth:"1.2",children:o.jsx("path",{d:"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18"})})}const E=e=>{let{rows:t}=e;const n=0===t.length?0:t[0].cells.length;return o.jsx(i.Grid,{columns:n,padding:2,children:t.map((e=>e.cells.map(((t,n)=>o.jsx(i.Card,{padding:2,style:{outline:"1px solid #DFE2E9"},children:o.jsx(i.Text,{style:{textOverflow:"elipsis"},children:t})},e._key+n)))))})},P=e=>{var t;const{schemaType:n}=e,{rows:r=[],title:l}=null!=e?e:{title:"Title missing"};return o.jsxs(o.Fragment,{children:[o.jsx(i.Box,{padding:3,children:o.jsxs(i.Inline,{space:3,children:[o.jsx(i.Card,{children:o.jsx(i.Label,{size:4,children:o.jsx(z,{})})}),o.jsx(i.Card,{children:o.jsx(i.Text,{children:null!=(t=null==n?void 0:n.title)?t:l})})]})}),o.jsx(i.Box,{padding:2,children:0===r.length?o.jsx(i.Label,{muted:!0,children:"Empty Table"}):o.jsx(E,{rows:r})})]})},D=r.definePlugin((e=>{const t=r.defineType({title:"Table Row",name:(null==e?void 0:e.rowType)||"tableRow",type:"object",fields:[{name:"cells",type:"array",of:[{type:"string"}]}]});return{name:"table",schema:{types:[t,r.defineType({title:"Table",name:"table",type:"object",fields:[{name:"rows",type:"array",of:[{type:t.name}]}],components:{input:U,preview:P},preview:{select:{rows:"rows",title:"title"},prepare:e=>{let{title:t,rows:n=[]}=e;return{title:t,rows:n}}}})]}}}));exports.TableComponent=U,exports.TablePreview=P,exports.table=D;
2
2
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v35.js","../node_modules/uuid/dist/esm-browser/parse.js","../node_modules/uuid/dist/esm-browser/md5.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/sha1.js","../node_modules/uuid/dist/esm-browser/v3.js","../node_modules/uuid/dist/esm-browser/v5.js","../src/components/TableInput.tsx","../src/components/TableMenu.tsx","../src/components/TableComponent.tsx","../src/components/TableIcon.tsx","../src/components/TablePreview.tsx","../src/index.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","import React from 'react';\nimport { Box, Button, TextInput } from '@sanity/ui';\nimport { RemoveIcon } from '@sanity/icons';\nimport type { TableRow } from './TableComponent';\n\ninterface TableInputProps {\n rows: TableRow[];\n updateCell: (\n e: React.FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => any;\n removeRow: (index: number) => any;\n removeColumn: (index: number) => any;\n}\n\nconst TableInput = (props: TableInputProps) => {\n const renderRowCell =\n (rowIndex: number) => (cell: string, cellIndex: number) =>\n (\n <td key={`cell-${rowIndex}-${cellIndex}`}>\n <TextInput\n fontSize={1}\n padding={3}\n value={cell}\n onChange={e => props.updateCell(e, rowIndex, cellIndex)}\n />\n </td>\n );\n\n const renderRow = (row: TableRow, rowIndex: number) => {\n const renderCell = renderRowCell(rowIndex);\n\n return (\n <tr key={`row-${rowIndex}`}>\n {row.cells.map(renderCell)}\n {\n <td key={rowIndex}>\n <Box marginLeft={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeRow(rowIndex)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n }\n </tr>\n );\n };\n\n return (\n <table style={{ width: '100%' }}>\n <tbody>\n {props.rows.map(renderRow)}\n <tr>\n {(props.rows[0]?.cells || []).map((_, i) => (\n <td key={i}>\n <Box marginTop={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeColumn(i)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n ))}\n </tr>\n </tbody>\n </table>\n );\n};\n\nexport default TableInput;\n","import React, { FormEventHandler, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n Dialog,\n Inline,\n Menu,\n MenuButton,\n MenuDivider,\n MenuItem,\n Placement,\n TextInput,\n} from '@sanity/ui';\nimport { AddIcon, WarningOutlineIcon, ControlsIcon } from '@sanity/icons';\n\ninterface TableMenuProps {\n addColumns: (count: number) => any;\n addColumnAt: (index: number) => any;\n addRows: (count: number) => any;\n addRowAt: (index: number) => any;\n remove: () => any;\n placement: Placement;\n}\n\nconst TableMenu = (props: TableMenuProps) => {\n const [dialog, setDialog] = useState<{\n type: string;\n callback: (count: number) => any;\n } | null>(null);\n\n const [count, setCount] = useState<string | undefined>('');\n\n const updateCount: FormEventHandler<HTMLInputElement> = e => {\n setCount(e.currentTarget.value);\n };\n\n const addRows = () => {\n setDialog({ type: 'rows', callback: c => props.addRows(c) });\n };\n\n const addRowAt = () => {\n setDialog({ type: 'rows', callback: index => props.addRowAt(index) });\n };\n\n const addColumns = () => {\n setDialog({\n type: 'columns',\n callback: c => props.addColumns(c),\n });\n };\n\n const addColumnsAt = () => {\n setDialog({ type: 'columns', callback: index => props.addColumnAt(index) });\n };\n\n const onConfirm = () => {\n const parsedCount = parseInt(count ?? '0', 10);\n\n if (parsedCount < 100) {\n setDialog(null);\n dialog?.callback(parsedCount);\n setCount(undefined);\n }\n };\n\n return (\n <React.Fragment>\n {dialog && (\n <Dialog\n header={`Add ${dialog.type}`}\n id=\"dialog-add\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <TextInput\n style={{ textAlign: 'left' }}\n fontSize={2}\n padding={3}\n type=\"number\"\n value={count}\n onChange={updateCount}\n />\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button text=\"Confirm\" tone=\"critical\" onClick={onConfirm} />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <MenuButton\n button={\n <Button icon={ControlsIcon} fontSize={1} padding={2} mode=\"ghost\" />\n }\n id=\"menu-button-example\"\n menu={\n <Menu>\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row(s)\"\n onClick={addRows}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row At Index\"\n onClick={addRowAt}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column(s)\"\n onClick={addColumns}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column At Index\"\n onClick={addColumnsAt}\n />\n <MenuDivider />\n <MenuItem\n icon={WarningOutlineIcon}\n fontSize={1}\n text=\"Remove\"\n tone=\"critical\"\n onClick={props.remove}\n />\n </Menu>\n }\n placement={props.placement}\n />\n </React.Fragment>\n );\n};\n\nexport default TableMenu;\n","/* eslint-disable consistent-return */\nimport React, { useState, FormEvent } from 'react';\nimport { uuid } from '@sanity/uuid';\nimport { ObjectInputProps, set, unset } from 'sanity';\nimport TableInput from './TableInput';\nimport TableMenu from './TableMenu';\nimport { Box, Button, Card, Dialog, Flex, Inline, Text } from '@sanity/ui';\n\nimport { AddIcon } from '@sanity/icons';\n\nconst ROW_TYPE = 'tableRow';\n\nconst deepClone: <T>(data: T) => T =\n globalThis.structuredClone ?? (data => JSON.parse(JSON.stringify(data)));\n\nexport interface TableValue {\n _type: 'table';\n rows: TableRow[];\n}\n\nexport interface TableProps extends ObjectInputProps<TableValue> {}\n\nexport type TableRow = {\n _type: string;\n _key: string;\n cells: string[];\n};\n\n// TODO refactor deeplone stuff to use proper patches\n// TODO use callback all the things\n\nconst TableComponent = (props: TableProps) => {\n const { value, onChange } = props;\n const [dialog, setDialog] = useState<{\n type: string;\n callback: () => any;\n } | null>(null);\n\n const updateValue = (v?: Omit<TableValue, '_type'>) => {\n return onChange(set(v));\n };\n\n const resetValue = () => {\n return onChange(unset());\n };\n\n const createTable = () => {\n const newValue: Omit<TableValue, '_type'> = {\n rows: [\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n ],\n };\n return updateValue({ ...value, ...newValue });\n };\n\n const confirmRemoveTable = () => {\n setDialog({ type: 'table', callback: removeTable });\n };\n\n const removeTable = () => {\n resetValue();\n setDialog(null);\n };\n\n const addRows = (count: number = 1) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value?.rows[0].cells.length ?? 0;\n for (let i = 0; i < count; i++) {\n // Add as many cells as we have columns\n newValue.rows.push({\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n }\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const addRowAt = (index: number = 0) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value.rows[0].cells.length;\n\n newValue.rows.splice(index, 0, {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const removeRow = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.splice(index, 1);\n updateValue(newValue);\n setDialog(null);\n };\n\n const confirmRemoveRow = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'row', callback: () => removeRow(index) });\n };\n\n const confirmRemoveColumn = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows[0].cells.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'column', callback: () => removeColumn(index) });\n };\n\n const addColumns = (count: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Add a cell to each of the rows\n newValue.rows.forEach((_, i) => {\n for (let j = 0; j < count; j++) {\n newValue.rows[i].cells.push('');\n }\n });\n return updateValue(newValue);\n };\n\n const addColumnAt = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n\n newValue.rows.forEach((_, i) => {\n newValue.rows[i].cells.splice(index, 0, '');\n });\n\n return updateValue(newValue);\n };\n\n const removeColumn = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.forEach(row => {\n row.cells.splice(index, 1);\n });\n updateValue(newValue);\n setDialog(null);\n };\n\n const updateCell = (\n e: FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows[rowIndex].cells[cellIndex] = (\n e.target as HTMLInputElement\n ).value;\n return updateValue(newValue);\n };\n\n return (\n <div>\n {dialog && (\n <Dialog\n header={`Remove ${dialog.type}`}\n id=\"dialog-remove\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <Text>Are you sure you want to remove this {dialog.type}?</Text>\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button\n text=\"Confirm\"\n tone=\"critical\"\n onClick={() => dialog.callback()}\n />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <Box>\n <Flex justify=\"flex-end\">\n {value?.rows?.length && (\n <TableMenu\n addColumns={addColumns}\n addColumnAt={addColumnAt}\n addRows={addRows}\n addRowAt={addRowAt}\n remove={confirmRemoveTable}\n placement=\"left\"\n />\n )}\n </Flex>\n </Box>\n {value?.rows?.length && (\n <TableInput\n rows={value.rows}\n removeRow={confirmRemoveRow}\n removeColumn={confirmRemoveColumn}\n updateCell={updateCell}\n />\n )}\n {(!value || !value?.rows?.length) && (\n <Inline space={1}>\n <Button\n fontSize={1}\n padding={3}\n icon={AddIcon}\n text=\"Create Table\"\n tone=\"primary\"\n mode=\"ghost\"\n onClick={createTable}\n />\n </Inline>\n )}\n </div>\n );\n};\n\nexport default TableComponent;\n","import React from 'react';\n\nexport default function TableIcon() {\n return (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n >\n <path d=\"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18\" />\n </svg>\n );\n}\n","import React from 'react';\nimport type { TableRow } from './TableComponent';\nimport { Box, Card, Inline, Grid, Label, Text } from '@sanity/ui';\nimport TableIcon from './TableIcon';\nimport { PreviewProps } from 'sanity';\n\ninterface ValueProps {\n rows?: TableRow[];\n title?: string;\n}\n\nconst Table = ({ rows }: { rows: TableRow[] }) => {\n const numCols = rows.length === 0 ? 0 : rows[0].cells.length;\n\n return (\n <Grid columns={numCols} padding={2}>\n {rows.map(row =>\n row.cells.map((cell, i) => (\n <Card\n key={row._key + i}\n padding={2}\n style={{ outline: '1px solid #DFE2E9' }}\n >\n <Text style={{ textOverflow: 'elipsis' }}>{cell}</Text>\n </Card>\n ))\n )}\n </Grid>\n );\n};\n\nconst TablePreview = (props: ValueProps & PreviewProps) => {\n const { schemaType } = props;\n const { rows = [], title } = props ?? {\n title: 'Title missing',\n };\n\n return (\n <>\n <Box padding={3}>\n <Inline space={3}>\n <Card>\n <Label size={4}>\n <TableIcon />\n </Label>\n </Card>\n <Card>\n <Text>{schemaType?.title ?? title}</Text>\n </Card>\n </Inline>\n </Box>\n <Box padding={2}>\n {rows.length === 0 ? (\n <Label muted>Empty Table</Label>\n ) : (\n <Table rows={rows} />\n )}\n </Box>\n </>\n );\n};\n\nexport default TablePreview;\n","import { definePlugin, defineType } from 'sanity';\n\nimport { TableComponent, TablePreview } from './components';\nexport type {\n TableValue,\n TableProps,\n TableRow,\n} from './components/TableComponent';\n\nexport { TableComponent, TablePreview };\n\nconst tableRowSchema = defineType({\n title: 'Table Row',\n name: 'tableRow',\n type: 'object',\n fields: [\n {\n name: 'cells',\n type: 'array',\n of: [{ type: 'string' }],\n },\n ],\n});\n\nconst tableSchema = defineType({\n title: 'Table',\n name: 'table',\n type: 'object',\n fields: [\n {\n name: 'rows',\n type: 'array',\n of: [\n {\n type: tableRowSchema.name,\n },\n ],\n },\n ],\n components: {\n //TODO remove as any when rc.3 is released\n input: TableComponent as any,\n preview: TablePreview as any,\n },\n preview: {\n select: {\n rows: 'rows',\n title: 'title',\n },\n prepare: ({ title, rows = [] }) => ({\n title,\n rows,\n }),\n },\n});\n\nexport const table = definePlugin(() => {\n return {\n name: 'table',\n schema: {\n types: [tableRowSchema, tableSchema],\n },\n };\n});\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","REGEX","validate","uuid","test","byteToHex","i","push","toString","substr","stringify","arr","offset","arguments","length","undefined","toLowerCase","TypeError","v35","name","version","hashfunc","generateUUID","value","namespace","buf","str","unescape","encodeURIComponent","bytes","charCodeAt","stringToBytes","v","parseInt","slice","parse","set","err","DNS","URL","getOutputLength","inputLength8","safeAdd","x","y","lsw","md5cmn","q","a","b","s","t","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","v4","options","rnds","random","f","z","ROTL","n","msg","input","output","length32","hexTab","hex","charAt","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","K","H","Array","isArray","prototype","call","l","N","Math","ceil","M","_i","j","pow","floor","_i2","W","_t","e","_t2","T","TableInput","props","_a","jsx","style","width","children","jsxs","rows","map","row","rowIndex","renderCell","cell","cellIndex","TextInput","fontSize","padding","onChange","updateCell","renderRowCell","cells","Box","marginLeft","textAlign","Button","icon","RemoveIcon","onClick","removeRow","mode","concat","_","marginTop","removeColumn","TableMenu","dialog","setDialog","useState","count","setCount","React","Fragment","Dialog","header","type","id","onClose","zOffset","Card","currentTarget","Inline","space","text","tone","parsedCount","callback","MenuButton","button","ControlsIcon","menu","Menu","MenuItem","AddIcon","addRows","addRowAt","index","addColumns","addColumnAt","MenuDivider","WarningOutlineIcon","remove","placement","deepClone","globalThis","structuredClone","data","JSON","TableComponent","_b","_c","updateValue","confirmRemoveTable","removeTable","unset","newValue","forEach","splice","Text","Flex","justify","columnCount","_type","_key","fill","target","TableIcon","height","viewBox","stroke","strokeWidth","Table","_ref","numCols","Grid","columns","outline","textOverflow","TablePreview","schemaType","title","Label","size","muted","tableRowSchema","defineType","fields","of","tableSchema","components","preview","select","prepare","_ref2","table","definePlugin","schema","types"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v35.js","../node_modules/uuid/dist/esm-browser/parse.js","../node_modules/uuid/dist/esm-browser/md5.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/sha1.js","../node_modules/uuid/dist/esm-browser/v3.js","../node_modules/uuid/dist/esm-browser/v5.js","../src/components/TableInput.tsx","../src/components/TableMenu.tsx","../src/components/TableComponent.tsx","../src/components/TableIcon.tsx","../src/components/TablePreview.tsx","../src/index.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","import React from 'react';\nimport { Box, Button, TextInput } from '@sanity/ui';\nimport { RemoveIcon } from '@sanity/icons';\nimport type { TableRow } from './TableComponent';\n\ninterface TableInputProps {\n rows: TableRow[];\n updateCell: (\n e: React.FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => any;\n removeRow: (index: number) => any;\n removeColumn: (index: number) => any;\n}\n\nconst TableInput = (props: TableInputProps) => {\n const renderRowCell =\n (rowIndex: number) => (cell: string, cellIndex: number) =>\n (\n <td key={`cell-${rowIndex}-${cellIndex}`}>\n <TextInput\n fontSize={1}\n padding={3}\n value={cell}\n onChange={e => props.updateCell(e, rowIndex, cellIndex)}\n />\n </td>\n );\n\n const renderRow = (row: TableRow, rowIndex: number) => {\n const renderCell = renderRowCell(rowIndex);\n\n return (\n <tr key={`row-${rowIndex}`}>\n {row.cells.map(renderCell)}\n {\n <td key={rowIndex}>\n <Box marginLeft={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeRow(rowIndex)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n }\n </tr>\n );\n };\n\n return (\n <table style={{ width: '100%' }}>\n <tbody>\n {props.rows.map(renderRow)}\n <tr>\n {(props.rows[0]?.cells || []).map((_, i) => (\n <td key={i}>\n <Box marginTop={1} style={{ textAlign: 'center' }}>\n <Button\n icon={RemoveIcon}\n padding={2}\n onClick={() => props.removeColumn(i)}\n mode=\"bleed\"\n />\n </Box>\n </td>\n ))}\n </tr>\n </tbody>\n </table>\n );\n};\n\nexport default TableInput;\n","import React, { FormEventHandler, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n Dialog,\n Inline,\n Menu,\n MenuButton,\n MenuDivider,\n MenuItem,\n Placement,\n TextInput,\n} from '@sanity/ui';\nimport { AddIcon, WarningOutlineIcon, ControlsIcon } from '@sanity/icons';\n\ninterface TableMenuProps {\n addColumns: (count: number) => any;\n addColumnAt: (index: number) => any;\n addRows: (count: number) => any;\n addRowAt: (index: number) => any;\n remove: () => any;\n placement: Placement;\n}\n\nconst TableMenu = (props: TableMenuProps) => {\n const [dialog, setDialog] = useState<{\n type: string;\n callback: (count: number) => any;\n } | null>(null);\n\n const [count, setCount] = useState<string | undefined>('');\n\n const updateCount: FormEventHandler<HTMLInputElement> = e => {\n setCount(e.currentTarget.value);\n };\n\n const addRows = () => {\n setDialog({ type: 'rows', callback: c => props.addRows(c) });\n };\n\n const addRowAt = () => {\n setDialog({ type: 'rows', callback: index => props.addRowAt(index) });\n };\n\n const addColumns = () => {\n setDialog({\n type: 'columns',\n callback: c => props.addColumns(c),\n });\n };\n\n const addColumnsAt = () => {\n setDialog({ type: 'columns', callback: index => props.addColumnAt(index) });\n };\n\n const onConfirm = () => {\n const parsedCount = parseInt(count ?? '0', 10);\n\n if (parsedCount < 100) {\n setDialog(null);\n dialog?.callback(parsedCount);\n setCount(undefined);\n }\n };\n\n return (\n <React.Fragment>\n {dialog && (\n <Dialog\n header={`Add ${dialog.type}`}\n id=\"dialog-add\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <TextInput\n style={{ textAlign: 'left' }}\n fontSize={2}\n padding={3}\n type=\"number\"\n value={count}\n onChange={updateCount}\n />\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button text=\"Confirm\" tone=\"critical\" onClick={onConfirm} />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <MenuButton\n button={\n <Button icon={ControlsIcon} fontSize={1} padding={2} mode=\"ghost\" />\n }\n id=\"menu-button-example\"\n menu={\n <Menu>\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row(s)\"\n onClick={addRows}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Row At Index\"\n onClick={addRowAt}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column(s)\"\n onClick={addColumns}\n />\n <MenuItem\n icon={AddIcon}\n fontSize={1}\n text=\"Add Column At Index\"\n onClick={addColumnsAt}\n />\n <MenuDivider />\n <MenuItem\n icon={WarningOutlineIcon}\n fontSize={1}\n text=\"Remove\"\n tone=\"critical\"\n onClick={props.remove}\n />\n </Menu>\n }\n placement={props.placement}\n />\n </React.Fragment>\n );\n};\n\nexport default TableMenu;\n","/* eslint-disable consistent-return */\nimport React, { useState, FormEvent } from 'react';\nimport { uuid } from '@sanity/uuid';\nimport { ObjectInputProps, set, unset } from 'sanity';\nimport TableInput from './TableInput';\nimport TableMenu from './TableMenu';\nimport { Box, Button, Card, Dialog, Flex, Inline, Text } from '@sanity/ui';\n\nimport { AddIcon } from '@sanity/icons';\n\nconst ROW_TYPE = 'tableRow';\n\nconst deepClone: <T>(data: T) => T =\n globalThis.structuredClone ?? (data => JSON.parse(JSON.stringify(data)));\n\nexport interface TableValue {\n _type: 'table';\n rows: TableRow[];\n}\n\nexport interface TableProps extends ObjectInputProps<TableValue> {}\n\nexport type TableRow = {\n _type: string;\n _key: string;\n cells: string[];\n};\n\n// TODO refactor deeplone stuff to use proper patches\n// TODO use callback all the things\n\nconst TableComponent = (props: TableProps) => {\n const { value, onChange } = props;\n const [dialog, setDialog] = useState<{\n type: string;\n callback: () => any;\n } | null>(null);\n\n const updateValue = (v?: Omit<TableValue, '_type'>) => {\n return onChange(set(v));\n };\n\n const resetValue = () => {\n return onChange(unset());\n };\n\n const createTable = () => {\n const newValue: Omit<TableValue, '_type'> = {\n rows: [\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: ['', ''],\n },\n ],\n };\n return updateValue({ ...value, ...newValue });\n };\n\n const confirmRemoveTable = () => {\n setDialog({ type: 'table', callback: removeTable });\n };\n\n const removeTable = () => {\n resetValue();\n setDialog(null);\n };\n\n const addRows = (count: number = 1) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value?.rows[0].cells.length ?? 0;\n for (let i = 0; i < count; i++) {\n // Add as many cells as we have columns\n newValue.rows.push({\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n }\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const addRowAt = (index: number = 0) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Calculate the column count from the first row\n const columnCount = value.rows[0].cells.length;\n\n newValue.rows.splice(index, 0, {\n _type: ROW_TYPE,\n _key: uuid(),\n cells: Array(columnCount).fill(''),\n });\n\n // eslint-disable-next-line consistent-return\n return updateValue(newValue);\n };\n\n const removeRow = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.splice(index, 1);\n updateValue(newValue);\n setDialog(null);\n };\n\n const confirmRemoveRow = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'row', callback: () => removeRow(index) });\n };\n\n const confirmRemoveColumn = (index: number) => {\n if (!value) {\n return;\n }\n if (value.rows[0].cells.length <= 1) return confirmRemoveTable();\n return setDialog({ type: 'column', callback: () => removeColumn(index) });\n };\n\n const addColumns = (count: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n // Add a cell to each of the rows\n newValue.rows.forEach((_, i) => {\n for (let j = 0; j < count; j++) {\n newValue.rows[i].cells.push('');\n }\n });\n return updateValue(newValue);\n };\n\n const addColumnAt = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n\n newValue.rows.forEach((_, i) => {\n newValue.rows[i].cells.splice(index, 0, '');\n });\n\n return updateValue(newValue);\n };\n\n const removeColumn = (index: number) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows.forEach(row => {\n row.cells.splice(index, 1);\n });\n updateValue(newValue);\n setDialog(null);\n };\n\n const updateCell = (\n e: FormEvent<HTMLInputElement>,\n rowIndex: number,\n cellIndex: number\n ) => {\n if (!value) {\n return;\n }\n const newValue = deepClone(value);\n newValue.rows[rowIndex].cells[cellIndex] = (\n e.target as HTMLInputElement\n ).value;\n return updateValue(newValue);\n };\n\n return (\n <div>\n {dialog && (\n <Dialog\n header={`Remove ${dialog.type}`}\n id=\"dialog-remove\"\n onClose={() => setDialog(null)}\n zOffset={1000}\n >\n <Card padding={4}>\n <Text>Are you sure you want to remove this {dialog.type}?</Text>\n <Box marginTop={4}>\n <Inline space={1} style={{ textAlign: 'right' }}>\n <Button\n text=\"Cancel\"\n mode=\"ghost\"\n onClick={() => setDialog(null)}\n />\n <Button\n text=\"Confirm\"\n tone=\"critical\"\n onClick={() => dialog.callback()}\n />\n </Inline>\n </Box>\n </Card>\n </Dialog>\n )}\n <Box>\n <Flex justify=\"flex-end\">\n {value?.rows?.length && (\n <TableMenu\n addColumns={addColumns}\n addColumnAt={addColumnAt}\n addRows={addRows}\n addRowAt={addRowAt}\n remove={confirmRemoveTable}\n placement=\"left\"\n />\n )}\n </Flex>\n </Box>\n {value?.rows?.length && (\n <TableInput\n rows={value.rows}\n removeRow={confirmRemoveRow}\n removeColumn={confirmRemoveColumn}\n updateCell={updateCell}\n />\n )}\n {(!value || !value?.rows?.length) && (\n <Inline space={1}>\n <Button\n fontSize={1}\n padding={3}\n icon={AddIcon}\n text=\"Create Table\"\n tone=\"primary\"\n mode=\"ghost\"\n onClick={createTable}\n />\n </Inline>\n )}\n </div>\n );\n};\n\nexport default TableComponent;\n","import React from 'react';\n\nexport default function TableIcon() {\n return (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n >\n <path d=\"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18\" />\n </svg>\n );\n}\n","import React from 'react';\nimport type { TableRow } from './TableComponent';\nimport { Box, Card, Inline, Grid, Label, Text } from '@sanity/ui';\nimport TableIcon from './TableIcon';\nimport { PreviewProps } from 'sanity';\n\ninterface ValueProps {\n rows?: TableRow[];\n title?: string;\n}\n\nconst Table = ({ rows }: { rows: TableRow[] }) => {\n const numCols = rows.length === 0 ? 0 : rows[0].cells.length;\n\n return (\n <Grid columns={numCols} padding={2}>\n {rows.map(row =>\n row.cells.map((cell, i) => (\n <Card\n key={row._key + i}\n padding={2}\n style={{ outline: '1px solid #DFE2E9' }}\n >\n <Text style={{ textOverflow: 'elipsis' }}>{cell}</Text>\n </Card>\n ))\n )}\n </Grid>\n );\n};\n\nconst TablePreview = (props: ValueProps & PreviewProps) => {\n const { schemaType } = props;\n const { rows = [], title } = props ?? {\n title: 'Title missing',\n };\n\n return (\n <>\n <Box padding={3}>\n <Inline space={3}>\n <Card>\n <Label size={4}>\n <TableIcon />\n </Label>\n </Card>\n <Card>\n <Text>{schemaType?.title ?? title}</Text>\n </Card>\n </Inline>\n </Box>\n <Box padding={2}>\n {rows.length === 0 ? (\n <Label muted>Empty Table</Label>\n ) : (\n <Table rows={rows} />\n )}\n </Box>\n </>\n );\n};\n\nexport default TablePreview;\n","import { definePlugin, defineType } from 'sanity';\n\nimport { TableComponent, TablePreview } from './components';\nexport type {\n TableValue,\n TableProps,\n TableRow,\n} from './components/TableComponent';\n\nexport { TableComponent, TablePreview };\n\nexport interface TableConfig {\n rowType?: string;\n}\n\nexport const table = definePlugin<TableConfig | undefined>(config => {\n const tableRowSchema = defineType({\n title: 'Table Row',\n name: config?.rowType || 'tableRow',\n type: 'object',\n fields: [\n {\n name: 'cells',\n type: 'array',\n of: [{ type: 'string' }],\n },\n ],\n });\n\n const tableSchema = defineType({\n title: 'Table',\n name: 'table',\n type: 'object',\n fields: [\n {\n name: 'rows',\n type: 'array',\n of: [\n {\n type: tableRowSchema.name,\n },\n ],\n },\n ],\n components: {\n input: TableComponent as any,\n preview: TablePreview as any,\n },\n preview: {\n select: {\n rows: 'rows',\n title: 'title',\n },\n prepare: ({ title, rows = [] }) => ({\n title,\n rows,\n }),\n },\n });\n\n return {\n name: 'table',\n schema: {\n types: [tableRowSchema, tableSchema],\n },\n };\n});\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","REGEX","validate","uuid","test","byteToHex","i","push","toString","substr","stringify","arr","offset","arguments","length","undefined","toLowerCase","TypeError","v35","name","version","hashfunc","generateUUID","value","namespace","buf","str","unescape","encodeURIComponent","bytes","charCodeAt","stringToBytes","v","parseInt","slice","parse","set","err","DNS","URL","getOutputLength","inputLength8","safeAdd","x","y","lsw","md5cmn","q","a","b","s","t","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","v4","options","rnds","random","f","z","ROTL","n","msg","input","output","length32","hexTab","hex","charAt","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","K","H","Array","isArray","prototype","call","l","N","Math","ceil","M","_i","j","pow","floor","_i2","W","_t","e","_t2","T","TableInput","props","_a","jsx","style","width","children","jsxs","rows","map","row","rowIndex","renderCell","cell","cellIndex","TextInput","fontSize","padding","onChange","updateCell","renderRowCell","cells","Box","marginLeft","textAlign","Button","icon","RemoveIcon","onClick","removeRow","mode","concat","_","marginTop","removeColumn","TableMenu","dialog","setDialog","useState","count","setCount","React","Fragment","Dialog","header","type","id","onClose","zOffset","Card","currentTarget","Inline","space","text","tone","parsedCount","callback","MenuButton","button","ControlsIcon","menu","Menu","MenuItem","AddIcon","addRows","addRowAt","index","addColumns","addColumnAt","MenuDivider","WarningOutlineIcon","remove","placement","deepClone","globalThis","structuredClone","data","JSON","TableComponent","_b","_c","updateValue","confirmRemoveTable","removeTable","unset","newValue","forEach","splice","Text","Flex","justify","columnCount","_type","_key","fill","target","TableIcon","height","viewBox","stroke","strokeWidth","Table","_ref","numCols","Grid","columns","outline","textOverflow","TablePreview","schemaType","title","Label","size","muted","table","definePlugin","config","tableRowSchema","defineType","rowType","fields","of","schema","types","components","preview","select","prepare","_ref2"],"mappings":"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"}
@@ -4,10 +4,14 @@ import { ObjectInputProps } from 'sanity';
4
4
  import { Plugin as Plugin_2 } from 'sanity';
5
5
  import { PreviewProps } from 'sanity';
6
6
 
7
- export declare const table: Plugin_2<void>;
7
+ export declare const table: Plugin_2<TableConfig | undefined>;
8
8
 
9
9
  export declare const TableComponent: (props: TableProps) => JSX.Element;
10
10
 
11
+ export declare interface TableConfig {
12
+ rowType?: string;
13
+ }
14
+
11
15
  export declare const TablePreview: (
12
16
  props: ValueProps & PreviewProps
13
17
  ) => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/table",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Table schema type and input component for Sanity Studio",
5
5
  "keywords": [
6
6
  "sanity",
package/src/index.ts CHANGED
@@ -9,52 +9,55 @@ export type {
9
9
 
10
10
  export { TableComponent, TablePreview };
11
11
 
12
- const tableRowSchema = defineType({
13
- title: 'Table Row',
14
- name: 'tableRow',
15
- type: 'object',
16
- fields: [
17
- {
18
- name: 'cells',
19
- type: 'array',
20
- of: [{ type: 'string' }],
21
- },
22
- ],
23
- });
12
+ export interface TableConfig {
13
+ rowType?: string;
14
+ }
15
+
16
+ export const table = definePlugin<TableConfig | undefined>(config => {
17
+ const tableRowSchema = defineType({
18
+ title: 'Table Row',
19
+ name: config?.rowType || 'tableRow',
20
+ type: 'object',
21
+ fields: [
22
+ {
23
+ name: 'cells',
24
+ type: 'array',
25
+ of: [{ type: 'string' }],
26
+ },
27
+ ],
28
+ });
24
29
 
25
- const tableSchema = defineType({
26
- title: 'Table',
27
- name: 'table',
28
- type: 'object',
29
- fields: [
30
- {
31
- name: 'rows',
32
- type: 'array',
33
- of: [
34
- {
35
- type: tableRowSchema.name,
36
- },
37
- ],
30
+ const tableSchema = defineType({
31
+ title: 'Table',
32
+ name: 'table',
33
+ type: 'object',
34
+ fields: [
35
+ {
36
+ name: 'rows',
37
+ type: 'array',
38
+ of: [
39
+ {
40
+ type: tableRowSchema.name,
41
+ },
42
+ ],
43
+ },
44
+ ],
45
+ components: {
46
+ input: TableComponent as any,
47
+ preview: TablePreview as any,
38
48
  },
39
- ],
40
- components: {
41
- //TODO remove as any when rc.3 is released
42
- input: TableComponent as any,
43
- preview: TablePreview as any,
44
- },
45
- preview: {
46
- select: {
47
- rows: 'rows',
48
- title: 'title',
49
+ preview: {
50
+ select: {
51
+ rows: 'rows',
52
+ title: 'title',
53
+ },
54
+ prepare: ({ title, rows = [] }) => ({
55
+ title,
56
+ rows,
57
+ }),
49
58
  },
50
- prepare: ({ title, rows = [] }) => ({
51
- title,
52
- rows,
53
- }),
54
- },
55
- });
59
+ });
56
60
 
57
- export const table = definePlugin(() => {
58
61
  return {
59
62
  name: 'table',
60
63
  schema: {