@powerhousedao/connect 4.1.0-dev.103 → 4.1.0-dev.105

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 (77) hide show
  1. package/dist/assets/{AddDriveModal-C8TXJdWg.js → AddDriveModal-07mDwuqC.js} +9 -9
  2. package/dist/assets/{AddDriveModal-C8TXJdWg.js.map → AddDriveModal-07mDwuqC.js.map} +1 -1
  3. package/dist/assets/{ClearStorageModal-kgZu6fUW.js → ClearStorageModal-NS7l69ap.js} +3 -3
  4. package/dist/assets/{ClearStorageModal-kgZu6fUW.js.map → ClearStorageModal-NS7l69ap.js.map} +1 -1
  5. package/dist/assets/{CookiesPolicyModal-CHx0Plu7.js → CookiesPolicyModal-C6dI4RKZ.js} +3 -3
  6. package/dist/assets/{CookiesPolicyModal-CHx0Plu7.js.map → CookiesPolicyModal-C6dI4RKZ.js.map} +1 -1
  7. package/dist/assets/{CreateDocumentModal-9T47qruK.js → CreateDocumentModal-KKbJcBSL.js} +3 -3
  8. package/dist/assets/{CreateDocumentModal-9T47qruK.js.map → CreateDocumentModal-KKbJcBSL.js.map} +1 -1
  9. package/dist/assets/{DebugSettingsModal-CRJWa6pd.js → DebugSettingsModal-DXtCp24I.js} +4 -4
  10. package/dist/assets/{DebugSettingsModal-CRJWa6pd.js.map → DebugSettingsModal-DXtCp24I.js.map} +1 -1
  11. package/dist/assets/{DeleteDriveModal-D3bGXO4L.js → DeleteDriveModal-MSDNucFy.js} +5 -5
  12. package/dist/assets/{DeleteDriveModal-D3bGXO4L.js.map → DeleteDriveModal-MSDNucFy.js.map} +1 -1
  13. package/dist/assets/{DeleteItemModal--domTYzB.js → DeleteItemModal-DW8_baau.js} +3 -3
  14. package/dist/assets/{DeleteItemModal--domTYzB.js.map → DeleteItemModal-DW8_baau.js.map} +1 -1
  15. package/dist/assets/{DisclaimerModal-Ba42GuBF.js → DisclaimerModal-C6UyAzGM.js} +3 -3
  16. package/dist/assets/{DisclaimerModal-Ba42GuBF.js.map → DisclaimerModal-C6UyAzGM.js.map} +1 -1
  17. package/dist/assets/{DriveSettingsModal-C5RW55cJ.js → DriveSettingsModal-DfM8Gfc9.js} +8 -8
  18. package/dist/assets/{DriveSettingsModal-C5RW55cJ.js.map → DriveSettingsModal-DfM8Gfc9.js.map} +1 -1
  19. package/dist/assets/{ExportDocumentWithErrorsModal-DH4Wari8.js → ExportDocumentWithErrorsModal-cWlxN3T_.js} +3 -3
  20. package/dist/assets/{ExportDocumentWithErrorsModal-DH4Wari8.js.map → ExportDocumentWithErrorsModal-cWlxN3T_.js.map} +1 -1
  21. package/dist/assets/{SettingsModal-Cu159mI0.js → SettingsModal-BlWJfQsu.js} +8 -8
  22. package/dist/assets/{SettingsModal-Cu159mI0.js.map → SettingsModal-BlWJfQsu.js.map} +1 -1
  23. package/dist/assets/{UpgradeDriveModal-CBwCkbH6.js → UpgradeDriveModal-BL7i2apX.js} +2 -2
  24. package/dist/assets/{UpgradeDriveModal-CBwCkbH6.js.map → UpgradeDriveModal-BL7i2apX.js.map} +1 -1
  25. package/dist/assets/{ccip-D7aMa0GY.js → ccip-DhNdZlh7.js} +2 -2
  26. package/dist/assets/{ccip-D7aMa0GY.js.map → ccip-DhNdZlh7.js.map} +1 -1
  27. package/dist/assets/{confirmation-modal-DhDkTlWh.js → confirmation-modal-DM5tMFeL.js} +2 -2
  28. package/dist/assets/{confirmation-modal-DhDkTlWh.js.map → confirmation-modal-DM5tMFeL.js.map} +1 -1
  29. package/dist/assets/{disclosure-BK1-aX0U.js → disclosure-iERpR3s0.js} +2 -2
  30. package/dist/assets/{disclosure-BK1-aX0U.js.map → disclosure-iERpR3s0.js.map} +1 -1
  31. package/dist/assets/{drive-by-id-Clj6-Bqe.js → drive-by-id-BanyjI1t.js} +2 -2
  32. package/dist/assets/{drive-by-id-Clj6-Bqe.js.map → drive-by-id-BanyjI1t.js.map} +1 -1
  33. package/dist/assets/{dropdown-menu-Bg-CMliM.js → dropdown-menu-CXmhaaui.js} +3 -3
  34. package/dist/assets/{dropdown-menu-Bg-CMliM.js.map → dropdown-menu-CXmhaaui.js.map} +1 -1
  35. package/dist/assets/{editor-Dvss0yJl.js → editor-BKLE2wdL.js} +5 -5
  36. package/dist/assets/{editor-Dvss0yJl.js.map → editor-BKLE2wdL.js.map} +1 -1
  37. package/dist/assets/{editor-PBpp1lOl.js → editor-DO3KuTx4.js} +6 -6
  38. package/dist/assets/{editor-PBpp1lOl.js.map → editor-DO3KuTx4.js.map} +1 -1
  39. package/dist/assets/{form-input-BQk8D0sk.js → form-input-DTWcBXOv.js} +2 -2
  40. package/dist/assets/{form-input-BQk8D0sk.js.map → form-input-DTWcBXOv.js.map} +1 -1
  41. package/dist/assets/{hoist-non-react-statics.cjs-BLBIKRcK.js → hoist-non-react-statics.cjs-BXLrPRPo.js} +2 -2
  42. package/dist/assets/{hoist-non-react-statics.cjs-BLBIKRcK.js.map → hoist-non-react-statics.cjs-BXLrPRPo.js.map} +1 -1
  43. package/dist/assets/{index-NwtkAyHu.js → index-BRK2SPwe.js} +5419 -5411
  44. package/dist/assets/{index-NwtkAyHu.js.map → index-BRK2SPwe.js.map} +1 -1
  45. package/dist/assets/{index-Dj3oRMSX.js → index-CwYYkw3b.js} +3 -3
  46. package/dist/assets/{index-Dj3oRMSX.js.map → index-CwYYkw3b.js.map} +1 -1
  47. package/dist/assets/{index-DbkdXCy3.js → index-D9xz2aln.js} +4 -4
  48. package/dist/assets/{index-DbkdXCy3.js.map → index-D9xz2aln.js.map} +1 -1
  49. package/dist/assets/{index-2UxXyUHs.js → index-DrtoT5He.js} +2 -2
  50. package/dist/assets/{index-2UxXyUHs.js.map → index-DrtoT5He.js.map} +1 -1
  51. package/dist/assets/{index-CRSaLTdy.js → index-ZC6AHfIK.js} +2 -2
  52. package/dist/assets/{index-CRSaLTdy.js.map → index-ZC6AHfIK.js.map} +1 -1
  53. package/dist/assets/{index.esm-CsyxQz1t.js → index.esm-BaENpqse.js} +2 -2
  54. package/dist/assets/{index.esm-CsyxQz1t.js.map → index.esm-BaENpqse.js.map} +1 -1
  55. package/dist/assets/{options-OQEfRub-.js → options-x29vXcTw.js} +2 -2
  56. package/dist/assets/{options-OQEfRub-.js.map → options-x29vXcTw.js.map} +1 -1
  57. package/dist/assets/{read-required-modal-DDJ226rj.js → read-required-modal-CywEDaia.js} +2 -2
  58. package/dist/assets/{read-required-modal-DDJ226rj.js.map → read-required-modal-CywEDaia.js.map} +1 -1
  59. package/dist/assets/{toggle-CM9IgRbu.js → toggle-CFuMlRt5.js} +4 -4
  60. package/dist/assets/{toggle-CM9IgRbu.js.map → toggle-CFuMlRt5.js.map} +1 -1
  61. package/dist/index.html +1 -1
  62. package/lib/package.copy.json +1 -1
  63. package/lib/src/components/drive-editor-container.d.ts.map +1 -1
  64. package/lib/src/components/drive-editor-container.js +3 -1
  65. package/lib/src/components/drive-editor-container.js.map +1 -1
  66. package/lib/src/components/editors.d.ts.map +1 -1
  67. package/lib/src/components/editors.js +7 -9
  68. package/lib/src/components/editors.js.map +1 -1
  69. package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +1 -1
  70. package/lib/src/components/modal/modals/settings/package-manager.js +1 -1
  71. package/lib/src/components/modal/modals/settings/package-manager.js.map +1 -1
  72. package/lib/src/store/document-model.d.ts.map +1 -1
  73. package/lib/src/store/document-model.js +1 -1
  74. package/lib/src/store/document-model.js.map +1 -1
  75. package/lib/tsconfig.tsbuildinfo +1 -1
  76. package/package.copy.json +1 -1
  77. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsModal-Cu159mI0.js","sources":["../../../../packages/config/dist/src/packages.js","../../../../packages/design-system/dist/src/ui/components/button/button.js","../../../../packages/design-system/dist/src/ui/components/form-label/form-label.js","../../../../packages/design-system/dist/src/ui/components/form-message/form-message.js","../../../../packages/design-system/dist/src/ui/components/form-message/message-list.js","../../../../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs","../../../../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/cmdk/dist/index.mjs","../../../../packages/design-system/dist/src/ui/components/command/command.js","../../../../packages/design-system/dist/src/ui/components/form-description/form-description.js","../../../../packages/design-system/dist/src/ui/components/form-group/form-group.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-input-container.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-list-option.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-list.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-context.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/use-id-autocomplete.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete.js","../../../../packages/design-system/dist/src/ui/components/input/input.js","../../../../packages/design-system/dist/src/ui/components/with-field-validation/with-field-validation.js","../../../../packages/design-system/dist/src/ui/components/select-field/subcomponents/CommandItemList.js","../../../../packages/design-system/dist/src/ui/components/select-field/content.js","../../../../packages/design-system/dist/src/ui/components/select-field/selected-content.js","../../../../packages/design-system/dist/src/ui/components/select-field/use-select-field.js","../../../../packages/design-system/dist/src/ui/components/select-field/select-field.js","../../../../packages/design-system/dist/src/ui/components/tooltip/tooltip.js","../../../../packages/design-system/dist/src/ui/components/value-transformer/value-transformer.js","../../../../packages/design-system/dist/src/ui/lib/deep-equal.js","../../../../packages/design-system/dist/src/ui/lib/shared-value-transformers.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal/dependency-versions/dependency-versions.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/about.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/danger-zone.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/default-editor.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-input.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-list.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-select.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/settings-modal.js","../../src/components/modal/modals/settings/about.tsx","../../src/components/modal/modals/settings/danger-zone.tsx","../../src/components/modal/modals/settings/default-editor.tsx","../../src/components/modal/modals/settings/package-manager.tsx","../../src/components/modal/modals/SettingsModal.tsx"],"sourcesContent":["export const PH_PACKAGES = [\n {\n packageName: \"@sky-ph/atlas\",\n version: \"latest\",\n provider: \"npm\",\n url: \"https://www.npmjs.com/package/@sky-ph/atlas\",\n },\n];\n//# sourceMappingURL=packages.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"../../../utils/cn.js\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { forwardRef } from \"react\";\nconst buttonVariants = cva(cn(\"inline-flex items-center justify-center gap-2\", \"whitespace-nowrap rounded-md text-sm font-medium\", \"transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2\", \"disabled:pointer-events-none\", \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"), {\n variants: {\n variant: {\n default: \"\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\nconst Button = forwardRef(({ variant, className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (_jsx(Comp, { className: cn(buttonVariants({ variant, className })), ref: ref, ...props }));\n});\nexport { Button, buttonVariants };\n//# sourceMappingURL=button.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, Tooltip, TooltipProvider, cn, } from \"@powerhousedao/design-system\";\nexport const FormLabel = ({ children, required, disabled, description, hasError, inline, className, ...htmlLabelProps }) => {\n const classes = cn(\"inline-flex items-center text-sm font-medium\", inline ? \"leading-[22px]\" : \"leading-4\", `text-gray-900 ${inline ? \"dark:text-gray-400\" : \"dark:text-gray-50\"}`, hasError && \"group-hover:!text-red-900 dark:group-hover:!text-red-900\", hasError && inline && \"text-red-800 dark:text-red-800\", hasError && !inline && \"text-red-900 dark:text-red-900\", disabled &&\n `cursor-not-allowed text-gray-700 ${inline ? \"dark:text-gray-600\" : \"dark:text-gray-300\"}`, inline\n ? !disabled && \"group-hover:text-gray-900 dark:group-hover:text-slate-50\"\n : \"mb-[3px]\", className);\n if (!children) {\n // no label provided\n return null;\n }\n const extraProps = {\n ...htmlLabelProps,\n };\n return (_jsxs(\"label\", { className: classes, ...extraProps, children: [children, required && (_jsx(\"span\", { className: cn(\"ml-1 text-gray-800 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-slate-50\", hasError &&\n `${inline ? \"!text-red-800\" : \"!text-red-900\"} group-hover:!text-red-900`), children: \"*\" })), description && (_jsx(TooltipProvider, { children: _jsx(Tooltip, { content: description, children: _jsx(Icon, { name: \"CircleInfo\", size: 16, className: cn(\"ml-1 cursor-pointer text-gray-600 hover:text-gray-500 dark:text-gray-500 dark:hover:text-gray-500\", disabled && \"text-gray-500\") }) }) }))] }));\n};\n//# sourceMappingURL=form-label.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nconst defaultElement = \"p\";\nexport const FormMessage = ({ children, type = \"info\", as, className, ...props }) => {\n const Component = as || defaultElement;\n const typeClasses = {\n error: \"text-red-900 dark:text-red-900\",\n info: \"text-blue-900 dark:text-blue-900\",\n warning: \"text-yellow-900 dark:text-yellow-900\",\n };\n const classes = cn(\"mb-0 inline-flex items-center text-xs font-medium\", typeClasses[type], className);\n // TODO: add icon\n return (_jsx(Component, { \"data-type\": type, className: classes, ...props, children: children }));\n};\n//# sourceMappingURL=form-message.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nimport { FormMessage } from \"./form-message.js\";\nexport const FormMessageList = ({ messages, type = \"info\", className, ...props }) => {\n if (messages.length === 0) {\n return null;\n }\n if (messages.length === 1) {\n return (_jsx(FormMessage, { type: type, ...props, children: messages[0] }));\n }\n const typeClasses = {\n error: \"before:bg-red-900 dark:before:bg-red-900\",\n info: \"before:bg-blue-900 dark:before:bg-blue-900\",\n warning: \"before:bg-orange-900 dark:before:bg-orange-900\",\n };\n return (_jsx(\"ul\", { className: cn(\"flex flex-col gap-1\", className), ...props, children: messages.map((message) => (_jsx(FormMessage, { as: \"li\", type: type, className: cn(\n // Layout\n \"relative pl-4\", \n // Visual styles\n \"before:absolute before:left-0 before:top-[0.4em] before:size-2 before:rounded-full\", typeClasses[type]), children: message }, message))) }));\n};\n//# sourceMappingURL=message-list.js.map","var U=1,Y=.9,H=.8,J=.17,p=.1,u=.999,$=.9999;var k=.99,m=/[\\\\\\/_+.#\"@\\[\\(\\{&]/,B=/[\\\\\\/_+.#\"@\\[\\(\\{&]/g,K=/[\\s-]/,X=/[\\s-]/g;function G(_,C,h,P,A,f,O){if(f===C.length)return A===_.length?U:k;var T=`${A},${f}`;if(O[T]!==void 0)return O[T];for(var L=P.charAt(f),c=h.indexOf(L,A),S=0,E,N,R,M;c>=0;)E=G(_,C,h,P,c+1,f+1,O),E>S&&(c===A?E*=U:m.test(_.charAt(c-1))?(E*=H,R=_.slice(A,c-1).match(B),R&&A>0&&(E*=Math.pow(u,R.length))):K.test(_.charAt(c-1))?(E*=Y,M=_.slice(A,c-1).match(X),M&&A>0&&(E*=Math.pow(u,M.length))):(E*=J,A>0&&(E*=Math.pow(u,c-A))),_.charAt(c)!==C.charAt(f)&&(E*=$)),(E<p&&h.charAt(c-1)===P.charAt(f+1)||P.charAt(f+1)===P.charAt(f)&&h.charAt(c-1)!==P.charAt(f))&&(N=G(_,C,h,P,c+1,f+2,O),N*p>E&&(E=N*p)),E>S&&(S=E),c=h.indexOf(L,c+1);return O[T]=S,S}function D(_){return _.toLowerCase().replace(X,\" \")}function W(_,C,h){return _=h&&h.length>0?`${_+\" \"+h.join(\" \")}`:_,G(_,C,D(_),D(C),0,0,{})}export{W as a};\n","\"use client\";import{a as ae}from\"./chunk-NZJY6EH4.mjs\";import*as w from\"@radix-ui/react-dialog\";import*as t from\"react\";import{Primitive as D}from\"@radix-ui/react-primitive\";import{useId as H}from\"@radix-ui/react-id\";import{composeRefs as G}from\"@radix-ui/react-compose-refs\";var N='[cmdk-group=\"\"]',Y='[cmdk-group-items=\"\"]',be='[cmdk-group-heading=\"\"]',le='[cmdk-item=\"\"]',ce=`${le}:not([aria-disabled=\"true\"])`,Z=\"cmdk-item-select\",T=\"data-value\",Re=(r,o,n)=>ae(r,o,n),ue=t.createContext(void 0),K=()=>t.useContext(ue),de=t.createContext(void 0),ee=()=>t.useContext(de),fe=t.createContext(void 0),me=t.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:\"\",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:\"\",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=H(),q=H(),_=H(),I=t.useRef(null),v=ke();k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),k(()=>{v(6,ne)},[]);let E=t.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e===\"search\")J(),z(),v(1,W);else if(e===\"value\"){if(document.activeElement.hasAttribute(\"cmdk-input\")||document.activeElement.hasAttribute(\"cmdk-root\")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:\"\";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=t.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute(\"id\"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r[\"aria-label\"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute(\"id\"),y=l.getAttribute(\"id\");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}=\"${encodeURIComponent(i[0])}\"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute(\"aria-disabled\")!==\"true\"),a=e==null?void 0:e.getAttribute(T);E.setState(\"value\",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:\"\",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:\"nearest\"})),e.scrollIntoView({block:\"nearest\"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected=\"true\"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState(\"value\",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState(\"value\",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState(\"value\",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return t.createElement(D.div,{ref:o,tabIndex:-1,...O,\"cmdk-root\":\"\",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case\"n\":case\"j\":{j&&e.ctrlKey&&ie(e);break}case\"ArrowDown\":{ie(e);break}case\"p\":case\"k\":{j&&e.ctrlKey&&se(e);break}case\"ArrowUp\":{se(e);break}case\"Home\":{e.preventDefault(),X(0);break}case\"End\":{e.preventDefault(),oe();break}case\"Enter\":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},t.createElement(\"label\",{\"cmdk-label\":\"\",htmlFor:U.inputId,id:U.labelId,style:Te},b),B(r,e=>t.createElement(de.Provider,{value:E},t.createElement(ue.Provider,{value:U},e))))}),he=t.forwardRef((r,o)=>{var _,I;let n=H(),u=t.useRef(null),c=t.useContext(fe),d=K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);t.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState(\"value\",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return t.createElement(D.div,{ref:G(u,o),...q,id:n,\"cmdk-item\":\"\",role:\"option\",\"aria-disabled\":!!A,\"aria-selected\":!!R,\"data-disabled\":!!A,\"data-selected\":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=t.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=H(),p=t.useRef(null),b=t.useRef(null),m=H(),R=K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=t.useMemo(()=>({id:f,forceMount:c}),[c]);return t.createElement(D.div,{ref:G(p,o),...d,\"cmdk-group\":\"\",role:\"presentation\",hidden:x?void 0:!0},n&&t.createElement(\"div\",{ref:b,\"cmdk-group-heading\":\"\",\"aria-hidden\":!0,id:m},n),B(r,S=>t.createElement(\"div\",{\"cmdk-group-items\":\"\",role:\"group\",\"aria-labelledby\":n?m:void 0},t.createElement(fe.Provider,{value:C},S))))}),ye=t.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=t.useRef(null),d=P(f=>!f.search);return!n&&!d?null:t.createElement(D.div,{ref:G(c,o),...u,\"cmdk-separator\":\"\",role:\"separator\"})}),Se=t.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{r.value!=null&&d.setState(\"search\",r.value)},[r.value]),t.createElement(D.input,{ref:o,...u,\"cmdk-input\":\"\",autoComplete:\"off\",autoCorrect:\"off\",spellCheck:!1,\"aria-autocomplete\":\"list\",role:\"combobox\",\"aria-expanded\":!0,\"aria-controls\":b.listId,\"aria-labelledby\":b.labelId,\"aria-activedescendant\":p,id:b.inputId,type:\"text\",value:c?r.value:f,onChange:m=>{c||d.setState(\"search\",m.target.value),n==null||n(m.target.value)}})}),Ce=t.forwardRef((r,o)=>{let{children:n,label:u=\"Suggestions\",...c}=r,d=t.useRef(null),f=t.useRef(null),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty(\"--cmdk-list-height\",S.toFixed(1)+\"px\")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),t.createElement(D.div,{ref:G(d,o),...c,\"cmdk-list\":\"\",role:\"listbox\",tabIndex:-1,\"aria-activedescendant\":p,\"aria-label\":u,id:b.listId},B(r,m=>t.createElement(\"div\",{ref:G(f,b.listInnerRef),\"cmdk-list-sizer\":\"\"},m)))}),xe=t.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return t.createElement(w.Root,{open:n,onOpenChange:u},t.createElement(w.Portal,{container:f},t.createElement(w.Overlay,{\"cmdk-overlay\":\"\",className:c}),t.createElement(w.Content,{\"aria-label\":r.label,\"cmdk-dialog\":\"\",className:d},t.createElement(me,{ref:o,...p}))))}),Ie=t.forwardRef((r,o)=>P(u=>u.filtered.count===0)?t.createElement(D.div,{ref:o,...r,\"cmdk-empty\":\"\",role:\"presentation\"}):null),Pe=t.forwardRef((r,o)=>{let{progress:n,children:u,label:c=\"Loading...\",...d}=r;return t.createElement(D.div,{ref:o,...d,\"cmdk-loading\":\"\",role:\"progressbar\",\"aria-valuenow\":n,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-label\":c},B(r,f=>t.createElement(\"div\",{\"aria-hidden\":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=t.useRef(r);return k(()=>{o.current=r}),o}var k=typeof window==\"undefined\"?t.useEffect:t.useLayoutEffect;function L(r){let o=t.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return t.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=t.useRef(),d=K();return k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R==\"string\")return R.trim();if(typeof R==\"object\"&&\"current\"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=t.useState(),n=L(()=>new Map);return k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o==\"function\"?o(r.props):\"render\"in o?o.render(r.props):r}function B({asChild:r,children:o},n){return r&&t.isValidElement(o)?t.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:\"absolute\",width:\"1px\",height:\"1px\",padding:\"0\",margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"};export{_e as Command,xe as CommandDialog,Ie as CommandEmpty,Ee as CommandGroup,Se as CommandInput,he as CommandItem,Ce as CommandList,Pe as CommandLoading,me as CommandRoot,ye as CommandSeparator,Re as defaultFilter,P as useCommandState};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, cn } from \"@powerhousedao/design-system\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport React from \"react\";\nconst Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn(\"flex size-full flex-col rounded-md [&_[cmdk-label]]:hidden\", className), ...props })));\nCommand.displayName = CommandPrimitive.displayName;\nconst CommandInput = React.forwardRef(({ wrapperClassName, className, ...props }, ref) => (_jsxs(\"div\", { className: cn(\"group relative flex items-center border-b\", \"border-b-gray-300 dark:border-b-gray-900\", \"hover:border-b-gray-300 dark:hover:border-b-gray-800\", \"hover:bg-gray-100 dark:hover:bg-gray-900\", \"focus-within:border-b-gray-300 dark:focus-within:border-b-gray-800\", \"focus-within:bg-gray-100 dark:focus-within:bg-gray-900\", wrapperClassName), \"cmdk-input-wrapper\": \"\", children: [_jsx(Icon, { name: \"Search\", size: 16, className: cn(\"pointer-events-none absolute left-2 top-3.5 text-gray-500 dark:text-gray-700\", \"group-hover:text-gray-700 dark:group-hover:text-gray-500\", \"group-focus-within:!text-gray-900 dark:group-focus-within:!text-gray-50\") }), _jsx(CommandPrimitive.Input, { ref: ref, className: cn(\"flex w-full bg-transparent pb-2 pl-8 pr-3 pt-3 text-[14px] font-normal leading-5 outline-none\", \"placeholder:text-gray-500 dark:placeholder:text-gray-700\", \"group-hover:placeholder:text-gray-700 dark:group-hover:placeholder:text-gray-500\", \"group-focus-within:placeholder:!text-gray-700 dark:group-focus-within:placeholder:!text-gray-300\", \"disabled:cursor-not-allowed\", className), ...props })] })));\nCommandInput.displayName = CommandPrimitive.Input.displayName;\nconst CommandList = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.List, { ref: ref, className: cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", \"focus:outline-none\", \"scrollbar-thin scrollbar-gutter-stable\", \"scrollbar-track-transparent\", \"scrollbar-thumb-gray-300 hover:scrollbar-thumb-gray-300\", \"dark:scrollbar-thumb-charcoal-700 dark:hover:scrollbar-thumb-charcoal-700\", \"scrollbar-thumb-rounded-md\", className), ...props })));\nCommandList.displayName = CommandPrimitive.List.displayName;\nconst CommandLoading = React.forwardRef((props, ref) => _jsx(CommandPrimitive.Loading, { ref: ref, ...props }));\nCommandLoading.displayName = CommandPrimitive.Loading.displayName;\nconst CommandEmpty = React.forwardRef((props, ref) => _jsx(CommandPrimitive.Empty, { ref: ref, ...props }));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\nconst CommandGroup = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Group, { ref: ref, className: cn(\"overflow-hidden px-0.5 py-1\", \"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\", className), ...props })));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\nconst CommandItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Item, { ref: ref, className: cn(\"relative flex select-none items-center justify-between\", \"h-8 gap-2 rounded-md py-1.5 pl-1.5 pr-2.5\", \"text-[14px] leading-4 outline-none\", \"border-y-2 border-white dark:border-slate-600\", \"data-[disabled=true]:pointer-events-none\", \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", className), ...props })));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\nexport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, };\n//# sourceMappingURL=command.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nconst FormDescription = ({ children, as, className, }) => {\n const Component = as ?? \"p\";\n return (_jsx(Component, { className: cn(\"font-sans text-sm font-normal leading-5 text-gray-600 dark:text-gray-500\", className), children: children }));\n};\nexport { FormDescription };\n//# sourceMappingURL=form-description.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport const FormGroup = ({ children }) => {\n return _jsx(\"div\", { className: \"flex flex-col gap-2\", children: children });\n};\n//# sourceMappingURL=form-group.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Icon, Input, sharedValueTransformers, Tooltip, TooltipProvider, ValueTransformer, } from \"@powerhousedao/design-system\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport React, { useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"usehooks-ts\";\nconst IdAutocompleteInputContainer = React.forwardRef(({ id, name, value, className, isLoading, haveFetchError, disabled, onChange, onBlur, onClick, selectedOption, optionsLength, handleOpenChange, onKeyDown, onMouseDown, placeholder, hasError, label, required, isPopoverOpen, maxLength, handlePaste, onPaste, ...props }, ref) => {\n const [hasCopied, setHasCopied] = useState(false);\n const hasHover = useMediaQuery(\"(hover: hover) and (pointer: fine)\");\n const transformers = useMemo(() => [\n sharedValueTransformers.trimOnBlur(),\n sharedValueTransformers.trimOnEnter(),\n ], []);\n return (_jsxs(\"div\", { className: cn(\"group relative\"), children: [_jsx(ValueTransformer, { transformers: transformers, children: _jsx(CommandPrimitive.Input, { asChild: true, children: _jsx(Input, { id: id, name: name, value: value, className: cn(\"pr-9\", className), disabled: disabled, onChange: onChange, onBlur: onBlur, onClick: (e) => {\n const input = e.target;\n if (!(isLoading || haveFetchError) &&\n !selectedOption &&\n input.value !== \"\") {\n handleOpenChange?.(true);\n }\n onClick?.(e);\n }, onKeyDown: (e) => {\n onKeyDown?.(e);\n const isOptionsRelatedKey = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Enter\",\n ].includes(e.key);\n if (e.key === \"Enter\" && isPopoverOpen && optionsLength === 0) {\n handleOpenChange?.(false);\n e.preventDefault();\n return;\n }\n if (!(isOptionsRelatedKey && isPopoverOpen && optionsLength > 0)) {\n e.stopPropagation();\n }\n }, onMouseDown: (e) => {\n const input = e.target;\n if (!input.contains(document.activeElement)) {\n // wait for the next tick to ensure the focus occurs first\n requestAnimationFrame(() => {\n input.select();\n });\n }\n onMouseDown?.(e);\n }, onPaste: (e) => {\n handlePaste?.(e);\n onPaste?.(e);\n }, placeholder: placeholder, \"aria-invalid\": hasError, \"aria-label\": !label ? \"Id Autocomplete\" : undefined, \"aria-required\": required, \"aria-expanded\": isPopoverOpen, maxLength: maxLength, ...props, ref: ref }) }) }), _jsxs(\"div\", { className: cn(\"absolute right-3 top-1/2 flex size-4 -translate-y-1/2 items-center\", !isLoading &&\n !haveFetchError &&\n !selectedOption &&\n \"pointer-events-none\"), children: [isLoading && (_jsx(Icon, { name: \"Reload\", size: 16, className: cn(\"animate-spin text-gray-500 dark:text-gray-600\") })), haveFetchError && (_jsx(TooltipProvider, { children: _jsx(Tooltip, { content: \"Network error!\", children: _jsx(Icon, { name: \"Error\", size: 16, className: cn(\"text-red-900\") }) }) })), selectedOption && !isLoading && !haveFetchError && (_jsx(TooltipProvider, { children: _jsx(Tooltip, { content: \"Copied!\", open: hasCopied, triggerAsChild: true, children: _jsx(\"button\", { type: \"button\", onClick: () => {\n navigator.clipboard\n .writeText(selectedOption.value)\n .then(() => {\n setHasCopied(true);\n setTimeout(() => setHasCopied(false), 2000);\n })\n .catch((error) => {\n console.error(\"Failed to copy value: \", error);\n });\n }, className: cn(\"focus-visible:outline-none [&_svg]:pointer-events-none\", hasHover &&\n \"opacity-0 transition-opacity duration-500 group-hover:opacity-100\"), children: _jsx(Icon, { name: \"Copy\", size: 16, className: cn(\"text-gray-500 dark:text-gray-600\") }) }) }) }))] })] }));\n});\nexport { IdAutocompleteInputContainer };\n//# sourceMappingURL=id-autocomplete-input-container.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Icon } from \"@powerhousedao/design-system\";\nimport React from \"react\";\nconst IconRenderer = ({ customIcon, asPlaceholder }) => {\n if (typeof customIcon === \"string\") {\n return (_jsx(Icon, { name: customIcon, size: 24, className: cn(\"shrink-0\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\") }));\n }\n if (React.isValidElement(customIcon)) {\n return _jsx(\"div\", { className: \"size-6 shrink-0 overflow-hidden\", children: customIcon });\n }\n return null;\n};\nconst ReloadButton = ({ isLoadingSelectedOption, handleFetchSelectedOption, isFetchSelectedOptionSync, value, }) => (_jsx(\"div\", { children: _jsx(\"button\", { type: \"button\", disabled: isLoadingSelectedOption || isFetchSelectedOptionSync, onClick: () => {\n if (!isLoadingSelectedOption && !isFetchSelectedOptionSync) {\n handleFetchSelectedOption(value);\n }\n }, className: cn(\"mt-0.5 focus-visible:outline-none\", \"disabled:pointer-events-none [&_svg]:pointer-events-none\"), \"aria-label\": isLoadingSelectedOption\n ? \"Loading\"\n : isFetchSelectedOptionSync\n ? \"Success\"\n : \"Reload\", children: _jsx(Icon, { name: isFetchSelectedOptionSync ? \"Checkmark\" : \"Reload\", size: 16, className: cn(\"text-gray-500 dark:text-gray-600\", isLoadingSelectedOption && \"animate-spin\", isFetchSelectedOptionSync && \"animate-in fade-in duration-500\") }) }) }));\nconst IdAutocompleteListOption = ({ variant = \"withValue\", icon, title = \"Title not available\", path = \"Path not available\", value, description = \"Description not available\", asPlaceholder, showValue = true, isLoadingSelectedOption, handleFetchSelectedOption, isFetchSelectedOptionSync, className, placeholderIcon = \"PowerhouseLogoSmall\", ...extraProps }) => {\n const renderWithValue = () => (_jsx(\"div\", { className: cn(\"flex w-full items-center\"), children: _jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: value }) }));\n const renderWithValueTitleAndDescription = (showDescription = true) => (_jsxs(\"div\", { className: cn(\"flex w-full flex-col gap-1\"), children: [_jsxs(\"div\", { className: cn(\"flex gap-2\"), children: [_jsx(IconRenderer, { customIcon: asPlaceholder ? placeholderIcon : icon, asPlaceholder: asPlaceholder }), _jsxs(\"div\", { className: cn(\"flex min-w-0 grow flex-col gap-[-2px]\"), children: [_jsx(\"span\", { className: cn(\"truncate text-sm font-bold leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\"), children: title }), !showValue && typeof path === \"object\" ? (_jsx(\"a\", { href: path.url, target: \"_blank\", rel: \"noopener noreferrer\", className: cn(\"truncate text-xs leading-5 text-blue-900 hover:underline focus-visible:outline-none\"), children: path.text })) : (_jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: typeof path === \"object\" ? path.text : path }))] }), asPlaceholder === false && handleFetchSelectedOption && (_jsx(ReloadButton, { isLoadingSelectedOption: isLoadingSelectedOption, handleFetchSelectedOption: handleFetchSelectedOption, isFetchSelectedOptionSync: isFetchSelectedOptionSync, value: value }))] }), showValue && (_jsx(\"div\", { className: cn(\"flex max-w-full items-center\"), children: _jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: value }) })), showDescription && (_jsx(\"div\", { className: cn(\"flex flex-col\"), children: _jsx(\"p\", { className: cn(\"line-clamp-2 text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\"), children: description }) })), showDescription &&\n \"agentType\" in extraProps &&\n typeof extraProps.agentType === \"string\" && (_jsx(\"div\", { className: cn(\"flex max-w-full items-center justify-end\"), children: _jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: extraProps.agentType }) }))] }));\n return (_jsxs(\"div\", { className: cn(\"w-full max-w-full rounded-md bg-transparent px-3 pb-2\", variant === \"withValue\" ? \"pt-2\" : \"pt-3\", className), children: [variant === \"withValue\" && renderWithValue(), variant === \"withValueAndTitle\" &&\n renderWithValueTitleAndDescription(false), variant === \"withValueTitleAndDescription\" &&\n renderWithValueTitleAndDescription()] }));\n};\nexport { IdAutocompleteListOption };\n//# sourceMappingURL=id-autocomplete-list-option.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, CommandEmpty, CommandGroup, CommandItem, CommandList, } from \"@powerhousedao/design-system\";\nimport { useCommandState } from \"cmdk\";\nimport React, { useEffect } from \"react\";\nimport { IdAutocompleteListOption } from \"./id-autocomplete-list-option.js\";\nconst IdAutocompleteList = ({ variant, commandListRef, selectedValue, options = [], toggleOption, renderOption, previewPlaceholder, }) => {\n const cmdkSearch = useCommandState((state) => state.search);\n const defaultOption = previewPlaceholder || {\n value: \"value not available\",\n title: \"Title not available\",\n path: \"Path not available\",\n description: \"Description not available\",\n };\n useEffect(() => {\n commandListRef?.current?.scrollTo({ top: 0, behavior: \"instant\" });\n }, [commandListRef, cmdkSearch]);\n return (_jsxs(CommandList, { ref: commandListRef, children: [_jsx(CommandEmpty, { className: cn(\"h-full p-1\"), children: renderOption ? (renderOption(defaultOption, {\n asPlaceholder: true,\n showValue: true,\n className: cn(\"pb-0\"),\n })) : (_jsx(IdAutocompleteListOption, { variant: variant, icon: defaultOption.icon, title: defaultOption.title, path: defaultOption.path, value: defaultOption.value, description: defaultOption.description, asPlaceholder: true, className: cn(\"pb-0\") })) }), _jsx(CommandGroup, { className: cn(\"px-1\"), children: options.map((opt) => {\n const isSelected = selectedValue === opt.value;\n return (_jsx(CommandItem, { value: opt.value, onSelect: () => toggleOption?.(opt.value), className: cn(\"h-full cursor-pointer border-y-0 p-0\", \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900\"), role: \"option\", \"aria-selected\": isSelected, children: renderOption ? (renderOption(opt, {\n asPlaceholder: false,\n showValue: true,\n })) : (_jsx(IdAutocompleteListOption, { variant: variant, ...opt })) }, opt.value));\n }) })] }));\n};\nexport { IdAutocompleteList };\n//# sourceMappingURL=id-autocomplete-list.js.map","import { createContext, useContext } from \"react\";\nexport const IdAutocompleteContext = createContext({});\nexport const useIdAutocompleteContext = () => useContext(IdAutocompleteContext);\n//# sourceMappingURL=id-autocomplete-context.js.map","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDebounceCallback } from \"usehooks-ts\";\nimport { useIdAutocompleteContext } from \"./id-autocomplete-context.js\";\nexport function useIdAutocomplete({ autoComplete, defaultValue, value, isOpenByDefault, initialOptions, onChange, onBlur, fetchOptions, fetchSelectedOption, }) {\n const context = useIdAutocompleteContext();\n const shouldFetchOptions = useRef(false);\n const isInternalChange = useRef(false);\n const commandListRef = useRef(null);\n const [isPopoverOpen, setIsPopoverOpen] = useState(isOpenByDefault ?? false);\n const [options, setOptions] = useState(initialOptions ?? []);\n const [isLoading, setIsLoading] = useState(false);\n const [isLoadingSelectedOption, setIsLoadingSelectedOption] = useState(false);\n const [haveFetchError, setHaveFetchError] = useState(false);\n const [selectedValue, setSelectedValue] = useState(value ?? defaultValue ?? \"\");\n const [selectedOption, setSelectedOption] = useState(undefined);\n const [commandValue, setCommandValue] = useState(\"\");\n const [isFetchSelectedOptionSync, setIsFetchSelectedOptionSync] = useState(false);\n const clear = useCallback(() => {\n setHaveFetchError(false);\n setIsLoading(false);\n setIsLoadingSelectedOption(false);\n setIsPopoverOpen(false);\n }, []);\n const debouncedFetchOptions = useDebounceCallback(useCallback((newValue) => {\n if (!autoComplete || !fetchOptions)\n return;\n if (newValue === \"\") {\n clear();\n setOptions([]);\n setSelectedValue(\"\");\n setSelectedOption(undefined);\n return;\n }\n setHaveFetchError(false);\n setIsLoading(true);\n try {\n const result = fetchOptions(newValue, context);\n Promise.resolve(result)\n .then((newOptions) => {\n setOptions(newOptions);\n const matchingOption = newOptions.find((opt) => opt.value === newValue);\n if (matchingOption) {\n setSelectedOption(matchingOption);\n setIsPopoverOpen(false);\n }\n else {\n setSelectedOption(undefined);\n setIsPopoverOpen(true);\n }\n setIsLoading(false);\n })\n .catch(() => {\n setHaveFetchError(true);\n setIsLoading(false);\n });\n }\n catch {\n setHaveFetchError(true);\n setIsLoading(false);\n }\n }, [clear, autoComplete, fetchOptions, context]));\n const handleFetchSelectedOption = useCallback((value) => {\n if (!autoComplete || !fetchSelectedOption)\n return;\n setIsLoadingSelectedOption(true);\n try {\n const result = fetchSelectedOption(value);\n const isPromise = result instanceof Promise;\n Promise.resolve(result)\n .then((option) => {\n if (option) {\n setSelectedOption(option);\n setOptions((prevOptions) => {\n const optionIndex = prevOptions.findIndex((opt) => opt.value === value);\n if (optionIndex !== -1) {\n const newOptions = [...prevOptions];\n newOptions[optionIndex] = option;\n return newOptions;\n }\n return prevOptions;\n });\n }\n else {\n clear();\n setOptions([]);\n setSelectedValue(\"\");\n setSelectedOption(undefined);\n }\n setIsLoadingSelectedOption(false);\n if (!isPromise) {\n setIsFetchSelectedOptionSync(true);\n setTimeout(() => {\n setIsFetchSelectedOptionSync(false);\n }, 1500);\n }\n })\n .catch(() => {\n setIsLoadingSelectedOption(false);\n });\n }\n catch {\n setIsLoadingSelectedOption(false);\n }\n }, [clear, autoComplete, fetchSelectedOption]);\n const handleOpenChange = useCallback((open) => {\n if (!open) {\n setCommandValue(options[0]?.value ?? \"\");\n }\n setIsPopoverOpen(open);\n }, [options]);\n const toggleOption = useCallback((optionValue) => {\n shouldFetchOptions.current = false;\n isInternalChange.current = true;\n setSelectedValue(optionValue);\n setSelectedOption(options.find((opt) => opt.value === optionValue));\n clear();\n onChange?.(optionValue);\n }, [onChange, clear, options]);\n const handleChange = useCallback((e) => {\n const newValue = e.target.value;\n shouldFetchOptions.current = true;\n setSelectedValue(newValue);\n setSelectedOption(undefined);\n onChange?.(newValue);\n }, [onChange]);\n const handleCommandValue = useCallback((value) => {\n setCommandValue(value);\n }, []);\n const onTriggerBlur = useCallback((e) => {\n if (!isPopoverOpen) {\n onBlur?.(e);\n }\n }, [onBlur, isPopoverOpen]);\n const handlePaste = useCallback((e) => {\n // Get clipboard data and trim it\n const clipboardData = e.clipboardData.getData(\"text\");\n const trimmedValue = clipboardData.trim();\n // If trimming changed the value, handle paste manually\n if (clipboardData !== trimmedValue) {\n e.preventDefault();\n // Get current input element and selection positions\n const input = e.currentTarget;\n const start = input.selectionStart || 0;\n const end = input.selectionEnd || 0;\n // Create new value by inserting trimmed text at cursor position\n const currentValue = input.value;\n const newValue = currentValue.substring(0, start) +\n trimmedValue +\n currentValue.substring(end);\n // Update input value via onChange\n onChange?.(newValue);\n // Set cursor position after pasted text and fetch options\n requestAnimationFrame(() => {\n const newPosition = start + trimmedValue.length;\n input.setSelectionRange(newPosition, newPosition);\n debouncedFetchOptions(newValue);\n });\n }\n else if (clipboardData === selectedValue) {\n debouncedFetchOptions(selectedValue);\n }\n }, [selectedValue, debouncedFetchOptions, onChange]);\n useEffect(() => {\n if (autoComplete) {\n if (shouldFetchOptions.current) {\n debouncedFetchOptions(selectedValue);\n }\n }\n else {\n clear();\n setOptions([]);\n setSelectedValue(\"\");\n setSelectedOption(undefined);\n }\n }, [autoComplete, selectedValue, debouncedFetchOptions, clear]);\n useEffect(() => {\n if (!isInternalChange.current) {\n shouldFetchOptions.current = false;\n setSelectedValue(value ?? defaultValue ?? \"\");\n setSelectedOption(undefined);\n }\n isInternalChange.current = false;\n }, [value]);\n useEffect(() => {\n if (initialOptions?.length && selectedValue) {\n const matchingOption = initialOptions.find((opt) => opt.value === selectedValue);\n if (matchingOption) {\n setSelectedOption(matchingOption);\n }\n }\n }, []);\n return {\n selectedValue,\n selectedOption,\n isPopoverOpen,\n commandListRef,\n options,\n isLoading,\n isLoadingSelectedOption,\n haveFetchError,\n commandValue,\n isFetchSelectedOptionSync,\n toggleOption,\n handleOpenChange,\n onTriggerBlur,\n handleChange,\n handleCommandValue,\n handleFetchSelectedOption,\n handlePaste,\n };\n}\n//# sourceMappingURL=use-id-autocomplete.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Command, FormDescription, FormGroup, FormLabel, FormMessageList, Input, Popover, PopoverAnchor, PopoverContent, sharedValueTransformers, ValueTransformer, } from \"@powerhousedao/design-system\";\nimport React, { useId, useMemo, useRef } from \"react\";\nimport { IdAutocompleteInputContainer } from \"./id-autocomplete-input-container.js\";\nimport { IdAutocompleteListOption } from \"./id-autocomplete-list-option.js\";\nimport { IdAutocompleteList } from \"./id-autocomplete-list.js\";\nimport { useIdAutocomplete } from \"./use-id-autocomplete.js\";\nconst IdAutocomplete = React.forwardRef(({ id: idProp, name, className, label, description, value, defaultValue, disabled, placeholder, required, errors, warnings, onChange, onBlur, onClick, onKeyDown, onMouseDown, autoComplete = true, variant = \"withValue\", maxLength, fetchOptionsCallback, fetchSelectedOptionCallback, isOpenByDefault, // to be used only in stories\ninitialOptions, renderOption, previewPlaceholder, ...props }, ref) => {\n const prefix = useId();\n const id = idProp ?? `${prefix}-id-autocomplete`;\n const inputRef = useRef(null);\n const mergedRef = (node) => {\n inputRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n }\n else if (ref) {\n ref.current = node;\n }\n };\n const hasWarning = Array.isArray(warnings) && warnings.length > 0;\n const hasError = Array.isArray(errors) && errors.length > 0;\n const { selectedValue, selectedOption, isPopoverOpen, commandListRef, options, isLoading, isLoadingSelectedOption, haveFetchError, commandValue, isFetchSelectedOptionSync, toggleOption, handleOpenChange, onTriggerBlur, handleChange, handleCommandValue, handleFetchSelectedOption, handlePaste, } = useIdAutocomplete({\n autoComplete,\n defaultValue,\n value,\n isOpenByDefault,\n initialOptions,\n onChange,\n onBlur,\n fetchOptions: fetchOptionsCallback,\n fetchSelectedOption: fetchSelectedOptionCallback,\n });\n const handleOptionSelection = (optionValue) => {\n toggleOption(optionValue);\n inputRef.current?.focus();\n };\n const asCard = variant === \"withValueAndTitle\" ||\n variant === \"withValueTitleAndDescription\";\n const transformers = useMemo(() => [\n sharedValueTransformers.trimOnBlur(),\n sharedValueTransformers.trimOnEnter(),\n ], []);\n return (_jsxs(FormGroup, { children: [!!label && (_jsx(FormLabel, { htmlFor: id, disabled: disabled, hasError: hasError, required: required, onClick: (e) => {\n e.preventDefault();\n e.target.control?.focus();\n }, children: label })), autoComplete && fetchOptionsCallback ? (_jsx(Popover, { open: isPopoverOpen, onOpenChange: handleOpenChange, children: _jsxs(Command, { shouldFilter: false, value: commandValue, onValueChange: handleCommandValue, className: cn(\"dark:bg-charcoal-900 bg-gray-100\"), children: [_jsx(PopoverAnchor, { asChild: true, children: _jsx(IdAutocompleteInputContainer, { id: id, name: name, value: selectedValue, className: className, isLoading: isLoading, haveFetchError: haveFetchError, disabled: disabled, onChange: handleChange, onBlur: onTriggerBlur, onClick: onClick, selectedOption: selectedOption, optionsLength: options.length, handleOpenChange: handleOpenChange, onKeyDown: onKeyDown, onMouseDown: onMouseDown, placeholder: placeholder, hasError: hasError, label: label, required: required, isPopoverOpen: isPopoverOpen, maxLength: maxLength, handlePaste: handlePaste, ...props, ref: mergedRef }) }), asCard &&\n (renderOption ? (renderOption(selectedOption === undefined && previewPlaceholder\n ? {\n ...previewPlaceholder,\n }\n : {\n ...selectedOption,\n value: selectedOption?.value ?? \"\",\n }, {\n asPlaceholder: selectedOption === undefined,\n showValue: false,\n isLoadingSelectedOption,\n handleFetchSelectedOption: fetchSelectedOptionCallback\n ? handleFetchSelectedOption\n : undefined,\n isFetchSelectedOptionSync,\n className: cn(\"rounded-t-none pt-2\"),\n })) : (_jsx(IdAutocompleteListOption, { variant: variant, icon: selectedOption?.icon ?? previewPlaceholder?.icon, title: selectedOption?.title ?? previewPlaceholder?.title, path: selectedOption?.path ?? previewPlaceholder?.path, value: selectedOption?.value ?? previewPlaceholder?.value ?? \"\", description: selectedOption?.description ??\n previewPlaceholder?.description, asPlaceholder: selectedOption === undefined, showValue: false, isLoadingSelectedOption: isLoadingSelectedOption, handleFetchSelectedOption: fetchSelectedOptionCallback\n ? handleFetchSelectedOption\n : undefined, isFetchSelectedOptionSync: isFetchSelectedOptionSync, className: cn(\"rounded-t-none pt-2\") }))), _jsx(PopoverContent, { align: \"start\", onOpenAutoFocus: (e) => e.preventDefault(), onInteractOutside: (e) => {\n if (e.target instanceof Element && e.target.id === id) {\n e.preventDefault();\n }\n }, children: _jsx(IdAutocompleteList, { variant: variant, commandListRef: commandListRef, selectedValue: selectedValue, options: options, toggleOption: handleOptionSelection, renderOption: renderOption, previewPlaceholder: previewPlaceholder }) })] }) })) : (_jsx(ValueTransformer, { transformers: transformers, children: _jsx(Input, { id: id, name: name, value: selectedValue, className: className, disabled: disabled, onChange: handleChange, onBlur: onBlur, onClick: onClick, onMouseDown: onMouseDown, placeholder: placeholder, \"aria-invalid\": hasError, \"aria-label\": !label ? \"Id Autocomplete\" : undefined, \"aria-required\": required, maxLength: maxLength, ...props, ref: mergedRef }) })), !!description && _jsx(FormDescription, { children: description }), hasWarning && _jsx(FormMessageList, { messages: warnings, type: \"warning\" }), hasError && _jsx(FormMessageList, { messages: errors, type: \"error\" })] }));\n});\nIdAutocomplete.displayName = \"IdAutocomplete\";\nexport { IdAutocomplete };\n//# sourceMappingURL=id-autocomplete.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nimport * as React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\nconst inputBaseStyles = cn(\n// Base styles\n\"flex h-9 w-full rounded-md text-sm font-normal leading-5 text-gray-900 dark:text-gray-50\", \n// Border & Background\n\"dark:border-charcoal-700 dark:bg-charcoal-900 border border-gray-300 bg-white\", \n// Padding\n\"px-3 py-2\", \n// Placeholder\n\"font-sans placeholder:text-gray-500 dark:placeholder:text-gray-600\", \n// Focus styles\n\"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gray-900 focus-visible:ring-offset-0 focus-visible:ring-offset-white\", \"dark:focus-visible:ring-charcoal-300 dark:focus-visible:ring-offset-charcoal-900 dark:focus:bg-charcoal-900 focus:bg-gray-50\", \n// Disabled state\n\"disabled:cursor-not-allowed\", \"disabled:border-gray-300 disabled:bg-gray-50 disabled:text-gray-700\", \"disabled:dark:border-charcoal-800 disabled:dark:bg-charcoal-900 disabled:dark:text-gray-300\");\nconst Input = React.forwardRef(({ className, type, ...props }, ref) => {\n return (_jsx(\"input\", { type: type, className: cn(inputBaseStyles, className), ref: ref, ...props }));\n});\nInput.displayName = \"Input\";\nexport { Input };\n//# sourceMappingURL=input.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { forwardRef, useCallback, useEffect, useState } from \"react\";\nimport { Controller, useFormContext, useFormState } from \"react-hook-form\";\nexport const withFieldValidation = (Component, options) => {\n return forwardRef(({ value, name, showErrorOnBlur, showErrorOnChange, validators: customValidators, ...props }, ref) => {\n const { onChange: onChangeProp, onBlur: onBlurProp } = props;\n const { control, formState: { errors: formErrors, defaultValues }, trigger, setValue, getValues, } = useFormContext();\n const { submitCount } = useFormState();\n if (!name) {\n throw new Error(`[Field: ${Component.displayName}] The name prop is required.`);\n }\n const errors = [\n ...(formErrors[name]?.types\n ? Object.values(formErrors[name].types ?? [])\n : []),\n ];\n if (errors.length === 0 && !!formErrors[name]) {\n // the field is invalid but no error message was provided\n errors.push(\"Invalid value\");\n }\n useEffect(() => {\n if (submitCount > 0) {\n void trigger(name);\n }\n // we should trigger a re-validation after the form is submitted, the errors are shown\n // and the required prop is changed. Other deps can not be added, otherwise a revalidation\n // will be triggered unnecessarily\n }, [props.required]);\n useEffect(() => {\n // if custom errors are provided, then we need to trigger the validation\n // otherwise the errors will not be shown till the form is submitted\n if (props.errors && props.errors.length > 0) {\n void trigger(name);\n }\n }, [name, props.errors, trigger]);\n const [initialized, setInitialized] = useState(false);\n useEffect(() => {\n if (initialized) {\n setValue(name, value);\n }\n setInitialized(true);\n // initialized can not be in the dependencies because it would cause\n // a change of the value on initial render\n }, [name, value]);\n if (value !== undefined && !onChangeProp) {\n console.warn(`[Field: ${name}] Value prop provided without onChange so it will be ignored. Use disabled/readOnly if you want to prevent changes.`);\n }\n return (_jsx(Controller, { control: control, name: name, defaultValue: (value ?? props.defaultValue), disabled: props.disabled, render: ({ field: { \n // just preventing that onChange is included in the rest of the props\n onChange: _, onBlur: onBlurController, value: internalValue, ...rest }, }) => {\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n const onBlurCallback = useCallback((event) => {\n if (showErrorOnBlur) {\n void trigger(name);\n }\n else {\n onBlurController(); // default behavior\n }\n // trigger parent onBlur\n if (onBlurProp) {\n onBlurProp(event);\n }\n }, [onBlurController, showErrorOnBlur]);\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n const onChangeCallback = useCallback((event) => {\n // update value state\n if (onChangeProp) {\n if (Object.hasOwn(event, \"target\")) {\n // it is probably an actual event\n setValue(name, event.target.value);\n }\n else {\n // it is a custom onChange and it pass the value directly\n setValue(name, event);\n }\n // the fields is controlled by the parent\n onChangeProp(event);\n }\n else {\n // sometimes the onChange is overridden by the parent and use the new value as parameter instead of event\n let value = event;\n if (event instanceof Event ||\n event.target instanceof HTMLElement) {\n value = event.target.value;\n }\n setValue(name, value); // default behavior\n }\n // now let's validate the field\n if (showErrorOnChange === undefined &&\n showErrorOnBlur === undefined) {\n // use form validation mode...\n // if previously validated, then validate on change\n if (submitCount > 0) {\n void trigger(name);\n }\n }\n else {\n // default validation behavior was overridden\n if (showErrorOnChange) {\n void trigger(name);\n }\n }\n }, \n // `internalValue` is the value of the field that is controlled by the form\n // it is used to trigger the validation on change, so we need to add it to the dependencies\n // otherwise the validation will not be triggered on change\n [internalValue, showErrorOnChange, showErrorOnBlur, submitCount]);\n // extract ref from rest\n const { ref: formFieldRef } = rest;\n // create a combined ref\n const combinedRef = (element) => {\n // apply external ref if exists\n if (typeof ref === \"function\") {\n ref(element);\n }\n else if (ref) {\n ref.current = element;\n }\n // apply field ref\n formFieldRef(element);\n };\n return (_jsx(Component, { ...props, ...rest, value: internalValue, onBlur: onBlurCallback, onChange: onChangeCallback, errors: errors, ref: combinedRef }));\n }, rules: {\n ...(props.required\n ? {\n required: {\n value: props.required,\n message: \"This field is required\",\n },\n }\n : {\n required: undefined,\n }),\n ...(props.pattern && {\n pattern: {\n value: new RegExp(props.pattern),\n message: \"This field does not match the required pattern\",\n },\n }),\n ...(props.maxLength !== undefined && props.maxLength >= 0\n ? {\n maxLength: {\n value: props.maxLength,\n message: `This field must be at most ${props.maxLength} characters`,\n },\n }\n : {\n maxLength: undefined,\n }),\n ...(props.minLength !== undefined && props.minLength >= 0\n ? {\n minLength: {\n value: props.minLength,\n message: `This field must be at least ${props.minLength} characters`,\n },\n }\n : {\n minLength: undefined,\n }),\n ...(props.minValue && {\n min: {\n value: props.minValue,\n message: `This field must be greater than or equal to ${props.minValue}`,\n },\n }),\n ...(props.maxValue && {\n max: {\n value: props.maxValue,\n message: `This field must be less than or equal to ${props.maxValue}`,\n },\n }),\n validate: {\n // custom errors provided as props\n ...(props.errors\n ? Object.fromEntries(Array.isArray(props.errors)\n ? props.errors.map((error, index) => [\n `_propError${index}`,\n () => error,\n ])\n : [])\n : {}),\n // built in validations by the field in the library\n ...(options?.validations\n ? Object.fromEntries(Object.entries(options.validations).map(([key, validatorFactory]) => {\n const propsWithValues = {\n value: getValues(name), // get the actual value of the field in the form\n name,\n showErrorOnBlur,\n showErrorOnChange,\n ...props,\n };\n return [\n key,\n validatorFactory(propsWithValues),\n ];\n }))\n : {}),\n // custom validations by the user/developer\n ...(customValidators !== undefined\n ? Object.fromEntries((Array.isArray(customValidators)\n ? customValidators\n : [customValidators]).map((validator, index) => [\n `customValidation${index}`,\n validator,\n ]))\n : {}),\n },\n } }));\n });\n};\n//# sourceMappingURL=with-field-validation.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { cn, CommandItem, Icon } from \"@powerhousedao/design-system\";\nimport React from \"react\";\nconst renderIcon = (IconComponent) => {\n if (typeof IconComponent === \"string\") {\n return (_jsx(Icon, { name: IconComponent, size: 16, className: cn(\"text-gray-700 dark:text-gray-400\") }));\n }\n return (IconComponent && (_jsx(IconComponent, { className: cn(\"size-4\", \"text-gray-700 dark:text-gray-400\") })));\n};\nexport const CommandItemList = ({ options = [], selectedValues, multiple, selectionIcon, selectionIconPosition, hasAnyIcon, toggleOption, tabIndex, }) => {\n return (_jsx(_Fragment, { children: options.map((opt) => {\n const isSelected = selectedValues.includes(opt.value);\n return (_jsxs(CommandItem, { tabIndex: tabIndex, value: opt.label, onSelect: () => !opt.disabled && toggleOption(opt.value), disabled: opt.disabled, className: cn(\"cursor-pointer\", \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900\", opt.disabled &&\n \"!pointer-events-auto cursor-not-allowed hover:bg-transparent dark:hover:bg-transparent\"), role: \"option\", \"aria-selected\": isSelected, children: [selectionIcon === \"auto\" &&\n (multiple ? (_jsx(\"div\", { className: cn(\"flex size-4 items-center justify-center rounded-md border\", \"border-gray-700 dark:border-gray-400\", isSelected &&\n \"bg-gray-900 text-slate-50 dark:bg-gray-400 dark:text-black\"), children: isSelected && _jsx(Icon, { name: \"Checkmark\", size: 16 }) })) : (_jsx(\"div\", { className: cn(\"relative size-4 rounded-full border\", isSelected\n ? \"border-gray-900 dark:border-gray-400\"\n : \"border-gray-800 dark:border-gray-400\", \"bg-transparent dark:bg-transparent\"), children: isSelected && (_jsx(\"div\", { className: \"absolute left-1/2 top-1/2 size-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full bg-gray-900 dark:bg-gray-400\" })) }))), selectionIcon === \"checkmark\" &&\n !(selectionIconPosition === \"right\" && hasAnyIcon) && (_jsx(\"div\", { className: \"size-4\", children: selectionIconPosition === \"left\" && isSelected && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) })), renderIcon(opt.icon), _jsx(\"span\", { className: cn(\"flex-1 truncate text-[14px] font-normal leading-4\", \"text-gray-700 dark:text-gray-500\", opt.disabled && \"text-gray-600 dark:text-gray-600\"), children: opt.label }), selectionIcon === \"checkmark\" &&\n selectionIconPosition === \"right\" && (_jsx(\"div\", { className: \"size-4\", children: isSelected && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) }))] }, `favorite-${opt.value}`));\n }) }));\n};\n//# sourceMappingURL=CommandItemList.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { cn, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, Icon, } from \"@powerhousedao/design-system\";\nimport { useCommandState } from \"cmdk\";\nimport React, { useEffect } from \"react\";\nimport { CommandItemList } from \"./subcomponents/CommandItemList.js\";\nexport const Content = ({ searchable, commandListRef, multiple, selectedValues, selectionIcon, selectionIconPosition, options = [], toggleAll, toggleOption, favoriteOptions = [], }) => {\n const enabledOptions = options.filter((opt) => !opt.disabled);\n const hasAnyIcon = options.some((opt) => opt.icon);\n const cmdkSearch = useCommandState((state) => state.search);\n // scroll to top when search change\n useEffect(() => {\n commandListRef.current?.scrollTo({ top: 0, behavior: \"instant\" });\n }, [commandListRef, cmdkSearch]);\n return (_jsxs(_Fragment, { children: [searchable && (_jsx(CommandInput, { placeholder: \"Search...\", onKeyDown: (e) => {\n const isOptionsRelatedKey = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Enter\",\n ].includes(e.key);\n if (!(isOptionsRelatedKey && enabledOptions.length > 0)) {\n e.stopPropagation();\n }\n }, wrapperClassName: \"rounded-t\", className: \"text-gray-900 dark:text-gray-50\" })), _jsxs(CommandList, { ref: commandListRef, tabIndex: !searchable ? 0 : undefined, children: [_jsx(CommandEmpty, { className: \"p-4 text-center text-[14px] font-normal leading-5 text-gray-700 dark:text-gray-400\", children: \"No results found.\" }), multiple && cmdkSearch === \"\" && (_jsx(CommandGroup, { className: \"pb-0\", children: _jsx(CommandItem, { value: \"select-all\", onSelect: toggleAll, disabled: false, className: cn(\"cursor-pointer\", \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900\"), role: \"option\", \"aria-selected\": selectedValues.length === enabledOptions.length, children: _jsxs(\"div\", { className: \"flex w-full items-center gap-2\", children: [selectionIcon === \"auto\" && (_jsx(\"div\", { className: cn(\"flex size-4 items-center justify-center rounded-md border\", \"border-gray-700 dark:border-gray-400\", selectedValues.length === enabledOptions.length &&\n \"bg-gray-900 text-slate-50 dark:bg-gray-400 dark:text-black\"), children: selectedValues.length === enabledOptions.length && (_jsx(Icon, { name: \"Checkmark\", size: 16 })) })), selectionIcon === \"checkmark\" &&\n !(selectionIconPosition === \"right\" && hasAnyIcon) && (_jsx(\"div\", { className: \"size-4\", children: selectionIconPosition === \"left\" &&\n selectedValues.length === enabledOptions.length && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) })), _jsx(\"span\", { className: \"text-[14px] font-semibold leading-4 text-gray-900 dark:text-gray-50\", children: selectedValues.length === enabledOptions.length\n ? \"Deselect All\"\n : \"Select All\" }), selectionIcon === \"checkmark\" &&\n selectionIconPosition === \"right\" && (_jsx(\"div\", { className: \"ml-auto size-4\", children: selectedValues.length === enabledOptions.length && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) }))] }) }) })), _jsxs(CommandGroup, { className: multiple && cmdkSearch === \"\" ? \"pt-0\" : undefined, children: [_jsx(CommandItemList, { options: favoriteOptions, selectedValues: selectedValues, multiple: multiple, selectionIcon: selectionIcon, selectionIconPosition: selectionIconPosition, hasAnyIcon: hasAnyIcon, toggleOption: toggleOption, tabIndex: !searchable ? 0 : undefined }), favoriteOptions.length > 0 && (_jsx(\"div\", { className: \"my-1 border-b border-gray-300 dark:border-gray-600\" })), _jsx(CommandItemList, { options: options, selectedValues: selectedValues, multiple: multiple, selectionIcon: selectionIcon, selectionIconPosition: selectionIconPosition, hasAnyIcon: hasAnyIcon, toggleOption: toggleOption, tabIndex: !searchable ? 0 : undefined })] })] })] }));\n};\n//# sourceMappingURL=content.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Icon } from \"@powerhousedao/design-system\";\nimport React from \"react\";\nexport const SelectedContent = ({ selectedValues, options = [], multiple, searchable, placeholder, handleClear, }) => {\n const renderIcon = (IconComponent) => {\n if (typeof IconComponent === \"string\") {\n return _jsx(Icon, { name: IconComponent, size: 16 });\n }\n return IconComponent && _jsx(IconComponent, { className: \"size-4\" });\n };\n if (selectedValues.length === 0) {\n return (_jsxs(\"div\", { className: cn(\"mx-auto flex w-full items-center\", placeholder ? \"justify-between\" : \"justify-end\"), children: [placeholder && (_jsx(\"span\", { className: \"text-[14px] font-normal leading-5 text-gray-600 dark:text-gray-500\", children: placeholder })), searchable ? (_jsx(Icon, { name: \"CaretSort\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" })) : (_jsx(Icon, { name: \"ChevronDown\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" }))] }));\n }\n return (_jsxs(\"div\", { className: \"flex w-full items-center justify-between gap-2\", children: [_jsx(\"div\", { className: cn(\"max-w-full truncate text-gray-900 dark:text-gray-50\", !multiple && \"flex items-center gap-2\"), children: selectedValues.map((value, index) => {\n const option = options.find((o) => o.value === value);\n return !multiple ? (_jsxs(React.Fragment, { children: [renderIcon(option?.icon), _jsx(\"span\", { className: \"truncate text-[14px] font-normal leading-5\", children: option?.label })] }, value)) : (_jsx(\"span\", { className: cn(\"text-[14px] font-normal leading-5\", index !== selectedValues.length - 1 && \"mr-1\"), children: index !== selectedValues.length - 1\n ? `${option?.label},`\n : option?.label }, value));\n }) }), _jsxs(\"div\", { className: \"flex items-center justify-between gap-2\", children: [multiple && selectedValues.length > 0 && (_jsx(\"div\", { onClick: (e) => {\n e.preventDefault();\n e.stopPropagation();\n handleClear();\n }, className: \"size-4 p-0\", children: _jsx(Icon, { name: \"XmarkLight\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" }) })), searchable ? (_jsx(Icon, { name: \"CaretSort\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" })) : (_jsx(Icon, { name: \"ChevronDown\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" }))] })] }));\n};\n//# sourceMappingURL=selected-content.js.map","import { useCallback, useEffect, useRef, useState } from \"react\";\nexport function useSelectField({ options = [], multiple = false, defaultValue, value, onChange, }) {\n const isInternalChange = useRef(false);\n const commandListRef = useRef(null);\n const [isPopoverOpen, setIsPopoverOpen] = useState(false);\n const [selectedValues, setSelectedValues] = useState(() => {\n const initialValue = value ?? defaultValue ?? [];\n if (initialValue === \"\") {\n return [];\n }\n return Array.isArray(initialValue) ? initialValue : [initialValue];\n });\n useEffect(() => {\n if (isInternalChange.current) {\n isInternalChange.current = false;\n return;\n }\n const newValue = value ?? defaultValue ?? [];\n if (newValue === \"\") {\n setSelectedValues([]);\n }\n else {\n setSelectedValues(Array.isArray(newValue) ? newValue : [newValue]);\n }\n }, [value]);\n const handleOpenChange = useCallback((open) => {\n setIsPopoverOpen(open);\n }, []);\n const toggleOption = useCallback((optionValue) => {\n isInternalChange.current = true;\n let newValues;\n if (multiple) {\n newValues = selectedValues.includes(optionValue)\n ? selectedValues.filter((v) => v !== optionValue)\n : [...selectedValues, optionValue];\n }\n else {\n newValues = selectedValues[0] === optionValue ? [] : [optionValue];\n setIsPopoverOpen(false);\n }\n setSelectedValues(newValues);\n onChange?.(multiple ? newValues : (newValues[0] ?? \"\"));\n }, [multiple, selectedValues, options, onChange]);\n const handleClear = useCallback(() => {\n isInternalChange.current = true;\n setSelectedValues([]);\n onChange?.(multiple ? [] : \"\");\n }, [multiple, onChange]);\n const toggleAll = useCallback(() => {\n isInternalChange.current = true;\n const enabledOptions = options\n .filter((opt) => !opt.disabled)\n .map((opt) => opt.value);\n const newValues = selectedValues.length === enabledOptions.length ? [] : enabledOptions;\n setSelectedValues(newValues);\n onChange?.(multiple ? newValues : newValues[0]);\n }, [options, selectedValues, multiple, onChange]);\n // handles changes to the \"multiple\" prop avoiding calling onChange on mount\n const prevMultiple = useRef(multiple);\n useEffect(() => {\n if (prevMultiple.current === multiple) {\n return;\n }\n prevMultiple.current = multiple;\n if (!multiple && selectedValues.length > 1) {\n isInternalChange.current = true;\n setSelectedValues([selectedValues[0]]);\n onChange?.(selectedValues[0]);\n return;\n }\n if (selectedValues.length > 0) {\n isInternalChange.current = true;\n onChange?.(multiple ? [selectedValues[0]] : selectedValues[0]);\n }\n }, [multiple]);\n return {\n selectedValues,\n isPopoverOpen,\n commandListRef,\n toggleOption,\n handleClear,\n toggleAll,\n handleOpenChange,\n };\n}\n//# sourceMappingURL=use-select-field.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button, cn, Command, FormDescription, FormGroup, FormLabel, FormMessageList, Popover, PopoverContent, PopoverTrigger, } from \"@powerhousedao/design-system\";\nimport React, { useCallback, useId } from \"react\";\nimport { withFieldValidation } from \"../with-field-validation/with-field-validation.js\";\nimport { Content } from \"./content.js\";\nimport { SelectedContent } from \"./selected-content.js\";\nimport { useSelectField } from \"./use-select-field.js\";\nexport const SelectFieldRaw = React.forwardRef(({ \n// core functionality props\noptions = [], favoriteOptions = [], defaultValue, value, onChange, onBlur, \n// form-related props\nid: propId, name, label, required, disabled, \n// validation props\nerrors = [], warnings = [], \n// behavior props\nmultiple, selectionIcon = \"auto\", selectionIconPosition = \"left\", searchable, \n// display props\ndescription, placeholder, className, contentClassName, contentAlign = \"start\", ...props }, ref) => {\n const prefix = useId();\n const id = propId ?? `${prefix}-select`;\n const { selectedValues, isPopoverOpen, commandListRef, toggleOption, handleClear, toggleAll, handleOpenChange, } = useSelectField({\n options,\n multiple,\n defaultValue,\n value,\n onChange,\n });\n const onTriggerBlur = useCallback((e) => {\n if (!isPopoverOpen) {\n // trigger the blur event when the trigger loses focus but the popover is not open,\n // because when the popover is open, the trigger loses focus but the select as a component still has the focus\n onBlur?.(e);\n }\n }, [onBlur, isPopoverOpen]);\n return (_jsxs(FormGroup, { children: [label && (_jsx(FormLabel, { htmlFor: id, required: required, disabled: disabled, hasError: errors.length > 0, inline: false, onClick: (e) => {\n e.preventDefault();\n e.target.control?.focus();\n }, children: label })), _jsxs(Popover, { open: isPopoverOpen, onOpenChange: (open) => {\n handleOpenChange(open);\n // if the popover is closing and it was not by the trigger button\n if (!open && document.activeElement?.id !== id) {\n onBlur?.({ target: {} });\n }\n }, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { id: id, name: name, type: \"button\", role: \"combobox\", onBlur: onTriggerBlur, disabled: disabled, \"aria-invalid\": errors.length > 0, \"aria-label\": label ? undefined : multiple ? \"Multi select\" : \"Select\", \"aria-required\": required, \"aria-expanded\": isPopoverOpen, className: cn(\"flex h-9 w-full items-center justify-between px-3 py-2\", \"dark:border-charcoal-700 dark:bg-charcoal-900 rounded-md border border-gray-300 bg-white\", \"hover:border-gray-300 hover:bg-gray-100\", \"dark:hover:border-charcoal-700 dark:hover:bg-charcoal-800\", \"dark:focus:ring-charcoal-300 focus:outline-none focus:ring-1 focus:ring-gray-900 focus:ring-offset-0\", \"dark:focus-visible:ring-charcoal-300 focus-visible:ring-1 focus-visible:ring-gray-900 focus-visible:ring-offset-0\", disabled && [\n \"!pointer-events-auto cursor-not-allowed bg-gray-50\",\n \"dark:hover:border-charcoal-700 dark:hover:bg-charcoal-900 hover:border-gray-300 hover:bg-gray-50\",\n ], className), ...props, ref: ref, children: _jsx(SelectedContent, { selectedValues: selectedValues, options: [...favoriteOptions, ...options], multiple: multiple, searchable: searchable, placeholder: placeholder, handleClear: handleClear }) }) }), _jsx(PopoverContent, { align: contentAlign, onEscapeKeyDown: (e) => {\n e.preventDefault();\n handleOpenChange(false);\n }, className: contentClassName, children: _jsx(Command, { defaultValue: !multiple && selectedValues[0]\n ? options.find((opt) => opt.value === selectedValues[0])\n ?.label\n : undefined, children: _jsx(Content, { favoriteOptions: favoriteOptions, searchable: searchable, commandListRef: commandListRef, multiple: multiple, selectedValues: selectedValues, selectionIcon: selectionIcon, selectionIconPosition: selectionIconPosition, options: options, toggleAll: toggleAll, toggleOption: toggleOption }) }) })] }), description && _jsx(FormDescription, { children: description }), warnings.length > 0 && (_jsx(FormMessageList, { messages: warnings, type: \"warning\" })), errors.length > 0 && (_jsx(FormMessageList, { messages: errors, type: \"error\" }))] }));\n});\nexport const SelectField = withFieldValidation(SelectFieldRaw);\nSelectField.displayName = \"SelectField\";\n//# sourceMappingURL=select-field.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nimport { Content, Portal, Provider, Root, Trigger, } from \"@radix-ui/react-tooltip\";\nimport { forwardRef } from \"react\";\nconst TooltipContent = forwardRef(({ children, className, ...props }, ref) => {\n return (_jsx(Content, { ref: ref, ...props, className: cn(\n // Base styles\n \"z-50 overflow-hidden rounded-md text-sm\", \n // Colors & Border\n \"border border-gray-200 bg-white text-gray-900 dark:border-gray-900 dark:bg-slate-900 dark:text-gray-200\", \n // Padding & Shadow\n \"px-3 py-1.5 shadow-md\", \n // Animations\n \"data-[state=open]:animate-fade-in data-[state=open]:animate-zoom-in\", \"data-[state=closed]:animate-fade-out data-[state=closed]:animate-zoom-out\", \n // Slide animations based on position\n \"data-[side=bottom]:animate-slide-in-from-top\", \"data-[side=left]:animate-slide-in-from-right\", \"data-[side=right]:animate-slide-in-from-left\", \"data-[side=top]:animate-slide-in-from-bottom\", className), children: children }));\n});\nconst Tooltip = ({ content, children, triggerAsChild = false, delayDuration = 0, ...props }) => {\n const { open, defaultOpen, onOpenChange, ...rest } = props;\n return (_jsxs(Root, { defaultOpen: defaultOpen, delayDuration: delayDuration, onOpenChange: onOpenChange, open: open, children: [_jsx(Trigger, { asChild: triggerAsChild, type: triggerAsChild ? undefined : \"button\", children: children }), _jsx(Portal, { children: _jsx(TooltipContent, { sideOffset: 3, ...rest, children: content }) })] }));\n};\nexport { Tooltip, TooltipContent, Provider as TooltipProvider, Root as TooltipRoot, Trigger as TooltipTrigger, };\n//# sourceMappingURL=tooltip.js.map","import { deepEqual } from \"@powerhousedao/design-system\";\nimport React, { useEffect } from \"react\";\nimport { useFormContext } from \"react-hook-form\";\n// Workaround to set the value of an input element\n// following react core team recommendation\n// https://github.com/facebook/react/issues/10135\nfunction setNativeValue(element, value) {\n const valueSetter = Object.getOwnPropertyDescriptor(element, \"value\")?.set;\n const prototype = Object.getPrototypeOf(element);\n const prototypeValueSetter = Object.getOwnPropertyDescriptor(prototype, \"value\")?.set;\n if (valueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter?.call(element, value);\n }\n else {\n valueSetter?.call(element, value);\n }\n}\n// apply transformers to the value\nfunction _applyTransformers(transformers, value, filter = \"blur\") {\n return transformers.reduce((value, transformer) => {\n if (typeof transformer === \"function\") {\n if (filter === \"blur\" || filter === \"all\") {\n // array of transformers are only applied on blur\n return transformer(value);\n }\n return value;\n }\n // it is a transformer object\n if ((transformer.options?.trigger ?? \"blur\") !== filter &&\n filter !== \"all\") {\n return value;\n }\n // if no set, we assume true\n if (transformer.options?.if === undefined || transformer.options.if) {\n return transformer.transformer(value);\n }\n return value;\n }, value);\n}\n/**\n * Apply transformers to the value of the input element. A transformer is a function that\n * will be applied to the value of the input element modifying the value.\n *\n * @param transformers - An array of transformers. A transformer is an object with a\n * `transformer` property, which is a function that will be applied to the value of\n * the input element, and an optional `options` property. The `options` property can\n * have a `trigger` property, which is the event that triggers the transformer, and\n * an `if` property, which is a boolean that indicates if the transformer should be\n * applied.\n * @param children - The input element to apply the transformers to as children\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * transformer: (value) => value.toUpperCase(),\n * options: {\n * trigger: \"change\",\n * },\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * // trim the value on blur\n * transformer: (value) => (value as string).trim(),\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n */\nexport function ValueTransformer({ transformers, children, }) {\n const formContext = useFormContext();\n const setValue = formContext?.setValue;\n useEffect(() => {\n // apply all the transformers on mount to prevent untransformed values\n // if the field is not touched by the user\n const value = children.props.value;\n const transformedValue = _applyTransformers(transformers, value, \"all\");\n if (!deepEqual(transformedValue, value)) {\n if (typeof setValue === \"function\") {\n setValue(children.props.name, transformedValue);\n }\n else {\n // if setValue is not available, then we're not inside a form context\n // so we need to update the value using onChange if available\n children.props.onChange?.({\n target: { value: transformedValue },\n });\n }\n }\n }, [transformers, setValue]);\n return React.cloneElement(children, {\n // @ts-expect-error - React.HTMLAttributes is not typed\n ...children.props,\n onChange: (event) => {\n // apply transformers on change\n const transformedValue = _applyTransformers(transformers, event.target.value, \"change\");\n if (transformedValue !== event.target.value && setValue) {\n setValue(children.props.name, transformedValue);\n setNativeValue(event.target, transformedValue);\n }\n // call the original onChange\n children.props.onChange?.(event);\n },\n // apply transformers on blur\n onBlur: (event) => {\n // call the original onBlur\n children.props.onBlur?.(event);\n // apply the transformers\n const target = event.target;\n const transformedValue = _applyTransformers(transformers, target.value, \"blur\");\n if (!deepEqual(transformedValue, target.value)) {\n // only dispatch change if the value has changed\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n },\n onKeyDown: (event) => {\n // call the original onKeyDown\n children.props.onKeyDown?.(event);\n // apply the transformers\n if (event.key === \"Enter\") {\n const target = event.target;\n const transformedValue = _applyTransformers(transformers, target.value, \"keyDown\");\n // only dispatch change if the value has changed\n if (!deepEqual(transformedValue, target.value)) {\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n }\n },\n });\n}\n//# sourceMappingURL=value-transformer.js.map","export function deepEqual(a, b, visited = new Map()) {\n if (a === b) {\n return true;\n }\n if (a === null || b === null || a === undefined || b === undefined) {\n return false;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n return (a.length === b.length &&\n a.every((value, index) => deepEqual(value, b[index], visited)));\n }\n if (typeof a === \"object\" &&\n typeof b === \"object\" &&\n !Array.isArray(a) &&\n !Array.isArray(b)) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n return (aKeys.length === bKeys.length &&\n aKeys.every((key) => {\n return (key in b &&\n deepEqual(a[key], b[key], visited));\n }));\n }\n return false;\n}\n//# sourceMappingURL=deep-equal.js.map","export const sharedValueTransformers = {\n trimOnBlur: (ifParam = true) => ({\n transformer: (value) => value?.trim(),\n options: {\n trigger: \"blur\",\n if: ifParam,\n },\n }),\n lowercaseOnChange: (ifParam = true) => ({\n transformer: (value) => value?.toLowerCase(),\n options: {\n trigger: \"change\",\n if: ifParam,\n },\n }),\n uppercaseOnChange: (ifParam = true) => ({\n transformer: (value) => value?.toUpperCase(),\n options: {\n trigger: \"change\",\n if: ifParam,\n },\n }),\n trimOnEnter: (ifParam = true) => ({\n transformer: (value) => value?.trim(),\n options: {\n trigger: \"keyDown\",\n if: ifParam,\n },\n }),\n};\n//# sourceMappingURL=shared-value-transformers.js.map","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { object, record, string } from \"zod\";\nimport { Disclosure } from \"../../../disclosure/index.js\";\nconst PH_DEPENDENCIES = [\n /^@powerhousedao\\/.+$/,\n \"document-drive\",\n \"document-model\",\n];\nconst PackageJsonSchema = object({\n version: string({ message: \"Missing version field in package.json\" }),\n dependencies: record(string(), string()).nullable(),\n devDependencies: record(string(), string()).nullable(),\n})\n .refine((data) => data.dependencies != null || data.devDependencies != null, \"package.json must have either dependencies or devDependencies\")\n .transform((data) => {\n const allDependencies = {\n ...data.dependencies,\n ...data.devDependencies,\n };\n return {\n version: data.version,\n dependencies: Object.fromEntries(Object.entries(allDependencies).filter(([key]) => PH_DEPENDENCIES.some((regexOrName) => typeof regexOrName === \"string\"\n ? regexOrName === key\n : regexOrName.test(key)))),\n };\n});\nexport function verifyPackageJsonFields(packageJson) {\n const parsed = PackageJsonSchema.safeParse(packageJson);\n if (!parsed.success) {\n console.error(\"Package.json validation failed:\", parsed.error.format());\n return false;\n }\n return parsed.data;\n}\nexport function DependencyVersions(props) {\n const [isOpen, setIsOpen] = useState(false);\n const { packageJson, phCliVersion } = props;\n const validatedData = verifyPackageJsonFields(packageJson);\n if (!validatedData) {\n console.error(\"Failed to validate package.json data\");\n return null;\n }\n return (_jsx(Disclosure, { isOpen: isOpen, onOpenChange: () => setIsOpen(!isOpen), title: `App version: ${validatedData.version}`, toggleClassName: \"text-gray-900 text-sm\", children: _jsxs(\"ul\", { className: \"text-sm text-gray-600\", children: [Object.entries(validatedData.dependencies).map(([dep, version]) => (_jsxs(\"li\", { className: \"my-1 flex justify-between pr-1\", children: [_jsxs(\"span\", { children: [dep.replace(\"@powerhousedao/\", \"\"), \":\"] }), _jsx(\"span\", { className: \"font-normal\", children: version })] }, dep))), phCliVersion && (_jsxs(\"li\", { className: \"my-1 flex justify-between pr-1\", children: [_jsx(\"span\", { children: \"@powerhousedao/ph-cli:\" }), _jsx(\"span\", { className: \"font-normal\", children: phCliVersion })] }, \"ph-cli\"))] }) }));\n}\n//# sourceMappingURL=dependency-versions.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { DependencyVersions } from \"../settings-modal/dependency-versions/dependency-versions.js\";\nexport function About(props) {\n const { packageJson, phCliVersion } = props;\n return (_jsxs(\"div\", { className: \"bg-white p-3\", children: [_jsx(\"h2\", { className: \"font-semibold\", children: \"About\" }), _jsx(\"p\", { className: \"text-sm font-normal text-gray-600\", children: \"Connect is the hub for your most important documents and processes translated into software. Easily capture data in a structured way with Connect.\" }), _jsx(\"div\", { className: \"my-4\", children: _jsx(DependencyVersions, { packageJson: packageJson, phCliVersion: phCliVersion }) })] }));\n}\n//# sourceMappingURL=about.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, ConnectDropdownMenu, Icon } from \"@powerhousedao/design-system\";\nimport { capitalCase } from \"change-case\";\nimport { getDriveSharingType } from \"document-drive\";\nimport { useState } from \"react\";\nexport function DangerZone(props) {\n const { className, ...rest } = props;\n return (_jsxs(\"div\", { className: cn(\"h-full rounded-lg bg-white p-3\", className), children: [_jsx(\"h2\", { className: \"mb-4 font-semibold\", children: \"Modify Drives\" }), _jsx(ModifyDrives, { ...rest }), _jsx(\"h2\", { className: \"my-4 font-semibold\", children: \"Local Storage\" }), _jsx(LocalStorage, { ...rest })] }));\n}\nfunction ModifyDrives(props) {\n const { className, ...rest } = props;\n return (_jsx(\"div\", { className: className, children: _jsx(DriveList, { ...rest }) }));\n}\nfunction DriveList(props) {\n const { className, ...rest } = props;\n return (_jsx(\"div\", { className: className, children: props.drives.map((drive) => (_jsx(Drive, { drive: drive, ...rest }, drive.header.id))) }));\n}\nfunction Drive(props) {\n const { drive, className, onDeleteDrive } = props;\n const [isDropdownMenuOpen, setIsDropdownMenuOpen] = useState(false);\n const localDriveIcon = _jsx(Icon, { name: \"Hdd\", size: 16, className: \"flex-none\" });\n const cloudDriveIcon = _jsx(Icon, { name: \"Server\", size: 16, className: \"flex-none\" });\n const publicDriveIcon = drive.state.global.icon ? (_jsx(\"img\", { alt: \"drive icon\", className: \"size-4 flex-none object-contain\", src: drive.state.global.icon })) : (_jsx(Icon, { name: \"M\", size: 16, className: \"flex-none\" }));\n function getNodeIcon() {\n const sharingType = getDriveSharingType(drive);\n if (sharingType === \"PUBLIC\") {\n return publicDriveIcon;\n }\n if (sharingType === \"CLOUD\") {\n return cloudDriveIcon;\n }\n return localDriveIcon;\n }\n const icon = getNodeIcon();\n return (_jsxs(\"div\", { className: cn(\"mb-4 flex w-96 items-center gap-2 rounded-md border border-gray-200 bg-gray-50 px-3 py-2 shadow-sm last-of-type:mb-0\", className), children: [icon, _jsxs(\"div\", { children: [_jsx(\"span\", { className: \"block text-sm font-medium leading-[18px]\", children: capitalCase(drive.header.name) }), _jsxs(\"div\", { className: \"flex items-baseline gap-x-2 leading-[18px]\", children: [_jsxs(\"span\", { className: \"text-sm text-gray-600\", children: [capitalCase(getDriveSharingType(drive)), \" App\"] }), _jsxs(\"a\", { className: \"group flex items-center gap-x-2 text-sm text-slate-500 transition-colors hover:text-[#9896FF]\", children: [\"By Powerhouse\", _jsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 12 12\", className: \"size-4 text-gray-400 transition-colors group-hover:text-inherit\", children: _jsx(\"path\", { d: \"M7.99365 11.9939C9.46632 11.9939 10.6603 10.7999 10.6603 9.32722V7.32722C10.6603 6.95922 10.3617 6.66056 9.99365 6.66056C9.62565 6.66056 9.32699 6.95922 9.32699 7.32722V9.32722C9.32699 10.0639 8.73032 10.6606 7.99365 10.6606H2.66032C1.92365 10.6606 1.32699 10.0639 1.32699 9.32722V3.99389C1.32699 3.25723 1.92365 2.66056 2.66032 2.66056H4.66032C5.02832 2.66056 5.32699 2.36189 5.32699 1.99389C5.32699 1.6259 5.02832 1.32723 4.66032 1.32723H2.66032C1.18765 1.32723 -0.00634766 2.52123 -0.00634766 3.99389V9.32722C-0.00634766 10.7999 1.18765 11.9939 2.66032 11.9939H7.99365ZM5.32699 7.32722C5.49765 7.32722 5.67565 7.26989 5.80632 7.13989L10.1396 2.80656L11.9937 4.66056V-0.00610352H7.32699L9.18099 1.8479L4.84766 6.18123C4.58766 6.4419 4.58766 6.87922 4.84766 7.13989C4.97832 7.26989 5.15632 7.32722 5.32699 7.32722Z\", fill: \"currentColor\" }) })] })] })] }), _jsx(ConnectDropdownMenu, { items: [\n {\n id: \"delete-drive\",\n label: \"Delete\",\n icon: _jsx(Icon, { name: \"Trash\" }),\n className: \"text-red-900\",\n },\n ], onItemClick: (id) => {\n if (id === \"delete-drive\") {\n onDeleteDrive(drive);\n }\n }, onOpenChange: setIsDropdownMenuOpen, open: isDropdownMenuOpen, children: _jsx(\"button\", { className: \"group ml-auto flex-none\", onClick: (e) => {\n e.stopPropagation();\n setIsDropdownMenuOpen(true);\n }, children: _jsx(Icon, { className: \"text-gray-600 group-hover:text-gray-900\", name: \"VerticalDots\", size: 16 }) }) })] }));\n}\nfunction LocalStorage(props) {\n const { onClearStorage } = props;\n return (_jsx(\"div\", { children: _jsxs(\"button\", { className: \"flex items-center gap-x-2 rounded-md border border-gray-300 bg-transparent px-3 py-1 text-sm font-medium text-red-900 transition-colors hover:bg-gray-100\", onClick: onClearStorage, children: [\"Clear Storage \", _jsx(Icon, { name: \"Trash\", size: 16 })] }) }));\n}\n//# sourceMappingURL=danger-zone.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { SelectFieldRaw } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nexport function DefaultEditor(props) {\n const { className, ...rest } = props;\n return (_jsx(\"div\", { className: twMerge(\"rounded-lg p-3\", className), children: _jsx(DefaultEditorSelect, { ...rest }) }));\n}\nexport function DefaultEditorSelect(props) {\n const { documentModelEditor, setDocumentModelEditor, documentModelEditorOptions, className, } = props;\n return (_jsxs(\"div\", { children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Default Editor Selection\" }), _jsx(SelectFieldRaw, { className: twMerge(\"min-w-36 max-w-fit\", className), name: \"default-editor\", required: true, value: documentModelEditor, options: documentModelEditorOptions, multiple: false, onChange: (value) => setDocumentModelEditor(value) })] }));\n}\n//# sourceMappingURL=default-editor.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, PowerhouseButton } from \"@powerhousedao/design-system\";\nimport { IdAutocomplete, Input } from \"@powerhousedao/design-system\";\nimport { useCallback, useMemo, useState } from \"react\";\nconst ProviderIconMap = {\n npm: { icon: \"Npm\" },\n github: { icon: \"Github\", size: 28 },\n local: { icon: \"Hdd\" },\n};\nconst PackageItem = ({ packageName, provider }) => {\n const icon = provider && ProviderIconMap[provider];\n return (_jsxs(\"div\", { className: \"flex w-full items-center justify-between px-2 py-1\", children: [_jsx(\"p\", { className: \"font-medium\", children: packageName }), icon && _jsx(Icon, { name: icon.icon, size: icon.size })] }));\n};\nexport const PackageManagerInput = (props) => {\n const { onInstall, packageOptions, className } = props;\n const [value, setValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n const handleSubmit = useCallback(() => {\n const result = onInstall(value);\n if (result) {\n setLoading(true);\n result\n .then(() => setValue(\"\"))\n .catch(setError)\n .finally(() => setLoading(false));\n }\n else {\n setValue(\"\");\n setError(undefined);\n }\n }, [onInstall, value]);\n const handleChange = useCallback((e) => {\n setValue(e.target.value);\n }, []);\n const errorMessage = !error\n ? \" \"\n : typeof error === \"string\"\n ? error\n : error instanceof Error\n ? error.message\n : error;\n const autoCompleteOptions = useMemo(() => {\n const initialOptions = packageOptions?.map((option) => ({\n ...option,\n value: option.packageName,\n }));\n return !packageOptions?.length\n ? {\n autoComplete: false,\n }\n : {\n autoComplete: true,\n initialOptions,\n fetchOptionsCallback: (userInput) => initialOptions?.filter((o) => o.packageName.toLowerCase().includes(userInput.toLowerCase())) ?? [],\n renderOption: (option) => (_jsx(PackageItem, { ...option })),\n };\n }, [packageOptions]);\n return (_jsxs(\"div\", { className: className, children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Install Package\" }), _jsxs(\"div\", { className: \"flex items-center gap-4\", children: [!packageOptions?.length ? (_jsx(Input, { name: \"package\", className: \"max-w-xs text-gray-700\", value: value, onChange: handleChange, onSubmit: handleSubmit, disabled: loading })) : (_jsx(IdAutocomplete, { ...autoCompleteOptions, onChange: setValue })), _jsx(PowerhouseButton, { className: \"h-9 rounded-md text-sm\", onClick: handleSubmit, disabled: loading, children: \"Install\" })] }), _jsx(\"p\", { className: \"mb-3 ml-2 h-3 text-sm text-red-800\", children: errorMessage })] }));\n};\n//# sourceMappingURL=package-manager-input.js.map","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { ConnectDropdownMenu, Icon } from \"@powerhousedao/design-system\";\nimport { useCallback, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nconst PackageDetail = ({ label, value, }) => {\n return (_jsxs(\"div\", { className: \"flex items-start gap-2 text-sm\", children: [_jsxs(\"p\", { className: \"text-gray-600\", children: [label, \":\"] }), _jsx(\"p\", { className: \"text-gray-600\", children: value })] }));\n};\nexport const PackageManagerListItem = (props) => {\n const { package: { name, description, category, publisher, publisherUrl, modules, id, removable, }, mutable, onUninstall, className, } = props;\n const [isDropdownMenuOpen, setIsDropdownMenuOpen] = useState(false);\n return (_jsxs(\"li\", { className: twMerge(\"relative flex flex-col items-start rounded-md border border-gray-200 p-3 text-sm leading-5 shadow-sm\", className), children: [_jsx(\"h3\", { className: \"font-semibold text-gray-900\", children: name }), _jsx(PackageDetail, { label: \"Description\", value: description }), _jsx(PackageDetail, { label: \"Category\", value: category }), _jsx(PackageDetail, { label: \"Publisher\", value: publisher }), _jsx(PackageDetail, { label: \"Publisher URL\", value: _jsx(\"a\", { className: \"underline\", href: publisherUrl, children: publisherUrl }) }), _jsx(\"p\", { className: \"text-sm text-gray-600\", children: \"Modules included:\" }), _jsx(\"ul\", { className: \"list-disc pl-5\", children: modules.map((module) => (_jsx(\"li\", { children: _jsx(\"span\", { className: \"text-gray-600\", children: module }) }, module))) }), mutable && removable && (_jsx(ConnectDropdownMenu, { items: [\n {\n id: \"uninstall\",\n label: \"Uninstall\",\n icon: _jsx(Icon, { name: \"Trash\" }),\n className: \"text-red-900\",\n },\n ], onItemClick: (optionId) => {\n if (optionId === \"uninstall\") {\n onUninstall(id);\n }\n }, onOpenChange: setIsDropdownMenuOpen, open: isDropdownMenuOpen, children: _jsx(\"button\", { className: \"group absolute right-3 top-3\", onClick: (e) => {\n e.stopPropagation();\n setIsDropdownMenuOpen(true);\n }, children: _jsx(Icon, { className: \"text-gray-600 group-hover:text-gray-900\", name: \"VerticalDots\" }) }) }))] }));\n};\nexport const PackageManagerList = (props) => {\n const { className, packages, onUninstall, mutable, ...rest } = props;\n const handleUninstall = useCallback((id) => {\n onUninstall(id);\n }, [onUninstall]);\n return (_jsxs(\"div\", { ...rest, className: twMerge(\"flex max-h-[370px] flex-col items-stretch overflow-hidden\", className), children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Installed Packages\" }), _jsx(\"div\", { className: \"flex-1 overflow-y-auto pr-2\", children: _jsx(\"ul\", { className: \"flex flex-col items-stretch gap-4 pr-2\", children: packages.map((pkg) => (_jsx(PackageManagerListItem, { package: pkg, onUninstall: handleUninstall, mutable: mutable }, pkg.id))) }) })] }));\n};\n//# sourceMappingURL=package-manager-list.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { SelectFieldRaw } from \"@powerhousedao/design-system\";\nimport { useCallback } from \"react\";\nexport const PackageManagerReactorSelect = (props) => {\n const { reactorOptions, reactor, onReactorChange, ...rest } = props;\n const handleChange = useCallback((value) => {\n onReactorChange(Array.isArray(value) ? value.at(-1) : value);\n }, [onReactorChange]);\n return (_jsxs(\"div\", { ...rest, children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Select Reactor\" }), _jsx(SelectFieldRaw, { className: \"min-w-36 max-w-fit\", name: \"reactor\", required: true, value: reactor, options: reactorOptions, multiple: false, onChange: handleChange })] }));\n};\n//# sourceMappingURL=package-manager-select.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { PackageManagerInput } from \"./package-manager-input.js\";\nimport { PackageManagerList } from \"./package-manager-list.js\";\nimport { PackageManagerReactorSelect } from \"./package-manager-select.js\";\nexport const PackageManager = (props) => {\n const { className, reactorOptions, reactor, onReactorChange, onInstall, packages, onUninstall, mutable, packageOptions, ...rest } = props;\n const packageOptionsSet = useMemo(() => packageOptions?.filter((o) => !packages.find((p) => p.name === o.packageName)), [packages, packageOptions]);\n return (_jsxs(\"div\", { ...rest, className: twMerge(\"flex h-full flex-1 flex-col rounded-lg p-3\", className), children: [_jsx(PackageManagerReactorSelect, { reactor: reactor, reactorOptions: reactorOptions, onReactorChange: onReactorChange, className: \"mb-4\" }), mutable && (_jsx(PackageManagerInput, { onInstall: onInstall, packageOptions: packageOptionsSet })), _jsx(PackageManagerList, { packages: packages, onUninstall: onUninstall, mutable: mutable })] }));\n};\n//# sourceMappingURL=package-manager.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, Modal } from \"@powerhousedao/design-system\";\nimport { useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nexport function SettingsModal(props) {\n const { title, overlayProps, contentProps, onOpenChange, tabs, defaultTab, ...restProps } = props;\n const [selectedTab, setSelectedTab] = useState(defaultTab ?? tabs.at(0)?.id);\n const tabsContent = tabs.map((tab) => (_jsx(\"button\", { type: \"button\", onClick: () => setSelectedTab(tab.id), children: _jsxs(\"div\", { className: twMerge(\"flex h-9 w-48 cursor-pointer items-center gap-x-2 rounded-md pl-3 hover:bg-slate-50\", selectedTab === tab.id ? \"bg-slate-50\" : \"bg-transparent\"), children: [tab.icon, _jsx(\"span\", { children: tab.label })] }) }, tab.id)));\n const selectedTabContent = tabs.find((tab) => tab.id === selectedTab)?.content;\n const SelectedTabComponent = selectedTabContent;\n return (_jsxs(Modal, { contentProps: {\n ...contentProps,\n className: twMerge(\"min-h-full w-full max-w-4xl rounded-xl\", contentProps?.className),\n style: {\n ...contentProps?.style,\n boxShadow: \"0px 0px 16px 4px rgba(0, 0, 0, 0.04), 0px 33px 32px -16px rgba(0, 0, 0, 0.10)\",\n },\n }, onOpenChange: onOpenChange, overlayProps: {\n ...overlayProps,\n className: twMerge(\"py-28\", overlayProps?.className),\n }, ...restProps, children: [_jsxs(\"div\", { className: \"flex justify-between border-b border-slate-50 p-4\", children: [_jsx(\"h1\", { className: \"text-center text-xl font-semibold\", children: title }), _jsx(\"button\", { type: \"button\", className: \"flex size-6 items-center justify-center rounded-md outline-none\", onClick: () => onOpenChange?.(false), children: _jsx(Icon, { name: \"XmarkLight\", size: 24 }) })] }), _jsxs(\"div\", { className: \"flex flex-1\", children: [_jsx(\"div\", { className: \"flex flex-col gap-y-1 p-3 pt-6\", children: tabsContent }), _jsx(\"div\", { className: \"m-6 flex h-full flex-1 flex-col overflow-hidden rounded-lg border border-slate-50\", children: typeof SelectedTabComponent === \"function\" ? (_jsx(SelectedTabComponent, {})) : (SelectedTabComponent) })] })] }));\n}\n//# sourceMappingURL=settings-modal.js.map","import { connectConfig } from \"@powerhousedao/connect/config\";\nimport packageJson from \"@powerhousedao/connect/package.json\" with { type: \"json\" };\nimport { About as BaseAbout } from \"@powerhousedao/design-system\";\n\nexport const About: React.FC = () => {\n return (\n <BaseAbout\n packageJson={packageJson}\n phCliVersion={\n typeof connectConfig.phCliVersion === \"string\"\n ? connectConfig.phCliVersion\n : undefined\n }\n />\n );\n};\n","import { DangerZone as BaseDangerZone } from \"@powerhousedao/design-system\";\nimport {\n deleteDrive,\n setSelectedDrive,\n showPHModal,\n useDrives,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"document-drive\";\n\nexport const DangerZone: React.FC = () => {\n const drives = useDrives();\n\n const handleDeleteDrive = async (drive: DocumentDriveDocument) => {\n await deleteDrive(drive.header.id);\n setSelectedDrive(undefined);\n };\n\n const handleClearStorage = () => {\n showPHModal({ type: \"clearStorage\" });\n };\n\n return (\n <BaseDangerZone\n drives={drives ?? []}\n onDeleteDrive={handleDeleteDrive}\n onClearStorage={handleClearStorage}\n />\n );\n};\n","import { DefaultEditor as BaseDefaultEditor } from \"@powerhousedao/design-system\";\nimport { useCallback, useState } from \"react\";\n\nconst documentModelEditorOptions = [\n { label: \"V1\", value: \"document-model-editor\" },\n { label: \"V2\", value: \"document-model-editor-v2\" },\n] as const;\n\nexport const DefaultEditor: React.FC = () => {\n const [documentModelEditor, setDocumentModelEditor] = useState<\n (typeof documentModelEditorOptions)[number]\n >(documentModelEditorOptions[1]);\n\n const handleSetDocumentEditor = useCallback((value: string) => {\n const option = documentModelEditorOptions.find((dm) => dm.value == value);\n if (option) {\n setDocumentModelEditor(option);\n }\n }, []);\n\n return (\n <BaseDefaultEditor\n documentModelEditor={documentModelEditor.value}\n setDocumentModelEditor={handleSetDocumentEditor}\n documentModelEditorOptions={\n documentModelEditorOptions as unknown as {\n value: string;\n label: string;\n }[]\n }\n />\n );\n};\n","import { PH_PACKAGES } from \"@powerhousedao/config\";\nimport { addExternalPackage, removeExternalPackage } from \"@powerhousedao/connect/services\";\nimport { PackageManager as BasePackageManager } from \"@powerhousedao/design-system\";\nimport {\n makeVetraPackageManifest,\n useDrives,\n useVetraPackages,\n} from \"@powerhousedao/reactor-browser\";\nimport type { Manifest } from \"document-model\";\nimport React from \"react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nconst LOCAL_REACTOR_VALUE = \"local-reactor\";\nconst LOCAL_REACTOR_LABEL = \"Local Reactor\";\n\nfunction manifestToDetails(\n manifest: Manifest | undefined,\n id: string,\n removable: boolean,\n) {\n if (!manifest) {\n return undefined;\n }\n\n const documentModels =\n manifest.documentModels?.map((dm) => `Document Model: ${dm.name}`) ?? [];\n const editors =\n manifest.editors?.map((editor) => `Editor: ${editor.name}`) ?? [];\n const apps = manifest.apps?.map((app) => `App: ${app.name}`) ?? [];\n return {\n id,\n ...manifest,\n publisher: manifest.publisher.name,\n publisherUrl: manifest.publisher.url,\n modules: documentModels.concat(editors).concat(apps),\n removable,\n };\n}\n\nexport const PackageManager: React.FC = () => {\n const vetraPackages = useVetraPackages();\n const drives = useDrives();\n const [reactor, setReactor] = useState(\"\");\n\n const options = useMemo(() => {\n return drives?.reduce<\n { value: string; label: string; disabled: boolean }[]\n >(\n (acc, drive) => {\n const trigger = drive.state.local.triggers.find(\n (trigger) => trigger.data?.url,\n );\n if (!trigger?.data?.url) {\n return acc;\n }\n\n const value = trigger.data.url;\n const label = drive.state.global.name;\n\n acc.push({\n value,\n label,\n disabled: true,\n });\n return acc;\n },\n [\n {\n value: LOCAL_REACTOR_VALUE,\n label: LOCAL_REACTOR_LABEL,\n disabled: false,\n },\n ],\n );\n }, [drives]);\n\n useEffect(() => {\n setReactor((reactor) => {\n const defaultOption = options?.find((option) => !option.disabled);\n if (reactor && options?.find((option) => option.value === reactor)) {\n return reactor;\n } else {\n return defaultOption?.value ?? \"\";\n }\n });\n }, [reactor, options]);\n\n const packagesInfo = vetraPackages?.map((pkg) =>\n makeVetraPackageManifest(pkg),\n );\n\n const handleReactorChange = useCallback(\n (reactor?: string) => setReactor(reactor ?? \"\"),\n [],\n );\n const handleInstall = useCallback(\n (packageName: string) => {\n if (reactor !== LOCAL_REACTOR_VALUE) {\n throw new Error(\"Cannot install external package on a remote reactor\");\n }\n return addExternalPackage(packageName);\n },\n [reactor],\n );\n\n const handleUninstall = useCallback(\n (packageName: string) => {\n if (reactor !== LOCAL_REACTOR_VALUE) {\n throw new Error(\"Cannot delete external package on a remote reactor\");\n }\n return removeExternalPackage(packageName);\n },\n [reactor],\n );\n\n return (\n <BasePackageManager\n mutable={true}\n reactorOptions={options ?? []}\n reactor={reactor}\n packages={\n packagesInfo?.map((pkg) => ({\n id: pkg.id,\n name: pkg.name,\n description: pkg.description,\n category: pkg.category,\n publisher: pkg.author.name,\n publisherUrl: pkg.author.website ?? \"\",\n modules: Object.values(pkg.modules).flatMap((modules) =>\n modules.map((module) => module.name),\n ),\n removable: true,\n })) ?? []\n }\n onReactorChange={handleReactorChange}\n onInstall={handleInstall}\n onUninstall={handleUninstall}\n packageOptions={PH_PACKAGES}\n />\n );\n};\n","import { About } from \"@powerhousedao/connect/components/modal/modals/settings/about\";\nimport { DangerZone } from \"@powerhousedao/connect/components/modal/modals/settings/danger-zone\";\nimport { DefaultEditor } from \"@powerhousedao/connect/components/modal/modals/settings/default-editor\";\nimport { PackageManager } from \"@powerhousedao/connect/components/modal/modals/settings/package-manager\";\nimport {\n Icon,\n SettingsModal as SettingsModalV2,\n} from \"@powerhousedao/design-system\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport { t } from \"i18next\";\nimport React, { useMemo } from \"react\";\n\nexport const SettingsModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"settings\";\n function onRefresh() {\n window.location.reload();\n }\n\n const tabs = useMemo(\n () => [\n {\n id: \"package-manager\",\n icon: <Icon name=\"PackageManager\" size={12} />,\n label: \"Package Manager\",\n content: PackageManager,\n },\n {\n id: \"default-editors\",\n icon: <Icon name=\"Edit\" size={12} />,\n label: \"Default Editors\",\n content: DefaultEditor,\n },\n {\n id: \"danger-zone\",\n icon: <Icon name=\"Danger\" size={12} className=\"text-red-900\" />,\n label: <span className=\"text-red-900\">Danger Zone</span>,\n content: () => <DangerZone />,\n },\n {\n id: \"about\",\n icon: <Icon name=\"QuestionSquare\" size={12} />,\n label: \"About\",\n content: About,\n },\n ],\n [onRefresh],\n );\n\n return (\n <SettingsModalV2\n open={open}\n title={t(\"modals.connectSettings.title\")}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n tabs={tabs}\n />\n );\n};\n"],"names":["cn","forwardRef","_jsx","description","_jsxs","TooltipProvider","type","Y","k","B","K","P","T","L","N","ae","t.createContext","t.useContext","t.forwardRef","u","p","m","$","H","t.useRef","t.useMemo","J","W","U","X","t.createElement","D","t.useEffect","G","w.Root","w.Portal","w.Overlay","w.Content","t.useLayoutEffect","t.useSyncExternalStore","t.useState","t.isValidElement","t.cloneElement","CommandPrimitive","name","useState","useMemo","useCommandState","useEffect","createContext","useContext","useRef","useCallback","value","useId","React.forwardRef","_Fragment","renderIcon","Content","Root","Portal","object","string","record","packageJson","version","About","DangerZone","DefaultEditor","documentModelEditorOptions","PackageManager","SettingsModal","jsx","BaseAbout","BaseDangerZone","BaseDefaultEditor","trigger","reactor","BasePackageManager","SettingsModalV2"],"mappings":"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","x_google_ignoreList":[5,6]}
