@baseplate-dev/project-builder-web 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/assets/-constants-DdiaSxL9.js +4 -0
  2. package/dist/assets/-constants-DdiaSxL9.js.map +1 -0
  3. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BEiksgOM.js +2 -0
  4. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BEiksgOM.js.map +1 -0
  5. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-ByoEPRxY.js +5 -0
  6. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-ByoEPRxY.js.map +1 -0
  7. package/dist/assets/__federation_shared_@baseplate-dev/{ui-components-DQh2UKHB.js → ui-components-2ByEN20H.js} +2 -2
  8. package/dist/assets/__federation_shared_@baseplate-dev/{ui-components-DQh2UKHB.js.map → ui-components-2ByEN20H.js.map} +1 -1
  9. package/dist/assets/{_virtual___federation_fn_import-BawTfoQI.js → _virtual___federation_fn_import-BllbkH3T.js} +2 -2
  10. package/dist/assets/{_virtual___federation_fn_import-BawTfoQI.js.map → _virtual___federation_fn_import-BllbkH3T.js.map} +1 -1
  11. package/dist/assets/backend-CoTpyUcx.js +2 -0
  12. package/dist/assets/backend-CoTpyUcx.js.map +1 -0
  13. package/dist/assets/badge-with-type-label-BTWMyfcL.js +2 -0
  14. package/dist/assets/badge-with-type-label-BTWMyfcL.js.map +1 -0
  15. package/dist/assets/edit._id-BzfH4jc0.js +2 -0
  16. package/dist/assets/edit._id-BzfH4jc0.js.map +1 -0
  17. package/dist/assets/enum-info-form-EeSfFY6Y.js +2 -0
  18. package/dist/assets/enum-info-form-EeSfFY6Y.js.map +1 -0
  19. package/dist/assets/graphql-D5k81FHL.js +2 -0
  20. package/dist/assets/graphql-D5k81FHL.js.map +1 -0
  21. package/dist/assets/hierarchy-CDgBahPq.js +2 -0
  22. package/dist/assets/hierarchy-CDgBahPq.js.map +1 -0
  23. package/dist/assets/immer-xieDw-3D.js +2 -0
  24. package/dist/assets/immer-xieDw-3D.js.map +1 -0
  25. package/dist/assets/index-B5VAZnNv.js +2 -0
  26. package/dist/assets/index-B5VAZnNv.js.map +1 -0
  27. package/dist/assets/index-BYcSgAsc.js +2 -0
  28. package/dist/assets/index-BYcSgAsc.js.map +1 -0
  29. package/dist/assets/index-CJK2iGtK.js +2 -0
  30. package/dist/assets/index-CJK2iGtK.js.map +1 -0
  31. package/dist/assets/index-CJO9KLcs.js +2 -0
  32. package/dist/assets/index-CJO9KLcs.js.map +1 -0
  33. package/dist/assets/index-D5UX5AHP.js +5 -0
  34. package/dist/assets/index-D5UX5AHP.js.map +1 -0
  35. package/dist/assets/index-DbPo0KMc.js +2 -0
  36. package/dist/assets/index-DbPo0KMc.js.map +1 -0
  37. package/dist/assets/index-HA6UU1kS.js +2 -0
  38. package/dist/assets/index-HA6UU1kS.js.map +1 -0
  39. package/dist/assets/index-Lx-c3w3C.js +2 -0
  40. package/dist/assets/index-Lx-c3w3C.js.map +1 -0
  41. package/dist/assets/index-MPyZaAGd.js +2 -0
  42. package/dist/assets/index-MPyZaAGd.js.map +1 -0
  43. package/dist/assets/index-VsI1zxbc.js +58 -0
  44. package/dist/assets/index-VsI1zxbc.js.map +1 -0
  45. package/dist/assets/index-ghp0h4jr.js +2 -0
  46. package/dist/assets/index-ghp0h4jr.js.map +1 -0
  47. package/dist/assets/index-y6w6FRv9.js +2 -0
  48. package/dist/assets/index-y6w6FRv9.js.map +1 -0
  49. package/dist/assets/{index.esm-H0JGW0RR.js → index.esm-CGbP6mNa.js} +3 -3
  50. package/dist/assets/{index.esm-H0JGW0RR.js.map → index.esm-CGbP6mNa.js.map} +1 -1
  51. package/dist/assets/inflection-C1nKqrJS.js +9 -0
  52. package/dist/assets/inflection-C1nKqrJS.js.map +1 -0
  53. package/dist/assets/model-info-form-DWYyoR9g.js +2 -0
  54. package/dist/assets/model-info-form-DWYyoR9g.js.map +1 -0
  55. package/dist/assets/model-merger-s86W4xg2.js +2 -0
  56. package/dist/assets/model-merger-s86W4xg2.js.map +1 -0
  57. package/dist/assets/new-app-dialog-CGp0nciM.js +2 -0
  58. package/dist/assets/new-app-dialog-CGp0nciM.js.map +1 -0
  59. package/dist/assets/new-enum-dialog-DQxXV11c.js +2 -0
  60. package/dist/assets/new-enum-dialog-DQxXV11c.js.map +1 -0
  61. package/dist/assets/new-model-dialog-Ta_YghmL.js +2 -0
  62. package/dist/assets/new-model-dialog-Ta_YghmL.js.map +1 -0
  63. package/dist/assets/route-C0DpSC86.js +2 -0
  64. package/dist/assets/route-C0DpSC86.js.map +1 -0
  65. package/dist/assets/route-CmgYcJT_.js +2 -0
  66. package/dist/assets/route-CmgYcJT_.js.map +1 -0
  67. package/dist/assets/route-D9aGR6_H.js +2 -0
  68. package/dist/assets/route-D9aGR6_H.js.map +1 -0
  69. package/dist/assets/route-De01FR6I.js +2 -0
  70. package/dist/assets/route-De01FR6I.js.map +1 -0
  71. package/dist/assets/route-DwYLJh1Z.js +2 -0
  72. package/dist/assets/route-DwYLJh1Z.js.map +1 -0
  73. package/dist/assets/route-DzDATEIF.js +2 -0
  74. package/dist/assets/route-DzDATEIF.js.map +1 -0
  75. package/dist/assets/route-Ofm_Xk4Q.js +2 -0
  76. package/dist/assets/route-Ofm_Xk4Q.js.map +1 -0
  77. package/dist/assets/route-cP4l-WDl.js +2 -0
  78. package/dist/assets/route-cP4l-WDl.js.map +1 -0
  79. package/dist/assets/route-xrfcRWC7.js +2 -0
  80. package/dist/assets/route-xrfcRWC7.js.map +1 -0
  81. package/dist/assets/sections-Bl6CBMqu.js +2 -0
  82. package/dist/assets/sections-Bl6CBMqu.js.map +1 -0
  83. package/dist/assets/sections._sectionKey-lnWxksec.js +2 -0
  84. package/dist/assets/sections._sectionKey-lnWxksec.js.map +1 -0
  85. package/dist/assets/service-CH1p5s9d.js +2 -0
  86. package/dist/assets/service-CH1p5s9d.js.map +1 -0
  87. package/dist/assets/template-extractor-_5pq8PSE.js +2 -0
  88. package/dist/assets/template-extractor-_5pq8PSE.js.map +1 -0
  89. package/dist/assets/theme-builder-LEW3UAWc.js +11 -0
  90. package/dist/assets/theme-builder-LEW3UAWc.js.map +1 -0
  91. package/dist/assets/use-definition-schema-BB2JVpWG.js +2 -0
  92. package/dist/assets/use-definition-schema-BB2JVpWG.js.map +1 -0
  93. package/dist/assets/use-enum-form-CMIHUOLu.js +2 -0
  94. package/dist/assets/use-enum-form-CMIHUOLu.js.map +1 -0
  95. package/dist/assets/use-model-form-hncL1MN2.js +2 -0
  96. package/dist/assets/use-model-form-hncL1MN2.js.map +1 -0
  97. package/dist/assets/utils-BMK0C56t.js +2 -0
  98. package/dist/assets/utils-BMK0C56t.js.map +1 -0
  99. package/dist/assets/web-BRltYNcY.js +2 -0
  100. package/dist/assets/web-BRltYNcY.js.map +1 -0
  101. package/dist/index.html +5 -7
  102. package/package.json +8 -7
  103. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DNtY4wq3.js +0 -2
  104. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DNtY4wq3.js.map +0 -1
  105. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-zvGcQ6PN.js +0 -5
  106. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-zvGcQ6PN.js.map +0 -1
  107. package/dist/assets/index-C6NlRicZ.js +0 -78
  108. package/dist/assets/index-C6NlRicZ.js.map +0 -1
  109. package/dist/assets/index-DC_DCd-Q.js +0 -12
  110. package/dist/assets/index-DC_DCd-Q.js.map +0 -1
  111. package/dist/assets/model-merger-D2RoujrB.js +0 -2
  112. package/dist/assets/model-merger-D2RoujrB.js.map +0 -1
  113. package/dist/assets/not-empty-CznDVwM8.js +0 -2
  114. package/dist/assets/not-empty-CznDVwM8.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ function Z(e,t,r){return e<t?r==="asc"?-1:1:e>t?r==="asc"?1:-1:0}function L(e,t,r){return e.slice().sort((n,i)=>{const o=r.length;for(let c=0;c<t.length;c++){const f=o>c?r[c]:r[o-1],s=t[c],g=typeof s=="function",C=g?s(n):n[s],Y=g?s(i):i[s],B=Z(C,Y,f);if(B!==0)return B}return 0})}function ue(e,t){return L(e,t,["asc"])}var H=Symbol.for("immer-nothing"),K=Symbol.for("immer-draftable"),u=Symbol.for("immer-state");function l(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var h=Object.getPrototypeOf;function p(e){return!!e&&!!e[u]}function y(e){return e?X(e)||Array.isArray(e)||!!e[K]||!!e.constructor?.[K]||A(e)||O(e):!1}var V=Object.prototype.constructor.toString();function X(e){if(!e||typeof e!="object")return!1;const t=h(e);if(t===null)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object?!0:typeof r=="function"&&Function.toString.call(r)===V}function w(e,t){S(e)===0?Reflect.ownKeys(e).forEach(r=>{t(r,e[r],e)}):e.forEach((r,n)=>t(n,r,e))}function S(e){const t=e[u];return t?t.type_:Array.isArray(e)?1:A(e)?2:O(e)?3:0}function k(e,t){return S(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function $(e,t,r){const n=S(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function ee(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function A(e){return e instanceof Map}function O(e){return e instanceof Set}function _(e){return e.copy_||e.base_}function E(e,t){if(A(e))return new Map(e);if(O(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=X(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[u];let i=Reflect.ownKeys(n);for(let o=0;o<i.length;o++){const c=i[o],f=n[c];f.writable===!1&&(f.writable=!0,f.configurable=!0),(f.get||f.set)&&(n[c]={configurable:!0,writable:!0,enumerable:f.enumerable,value:e[c]})}return Object.create(h(e),n)}else{const n=h(e);if(n!==null&&r)return{...e};const i=Object.create(n);return Object.assign(i,e)}}function T(e,t=!1){return D(e)||p(e)||!y(e)||(S(e)>1&&(e.set=e.add=e.clear=e.delete=te),Object.freeze(e),t&&Object.entries(e).forEach(([r,n])=>T(n,!0))),e}function te(){l(2)}function D(e){return Object.isFrozen(e)}var re={};function d(e){const t=re[e];return t||l(0,e),t}var m;function q(){return m}function ne(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function W(e,t){t&&(d("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function R(e){M(e),e.drafts_.forEach(ie),e.drafts_=null}function M(e){e===m&&(m=e.parent_)}function U(e){return m=ne(m,e)}function ie(e){const t=e[u];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function j(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[u].modified_&&(R(t),l(4)),y(e)&&(e=z(t,e),t.parent_||F(t,e)),t.patches_&&d("Patches").generateReplacementPatches_(r[u].base_,e,t.patches_,t.inversePatches_)):e=z(t,r,[]),R(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==H?e:void 0}function z(e,t,r){if(D(t))return t;const n=t[u];if(!n)return w(t,(i,o)=>G(e,n,t,i,o,r)),t;if(n.scope_!==e)return t;if(!n.modified_)return F(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const i=n.copy_;let o=i,c=!1;n.type_===3&&(o=new Set(i),i.clear(),c=!0),w(o,(f,s)=>G(e,n,i,f,s,r,c)),F(e,i,!1),r&&e.patches_&&d("Patches").generatePatches_(n,r,e.patches_,e.inversePatches_)}return n.copy_}function G(e,t,r,n,i,o,c){if(p(i)){const f=o&&t&&t.type_!==3&&!k(t.assigned_,n)?o.concat(n):void 0,s=z(e,i,f);if($(r,n,s),p(s))e.canAutoFreeze_=!1;else return}else c&&r.add(i);if(y(i)&&!D(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;z(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&Object.prototype.propertyIsEnumerable.call(r,n)&&F(e,i)}}function F(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&T(t,r)}function oe(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:q(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,o=x;r&&(i=[n],o=P);const{revoke:c,proxy:f}=Proxy.revocable(i,o);return n.draft_=f,n.revoke_=c,f}var x={get(e,t){if(t===u)return e;const r=_(e);if(!k(r,t))return ce(e,r,t);const n=r[t];return e.finalized_||!y(n)?n:n===b(e.base_,t)?(v(e),e.copy_[t]=N(n,e)):n},has(e,t){return t in _(e)},ownKeys(e){return Reflect.ownKeys(_(e))},set(e,t,r){const n=J(_(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=b(_(e),t),o=i?.[u];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(ee(r,i)&&(r!==void 0||k(e.base_,t)))return!0;v(e),I(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return b(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,v(e),I(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=_(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){l(11)},getPrototypeOf(e){return h(e.base_)},setPrototypeOf(){l(12)}},P={};w(x,(e,t)=>{P[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});P.deleteProperty=function(e,t){return P.set.call(this,e,t,void 0)};P.set=function(e,t,r){return x.set.call(this,e[0],t,r,e[0])};function b(e,t){const r=e[u];return(r?_(r):e)[t]}function ce(e,t,r){const n=J(t,r);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}function J(e,t){if(!(t in e))return;let r=h(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=h(r)}}function I(e){e.modified_||(e.modified_=!0,e.parent_&&I(e.parent_))}function v(e){e.copy_||(e.copy_=E(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var fe=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const c=this;return function(s=o,...g){return c.produce(s,C=>r.call(this,C,...g))}}typeof r!="function"&&l(6),n!==void 0&&typeof n!="function"&&l(7);let i;if(y(t)){const o=U(this),c=N(t,void 0);let f=!0;try{i=r(c),f=!1}finally{f?R(o):M(o)}return W(o,n),j(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===H&&(i=void 0),this.autoFreeze_&&T(i,!0),n){const o=[],c=[];d("Patches").generateReplacementPatches_(t,i,o,c),n(o,c)}return i}else l(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(c,...f)=>this.produceWithPatches(c,s=>t(s,...f));let n,i;return[this.produce(t,r,(c,f)=>{n=c,i=f}),n,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){y(e)||l(8),p(e)&&(e=se(e));const t=U(this),r=N(e,void 0);return r[u].isManual_=!0,M(t),r}finishDraft(e,t){const r=e&&e[u];(!r||!r.isManual_)&&l(9);const{scope_:n}=r;return W(n,t),j(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=d("Patches").applyPatches_;return p(e)?n(e,t):this.produce(e,i=>n(i,t))}};function N(e,t){const r=A(e)?d("MapSet").proxyMap_(e,t):O(e)?d("MapSet").proxySet_(e,t):oe(e,t);return(t?t.scope_:q()).drafts_.push(r),r}function se(e){return p(e)||l(10,e),Q(e)}function Q(e){if(!y(e)||D(e))return e;const t=e[u];let r;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=E(e,t.scope_.immer_.useStrictShallowCopy_)}else r=E(e,!0);return w(r,(n,i)=>{$(r,n,Q(i))}),t&&(t.finalized_=!1),r}var a=new fe,ae=a.produce;a.produceWithPatches.bind(a);var le=a.setAutoFreeze.bind(a);a.setUseStrictShallowCopy.bind(a);a.applyPatches.bind(a);a.createDraft.bind(a);a.finishDraft.bind(a);export{le as a,L as o,ae as p,ue as s};
2
+ //# sourceMappingURL=immer-xieDw-3D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immer-xieDw-3D.js","sources":["../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/_internal/compareValues.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/array/orderBy.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/array/sortBy.mjs","../../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/dist/immer.mjs"],"sourcesContent":["function compareValues(a, b, order) {\n if (a < b) {\n return order === 'asc' ? -1 : 1;\n }\n if (a > b) {\n return order === 'asc' ? 1 : -1;\n }\n return 0;\n}\n\nexport { compareValues };\n","import { compareValues } from '../_internal/compareValues.mjs';\n\nfunction orderBy(arr, criteria, orders) {\n return arr.slice().sort((a, b) => {\n const ordersLength = orders.length;\n for (let i = 0; i < criteria.length; i++) {\n const order = ordersLength > i ? orders[i] : orders[ordersLength - 1];\n const criterion = criteria[i];\n const criterionIsFunction = typeof criterion === 'function';\n const valueA = criterionIsFunction ? criterion(a) : a[criterion];\n const valueB = criterionIsFunction ? criterion(b) : b[criterion];\n const result = compareValues(valueA, valueB, order);\n if (result !== 0) {\n return result;\n }\n }\n return 0;\n });\n}\n\nexport { orderBy };\n","import { orderBy } from './orderBy.mjs';\n\nfunction sortBy(arr, criteria) {\n return orderBy(arr, criteria, ['asc']);\n}\n\nexport { sortBy };\n","// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Reflect.ownKeys(obj).forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n Object.entries(obj).forEach(([key, value]) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path)\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map"],"names":["compareValues","a","b","order","orderBy","arr","criteria","orders","ordersLength","i","criterion","criterionIsFunction","valueA","valueB","result","sortBy","NOTHING","DRAFTABLE","DRAFT_STATE","die","error","args","getPrototypeOf","isDraft","value","isDraftable","isPlainObject","isMap","isSet","objectCtorString","proto","Ctor","each","obj","iter","getArchtype","key","entry","index","thing","state","has","prop","set","propOrOldValue","t","is","x","y","target","latest","shallowCopy","base","strict","isPlain","descriptors","keys","desc","freeze","deep","isFrozen","dontMutateFrozenCollections","plugins","getPlugin","pluginKey","plugin","currentScope","getCurrentScope","createScope","parent_","immer_","usePatchesInScope","scope","patchListener","revokeScope","leaveScope","revokeDraft","enterScope","immer2","draft","processResult","baseDraft","finalize","maybeFreeze","rootScope","path","childValue","finalizeProperty","resultEach","isSet2","parentState","targetObject","rootPath","targetIsSet","res","createProxyProxy","parent","isArray","traps","objectTraps","arrayTraps","revoke","proxy","source","readPropFromProto","peek","prepareCopy","createProxy","getDescriptorFromProto","current2","currentState","markChanged","owner","fn","Immer2","config","recipe","defaultBase","self","base2","hasError","p","ip","patches","inversePatches","current","patch","applyPatchesImpl","currentImpl","copy","immer","produce","setAutoFreeze"],"mappings":"AAAA,SAASA,EAAcC,EAAGC,EAAGC,EAAO,CAChC,OAAIF,EAAIC,EACGC,IAAU,MAAQ,GAAK,EAE9BF,EAAIC,EACGC,IAAU,MAAQ,EAAI,GAE1B,CACX,CCNA,SAASC,EAAQC,EAAKC,EAAUC,EAAQ,CACpC,OAAOF,EAAI,MAAO,EAAC,KAAK,CAACJ,EAAGC,IAAM,CAC9B,MAAMM,EAAeD,EAAO,OAC5B,QAASE,EAAI,EAAGA,EAAIH,EAAS,OAAQG,IAAK,CACtC,MAAMN,EAAQK,EAAeC,EAAIF,EAAOE,CAAC,EAAIF,EAAOC,EAAe,CAAC,EAC9DE,EAAYJ,EAASG,CAAC,EACtBE,EAAsB,OAAOD,GAAc,WAC3CE,EAASD,EAAsBD,EAAUT,CAAC,EAAIA,EAAES,CAAS,EACzDG,EAASF,EAAsBD,EAAUR,CAAC,EAAIA,EAAEQ,CAAS,EACzDI,EAASd,EAAcY,EAAQC,EAAQV,CAAK,EAClD,GAAIW,IAAW,EACX,OAAOA,CAEvB,CACQ,MAAO,EACf,CAAK,CACL,CChBA,SAASC,GAAOV,EAAKC,EAAU,CAC3B,OAAOF,EAAQC,EAAKC,EAAU,CAAC,KAAK,CAAC,CACzC,CCHA,IAAIU,EAAU,OAAO,IAAI,eAAe,EACpCC,EAAY,OAAO,IAAI,iBAAiB,EACxCC,EAAc,OAAO,IAAI,aAAa,EAkC1C,SAASC,EAAIC,KAAUC,EAAM,CAM3B,MAAM,IAAI,MACR,8BAA8BD,CAAK,yCACrC,CACF,CAGA,IAAIE,EAAiB,OAAO,eAC5B,SAASC,EAAQC,EAAO,CACtB,MAAO,CAAC,CAACA,GAAS,CAAC,CAACA,EAAMN,CAAW,CACvC,CACA,SAASO,EAAYD,EAAO,CAC1B,OAAKA,EAEEE,EAAcF,CAAK,GAAK,MAAM,QAAQA,CAAK,GAAK,CAAC,CAACA,EAAMP,CAAS,GAAK,CAAC,CAACO,EAAM,cAAcP,CAAS,GAAKU,EAAMH,CAAK,GAAKI,EAAMJ,CAAK,EADnI,EAEX,CACA,IAAIK,EAAmB,OAAO,UAAU,YAAY,SAAS,EAC7D,SAASH,EAAcF,EAAO,CACxB,GAAA,CAACA,GAAS,OAAOA,GAAU,SACtB,MAAA,GACH,MAAAM,EAAQR,EAAeE,CAAK,EAClC,GAAIM,IAAU,KACL,MAAA,GAET,MAAMC,EAAO,OAAO,eAAe,KAAKD,EAAO,aAAa,GAAKA,EAAM,YACvE,OAAIC,IAAS,OACJ,GACF,OAAOA,GAAQ,YAAc,SAAS,SAAS,KAAKA,CAAI,IAAMF,CACvE,CAMA,SAASG,EAAKC,EAAKC,EAAM,CACnBC,EAAYF,CAAG,IAAM,EACvB,QAAQ,QAAQA,CAAG,EAAE,QAASG,GAAQ,CACpCF,EAAKE,EAAKH,EAAIG,CAAG,EAAGH,CAAG,CAAA,CACxB,EAEGA,EAAA,QAAQ,CAACI,EAAOC,IAAUJ,EAAKI,EAAOD,EAAOJ,CAAG,CAAC,CAEzD,CACA,SAASE,EAAYI,EAAO,CACpB,MAAAC,EAAQD,EAAMrB,CAAW,EAC/B,OAAOsB,EAAQA,EAAM,MAAQ,MAAM,QAAQD,CAAK,EAAI,EAAgBZ,EAAMY,CAAK,EAAI,EAAcX,EAAMW,CAAK,EAAI,EAAc,CAChI,CACA,SAASE,EAAIF,EAAOG,EAAM,CACxB,OAAOP,EAAYI,CAAK,IAAM,EAAcA,EAAM,IAAIG,CAAI,EAAI,OAAO,UAAU,eAAe,KAAKH,EAAOG,CAAI,CAChH,CAIA,SAASC,EAAIJ,EAAOK,EAAgBpB,EAAO,CACnC,MAAAqB,EAAIV,EAAYI,CAAK,EACvBM,IAAM,EACFN,EAAA,IAAIK,EAAgBpB,CAAK,EACxBqB,IAAM,EACbN,EAAM,IAAIf,CAAK,EAEfe,EAAMK,CAAc,EAAIpB,CAC5B,CACA,SAASsB,GAAGC,EAAGC,EAAG,CAChB,OAAID,IAAMC,EACDD,IAAM,GAAK,EAAIA,IAAM,EAAIC,EAEzBD,IAAMA,GAAKC,IAAMA,CAE5B,CACA,SAASrB,EAAMsB,EAAQ,CACrB,OAAOA,aAAkB,GAC3B,CACA,SAASrB,EAAMqB,EAAQ,CACrB,OAAOA,aAAkB,GAC3B,CACA,SAASC,EAAOV,EAAO,CACd,OAAAA,EAAM,OAASA,EAAM,KAC9B,CACA,SAASW,EAAYC,EAAMC,EAAQ,CAC7B,GAAA1B,EAAMyB,CAAI,EACL,OAAA,IAAI,IAAIA,CAAI,EAEjB,GAAAxB,EAAMwB,CAAI,EACL,OAAA,IAAI,IAAIA,CAAI,EAEjB,GAAA,MAAM,QAAQA,CAAI,EACpB,OAAO,MAAM,UAAU,MAAM,KAAKA,CAAI,EAClC,MAAAE,EAAU5B,EAAc0B,CAAI,EAClC,GAAIC,IAAW,IAAQA,IAAW,cAAgB,CAACC,EAAS,CACpD,MAAAC,EAAc,OAAO,0BAA0BH,CAAI,EACzD,OAAOG,EAAYrC,CAAW,EAC1B,IAAAsC,EAAO,QAAQ,QAAQD,CAAW,EACtC,QAAS9C,EAAI,EAAGA,EAAI+C,EAAK,OAAQ/C,IAAK,CAC9B,MAAA2B,EAAMoB,EAAK/C,CAAC,EACZgD,EAAOF,EAAYnB,CAAG,EACxBqB,EAAK,WAAa,KACpBA,EAAK,SAAW,GAChBA,EAAK,aAAe,KAElBA,EAAK,KAAOA,EAAK,OACnBF,EAAYnB,CAAG,EAAI,CACjB,aAAc,GACd,SAAU,GAEV,WAAYqB,EAAK,WACjB,MAAOL,EAAKhB,CAAG,CACjB,EAAA,CAEJ,OAAO,OAAO,OAAOd,EAAe8B,CAAI,EAAGG,CAAW,CAAA,KACjD,CACC,MAAAzB,EAAQR,EAAe8B,CAAI,EAC7B,GAAAtB,IAAU,MAAQwB,EACb,MAAA,CAAE,GAAGF,CAAK,EAEb,MAAAnB,EAAM,OAAO,OAAOH,CAAK,EACxB,OAAA,OAAO,OAAOG,EAAKmB,CAAI,CAAA,CAElC,CACA,SAASM,EAAOzB,EAAK0B,EAAO,GAAO,CAC7B,OAAAC,EAAS3B,CAAG,GAAKV,EAAQU,CAAG,GAAK,CAACR,EAAYQ,CAAG,IAEjDE,EAAYF,CAAG,EAAI,IACrBA,EAAI,IAAMA,EAAI,IAAMA,EAAI,MAAQA,EAAI,OAAS4B,IAE/C,OAAO,OAAO5B,CAAG,EACb0B,GACF,OAAO,QAAQ1B,CAAG,EAAE,QAAQ,CAAC,CAACG,EAAKZ,CAAK,IAAMkC,EAAOlC,EAAO,EAAI,CAAC,GAC5DS,CACT,CACA,SAAS4B,IAA8B,CACrC1C,EAAI,CAAC,CACP,CACA,SAASyC,EAAS3B,EAAK,CACd,OAAA,OAAO,SAASA,CAAG,CAC5B,CAGA,IAAI6B,GAAU,CAAC,EACf,SAASC,EAAUC,EAAW,CACtB,MAAAC,EAASH,GAAQE,CAAS,EAChC,OAAKC,GACH9C,EAAI,EAAG6C,CAAS,EAEXC,CACT,CAOA,IAAIC,EACJ,SAASC,GAAkB,CAClB,OAAAD,CACT,CACA,SAASE,GAAYC,EAASC,EAAQ,CAC7B,MAAA,CACL,QAAS,CAAC,EACV,QAAAD,EACA,OAAAC,EAGA,eAAgB,GAChB,mBAAoB,CACtB,CACF,CACA,SAASC,EAAkBC,EAAOC,EAAe,CAC3CA,IACFV,EAAU,SAAS,EACnBS,EAAM,SAAW,CAAC,EAClBA,EAAM,gBAAkB,CAAC,EACzBA,EAAM,eAAiBC,EAE3B,CACA,SAASC,EAAYF,EAAO,CAC1BG,EAAWH,CAAK,EACVA,EAAA,QAAQ,QAAQI,EAAW,EACjCJ,EAAM,QAAU,IAClB,CACA,SAASG,EAAWH,EAAO,CACrBA,IAAUN,IACZA,EAAeM,EAAM,QAEzB,CACA,SAASK,EAAWC,EAAQ,CACnB,OAAAZ,EAAeE,GAAYF,EAAcY,CAAM,CACxD,CACA,SAASF,GAAYG,EAAO,CACpB,MAAAvC,EAAQuC,EAAM7D,CAAW,EAC3BsB,EAAM,QAAU,GAAkBA,EAAM,QAAU,EACpDA,EAAM,QAAQ,EAEdA,EAAM,SAAW,EACrB,CAGA,SAASwC,EAAclE,EAAQ0D,EAAO,CAC9BA,EAAA,mBAAqBA,EAAM,QAAQ,OACnC,MAAAS,EAAYT,EAAM,QAAQ,CAAC,EAEjC,OADmB1D,IAAW,QAAUA,IAAWmE,GAE7CA,EAAU/D,CAAW,EAAE,YACzBwD,EAAYF,CAAK,EACjBrD,EAAI,CAAC,GAEHM,EAAYX,CAAM,IACXA,EAAAoE,EAASV,EAAO1D,CAAM,EAC1B0D,EAAM,SACTW,EAAYX,EAAO1D,CAAM,GAEzB0D,EAAM,UACRT,EAAU,SAAS,EAAE,4BACnBkB,EAAU/D,CAAW,EAAE,MACvBJ,EACA0D,EAAM,SACNA,EAAM,eACR,GAGF1D,EAASoE,EAASV,EAAOS,EAAW,CAAA,CAAE,EAExCP,EAAYF,CAAK,EACbA,EAAM,UACRA,EAAM,eAAeA,EAAM,SAAUA,EAAM,eAAe,EAErD1D,IAAWE,EAAUF,EAAS,MACvC,CACA,SAASoE,EAASE,EAAW5D,EAAO6D,EAAM,CACxC,GAAIzB,EAASpC,CAAK,EACT,OAAAA,EACH,MAAAgB,EAAQhB,EAAMN,CAAW,EAC/B,GAAI,CAACsB,EACH,OAAAR,EACER,EACA,CAACY,EAAKkD,IAAeC,EAAiBH,EAAW5C,EAAOhB,EAAOY,EAAKkD,EAAYD,CAAI,CACtF,EACO7D,EAET,GAAIgB,EAAM,SAAW4C,EACZ,OAAA5D,EACL,GAAA,CAACgB,EAAM,UACG,OAAA2C,EAAAC,EAAW5C,EAAM,MAAO,EAAI,EACjCA,EAAM,MAEX,GAAA,CAACA,EAAM,WAAY,CACrBA,EAAM,WAAa,GACnBA,EAAM,OAAO,qBACb,MAAM1B,EAAS0B,EAAM,MACrB,IAAIgD,EAAa1E,EACb2E,EAAS,GACTjD,EAAM,QAAU,IACLgD,EAAA,IAAI,IAAI1E,CAAM,EAC3BA,EAAO,MAAM,EACJ2E,EAAA,IAEXzD,EACEwD,EACA,CAACpD,EAAKkD,IAAeC,EAAiBH,EAAW5C,EAAO1B,EAAQsB,EAAKkD,EAAYD,EAAMI,CAAM,CAC/F,EACYN,EAAAC,EAAWtE,EAAQ,EAAK,EAChCuE,GAAQD,EAAU,UACpBrB,EAAU,SAAS,EAAE,iBACnBvB,EACA6C,EACAD,EAAU,SACVA,EAAU,eACZ,CACF,CAEF,OAAO5C,EAAM,KACf,CACA,SAAS+C,EAAiBH,EAAWM,EAAaC,EAAcjD,EAAM4C,EAAYM,EAAUC,EAAa,CAGnG,GAAAtE,EAAQ+D,CAAU,EAAG,CACvB,MAAMD,EAAOO,GAAYF,GAAeA,EAAY,QAAU,GAC9D,CAACjD,EAAIiD,EAAY,UAAWhD,CAAI,EAAIkD,EAAS,OAAOlD,CAAI,EAAI,OACtDoD,EAAMZ,EAASE,EAAWE,EAAYD,CAAI,EAE5C,GADA1C,EAAAgD,EAAcjD,EAAMoD,CAAG,EACvBvE,EAAQuE,CAAG,EACbV,EAAU,eAAiB,OAE3B,aACOS,GACTF,EAAa,IAAIL,CAAU,EAE7B,GAAI7D,EAAY6D,CAAU,GAAK,CAAC1B,EAAS0B,CAAU,EAAG,CACpD,GAAI,CAACF,EAAU,OAAO,aAAeA,EAAU,mBAAqB,EAClE,OAEFF,EAASE,EAAWE,CAAU,GACzB,CAACI,GAAe,CAACA,EAAY,OAAO,UAAY,OAAOhD,GAAS,UAAY,OAAO,UAAU,qBAAqB,KAAKiD,EAAcjD,CAAI,GAC5IyC,EAAYC,EAAWE,CAAU,CAAA,CAEvC,CACA,SAASH,EAAYX,EAAOhD,EAAOmC,EAAO,GAAO,CAC3C,CAACa,EAAM,SAAWA,EAAM,OAAO,aAAeA,EAAM,gBACtDd,EAAOlC,EAAOmC,CAAI,CAEtB,CAGA,SAASoC,GAAiB3C,EAAM4C,EAAQ,CAChC,MAAAC,EAAU,MAAM,QAAQ7C,CAAI,EAC5BZ,EAAQ,CACZ,MAAOyD,EAAU,EAAgB,EAEjC,OAAQD,EAASA,EAAO,OAAS7B,EAAgB,EAEjD,UAAW,GAEX,WAAY,GAEZ,UAAW,CAAC,EAEZ,QAAS6B,EAET,MAAO5C,EAEP,OAAQ,KAGR,MAAO,KAEP,QAAS,KACT,UAAW,EACb,EACA,IAAIH,EAAST,EACT0D,EAAQC,EACRF,IACFhD,EAAS,CAACT,CAAK,EACP0D,EAAAE,GAEV,KAAM,CAAE,OAAAC,EAAQ,MAAAC,GAAU,MAAM,UAAUrD,EAAQiD,CAAK,EACvD,OAAA1D,EAAM,OAAS8D,EACf9D,EAAM,QAAU6D,EACTC,CACT,CACA,IAAIH,EAAc,CAChB,IAAI3D,EAAOE,EAAM,CACf,GAAIA,IAASxB,EACJ,OAAAsB,EACH,MAAA+D,EAASrD,EAAOV,CAAK,EAC3B,GAAI,CAACC,EAAI8D,EAAQ7D,CAAI,EACZ,OAAA8D,GAAkBhE,EAAO+D,EAAQ7D,CAAI,EAExC,MAAAlB,EAAQ+E,EAAO7D,CAAI,EACzB,OAAIF,EAAM,YAAc,CAACf,EAAYD,CAAK,EACjCA,EAELA,IAAUiF,EAAKjE,EAAM,MAAOE,CAAI,GAClCgE,EAAYlE,CAAK,EACVA,EAAM,MAAME,CAAI,EAAIiE,EAAYnF,EAAOgB,CAAK,GAE9ChB,CACT,EACA,IAAIgB,EAAOE,EAAM,CACR,OAAAA,KAAQQ,EAAOV,CAAK,CAC7B,EACA,QAAQA,EAAO,CACb,OAAO,QAAQ,QAAQU,EAAOV,CAAK,CAAC,CACtC,EACA,IAAIA,EAAOE,EAAMlB,EAAO,CACtB,MAAMiC,EAAOmD,EAAuB1D,EAAOV,CAAK,EAAGE,CAAI,EACvD,GAAIe,GAAM,IACR,OAAAA,EAAK,IAAI,KAAKjB,EAAM,OAAQhB,CAAK,EAC1B,GAEL,GAAA,CAACgB,EAAM,UAAW,CACpB,MAAMqE,EAAWJ,EAAKvD,EAAOV,CAAK,EAAGE,CAAI,EACnCoE,EAAeD,IAAW3F,CAAW,EACvC,GAAA4F,GAAgBA,EAAa,QAAUtF,EACnC,OAAAgB,EAAA,MAAME,CAAI,EAAIlB,EACdgB,EAAA,UAAUE,CAAI,EAAI,GACjB,GAEL,GAAAI,GAAGtB,EAAOqF,CAAQ,IAAMrF,IAAU,QAAUiB,EAAID,EAAM,MAAOE,CAAI,GAC5D,MAAA,GACTgE,EAAYlE,CAAK,EACjBuE,EAAYvE,CAAK,CAAA,CAEf,OAAAA,EAAM,MAAME,CAAI,IAAMlB,IACzBA,IAAU,QAAUkB,KAAQF,EAAM,QACnC,OAAO,MAAMhB,CAAK,GAAK,OAAO,MAAMgB,EAAM,MAAME,CAAI,CAAC,IAE/CF,EAAA,MAAME,CAAI,EAAIlB,EACdgB,EAAA,UAAUE,CAAI,EAAI,IACjB,EACT,EACA,eAAeF,EAAOE,EAAM,CACtB,OAAA+D,EAAKjE,EAAM,MAAOE,CAAI,IAAM,QAAUA,KAAQF,EAAM,OAChDA,EAAA,UAAUE,CAAI,EAAI,GACxBgE,EAAYlE,CAAK,EACjBuE,EAAYvE,CAAK,GAEV,OAAAA,EAAM,UAAUE,CAAI,EAEzBF,EAAM,OACD,OAAAA,EAAM,MAAME,CAAI,EAElB,EACT,EAGA,yBAAyBF,EAAOE,EAAM,CAC9B,MAAAsE,EAAQ9D,EAAOV,CAAK,EACpBiB,EAAO,QAAQ,yBAAyBuD,EAAOtE,CAAI,EACzD,OAAKe,GAEE,CACL,SAAU,GACV,aAAcjB,EAAM,QAAU,GAAiBE,IAAS,SACxD,WAAYe,EAAK,WACjB,MAAOuD,EAAMtE,CAAI,CACnB,CACF,EACA,gBAAiB,CACfvB,EAAI,EAAE,CACR,EACA,eAAeqB,EAAO,CACb,OAAAlB,EAAekB,EAAM,KAAK,CACnC,EACA,gBAAiB,CACfrB,EAAI,EAAE,CAAA,CAEV,EACIiF,EAAa,CAAC,EAClBpE,EAAKmE,EAAa,CAAC/D,EAAK6E,IAAO,CAClBb,EAAAhE,CAAG,EAAI,UAAW,CAC3B,iBAAU,CAAC,EAAI,UAAU,CAAC,EAAE,CAAC,EACtB6E,EAAG,MAAM,KAAM,SAAS,CACjC,CACF,CAAC,EACDb,EAAW,eAAiB,SAAS5D,EAAOE,EAAM,CAGhD,OAAO0D,EAAW,IAAI,KAAK,KAAM5D,EAAOE,EAAM,MAAM,CACtD,EACA0D,EAAW,IAAM,SAAS5D,EAAOE,EAAMlB,EAAO,CAGrC,OAAA2E,EAAY,IAAI,KAAK,KAAM3D,EAAM,CAAC,EAAGE,EAAMlB,EAAOgB,EAAM,CAAC,CAAC,CACnE,EACA,SAASiE,EAAK1B,EAAOrC,EAAM,CACnB,MAAAF,EAAQuC,EAAM7D,CAAW,EAE/B,OADesB,EAAQU,EAAOV,CAAK,EAAIuC,GACzBrC,CAAI,CACpB,CACA,SAAS8D,GAAkBhE,EAAO+D,EAAQ7D,EAAM,CACxC,MAAAe,EAAOmD,EAAuBL,EAAQ7D,CAAI,EACzC,OAAAe,EAAO,UAAWA,EAAOA,EAAK,MAGnCA,EAAK,KAAK,KAAKjB,EAAM,MAAM,EACzB,MACN,CACA,SAASoE,EAAuBL,EAAQ7D,EAAM,CAC5C,GAAI,EAAEA,KAAQ6D,GACL,OACL,IAAAzE,EAAQR,EAAeiF,CAAM,EACjC,KAAOzE,GAAO,CACZ,MAAM2B,EAAO,OAAO,yBAAyB3B,EAAOY,CAAI,EACpD,GAAAe,EACK,OAAAA,EACT3B,EAAQR,EAAeQ,CAAK,CAAA,CAGhC,CACA,SAASiF,EAAYvE,EAAO,CACrBA,EAAM,YACTA,EAAM,UAAY,GACdA,EAAM,SACRuE,EAAYvE,EAAM,OAAO,EAG/B,CACA,SAASkE,EAAYlE,EAAO,CACrBA,EAAM,QACTA,EAAM,MAAQW,EACZX,EAAM,MACNA,EAAM,OAAO,OAAO,qBACtB,EAEJ,CAGA,IAAI0E,GAAS,KAAM,CACjB,YAAYC,EAAQ,CAClB,KAAK,YAAc,GACnB,KAAK,sBAAwB,GAoB7B,KAAK,QAAU,CAAC/D,EAAMgE,EAAQ3C,IAAkB,CAC9C,GAAI,OAAOrB,GAAS,YAAc,OAAOgE,GAAW,WAAY,CAC9D,MAAMC,EAAcD,EACXA,EAAAhE,EACT,MAAMkE,EAAO,KACb,OAAO,SAAwBC,EAAQF,KAAgBhG,EAAM,CACpD,OAAAiG,EAAK,QAAQC,EAAQxC,GAAUqC,EAAO,KAAK,KAAMrC,EAAO,GAAG1D,CAAI,CAAC,CACzE,CAAA,CAEE,OAAO+F,GAAW,YACpBjG,EAAI,CAAC,EACHsD,IAAkB,QAAU,OAAOA,GAAkB,YACvDtD,EAAI,CAAC,EACH,IAAAL,EACA,GAAAW,EAAY2B,CAAI,EAAG,CACf,MAAAoB,EAAQK,EAAW,IAAI,EACvByB,EAAQK,EAAYvD,EAAM,MAAM,EACtC,IAAIoE,EAAW,GACX,GAAA,CACF1G,EAASsG,EAAOd,CAAK,EACVkB,EAAA,EAAA,QACX,CACIA,EACF9C,EAAYF,CAAK,EAEjBG,EAAWH,CAAK,CAAA,CAEpB,OAAAD,EAAkBC,EAAOC,CAAa,EAC/BO,EAAclE,EAAQ0D,CAAK,CACzB,SAAA,CAACpB,GAAQ,OAAOA,GAAS,SAAU,CAQ5C,GAPAtC,EAASsG,EAAOhE,CAAI,EAChBtC,IAAW,SACJA,EAAAsC,GACPtC,IAAWE,IACJF,EAAA,QACP,KAAK,aACP4C,EAAO5C,EAAQ,EAAI,EACjB2D,EAAe,CACjB,MAAMgD,EAAI,CAAC,EACLC,EAAK,CAAC,EACZ3D,EAAU,SAAS,EAAE,4BAA4BX,EAAMtC,EAAQ2G,EAAGC,CAAE,EACpEjD,EAAcgD,EAAGC,CAAE,CAAA,CAEd,OAAA5G,CACT,MACEK,EAAI,EAAGiC,CAAI,CACf,EACK,KAAA,mBAAqB,CAACA,EAAMgE,IAAW,CACtC,GAAA,OAAOhE,GAAS,WAClB,MAAO,CAACZ,KAAUnB,IAAS,KAAK,mBAAmBmB,EAAQuC,GAAU3B,EAAK2B,EAAO,GAAG1D,CAAI,CAAC,EAE3F,IAAIsG,EAASC,EAKN,MAAA,CAJQ,KAAK,QAAQxE,EAAMgE,EAAQ,CAACK,EAAGC,IAAO,CACzCC,EAAAF,EACOG,EAAAF,CAAA,CAClB,EACeC,EAASC,CAAc,CACzC,EACI,OAAOT,GAAQ,YAAe,WAC3B,KAAA,cAAcA,EAAO,UAAU,EAClC,OAAOA,GAAQ,sBAAyB,WACrC,KAAA,wBAAwBA,EAAO,oBAAoB,CAAA,CAE5D,YAAY/D,EAAM,CACX3B,EAAY2B,CAAI,GACnBjC,EAAI,CAAC,EACHI,EAAQ6B,CAAI,IACdA,EAAOyE,GAAQzE,CAAI,GACf,MAAAoB,EAAQK,EAAW,IAAI,EACvByB,EAAQK,EAAYvD,EAAM,MAAM,EAChC,OAAAkD,EAAApF,CAAW,EAAE,UAAY,GAC/ByD,EAAWH,CAAK,EACT8B,CAAA,CAET,YAAYvB,EAAON,EAAe,CAC1B,MAAAjC,EAAQuC,GAASA,EAAM7D,CAAW,GACpC,CAACsB,GAAS,CAACA,EAAM,YACnBrB,EAAI,CAAC,EACD,KAAA,CAAE,OAAQqD,CAAA,EAAUhC,EAC1B,OAAA+B,EAAkBC,EAAOC,CAAa,EAC/BO,EAAc,OAAQR,CAAK,CAAA,CAOpC,cAAchD,EAAO,CACnB,KAAK,YAAcA,CAAA,CAOrB,wBAAwBA,EAAO,CAC7B,KAAK,sBAAwBA,CAAA,CAE/B,aAAa4B,EAAMuE,EAAS,CACtB,IAAAlH,EACJ,IAAKA,EAAIkH,EAAQ,OAAS,EAAGlH,GAAK,EAAGA,IAAK,CAClC,MAAAqH,EAAQH,EAAQlH,CAAC,EACvB,GAAIqH,EAAM,KAAK,SAAW,GAAKA,EAAM,KAAO,UAAW,CACrD1E,EAAO0E,EAAM,MACb,KAAA,CACF,CAEErH,EAAI,KACIkH,EAAAA,EAAQ,MAAMlH,EAAI,CAAC,GAEzB,MAAAsH,EAAmBhE,EAAU,SAAS,EAAE,cAC1C,OAAAxC,EAAQ6B,CAAI,EACP2E,EAAiB3E,EAAMuE,CAAO,EAEhC,KAAK,QACVvE,EACC2B,GAAUgD,EAAiBhD,EAAO4C,CAAO,CAC5C,CAAA,CAEJ,EACA,SAAShB,EAAYnF,EAAOwE,EAAQ,CAC5B,MAAAjB,EAAQpD,EAAMH,CAAK,EAAIuC,EAAU,QAAQ,EAAE,UAAUvC,EAAOwE,CAAM,EAAIpE,EAAMJ,CAAK,EAAIuC,EAAU,QAAQ,EAAE,UAAUvC,EAAOwE,CAAM,EAAID,GAAiBvE,EAAOwE,CAAM,EAElK,OADQA,EAASA,EAAO,OAAS7B,EAAgB,GACjD,QAAQ,KAAKY,CAAK,EACjBA,CACT,CAGA,SAAS8C,GAAQrG,EAAO,CAClB,OAACD,EAAQC,CAAK,GAChBL,EAAI,GAAIK,CAAK,EACRwG,EAAYxG,CAAK,CAC1B,CACA,SAASwG,EAAYxG,EAAO,CAC1B,GAAI,CAACC,EAAYD,CAAK,GAAKoC,EAASpC,CAAK,EAChC,OAAAA,EACH,MAAAgB,EAAQhB,EAAMN,CAAW,EAC3B,IAAA+G,EACJ,GAAIzF,EAAO,CACT,GAAI,CAACA,EAAM,UACT,OAAOA,EAAM,MACfA,EAAM,WAAa,GACnByF,EAAO9E,EAAY3B,EAAOgB,EAAM,OAAO,OAAO,qBAAqB,CAAA,MAE5DyF,EAAA9E,EAAY3B,EAAO,EAAI,EAE3B,OAAAQ,EAAAiG,EAAM,CAAC7F,EAAKkD,IAAe,CAC9B3C,EAAIsF,EAAM7F,EAAK4F,EAAY1C,CAAU,CAAC,CAAA,CACvC,EACG9C,IACFA,EAAM,WAAa,IAEdyF,CACT,CAyeA,IAAIC,EAAQ,IAAIhB,GACZiB,GAAUD,EAAM,QACKA,EAAM,mBAAmB,KAChDA,CACF,EACA,IAAIE,GAAgBF,EAAM,cAAc,KAAKA,CAAK,EACpBA,EAAM,wBAAwB,KAAKA,CAAK,EACnDA,EAAM,aAAa,KAAKA,CAAK,EAC9BA,EAAM,YAAY,KAAKA,CAAK,EAC5BA,EAAM,YAAY,KAAKA,CAAK","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,2 @@
1
+ import{i as r}from"./_virtual___federation_fn_import-BllbkH3T.js";import{j as e}from"./index.esm-CGbP6mNa.js";import{b as N,c as y,L as k,l as E,I as S,t as I}from"./index-VsI1zxbc.js";import{D}from"./index-MPyZaAGd.js";import{l as $}from"./utils-BMK0C56t.js";function A(c,n,a){return`/api/plugins/${c}/${n}/static/${a}`}const{pluginEntityType:b,webConfigSpec:v}=await r("@baseplate-dev/project-builder-lib"),{useProjectDefinition:F}=await r("@baseplate-dev/project-builder-lib/web"),{Button:f,Card:W,CardContent:M,CardDescription:L,CardHeader:T,CardTitle:z}=await r("@baseplate-dev/ui-components");function C({className:c,plugin:n,isActive:a}){const{currentProjectId:s}=N(),{saveDefinitionWithFeedbackSync:d,schemaParserContext:u,definitionContainer:p,pluginContainer:m,isSavingDefinition:o}=F(),l=y();function i(){if($(u.pluginStore,n,p.definition).getPluginSpec(v).getWebConfigComponent(n.id)){l({to:`/plugins/edit/${n.id}`}).catch(E);return}d(j=>{j.plugins=[...(j.plugins??[]).filter(x=>x.packageName!==n.packageName||x.name!==n.name),{id:b.idFromKey(n.id),packageName:n.packageName,name:n.name,version:n.version,config:{}}]},{successMessage:`Enabled ${n.displayName}!`})}function t(){d(g=>{g.plugins=(g.plugins??[]).filter(h=>h.id!==b.idFromKey(n.id))},{successMessage:`Disabled ${n.displayName}!`})}const w=m.getPluginSpec(v).getWebConfigComponent(n.id);return e.jsxs(W,{className:c,children:[e.jsx(T,{children:e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("div",{className:"rounded-xl border",children:n.icon&&s?e.jsx("img",{src:A(s,n.id,n.icon),className:"size-12 rounded-xl bg-muted",alt:`${n.displayName} logo`}):e.jsx(D,{className:"size-12 bg-muted p-2"})}),e.jsxs("div",{children:[e.jsx(z,{children:n.displayName}),e.jsx(L,{children:n.packageName})]})]}),e.jsx("div",{children:a?w?e.jsx(k,{to:"/plugins/edit/$id",from:"/",params:{id:n.id},children:e.jsx(f,{variant:"secondary",children:"Configure"})}):e.jsx(f,{variant:"secondary",onClick:t,disabled:o,children:"Disable"}):e.jsx(f,{variant:"secondary",onClick:i,disabled:o,children:"Enable"})})]})}),e.jsx(M,{children:e.jsx("div",{className:"text-sm",children:e.jsx("p",{children:n.description})})})]})}const{useProjectDefinition:H}=await r("@baseplate-dev/project-builder-lib/web"),{EmptyDisplay:K,ErrorableLoader:R}=await r("@baseplate-dev/ui-components"),{useEffect:B,useState:P}=await r("react"),O=function(){const{currentProjectId:n}=N(),[a,s]=P(null),{definition:d}=H(),[u,p]=P(null);if(B(()=>{if(s(null),!!n){if(S){s([]);return}I.plugins.getAvailablePlugins.mutate({projectId:n}).then(s).catch(p)}},[n]),!a)return e.jsx(R,{error:u});if(a.length===0)return e.jsx(K,{header:"No plugins available.",subtitle:"Please install plugins via package.json."});const m=d.plugins??[],o=a.filter(i=>m.some(t=>t.packageName===i.packageName&&t.name===i.name)),l=a.filter(i=>!m.some(t=>t.packageName===i.packageName&&t.name===i.name));return e.jsxs("div",{className:"max-w-2xl space-y-4 p-4",children:[e.jsx("h1",{children:"Manage Plugins"}),e.jsx("p",{children:"Plugins are a way to extend the functionality of your project, such as adding authentication. You can enable, disable, and manage plugins from this page."}),e.jsxs("p",{children:["To add additional plugins, you can install them to your root package with ",e.jsx("strong",{children:"pnpm"}),"."]}),o.length===0?null:e.jsxs(e.Fragment,{children:[e.jsxs("h3",{children:["Active Plugins (",o.length,")"]}),o.map(i=>e.jsx(C,{plugin:i,isActive:!0},i.id))]}),l.length===0?null:e.jsxs(e.Fragment,{children:[e.jsxs("h3",{children:["Available Plugins (",l.length,")"]}),l.map(i=>e.jsx(C,{plugin:i,isActive:!1},i.id))]})]})};export{O as component};
2
+ //# sourceMappingURL=index-B5VAZnNv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B5VAZnNv.js","sources":["../../src/services/plugins.ts","../../src/routes/plugins/-components/plugin-card.tsx","../../src/routes/plugins/index.tsx?tsr-split=component"],"sourcesContent":["export function getPluginStaticUrl(\n projectId: string,\n pluginId: string,\n path: string,\n): string {\n return `/api/plugins/${projectId}/${pluginId}/static/${path}`;\n}\n","import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n pluginEntityType,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\nimport { useProjectDefinition } from '@baseplate-dev/project-builder-lib/web';\nimport {\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@baseplate-dev/ui-components';\nimport { Link, useNavigate } from '@tanstack/react-router';\nimport { MdExtension } from 'react-icons/md';\n\nimport { useProjects } from '#src/hooks/use-projects.js';\nimport { logAndFormatError } from '#src/services/error-formatter.js';\nimport { getPluginStaticUrl } from '#src/services/plugins.js';\n\nimport { loadPluginImplementationStoreWithNewPlugin } from './utils.js';\n\ninterface PluginCardProps {\n className?: string;\n plugin: PluginMetadataWithPaths;\n isActive: boolean;\n}\n\nexport function PluginCard({\n className,\n plugin,\n isActive,\n}: PluginCardProps): React.JSX.Element {\n const { currentProjectId } = useProjects();\n const {\n saveDefinitionWithFeedbackSync,\n schemaParserContext,\n definitionContainer,\n pluginContainer,\n isSavingDefinition,\n } = useProjectDefinition();\n const navigate = useNavigate();\n\n function enablePlugin(): void {\n const implementations = loadPluginImplementationStoreWithNewPlugin(\n schemaParserContext.pluginStore,\n plugin,\n definitionContainer.definition,\n );\n const webConfigImplementation =\n implementations.getPluginSpec(webConfigSpec);\n const webConfig = webConfigImplementation.getWebConfigComponent(plugin.id);\n if (webConfig) {\n // redirect to plugin config page\n navigate({ to: `/plugins/edit/${plugin.id}` }).catch(logAndFormatError);\n return;\n }\n saveDefinitionWithFeedbackSync(\n (draft) => {\n draft.plugins = [\n ...(draft.plugins ?? []).filter(\n (p) =>\n p.packageName !== plugin.packageName || p.name !== plugin.name,\n ),\n {\n id: pluginEntityType.idFromKey(plugin.id),\n packageName: plugin.packageName,\n name: plugin.name,\n version: plugin.version,\n config: {},\n },\n ];\n },\n {\n successMessage: `Enabled ${plugin.displayName}!`,\n },\n );\n }\n\n function disablePlugin(): void {\n saveDefinitionWithFeedbackSync(\n (draft) => {\n draft.plugins = (draft.plugins ?? []).filter(\n (p) => p.id !== pluginEntityType.idFromKey(plugin.id),\n );\n },\n {\n successMessage: `Disabled ${plugin.displayName}!`,\n },\n );\n }\n\n const webConfigImplementation = pluginContainer.getPluginSpec(webConfigSpec);\n const webConfig = webConfigImplementation.getWebConfigComponent(plugin.id);\n\n return (\n <Card className={className}>\n <CardHeader>\n <div className=\"flex items-center justify-between gap-4\">\n <div className=\"flex items-center space-x-4\">\n <div className=\"rounded-xl border\">\n {plugin.icon && currentProjectId ? (\n <img\n src={getPluginStaticUrl(\n currentProjectId,\n plugin.id,\n plugin.icon,\n )}\n className=\"size-12 rounded-xl bg-muted\"\n alt={`${plugin.displayName} logo`}\n />\n ) : (\n <MdExtension className=\"size-12 bg-muted p-2\" />\n )}\n </div>\n <div>\n <CardTitle>{plugin.displayName}</CardTitle>\n <CardDescription>{plugin.packageName}</CardDescription>\n </div>\n </div>\n <div>\n {(() => {\n if (!isActive) {\n return (\n <Button\n variant=\"secondary\"\n onClick={enablePlugin}\n disabled={isSavingDefinition}\n >\n Enable\n </Button>\n );\n } else if (webConfig) {\n return (\n <Link\n to={`/plugins/edit/$id`}\n from=\"/\"\n params={{ id: plugin.id }}\n >\n <Button variant=\"secondary\">Configure</Button>\n </Link>\n );\n } else {\n return (\n <Button\n variant=\"secondary\"\n onClick={disablePlugin}\n disabled={isSavingDefinition}\n >\n Disable\n </Button>\n );\n }\n })()}\n </div>\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"text-sm\">\n <p>{plugin.description}</p>\n </div>\n </CardContent>\n </Card>\n );\n}\n","import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport { useProjectDefinition } from '@baseplate-dev/project-builder-lib/web';\nimport { EmptyDisplay, ErrorableLoader } from '@baseplate-dev/ui-components';\nimport { createFileRoute } from '@tanstack/react-router';\nimport { useEffect, useState } from 'react';\n\nimport { useProjects } from '#src/hooks/use-projects.js';\nimport { IS_PREVIEW } from '#src/services/config.js';\nimport { trpc } from '#src/services/trpc.js';\n\nimport { PluginCard } from './-components/plugin-card.js';\n\nexport const Route = createFileRoute('/plugins/')({\n component: PluginsHomePage,\n});\n\nfunction PluginsHomePage(): React.JSX.Element {\n const { currentProjectId } = useProjects();\n const [plugins, setPlugins] = useState<PluginMetadataWithPaths[] | null>(\n null,\n );\n const { definition } = useProjectDefinition();\n const [error, setError] = useState<unknown>(null);\n\n useEffect(() => {\n setPlugins(null);\n if (!currentProjectId) {\n return;\n }\n if (IS_PREVIEW) {\n setPlugins([]);\n return;\n }\n trpc.plugins.getAvailablePlugins\n .mutate({ projectId: currentProjectId })\n .then(setPlugins)\n .catch(setError);\n }, [currentProjectId]);\n\n if (!plugins) {\n return <ErrorableLoader error={error} />;\n }\n\n if (plugins.length === 0) {\n return (\n <EmptyDisplay\n header=\"No plugins available.\"\n subtitle=\"Please install plugins via package.json.\"\n />\n );\n }\n\n const pluginConfig = definition.plugins ?? [];\n const installedPlugins = plugins.filter((plugin) =>\n pluginConfig.some(\n (config) =>\n config.packageName === plugin.packageName &&\n config.name === plugin.name,\n ),\n );\n const uninstalledPlugins = plugins.filter(\n (plugin) =>\n !pluginConfig.some(\n (config) =>\n config.packageName === plugin.packageName &&\n config.name === plugin.name,\n ),\n );\n\n return (\n <div className=\"max-w-2xl space-y-4 p-4\">\n <h1>Manage Plugins</h1>\n <p>\n Plugins are a way to extend the functionality of your project, such as\n adding authentication. You can enable, disable, and manage plugins from\n this page.\n </p>\n <p>\n To add additional plugins, you can install them to your root package\n with <strong>pnpm</strong>.\n </p>\n {installedPlugins.length === 0 ? null : (\n <>\n <h3>Active Plugins ({installedPlugins.length})</h3>\n {installedPlugins.map((plugin) => (\n <PluginCard key={plugin.id} plugin={plugin} isActive />\n ))}\n </>\n )}\n {uninstalledPlugins.length === 0 ? null : (\n <>\n <h3>Available Plugins ({uninstalledPlugins.length})</h3>\n {uninstalledPlugins.map((plugin) => (\n <PluginCard key={plugin.id} plugin={plugin} isActive={false} />\n ))}\n </>\n )}\n </div>\n );\n}\n"],"names":["getPluginStaticUrl","projectId","pluginId","path","pluginEntityType","webConfigSpec","importShared","useProjectDefinition","Button","Card","CardContent","CardDescription","CardHeader","CardTitle","PluginCard","className","plugin","isActive","currentProjectId","useProjects","saveDefinitionWithFeedbackSync","schemaParserContext","definitionContainer","pluginContainer","isSavingDefinition","navigate","useNavigate","enablePlugin","loadPluginImplementationStoreWithNewPlugin","logAndFormatError","draft","p","disablePlugin","webConfig","jsxs","jsx","MdExtension","Link","EmptyDisplay","ErrorableLoader","useEffect","useState","SplitComponent","plugins","setPlugins","definition","error","setError","IS_PREVIEW","getAvailablePlugins","mutate","then","catch","length","pluginConfig","installedPlugins","filter","some","config","packageName","name","uninstalledPlugins","Fragment","map","id"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{i as n}from"./_virtual___federation_fn_import-BllbkH3T.js";import{j as e}from"./index.esm-CGbP6mNa.js";import{q as v,s as w}from"./index-VsI1zxbc.js";import{u as A}from"./use-definition-schema-BB2JVpWG.js";const{authConfigSpec:L,createAdminAppSchema:R}=await n("@baseplate-dev/project-builder-lib"),{useBlockUnsavedChangesNavigate:k,useProjectDefinition:D,useResettableForm:F}=await n("@baseplate-dev/project-builder-lib/web"),{FormActionBar:P,InputFieldController:p,MultiComboboxFieldController:N,SectionList:y,SectionListSection:m,SectionListSectionContent:d,SectionListSectionDescription:u,SectionListSectionHeader:h,SectionListSectionTitle:x}=await n("@baseplate-dev/ui-components"),H=function(){const{adminDefinition:t}=v.useRouteContext(),{definition:j,saveDefinitionWithFeedback:S,pluginContainer:b}=D(),f=A(R),s=F({resolver:w(f),values:t}),{control:i,handleSubmit:g,reset:C}=s,a=g(o=>S(l=>{l.apps=l.apps.map(r=>r.id===t.id?o:r)}));k({control:i,reset:C,onSubmit:a});const c=b.getPluginSpecOptional(L)?.getAuthRoles(j).map(o=>({label:o.name,value:o.id}));return e.jsxs("form",{className:"w-full max-w-7xl space-y-4 p-4",onSubmit:a,children:[e.jsxs(y,{children:[e.jsxs(m,{children:[e.jsxs(h,{children:[e.jsx(x,{children:"General"}),e.jsx(u,{children:"Basic configuration for your admin application."})]}),e.jsxs(d,{className:"space-y-6",children:[e.jsx(p,{label:"Name",control:i,name:"name"}),e.jsx(p,{label:"Package Location (optional)",placeholder:"e.g. packages/admin",control:i,name:"packageLocation"})]})]}),c&&e.jsxs(m,{children:[e.jsxs(h,{children:[e.jsx(x,{children:"Access Control"}),e.jsx(u,{children:"Configure which user roles can access the admin application."})]}),e.jsx(d,{children:e.jsx(N,{label:"Allowed Roles",control:i,options:c,name:"allowedRoles"})})]})]}),e.jsx(P,{form:s})]})};export{H as component};
2
+ //# sourceMappingURL=index-BYcSgAsc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BYcSgAsc.js","sources":["../../src/routes/apps/edit.$key/admin/index.tsx?tsr-split=component"],"sourcesContent":["import type React from 'react';\n\nimport {\n authConfigSpec,\n createAdminAppSchema,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n useBlockUnsavedChangesNavigate,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n FormActionBar,\n InputFieldController,\n MultiComboboxFieldController,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { createFileRoute } from '@tanstack/react-router';\n\nimport { useDefinitionSchema } from '#src/hooks/use-definition-schema.js';\n\nexport const Route = createFileRoute('/apps/edit/$key/admin/')({\n component: AdminAppEditPage,\n});\n\nfunction AdminAppEditPage(): React.JSX.Element {\n const { adminDefinition } = Route.useRouteContext();\n const { definition, saveDefinitionWithFeedback, pluginContainer } =\n useProjectDefinition();\n const adminAppSchema = useDefinitionSchema(createAdminAppSchema);\n\n const formProps = useResettableForm({\n resolver: zodResolver(adminAppSchema),\n values: adminDefinition,\n });\n const { control, handleSubmit, reset } = formProps;\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback((draftConfig) => {\n draftConfig.apps = draftConfig.apps.map((app) =>\n app.id === adminDefinition.id ? data : app,\n );\n }),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n const roleOptions = pluginContainer\n .getPluginSpecOptional(authConfigSpec)\n ?.getAuthRoles(definition)\n .map((role) => ({\n label: role.name,\n value: role.id,\n }));\n\n return (\n <form className=\"w-full max-w-7xl space-y-4 p-4\" onSubmit={onSubmit}>\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>General</SectionListSectionTitle>\n <SectionListSectionDescription>\n Basic configuration for your admin application.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"space-y-6\">\n <InputFieldController label=\"Name\" control={control} name=\"name\" />\n <InputFieldController\n label=\"Package Location (optional)\"\n placeholder=\"e.g. packages/admin\"\n control={control}\n name=\"packageLocation\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n\n {roleOptions && (\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>Access Control</SectionListSectionTitle>\n <SectionListSectionDescription>\n Configure which user roles can access the admin application.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent>\n <MultiComboboxFieldController\n label=\"Allowed Roles\"\n control={control}\n options={roleOptions}\n name=\"allowedRoles\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n )}\n </SectionList>\n <FormActionBar form={formProps} />\n </form>\n );\n}\n"],"names":["authConfigSpec","createAdminAppSchema","importShared","useBlockUnsavedChangesNavigate","useProjectDefinition","useResettableForm","FormActionBar","InputFieldController","MultiComboboxFieldController","SectionList","SectionListSection","SectionListSectionContent","SectionListSectionDescription","SectionListSectionHeader","SectionListSectionTitle","SplitComponent","adminDefinition","Route","useRouteContext","definition","saveDefinitionWithFeedback","pluginContainer","adminAppSchema","useDefinitionSchema","formProps","resolver","zodResolver","values","control","handleSubmit","reset","onSubmit","draftConfig","apps","map","app","id","data","roleOptions","getPluginSpecOptional","getAuthRoles","role","label","name","value","jsxs","jsx"],"mappings":"qNAEA,KAAA,CAAA,eAAAA,EAAA,qBAAAC,CAAA,EAAA,MAAAC,EAAA,oCAAA,EAIA,CAAA,+BAAAC,EAAA,qBAAAC,EAAA,kBAAAC,CAAA,EAAA,MAAAH,EAAA,wCAAA,EAKA,CAAA,cAAAI,EAAA,qBAAAC,EAAA,6BAAAC,EAAA,YAAAC,EAAA,mBAAAC,EAAA,0BAAAC,EAAA,8BAAAC,EAAA,yBAAAC,EAAA,wBAAAC,CAAA,EAAA,MAAAZ,EAAA,8BAAA,EAc0Ea,EAAA,UAM3B,CACvC,KAAA,CAAEC,gBAAAA,CAAAA,EAAoBC,EAAMC,gBAAgB,EAC5C,CAAEC,WAAAA,EAAYC,2BAAAA,EAA4BC,gBAAAA,GAC9CjB,EAAqB,EACjBkB,EAAiBC,EAAoBtB,CAAoB,EAEzDuB,EAAYnB,EAAkB,CAClCoB,SAAUC,EAAYJ,CAAc,EACpCK,OAAQX,CAAAA,CACT,EACK,CAAEY,QAAAA,EAASC,aAAAA,EAAcC,MAAAA,CAAAA,EAAUN,EAEnCO,EAAWF,EACfT,GAAAA,EAA4CY,GAAA,CAC9BC,EAAAA,KAAOD,EAAYC,KAAKC,IAAKC,GACvCA,EAAIC,KAAOpB,EAAgBoB,GAAKC,EAAOF,CACzC,CAAA,CACD,CACH,EAE+BhC,EAAA,CAAEyB,QAAAA,EAASE,MAAAA,EAAOC,SAAAA,CAAAA,CAAU,EAErDO,MAAAA,EAAcjB,EACjBkB,sBAAsBvC,CAAc,GACnCwC,aAAarB,CAAU,EACxBe,IAAeO,IAAA,CACdC,MAAOD,EAAKE,KACZC,MAAOH,EAAKL,EAAAA,EACZ,EAEJ,OACGS,EAAAA,KAAA,OAAA,CAAK,UAAU,iCAAiC,SAAAd,EAC/C,SAAA,CAAAc,OAACpC,EACC,CAAA,SAAA,CAAAoC,OAACnC,EACC,CAAA,SAAA,CAAAmC,OAAChC,EACC,CAAA,SAAA,CAAAiC,EAAAA,IAAChC,GAAwB,SAAO,SAAA,CAAA,EAChCgC,EAAAA,IAAClC,GAA6B,SAE9B,iDAAA,CAAA,CAAA,EACF,EACAiC,EAAAA,KAAClC,EAA0B,CAAA,UAAU,YACnC,SAAA,CAAAmC,EAAA,IAACvC,EAAqB,CAAA,MAAM,OAAO,QAAAqB,EAAkB,KAAK,OAAM,EAChEkB,MAACvC,GACC,MAAM,8BACN,YAAY,sBACZ,QAAAqB,EACA,KAAK,iBAAiB,CAAA,CAAA,CAE1B,CAAA,CAAA,EACF,EAECU,UACE5B,EACC,CAAA,SAAA,CAAAmC,OAAChC,EACC,CAAA,SAAA,CAAAiC,EAAAA,IAAChC,GAAwB,SAAc,gBAAA,CAAA,EACvCgC,EAAAA,IAAClC,GAA6B,SAE9B,8DAAA,CAAA,CAAA,EACF,EACAkC,EAAAA,IAACnC,EACC,CAAA,SAAAmC,EAAA,IAACtC,EACC,CAAA,MAAM,gBACN,QAAAoB,EACA,QAASU,EACT,KAAK,cAAc,CAAA,CAEvB,CAAA,CAAA,CACF,CAAA,CAAA,EAEJ,EACAQ,EAAAA,IAACxC,EAAc,CAAA,KAAMkB,CAAU,CAAA,CAAA,EACjC,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{i as c}from"./_virtual___federation_fn_import-BllbkH3T.js";import{j as e,f as S,e as j}from"./index.esm-CGbP6mNa.js";import{S as v,o as f,a as L}from"./index-VsI1zxbc.js";import{u as y}from"./use-enum-form-CMIHUOLu.js";import{K as C,c as N}from"./index-MPyZaAGd.js";const{SectionListSection:b,SectionListSectionContent:g,SectionListSectionHeader:w,SectionListSectionTitle:E,SwitchFieldController:V}=await c("@baseplate-dev/ui-components");function F({control:s}){return e.jsxs(b,{children:[e.jsx(w,{children:e.jsx(E,{children:"GraphQL"})}),e.jsx(g,{className:"space-y-4",children:e.jsx(V,{label:"Expose in GraphQL schema",control:s,name:"isExposed",description:"Whether to expose this enum in the GraphQL schema"})})]})}function A(s){return s.split("_").map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ")}const{modelEnumValueEntityType:T}=await c("@baseplate-dev/project-builder-lib"),{Button:d,InputFieldController:u,Label:p,SectionListSection:$,SectionListSectionContent:I,SectionListSectionDescription:k,SectionListSectionHeader:B,SectionListSectionTitle:D}=await c("@baseplate-dev/ui-components");function G({control:s,setValue:l}){const{fields:t,remove:n,append:r,move:a}=S({control:s,name:"values"}),o=j({control:s,name:"values"}),m="grid grid-cols-[repeat(2,minmax(130px,1fr))_80px] gap-3",x=t.map((h,i)=>({id:h.id,element:e.jsxs("div",{className:m,children:[e.jsx(u,{control:s,name:`values.${i}.name`}),e.jsx(u,{control:s,name:`values.${i}.friendlyName`,onFocus:()=>{!o[i].friendlyName&&o[i].name&&l(`values.${i}.friendlyName`,A(o[i].name))}}),e.jsxs(d,{variant:"ghost",size:"icon",onClick:()=>{n(i)},children:[e.jsx(C,{}),e.jsx("div",{className:"sr-only",children:"Delete Enum"})]})]})}));return e.jsxs($,{children:[e.jsxs(B,{children:[e.jsx(D,{children:"Values"}),e.jsx(k,{children:"Configure the allowed values for this enum."})]}),e.jsxs(I,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:N(m,"pl-12"),children:[e.jsx(p,{children:"Value Name, e.g. ACTIVE"}),e.jsx(p,{children:"Value Friendly Name, e.g. Active"}),e.jsx("div",{})]}),t.length===0?e.jsx("p",{className:"pt-4 text-style-muted",children:"Add some values to get started"}):e.jsx(v,{listItems:x,sortItems:a})]}),e.jsx(d,{size:"sm",variant:"secondary",onClick:()=>{r({id:T.generateNewId(),name:"",friendlyName:""})},children:"Add Value"})]})]})}const{useBlockUnsavedChangesNavigate:Q}=await c("@baseplate-dev/project-builder-lib/web"),{FormActionBar:H,SectionList:R}=await c("@baseplate-dev/ui-components"),_=function(){const{key:l}=f.useParams(),{form:t,onSubmit:n,isSavingDefinition:r}=y({omit:["name","featureRef"],enumKey:l}),{control:a,setValue:o}=t;return Q({control:a,reset:t.reset,onSubmit:n}),e.jsx(L,{children:e.jsxs("form",{onSubmit:n,className:"mx-4 max-w-7xl min-w-[700px] flex-1 space-y-4 pb-4",children:[e.jsxs(R,{children:[e.jsx(F,{control:a}),e.jsx(G,{control:a,setValue:o})]}),e.jsx(H,{form:t,disabled:r})]})})};export{_ as component};
2
+ //# sourceMappingURL=index-CJK2iGtK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CJK2iGtK.js","sources":["../../src/routes/data/enums/edit.$key/-components/enum-graph-ql-section.tsx","../../src/utils/casing.ts","../../src/routes/data/enums/edit.$key/-components/enum-values-section.tsx","../../src/routes/data/enums/edit.$key/index.tsx?tsr-split=component"],"sourcesContent":["import type { EnumConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control } from 'react-hook-form';\n\nimport {\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionHeader,\n SectionListSectionTitle,\n SwitchFieldController,\n} from '@baseplate-dev/ui-components';\n\nexport function EnumGraphQLSection({\n control,\n}: {\n control: Control<EnumConfig>;\n}): React.JSX.Element {\n return (\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>GraphQL</SectionListSectionTitle>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"space-y-4\">\n <SwitchFieldController\n label=\"Expose in GraphQL schema\"\n control={control}\n name=\"isExposed\"\n description=\"Whether to expose this enum in the GraphQL schema\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n );\n}\n","export function underscoreToTitleCase(str: string): string {\n // Split the string into an array of words\n const words = str.split('_');\n\n // Capitalize the first letter of each word and join them back together\n const titleCase = words\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n\n return titleCase;\n}\n","import type { EnumConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control, UseFormSetValue } from 'react-hook-form';\n\nimport { modelEnumValueEntityType } from '@baseplate-dev/project-builder-lib';\nimport {\n Button,\n InputFieldController,\n Label,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport clsx from 'clsx';\nimport { useFieldArray, useWatch } from 'react-hook-form';\nimport { MdDeleteOutline } from 'react-icons/md';\n\nimport { SortableList } from '#src/components/index.js';\nimport { underscoreToTitleCase } from '#src/utils/casing.js';\n\nexport function EnumValuesSection({\n control,\n setValue,\n}: {\n control: Control<EnumConfig>;\n setValue: UseFormSetValue<EnumConfig>;\n}): React.JSX.Element {\n const {\n fields: valueFields,\n remove: removeValue,\n append: appendValue,\n move: sortValues,\n } = useFieldArray({\n control,\n name: 'values',\n });\n\n const values = useWatch({ control, name: 'values' });\n\n const gridClassNames =\n 'grid grid-cols-[repeat(2,minmax(130px,1fr))_80px] gap-3';\n\n const valueListItems = valueFields.map((field, i) => ({\n id: field.id,\n element: (\n <div className={gridClassNames}>\n <InputFieldController control={control} name={`values.${i}.name`} />\n <InputFieldController\n control={control}\n name={`values.${i}.friendlyName`}\n onFocus={() => {\n if (!values[i].friendlyName && values[i].name) {\n setValue(\n `values.${i}.friendlyName`,\n underscoreToTitleCase(values[i].name),\n );\n }\n }}\n />\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => {\n removeValue(i);\n }}\n >\n <MdDeleteOutline />\n <div className=\"sr-only\">Delete Enum</div>\n </Button>\n </div>\n ),\n }));\n\n return (\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>Values</SectionListSectionTitle>\n <SectionListSectionDescription>\n Configure the allowed values for this enum.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"space-y-4\">\n <div className=\"space-y-2\">\n <div\n className={clsx(\n gridClassNames,\n // account for handle in sortable list\n 'pl-12',\n )}\n >\n <Label>Value Name, e.g. ACTIVE</Label>\n <Label>Value Friendly Name, e.g. Active</Label>\n <div />\n </div>\n {valueFields.length === 0 ? (\n <p className=\"pt-4 text-style-muted\">\n Add some values to get started\n </p>\n ) : (\n <SortableList listItems={valueListItems} sortItems={sortValues} />\n )}\n </div>\n <Button\n size=\"sm\"\n variant=\"secondary\"\n onClick={() => {\n appendValue({\n id: modelEnumValueEntityType.generateNewId(),\n name: '',\n friendlyName: '',\n });\n }}\n >\n Add Value\n </Button>\n </SectionListSectionContent>\n </SectionListSection>\n );\n}\n","import type React from 'react';\n\nimport { useBlockUnsavedChangesNavigate } from '@baseplate-dev/project-builder-lib/web';\nimport { FormActionBar, SectionList } from '@baseplate-dev/ui-components';\nimport { createFileRoute } from '@tanstack/react-router';\n\nimport { ErrorBoundary } from '#src/components/index.js';\n\nimport { useEnumForm } from '../-hooks/use-enum-form.js';\nimport { EnumGraphQLSection } from './-components/enum-graph-ql-section.js';\nimport { EnumValuesSection } from './-components/enum-values-section.js';\n\nexport const Route = createFileRoute('/data/enums/edit/$key/')({\n component: EnumEditPage,\n});\n\nfunction EnumEditPage(): React.JSX.Element {\n const { key } = Route.useParams();\n const { form, onSubmit, isSavingDefinition } = useEnumForm({\n omit: ['name', 'featureRef'],\n enumKey: key,\n });\n const { control, setValue } = form;\n\n useBlockUnsavedChangesNavigate({ control, reset: form.reset, onSubmit });\n\n return (\n <ErrorBoundary>\n <form\n onSubmit={onSubmit}\n className=\"mx-4 max-w-7xl min-w-[700px] flex-1 space-y-4 pb-4\"\n >\n <SectionList>\n <EnumGraphQLSection control={control} />\n <EnumValuesSection control={control} setValue={setValue} />\n </SectionList>\n <FormActionBar form={form} disabled={isSavingDefinition} />\n </form>\n </ErrorBoundary>\n );\n}\n"],"names":["SectionListSection","SectionListSectionContent","SectionListSectionHeader","SectionListSectionTitle","SwitchFieldController","importShared","EnumGraphQLSection","control","jsx","underscoreToTitleCase","str","word","modelEnumValueEntityType","Button","InputFieldController","Label","SectionListSectionDescription","EnumValuesSection","setValue","valueFields","removeValue","appendValue","sortValues","useFieldArray","values","useWatch","gridClassNames","valueListItems","field","jsxs","MdDeleteOutline","clsx","SortableList","useBlockUnsavedChangesNavigate","FormActionBar","SectionList","SplitComponent","key","Route","useParams","form","onSubmit","isSavingDefinition","useEnumForm","omit","enumKey","reset","ErrorBoundary"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{i as s}from"./_virtual___federation_fn_import-BllbkH3T.js";import{j as e}from"./index.esm-CGbP6mNa.js";import{H as r}from"./index-VsI1zxbc.js";import{N as o}from"./new-model-dialog-Ta_YghmL.js";const{useProjectDefinition:a}=await s("@baseplate-dev/project-builder-lib/web"),{Button:t,EmptyDisplay:n}=await s("@baseplate-dev/ui-components"),h=function(){const{definition:i}=a();return i.models.length===0?e.jsx(n,{icon:r,header:"No Models",subtitle:"Create a model to get started",actions:e.jsx(o,{children:e.jsx(t,{children:"New Model"})})}):e.jsxs("div",{className:"max-w-4xl space-y-4 p-4 text-style-prose",children:[e.jsx("h1",{children:"Models"}),e.jsx("p",{children:"Models are the building blocks of your app. They define the data structure of your app."}),e.jsxs("p",{children:["Choose a model to edit from the sidebar or"," ",e.jsx(o,{children:e.jsx(t,{variant:"link",size:"none",children:"create a new model"})}),"."]})]})};export{h as component};
2
+ //# sourceMappingURL=index-CJO9KLcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CJO9KLcs.js","sources":["../../src/routes/data/models/index.tsx?tsr-split=component"],"sourcesContent":["import type React from 'react';\n\nimport { useProjectDefinition } from '@baseplate-dev/project-builder-lib/web';\nimport { Button, EmptyDisplay } from '@baseplate-dev/ui-components';\nimport { createFileRoute } from '@tanstack/react-router';\nimport { HiDatabase } from 'react-icons/hi';\n\nimport { NewModelDialog } from './-components/new-model-dialog.js';\n\nexport const Route = createFileRoute('/data/models/')({\n component: ModelsIndexPage,\n});\n\nfunction ModelsIndexPage(): React.JSX.Element {\n const { definition } = useProjectDefinition();\n\n if (definition.models.length === 0) {\n return (\n <EmptyDisplay\n icon={HiDatabase}\n header=\"No Models\"\n subtitle=\"Create a model to get started\"\n actions={\n <NewModelDialog>\n <Button>New Model</Button>\n </NewModelDialog>\n }\n />\n );\n }\n\n return (\n <div className=\"max-w-4xl space-y-4 p-4 text-style-prose\">\n <h1>Models</h1>\n <p>\n Models are the building blocks of your app. They define the data\n structure of your app.\n </p>\n <p>\n Choose a model to edit from the sidebar or{' '}\n <NewModelDialog>\n <Button variant=\"link\" size=\"none\">\n create a new model\n </Button>\n </NewModelDialog>\n .\n </p>\n </div>\n );\n}\n"],"names":["useProjectDefinition","importShared","Button","EmptyDisplay","SplitComponent","definition","models","length","jsx","HiDatabase","NewModelDialog","jsxs"],"mappings":"yMAEA,KAAA,CAAA,qBAAAA,CAAA,EAAA,MAAAC,EAAA,wCAAA,EACA,CAAA,OAAAC,EAAA,aAAAC,CAAA,EAAA,MAAAF,EAAA,8BAAA,EAImEG,EAAA,UAMrB,CACtC,KAAA,CAAEC,WAAAA,GAAeL,EAAqB,EAExCK,OAAAA,EAAWC,OAAOC,SAAW,EAE5BC,EAAA,IAAAL,EAAA,CACC,KAAMM,EACN,OAAO,YACP,SAAS,gCACT,cACGC,EACC,CAAA,SAAAF,EAAAA,IAACN,EAAO,CAAA,SAAA,WAAA,CAAS,CACnB,CAAA,EAEF,EAKJS,EAAA,KAAC,MAAI,CAAA,UAAU,2CACb,SAAA,CAAAH,EAAAA,IAAC,MAAG,SAAM,QAAA,CAAA,EACVA,EAAAA,IAAC,KAAC,SAGF,yFAAA,CAAA,SACC,IAAC,CAAA,SAAA,CAAA,6CAC2C,IAC3CA,EAAAA,IAACE,GACC,SAACF,EAAA,IAAAN,EAAA,CAAO,QAAQ,OAAO,KAAK,OAAM,SAAA,oBAAA,CAElC,CACF,CAAA,EAAgB,GAAA,CAElB,CAAA,CAAA,EACF,CAEJ"}
@@ -0,0 +1,5 @@
1
+ const A0=(e,n)=>{if(typeof e=="number"){if(n===3)return{mode:"rgb",r:(e>>8&15|e>>4&240)/255,g:(e>>4&15|e&240)/255,b:(e&15|e<<4&240)/255};if(n===4)return{mode:"rgb",r:(e>>12&15|e>>8&240)/255,g:(e>>8&15|e>>4&240)/255,b:(e>>4&15|e&240)/255,alpha:(e&15|e<<4&240)/255};if(n===6)return{mode:"rgb",r:(e>>16&255)/255,g:(e>>8&255)/255,b:(e&255)/255};if(n===8)return{mode:"rgb",r:(e>>24&255)/255,g:(e>>16&255)/255,b:(e>>8&255)/255,alpha:(e&255)/255}}},kn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},_n=e=>A0(kn[e.toLowerCase()],6),zn=/^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i,$n=e=>{let n;return(n=e.match(zn))?A0(parseInt(n[1],16),n[1].length):void 0},R="([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)",U=`${R}%`,a0=`(?:${R}%|${R})`,wn=`(?:${R}(deg|grad|rad|turn)|${R})`,Y="\\s*,\\s*",Tn=new RegExp(`^rgba?\\(\\s*${R}${Y}${R}${Y}${R}\\s*(?:,\\s*${a0}\\s*)?\\)$`),Nn=new RegExp(`^rgba?\\(\\s*${U}${Y}${U}${Y}${U}\\s*(?:,\\s*${a0}\\s*)?\\)$`),Pn=e=>{let n={mode:"rgb"},t;if(t=e.match(Tn))t[1]!==void 0&&(n.r=t[1]/255),t[2]!==void 0&&(n.g=t[2]/255),t[3]!==void 0&&(n.b=t[3]/255);else if(t=e.match(Nn))t[1]!==void 0&&(n.r=t[1]/100),t[2]!==void 0&&(n.g=t[2]/100),t[3]!==void 0&&(n.b=t[3]/100);else return;return t[4]!==void 0?n.alpha=Math.max(0,Math.min(1,t[4]/100)):t[5]!==void 0&&(n.alpha=Math.max(0,Math.min(1,+t[5]))),n},Hn=(e,n)=>e===void 0?void 0:typeof e!="object"?Yn(e):e.mode!==void 0?e:n?{...e,mode:n}:void 0,D0=(e="rgb")=>n=>(n=Hn(n,e))!==void 0?n.mode===e?n:T[n.mode][e]?T[n.mode][e](n):e==="rgb"?T[n.mode].rgb(n):T.rgb[e](T[n.mode].rgb(n)):void 0,T={},Z0={},fe=[],F0={},Rn=e=>e,b=e=>(T[e.mode]={...T[e.mode],...e.toMode},Object.keys(e.fromMode||{}).forEach(n=>{T[n]||(T[n]={}),T[n][e.mode]=e.fromMode[n]}),e.ranges||(e.ranges={}),e.difference||(e.difference={}),e.channels.forEach(n=>{if(e.ranges[n]===void 0&&(e.ranges[n]=[0,1]),!e.interpolate[n])throw new Error(`Missing interpolator for: ${n}`);typeof e.interpolate[n]=="function"&&(e.interpolate[n]={use:e.interpolate[n]}),e.interpolate[n].fixup||(e.interpolate[n].fixup=Rn)}),Z0[e.mode]=e,(e.parse||[]).forEach(n=>{In(n,e.mode)}),D0(e.mode)),Xn=e=>Z0[e],In=(e,n)=>{if(typeof e=="string"){if(!n)throw new Error("'mode' required when 'parser' is a string");F0[e]=n}else typeof e=="function"&&fe.indexOf(e)<0&&fe.push(e)},Qe=/[^\x00-\x7F]|[a-zA-Z_]/,Cn=/[^\x00-\x7F]|[-\w]/,o={Function:"function",Ident:"ident",Number:"number",Percentage:"percentage",ParenClose:")",None:"none",Hue:"hue",Alpha:"alpha"};let s=0;function ie(e){let n=e[s],t=e[s+1];return n==="-"||n==="+"?/\d/.test(t)||t==="."&&/\d/.test(e[s+2]):n==="."?/\d/.test(t):/\d/.test(n)}function Ue(e){if(s>=e.length)return!1;let n=e[s];if(Qe.test(n))return!0;if(n==="-"){if(e.length-s<2)return!1;let t=e[s+1];return!!(t==="-"||Qe.test(t))}return!1}const qn={deg:1,rad:180/Math.PI,grad:9/10,turn:360};function Q(e){let n="";if((e[s]==="-"||e[s]==="+")&&(n+=e[s++]),n+=ae(e),e[s]==="."&&/\d/.test(e[s+1])&&(n+=e[s++]+ae(e)),(e[s]==="e"||e[s]==="E")&&((e[s+1]==="-"||e[s+1]==="+")&&/\d/.test(e[s+2])?n+=e[s++]+e[s++]+ae(e):/\d/.test(e[s+1])&&(n+=e[s++]+ae(e))),Ue(e)){let t=re(e);return t==="deg"||t==="rad"||t==="turn"||t==="grad"?{type:o.Hue,value:n*qn[t]}:void 0}return e[s]==="%"?(s++,{type:o.Percentage,value:+n}):{type:o.Number,value:+n}}function ae(e){let n="";for(;/\d/.test(e[s]);)n+=e[s++];return n}function re(e){let n="";for(;s<e.length&&Cn.test(e[s]);)n+=e[s++];return n}function Ln(e){let n=re(e);return e[s]==="("?(s++,{type:o.Function,value:n}):n==="none"?{type:o.None,value:void 0}:{type:o.Ident,value:n}}function Sn(e=""){let n=e.trim(),t=[],a;for(s=0;s<n.length;){if(a=n[s++],a===`
2
+ `||a===" "||a===" "){for(;s<n.length&&(n[s]===`
3
+ `||n[s]===" "||n[s]===" ");)s++;continue}if(a===",")return;if(a===")"){t.push({type:o.ParenClose});continue}if(a==="+"){if(s--,ie(n)){t.push(Q(n));continue}return}if(a==="-"){if(s--,ie(n)){t.push(Q(n));continue}if(Ue(n)){t.push({type:o.Ident,value:re(n)});continue}return}if(a==="."){if(s--,ie(n)){t.push(Q(n));continue}return}if(a==="/"){for(;s<n.length&&(n[s]===`
4
+ `||n[s]===" "||n[s]===" ");)s++;let i;if(ie(n)&&(i=Q(n),i.type!==o.Hue)){t.push({type:o.Alpha,value:i});continue}if(Ue(n)&&re(n)==="none"){t.push({type:o.Alpha,value:{type:o.None,value:void 0}});continue}return}if(/\d/.test(a)){s--,t.push(Q(n));continue}if(Qe.test(a)){s--,t.push(Ln(n));continue}return}return t}function jn(e){e._i=0;let n=e[e._i++];if(!n||n.type!==o.Function||n.value!=="color"||(n=e[e._i++],n.type!==o.Ident))return;const t=F0[n.value];if(!t)return;const a={mode:t},i=J0(e,!1);if(!i)return;const f=Xn(t).channels;for(let r=0,d,u;r<f.length;r++)d=i[r],u=f[r],d.type!==o.None&&(a[u]=d.type===o.Number?d.value:d.value/100,u==="alpha"&&(a[u]=Math.max(0,Math.min(1,a[u]))));return a}function J0(e,n){const t=[];let a;for(;e._i<e.length;){if(a=e[e._i++],a.type===o.None||a.type===o.Number||a.type===o.Alpha||a.type===o.Percentage||n&&a.type===o.Hue){t.push(a);continue}if(a.type===o.ParenClose){if(e._i<e.length)return;continue}return}if(!(t.length<3||t.length>4)){if(t.length===4){if(t[3].type!==o.Alpha)return;t[3]=t[3].value}return t.length===3&&t.push({type:o.None,value:void 0}),t.every(i=>i.type!==o.Alpha)?t:void 0}}function On(e,n){e._i=0;let t=e[e._i++];if(!t||t.type!==o.Function)return;let a=J0(e,n);if(a)return a.unshift(t.value),a}const Yn=e=>{if(typeof e!="string")return;const n=Sn(e),t=n?On(n,!0):void 0;let a,i=0,f=fe.length;for(;i<f;)if((a=fe[i++](e,t))!==void 0)return a;return n?jn(n):void 0};function En(e,n){if(!n||n[0]!=="rgb"&&n[0]!=="rgba")return;const t={mode:"rgb"},[,a,i,f,r]=n;if(!(a.type===o.Hue||i.type===o.Hue||f.type===o.Hue))return a.type!==o.None&&(t.r=a.type===o.Number?a.value/255:a.value/100),i.type!==o.None&&(t.g=i.type===o.Number?i.value/255:i.value/100),f.type!==o.None&&(t.b=f.type===o.Number?f.value/255:f.value/100),r.type!==o.None&&(t.alpha=Math.min(1,Math.max(0,r.type===o.Number?r.value:r.value/100))),t}const An=e=>e==="transparent"?{mode:"rgb",r:0,g:0,b:0,alpha:0}:void 0,Dn=(e,n,t)=>e+t*(n-e),Zn=e=>{let n=[];for(let t=0;t<e.length-1;t++){let a=e[t],i=e[t+1];a===void 0&&i===void 0?n.push(void 0):a!==void 0&&i!==void 0?n.push([a,i]):n.push(a!==void 0?[a,a]:[i,i])}return n},Fn=e=>n=>{let t=Zn(n);return a=>{let i=a*t.length,f=a>=1?t.length-1:Math.max(Math.floor(i),0),r=t[f];return r===void 0?void 0:e(r[0],r[1],i-f)}},l=Fn(Dn),y=e=>{let n=!1,t=e.map(a=>a!==void 0?(n=!0,a):1);return n?t:e},E={mode:"rgb",channels:["r","g","b","alpha"],parse:[En,$n,Pn,_n,An,"srgb"],serialize:"srgb",interpolate:{r:l,g:l,b:l,alpha:{use:l,fixup:y}},gamut:!0,white:{r:1,g:1,b:1},black:{r:0,g:0,b:0}},Ne=(e=0)=>Math.pow(Math.abs(e),563/256)*Math.sign(e),x0=e=>{let n=Ne(e.r),t=Ne(e.g),a=Ne(e.b),i={mode:"xyz65",x:.5766690429101305*n+.1855582379065463*t+.1882286462349947*a,y:.297344975250536*n+.6273635662554661*t+.0752914584939979*a,z:.0270313613864123*n+.0706888525358272*t+.9913375368376386*a};return e.alpha!==void 0&&(i.alpha=e.alpha),i},Pe=e=>Math.pow(Math.abs(e),256/563)*Math.sign(e),M0=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i={mode:"a98",r:Pe(e*2.0415879038107465-n*.5650069742788597-.3447313507783297*t),g:Pe(e*-.9692436362808798+n*1.8759675015077206+.0415550574071756*t),b:Pe(e*.0134442806320312-n*.1183623922310184+1.0151749943912058*t)};return a!==void 0&&(i.alpha=a),i},He=(e=0)=>{const n=Math.abs(e);return n<=.04045?e/12.92:(Math.sign(e)||1)*Math.pow((n+.055)/1.055,2.4)},A=({r:e,g:n,b:t,alpha:a})=>{let i={mode:"lrgb",r:He(e),g:He(n),b:He(t)};return a!==void 0&&(i.alpha=a),i},L=e=>{let{r:n,g:t,b:a,alpha:i}=A(e),f={mode:"xyz65",x:.4123907992659593*n+.357584339383878*t+.1804807884018343*a,y:.2126390058715102*n+.715168678767756*t+.0721923153607337*a,z:.0193308187155918*n+.119194779794626*t+.9505321522496607*a};return i!==void 0&&(f.alpha=i),f},Re=(e=0)=>{const n=Math.abs(e);return n>.0031308?(Math.sign(e)||1)*(1.055*Math.pow(n,1/2.4)-.055):e*12.92},D=({r:e,g:n,b:t,alpha:a},i="rgb")=>{let f={mode:i,r:Re(e),g:Re(n),b:Re(t)};return a!==void 0&&(f.alpha=a),f},S=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=D({r:e*3.2409699419045226-n*1.537383177570094-.4986107602930034*t,g:e*-.9692436362808796+n*1.8759675015077204+.0415550574071756*t,b:e*.0556300796969936-n*.2039769588889765+1.0569715142428784*t});return a!==void 0&&(i.alpha=a),i},Jn={...E,mode:"a98",parse:["a98-rgb"],serialize:"a98-rgb",fromMode:{rgb:e=>M0(L(e)),xyz65:M0},toMode:{rgb:e=>S(x0(e)),xyz65:x0}},z=e=>(e=e%360)<0?e+360:e,Bn=(e,n)=>e.map((t,a,i)=>{if(t===void 0)return t;let f=z(t);return a===0||e[a-1]===void 0?f:n(f-z(i[a-1]))}).reduce((t,a)=>!t.length||a===void 0||t[t.length-1]===void 0?(t.push(a),t):(t.push(a+t[t.length-1]),t),[]),N=e=>Bn(e,n=>Math.abs(n)<=180?n:n-360*Math.sign(n)),k=[-.14861,1.78277,-.29227,-.90649,1.97294,0],Gn=Math.PI/180,Wn=180/Math.PI;let y0=k[3]*k[4],v0=k[1]*k[4],k0=k[1]*k[2]-k[0]*k[3];const Kn=({r:e,g:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=(k0*t+e*y0-n*v0)/(k0+y0-v0),f=t-i,r=(k[4]*(n-i)-k[2]*f)/k[3],d={mode:"cubehelix",l:i,s:i===0||i===1?void 0:Math.sqrt(f*f+r*r)/(k[4]*i*(1-i))};return d.s&&(d.h=Math.atan2(r,f)*Wn-120),a!==void 0&&(d.alpha=a),d},Qn=({h:e,s:n,l:t,alpha:a})=>{let i={mode:"rgb"};e=(e===void 0?0:e+120)*Gn,t===void 0&&(t=0);let f=n===void 0?0:n*t*(1-t),r=Math.cos(e),d=Math.sin(e);return i.r=t+f*(k[0]*r+k[1]*d),i.g=t+f*(k[2]*r+k[3]*d),i.b=t+f*(k[4]*r+k[5]*d),a!==void 0&&(i.alpha=a),i},se=(e,n)=>{if(e.h===void 0||n.h===void 0||!e.s||!n.s)return 0;let t=z(e.h),a=z(n.h),i=Math.sin((a-t+360)/2*Math.PI/180);return 2*Math.sqrt(e.s*n.s)*i},Un=(e,n)=>{if(e.h===void 0||n.h===void 0)return 0;let t=z(e.h),a=z(n.h);return Math.abs(a-t)>180?t-(a-360*Math.sign(a-t)):a-t},he=(e,n)=>{if(e.h===void 0||n.h===void 0||!e.c||!n.c)return 0;let t=z(e.h),a=z(n.h),i=Math.sin((a-t+360)/2*Math.PI/180);return 2*Math.sqrt(e.c*n.c)*i},P=e=>{let n=e.reduce((a,i)=>{if(i!==void 0){let f=i*Math.PI/180;a.sin+=Math.sin(f),a.cos+=Math.cos(f)}return a},{sin:0,cos:0}),t=Math.atan2(n.sin,n.cos)*180/Math.PI;return t<0?360+t:t},Vn={mode:"cubehelix",channels:["h","s","l","alpha"],parse:["--cubehelix"],serialize:"--cubehelix",ranges:{h:[0,360],s:[0,4.614],l:[0,1]},fromMode:{rgb:Kn},toMode:{rgb:Qn},interpolate:{h:{use:l,fixup:N},s:l,l,alpha:{use:l,fixup:y}},difference:{h:se},average:{h:P}},X=({l:e,a:n,b:t,alpha:a},i="lch")=>{n===void 0&&(n=0),t===void 0&&(t=0);let f=Math.sqrt(n*n+t*t),r={mode:i,l:e,c:f};return f&&(r.h=z(Math.atan2(t,n)*180/Math.PI)),a!==void 0&&(r.alpha=a),r},I=({l:e,c:n,h:t,alpha:a},i="lab")=>{t===void 0&&(t=0);let f={mode:i,l:e,a:n?n*Math.cos(t/180*Math.PI):0,b:n?n*Math.sin(t/180*Math.PI):0};return a!==void 0&&(f.alpha=a),f},B0=Math.pow(29,3)/Math.pow(3,3),G0=Math.pow(6,3)/Math.pow(29,3),x={X:.3457/.3585,Y:1,Z:(1-.3457-.3585)/.3585},O={X:.3127/.329,Y:1,Z:(1-.3127-.329)/.329};let Xe=e=>Math.pow(e,3)>G0?Math.pow(e,3):(116*e-16)/B0;const W0=({l:e,a:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=(e+16)/116,f=n/500+i,r=i-t/200,d={mode:"xyz65",x:Xe(f)*O.X,y:Xe(i)*O.Y,z:Xe(r)*O.Z};return a!==void 0&&(d.alpha=a),d},ce=e=>S(W0(e)),Ie=e=>e>G0?Math.cbrt(e):(B0*e+16)/116,K0=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Ie(e/O.X),f=Ie(n/O.Y),r=Ie(t/O.Z),d={mode:"lab65",l:116*f-16,a:500*(i-f),b:200*(f-r)};return a!==void 0&&(d.alpha=a),d},be=e=>{let n=K0(L(e));return e.r===e.b&&e.b===e.g&&(n.a=n.b=0),n},de=1,Q0=1,V=26/180*Math.PI,oe=Math.cos(V),le=Math.sin(V),U0=100/Math.log(139/100),Ve=({l:e,c:n,h:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i={mode:"lab65",l:(Math.exp(e*de/U0)-1)/.0039},f=(Math.exp(.0435*n*Q0*de)-1)/.075,r=f*Math.cos(t/180*Math.PI-V),d=f*Math.sin(t/180*Math.PI-V);return i.a=r*oe-d/.83*le,i.b=r*le+d/.83*oe,a!==void 0&&(i.alpha=a),i},e0=({l:e,a:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=n*oe+t*le,f=.83*(t*oe-n*le),r=Math.sqrt(i*i+f*f),d={mode:"dlch",l:U0/de*Math.log(1+.0039*e),c:Math.log(1+.075*r)/(.0435*Q0*de)};return d.c&&(d.h=z((Math.atan2(f,i)+V)/Math.PI*180)),a!==void 0&&(d.alpha=a),d},_0=e=>Ve(X(e,"dlch")),z0=e=>I(e0(e),"dlab"),et={mode:"dlab",parse:["--din99o-lab"],serialize:"--din99o-lab",toMode:{lab65:_0,rgb:e=>ce(_0(e))},fromMode:{lab65:z0,rgb:e=>z0(be(e))},channels:["l","a","b","alpha"],ranges:{l:[0,100],a:[-40.09,45.501],b:[-40.469,44.344]},interpolate:{l,a:l,b:l,alpha:{use:l,fixup:y}}},nt={mode:"dlch",parse:["--din99o-lch"],serialize:"--din99o-lch",toMode:{lab65:Ve,dlab:e=>I(e,"dlab"),rgb:e=>ce(Ve(e))},fromMode:{lab65:e0,dlab:e=>X(e,"dlch"),rgb:e=>e0(be(e))},channels:["l","c","h","alpha"],ranges:{l:[0,100],c:[0,51.484],h:[0,360]},interpolate:{l,c:l,h:{use:l,fixup:N},alpha:{use:l,fixup:y}},difference:{h:he},average:{h:P}};function tt({h:e,s:n,i:t,alpha:a}){e=z(e!==void 0?e:0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.abs(e/60%2-1),f;switch(Math.floor(e/60)){case 0:f={r:t*(1+n*(3/(2-i)-1)),g:t*(1+n*(3*(1-i)/(2-i)-1)),b:t*(1-n)};break;case 1:f={r:t*(1+n*(3*(1-i)/(2-i)-1)),g:t*(1+n*(3/(2-i)-1)),b:t*(1-n)};break;case 2:f={r:t*(1-n),g:t*(1+n*(3/(2-i)-1)),b:t*(1+n*(3*(1-i)/(2-i)-1))};break;case 3:f={r:t*(1-n),g:t*(1+n*(3*(1-i)/(2-i)-1)),b:t*(1+n*(3/(2-i)-1))};break;case 4:f={r:t*(1+n*(3*(1-i)/(2-i)-1)),g:t*(1-n),b:t*(1+n*(3/(2-i)-1))};break;case 5:f={r:t*(1+n*(3/(2-i)-1)),g:t*(1-n),b:t*(1+n*(3*(1-i)/(2-i)-1))};break;default:f={r:t*(1-n),g:t*(1-n),b:t*(1-n)}}return f.mode="rgb",a!==void 0&&(f.alpha=a),f}function it({r:e,g:n,b:t,alpha:a}){e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.max(e,n,t),f=Math.min(e,n,t),r={mode:"hsi",s:e+n+t===0?0:1-3*f/(e+n+t),i:(e+n+t)/3};return i-f!==0&&(r.h=(i===e?(n-t)/(i-f)+(n<t)*6:i===n?(t-e)/(i-f)+2:(e-n)/(i-f)+4)*60),a!==void 0&&(r.alpha=a),r}const at={mode:"hsi",toMode:{rgb:tt},parse:["--hsi"],serialize:"--hsi",fromMode:{rgb:it},channels:["h","s","i","alpha"],ranges:{h:[0,360]},gamut:"rgb",interpolate:{h:{use:l,fixup:N},s:l,i:l,alpha:{use:l,fixup:y}},difference:{h:se},average:{h:P}};function ft({h:e,s:n,l:t,alpha:a}){e=z(e!==void 0?e:0),n===void 0&&(n=0),t===void 0&&(t=0);let i=t+n*(t<.5?t:1-t),f=i-(i-t)*2*Math.abs(e/60%2-1),r;switch(Math.floor(e/60)){case 0:r={r:i,g:f,b:2*t-i};break;case 1:r={r:f,g:i,b:2*t-i};break;case 2:r={r:2*t-i,g:i,b:f};break;case 3:r={r:2*t-i,g:f,b:i};break;case 4:r={r:f,g:2*t-i,b:i};break;case 5:r={r:i,g:2*t-i,b:f};break;default:r={r:2*t-i,g:2*t-i,b:2*t-i}}return r.mode="rgb",a!==void 0&&(r.alpha=a),r}function rt({r:e,g:n,b:t,alpha:a}){e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.max(e,n,t),f=Math.min(e,n,t),r={mode:"hsl",s:i===f?0:(i-f)/(1-Math.abs(i+f-1)),l:.5*(i+f)};return i-f!==0&&(r.h=(i===e?(n-t)/(i-f)+(n<t)*6:i===n?(t-e)/(i-f)+2:(e-n)/(i-f)+4)*60),a!==void 0&&(r.alpha=a),r}const dt=(e,n)=>{switch(n){case"deg":return+e;case"rad":return e/Math.PI*180;case"grad":return e/10*9;case"turn":return e*360}},ot=new RegExp(`^hsla?\\(\\s*${wn}${Y}${U}${Y}${U}\\s*(?:,\\s*${a0}\\s*)?\\)$`),lt=e=>{let n=e.match(ot);if(!n)return;let t={mode:"hsl"};return n[3]!==void 0?t.h=+n[3]:n[1]!==void 0&&n[2]!==void 0&&(t.h=dt(n[1],n[2])),n[4]!==void 0&&(t.s=Math.min(Math.max(0,n[4]/100),1)),n[5]!==void 0&&(t.l=Math.min(Math.max(0,n[5]/100),1)),n[6]!==void 0?t.alpha=Math.max(0,Math.min(1,n[6]/100)):n[7]!==void 0&&(t.alpha=Math.max(0,Math.min(1,+n[7]))),t};function ut(e,n){if(!n||n[0]!=="hsl"&&n[0]!=="hsla")return;const t={mode:"hsl"},[,a,i,f,r]=n;if(a.type!==o.None){if(a.type===o.Percentage)return;t.h=a.value}if(i.type!==o.None){if(i.type===o.Hue)return;t.s=i.value/100}if(f.type!==o.None){if(f.type===o.Hue)return;t.l=f.value/100}return r.type!==o.None&&(t.alpha=Math.min(1,Math.max(0,r.type===o.Number?r.value:r.value/100))),t}const V0={mode:"hsl",toMode:{rgb:ft},fromMode:{rgb:rt},channels:["h","s","l","alpha"],ranges:{h:[0,360]},gamut:"rgb",parse:[ut,lt],serialize:e=>`hsl(${e.h!==void 0?e.h:"none"} ${e.s!==void 0?e.s*100+"%":"none"} ${e.l!==void 0?e.l*100+"%":"none"}${e.alpha<1?` / ${e.alpha}`:""})`,interpolate:{h:{use:l,fixup:N},s:l,l,alpha:{use:l,fixup:y}},difference:{h:se},average:{h:P}};function en({h:e,s:n,v:t,alpha:a}){e=z(e!==void 0?e:0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.abs(e/60%2-1),f;switch(Math.floor(e/60)){case 0:f={r:t,g:t*(1-n*i),b:t*(1-n)};break;case 1:f={r:t*(1-n*i),g:t,b:t*(1-n)};break;case 2:f={r:t*(1-n),g:t,b:t*(1-n*i)};break;case 3:f={r:t*(1-n),g:t*(1-n*i),b:t};break;case 4:f={r:t*(1-n*i),g:t*(1-n),b:t};break;case 5:f={r:t,g:t*(1-n),b:t*(1-n*i)};break;default:f={r:t*(1-n),g:t*(1-n),b:t*(1-n)}}return f.mode="rgb",a!==void 0&&(f.alpha=a),f}function nn({r:e,g:n,b:t,alpha:a}){e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.max(e,n,t),f=Math.min(e,n,t),r={mode:"hsv",s:i===0?0:1-f/i,v:i};return i-f!==0&&(r.h=(i===e?(n-t)/(i-f)+(n<t)*6:i===n?(t-e)/(i-f)+2:(e-n)/(i-f)+4)*60),a!==void 0&&(r.alpha=a),r}const tn={mode:"hsv",toMode:{rgb:en},parse:["--hsv"],serialize:"--hsv",fromMode:{rgb:nn},channels:["h","s","v","alpha"],ranges:{h:[0,360]},gamut:"rgb",interpolate:{h:{use:l,fixup:N},s:l,v:l,alpha:{use:l,fixup:y}},difference:{h:se},average:{h:P}};function st({h:e,w:n,b:t,alpha:a}){if(n===void 0&&(n=0),t===void 0&&(t=0),n+t>1){let i=n+t;n/=i,t/=i}return en({h:e,s:t===1?1:1-n/(1-t),v:1-t,alpha:a})}function ht(e){let n=nn(e);if(n===void 0)return;let t=n.s!==void 0?n.s:0,a=n.v!==void 0?n.v:0,i={mode:"hwb",w:(1-t)*a,b:1-a};return n.h!==void 0&&(i.h=n.h),n.alpha!==void 0&&(i.alpha=n.alpha),i}function ct(e,n){if(!n||n[0]!=="hwb")return;const t={mode:"hwb"},[,a,i,f,r]=n;if(a.type!==o.None){if(a.type===o.Percentage)return;t.h=a.value}if(i.type!==o.None){if(i.type===o.Hue)return;t.w=i.value/100}if(f.type!==o.None){if(f.type===o.Hue)return;t.b=f.value/100}return r.type!==o.None&&(t.alpha=Math.min(1,Math.max(0,r.type===o.Number?r.value:r.value/100))),t}const bt={mode:"hwb",toMode:{rgb:st},fromMode:{rgb:ht},channels:["h","w","b","alpha"],ranges:{h:[0,360]},gamut:"rgb",parse:[ct],serialize:e=>`hwb(${e.h!==void 0?e.h:"none"} ${e.w!==void 0?e.w*100+"%":"none"} ${e.b!==void 0?e.b*100+"%":"none"}${e.alpha<1?` / ${e.alpha}`:""})`,interpolate:{h:{use:l,fixup:N},w:l,b:l,alpha:{use:l,fixup:y}},difference:{h:Un},average:{h:P}},an=203,pe=.1593017578125,fn=78.84375,ge=.8359375,me=18.8515625,xe=18.6875;function Ce(e){if(e<0)return 0;const n=Math.pow(e,1/fn);return 1e4*Math.pow(Math.max(0,n-ge)/(me-xe*n),1/pe)}function qe(e){if(e<0)return 0;const n=Math.pow(e/1e4,pe);return Math.pow((ge+me*n)/(1+xe*n),fn)}const Le=e=>Math.max(e/an,0),$0=({i:e,t:n,p:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);const i=Ce(e+.008609037037932761*n+.11102962500302593*t),f=Ce(e-.00860903703793275*n-.11102962500302599*t),r=Ce(e+.5600313357106791*n-.32062717498731885*t),d={mode:"xyz65",x:Le(2.070152218389422*i-1.3263473389671556*f+.2066510476294051*r),y:Le(.3647385209748074*i+.680566024947227*f-.0453045459220346*r),z:Le(-.049747207535812*i-.0492609666966138*f+1.1880659249923042*r)};return a!==void 0&&(d.alpha=a),d},Se=(e=0)=>Math.max(e*an,0),w0=({x:e,y:n,z:t,alpha:a})=>{const i=Se(e),f=Se(n),r=Se(t),d=qe(.3592832590121217*i+.6976051147779502*f-.0358915932320289*r),u=qe(-.1920808463704995*i+1.1004767970374323*f+.0753748658519118*r),h=qe(.0070797844607477*i+.0748396662186366*f+.8433265453898765*r),c=.5*d+.5*u,p=1.61376953125*d-3.323486328125*u+1.709716796875*h,g=4.378173828125*d-4.24560546875*u-.132568359375*h,m={mode:"itp",i:c,t:p,p:g};return a!==void 0&&(m.alpha=a),m},pt={mode:"itp",channels:["i","t","p","alpha"],parse:["--ictcp"],serialize:"--ictcp",toMode:{xyz65:$0,rgb:e=>S($0(e))},fromMode:{xyz65:w0,rgb:e=>w0(L(e))},ranges:{i:[0,.581],t:[-.369,.272],p:[-.164,.331]},interpolate:{i:l,t:l,p:l,alpha:{use:l,fixup:y}}},gt=134.03437499999998,mt=16295499532821565e-27,je=e=>{if(e<0)return 0;let n=Math.pow(e/1e4,pe);return Math.pow((ge+me*n)/(1+xe*n),gt)},Oe=(e=0)=>Math.max(e*203,0),rn=({x:e,y:n,z:t,alpha:a})=>{e=Oe(e),n=Oe(n),t=Oe(t);let i=1.15*e-.15*t,f=.66*n+.34*e,r=je(.41478972*i+.579999*f+.014648*t),d=je(-.20151*i+1.120649*f+.0531008*t),u=je(-.0166008*i+.2648*f+.6684799*t),h=(r+d)/2,c={mode:"jab",j:.44*h/(1-.56*h)-mt,a:3.524*r-4.066708*d+.542708*u,b:.199076*r+1.096799*d-1.295875*u};return a!==void 0&&(c.alpha=a),c},xt=134.03437499999998,T0=16295499532821565e-27,Ye=e=>{if(e<0)return 0;let n=Math.pow(e,1/xt);return 1e4*Math.pow((ge-n)/(xe*n-me),1/pe)},Ee=e=>e/203,dn=({j:e,a:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=(e+T0)/(.44+.56*(e+T0)),f=Ye(i+.13860504*n+.058047316*t),r=Ye(i-.13860504*n-.058047316*t),d=Ye(i-.096019242*n-.8118919*t),u={mode:"xyz65",x:Ee(1.661373024652174*f-.914523081304348*r+.23136208173913045*d),y:Ee(-.3250758611844533*f+1.571847026732543*r-.21825383453227928*d),z:Ee(-.090982811*f-.31272829*r+1.5227666*d)};return a!==void 0&&(u.alpha=a),u},on=e=>{let n=rn(L(e));return e.r===e.b&&e.b===e.g&&(n.a=n.b=0),n},ln=e=>S(dn(e)),Mt={mode:"jab",channels:["j","a","b","alpha"],parse:["--jzazbz"],serialize:"--jzazbz",fromMode:{rgb:on,xyz65:rn},toMode:{rgb:ln,xyz65:dn},ranges:{j:[0,.222],a:[-.109,.129],b:[-.185,.134]},interpolate:{j:l,a:l,b:l,alpha:{use:l,fixup:y}}},N0=({j:e,a:n,b:t,alpha:a})=>{n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.sqrt(n*n+t*t),f={mode:"jch",j:e,c:i};return i&&(f.h=z(Math.atan2(t,n)*180/Math.PI)),a!==void 0&&(f.alpha=a),f},P0=({j:e,c:n,h:t,alpha:a})=>{t===void 0&&(t=0);let i={mode:"jab",j:e,a:n?n*Math.cos(t/180*Math.PI):0,b:n?n*Math.sin(t/180*Math.PI):0};return a!==void 0&&(i.alpha=a),i},yt={mode:"jch",parse:["--jzczhz"],serialize:"--jzczhz",toMode:{jab:P0,rgb:e=>ln(P0(e))},fromMode:{rgb:e=>N0(on(e)),jab:N0},channels:["j","c","h","alpha"],ranges:{j:[0,.221],c:[0,.19],h:[0,360]},interpolate:{h:{use:l,fixup:N},c:l,j:l,alpha:{use:l,fixup:y}},difference:{h:he},average:{h:P}},Me=Math.pow(29,3)/Math.pow(3,3),f0=Math.pow(6,3)/Math.pow(29,3);let Ae=e=>Math.pow(e,3)>f0?Math.pow(e,3):(116*e-16)/Me;const r0=({l:e,a:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=(e+16)/116,f=n/500+i,r=i-t/200,d={mode:"xyz50",x:Ae(f)*x.X,y:Ae(i)*x.Y,z:Ae(r)*x.Z};return a!==void 0&&(d.alpha=a),d},ee=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=D({r:e*3.1341359569958707-n*1.6173863321612538-.4906619460083532*t,g:e*-.978795502912089+n*1.916254567259524+.03344273116131949*t,b:e*.07195537988411677-n*.2289768264158322+1.405386058324125*t});return a!==void 0&&(i.alpha=a),i},un=e=>ee(r0(e)),ne=e=>{let{r:n,g:t,b:a,alpha:i}=A(e),f={mode:"xyz50",x:.436065742824811*n+.3851514688337912*t+.14307845442264197*a,y:.22249319175623702*n+.7168870538238823*t+.06061979053616537*a,z:.013923904500943465*n+.09708128566574634*t+.7140993584005155*a};return i!==void 0&&(f.alpha=i),f},De=e=>e>f0?Math.cbrt(e):(Me*e+16)/116,d0=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=De(e/x.X),f=De(n/x.Y),r=De(t/x.Z),d={mode:"lab",l:116*f-16,a:500*(i-f),b:200*(f-r)};return a!==void 0&&(d.alpha=a),d},sn=e=>{let n=d0(ne(e));return e.r===e.b&&e.b===e.g&&(n.a=n.b=0),n};function vt(e,n){if(!n||n[0]!=="lab")return;const t={mode:"lab"},[,a,i,f,r]=n;if(!(a.type===o.Hue||i.type===o.Hue||f.type===o.Hue))return a.type!==o.None&&(t.l=Math.min(Math.max(0,a.value),100)),i.type!==o.None&&(t.a=i.type===o.Number?i.value:i.value*125/100),f.type!==o.None&&(t.b=f.type===o.Number?f.value:f.value*125/100),r.type!==o.None&&(t.alpha=Math.min(1,Math.max(0,r.type===o.Number?r.value:r.value/100))),t}const o0={mode:"lab",toMode:{xyz50:r0,rgb:un},fromMode:{xyz50:d0,rgb:sn},channels:["l","a","b","alpha"],ranges:{l:[0,100],a:[-100,100],b:[-100,100]},parse:[vt],serialize:e=>`lab(${e.l!==void 0?e.l:"none"} ${e.a!==void 0?e.a:"none"} ${e.b!==void 0?e.b:"none"}${e.alpha<1?` / ${e.alpha}`:""})`,interpolate:{l,a:l,b:l,alpha:{use:l,fixup:y}}},kt={...o0,mode:"lab65",parse:["--lab-d65"],serialize:"--lab-d65",toMode:{xyz65:W0,rgb:ce},fromMode:{xyz65:K0,rgb:be},ranges:{l:[0,100],a:[-86.182,98.234],b:[-107.86,94.477]}};function _t(e,n){if(!n||n[0]!=="lch")return;const t={mode:"lch"},[,a,i,f,r]=n;if(a.type!==o.None){if(a.type===o.Hue)return;t.l=Math.min(Math.max(0,a.value),100)}if(i.type!==o.None&&(t.c=Math.max(0,i.type===o.Number?i.value:i.value*150/100)),f.type!==o.None){if(f.type===o.Percentage)return;t.h=f.value}return r.type!==o.None&&(t.alpha=Math.min(1,Math.max(0,r.type===o.Number?r.value:r.value/100))),t}const l0={mode:"lch",toMode:{lab:I,rgb:e=>un(I(e))},fromMode:{rgb:e=>X(sn(e)),lab:X},channels:["l","c","h","alpha"],ranges:{l:[0,100],c:[0,150],h:[0,360]},parse:[_t],serialize:e=>`lch(${e.l!==void 0?e.l:"none"} ${e.c!==void 0?e.c:"none"} ${e.h!==void 0?e.h:"none"}${e.alpha<1?` / ${e.alpha}`:""})`,interpolate:{h:{use:l,fixup:N},c:l,l,alpha:{use:l,fixup:y}},difference:{h:he},average:{h:P}},zt={...l0,mode:"lch65",parse:["--lch-d65"],serialize:"--lch-d65",toMode:{lab65:e=>I(e,"lab65"),rgb:e=>ce(I(e,"lab65"))},fromMode:{rgb:e=>X(be(e),"lch65"),lab65:e=>X(e,"lch65")},ranges:{l:[0,100],c:[0,133.807],h:[0,360]}},hn=({l:e,u:n,v:t,alpha:a})=>{n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.sqrt(n*n+t*t),f={mode:"lchuv",l:e,c:i};return i&&(f.h=z(Math.atan2(t,n)*180/Math.PI)),a!==void 0&&(f.alpha=a),f},cn=({l:e,c:n,h:t,alpha:a})=>{t===void 0&&(t=0);let i={mode:"luv",l:e,u:n?n*Math.cos(t/180*Math.PI):0,v:n?n*Math.sin(t/180*Math.PI):0};return a!==void 0&&(i.alpha=a),i},bn=(e,n,t)=>4*e/(e+15*n+3*t),pn=(e,n,t)=>9*n/(e+15*n+3*t),$t=bn(x.X,x.Y,x.Z),wt=pn(x.X,x.Y,x.Z),Tt=e=>e<=f0?Me*e:116*Math.cbrt(e)-16,n0=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Tt(n/x.Y),f=bn(e,n,t),r=pn(e,n,t);!isFinite(f)||!isFinite(r)?i=f=r=0:(f=13*i*(f-$t),r=13*i*(r-wt));let d={mode:"luv",l:i,u:f,v:r};return a!==void 0&&(d.alpha=a),d},Nt=(e,n,t)=>4*e/(e+15*n+3*t),Pt=(e,n,t)=>9*n/(e+15*n+3*t),Ht=Nt(x.X,x.Y,x.Z),Rt=Pt(x.X,x.Y,x.Z),t0=({l:e,u:n,v:t,alpha:a})=>{if(e===void 0&&(e=0),e===0)return{mode:"xyz50",x:0,y:0,z:0};n===void 0&&(n=0),t===void 0&&(t=0);let i=n/(13*e)+Ht,f=t/(13*e)+Rt,r=x.Y*(e<=8?e/Me:Math.pow((e+16)/116,3)),d=r*(9*i)/(4*f),u=r*(12-3*i-20*f)/(4*f),h={mode:"xyz50",x:d,y:r,z:u};return a!==void 0&&(h.alpha=a),h},Xt=e=>hn(n0(ne(e))),It=e=>ee(t0(cn(e))),Ct={mode:"lchuv",toMode:{luv:cn,rgb:It},fromMode:{rgb:Xt,luv:hn},channels:["l","c","h","alpha"],parse:["--lchuv"],serialize:"--lchuv",ranges:{l:[0,100],c:[0,176.956],h:[0,360]},interpolate:{h:{use:l,fixup:N},c:l,l,alpha:{use:l,fixup:y}},difference:{h:he},average:{h:P}},qt={...E,mode:"lrgb",toMode:{rgb:D},fromMode:{rgb:A},parse:["srgb-linear"],serialize:"srgb-linear"},Lt={mode:"luv",toMode:{xyz50:t0,rgb:e=>ee(t0(e))},fromMode:{xyz50:n0,rgb:e=>n0(ne(e))},channels:["l","u","v","alpha"],parse:["--luv"],serialize:"--luv",ranges:{l:[0,100],u:[-84.936,175.042],v:[-125.882,87.243]},interpolate:{l,u:l,v:l,alpha:{use:l,fixup:y}}},gn=({r:e,g:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.cbrt(.41222147079999993*e+.5363325363*n+.0514459929*t),f=Math.cbrt(.2119034981999999*e+.6806995450999999*n+.1073969566*t),r=Math.cbrt(.08830246189999998*e+.2817188376*n+.6299787005000002*t),d={mode:"oklab",l:.2104542553*i+.793617785*f-.0040720468*r,a:1.9779984951*i-2.428592205*f+.4505937099*r,b:.0259040371*i+.7827717662*f-.808675766*r};return a!==void 0&&(d.alpha=a),d},ye=e=>{let n=gn(A(e));return e.r===e.b&&e.b===e.g&&(n.a=n.b=0),n},te=({l:e,a:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=Math.pow(e*.9999999984505198+.39633779217376786*n+.2158037580607588*t,3),f=Math.pow(e*1.0000000088817609-.10556134232365635*n-.06385417477170591*t,3),r=Math.pow(e*1.0000000546724108-.08948418209496575*n-1.2914855378640917*t,3),d={mode:"lrgb",r:4.076741661347994*i-3.307711590408193*f+.230969928729428*r,g:-1.2684380040921763*i+2.6097574006633715*f-.3413193963102197*r,b:-.004196086541837188*i-.7034186144594493*f+1.7076147009309444*r};return a!==void 0&&(d.alpha=a),d},ve=e=>D(te(e));function i0(e){const a=1.170873786407767;return .5*(a*e-.206+Math.sqrt((a*e-.206)*(a*e-.206)+4*.03*a*e))}function ue(e){return(e*e+.206*e)/(1.170873786407767*(e+.03))}function St(e,n){let t,a,i,f,r,d,u,h;-1.88170328*e-.80936493*n>1?(t=1.19086277,a=1.76576728,i=.59662641,f=.75515197,r=.56771245,d=4.0767416621,u=-3.3077115913,h=.2309699292):1.81444104*e-1.19445276*n>1?(t=.73956515,a=-.45954404,i=.08285427,f=.1254107,r=.14503204,d=-1.2684380046,u=2.6097574011,h=-.3413193965):(t=1.35733652,a=-.00915799,i=-1.1513021,f=-.50559606,r=.00692167,d=-.0041960863,u=-.7034186147,h=1.707614701);let c=t+a*e+i*n+f*e*e+r*e*n,p=.3963377774*e+.2158037573*n,g=-.1055613458*e-.0638541728*n,m=-.0894841775*e-1.291485548*n;{let M=1+c*p,_=1+c*g,v=1+c*m,w=M*M*M,$=_*_*_,H=v*v*v,Z=3*p*M*M,F=3*g*_*_,J=3*m*v*v,B=6*p*p*M,G=6*g*g*_,W=6*m*m*v,j=d*w+u*$+h*H,C=d*Z+u*F+h*J,K=d*B+u*G+h*W;c=c-j*C/(C*C-.5*j*K)}return c}function u0(e,n){let t=St(e,n),a=te({l:1,a:t*e,b:t*n}),i=Math.cbrt(1/Math.max(a.r,a.g,a.b)),f=i*t;return[i,f]}function jt(e,n,t,a,i,f=null){f||(f=u0(e,n));let r;if((t-i)*f[1]-(f[0]-i)*a<=0)r=f[1]*i/(a*f[0]+f[1]*(i-t));else{r=f[1]*(i-1)/(a*(f[0]-1)+f[1]*(i-t));{let d=t-i,u=a,h=.3963377774*e+.2158037573*n,c=-.1055613458*e-.0638541728*n,p=-.0894841775*e-1.291485548*n,g=d+u*h,m=d+u*c,M=d+u*p;{let _=i*(1-r)+r*t,v=r*a,w=_+v*h,$=_+v*c,H=_+v*p,Z=w*w*w,F=$*$*$,J=H*H*H,B=3*g*w*w,G=3*m*$*$,W=3*M*H*H,j=6*g*g*w,C=6*m*m*$,K=6*M*M*H,h0=4.0767416621*Z-3.3077115913*F+.2309699292*J-1,ke=4.0767416621*B-3.3077115913*G+.2309699292*W,Mn=4.0767416621*j-3.3077115913*C+.2309699292*K,c0=ke/(ke*ke-.5*h0*Mn),_e=-h0*c0,b0=-1.2684380046*Z+2.6097574011*F-.3413193965*J-1,ze=-1.2684380046*B+2.6097574011*G-.3413193965*W,yn=-1.2684380046*j+2.6097574011*C-.3413193965*K,p0=ze/(ze*ze-.5*b0*yn),$e=-b0*p0,g0=-.0041960863*Z-.7034186147*F+1.707614701*J-1,we=-.0041960863*B-.7034186147*G+1.707614701*W,vn=-.0041960863*j-.7034186147*C+1.707614701*K,m0=we/(we*we-.5*g0*vn),Te=-g0*m0;_e=c0>=0?_e:1e6,$e=p0>=0?$e:1e6,Te=m0>=0?Te:1e6,r+=Math.min(_e,Math.min($e,Te))}}}return r}function s0(e,n,t=null){t||(t=u0(e,n));let a=t[0],i=t[1];return[i/a,i/(1-a)]}function mn(e,n,t){let a=u0(n,t),i=jt(n,t,e,1,e,a),f=s0(n,t,a),r=.11516993+1/(7.4477897+4.1590124*t+n*(-2.19557347+1.75198401*t+n*(-2.13704948-10.02301043*t+n*(-4.24894561+5.38770819*t+4.69891013*n)))),d=.11239642+1/(1.6132032-.68124379*t+n*(.40370612+.90148123*t+n*(-.27087943+.6122399*t+n*(.00299215-.45399568*t-.14661872*n)))),u=i/Math.min(e*f[0],(1-e)*f[1]),h=e*r,c=(1-e)*d,p=.9*u*Math.sqrt(Math.sqrt(1/(1/(h*h*h*h)+1/(c*c*c*c))));return h=e*.4,c=(1-e)*.8,[Math.sqrt(1/(1/(h*h)+1/(c*c))),p,i]}function H0(e){const n=e.l!==void 0?e.l:0,t=e.a!==void 0?e.a:0,a=e.b!==void 0?e.b:0,i={mode:"okhsl",l:i0(n)};e.alpha!==void 0&&(i.alpha=e.alpha);let f=Math.sqrt(t*t+a*a);if(!f)return i.s=0,i;let[r,d,u]=mn(n,t/f,a/f),h;if(f<d){let c=0,p=.8*r,g=1-p/d;h=(f-c)/(p+g*(f-c))*.8}else{let c=d,p=.2*d*d*1.25*1.25/r,g=1-p/(u-d);h=.8+.2*((f-c)/(p+g*(f-c)))}return h&&(i.s=h,i.h=z(Math.atan2(a,t)*180/Math.PI)),i}function R0(e){let n=e.h!==void 0?e.h:0,t=e.s!==void 0?e.s:0,a=e.l!==void 0?e.l:0;const i={mode:"oklab",l:ue(a)};if(e.alpha!==void 0&&(i.alpha=e.alpha),!t||a===1)return i.a=i.b=0,i;let f=Math.cos(n/180*Math.PI),r=Math.sin(n/180*Math.PI),[d,u,h]=mn(i.l,f,r),c,p,g,m;t<.8?(c=1.25*t,p=0,g=.8*d,m=1-g/u):(c=5*(t-.8),p=u,g=.2*u*u*1.25*1.25/d,m=1-g/(h-u));let M=p+c*g/(1-m*c);return i.a=M*f,i.b=M*r,i}const Ot={...V0,mode:"okhsl",channels:["h","s","l","alpha"],parse:["--okhsl"],serialize:"--okhsl",fromMode:{oklab:H0,rgb:e=>H0(ye(e))},toMode:{oklab:R0,rgb:e=>ve(R0(e))}};function X0(e){let n=e.l!==void 0?e.l:0,t=e.a!==void 0?e.a:0,a=e.b!==void 0?e.b:0,i=Math.sqrt(t*t+a*a),f=i?t/i:1,r=i?a/i:1,[d,u]=s0(f,r),h=.5,c=1-h/d,p=u/(i+n*u),g=p*n,m=p*i,M=ue(g),_=m*M/g,v=te({l:M,a:f*_,b:r*_}),w=Math.cbrt(1/Math.max(v.r,v.g,v.b,0));n=n/w,i=i/w*i0(n)/n,n=i0(n);const $={mode:"okhsv",s:i?(h+u)*m/(u*h+u*c*m):0,v:n?n/g:0};return $.s&&($.h=z(Math.atan2(a,t)*180/Math.PI)),e.alpha!==void 0&&($.alpha=e.alpha),$}function I0(e){const n={mode:"oklab"};e.alpha!==void 0&&(n.alpha=e.alpha);const t=e.h!==void 0?e.h:0,a=e.s!==void 0?e.s:0,i=e.v!==void 0?e.v:0,f=Math.cos(t/180*Math.PI),r=Math.sin(t/180*Math.PI),[d,u]=s0(f,r),h=.5,c=1-h/d,p=1-a*h/(h+u-u*c*a),g=a*u*h/(h+u-u*c*a),m=ue(p),M=g*m/p,_=te({l:m,a:f*M,b:r*M}),v=Math.cbrt(1/Math.max(_.r,_.g,_.b,0)),w=ue(i*p),$=g*w/p;return n.l=w*v,n.a=$*f*v,n.b=$*r*v,n}const Yt={...tn,mode:"okhsv",channels:["h","s","v","alpha"],parse:["--okhsv"],serialize:"--okhsv",fromMode:{oklab:X0,rgb:e=>X0(ye(e))},toMode:{oklab:I0,rgb:e=>ve(I0(e))}};function Et(e,n){if(!n||n[0]!=="oklab")return;const t={mode:"oklab"},[,a,i,f,r]=n;if(!(a.type===o.Hue||i.type===o.Hue||f.type===o.Hue))return a.type!==o.None&&(t.l=Math.min(Math.max(0,a.type===o.Number?a.value:a.value/100),1)),i.type!==o.None&&(t.a=i.type===o.Number?i.value:i.value*.4/100),f.type!==o.None&&(t.b=f.type===o.Number?f.value:f.value*.4/100),r.type!==o.None&&(t.alpha=Math.min(1,Math.max(0,r.type===o.Number?r.value:r.value/100))),t}const At={...o0,mode:"oklab",toMode:{lrgb:te,rgb:ve},fromMode:{lrgb:gn,rgb:ye},ranges:{l:[0,1],a:[-.4,.4],b:[-.4,.4]},parse:[Et],serialize:e=>`oklab(${e.l!==void 0?e.l:"none"} ${e.a!==void 0?e.a:"none"} ${e.b!==void 0?e.b:"none"}${e.alpha<1?` / ${e.alpha}`:""})`};function Dt(e,n){if(!n||n[0]!=="oklch")return;const t={mode:"oklch"},[,a,i,f,r]=n;if(a.type!==o.None){if(a.type===o.Hue)return;t.l=Math.min(Math.max(0,a.type===o.Number?a.value:a.value/100),1)}if(i.type!==o.None&&(t.c=Math.max(0,i.type===o.Number?i.value:i.value*.4/100)),f.type!==o.None){if(f.type===o.Percentage)return;t.h=f.value}return r.type!==o.None&&(t.alpha=Math.min(1,Math.max(0,r.type===o.Number?r.value:r.value/100))),t}const Zt={...l0,mode:"oklch",toMode:{oklab:e=>I(e,"oklab"),rgb:e=>ve(I(e,"oklab"))},fromMode:{rgb:e=>X(ye(e),"oklch"),oklab:e=>X(e,"oklch")},parse:[Dt],serialize:e=>`oklch(${e.l!==void 0?e.l:"none"} ${e.c!==void 0?e.c:"none"} ${e.h!==void 0?e.h:"none"}${e.alpha<1?` / ${e.alpha}`:""})`,ranges:{l:[0,1],c:[0,.4],h:[0,360]}},C0=e=>{let{r:n,g:t,b:a,alpha:i}=A(e),f={mode:"xyz65",x:.486570948648216*n+.265667693169093*t+.1982172852343625*a,y:.2289745640697487*n+.6917385218365062*t+.079286914093745*a,z:0*n+.0451133818589026*t+1.043944368900976*a};return i!==void 0&&(f.alpha=i),f},q0=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i=D({r:e*2.4934969119414263-n*.9313836179191242-.402710784450717*t,g:e*-.8294889695615749+n*1.7626640603183465+.0236246858419436*t,b:e*.0358458302437845-n*.0761723892680418+.9568845240076871*t},"p3");return a!==void 0&&(i.alpha=a),i},Ft={...E,mode:"p3",parse:["display-p3"],serialize:"display-p3",fromMode:{rgb:e=>q0(L(e)),xyz65:q0},toMode:{rgb:e=>S(C0(e)),xyz65:C0}},Ze=e=>{let n=Math.abs(e);return n>=1/512?Math.sign(e)*Math.pow(n,1/1.8):16*e},L0=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i={mode:"prophoto",r:Ze(e*1.3457868816471585-n*.2555720873797946-.0511018649755453*t),g:Ze(e*-.5446307051249019+n*1.5082477428451466+.0205274474364214*t),b:Ze(e*0+n*0+1.2119675456389452*t)};return a!==void 0&&(i.alpha=a),i},Fe=(e=0)=>{let n=Math.abs(e);return n>=16/512?Math.sign(e)*Math.pow(n,1.8):e/16},S0=e=>{let n=Fe(e.r),t=Fe(e.g),a=Fe(e.b),i={mode:"xyz50",x:.7977666449006423*n+.1351812974005331*t+.0313477341283922*a,y:.2880748288194013*n+.7118352342418731*t+899369387256e-16*a,z:0*n+0*t+.8251046025104602*a};return e.alpha!==void 0&&(i.alpha=e.alpha),i},Jt={...E,mode:"prophoto",parse:["prophoto-rgb"],serialize:"prophoto-rgb",fromMode:{xyz50:L0,rgb:e=>L0(ne(e))},toMode:{xyz50:S0,rgb:e=>ee(S0(e))}},j0=1.09929682680944,Bt=.018053968510807,Je=e=>{const n=Math.abs(e);return n>Bt?(Math.sign(e)||1)*(j0*Math.pow(n,.45)-(j0-1)):4.5*e},O0=({x:e,y:n,z:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);let i={mode:"rec2020",r:Je(e*1.7166511879712683-n*.3556707837763925-.2533662813736599*t),g:Je(e*-.6666843518324893+n*1.6164812366349395+.0157685458139111*t),b:Je(e*.0176398574453108-n*.0427706132578085+.9421031212354739*t)};return a!==void 0&&(i.alpha=a),i},Y0=1.09929682680944,Gt=.018053968510807,Be=(e=0)=>{let n=Math.abs(e);return n<Gt*4.5?e/4.5:(Math.sign(e)||1)*Math.pow((n+Y0-1)/Y0,1/.45)},E0=e=>{let n=Be(e.r),t=Be(e.g),a=Be(e.b),i={mode:"xyz65",x:.6369580483012911*n+.1446169035862083*t+.1688809751641721*a,y:.262700212011267*n+.6779980715188708*t+.059301716469862*a,z:0*n+.0280726930490874*t+1.0609850577107909*a};return e.alpha!==void 0&&(i.alpha=e.alpha),i},Wt={...E,mode:"rec2020",fromMode:{xyz65:O0,rgb:e=>O0(L(e))},toMode:{xyz65:E0,rgb:e=>S(E0(e))},parse:["rec2020"],serialize:"rec2020"},q=.0037930732552754493,xn=Math.cbrt(q),Ge=e=>Math.cbrt(e)-xn,Kt=e=>{const{r:n,g:t,b:a,alpha:i}=A(e),f=Ge(.3*n+.622*t+.078*a+q),r=Ge(.23*n+.692*t+.078*a+q),d=Ge(.2434226892454782*n+.2047674442449682*t+.5518098665095535*a+q),u={mode:"xyb",x:(f-r)/2,y:(f+r)/2,b:d-(f+r)/2};return i!==void 0&&(u.alpha=i),u},We=e=>Math.pow(e+xn,3),Qt=({x:e,y:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);const i=We(e+n)-q,f=We(n-e)-q,r=We(t+n)-q,d=D({r:11.031566904639861*i-9.866943908131562*f-.16462299650829934*r,g:-3.2541473810744237*i+4.418770377582723*f-.16462299650829934*r,b:-3.6588512867136815*i+2.7129230459360922*f+1.9459282407775895*r});return a!==void 0&&(d.alpha=a),d},Ut={mode:"xyb",channels:["x","y","b","alpha"],parse:["--xyb"],serialize:"--xyb",toMode:{rgb:Qt},fromMode:{rgb:Kt},ranges:{x:[-.0154,.0281],y:[0,.8453],b:[-.2778,.388]},interpolate:{x:l,y:l,b:l,alpha:{use:l,fixup:y}}},Vt={mode:"xyz50",parse:["xyz-d50"],serialize:"xyz-d50",toMode:{rgb:ee,lab:d0},fromMode:{rgb:ne,lab:r0},channels:["x","y","z","alpha"],ranges:{x:[0,.964],y:[0,.999],z:[0,.825]},interpolate:{x:l,y:l,z:l,alpha:{use:l,fixup:y}}},ei=e=>{let{x:n,y:t,z:a,alpha:i}=e;n===void 0&&(n=0),t===void 0&&(t=0),a===void 0&&(a=0);let f={mode:"xyz50",x:1.0479298208405488*n+.0229467933410191*t-.0501922295431356*a,y:.0296278156881593*n+.990434484573249*t-.0170738250293851*a,z:-.0092430581525912*n+.0150551448965779*t+.7518742899580008*a};return i!==void 0&&(f.alpha=i),f},ni=e=>{let{x:n,y:t,z:a,alpha:i}=e;n===void 0&&(n=0),t===void 0&&(t=0),a===void 0&&(a=0);let f={mode:"xyz65",x:.9554734527042182*n-.0230985368742614*t+.0632593086610217*a,y:-.0283697069632081*n+1.0099954580058226*t+.021041398966943*a,z:.0123140016883199*n-.0205076964334779*t+1.3303659366080753*a};return i!==void 0&&(f.alpha=i),f},ti={mode:"xyz65",toMode:{rgb:S,xyz50:ei},fromMode:{rgb:L,xyz50:ni},ranges:{x:[0,.95],y:[0,1],z:[0,1.088]},channels:["x","y","z","alpha"],parse:["xyz","xyz-d65"],serialize:"xyz-d65",interpolate:{x:l,y:l,z:l,alpha:{use:l,fixup:y}}},ii=({r:e,g:n,b:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);const i={mode:"yiq",y:.29889531*e+.58662247*n+.11448223*t,i:.59597799*e-.2741761*n-.32180189*t,q:.21147017*e-.52261711*n+.31114694*t};return a!==void 0&&(i.alpha=a),i},ai=({y:e,i:n,q:t,alpha:a})=>{e===void 0&&(e=0),n===void 0&&(n=0),t===void 0&&(t=0);const i={mode:"rgb",r:e+.95608445*n+.6208885*t,g:e-.27137664*n-.6486059*t,b:e-1.10561724*n+1.70250126*t};return a!==void 0&&(i.alpha=a),i},fi={mode:"yiq",toMode:{rgb:ai},fromMode:{rgb:ii},channels:["y","i","q","alpha"],parse:["--yiq"],serialize:"--yiq",ranges:{i:[-.595,.595],q:[-.522,.522]},interpolate:{y:l,i:l,q:l,alpha:{use:l,fixup:y}}},ri=e=>Math.max(0,Math.min(1,e||0)),Ke=e=>Math.round(ri(e)*255),di=D0("rgb"),oi=e=>{if(e===void 0)return;let n=Ke(e.r),t=Ke(e.g),a=Ke(e.b);return"#"+(1<<24|n<<16|t<<8|a).toString(16).slice(1)},li=e=>oi(di(e));b(Jn);b(Vn);b(et);b(nt);b(at);b(V0);b(tn);b(bt);b(pt);b(Mt);b(yt);b(o0);b(kt);b(l0);b(zt);b(Ct);b(qt);b(Lt);b(Ot);b(Yt);b(At);b(Zt);b(Ft);b(Jt);b(Wt);b(E);b(Ut);b(Vt);b(ti);b(fi);export{D0 as c,li as f,Yn as p};
5
+ //# sourceMappingURL=index-D5UX5AHP.js.map