1
+ {"version":3,"file":"SettingsModal-BlWJfQsu.js","sources":["../../../../packages/config/dist/src/packages.js","../../../../packages/design-system/dist/src/ui/components/button/button.js","../../../../packages/design-system/dist/src/ui/components/form-label/form-label.js","../../../../packages/design-system/dist/src/ui/components/form-message/form-message.js","../../../../packages/design-system/dist/src/ui/components/form-message/message-list.js","../../../../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs","../../../../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/cmdk/dist/index.mjs","../../../../packages/design-system/dist/src/ui/components/command/command.js","../../../../packages/design-system/dist/src/ui/components/form-description/form-description.js","../../../../packages/design-system/dist/src/ui/components/form-group/form-group.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-input-container.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-list-option.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-list.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete-context.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/use-id-autocomplete.js","../../../../packages/design-system/dist/src/ui/components/id-autocomplete/id-autocomplete.js","../../../../packages/design-system/dist/src/ui/components/input/input.js","../../../../packages/design-system/dist/src/ui/components/with-field-validation/with-field-validation.js","../../../../packages/design-system/dist/src/ui/components/select-field/subcomponents/CommandItemList.js","../../../../packages/design-system/dist/src/ui/components/select-field/content.js","../../../../packages/design-system/dist/src/ui/components/select-field/selected-content.js","../../../../packages/design-system/dist/src/ui/components/select-field/use-select-field.js","../../../../packages/design-system/dist/src/ui/components/select-field/select-field.js","../../../../packages/design-system/dist/src/ui/components/tooltip/tooltip.js","../../../../packages/design-system/dist/src/ui/components/value-transformer/value-transformer.js","../../../../packages/design-system/dist/src/ui/lib/deep-equal.js","../../../../packages/design-system/dist/src/ui/lib/shared-value-transformers.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal/dependency-versions/dependency-versions.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/about.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/danger-zone.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/default-editor.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-input.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-list.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-select.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.js","../../../../packages/design-system/dist/src/connect/components/modal/settings-modal-v2/settings-modal.js","../../src/components/modal/modals/settings/about.tsx","../../src/components/modal/modals/settings/danger-zone.tsx","../../src/components/modal/modals/settings/default-editor.tsx","../../src/components/modal/modals/settings/package-manager.tsx","../../src/components/modal/modals/SettingsModal.tsx"],"sourcesContent":["export const PH_PACKAGES = [\n {\n packageName: \"@sky-ph/atlas\",\n version: \"latest\",\n provider: \"npm\",\n url: \"https://www.npmjs.com/package/@sky-ph/atlas\",\n },\n];\n//# sourceMappingURL=packages.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"../../../utils/cn.js\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { forwardRef } from \"react\";\nconst buttonVariants = cva(cn(\"inline-flex items-center justify-center gap-2\", \"whitespace-nowrap rounded-md text-sm font-medium\", \"transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2\", \"disabled:pointer-events-none\", \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"), {\n variants: {\n variant: {\n default: \"\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\nconst Button = forwardRef(({ variant, className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (_jsx(Comp, { className: cn(buttonVariants({ variant, className })), ref: ref, ...props }));\n});\nexport { Button, buttonVariants };\n//# sourceMappingURL=button.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, Tooltip, TooltipProvider, cn, } from \"@powerhousedao/design-system\";\nexport const FormLabel = ({ children, required, disabled, description, hasError, inline, className, ...htmlLabelProps }) => {\n const classes = cn(\"inline-flex items-center text-sm font-medium\", inline ? \"leading-[22px]\" : \"leading-4\", `text-gray-900 ${inline ? \"dark:text-gray-400\" : \"dark:text-gray-50\"}`, hasError && \"group-hover:!text-red-900 dark:group-hover:!text-red-900\", hasError && inline && \"text-red-800 dark:text-red-800\", hasError && !inline && \"text-red-900 dark:text-red-900\", disabled &&\n `cursor-not-allowed text-gray-700 ${inline ? \"dark:text-gray-600\" : \"dark:text-gray-300\"}`, inline\n ? !disabled && \"group-hover:text-gray-900 dark:group-hover:text-slate-50\"\n : \"mb-[3px]\", className);\n if (!children) {\n // no label provided\n return null;\n }\n const extraProps = {\n ...htmlLabelProps,\n };\n return (_jsxs(\"label\", { className: classes, ...extraProps, children: [children, required && (_jsx(\"span\", { className: cn(\"ml-1 text-gray-800 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-slate-50\", hasError &&\n `${inline ? \"!text-red-800\" : \"!text-red-900\"} group-hover:!text-red-900`), children: \"*\" })), description && (_jsx(TooltipProvider, { children: _jsx(Tooltip, { content: description, children: _jsx(Icon, { name: \"CircleInfo\", size: 16, className: cn(\"ml-1 cursor-pointer text-gray-600 hover:text-gray-500 dark:text-gray-500 dark:hover:text-gray-500\", disabled && \"text-gray-500\") }) }) }))] }));\n};\n//# sourceMappingURL=form-label.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nconst defaultElement = \"p\";\nexport const FormMessage = ({ children, type = \"info\", as, className, ...props }) => {\n const Component = as || defaultElement;\n const typeClasses = {\n error: \"text-red-900 dark:text-red-900\",\n info: \"text-blue-900 dark:text-blue-900\",\n warning: \"text-yellow-900 dark:text-yellow-900\",\n };\n const classes = cn(\"mb-0 inline-flex items-center text-xs font-medium\", typeClasses[type], className);\n // TODO: add icon\n return (_jsx(Component, { \"data-type\": type, className: classes, ...props, children: children }));\n};\n//# sourceMappingURL=form-message.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nimport { FormMessage } from \"./form-message.js\";\nexport const FormMessageList = ({ messages, type = \"info\", className, ...props }) => {\n if (messages.length === 0) {\n return null;\n }\n if (messages.length === 1) {\n return (_jsx(FormMessage, { type: type, ...props, children: messages[0] }));\n }\n const typeClasses = {\n error: \"before:bg-red-900 dark:before:bg-red-900\",\n info: \"before:bg-blue-900 dark:before:bg-blue-900\",\n warning: \"before:bg-orange-900 dark:before:bg-orange-900\",\n };\n return (_jsx(\"ul\", { className: cn(\"flex flex-col gap-1\", className), ...props, children: messages.map((message) => (_jsx(FormMessage, { as: \"li\", type: type, className: cn(\n // Layout\n \"relative pl-4\", \n // Visual styles\n \"before:absolute before:left-0 before:top-[0.4em] before:size-2 before:rounded-full\", typeClasses[type]), children: message }, message))) }));\n};\n//# sourceMappingURL=message-list.js.map","var U=1,Y=.9,H=.8,J=.17,p=.1,u=.999,$=.9999;var k=.99,m=/[\\\\\\/_+.#\"@\\[\\(\\{&]/,B=/[\\\\\\/_+.#\"@\\[\\(\\{&]/g,K=/[\\s-]/,X=/[\\s-]/g;function G(_,C,h,P,A,f,O){if(f===C.length)return A===_.length?U:k;var T=`${A},${f}`;if(O[T]!==void 0)return O[T];for(var L=P.charAt(f),c=h.indexOf(L,A),S=0,E,N,R,M;c>=0;)E=G(_,C,h,P,c+1,f+1,O),E>S&&(c===A?E*=U:m.test(_.charAt(c-1))?(E*=H,R=_.slice(A,c-1).match(B),R&&A>0&&(E*=Math.pow(u,R.length))):K.test(_.charAt(c-1))?(E*=Y,M=_.slice(A,c-1).match(X),M&&A>0&&(E*=Math.pow(u,M.length))):(E*=J,A>0&&(E*=Math.pow(u,c-A))),_.charAt(c)!==C.charAt(f)&&(E*=$)),(E<p&&h.charAt(c-1)===P.charAt(f+1)||P.charAt(f+1)===P.charAt(f)&&h.charAt(c-1)!==P.charAt(f))&&(N=G(_,C,h,P,c+1,f+2,O),N*p>E&&(E=N*p)),E>S&&(S=E),c=h.indexOf(L,c+1);return O[T]=S,S}function D(_){return _.toLowerCase().replace(X,\" \")}function W(_,C,h){return _=h&&h.length>0?`${_+\" \"+h.join(\" \")}`:_,G(_,C,D(_),D(C),0,0,{})}export{W as a};\n","\"use client\";import{a as ae}from\"./chunk-NZJY6EH4.mjs\";import*as w from\"@radix-ui/react-dialog\";import*as t from\"react\";import{Primitive as D}from\"@radix-ui/react-primitive\";import{useId as H}from\"@radix-ui/react-id\";import{composeRefs as G}from\"@radix-ui/react-compose-refs\";var N='[cmdk-group=\"\"]',Y='[cmdk-group-items=\"\"]',be='[cmdk-group-heading=\"\"]',le='[cmdk-item=\"\"]',ce=`${le}:not([aria-disabled=\"true\"])`,Z=\"cmdk-item-select\",T=\"data-value\",Re=(r,o,n)=>ae(r,o,n),ue=t.createContext(void 0),K=()=>t.useContext(ue),de=t.createContext(void 0),ee=()=>t.useContext(de),fe=t.createContext(void 0),me=t.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:\"\",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:\"\",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=H(),q=H(),_=H(),I=t.useRef(null),v=ke();k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),k(()=>{v(6,ne)},[]);let E=t.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e===\"search\")J(),z(),v(1,W);else if(e===\"value\"){if(document.activeElement.hasAttribute(\"cmdk-input\")||document.activeElement.hasAttribute(\"cmdk-root\")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:\"\";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=t.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute(\"id\"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r[\"aria-label\"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute(\"id\"),y=l.getAttribute(\"id\");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}=\"${encodeURIComponent(i[0])}\"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute(\"aria-disabled\")!==\"true\"),a=e==null?void 0:e.getAttribute(T);E.setState(\"value\",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:\"\",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:\"nearest\"})),e.scrollIntoView({block:\"nearest\"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected=\"true\"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState(\"value\",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState(\"value\",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState(\"value\",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return t.createElement(D.div,{ref:o,tabIndex:-1,...O,\"cmdk-root\":\"\",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case\"n\":case\"j\":{j&&e.ctrlKey&&ie(e);break}case\"ArrowDown\":{ie(e);break}case\"p\":case\"k\":{j&&e.ctrlKey&&se(e);break}case\"ArrowUp\":{se(e);break}case\"Home\":{e.preventDefault(),X(0);break}case\"End\":{e.preventDefault(),oe();break}case\"Enter\":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},t.createElement(\"label\",{\"cmdk-label\":\"\",htmlFor:U.inputId,id:U.labelId,style:Te},b),B(r,e=>t.createElement(de.Provider,{value:E},t.createElement(ue.Provider,{value:U},e))))}),he=t.forwardRef((r,o)=>{var _,I;let n=H(),u=t.useRef(null),c=t.useContext(fe),d=K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);t.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState(\"value\",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return t.createElement(D.div,{ref:G(u,o),...q,id:n,\"cmdk-item\":\"\",role:\"option\",\"aria-disabled\":!!A,\"aria-selected\":!!R,\"data-disabled\":!!A,\"data-selected\":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=t.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=H(),p=t.useRef(null),b=t.useRef(null),m=H(),R=K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=t.useMemo(()=>({id:f,forceMount:c}),[c]);return t.createElement(D.div,{ref:G(p,o),...d,\"cmdk-group\":\"\",role:\"presentation\",hidden:x?void 0:!0},n&&t.createElement(\"div\",{ref:b,\"cmdk-group-heading\":\"\",\"aria-hidden\":!0,id:m},n),B(r,S=>t.createElement(\"div\",{\"cmdk-group-items\":\"\",role:\"group\",\"aria-labelledby\":n?m:void 0},t.createElement(fe.Provider,{value:C},S))))}),ye=t.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=t.useRef(null),d=P(f=>!f.search);return!n&&!d?null:t.createElement(D.div,{ref:G(c,o),...u,\"cmdk-separator\":\"\",role:\"separator\"})}),Se=t.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{r.value!=null&&d.setState(\"search\",r.value)},[r.value]),t.createElement(D.input,{ref:o,...u,\"cmdk-input\":\"\",autoComplete:\"off\",autoCorrect:\"off\",spellCheck:!1,\"aria-autocomplete\":\"list\",role:\"combobox\",\"aria-expanded\":!0,\"aria-controls\":b.listId,\"aria-labelledby\":b.labelId,\"aria-activedescendant\":p,id:b.inputId,type:\"text\",value:c?r.value:f,onChange:m=>{c||d.setState(\"search\",m.target.value),n==null||n(m.target.value)}})}),Ce=t.forwardRef((r,o)=>{let{children:n,label:u=\"Suggestions\",...c}=r,d=t.useRef(null),f=t.useRef(null),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty(\"--cmdk-list-height\",S.toFixed(1)+\"px\")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),t.createElement(D.div,{ref:G(d,o),...c,\"cmdk-list\":\"\",role:\"listbox\",tabIndex:-1,\"aria-activedescendant\":p,\"aria-label\":u,id:b.listId},B(r,m=>t.createElement(\"div\",{ref:G(f,b.listInnerRef),\"cmdk-list-sizer\":\"\"},m)))}),xe=t.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return t.createElement(w.Root,{open:n,onOpenChange:u},t.createElement(w.Portal,{container:f},t.createElement(w.Overlay,{\"cmdk-overlay\":\"\",className:c}),t.createElement(w.Content,{\"aria-label\":r.label,\"cmdk-dialog\":\"\",className:d},t.createElement(me,{ref:o,...p}))))}),Ie=t.forwardRef((r,o)=>P(u=>u.filtered.count===0)?t.createElement(D.div,{ref:o,...r,\"cmdk-empty\":\"\",role:\"presentation\"}):null),Pe=t.forwardRef((r,o)=>{let{progress:n,children:u,label:c=\"Loading...\",...d}=r;return t.createElement(D.div,{ref:o,...d,\"cmdk-loading\":\"\",role:\"progressbar\",\"aria-valuenow\":n,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-label\":c},B(r,f=>t.createElement(\"div\",{\"aria-hidden\":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=t.useRef(r);return k(()=>{o.current=r}),o}var k=typeof window==\"undefined\"?t.useEffect:t.useLayoutEffect;function L(r){let o=t.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return t.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=t.useRef(),d=K();return k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R==\"string\")return R.trim();if(typeof R==\"object\"&&\"current\"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=t.useState(),n=L(()=>new Map);return k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o==\"function\"?o(r.props):\"render\"in o?o.render(r.props):r}function B({asChild:r,children:o},n){return r&&t.isValidElement(o)?t.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:\"absolute\",width:\"1px\",height:\"1px\",padding:\"0\",margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"};export{_e as Command,xe as CommandDialog,Ie as CommandEmpty,Ee as CommandGroup,Se as CommandInput,he as CommandItem,Ce as CommandList,Pe as CommandLoading,me as CommandRoot,ye as CommandSeparator,Re as defaultFilter,P as useCommandState};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, cn } from \"@powerhousedao/design-system\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport React from \"react\";\nconst Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn(\"flex size-full flex-col rounded-md [&_[cmdk-label]]:hidden\", className), ...props })));\nCommand.displayName = CommandPrimitive.displayName;\nconst CommandInput = React.forwardRef(({ wrapperClassName, className, ...props }, ref) => (_jsxs(\"div\", { className: cn(\"group relative flex items-center border-b\", \"border-b-gray-300 dark:border-b-gray-900\", \"hover:border-b-gray-300 dark:hover:border-b-gray-800\", \"hover:bg-gray-100 dark:hover:bg-gray-900\", \"focus-within:border-b-gray-300 dark:focus-within:border-b-gray-800\", \"focus-within:bg-gray-100 dark:focus-within:bg-gray-900\", wrapperClassName), \"cmdk-input-wrapper\": \"\", children: [_jsx(Icon, { name: \"Search\", size: 16, className: cn(\"pointer-events-none absolute left-2 top-3.5 text-gray-500 dark:text-gray-700\", \"group-hover:text-gray-700 dark:group-hover:text-gray-500\", \"group-focus-within:!text-gray-900 dark:group-focus-within:!text-gray-50\") }), _jsx(CommandPrimitive.Input, { ref: ref, className: cn(\"flex w-full bg-transparent pb-2 pl-8 pr-3 pt-3 text-[14px] font-normal leading-5 outline-none\", \"placeholder:text-gray-500 dark:placeholder:text-gray-700\", \"group-hover:placeholder:text-gray-700 dark:group-hover:placeholder:text-gray-500\", \"group-focus-within:placeholder:!text-gray-700 dark:group-focus-within:placeholder:!text-gray-300\", \"disabled:cursor-not-allowed\", className), ...props })] })));\nCommandInput.displayName = CommandPrimitive.Input.displayName;\nconst CommandList = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.List, { ref: ref, className: cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", \"focus:outline-none\", \"scrollbar-thin scrollbar-gutter-stable\", \"scrollbar-track-transparent\", \"scrollbar-thumb-gray-300 hover:scrollbar-thumb-gray-300\", \"dark:scrollbar-thumb-charcoal-700 dark:hover:scrollbar-thumb-charcoal-700\", \"scrollbar-thumb-rounded-md\", className), ...props })));\nCommandList.displayName = CommandPrimitive.List.displayName;\nconst CommandLoading = React.forwardRef((props, ref) => _jsx(CommandPrimitive.Loading, { ref: ref, ...props }));\nCommandLoading.displayName = CommandPrimitive.Loading.displayName;\nconst CommandEmpty = React.forwardRef((props, ref) => _jsx(CommandPrimitive.Empty, { ref: ref, ...props }));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\nconst CommandGroup = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Group, { ref: ref, className: cn(\"overflow-hidden px-0.5 py-1\", \"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\", className), ...props })));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\nconst CommandItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Item, { ref: ref, className: cn(\"relative flex select-none items-center justify-between\", \"h-8 gap-2 rounded-md py-1.5 pl-1.5 pr-2.5\", \"text-[14px] leading-4 outline-none\", \"border-y-2 border-white dark:border-slate-600\", \"data-[disabled=true]:pointer-events-none\", \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", className), ...props })));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\nexport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, };\n//# sourceMappingURL=command.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nconst FormDescription = ({ children, as, className, }) => {\n const Component = as ?? \"p\";\n return (_jsx(Component, { className: cn(\"font-sans text-sm font-normal leading-5 text-gray-600 dark:text-gray-500\", className), children: children }));\n};\nexport { FormDescription };\n//# sourceMappingURL=form-description.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport const FormGroup = ({ children }) => {\n return _jsx(\"div\", { className: \"flex flex-col gap-2\", children: children });\n};\n//# sourceMappingURL=form-group.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Icon, Input, sharedValueTransformers, Tooltip, TooltipProvider, ValueTransformer, } from \"@powerhousedao/design-system\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport React, { useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"usehooks-ts\";\nconst IdAutocompleteInputContainer = React.forwardRef(({ id, name, value, className, isLoading, haveFetchError, disabled, onChange, onBlur, onClick, selectedOption, optionsLength, handleOpenChange, onKeyDown, onMouseDown, placeholder, hasError, label, required, isPopoverOpen, maxLength, handlePaste, onPaste, ...props }, ref) => {\n const [hasCopied, setHasCopied] = useState(false);\n const hasHover = useMediaQuery(\"(hover: hover) and (pointer: fine)\");\n const transformers = useMemo(() => [\n sharedValueTransformers.trimOnBlur(),\n sharedValueTransformers.trimOnEnter(),\n ], []);\n return (_jsxs(\"div\", { className: cn(\"group relative\"), children: [_jsx(ValueTransformer, { transformers: transformers, children: _jsx(CommandPrimitive.Input, { asChild: true, children: _jsx(Input, { id: id, name: name, value: value, className: cn(\"pr-9\", className), disabled: disabled, onChange: onChange, onBlur: onBlur, onClick: (e) => {\n const input = e.target;\n if (!(isLoading || haveFetchError) &&\n !selectedOption &&\n input.value !== \"\") {\n handleOpenChange?.(true);\n }\n onClick?.(e);\n }, onKeyDown: (e) => {\n onKeyDown?.(e);\n const isOptionsRelatedKey = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Enter\",\n ].includes(e.key);\n if (e.key === \"Enter\" && isPopoverOpen && optionsLength === 0) {\n handleOpenChange?.(false);\n e.preventDefault();\n return;\n }\n if (!(isOptionsRelatedKey && isPopoverOpen && optionsLength > 0)) {\n e.stopPropagation();\n }\n }, onMouseDown: (e) => {\n const input = e.target;\n if (!input.contains(document.activeElement)) {\n // wait for the next tick to ensure the focus occurs first\n requestAnimationFrame(() => {\n input.select();\n });\n }\n onMouseDown?.(e);\n }, onPaste: (e) => {\n handlePaste?.(e);\n onPaste?.(e);\n }, placeholder: placeholder, \"aria-invalid\": hasError, \"aria-label\": !label ? \"Id Autocomplete\" : undefined, \"aria-required\": required, \"aria-expanded\": isPopoverOpen, maxLength: maxLength, ...props, ref: ref }) }) }), _jsxs(\"div\", { className: cn(\"absolute right-3 top-1/2 flex size-4 -translate-y-1/2 items-center\", !isLoading &&\n !haveFetchError &&\n !selectedOption &&\n \"pointer-events-none\"), children: [isLoading && (_jsx(Icon, { name: \"Reload\", size: 16, className: cn(\"animate-spin text-gray-500 dark:text-gray-600\") })), haveFetchError && (_jsx(TooltipProvider, { children: _jsx(Tooltip, { content: \"Network error!\", children: _jsx(Icon, { name: \"Error\", size: 16, className: cn(\"text-red-900\") }) }) })), selectedOption && !isLoading && !haveFetchError && (_jsx(TooltipProvider, { children: _jsx(Tooltip, { content: \"Copied!\", open: hasCopied, triggerAsChild: true, children: _jsx(\"button\", { type: \"button\", onClick: () => {\n navigator.clipboard\n .writeText(selectedOption.value)\n .then(() => {\n setHasCopied(true);\n setTimeout(() => setHasCopied(false), 2000);\n })\n .catch((error) => {\n console.error(\"Failed to copy value: \", error);\n });\n }, className: cn(\"focus-visible:outline-none [&_svg]:pointer-events-none\", hasHover &&\n \"opacity-0 transition-opacity duration-500 group-hover:opacity-100\"), children: _jsx(Icon, { name: \"Copy\", size: 16, className: cn(\"text-gray-500 dark:text-gray-600\") }) }) }) }))] })] }));\n});\nexport { IdAutocompleteInputContainer };\n//# sourceMappingURL=id-autocomplete-input-container.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Icon } from \"@powerhousedao/design-system\";\nimport React from \"react\";\nconst IconRenderer = ({ customIcon, asPlaceholder }) => {\n if (typeof customIcon === \"string\") {\n return (_jsx(Icon, { name: customIcon, size: 24, className: cn(\"shrink-0\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\") }));\n }\n if (React.isValidElement(customIcon)) {\n return _jsx(\"div\", { className: \"size-6 shrink-0 overflow-hidden\", children: customIcon });\n }\n return null;\n};\nconst ReloadButton = ({ isLoadingSelectedOption, handleFetchSelectedOption, isFetchSelectedOptionSync, value, }) => (_jsx(\"div\", { children: _jsx(\"button\", { type: \"button\", disabled: isLoadingSelectedOption || isFetchSelectedOptionSync, onClick: () => {\n if (!isLoadingSelectedOption && !isFetchSelectedOptionSync) {\n handleFetchSelectedOption(value);\n }\n }, className: cn(\"mt-0.5 focus-visible:outline-none\", \"disabled:pointer-events-none [&_svg]:pointer-events-none\"), \"aria-label\": isLoadingSelectedOption\n ? \"Loading\"\n : isFetchSelectedOptionSync\n ? \"Success\"\n : \"Reload\", children: _jsx(Icon, { name: isFetchSelectedOptionSync ? \"Checkmark\" : \"Reload\", size: 16, className: cn(\"text-gray-500 dark:text-gray-600\", isLoadingSelectedOption && \"animate-spin\", isFetchSelectedOptionSync && \"animate-in fade-in duration-500\") }) }) }));\nconst IdAutocompleteListOption = ({ variant = \"withValue\", icon, title = \"Title not available\", path = \"Path not available\", value, description = \"Description not available\", asPlaceholder, showValue = true, isLoadingSelectedOption, handleFetchSelectedOption, isFetchSelectedOptionSync, className, placeholderIcon = \"PowerhouseLogoSmall\", ...extraProps }) => {\n const renderWithValue = () => (_jsx(\"div\", { className: cn(\"flex w-full items-center\"), children: _jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: value }) }));\n const renderWithValueTitleAndDescription = (showDescription = true) => (_jsxs(\"div\", { className: cn(\"flex w-full flex-col gap-1\"), children: [_jsxs(\"div\", { className: cn(\"flex gap-2\"), children: [_jsx(IconRenderer, { customIcon: asPlaceholder ? placeholderIcon : icon, asPlaceholder: asPlaceholder }), _jsxs(\"div\", { className: cn(\"flex min-w-0 grow flex-col gap-[-2px]\"), children: [_jsx(\"span\", { className: cn(\"truncate text-sm font-bold leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\"), children: title }), !showValue && typeof path === \"object\" ? (_jsx(\"a\", { href: path.url, target: \"_blank\", rel: \"noopener noreferrer\", className: cn(\"truncate text-xs leading-5 text-blue-900 hover:underline focus-visible:outline-none\"), children: path.text })) : (_jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: typeof path === \"object\" ? path.text : path }))] }), asPlaceholder === false && handleFetchSelectedOption && (_jsx(ReloadButton, { isLoadingSelectedOption: isLoadingSelectedOption, handleFetchSelectedOption: handleFetchSelectedOption, isFetchSelectedOptionSync: isFetchSelectedOptionSync, value: value }))] }), showValue && (_jsx(\"div\", { className: cn(\"flex max-w-full items-center\"), children: _jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: value }) })), showDescription && (_jsx(\"div\", { className: cn(\"flex flex-col\"), children: _jsx(\"p\", { className: cn(\"line-clamp-2 text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\"), children: description }) })), showDescription &&\n \"agentType\" in extraProps &&\n typeof extraProps.agentType === \"string\" && (_jsx(\"div\", { className: cn(\"flex max-w-full items-center justify-end\"), children: _jsx(\"span\", { className: cn(\"truncate text-xs leading-5\", asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\"), children: extraProps.agentType }) }))] }));\n return (_jsxs(\"div\", { className: cn(\"w-full max-w-full rounded-md bg-transparent px-3 pb-2\", variant === \"withValue\" ? \"pt-2\" : \"pt-3\", className), children: [variant === \"withValue\" && renderWithValue(), variant === \"withValueAndTitle\" &&\n renderWithValueTitleAndDescription(false), variant === \"withValueTitleAndDescription\" &&\n renderWithValueTitleAndDescription()] }));\n};\nexport { IdAutocompleteListOption };\n//# sourceMappingURL=id-autocomplete-list-option.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, CommandEmpty, CommandGroup, CommandItem, CommandList, } from \"@powerhousedao/design-system\";\nimport { useCommandState } from \"cmdk\";\nimport React, { useEffect } from \"react\";\nimport { IdAutocompleteListOption } from \"./id-autocomplete-list-option.js\";\nconst IdAutocompleteList = ({ variant, commandListRef, selectedValue, options = [], toggleOption, renderOption, previewPlaceholder, }) => {\n const cmdkSearch = useCommandState((state) => state.search);\n const defaultOption = previewPlaceholder || {\n value: \"value not available\",\n title: \"Title not available\",\n path: \"Path not available\",\n description: \"Description not available\",\n };\n useEffect(() => {\n commandListRef?.current?.scrollTo({ top: 0, behavior: \"instant\" });\n }, [commandListRef, cmdkSearch]);\n return (_jsxs(CommandList, { ref: commandListRef, children: [_jsx(CommandEmpty, { className: cn(\"h-full p-1\"), children: renderOption ? (renderOption(defaultOption, {\n asPlaceholder: true,\n showValue: true,\n className: cn(\"pb-0\"),\n })) : (_jsx(IdAutocompleteListOption, { variant: variant, icon: defaultOption.icon, title: defaultOption.title, path: defaultOption.path, value: defaultOption.value, description: defaultOption.description, asPlaceholder: true, className: cn(\"pb-0\") })) }), _jsx(CommandGroup, { className: cn(\"px-1\"), children: options.map((opt) => {\n const isSelected = selectedValue === opt.value;\n return (_jsx(CommandItem, { value: opt.value, onSelect: () => toggleOption?.(opt.value), className: cn(\"h-full cursor-pointer border-y-0 p-0\", \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900\"), role: \"option\", \"aria-selected\": isSelected, children: renderOption ? (renderOption(opt, {\n asPlaceholder: false,\n showValue: true,\n })) : (_jsx(IdAutocompleteListOption, { variant: variant, ...opt })) }, opt.value));\n }) })] }));\n};\nexport { IdAutocompleteList };\n//# sourceMappingURL=id-autocomplete-list.js.map","import { createContext, useContext } from \"react\";\nexport const IdAutocompleteContext = createContext({});\nexport const useIdAutocompleteContext = () => useContext(IdAutocompleteContext);\n//# sourceMappingURL=id-autocomplete-context.js.map","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDebounceCallback } from \"usehooks-ts\";\nimport { useIdAutocompleteContext } from \"./id-autocomplete-context.js\";\nexport function useIdAutocomplete({ autoComplete, defaultValue, value, isOpenByDefault, initialOptions, onChange, onBlur, fetchOptions, fetchSelectedOption, }) {\n const context = useIdAutocompleteContext();\n const shouldFetchOptions = useRef(false);\n const isInternalChange = useRef(false);\n const commandListRef = useRef(null);\n const [isPopoverOpen, setIsPopoverOpen] = useState(isOpenByDefault ?? false);\n const [options, setOptions] = useState(initialOptions ?? []);\n const [isLoading, setIsLoading] = useState(false);\n const [isLoadingSelectedOption, setIsLoadingSelectedOption] = useState(false);\n const [haveFetchError, setHaveFetchError] = useState(false);\n const [selectedValue, setSelectedValue] = useState(value ?? defaultValue ?? \"\");\n const [selectedOption, setSelectedOption] = useState(undefined);\n const [commandValue, setCommandValue] = useState(\"\");\n const [isFetchSelectedOptionSync, setIsFetchSelectedOptionSync] = useState(false);\n const clear = useCallback(() => {\n setHaveFetchError(false);\n setIsLoading(false);\n setIsLoadingSelectedOption(false);\n setIsPopoverOpen(false);\n }, []);\n const debouncedFetchOptions = useDebounceCallback(useCallback((newValue) => {\n if (!autoComplete || !fetchOptions)\n return;\n if (newValue === \"\") {\n clear();\n setOptions([]);\n setSelectedValue(\"\");\n setSelectedOption(undefined);\n return;\n }\n setHaveFetchError(false);\n setIsLoading(true);\n try {\n const result = fetchOptions(newValue, context);\n Promise.resolve(result)\n .then((newOptions) => {\n setOptions(newOptions);\n const matchingOption = newOptions.find((opt) => opt.value === newValue);\n if (matchingOption) {\n setSelectedOption(matchingOption);\n setIsPopoverOpen(false);\n }\n else {\n setSelectedOption(undefined);\n setIsPopoverOpen(true);\n }\n setIsLoading(false);\n })\n .catch(() => {\n setHaveFetchError(true);\n setIsLoading(false);\n });\n }\n catch {\n setHaveFetchError(true);\n setIsLoading(false);\n }\n }, [clear, autoComplete, fetchOptions, context]));\n const handleFetchSelectedOption = useCallback((value) => {\n if (!autoComplete || !fetchSelectedOption)\n return;\n setIsLoadingSelectedOption(true);\n try {\n const result = fetchSelectedOption(value);\n const isPromise = result instanceof Promise;\n Promise.resolve(result)\n .then((option) => {\n if (option) {\n setSelectedOption(option);\n setOptions((prevOptions) => {\n const optionIndex = prevOptions.findIndex((opt) => opt.value === value);\n if (optionIndex !== -1) {\n const newOptions = [...prevOptions];\n newOptions[optionIndex] = option;\n return newOptions;\n }\n return prevOptions;\n });\n }\n else {\n clear();\n setOptions([]);\n setSelectedValue(\"\");\n setSelectedOption(undefined);\n }\n setIsLoadingSelectedOption(false);\n if (!isPromise) {\n setIsFetchSelectedOptionSync(true);\n setTimeout(() => {\n setIsFetchSelectedOptionSync(false);\n }, 1500);\n }\n })\n .catch(() => {\n setIsLoadingSelectedOption(false);\n });\n }\n catch {\n setIsLoadingSelectedOption(false);\n }\n }, [clear, autoComplete, fetchSelectedOption]);\n const handleOpenChange = useCallback((open) => {\n if (!open) {\n setCommandValue(options[0]?.value ?? \"\");\n }\n setIsPopoverOpen(open);\n }, [options]);\n const toggleOption = useCallback((optionValue) => {\n shouldFetchOptions.current = false;\n isInternalChange.current = true;\n setSelectedValue(optionValue);\n setSelectedOption(options.find((opt) => opt.value === optionValue));\n clear();\n onChange?.(optionValue);\n }, [onChange, clear, options]);\n const handleChange = useCallback((e) => {\n const newValue = e.target.value;\n shouldFetchOptions.current = true;\n setSelectedValue(newValue);\n setSelectedOption(undefined);\n onChange?.(newValue);\n }, [onChange]);\n const handleCommandValue = useCallback((value) => {\n setCommandValue(value);\n }, []);\n const onTriggerBlur = useCallback((e) => {\n if (!isPopoverOpen) {\n onBlur?.(e);\n }\n }, [onBlur, isPopoverOpen]);\n const handlePaste = useCallback((e) => {\n // Get clipboard data and trim it\n const clipboardData = e.clipboardData.getData(\"text\");\n const trimmedValue = clipboardData.trim();\n // If trimming changed the value, handle paste manually\n if (clipboardData !== trimmedValue) {\n e.preventDefault();\n // Get current input element and selection positions\n const input = e.currentTarget;\n const start = input.selectionStart || 0;\n const end = input.selectionEnd || 0;\n // Create new value by inserting trimmed text at cursor position\n const currentValue = input.value;\n const newValue = currentValue.substring(0, start) +\n trimmedValue +\n currentValue.substring(end);\n // Update input value via onChange\n onChange?.(newValue);\n // Set cursor position after pasted text and fetch options\n requestAnimationFrame(() => {\n const newPosition = start + trimmedValue.length;\n input.setSelectionRange(newPosition, newPosition);\n debouncedFetchOptions(newValue);\n });\n }\n else if (clipboardData === selectedValue) {\n debouncedFetchOptions(selectedValue);\n }\n }, [selectedValue, debouncedFetchOptions, onChange]);\n useEffect(() => {\n if (autoComplete) {\n if (shouldFetchOptions.current) {\n debouncedFetchOptions(selectedValue);\n }\n }\n else {\n clear();\n setOptions([]);\n setSelectedValue(\"\");\n setSelectedOption(undefined);\n }\n }, [autoComplete, selectedValue, debouncedFetchOptions, clear]);\n useEffect(() => {\n if (!isInternalChange.current) {\n shouldFetchOptions.current = false;\n setSelectedValue(value ?? defaultValue ?? \"\");\n setSelectedOption(undefined);\n }\n isInternalChange.current = false;\n }, [value]);\n useEffect(() => {\n if (initialOptions?.length && selectedValue) {\n const matchingOption = initialOptions.find((opt) => opt.value === selectedValue);\n if (matchingOption) {\n setSelectedOption(matchingOption);\n }\n }\n }, []);\n return {\n selectedValue,\n selectedOption,\n isPopoverOpen,\n commandListRef,\n options,\n isLoading,\n isLoadingSelectedOption,\n haveFetchError,\n commandValue,\n isFetchSelectedOptionSync,\n toggleOption,\n handleOpenChange,\n onTriggerBlur,\n handleChange,\n handleCommandValue,\n handleFetchSelectedOption,\n handlePaste,\n };\n}\n//# sourceMappingURL=use-id-autocomplete.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Command, FormDescription, FormGroup, FormLabel, FormMessageList, Input, Popover, PopoverAnchor, PopoverContent, sharedValueTransformers, ValueTransformer, } from \"@powerhousedao/design-system\";\nimport React, { useId, useMemo, useRef } from \"react\";\nimport { IdAutocompleteInputContainer } from \"./id-autocomplete-input-container.js\";\nimport { IdAutocompleteListOption } from \"./id-autocomplete-list-option.js\";\nimport { IdAutocompleteList } from \"./id-autocomplete-list.js\";\nimport { useIdAutocomplete } from \"./use-id-autocomplete.js\";\nconst IdAutocomplete = React.forwardRef(({ id: idProp, name, className, label, description, value, defaultValue, disabled, placeholder, required, errors, warnings, onChange, onBlur, onClick, onKeyDown, onMouseDown, autoComplete = true, variant = \"withValue\", maxLength, fetchOptionsCallback, fetchSelectedOptionCallback, isOpenByDefault, // to be used only in stories\ninitialOptions, renderOption, previewPlaceholder, ...props }, ref) => {\n const prefix = useId();\n const id = idProp ?? `${prefix}-id-autocomplete`;\n const inputRef = useRef(null);\n const mergedRef = (node) => {\n inputRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n }\n else if (ref) {\n ref.current = node;\n }\n };\n const hasWarning = Array.isArray(warnings) && warnings.length > 0;\n const hasError = Array.isArray(errors) && errors.length > 0;\n const { selectedValue, selectedOption, isPopoverOpen, commandListRef, options, isLoading, isLoadingSelectedOption, haveFetchError, commandValue, isFetchSelectedOptionSync, toggleOption, handleOpenChange, onTriggerBlur, handleChange, handleCommandValue, handleFetchSelectedOption, handlePaste, } = useIdAutocomplete({\n autoComplete,\n defaultValue,\n value,\n isOpenByDefault,\n initialOptions,\n onChange,\n onBlur,\n fetchOptions: fetchOptionsCallback,\n fetchSelectedOption: fetchSelectedOptionCallback,\n });\n const handleOptionSelection = (optionValue) => {\n toggleOption(optionValue);\n inputRef.current?.focus();\n };\n const asCard = variant === \"withValueAndTitle\" ||\n variant === \"withValueTitleAndDescription\";\n const transformers = useMemo(() => [\n sharedValueTransformers.trimOnBlur(),\n sharedValueTransformers.trimOnEnter(),\n ], []);\n return (_jsxs(FormGroup, { children: [!!label && (_jsx(FormLabel, { htmlFor: id, disabled: disabled, hasError: hasError, required: required, onClick: (e) => {\n e.preventDefault();\n e.target.control?.focus();\n }, children: label })), autoComplete && fetchOptionsCallback ? (_jsx(Popover, { open: isPopoverOpen, onOpenChange: handleOpenChange, children: _jsxs(Command, { shouldFilter: false, value: commandValue, onValueChange: handleCommandValue, className: cn(\"dark:bg-charcoal-900 bg-gray-100\"), children: [_jsx(PopoverAnchor, { asChild: true, children: _jsx(IdAutocompleteInputContainer, { id: id, name: name, value: selectedValue, className: className, isLoading: isLoading, haveFetchError: haveFetchError, disabled: disabled, onChange: handleChange, onBlur: onTriggerBlur, onClick: onClick, selectedOption: selectedOption, optionsLength: options.length, handleOpenChange: handleOpenChange, onKeyDown: onKeyDown, onMouseDown: onMouseDown, placeholder: placeholder, hasError: hasError, label: label, required: required, isPopoverOpen: isPopoverOpen, maxLength: maxLength, handlePaste: handlePaste, ...props, ref: mergedRef }) }), asCard &&\n (renderOption ? (renderOption(selectedOption === undefined && previewPlaceholder\n ? {\n ...previewPlaceholder,\n }\n : {\n ...selectedOption,\n value: selectedOption?.value ?? \"\",\n }, {\n asPlaceholder: selectedOption === undefined,\n showValue: false,\n isLoadingSelectedOption,\n handleFetchSelectedOption: fetchSelectedOptionCallback\n ? handleFetchSelectedOption\n : undefined,\n isFetchSelectedOptionSync,\n className: cn(\"rounded-t-none pt-2\"),\n })) : (_jsx(IdAutocompleteListOption, { variant: variant, icon: selectedOption?.icon ?? previewPlaceholder?.icon, title: selectedOption?.title ?? previewPlaceholder?.title, path: selectedOption?.path ?? previewPlaceholder?.path, value: selectedOption?.value ?? previewPlaceholder?.value ?? \"\", description: selectedOption?.description ??\n previewPlaceholder?.description, asPlaceholder: selectedOption === undefined, showValue: false, isLoadingSelectedOption: isLoadingSelectedOption, handleFetchSelectedOption: fetchSelectedOptionCallback\n ? handleFetchSelectedOption\n : undefined, isFetchSelectedOptionSync: isFetchSelectedOptionSync, className: cn(\"rounded-t-none pt-2\") }))), _jsx(PopoverContent, { align: \"start\", onOpenAutoFocus: (e) => e.preventDefault(), onInteractOutside: (e) => {\n if (e.target instanceof Element && e.target.id === id) {\n e.preventDefault();\n }\n }, children: _jsx(IdAutocompleteList, { variant: variant, commandListRef: commandListRef, selectedValue: selectedValue, options: options, toggleOption: handleOptionSelection, renderOption: renderOption, previewPlaceholder: previewPlaceholder }) })] }) })) : (_jsx(ValueTransformer, { transformers: transformers, children: _jsx(Input, { id: id, name: name, value: selectedValue, className: className, disabled: disabled, onChange: handleChange, onBlur: onBlur, onClick: onClick, onMouseDown: onMouseDown, placeholder: placeholder, \"aria-invalid\": hasError, \"aria-label\": !label ? \"Id Autocomplete\" : undefined, \"aria-required\": required, maxLength: maxLength, ...props, ref: mergedRef }) })), !!description && _jsx(FormDescription, { children: description }), hasWarning && _jsx(FormMessageList, { messages: warnings, type: \"warning\" }), hasError && _jsx(FormMessageList, { messages: errors, type: \"error\" })] }));\n});\nIdAutocomplete.displayName = \"IdAutocomplete\";\nexport { IdAutocomplete };\n//# sourceMappingURL=id-autocomplete.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nimport * as React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\nconst inputBaseStyles = cn(\n// Base styles\n\"flex h-9 w-full rounded-md text-sm font-normal leading-5 text-gray-900 dark:text-gray-50\", \n// Border & Background\n\"dark:border-charcoal-700 dark:bg-charcoal-900 border border-gray-300 bg-white\", \n// Padding\n\"px-3 py-2\", \n// Placeholder\n\"font-sans placeholder:text-gray-500 dark:placeholder:text-gray-600\", \n// Focus styles\n\"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gray-900 focus-visible:ring-offset-0 focus-visible:ring-offset-white\", \"dark:focus-visible:ring-charcoal-300 dark:focus-visible:ring-offset-charcoal-900 dark:focus:bg-charcoal-900 focus:bg-gray-50\", \n// Disabled state\n\"disabled:cursor-not-allowed\", \"disabled:border-gray-300 disabled:bg-gray-50 disabled:text-gray-700\", \"disabled:dark:border-charcoal-800 disabled:dark:bg-charcoal-900 disabled:dark:text-gray-300\");\nconst Input = React.forwardRef(({ className, type, ...props }, ref) => {\n return (_jsx(\"input\", { type: type, className: cn(inputBaseStyles, className), ref: ref, ...props }));\n});\nInput.displayName = \"Input\";\nexport { Input };\n//# sourceMappingURL=input.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { forwardRef, useCallback, useEffect, useState } from \"react\";\nimport { Controller, useFormContext, useFormState } from \"react-hook-form\";\nexport const withFieldValidation = (Component, options) => {\n return forwardRef(({ value, name, showErrorOnBlur, showErrorOnChange, validators: customValidators, ...props }, ref) => {\n const { onChange: onChangeProp, onBlur: onBlurProp } = props;\n const { control, formState: { errors: formErrors, defaultValues }, trigger, setValue, getValues, } = useFormContext();\n const { submitCount } = useFormState();\n if (!name) {\n throw new Error(`[Field: ${Component.displayName}] The name prop is required.`);\n }\n const errors = [\n ...(formErrors[name]?.types\n ? Object.values(formErrors[name].types ?? [])\n : []),\n ];\n if (errors.length === 0 && !!formErrors[name]) {\n // the field is invalid but no error message was provided\n errors.push(\"Invalid value\");\n }\n useEffect(() => {\n if (submitCount > 0) {\n void trigger(name);\n }\n // we should trigger a re-validation after the form is submitted, the errors are shown\n // and the required prop is changed. Other deps can not be added, otherwise a revalidation\n // will be triggered unnecessarily\n }, [props.required]);\n useEffect(() => {\n // if custom errors are provided, then we need to trigger the validation\n // otherwise the errors will not be shown till the form is submitted\n if (props.errors && props.errors.length > 0) {\n void trigger(name);\n }\n }, [name, props.errors, trigger]);\n const [initialized, setInitialized] = useState(false);\n useEffect(() => {\n if (initialized) {\n setValue(name, value);\n }\n setInitialized(true);\n // initialized can not be in the dependencies because it would cause\n // a change of the value on initial render\n }, [name, value]);\n if (value !== undefined && !onChangeProp) {\n console.warn(`[Field: ${name}] Value prop provided without onChange so it will be ignored. Use disabled/readOnly if you want to prevent changes.`);\n }\n return (_jsx(Controller, { control: control, name: name, defaultValue: (value ?? props.defaultValue), disabled: props.disabled, render: ({ field: { \n // just preventing that onChange is included in the rest of the props\n onChange: _, onBlur: onBlurController, value: internalValue, ...rest }, }) => {\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n const onBlurCallback = useCallback((event) => {\n if (showErrorOnBlur) {\n void trigger(name);\n }\n else {\n onBlurController(); // default behavior\n }\n // trigger parent onBlur\n if (onBlurProp) {\n onBlurProp(event);\n }\n }, [onBlurController, showErrorOnBlur]);\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n const onChangeCallback = useCallback((event) => {\n // update value state\n if (onChangeProp) {\n if (Object.hasOwn(event, \"target\")) {\n // it is probably an actual event\n setValue(name, event.target.value);\n }\n else {\n // it is a custom onChange and it pass the value directly\n setValue(name, event);\n }\n // the fields is controlled by the parent\n onChangeProp(event);\n }\n else {\n // sometimes the onChange is overridden by the parent and use the new value as parameter instead of event\n let value = event;\n if (event instanceof Event ||\n event.target instanceof HTMLElement) {\n value = event.target.value;\n }\n setValue(name, value); // default behavior\n }\n // now let's validate the field\n if (showErrorOnChange === undefined &&\n showErrorOnBlur === undefined) {\n // use form validation mode...\n // if previously validated, then validate on change\n if (submitCount > 0) {\n void trigger(name);\n }\n }\n else {\n // default validation behavior was overridden\n if (showErrorOnChange) {\n void trigger(name);\n }\n }\n }, \n // `internalValue` is the value of the field that is controlled by the form\n // it is used to trigger the validation on change, so we need to add it to the dependencies\n // otherwise the validation will not be triggered on change\n [internalValue, showErrorOnChange, showErrorOnBlur, submitCount]);\n // extract ref from rest\n const { ref: formFieldRef } = rest;\n // create a combined ref\n const combinedRef = (element) => {\n // apply external ref if exists\n if (typeof ref === \"function\") {\n ref(element);\n }\n else if (ref) {\n ref.current = element;\n }\n // apply field ref\n formFieldRef(element);\n };\n return (_jsx(Component, { ...props, ...rest, value: internalValue, onBlur: onBlurCallback, onChange: onChangeCallback, errors: errors, ref: combinedRef }));\n }, rules: {\n ...(props.required\n ? {\n required: {\n value: props.required,\n message: \"This field is required\",\n },\n }\n : {\n required: undefined,\n }),\n ...(props.pattern && {\n pattern: {\n value: new RegExp(props.pattern),\n message: \"This field does not match the required pattern\",\n },\n }),\n ...(props.maxLength !== undefined && props.maxLength >= 0\n ? {\n maxLength: {\n value: props.maxLength,\n message: `This field must be at most ${props.maxLength} characters`,\n },\n }\n : {\n maxLength: undefined,\n }),\n ...(props.minLength !== undefined && props.minLength >= 0\n ? {\n minLength: {\n value: props.minLength,\n message: `This field must be at least ${props.minLength} characters`,\n },\n }\n : {\n minLength: undefined,\n }),\n ...(props.minValue && {\n min: {\n value: props.minValue,\n message: `This field must be greater than or equal to ${props.minValue}`,\n },\n }),\n ...(props.maxValue && {\n max: {\n value: props.maxValue,\n message: `This field must be less than or equal to ${props.maxValue}`,\n },\n }),\n validate: {\n // custom errors provided as props\n ...(props.errors\n ? Object.fromEntries(Array.isArray(props.errors)\n ? props.errors.map((error, index) => [\n `_propError${index}`,\n () => error,\n ])\n : [])\n : {}),\n // built in validations by the field in the library\n ...(options?.validations\n ? Object.fromEntries(Object.entries(options.validations).map(([key, validatorFactory]) => {\n const propsWithValues = {\n value: getValues(name), // get the actual value of the field in the form\n name,\n showErrorOnBlur,\n showErrorOnChange,\n ...props,\n };\n return [\n key,\n validatorFactory(propsWithValues),\n ];\n }))\n : {}),\n // custom validations by the user/developer\n ...(customValidators !== undefined\n ? Object.fromEntries((Array.isArray(customValidators)\n ? customValidators\n : [customValidators]).map((validator, index) => [\n `customValidation${index}`,\n validator,\n ]))\n : {}),\n },\n } }));\n });\n};\n//# sourceMappingURL=with-field-validation.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { cn, CommandItem, Icon } from \"@powerhousedao/design-system\";\nimport React from \"react\";\nconst renderIcon = (IconComponent) => {\n if (typeof IconComponent === \"string\") {\n return (_jsx(Icon, { name: IconComponent, size: 16, className: cn(\"text-gray-700 dark:text-gray-400\") }));\n }\n return (IconComponent && (_jsx(IconComponent, { className: cn(\"size-4\", \"text-gray-700 dark:text-gray-400\") })));\n};\nexport const CommandItemList = ({ options = [], selectedValues, multiple, selectionIcon, selectionIconPosition, hasAnyIcon, toggleOption, tabIndex, }) => {\n return (_jsx(_Fragment, { children: options.map((opt) => {\n const isSelected = selectedValues.includes(opt.value);\n return (_jsxs(CommandItem, { tabIndex: tabIndex, value: opt.label, onSelect: () => !opt.disabled && toggleOption(opt.value), disabled: opt.disabled, className: cn(\"cursor-pointer\", \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900\", opt.disabled &&\n \"!pointer-events-auto cursor-not-allowed hover:bg-transparent dark:hover:bg-transparent\"), role: \"option\", \"aria-selected\": isSelected, children: [selectionIcon === \"auto\" &&\n (multiple ? (_jsx(\"div\", { className: cn(\"flex size-4 items-center justify-center rounded-md border\", \"border-gray-700 dark:border-gray-400\", isSelected &&\n \"bg-gray-900 text-slate-50 dark:bg-gray-400 dark:text-black\"), children: isSelected && _jsx(Icon, { name: \"Checkmark\", size: 16 }) })) : (_jsx(\"div\", { className: cn(\"relative size-4 rounded-full border\", isSelected\n ? \"border-gray-900 dark:border-gray-400\"\n : \"border-gray-800 dark:border-gray-400\", \"bg-transparent dark:bg-transparent\"), children: isSelected && (_jsx(\"div\", { className: \"absolute left-1/2 top-1/2 size-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full bg-gray-900 dark:bg-gray-400\" })) }))), selectionIcon === \"checkmark\" &&\n !(selectionIconPosition === \"right\" && hasAnyIcon) && (_jsx(\"div\", { className: \"size-4\", children: selectionIconPosition === \"left\" && isSelected && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) })), renderIcon(opt.icon), _jsx(\"span\", { className: cn(\"flex-1 truncate text-[14px] font-normal leading-4\", \"text-gray-700 dark:text-gray-500\", opt.disabled && \"text-gray-600 dark:text-gray-600\"), children: opt.label }), selectionIcon === \"checkmark\" &&\n selectionIconPosition === \"right\" && (_jsx(\"div\", { className: \"size-4\", children: isSelected && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) }))] }, `favorite-${opt.value}`));\n }) }));\n};\n//# sourceMappingURL=CommandItemList.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { cn, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, Icon, } from \"@powerhousedao/design-system\";\nimport { useCommandState } from \"cmdk\";\nimport React, { useEffect } from \"react\";\nimport { CommandItemList } from \"./subcomponents/CommandItemList.js\";\nexport const Content = ({ searchable, commandListRef, multiple, selectedValues, selectionIcon, selectionIconPosition, options = [], toggleAll, toggleOption, favoriteOptions = [], }) => {\n const enabledOptions = options.filter((opt) => !opt.disabled);\n const hasAnyIcon = options.some((opt) => opt.icon);\n const cmdkSearch = useCommandState((state) => state.search);\n // scroll to top when search change\n useEffect(() => {\n commandListRef.current?.scrollTo({ top: 0, behavior: \"instant\" });\n }, [commandListRef, cmdkSearch]);\n return (_jsxs(_Fragment, { children: [searchable && (_jsx(CommandInput, { placeholder: \"Search...\", onKeyDown: (e) => {\n const isOptionsRelatedKey = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Enter\",\n ].includes(e.key);\n if (!(isOptionsRelatedKey && enabledOptions.length > 0)) {\n e.stopPropagation();\n }\n }, wrapperClassName: \"rounded-t\", className: \"text-gray-900 dark:text-gray-50\" })), _jsxs(CommandList, { ref: commandListRef, tabIndex: !searchable ? 0 : undefined, children: [_jsx(CommandEmpty, { className: \"p-4 text-center text-[14px] font-normal leading-5 text-gray-700 dark:text-gray-400\", children: \"No results found.\" }), multiple && cmdkSearch === \"\" && (_jsx(CommandGroup, { className: \"pb-0\", children: _jsx(CommandItem, { value: \"select-all\", onSelect: toggleAll, disabled: false, className: cn(\"cursor-pointer\", \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900\"), role: \"option\", \"aria-selected\": selectedValues.length === enabledOptions.length, children: _jsxs(\"div\", { className: \"flex w-full items-center gap-2\", children: [selectionIcon === \"auto\" && (_jsx(\"div\", { className: cn(\"flex size-4 items-center justify-center rounded-md border\", \"border-gray-700 dark:border-gray-400\", selectedValues.length === enabledOptions.length &&\n \"bg-gray-900 text-slate-50 dark:bg-gray-400 dark:text-black\"), children: selectedValues.length === enabledOptions.length && (_jsx(Icon, { name: \"Checkmark\", size: 16 })) })), selectionIcon === \"checkmark\" &&\n !(selectionIconPosition === \"right\" && hasAnyIcon) && (_jsx(\"div\", { className: \"size-4\", children: selectionIconPosition === \"left\" &&\n selectedValues.length === enabledOptions.length && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) })), _jsx(\"span\", { className: \"text-[14px] font-semibold leading-4 text-gray-900 dark:text-gray-50\", children: selectedValues.length === enabledOptions.length\n ? \"Deselect All\"\n : \"Select All\" }), selectionIcon === \"checkmark\" &&\n selectionIconPosition === \"right\" && (_jsx(\"div\", { className: \"ml-auto size-4\", children: selectedValues.length === enabledOptions.length && (_jsx(Icon, { name: \"Checkmark\", size: 16, className: \"text-gray-900 dark:text-gray-50\" })) }))] }) }) })), _jsxs(CommandGroup, { className: multiple && cmdkSearch === \"\" ? \"pt-0\" : undefined, children: [_jsx(CommandItemList, { options: favoriteOptions, selectedValues: selectedValues, multiple: multiple, selectionIcon: selectionIcon, selectionIconPosition: selectionIconPosition, hasAnyIcon: hasAnyIcon, toggleOption: toggleOption, tabIndex: !searchable ? 0 : undefined }), favoriteOptions.length > 0 && (_jsx(\"div\", { className: \"my-1 border-b border-gray-300 dark:border-gray-600\" })), _jsx(CommandItemList, { options: options, selectedValues: selectedValues, multiple: multiple, selectionIcon: selectionIcon, selectionIconPosition: selectionIconPosition, hasAnyIcon: hasAnyIcon, toggleOption: toggleOption, tabIndex: !searchable ? 0 : undefined })] })] })] }));\n};\n//# sourceMappingURL=content.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, Icon } from \"@powerhousedao/design-system\";\nimport React from \"react\";\nexport const SelectedContent = ({ selectedValues, options = [], multiple, searchable, placeholder, handleClear, }) => {\n const renderIcon = (IconComponent) => {\n if (typeof IconComponent === \"string\") {\n return _jsx(Icon, { name: IconComponent, size: 16 });\n }\n return IconComponent && _jsx(IconComponent, { className: \"size-4\" });\n };\n if (selectedValues.length === 0) {\n return (_jsxs(\"div\", { className: cn(\"mx-auto flex w-full items-center\", placeholder ? \"justify-between\" : \"justify-end\"), children: [placeholder && (_jsx(\"span\", { className: \"text-[14px] font-normal leading-5 text-gray-600 dark:text-gray-500\", children: placeholder })), searchable ? (_jsx(Icon, { name: \"CaretSort\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" })) : (_jsx(Icon, { name: \"ChevronDown\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" }))] }));\n }\n return (_jsxs(\"div\", { className: \"flex w-full items-center justify-between gap-2\", children: [_jsx(\"div\", { className: cn(\"max-w-full truncate text-gray-900 dark:text-gray-50\", !multiple && \"flex items-center gap-2\"), children: selectedValues.map((value, index) => {\n const option = options.find((o) => o.value === value);\n return !multiple ? (_jsxs(React.Fragment, { children: [renderIcon(option?.icon), _jsx(\"span\", { className: \"truncate text-[14px] font-normal leading-5\", children: option?.label })] }, value)) : (_jsx(\"span\", { className: cn(\"text-[14px] font-normal leading-5\", index !== selectedValues.length - 1 && \"mr-1\"), children: index !== selectedValues.length - 1\n ? `${option?.label},`\n : option?.label }, value));\n }) }), _jsxs(\"div\", { className: \"flex items-center justify-between gap-2\", children: [multiple && selectedValues.length > 0 && (_jsx(\"div\", { onClick: (e) => {\n e.preventDefault();\n e.stopPropagation();\n handleClear();\n }, className: \"size-4 p-0\", children: _jsx(Icon, { name: \"XmarkLight\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" }) })), searchable ? (_jsx(Icon, { name: \"CaretSort\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" })) : (_jsx(Icon, { name: \"ChevronDown\", size: 16, className: \"cursor-pointer text-gray-700 dark:text-gray-400\" }))] })] }));\n};\n//# sourceMappingURL=selected-content.js.map","import { useCallback, useEffect, useRef, useState } from \"react\";\nexport function useSelectField({ options = [], multiple = false, defaultValue, value, onChange, }) {\n const isInternalChange = useRef(false);\n const commandListRef = useRef(null);\n const [isPopoverOpen, setIsPopoverOpen] = useState(false);\n const [selectedValues, setSelectedValues] = useState(() => {\n const initialValue = value ?? defaultValue ?? [];\n if (initialValue === \"\") {\n return [];\n }\n return Array.isArray(initialValue) ? initialValue : [initialValue];\n });\n useEffect(() => {\n if (isInternalChange.current) {\n isInternalChange.current = false;\n return;\n }\n const newValue = value ?? defaultValue ?? [];\n if (newValue === \"\") {\n setSelectedValues([]);\n }\n else {\n setSelectedValues(Array.isArray(newValue) ? newValue : [newValue]);\n }\n }, [value]);\n const handleOpenChange = useCallback((open) => {\n setIsPopoverOpen(open);\n }, []);\n const toggleOption = useCallback((optionValue) => {\n isInternalChange.current = true;\n let newValues;\n if (multiple) {\n newValues = selectedValues.includes(optionValue)\n ? selectedValues.filter((v) => v !== optionValue)\n : [...selectedValues, optionValue];\n }\n else {\n newValues = selectedValues[0] === optionValue ? [] : [optionValue];\n setIsPopoverOpen(false);\n }\n setSelectedValues(newValues);\n onChange?.(multiple ? newValues : (newValues[0] ?? \"\"));\n }, [multiple, selectedValues, options, onChange]);\n const handleClear = useCallback(() => {\n isInternalChange.current = true;\n setSelectedValues([]);\n onChange?.(multiple ? [] : \"\");\n }, [multiple, onChange]);\n const toggleAll = useCallback(() => {\n isInternalChange.current = true;\n const enabledOptions = options\n .filter((opt) => !opt.disabled)\n .map((opt) => opt.value);\n const newValues = selectedValues.length === enabledOptions.length ? [] : enabledOptions;\n setSelectedValues(newValues);\n onChange?.(multiple ? newValues : newValues[0]);\n }, [options, selectedValues, multiple, onChange]);\n // handles changes to the \"multiple\" prop avoiding calling onChange on mount\n const prevMultiple = useRef(multiple);\n useEffect(() => {\n if (prevMultiple.current === multiple) {\n return;\n }\n prevMultiple.current = multiple;\n if (!multiple && selectedValues.length > 1) {\n isInternalChange.current = true;\n setSelectedValues([selectedValues[0]]);\n onChange?.(selectedValues[0]);\n return;\n }\n if (selectedValues.length > 0) {\n isInternalChange.current = true;\n onChange?.(multiple ? [selectedValues[0]] : selectedValues[0]);\n }\n }, [multiple]);\n return {\n selectedValues,\n isPopoverOpen,\n commandListRef,\n toggleOption,\n handleClear,\n toggleAll,\n handleOpenChange,\n };\n}\n//# sourceMappingURL=use-select-field.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button, cn, Command, FormDescription, FormGroup, FormLabel, FormMessageList, Popover, PopoverContent, PopoverTrigger, } from \"@powerhousedao/design-system\";\nimport React, { useCallback, useId } from \"react\";\nimport { withFieldValidation } from \"../with-field-validation/with-field-validation.js\";\nimport { Content } from \"./content.js\";\nimport { SelectedContent } from \"./selected-content.js\";\nimport { useSelectField } from \"./use-select-field.js\";\nexport const SelectFieldRaw = React.forwardRef(({ \n// core functionality props\noptions = [], favoriteOptions = [], defaultValue, value, onChange, onBlur, \n// form-related props\nid: propId, name, label, required, disabled, \n// validation props\nerrors = [], warnings = [], \n// behavior props\nmultiple, selectionIcon = \"auto\", selectionIconPosition = \"left\", searchable, \n// display props\ndescription, placeholder, className, contentClassName, contentAlign = \"start\", ...props }, ref) => {\n const prefix = useId();\n const id = propId ?? `${prefix}-select`;\n const { selectedValues, isPopoverOpen, commandListRef, toggleOption, handleClear, toggleAll, handleOpenChange, } = useSelectField({\n options,\n multiple,\n defaultValue,\n value,\n onChange,\n });\n const onTriggerBlur = useCallback((e) => {\n if (!isPopoverOpen) {\n // trigger the blur event when the trigger loses focus but the popover is not open,\n // because when the popover is open, the trigger loses focus but the select as a component still has the focus\n onBlur?.(e);\n }\n }, [onBlur, isPopoverOpen]);\n return (_jsxs(FormGroup, { children: [label && (_jsx(FormLabel, { htmlFor: id, required: required, disabled: disabled, hasError: errors.length > 0, inline: false, onClick: (e) => {\n e.preventDefault();\n e.target.control?.focus();\n }, children: label })), _jsxs(Popover, { open: isPopoverOpen, onOpenChange: (open) => {\n handleOpenChange(open);\n // if the popover is closing and it was not by the trigger button\n if (!open && document.activeElement?.id !== id) {\n onBlur?.({ target: {} });\n }\n }, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { id: id, name: name, type: \"button\", role: \"combobox\", onBlur: onTriggerBlur, disabled: disabled, \"aria-invalid\": errors.length > 0, \"aria-label\": label ? undefined : multiple ? \"Multi select\" : \"Select\", \"aria-required\": required, \"aria-expanded\": isPopoverOpen, className: cn(\"flex h-9 w-full items-center justify-between px-3 py-2\", \"dark:border-charcoal-700 dark:bg-charcoal-900 rounded-md border border-gray-300 bg-white\", \"hover:border-gray-300 hover:bg-gray-100\", \"dark:hover:border-charcoal-700 dark:hover:bg-charcoal-800\", \"dark:focus:ring-charcoal-300 focus:outline-none focus:ring-1 focus:ring-gray-900 focus:ring-offset-0\", \"dark:focus-visible:ring-charcoal-300 focus-visible:ring-1 focus-visible:ring-gray-900 focus-visible:ring-offset-0\", disabled && [\n \"!pointer-events-auto cursor-not-allowed bg-gray-50\",\n \"dark:hover:border-charcoal-700 dark:hover:bg-charcoal-900 hover:border-gray-300 hover:bg-gray-50\",\n ], className), ...props, ref: ref, children: _jsx(SelectedContent, { selectedValues: selectedValues, options: [...favoriteOptions, ...options], multiple: multiple, searchable: searchable, placeholder: placeholder, handleClear: handleClear }) }) }), _jsx(PopoverContent, { align: contentAlign, onEscapeKeyDown: (e) => {\n e.preventDefault();\n handleOpenChange(false);\n }, className: contentClassName, children: _jsx(Command, { defaultValue: !multiple && selectedValues[0]\n ? options.find((opt) => opt.value === selectedValues[0])\n ?.label\n : undefined, children: _jsx(Content, { favoriteOptions: favoriteOptions, searchable: searchable, commandListRef: commandListRef, multiple: multiple, selectedValues: selectedValues, selectionIcon: selectionIcon, selectionIconPosition: selectionIconPosition, options: options, toggleAll: toggleAll, toggleOption: toggleOption }) }) })] }), description && _jsx(FormDescription, { children: description }), warnings.length > 0 && (_jsx(FormMessageList, { messages: warnings, type: \"warning\" })), errors.length > 0 && (_jsx(FormMessageList, { messages: errors, type: \"error\" }))] }));\n});\nexport const SelectField = withFieldValidation(SelectFieldRaw);\nSelectField.displayName = \"SelectField\";\n//# sourceMappingURL=select-field.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn } from \"@powerhousedao/design-system\";\nimport { Content, Portal, Provider, Root, Trigger, } from \"@radix-ui/react-tooltip\";\nimport { forwardRef } from \"react\";\nconst TooltipContent = forwardRef(({ children, className, ...props }, ref) => {\n return (_jsx(Content, { ref: ref, ...props, className: cn(\n // Base styles\n \"z-50 overflow-hidden rounded-md text-sm\", \n // Colors & Border\n \"border border-gray-200 bg-white text-gray-900 dark:border-gray-900 dark:bg-slate-900 dark:text-gray-200\", \n // Padding & Shadow\n \"px-3 py-1.5 shadow-md\", \n // Animations\n \"data-[state=open]:animate-fade-in data-[state=open]:animate-zoom-in\", \"data-[state=closed]:animate-fade-out data-[state=closed]:animate-zoom-out\", \n // Slide animations based on position\n \"data-[side=bottom]:animate-slide-in-from-top\", \"data-[side=left]:animate-slide-in-from-right\", \"data-[side=right]:animate-slide-in-from-left\", \"data-[side=top]:animate-slide-in-from-bottom\", className), children: children }));\n});\nconst Tooltip = ({ content, children, triggerAsChild = false, delayDuration = 0, ...props }) => {\n const { open, defaultOpen, onOpenChange, ...rest } = props;\n return (_jsxs(Root, { defaultOpen: defaultOpen, delayDuration: delayDuration, onOpenChange: onOpenChange, open: open, children: [_jsx(Trigger, { asChild: triggerAsChild, type: triggerAsChild ? undefined : \"button\", children: children }), _jsx(Portal, { children: _jsx(TooltipContent, { sideOffset: 3, ...rest, children: content }) })] }));\n};\nexport { Tooltip, TooltipContent, Provider as TooltipProvider, Root as TooltipRoot, Trigger as TooltipTrigger, };\n//# sourceMappingURL=tooltip.js.map","import { deepEqual } from \"@powerhousedao/design-system\";\nimport React, { useEffect } from \"react\";\nimport { useFormContext } from \"react-hook-form\";\n// Workaround to set the value of an input element\n// following react core team recommendation\n// https://github.com/facebook/react/issues/10135\nfunction setNativeValue(element, value) {\n const valueSetter = Object.getOwnPropertyDescriptor(element, \"value\")?.set;\n const prototype = Object.getPrototypeOf(element);\n const prototypeValueSetter = Object.getOwnPropertyDescriptor(prototype, \"value\")?.set;\n if (valueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter?.call(element, value);\n }\n else {\n valueSetter?.call(element, value);\n }\n}\n// apply transformers to the value\nfunction _applyTransformers(transformers, value, filter = \"blur\") {\n return transformers.reduce((value, transformer) => {\n if (typeof transformer === \"function\") {\n if (filter === \"blur\" || filter === \"all\") {\n // array of transformers are only applied on blur\n return transformer(value);\n }\n return value;\n }\n // it is a transformer object\n if ((transformer.options?.trigger ?? \"blur\") !== filter &&\n filter !== \"all\") {\n return value;\n }\n // if no set, we assume true\n if (transformer.options?.if === undefined || transformer.options.if) {\n return transformer.transformer(value);\n }\n return value;\n }, value);\n}\n/**\n * Apply transformers to the value of the input element. A transformer is a function that\n * will be applied to the value of the input element modifying the value.\n *\n * @param transformers - An array of transformers. A transformer is an object with a\n * `transformer` property, which is a function that will be applied to the value of\n * the input element, and an optional `options` property. The `options` property can\n * have a `trigger` property, which is the event that triggers the transformer, and\n * an `if` property, which is a boolean that indicates if the transformer should be\n * applied.\n * @param children - The input element to apply the transformers to as children\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * transformer: (value) => value.toUpperCase(),\n * options: {\n * trigger: \"change\",\n * },\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * // trim the value on blur\n * transformer: (value) => (value as string).trim(),\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n */\nexport function ValueTransformer({ transformers, children, }) {\n const formContext = useFormContext();\n const setValue = formContext?.setValue;\n useEffect(() => {\n // apply all the transformers on mount to prevent untransformed values\n // if the field is not touched by the user\n const value = children.props.value;\n const transformedValue = _applyTransformers(transformers, value, \"all\");\n if (!deepEqual(transformedValue, value)) {\n if (typeof setValue === \"function\") {\n setValue(children.props.name, transformedValue);\n }\n else {\n // if setValue is not available, then we're not inside a form context\n // so we need to update the value using onChange if available\n children.props.onChange?.({\n target: { value: transformedValue },\n });\n }\n }\n }, [transformers, setValue]);\n return React.cloneElement(children, {\n // @ts-expect-error - React.HTMLAttributes is not typed\n ...children.props,\n onChange: (event) => {\n // apply transformers on change\n const transformedValue = _applyTransformers(transformers, event.target.value, \"change\");\n if (transformedValue !== event.target.value && setValue) {\n setValue(children.props.name, transformedValue);\n setNativeValue(event.target, transformedValue);\n }\n // call the original onChange\n children.props.onChange?.(event);\n },\n // apply transformers on blur\n onBlur: (event) => {\n // call the original onBlur\n children.props.onBlur?.(event);\n // apply the transformers\n const target = event.target;\n const transformedValue = _applyTransformers(transformers, target.value, \"blur\");\n if (!deepEqual(transformedValue, target.value)) {\n // only dispatch change if the value has changed\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n },\n onKeyDown: (event) => {\n // call the original onKeyDown\n children.props.onKeyDown?.(event);\n // apply the transformers\n if (event.key === \"Enter\") {\n const target = event.target;\n const transformedValue = _applyTransformers(transformers, target.value, \"keyDown\");\n // only dispatch change if the value has changed\n if (!deepEqual(transformedValue, target.value)) {\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n }\n },\n });\n}\n//# sourceMappingURL=value-transformer.js.map","export function deepEqual(a, b, visited = new Map()) {\n if (a === b) {\n return true;\n }\n if (a === null || b === null || a === undefined || b === undefined) {\n return false;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n return (a.length === b.length &&\n a.every((value, index) => deepEqual(value, b[index], visited)));\n }\n if (typeof a === \"object\" &&\n typeof b === \"object\" &&\n !Array.isArray(a) &&\n !Array.isArray(b)) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n return (aKeys.length === bKeys.length &&\n aKeys.every((key) => {\n return (key in b &&\n deepEqual(a[key], b[key], visited));\n }));\n }\n return false;\n}\n//# sourceMappingURL=deep-equal.js.map","export const sharedValueTransformers = {\n trimOnBlur: (ifParam = true) => ({\n transformer: (value) => value?.trim(),\n options: {\n trigger: \"blur\",\n if: ifParam,\n },\n }),\n lowercaseOnChange: (ifParam = true) => ({\n transformer: (value) => value?.toLowerCase(),\n options: {\n trigger: \"change\",\n if: ifParam,\n },\n }),\n uppercaseOnChange: (ifParam = true) => ({\n transformer: (value) => value?.toUpperCase(),\n options: {\n trigger: \"change\",\n if: ifParam,\n },\n }),\n trimOnEnter: (ifParam = true) => ({\n transformer: (value) => value?.trim(),\n options: {\n trigger: \"keyDown\",\n if: ifParam,\n },\n }),\n};\n//# sourceMappingURL=shared-value-transformers.js.map","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { object, record, string } from \"zod\";\nimport { Disclosure } from \"../../../disclosure/index.js\";\nconst PH_DEPENDENCIES = [\n /^@powerhousedao\\/.+$/,\n \"document-drive\",\n \"document-model\",\n];\nconst PackageJsonSchema = object({\n version: string({ message: \"Missing version field in package.json\" }),\n dependencies: record(string(), string()).nullable(),\n devDependencies: record(string(), string()).nullable(),\n})\n .refine((data) => data.dependencies != null || data.devDependencies != null, \"package.json must have either dependencies or devDependencies\")\n .transform((data) => {\n const allDependencies = {\n ...data.dependencies,\n ...data.devDependencies,\n };\n return {\n version: data.version,\n dependencies: Object.fromEntries(Object.entries(allDependencies).filter(([key]) => PH_DEPENDENCIES.some((regexOrName) => typeof regexOrName === \"string\"\n ? regexOrName === key\n : regexOrName.test(key)))),\n };\n});\nexport function verifyPackageJsonFields(packageJson) {\n const parsed = PackageJsonSchema.safeParse(packageJson);\n if (!parsed.success) {\n console.error(\"Package.json validation failed:\", parsed.error.format());\n return false;\n }\n return parsed.data;\n}\nexport function DependencyVersions(props) {\n const [isOpen, setIsOpen] = useState(false);\n const { packageJson, phCliVersion } = props;\n const validatedData = verifyPackageJsonFields(packageJson);\n if (!validatedData) {\n console.error(\"Failed to validate package.json data\");\n return null;\n }\n return (_jsx(Disclosure, { isOpen: isOpen, onOpenChange: () => setIsOpen(!isOpen), title: `App version: ${validatedData.version}`, toggleClassName: \"text-gray-900 text-sm\", children: _jsxs(\"ul\", { className: \"text-sm text-gray-600\", children: [Object.entries(validatedData.dependencies).map(([dep, version]) => (_jsxs(\"li\", { className: \"my-1 flex justify-between pr-1\", children: [_jsxs(\"span\", { children: [dep.replace(\"@powerhousedao/\", \"\"), \":\"] }), _jsx(\"span\", { className: \"font-normal\", children: version })] }, dep))), phCliVersion && (_jsxs(\"li\", { className: \"my-1 flex justify-between pr-1\", children: [_jsx(\"span\", { children: \"@powerhousedao/ph-cli:\" }), _jsx(\"span\", { className: \"font-normal\", children: phCliVersion })] }, \"ph-cli\"))] }) }));\n}\n//# sourceMappingURL=dependency-versions.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { DependencyVersions } from \"../settings-modal/dependency-versions/dependency-versions.js\";\nexport function About(props) {\n const { packageJson, phCliVersion } = props;\n return (_jsxs(\"div\", { className: \"bg-white p-3\", children: [_jsx(\"h2\", { className: \"font-semibold\", children: \"About\" }), _jsx(\"p\", { className: \"text-sm font-normal text-gray-600\", children: \"Connect is the hub for your most important documents and processes translated into software. Easily capture data in a structured way with Connect.\" }), _jsx(\"div\", { className: \"my-4\", children: _jsx(DependencyVersions, { packageJson: packageJson, phCliVersion: phCliVersion }) })] }));\n}\n//# sourceMappingURL=about.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cn, ConnectDropdownMenu, Icon } from \"@powerhousedao/design-system\";\nimport { capitalCase } from \"change-case\";\nimport { getDriveSharingType } from \"document-drive\";\nimport { useState } from \"react\";\nexport function DangerZone(props) {\n const { className, ...rest } = props;\n return (_jsxs(\"div\", { className: cn(\"h-full rounded-lg bg-white p-3\", className), children: [_jsx(\"h2\", { className: \"mb-4 font-semibold\", children: \"Modify Drives\" }), _jsx(ModifyDrives, { ...rest }), _jsx(\"h2\", { className: \"my-4 font-semibold\", children: \"Local Storage\" }), _jsx(LocalStorage, { ...rest })] }));\n}\nfunction ModifyDrives(props) {\n const { className, ...rest } = props;\n return (_jsx(\"div\", { className: className, children: _jsx(DriveList, { ...rest }) }));\n}\nfunction DriveList(props) {\n const { className, ...rest } = props;\n return (_jsx(\"div\", { className: className, children: props.drives.map((drive) => (_jsx(Drive, { drive: drive, ...rest }, drive.header.id))) }));\n}\nfunction Drive(props) {\n const { drive, className, onDeleteDrive } = props;\n const [isDropdownMenuOpen, setIsDropdownMenuOpen] = useState(false);\n const localDriveIcon = _jsx(Icon, { name: \"Hdd\", size: 16, className: \"flex-none\" });\n const cloudDriveIcon = _jsx(Icon, { name: \"Server\", size: 16, className: \"flex-none\" });\n const publicDriveIcon = drive.state.global.icon ? (_jsx(\"img\", { alt: \"drive icon\", className: \"size-4 flex-none object-contain\", src: drive.state.global.icon })) : (_jsx(Icon, { name: \"M\", size: 16, className: \"flex-none\" }));\n function getNodeIcon() {\n const sharingType = getDriveSharingType(drive);\n if (sharingType === \"PUBLIC\") {\n return publicDriveIcon;\n }\n if (sharingType === \"CLOUD\") {\n return cloudDriveIcon;\n }\n return localDriveIcon;\n }\n const icon = getNodeIcon();\n return (_jsxs(\"div\", { className: cn(\"mb-4 flex w-96 items-center gap-2 rounded-md border border-gray-200 bg-gray-50 px-3 py-2 shadow-sm last-of-type:mb-0\", className), children: [icon, _jsxs(\"div\", { children: [_jsx(\"span\", { className: \"block text-sm font-medium leading-[18px]\", children: capitalCase(drive.header.name) }), _jsxs(\"div\", { className: \"flex items-baseline gap-x-2 leading-[18px]\", children: [_jsxs(\"span\", { className: \"text-sm text-gray-600\", children: [capitalCase(getDriveSharingType(drive)), \" App\"] }), _jsxs(\"a\", { className: \"group flex items-center gap-x-2 text-sm text-slate-500 transition-colors hover:text-[#9896FF]\", children: [\"By Powerhouse\", _jsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 12 12\", className: \"size-4 text-gray-400 transition-colors group-hover:text-inherit\", children: _jsx(\"path\", { d: \"M7.99365 11.9939C9.46632 11.9939 10.6603 10.7999 10.6603 9.32722V7.32722C10.6603 6.95922 10.3617 6.66056 9.99365 6.66056C9.62565 6.66056 9.32699 6.95922 9.32699 7.32722V9.32722C9.32699 10.0639 8.73032 10.6606 7.99365 10.6606H2.66032C1.92365 10.6606 1.32699 10.0639 1.32699 9.32722V3.99389C1.32699 3.25723 1.92365 2.66056 2.66032 2.66056H4.66032C5.02832 2.66056 5.32699 2.36189 5.32699 1.99389C5.32699 1.6259 5.02832 1.32723 4.66032 1.32723H2.66032C1.18765 1.32723 -0.00634766 2.52123 -0.00634766 3.99389V9.32722C-0.00634766 10.7999 1.18765 11.9939 2.66032 11.9939H7.99365ZM5.32699 7.32722C5.49765 7.32722 5.67565 7.26989 5.80632 7.13989L10.1396 2.80656L11.9937 4.66056V-0.00610352H7.32699L9.18099 1.8479L4.84766 6.18123C4.58766 6.4419 4.58766 6.87922 4.84766 7.13989C4.97832 7.26989 5.15632 7.32722 5.32699 7.32722Z\", fill: \"currentColor\" }) })] })] })] }), _jsx(ConnectDropdownMenu, { items: [\n {\n id: \"delete-drive\",\n label: \"Delete\",\n icon: _jsx(Icon, { name: \"Trash\" }),\n className: \"text-red-900\",\n },\n ], onItemClick: (id) => {\n if (id === \"delete-drive\") {\n onDeleteDrive(drive);\n }\n }, onOpenChange: setIsDropdownMenuOpen, open: isDropdownMenuOpen, children: _jsx(\"button\", { className: \"group ml-auto flex-none\", onClick: (e) => {\n e.stopPropagation();\n setIsDropdownMenuOpen(true);\n }, children: _jsx(Icon, { className: \"text-gray-600 group-hover:text-gray-900\", name: \"VerticalDots\", size: 16 }) }) })] }));\n}\nfunction LocalStorage(props) {\n const { onClearStorage } = props;\n return (_jsx(\"div\", { children: _jsxs(\"button\", { className: \"flex items-center gap-x-2 rounded-md border border-gray-300 bg-transparent px-3 py-1 text-sm font-medium text-red-900 transition-colors hover:bg-gray-100\", onClick: onClearStorage, children: [\"Clear Storage \", _jsx(Icon, { name: \"Trash\", size: 16 })] }) }));\n}\n//# sourceMappingURL=danger-zone.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { SelectFieldRaw } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nexport function DefaultEditor(props) {\n const { className, ...rest } = props;\n return (_jsx(\"div\", { className: twMerge(\"rounded-lg p-3\", className), children: _jsx(DefaultEditorSelect, { ...rest }) }));\n}\nexport function DefaultEditorSelect(props) {\n const { documentModelEditor, setDocumentModelEditor, documentModelEditorOptions, className, } = props;\n return (_jsxs(\"div\", { children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Default Editor Selection\" }), _jsx(SelectFieldRaw, { className: twMerge(\"min-w-36 max-w-fit\", className), name: \"default-editor\", required: true, value: documentModelEditor, options: documentModelEditorOptions, multiple: false, onChange: (value) => setDocumentModelEditor(value) })] }));\n}\n//# sourceMappingURL=default-editor.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, PowerhouseButton } from \"@powerhousedao/design-system\";\nimport { IdAutocomplete, Input } from \"@powerhousedao/design-system\";\nimport { useCallback, useMemo, useState } from \"react\";\nconst ProviderIconMap = {\n npm: { icon: \"Npm\" },\n github: { icon: \"Github\", size: 28 },\n local: { icon: \"Hdd\" },\n};\nconst PackageItem = ({ packageName, provider }) => {\n const icon = provider && ProviderIconMap[provider];\n return (_jsxs(\"div\", { className: \"flex w-full items-center justify-between px-2 py-1\", children: [_jsx(\"p\", { className: \"font-medium\", children: packageName }), icon && _jsx(Icon, { name: icon.icon, size: icon.size })] }));\n};\nexport const PackageManagerInput = (props) => {\n const { onInstall, packageOptions, className } = props;\n const [value, setValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n const handleSubmit = useCallback(() => {\n const result = onInstall(value);\n if (result) {\n setLoading(true);\n result\n .then(() => setValue(\"\"))\n .catch(setError)\n .finally(() => setLoading(false));\n }\n else {\n setValue(\"\");\n setError(undefined);\n }\n }, [onInstall, value]);\n const handleChange = useCallback((e) => {\n setValue(e.target.value);\n }, []);\n const errorMessage = !error\n ? \" \"\n : typeof error === \"string\"\n ? error\n : error instanceof Error\n ? error.message\n : error;\n const autoCompleteOptions = useMemo(() => {\n const initialOptions = packageOptions?.map((option) => ({\n ...option,\n value: option.packageName,\n }));\n return !packageOptions?.length\n ? {\n autoComplete: false,\n }\n : {\n autoComplete: true,\n initialOptions,\n fetchOptionsCallback: (userInput) => initialOptions?.filter((o) => o.packageName.toLowerCase().includes(userInput.toLowerCase())) ?? [],\n renderOption: (option) => (_jsx(PackageItem, { ...option })),\n };\n }, [packageOptions]);\n return (_jsxs(\"div\", { className: className, children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Install Package\" }), _jsxs(\"div\", { className: \"flex items-center gap-4\", children: [!packageOptions?.length ? (_jsx(Input, { name: \"package\", className: \"max-w-xs text-gray-700\", value: value, onChange: handleChange, onSubmit: handleSubmit, disabled: loading })) : (_jsx(IdAutocomplete, { ...autoCompleteOptions, onChange: setValue })), _jsx(PowerhouseButton, { className: \"h-9 rounded-md text-sm\", onClick: handleSubmit, disabled: loading, children: \"Install\" })] }), _jsx(\"p\", { className: \"mb-3 ml-2 h-3 text-sm text-red-800\", children: errorMessage })] }));\n};\n//# sourceMappingURL=package-manager-input.js.map","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { ConnectDropdownMenu, Icon } from \"@powerhousedao/design-system\";\nimport { useCallback, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nconst PackageDetail = ({ label, value, }) => {\n return (_jsxs(\"div\", { className: \"flex items-start gap-2 text-sm\", children: [_jsxs(\"p\", { className: \"text-gray-600\", children: [label, \":\"] }), _jsx(\"p\", { className: \"text-gray-600\", children: value })] }));\n};\nexport const PackageManagerListItem = (props) => {\n const { package: { name, description, category, publisher, publisherUrl, modules, id, removable, }, mutable, onUninstall, className, } = props;\n const [isDropdownMenuOpen, setIsDropdownMenuOpen] = useState(false);\n return (_jsxs(\"li\", { className: twMerge(\"relative flex flex-col items-start rounded-md border border-gray-200 p-3 text-sm leading-5 shadow-sm\", className), children: [_jsx(\"h3\", { className: \"font-semibold text-gray-900\", children: name }), _jsx(PackageDetail, { label: \"Description\", value: description }), _jsx(PackageDetail, { label: \"Category\", value: category }), _jsx(PackageDetail, { label: \"Publisher\", value: publisher }), _jsx(PackageDetail, { label: \"Publisher URL\", value: _jsx(\"a\", { className: \"underline\", href: publisherUrl, children: publisherUrl }) }), _jsx(\"p\", { className: \"text-sm text-gray-600\", children: \"Modules included:\" }), _jsx(\"ul\", { className: \"list-disc pl-5\", children: modules.map((module) => (_jsx(\"li\", { children: _jsx(\"span\", { className: \"text-gray-600\", children: module }) }, module))) }), mutable && removable && (_jsx(ConnectDropdownMenu, { items: [\n {\n id: \"uninstall\",\n label: \"Uninstall\",\n icon: _jsx(Icon, { name: \"Trash\" }),\n className: \"text-red-900\",\n },\n ], onItemClick: (optionId) => {\n if (optionId === \"uninstall\") {\n onUninstall(id);\n }\n }, onOpenChange: setIsDropdownMenuOpen, open: isDropdownMenuOpen, children: _jsx(\"button\", { className: \"group absolute right-3 top-3\", onClick: (e) => {\n e.stopPropagation();\n setIsDropdownMenuOpen(true);\n }, children: _jsx(Icon, { className: \"text-gray-600 group-hover:text-gray-900\", name: \"VerticalDots\" }) }) }))] }));\n};\nexport const PackageManagerList = (props) => {\n const { className, packages, onUninstall, mutable, ...rest } = props;\n const handleUninstall = useCallback((id) => {\n onUninstall(id);\n }, [onUninstall]);\n return (_jsxs(\"div\", { ...rest, className: twMerge(\"flex max-h-[370px] flex-col items-stretch overflow-hidden\", className), children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Installed Packages\" }), _jsx(\"div\", { className: \"flex-1 overflow-y-auto pr-2\", children: _jsx(\"ul\", { className: \"flex flex-col items-stretch gap-4 pr-2\", children: packages.map((pkg) => (_jsx(PackageManagerListItem, { package: pkg, onUninstall: handleUninstall, mutable: mutable }, pkg.id))) }) })] }));\n};\n//# sourceMappingURL=package-manager-list.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { SelectFieldRaw } from \"@powerhousedao/design-system\";\nimport { useCallback } from \"react\";\nexport const PackageManagerReactorSelect = (props) => {\n const { reactorOptions, reactor, onReactorChange, ...rest } = props;\n const handleChange = useCallback((value) => {\n onReactorChange(Array.isArray(value) ? value.at(-1) : value);\n }, [onReactorChange]);\n return (_jsxs(\"div\", { ...rest, children: [_jsx(\"h3\", { className: \"mb-4 font-semibold text-gray-900\", children: \"Select Reactor\" }), _jsx(SelectFieldRaw, { className: \"min-w-36 max-w-fit\", name: \"reactor\", required: true, value: reactor, options: reactorOptions, multiple: false, onChange: handleChange })] }));\n};\n//# sourceMappingURL=package-manager-select.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { PackageManagerInput } from \"./package-manager-input.js\";\nimport { PackageManagerList } from \"./package-manager-list.js\";\nimport { PackageManagerReactorSelect } from \"./package-manager-select.js\";\nexport const PackageManager = (props) => {\n const { className, reactorOptions, reactor, onReactorChange, onInstall, packages, onUninstall, mutable, packageOptions, ...rest } = props;\n const packageOptionsSet = useMemo(() => packageOptions?.filter((o) => !packages.find((p) => p.name === o.packageName)), [packages, packageOptions]);\n return (_jsxs(\"div\", { ...rest, className: twMerge(\"flex h-full flex-1 flex-col rounded-lg p-3\", className), children: [_jsx(PackageManagerReactorSelect, { reactor: reactor, reactorOptions: reactorOptions, onReactorChange: onReactorChange, className: \"mb-4\" }), mutable && (_jsx(PackageManagerInput, { onInstall: onInstall, packageOptions: packageOptionsSet })), _jsx(PackageManagerList, { packages: packages, onUninstall: onUninstall, mutable: mutable })] }));\n};\n//# sourceMappingURL=package-manager.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon, Modal } from \"@powerhousedao/design-system\";\nimport { useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nexport function SettingsModal(props) {\n const { title, overlayProps, contentProps, onOpenChange, tabs, defaultTab, ...restProps } = props;\n const [selectedTab, setSelectedTab] = useState(defaultTab ?? tabs.at(0)?.id);\n const tabsContent = tabs.map((tab) => (_jsx(\"button\", { type: \"button\", onClick: () => setSelectedTab(tab.id), children: _jsxs(\"div\", { className: twMerge(\"flex h-9 w-48 cursor-pointer items-center gap-x-2 rounded-md pl-3 hover:bg-slate-50\", selectedTab === tab.id ? \"bg-slate-50\" : \"bg-transparent\"), children: [tab.icon, _jsx(\"span\", { children: tab.label })] }) }, tab.id)));\n const selectedTabContent = tabs.find((tab) => tab.id === selectedTab)?.content;\n const SelectedTabComponent = selectedTabContent;\n return (_jsxs(Modal, { contentProps: {\n ...contentProps,\n className: twMerge(\"min-h-full w-full max-w-4xl rounded-xl\", contentProps?.className),\n style: {\n ...contentProps?.style,\n boxShadow: \"0px 0px 16px 4px rgba(0, 0, 0, 0.04), 0px 33px 32px -16px rgba(0, 0, 0, 0.10)\",\n },\n }, onOpenChange: onOpenChange, overlayProps: {\n ...overlayProps,\n className: twMerge(\"py-28\", overlayProps?.className),\n }, ...restProps, children: [_jsxs(\"div\", { className: \"flex justify-between border-b border-slate-50 p-4\", children: [_jsx(\"h1\", { className: \"text-center text-xl font-semibold\", children: title }), _jsx(\"button\", { type: \"button\", className: \"flex size-6 items-center justify-center rounded-md outline-none\", onClick: () => onOpenChange?.(false), children: _jsx(Icon, { name: \"XmarkLight\", size: 24 }) })] }), _jsxs(\"div\", { className: \"flex flex-1\", children: [_jsx(\"div\", { className: \"flex flex-col gap-y-1 p-3 pt-6\", children: tabsContent }), _jsx(\"div\", { className: \"m-6 flex h-full flex-1 flex-col overflow-hidden rounded-lg border border-slate-50\", children: typeof SelectedTabComponent === \"function\" ? (_jsx(SelectedTabComponent, {})) : (SelectedTabComponent) })] })] }));\n}\n//# sourceMappingURL=settings-modal.js.map","import { connectConfig } from \"@powerhousedao/connect/config\";\nimport packageJson from \"@powerhousedao/connect/package.json\" with { type: \"json\" };\nimport { About as BaseAbout } from \"@powerhousedao/design-system\";\n\nexport const About: React.FC = () => {\n return (\n <BaseAbout\n packageJson={packageJson}\n phCliVersion={\n typeof connectConfig.phCliVersion === \"string\"\n ? connectConfig.phCliVersion\n : undefined\n }\n />\n );\n};\n","import { DangerZone as BaseDangerZone } from \"@powerhousedao/design-system\";\nimport {\n deleteDrive,\n setSelectedDrive,\n showPHModal,\n useDrives,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"document-drive\";\n\nexport const DangerZone: React.FC = () => {\n const drives = useDrives();\n\n const handleDeleteDrive = async (drive: DocumentDriveDocument) => {\n await deleteDrive(drive.header.id);\n setSelectedDrive(undefined);\n };\n\n const handleClearStorage = () => {\n showPHModal({ type: \"clearStorage\" });\n };\n\n return (\n <BaseDangerZone\n drives={drives ?? []}\n onDeleteDrive={handleDeleteDrive}\n onClearStorage={handleClearStorage}\n />\n );\n};\n","import { DefaultEditor as BaseDefaultEditor } from \"@powerhousedao/design-system\";\nimport { useCallback, useState } from \"react\";\n\nconst documentModelEditorOptions = [\n { label: \"V1\", value: \"document-model-editor\" },\n { label: \"V2\", value: \"document-model-editor-v2\" },\n] as const;\n\nexport const DefaultEditor: React.FC = () => {\n const [documentModelEditor, setDocumentModelEditor] = useState<\n (typeof documentModelEditorOptions)[number]\n >(documentModelEditorOptions[1]);\n\n const handleSetDocumentEditor = useCallback((value: string) => {\n const option = documentModelEditorOptions.find((dm) => dm.value == value);\n if (option) {\n setDocumentModelEditor(option);\n }\n }, []);\n\n return (\n <BaseDefaultEditor\n documentModelEditor={documentModelEditor.value}\n setDocumentModelEditor={handleSetDocumentEditor}\n documentModelEditorOptions={\n documentModelEditorOptions as unknown as {\n value: string;\n label: string;\n }[]\n }\n />\n );\n};\n","import { PH_PACKAGES } from \"@powerhousedao/config\";\nimport {\n addExternalPackage,\n removeExternalPackage,\n} from \"@powerhousedao/connect/services\";\nimport { PackageManager as BasePackageManager } from \"@powerhousedao/design-system\";\nimport {\n makeVetraPackageManifest,\n useDrives,\n useVetraPackages,\n} from \"@powerhousedao/reactor-browser\";\nimport type { Manifest } from \"document-model\";\nimport React from \"react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nconst LOCAL_REACTOR_VALUE = \"local-reactor\";\nconst LOCAL_REACTOR_LABEL = \"Local Reactor\";\n\nfunction manifestToDetails(\n manifest: Manifest | undefined,\n id: string,\n removable: boolean,\n) {\n if (!manifest) {\n return undefined;\n }\n\n const documentModels =\n manifest.documentModels?.map((dm) => `Document Model: ${dm.name}`) ?? [];\n const editors =\n manifest.editors?.map((editor) => `Editor: ${editor.name}`) ?? [];\n const apps = manifest.apps?.map((app) => `App: ${app.name}`) ?? [];\n return {\n id,\n ...manifest,\n publisher: manifest.publisher.name,\n publisherUrl: manifest.publisher.url,\n modules: documentModels.concat(editors).concat(apps),\n removable,\n };\n}\n\nexport const PackageManager: React.FC = () => {\n const vetraPackages = useVetraPackages();\n const drives = useDrives();\n const [reactor, setReactor] = useState(\"\");\n\n const options = useMemo(() => {\n return drives?.reduce<\n { value: string; label: string; disabled: boolean }[]\n >(\n (acc, drive) => {\n const trigger = drive.state.local.triggers.find(\n (trigger) => trigger.data?.url,\n );\n if (!trigger?.data?.url) {\n return acc;\n }\n\n const value = trigger.data.url;\n const label = drive.state.global.name;\n\n acc.push({\n value,\n label,\n disabled: true,\n });\n return acc;\n },\n [\n {\n value: LOCAL_REACTOR_VALUE,\n label: LOCAL_REACTOR_LABEL,\n disabled: false,\n },\n ],\n );\n }, [drives]);\n\n useEffect(() => {\n setReactor((reactor) => {\n const defaultOption = options?.find((option) => !option.disabled);\n if (reactor && options?.find((option) => option.value === reactor)) {\n return reactor;\n } else {\n return defaultOption?.value ?? \"\";\n }\n });\n }, [reactor, options]);\n\n const packagesInfo = vetraPackages?.map((pkg) =>\n makeVetraPackageManifest(pkg),\n );\n\n const handleReactorChange = useCallback(\n (reactor?: string) => setReactor(reactor ?? \"\"),\n [],\n );\n const handleInstall = useCallback(\n (packageName: string) => {\n if (reactor !== LOCAL_REACTOR_VALUE) {\n throw new Error(\"Cannot install external package on a remote reactor\");\n }\n return addExternalPackage(packageName);\n },\n [reactor],\n );\n\n const handleUninstall = useCallback(\n (packageName: string) => {\n if (reactor !== LOCAL_REACTOR_VALUE) {\n throw new Error(\"Cannot delete external package on a remote reactor\");\n }\n return removeExternalPackage(packageName);\n },\n [reactor],\n );\n\n return (\n <BasePackageManager\n mutable={true}\n reactorOptions={options ?? []}\n reactor={reactor}\n packages={\n packagesInfo?.map((pkg) => ({\n id: pkg.id,\n name: pkg.name,\n description: pkg.description,\n category: pkg.category,\n publisher: pkg.author.name,\n publisherUrl: pkg.author.website ?? \"\",\n modules: Object.values(pkg.modules).flatMap((modules) =>\n modules.map((module) => module.name),\n ),\n removable: true,\n })) ?? []\n }\n onReactorChange={handleReactorChange}\n onInstall={handleInstall}\n onUninstall={handleUninstall}\n packageOptions={PH_PACKAGES}\n />\n );\n};\n","import { About } from \"@powerhousedao/connect/components/modal/modals/settings/about\";\nimport { DangerZone } from \"@powerhousedao/connect/components/modal/modals/settings/danger-zone\";\nimport { DefaultEditor } from \"@powerhousedao/connect/components/modal/modals/settings/default-editor\";\nimport { PackageManager } from \"@powerhousedao/connect/components/modal/modals/settings/package-manager\";\nimport {\n Icon,\n SettingsModal as SettingsModalV2,\n} from \"@powerhousedao/design-system\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport { t } from \"i18next\";\nimport React, { useMemo } from \"react\";\n\nexport const SettingsModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"settings\";\n function onRefresh() {\n window.location.reload();\n }\n\n const tabs = useMemo(\n () => [\n {\n id: \"package-manager\",\n icon: <Icon name=\"PackageManager\" size={12} />,\n label: \"Package Manager\",\n content: PackageManager,\n },\n {\n id: \"default-editors\",\n icon: <Icon name=\"Edit\" size={12} />,\n label: \"Default Editors\",\n content: DefaultEditor,\n },\n {\n id: \"danger-zone\",\n icon: <Icon name=\"Danger\" size={12} className=\"text-red-900\" />,\n label: <span className=\"text-red-900\">Danger Zone</span>,\n content: () => <DangerZone />,\n },\n {\n id: \"about\",\n icon: <Icon name=\"QuestionSquare\" size={12} />,\n label: \"About\",\n content: About,\n },\n ],\n [onRefresh],\n );\n\n return (\n <SettingsModalV2\n open={open}\n title={t(\"modals.connectSettings.title\")}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n tabs={tabs}\n />\n );\n};\n"],"names":["cn","forwardRef","_jsx","description","_jsxs","TooltipProvider","type","Y","k","B","K","P","T","L","N","ae","t.createContext","t.useContext","t.forwardRef","u","p","m","$","H","t.useRef","t.useMemo","J","W","U","X","t.createElement","D","t.useEffect","G","w.Root","w.Portal","w.Overlay","w.Content","t.useLayoutEffect","t.useSyncExternalStore","t.useState","t.isValidElement","t.cloneElement","CommandPrimitive","name","useState","useMemo","useCommandState","useEffect","createContext","useContext","useRef","useCallback","value","useId","React.forwardRef","_Fragment","renderIcon","Content","Root","Portal","object","string","record","packageJson","version","About","DangerZone","DefaultEditor","documentModelEditorOptions","PackageManager","SettingsModal","jsx","BaseAbout","BaseDangerZone","BaseDefaultEditor","trigger","reactor","BasePackageManager","SettingsModalV2"],"mappings":"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","x_google_ignoreList":[5,6]}