@powerhousedao/design-system 6.2.3-dev.61 → 6.2.3-dev.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PinFilled-cSbUqZCA.js +41 -0
- package/dist/PinFilled-cSbUqZCA.js.map +1 -0
- package/dist/add-local-drive-form.impl-B5rVul7f.js +75 -0
- package/dist/add-local-drive-form.impl-B5rVul7f.js.map +1 -0
- package/dist/add-remote-drive-form.impl-D7zuqHJC.js +114 -0
- package/dist/add-remote-drive-form.impl-D7zuqHJC.js.map +1 -0
- package/dist/address-DsZy0bjk.js +92 -0
- package/dist/address-DsZy0bjk.js.map +1 -0
- package/dist/{checkbox-BmTXBcCE.d.ts → checkbox-DmRYkN10.d.ts} +2 -2
- package/dist/{checkbox-BmTXBcCE.d.ts.map → checkbox-DmRYkN10.d.ts.map} +1 -1
- package/dist/combobox.impl-C2oszOl2.js +144 -0
- package/dist/combobox.impl-C2oszOl2.js.map +1 -0
- package/dist/connect/components/toast/toast.js +2 -2
- package/dist/connect/index.d.ts +81 -33
- package/dist/connect/index.d.ts.map +1 -1
- package/dist/connect/index.js +184 -1608
- package/dist/connect/index.js.map +1 -1
- package/dist/{content-BMXLcwWY.d.ts → content-L3OINRSY.d.ts} +2 -2
- package/dist/{content-BMXLcwWY.d.ts.map → content-L3OINRSY.d.ts.map} +1 -1
- package/dist/default-editor.impl-a6EOuEme.js +30 -0
- package/dist/default-editor.impl-a6EOuEme.js.map +1 -0
- package/dist/document-timeline.impl-DRmIHFaI.js +254 -0
- package/dist/document-timeline.impl-DRmIHFaI.js.map +1 -0
- package/dist/drive-settings-form.impl-4yBGaTxe.js +171 -0
- package/dist/drive-settings-form.impl-4yBGaTxe.js.map +1 -0
- package/dist/{enum-field-qgV9wsyI.d.ts → enum-field-CSeQE4Ss.d.ts} +3 -3
- package/dist/{enum-field-qgV9wsyI.d.ts.map → enum-field-CSeQE4Ss.d.ts.map} +1 -1
- package/dist/formatted-json-viewer.impl-C198BZt5.js +58 -0
- package/dist/formatted-json-viewer.impl-C198BZt5.js.map +1 -0
- package/dist/icon-CR_tC1gc.js +358 -0
- package/dist/icon-CR_tC1gc.js.map +1 -0
- package/dist/{icon-01W_S_9A.js → icon-components-BZ_bQZmJ.js} +5 -479
- package/dist/icon-components-BZ_bQZmJ.js.map +1 -0
- package/dist/{id-autocomplete-CHvGhffo.d.ts → id-autocomplete-0bhU6VQG.d.ts} +2 -2
- package/dist/id-autocomplete-0bhU6VQG.d.ts.map +1 -0
- package/dist/{id-autocomplete-input-container-BqRQGpcs.d.ts → id-autocomplete-input-container-xg9lrpSK.d.ts} +2 -2
- package/dist/{id-autocomplete-input-container-BqRQGpcs.d.ts.map → id-autocomplete-input-container-xg9lrpSK.d.ts.map} +1 -1
- package/dist/{id-autocomplete-list-ChQsiJDg.d.ts → id-autocomplete-list-Da3FbpJ1.d.ts} +2 -2
- package/dist/{id-autocomplete-list-ChQsiJDg.d.ts.map → id-autocomplete-list-Da3FbpJ1.d.ts.map} +1 -1
- package/dist/{id-autocomplete-list-option-MsqKeLXD.d.ts → id-autocomplete-list-option-D7JgEK6E.d.ts} +3 -2
- package/dist/id-autocomplete-list-option-D7JgEK6E.d.ts.map +1 -0
- package/dist/index-C-Tup7Br.d.ts +4 -0
- package/dist/{index-C05uhexJ.d.ts → index-D99twPFI.d.ts} +6 -15
- package/dist/index-D99twPFI.d.ts.map +1 -0
- package/dist/index-D9nAoDks.d.ts +30 -0
- package/dist/index-FfMAMBu7.d.ts +3 -0
- package/dist/index-jfVVOU-H.d.ts +2 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -2
- package/dist/label-nH2HoKfI.js +15 -0
- package/dist/label-nH2HoKfI.js.map +1 -0
- package/dist/location-info-C3YbSsV0.js +47 -0
- package/dist/location-info-C3YbSsV0.js.map +1 -0
- package/dist/{radio-group-field-CjX_Zt0C.d.ts → radio-group-field-Bsf4waat.d.ts} +2 -2
- package/dist/{radio-group-field-CjX_Zt0C.d.ts.map → radio-group-field-Bsf4waat.d.ts.map} +1 -1
- package/dist/revision-history.impl-uogo6xDI.js +638 -0
- package/dist/revision-history.impl-uogo6xDI.js.map +1 -0
- package/dist/{select-field-BuXjM43L.d.ts → select-field-DbFd1YiC.d.ts} +2 -2
- package/dist/{select-field-BuXjM43L.d.ts.map → select-field-DbFd1YiC.d.ts.map} +1 -1
- package/dist/{selected-content-C49jmTLU.d.ts → selected-content-VMVPoru4.d.ts} +2 -2
- package/dist/{selected-content-C49jmTLU.d.ts.map → selected-content-VMVPoru4.d.ts.map} +1 -1
- package/dist/{sidebar-4juLhREX.d.ts → sidebar-DFqreKf1.d.ts} +2 -2
- package/dist/{sidebar-4juLhREX.d.ts.map → sidebar-DFqreKf1.d.ts.map} +1 -1
- package/dist/{sidebar-provider-CMG6WQWo.d.ts → sidebar-provider-CZHhqW5n.d.ts} +2 -2
- package/dist/{sidebar-provider-CMG6WQWo.d.ts.map → sidebar-provider-CZHhqW5n.d.ts.map} +1 -1
- package/dist/{splitted-input-diff-DBkgDh9Q.d.ts → splitted-input-diff-BKRMH7vI.d.ts} +2 -2
- package/dist/{splitted-input-diff-DBkgDh9Q.d.ts.map → splitted-input-diff-BKRMH7vI.d.ts.map} +1 -1
- package/dist/{src-CrUksCLW.js → src-B2s8MAp7.js} +148 -5
- package/dist/src-B2s8MAp7.js.map +1 -0
- package/dist/{text-field-3j4fLJ-7.d.ts → text-field-CtatgqNu.d.ts} +3 -3
- package/dist/{text-field-3j4fLJ-7.d.ts.map → text-field-CtatgqNu.d.ts.map} +1 -1
- package/dist/{text-input-tkqggbWx.d.ts → text-input-BSxhvnyx.d.ts} +2 -2
- package/dist/{text-input-tkqggbWx.d.ts.map → text-input-BSxhvnyx.d.ts.map} +1 -1
- package/dist/{text-input-diff-B7iFyzTK.d.ts → text-input-diff-CaZoFDjA.d.ts} +2 -2
- package/dist/{text-input-diff-B7iFyzTK.d.ts.map → text-input-diff-CaZoFDjA.d.ts.map} +1 -1
- package/dist/{types-DDSmPhHp.d.ts → types-FTqFl5du.d.ts} +2 -2
- package/dist/{types-DDSmPhHp.d.ts.map → types-FTqFl5du.d.ts.map} +1 -1
- package/dist/types-TZijOYrE.d.ts +17 -0
- package/dist/types-TZijOYrE.d.ts.map +1 -0
- package/dist/ui/components/checkbox/checkbox.d.ts +1 -1
- package/dist/ui/components/command/command.js +1 -1
- package/dist/ui/components/enum-field/enum-field.d.ts +1 -1
- package/dist/ui/components/enum-field/types.d.ts +1 -1
- package/dist/ui/components/form-label/form-label.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/types.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +1 -1
- package/dist/ui/components/index.d.ts +20 -20
- package/dist/ui/components/input/splitted-input-diff.d.ts +1 -1
- package/dist/ui/components/input/splitted-input-diff.js +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.d.ts +1 -1
- package/dist/ui/components/radio-group-field/radio-group-field.d.ts +1 -1
- package/dist/ui/components/select-field/content.d.ts +1 -1
- package/dist/ui/components/select-field/content.js +1 -1
- package/dist/ui/components/select-field/select-field.d.ts +1 -1
- package/dist/ui/components/select-field/selected-content.d.ts +1 -1
- package/dist/ui/components/select-field/selected-content.js +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js +1 -1
- package/dist/ui/components/select-field/use-select-field.d.ts +1 -1
- package/dist/ui/components/sidebar/index.d.ts +4 -4
- package/dist/ui/components/sidebar/sidebar.d.ts +1 -1
- package/dist/ui/components/sidebar/sidebar.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +2 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +1 -1
- package/dist/ui/components/sidebar/subcomponents/status-icon.js +1 -1
- package/dist/ui/components/sidebar/types.d.ts +1 -1
- package/dist/ui/components/sidebar/utils.d.ts +1 -1
- package/dist/ui/components/text-field/text-field.d.ts +1 -1
- package/dist/ui/components/text-input/text-input-diff.d.ts +1 -1
- package/dist/ui/components/text-input/text-input.d.ts +1 -1
- package/dist/ui/components/types.d.ts +1 -1
- package/dist/ui/components/value-transformer/value-transformer.d.ts +1 -1
- package/dist/ui/components/with-field-validation/with-field-validation.d.ts +1 -1
- package/dist/ui/index.d.ts +21 -21
- package/dist/ui/types.d.ts +1 -1
- package/dist/{use-id-autocomplete-wdw3CfYc.d.ts → use-id-autocomplete-DSRXA4Wt.d.ts} +2 -2
- package/dist/{use-id-autocomplete-wdw3CfYc.d.ts.map → use-id-autocomplete-DSRXA4Wt.d.ts.map} +1 -1
- package/dist/{value-transformer-BAD6r8Ol.d.ts → value-transformer-Dv-10UyC.d.ts} +2 -2
- package/dist/{value-transformer-BAD6r8Ol.d.ts.map → value-transformer-Dv-10UyC.d.ts.map} +1 -1
- package/dist/{with-field-validation-Bt02MQn2.d.ts → with-field-validation-WiD_NFDk.d.ts} +2 -2
- package/dist/{with-field-validation-Bt02MQn2.d.ts.map → with-field-validation-WiD_NFDk.d.ts.map} +1 -1
- package/package.json +4 -4
- package/dist/icon-01W_S_9A.js.map +0 -1
- package/dist/id-autocomplete-CHvGhffo.d.ts.map +0 -1
- package/dist/id-autocomplete-list-option-MsqKeLXD.d.ts.map +0 -1
- package/dist/index-C05uhexJ.d.ts.map +0 -1
- package/dist/index-CpSqVZKp.d.ts +0 -2
- package/dist/index-DSknqh8u.d.ts +0 -30
- package/dist/index-DU-WgcAh.d.ts +0 -4
- package/dist/index-DaRBrjZI.d.ts +0 -3
- package/dist/src-CrUksCLW.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision-history.impl-uogo6xDI.js","names":["Icon","Branch","props","branch","Icon","useCopyToClipboard","DocId","props","docId","onCopy","copy","handleCopy","text","then","catch","error","console","Icon","useCopyToClipboard","DocumentState","props","documentState","onCopyState","copy","handleCopy","jsonState","JSON","stringify","then","catch","error","console","ConnectSelect","labelFor","scope","charAt","toUpperCase","slice","Scope","props","scopes","value","onChange","items","map","displayValue","Icon","twMerge","Branch","DocId","DocumentState","Scope","Header","props","title","docId","scope","scopes","onChangeScope","onClose","className","documentState","onCopyState","onCopyDocId","divProps","Anchor","Content","Portal","Root","Trigger","useState","funnel","CodePopover","props","content","trigger","anchor","isOpen","setIsOpen","opener","triggerAt","minQuietPeriodMs","closer","open","cancel","call","close","changedIsOpen","e","preventDefault","top","right","bottom","left","useEns","formatEthAddress","CodePopover","ENSAvatar","FormattedJsonViewer","Address","props","address","chainId","data","ensData","shortenedAddress","avatar_url","undefined","Icon","twMerge","CodePopover","FormattedJsonViewer","Errors","props","errors","hasErrors","length","color","icon","text","content","Icon","CodePopover","FormattedJsonViewer","Operation","props","operationType","operationInput","Icon","CodePopover","FormattedJsonViewer","RevisionNumber","props","operationIndex","eventId","stateHash","revisionNumber","Icon","twMerge","CodePopover","FormattedJsonViewer","Signature","props","signatures","length","VerificationStatus","signatureCount","verifiedSignaturesCount","filter","signature","isVerified","signatureText","verificationStatusText","format","CodePopover","FormattedJsonViewer","Timestamp","props","timestampUtcMs","timestamp","timestampNumber","includes","parseInt","date","Date","shortDate","longDate","timestampFormatted","memo","Address","Errors","Operation","RevisionNumber","Signature","Timestamp","_Revision","props","Revision","Skip","props","operationIndex","skipCount","revisionNumber","skippedRevisions","makeRows","operations","revisionsAndSkips","seenDays","Set","operation","timestampUtcMs","day","split","has","add","push","type","height","operationIndex","index","eventId","id","stateHash","hash","operationType","action","operationInput","input","address","context","signer","user","chainId","signatures","makeSignatures","errors","error","undefined","skip","skipCount","getUniqueDatesInOrder","dates","date","Array","from","sort","a","b","Date","getTime","makeSignatureFromSignatureArray","signatureArray","signerAddress","prevStateHash","signatureBytes","isVerified","signaturesArray","map","Icon","format","Day","props","timestampUtcMs","timestamp","formattedDate","useVirtualizer","useMemo","useRef","Revision","Skip","makeRows","Day","ROW_INSET","DAY_MARKER_PULL","DAY_MARKER_OVERHANG","Timeline","props","operations","maxHeight","rows","parentRef","rowVirtualizer","count","length","getScrollElement","current","estimateSize","i","height","gap","overscan","overflowY","width","position","getTotalSize","marginLeft","getVirtualItems","map","virtualRow","row","index","key","top","left","right","size","transform","start","type","Pagination","usePagination","garbageCollect","sortOperations","useEffect","useMemo","useState","ConnectTooltipProvider","Header","Timeline","ScopedRevisionHistory","props","documentTitle","documentId","operations","isLoading","hasNextPage","onLoadNextPage","scopes","scope","onScopeChange","onClose","itemsPerPage","documentState","onCopyState","onCopyDocId","error","handle","window","setTimeout","clearTimeout","isWalking","length","visibleOperations","sort","a","b","index","pageItems","pages","goToPage","goToNextPage","goToPreviousPage","goToFirstPage","goToLastPage","hiddenNextPages","isNextPageAvailable","isPreviousPageAvailable","onChangeScope","nextScope","showPagination","PaginationComponent","hasOperations","message","LEGACY_SCOPES","noop","LegacyRevisionHistory","globalOperations","localOperations","common","setScope","RevisionHistory"],"sources":["../src/connect/components/revision-history/header/branch.tsx","../src/connect/components/revision-history/header/doc-id.tsx","../src/connect/components/revision-history/header/document-state.tsx","../src/connect/components/revision-history/header/scope.tsx","../src/connect/components/revision-history/header/header.tsx","../src/connect/components/code-popover.tsx","../src/connect/components/revision-history/revision/address.tsx","../src/connect/components/revision-history/revision/errors.tsx","../src/connect/components/revision-history/revision/operation.tsx","../src/connect/components/revision-history/revision/revision-number.tsx","../src/connect/components/revision-history/revision/signature.tsx","../src/connect/components/revision-history/revision/timestamp.tsx","../src/connect/components/revision-history/revision/revision.tsx","../src/connect/components/revision-history/skip/skip.tsx","../src/connect/components/revision-history/utils.ts","../src/connect/components/revision-history/timeline/day.tsx","../src/connect/components/revision-history/timeline/timeline.tsx","../src/connect/components/revision-history/revision-history.impl.tsx"],"sourcesContent":["import { Icon } from \"#design-system\";\n\ntype Props = {\n readonly branch?: string;\n};\nexport function Branch(props: Props) {\n const { branch = \"main\" } = props;\n\n return (\n <button className=\"flex h-8 w-fit items-center gap-1 rounded-lg bg-background pr-2 pl-1 text-xs text-foreground\">\n <Icon name=\"Branch\" />\n <span>BRANCH</span>\n <span className=\"text-foreground\">{branch}</span>\n </button>\n );\n}\n","import { Icon } from \"#design-system\";\nimport { useCopyToClipboard } from \"usehooks-ts\";\n\ntype Props = {\n readonly docId: string;\n readonly onCopy?: () => void;\n};\nexport function DocId(props: Props) {\n const { docId, onCopy } = props;\n const [, copy] = useCopyToClipboard();\n\n function handleCopy(text: string) {\n return () => {\n copy(text)\n .then(() => {\n onCopy?.();\n })\n .catch((error) => {\n console.error(\"Failed to copy!\", error);\n });\n };\n }\n\n return (\n <button\n className=\"flex h-8 w-fit items-center gap-1 rounded-lg bg-background pr-2 pl-1 text-xs text-foreground\"\n onClick={handleCopy(docId)}\n >\n <Icon name=\"Link\" />\n DOC ID\n <span className=\"text-foreground\">{docId}</span>\n </button>\n );\n}\n","import { Icon } from \"#design-system\";\nimport { useCopyToClipboard } from \"usehooks-ts\";\n\nexport type DocumentStateProps = {\n readonly documentState: object;\n readonly onCopyState?: () => void;\n};\n\nexport const DocumentState = (props: DocumentStateProps) => {\n const { documentState, onCopyState } = props;\n const [, copy] = useCopyToClipboard();\n\n function handleCopy() {\n const jsonState = JSON.stringify(documentState, null, 2);\n copy(jsonState)\n .then(() => {\n onCopyState?.();\n })\n .catch((error) => {\n console.error(\"Failed to copy document state!\", error);\n });\n }\n\n return (\n <button\n className=\"rounded-lg bg-background p-1 text-foreground\"\n onClick={handleCopy}\n >\n <Icon name=\"CurlyBrackets\" />\n </button>\n );\n};\n","import { ConnectSelect } from \"../../select/select.js\";\n\ntype Props = {\n readonly scopes: readonly string[];\n readonly value: string;\n readonly onChange: (value: string) => void;\n};\n\nfunction labelFor(scope: string) {\n return `${scope.charAt(0).toUpperCase()}${scope.slice(1)} scope`;\n}\n\nexport function Scope(props: Props) {\n const { scopes, value, onChange } = props;\n const items = scopes.map((scope) => ({\n displayValue: labelFor(scope),\n value: scope,\n }));\n\n return (\n <ConnectSelect\n absolutePositionMenu\n containerClassName=\"z-10 w-fit rounded-lg bg-background text-xs text-muted-foreground\"\n id=\"scope select\"\n itemClassName=\"grid grid-cols-[auto,auto] gap-1 py-2 text-muted-foreground\"\n items={items}\n menuClassName=\"min-w-0 text-muted-foreground\"\n onChange={onChange}\n value={value}\n />\n );\n}\n","import { Icon } from \"#design-system\";\nimport type { ReactNode } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Branch } from \"./branch.js\";\nimport { DocId } from \"./doc-id.js\";\nimport { DocumentState } from \"./document-state.js\";\nimport { Scope } from \"./scope.js\";\n\ninterface Props extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n readonly title: ReactNode;\n readonly docId: string;\n readonly scope: string;\n readonly scopes: readonly string[];\n readonly onChangeScope: (scope: string) => void;\n readonly onClose: () => void;\n readonly documentState?: object;\n readonly onCopyState?: () => void;\n readonly onCopyDocId?: () => void;\n}\n\nexport function Header(props: Props) {\n const {\n title,\n docId,\n scope,\n scopes,\n onChangeScope,\n onClose,\n className,\n documentState,\n onCopyState,\n onCopyDocId,\n ...divProps\n } = props;\n return (\n <header\n className={twMerge(\n \"flex items-center justify-between bg-transparent\",\n className,\n )}\n {...divProps}\n >\n <div className=\"flex items-center gap-3\">\n <button\n name=\"close-revision-history\"\n className=\"rounded-lg bg-background p-1 text-foreground shadow-button\"\n onClick={onClose}\n >\n <Icon name=\"VariantArrowLeft\" />\n </button>\n <h1 className=\"text-xs text-foreground\">{title}</h1>\n </div>\n <div className=\"flex items-center gap-2\">\n <DocId docId={docId} onCopy={onCopyDocId} />\n {documentState && (\n <DocumentState\n documentState={documentState}\n onCopyState={onCopyState}\n />\n )}\n <Branch />\n <Scope onChange={onChangeScope} scopes={scopes} value={scope} />\n </div>\n </header>\n );\n}\n","import {\n Anchor,\n Content,\n Portal,\n Root,\n Trigger,\n} from \"@radix-ui/react-popover\";\nimport { useState, type ReactNode } from \"react\";\nimport { funnel } from \"remeda\";\n\n/* A hybrid popover / tooltip component intended for showing data that needs\n to show / hide on hover, while also being able to stay open so that the user can\n interact with its contents.\n\n Uses these rules:\n\n When the user hover's the trigger, show the tooltip / popover.\n Immediately place the content under the user's cursor.\n Then let the responsibility of closing the tooltip / popover be transferred _to the content_.\n When the user leaves _the contents_ or interacts elsewhere, only then close.\n*/\nexport function CodePopover(props: {\n content: ReactNode;\n trigger: ReactNode;\n anchor?: ReactNode;\n}) {\n const { content, trigger, anchor } = props;\n const [isOpen, setIsOpen] = useState(false);\n\n /* debounce calls to open by 300ms */\n const opener = funnel(() => setIsOpen(true), {\n triggerAt: \"start\",\n minQuietPeriodMs: 300,\n });\n\n /* debounce calls to close by 100ms */\n const closer = funnel(() => setIsOpen(false), {\n triggerAt: \"start\",\n minQuietPeriodMs: 100,\n });\n\n /* If we are in the process of closing, cancel that operation.\n Then call the opener.\n */\n function open() {\n closer.cancel();\n opener.call();\n }\n\n /* If we are in the process of opening, cancel that operation.\n Then call the closer.\n */\n function close() {\n opener.cancel();\n closer.call();\n }\n\n return (\n <Root\n /* This component combines internal state with the existing accessibility behaviors from the radix popover */\n open={isOpen}\n onOpenChange={(changedIsOpen) => (changedIsOpen ? open() : close())}\n >\n {/* Trigger only manages opening */}\n <Trigger onMouseEnter={open}>{trigger}</Trigger>\n {!!anchor && <Anchor asChild>{anchor}</Anchor>}\n <Portal>\n <Content\n /* We need to force mount so that the events are fired as expected */\n forceMount\n /* content only manages closing */\n onMouseLeave={close}\n /* Offset the position to ensure that we open under the user's cursor */\n sideOffset={-28}\n /* Do not focus the trigger after closing since that item is not interactive */\n onCloseAutoFocus={(e) => e.preventDefault()}\n /* Set an arbitrarily large bottom collision detection padding so that very long content flows below the fold */\n collisionPadding={{\n top: 24,\n right: 24,\n bottom: -10_000,\n left: 24,\n }}\n className=\"z-50 rounded-lg border border-border bg-popover p-2 text-xs text-popover-foreground shadow-tooltip outline-none\"\n >\n {content}\n </Content>\n </Portal>\n </Root>\n );\n}\n","import { useEns } from \"../../../hooks/use-ens.js\";\nimport { formatEthAddress } from \"../../../utils/address.js\";\nimport { CodePopover } from \"../../code-popover.js\";\nimport { ENSAvatar } from \"../../ens-avatar/ens-avatar.js\";\nimport { FormattedJsonViewer } from \"../../formatted-json-viewer.js\";\n\nexport type AddressProps = {\n readonly address: `0x${string}` | undefined;\n readonly chainId: number | undefined;\n};\n\nexport function Address(props: AddressProps) {\n const { address, chainId } = props;\n const { data: ensData } = useEns(address);\n\n if (!address) return null;\n\n const shortenedAddress = formatEthAddress(address);\n\n return (\n <CodePopover\n content={<FormattedJsonViewer value={{ address }} />}\n trigger={\n <span className=\"flex w-fit cursor-pointer items-center gap-1 rounded-lg bg-muted p-1 text-xs text-muted-foreground\">\n <ENSAvatar\n address={address}\n chainId={chainId}\n avatarUrl={ensData?.avatar_url ?? undefined}\n />\n {shortenedAddress}\n </span>\n }\n />\n );\n}\n","import { Icon } from \"#design-system\";\nimport { twMerge } from \"tailwind-merge\";\nimport { CodePopover } from \"../../code-popover.js\";\nimport { FormattedJsonViewer } from \"../../formatted-json-viewer.js\";\n\nexport type ErrorsProps = {\n readonly errors: string[] | undefined;\n};\n\nexport function Errors(props: ErrorsProps) {\n const { errors } = props;\n\n const hasErrors = !!errors?.length;\n\n const color = hasErrors ? \"text-destructive\" : \"text-success\";\n\n const icon = hasErrors ? (\n <Icon name=\"Exclamation\" size={16} />\n ) : (\n <Icon name=\"Check\" size={16} />\n );\n\n const text = hasErrors ? `Error: ${errors[0]}` : \"No errors\";\n\n const content = (\n <span\n className={twMerge(\n \"flex w-fit items-center rounded-lg border border-border bg-background px-2 py-1 text-xs\",\n color,\n hasErrors && \"cursor-pointer\",\n )}\n >\n {icon}\n <span className={twMerge(\"inline-block max-w-36 truncate\")}>{text}</span>\n </span>\n );\n\n if (hasErrors)\n return (\n <CodePopover\n content={<FormattedJsonViewer value={errors} />}\n trigger={content}\n />\n );\n\n return content;\n}\n","import { Icon } from \"#design-system\";\nimport { CodePopover } from \"../../code-popover.js\";\nimport { FormattedJsonViewer } from \"../../formatted-json-viewer.js\";\nexport type OperationProps = {\n readonly operationType: string;\n readonly operationInput: Record<string, any>;\n};\n\nexport function Operation(props: OperationProps) {\n const { operationType, operationInput } = props;\n return (\n <CodePopover\n content={<FormattedJsonViewer value={operationInput} />}\n trigger={\n <span className=\"flex cursor-pointer items-center gap-2 text-xs text-foreground\">\n {operationType}\n <Icon className=\"text-foreground\" name=\"Braces\" size={16} />\n </span>\n }\n />\n );\n}\n","import { Icon } from \"#design-system\";\nimport { CodePopover } from \"../../code-popover.js\";\nimport { FormattedJsonViewer } from \"../../formatted-json-viewer.js\";\n\nexport type RevisionNumberProps = {\n readonly operationIndex: number;\n readonly eventId: string;\n readonly stateHash: string;\n};\nexport function RevisionNumber(props: RevisionNumberProps) {\n const { operationIndex, eventId, stateHash } = props;\n const revisionNumber = operationIndex + 1;\n\n return (\n <CodePopover\n content={\n <FormattedJsonViewer\n value={{\n revisionNumber,\n eventId,\n stateHash,\n }}\n />\n }\n trigger={\n <span className=\"flex cursor-pointer items-center gap-2 text-xs text-foreground\">\n Revision {revisionNumber}.\n <a>\n <Icon\n className=\"cursor-pointer text-foreground\"\n name=\"Ellipsis\"\n size={14}\n />\n </a>\n </span>\n }\n />\n );\n}\n","import { Icon } from \"#design-system\";\nimport { twMerge } from \"tailwind-merge\";\nimport { CodePopover } from \"../../code-popover.js\";\nimport { FormattedJsonViewer } from \"../../formatted-json-viewer.js\";\nimport type { Signature } from \"../types.js\";\n\nexport type SignatureProps = {\n readonly signatures: Signature[] | undefined;\n};\nexport function Signature(props: SignatureProps) {\n const { signatures } = props;\n\n if (!signatures?.length) return null;\n\n return (\n <CodePopover\n trigger={\n <span className=\"flex w-fit cursor-pointer items-center gap-1 rounded-lg border border-border bg-background px-2 py-1\">\n <VerificationStatus signatures={signatures} />{\" \"}\n <Icon className=\"text-foreground\" name=\"InfoSquare\" size={16} />\n </span>\n }\n content={<FormattedJsonViewer value={signatures} collapsed={1} />}\n />\n );\n}\n\nfunction VerificationStatus(props: SignatureProps) {\n const { signatures } = props;\n\n if (!signatures?.length) return null;\n\n const signatureCount = signatures.length;\n\n const verifiedSignaturesCount = signatures.filter(\n (signature) => signature.isVerified,\n ).length;\n const signatureText = signatureCount === 1 ? \"signature\" : \"signatures\";\n const verificationStatusText = `${verifiedSignaturesCount}/${signatureCount} ${signatureText} verified`;\n\n return (\n <span\n className={twMerge(\n `text-xs`,\n verifiedSignaturesCount === 0\n ? \"text-destructive\"\n : verifiedSignaturesCount === signatureCount\n ? \"text-success\"\n : \"text-warning\",\n )}\n >\n {verificationStatusText}\n </span>\n );\n}\n","import { format } from \"date-fns\";\nimport { CodePopover } from \"../../code-popover.js\";\nimport { FormattedJsonViewer } from \"../../formatted-json-viewer.js\";\n\nexport type TimestampProps = {\n readonly timestampUtcMs: number | string;\n};\n\nexport function Timestamp(props: TimestampProps) {\n const { timestampUtcMs: timestamp } = props;\n\n const timestampNumber =\n typeof timestamp === \"string\" && !timestamp.includes(\"-\")\n ? parseInt(timestamp)\n : timestamp;\n\n const date = new Date(timestampNumber);\n const shortDate = format(date, \"HH:mm 'UTC'\");\n const longDate = format(date, \"eee, dd MMM yyyy HH:mm:ss 'UTC'\");\n\n return (\n <CodePopover\n content={\n <FormattedJsonViewer\n value={{ timestampFormatted: longDate, timestampUtcMs: timestamp }}\n />\n }\n trigger={\n <span className=\"cursor-pointer text-xs text-foreground\">\n committed at {shortDate}\n </span>\n }\n />\n );\n}\n","import { memo } from \"react\";\nimport type { Revision as RevisionProps } from \"../types.js\";\nimport { Address } from \"./address.js\";\nimport { Errors } from \"./errors.js\";\nimport { Operation } from \"./operation.js\";\nimport { RevisionNumber } from \"./revision-number.js\";\nimport { Signature } from \"./signature.js\";\nimport { Timestamp } from \"./timestamp.js\";\n\nexport function _Revision(props: RevisionProps) {\n return (\n <article className=\"flex items-center justify-between rounded-xl border border-border bg-background px-4 py-2\">\n <div className=\"flex items-center gap-2\">\n <RevisionNumber {...props} />\n <Operation {...props} />\n <Address {...props} />\n <Timestamp {...props} />\n </div>\n <div className=\"flex items-center gap-1\">\n <Signature {...props} />\n <Errors {...props} />\n </div>\n </article>\n );\n}\n\nexport const Revision = memo(_Revision);\n","export type SkipProps = {\n readonly operationIndex: number;\n readonly skipCount: number;\n};\n\nexport function Skip(props: SkipProps) {\n const { operationIndex, skipCount } = props;\n const revisionNumber = operationIndex;\n\n const skippedRevisions =\n skipCount === 1\n ? `${revisionNumber}`\n : `${revisionNumber} - ${revisionNumber + 1 - skipCount}`;\n\n return (\n <article className=\"grid grid-cols-[1fr,auto,1fr] items-center py-2\">\n <div className=\"h-px rounded-full bg-muted\" />\n <div className=\"mx-3 text-xs text-foreground\">\n [Skipped Revision {skippedRevisions}]\n </div>\n <div className=\"h-px rounded-full bg-muted\" />\n </article>\n );\n}\n","import type { Operation } from \"@powerhousedao/shared/document-model\";\nimport type { Day, Revision, Signature, Skip } from \"./types.js\";\n\nexport function makeRows(operations: Operation[]) {\n const revisionsAndSkips: (Revision | Skip | Day)[] = [];\n const seenDays = new Set<string>();\n\n for (const operation of operations) {\n if (!operation.timestampUtcMs) continue;\n const day = operation.timestampUtcMs.split(\"T\")[0];\n\n if (!seenDays.has(day)) {\n seenDays.add(day);\n revisionsAndSkips.push({\n type: \"day\",\n height: 32,\n timestampUtcMs: day,\n });\n }\n\n revisionsAndSkips.push({\n type: \"revision\",\n height: 46,\n operationIndex: operation.index,\n eventId: operation.id ?? \"EVENT_ID_NOT_FOUND\",\n stateHash: operation.hash,\n operationType: operation.action.type,\n operationInput: operation.action.input ?? {},\n address: operation.action?.context?.signer?.user.address as\n | `0x${string}`\n | undefined,\n chainId: operation.action?.context?.signer?.user.chainId,\n timestampUtcMs: operation.timestampUtcMs,\n signatures: makeSignatures(\n (operation.action?.context?.signer?.signatures as\n | string[][]\n | undefined) ?? [],\n ),\n errors: operation.error ? [operation.error] : undefined,\n });\n\n if (operation.skip > 0) {\n revisionsAndSkips.push({\n type: \"skip\",\n height: 34,\n operationIndex: operation.index,\n skipCount: operation.skip,\n timestampUtcMs: operation.timestampUtcMs,\n });\n }\n }\n\n return revisionsAndSkips;\n}\n\nexport function getUniqueDatesInOrder(operations: Operation[]) {\n const dates = new Set<string>();\n\n for (const operation of operations) {\n if (!operation.timestampUtcMs) continue;\n const date = operation.timestampUtcMs.split(\"T\")[0];\n dates.add(date);\n }\n\n return Array.from(dates).sort(\n (a, b) => new Date(b).getTime() - new Date(a).getTime(),\n );\n}\n\nfunction makeSignatureFromSignatureArray(signatureArray: string[]): Signature {\n const [signerAddress, hash, prevStateHash, signatureBytes] = signatureArray;\n\n return {\n signerAddress,\n hash,\n prevStateHash,\n signatureBytes,\n isVerified: true,\n };\n}\n\nfunction makeSignatures(signaturesArray: string[][] | undefined) {\n return signaturesArray?.map(makeSignatureFromSignatureArray);\n}\n","import { Icon } from \"#design-system\";\nimport { format } from \"date-fns\";\n\nexport function Day(props: { readonly timestampUtcMs: string }) {\n const { timestampUtcMs: timestamp } = props;\n const formattedDate = format(timestamp, \"MMM dd, yyyy\");\n return (\n <h2 className=\"-ml-6 flex items-center gap-1 bg-background py-2 text-xs text-foreground\">\n <Icon name=\"Ring\" size={16} /> Changes on {formattedDate}\n </h2>\n );\n}\n","import type { Operation } from \"@powerhousedao/shared/document-model\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport { useMemo, useRef } from \"react\";\nimport { Revision } from \"../revision/revision.js\";\nimport { Skip } from \"../skip/skip.js\";\nimport { makeRows } from \"../utils.js\";\nimport { Day } from \"./day.js\";\n\n/** How far each row is indented from the timeline's vertical line. */\nconst ROW_INSET = 16;\n\n/**\n * How far the day header is pulled back out again, so its ring sits centred\n * on the line rather than beside it: the `-ml-6` in `Day`.\n */\nconst DAY_MARKER_PULL = 24;\n\n/**\n * How far the line is inset from the scroll container's clip edge -- exactly\n * the amount the day marker hangs past it (24 pulled back from a 16 inset\n * leaves 8 on the wrong side of zero). Without this the ring is sliced in\n * half, since a scrolling box clips on both axes.\n */\nconst DAY_MARKER_OVERHANG = DAY_MARKER_PULL - ROW_INSET;\n\nexport type TimelineProps = {\n readonly operations: readonly Operation[];\n /**\n * Height cap for the scroll area. The virtualizer needs a viewport it can\n * scroll within; any CSS length works, and the default keeps the panel's\n * header and pagination reachable without scrolling past the timeline.\n */\n readonly maxHeight?: number | string;\n};\n\n/**\n * The revision timeline, windowed by row.\n *\n * The scroll element and the content are deliberately two different\n * elements. A virtualizer decides what is visible by comparing its scroll\n * element's viewport against the total content size, so a scroll element\n * sized to the content is a viewport that shows everything at once: it never\n * scrolls, every row is \"visible\", and the whole page renders while still\n * paying the virtualizer's bookkeeping. The outer element here is therefore\n * bounded and scrollable, and the inner sizer carries the full height that\n * the absolutely positioned rows are placed within.\n */\nexport function Timeline(props: TimelineProps) {\n const { operations, maxHeight = \"70vh\" } = props;\n const rows = useMemo(() => makeRows([...operations]), [operations]);\n\n const parentRef = useRef<HTMLDivElement>(null);\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement: () => parentRef.current,\n // Optional chaining, not rows[i].height: a shrinking list re-renders\n // before the virtualizer has re-measured, so this can be asked about an\n // index the new array no longer has.\n estimateSize: (i) => rows[i]?.height ?? 0,\n gap: 8,\n // A few rows either side so scrolling reveals rendered content rather\n // than blank space.\n overscan: 8,\n });\n\n return (\n <div\n data-testid=\"revision-timeline\"\n ref={parentRef}\n style={{\n maxHeight,\n overflowY: \"auto\",\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {/*\n * The vertical line lives here rather than on the scroll container, and\n * is inset by the day marker's overhang. A scroll container clips at its\n * padding box on both axes -- setting overflow-y to auto forces\n * overflow-x from visible to auto -- so anything hanging off the line's\n * left would be cut, which is exactly what the day marker does.\n */}\n <div\n className=\"border-l border-border dark:border-none\"\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n marginLeft: DAY_MARKER_OVERHANG,\n position: \"relative\",\n }}\n >\n {rowVirtualizer.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index];\n if (!row) return null;\n\n return (\n <div\n key={virtualRow.key}\n style={{\n position: \"absolute\",\n top: 0,\n left: ROW_INSET,\n // `right`, not `width: 100%`: a full-width row offset by\n // ROW_INSET runs that far past the line's right edge, which\n // the same clipping turns into a horizontal scrollbar.\n right: 0,\n height: `${virtualRow.size}px`,\n transform: `translateY(${virtualRow.start}px)`,\n }}\n >\n {row.type === \"revision\" && <Revision {...row} />}\n {row.type === \"skip\" && <Skip {...row} />}\n {row.type === \"day\" && <Day {...row} />}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import { Pagination, usePagination } from \"#design-system\";\nimport type { Operation } from \"@powerhousedao/shared/document-model\";\nimport {\n garbageCollect,\n sortOperations,\n} from \"@powerhousedao/shared/document-model\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { ConnectTooltipProvider } from \"../tooltip/tooltip.js\";\nimport { Header } from \"./header/header.js\";\nimport { Timeline } from \"./timeline/timeline.js\";\n\ntype CommonProps = {\n readonly documentTitle: string;\n readonly documentId: string;\n readonly onClose: () => void;\n readonly itemsPerPage?: number;\n readonly documentState?: object;\n readonly onCopyState?: () => void;\n readonly onCopyDocId?: () => void;\n};\n\n/** The current, scoped props. */\nexport type RevisionHistoryScopedProps = CommonProps & {\n /** The operations of the selected scope loaded so far, in any order. */\n readonly operations: readonly Operation[];\n /** A page of operations is being fetched. */\n readonly isLoading: boolean;\n /** More operations exist beyond the loaded ones. */\n readonly hasNextPage: boolean;\n /**\n * Called by the component whenever it can take the next page.\n * Must be referentially stable (for example the hook's `fetchNextPage`);\n * an inline arrow re-fires the effect every render.\n */\n readonly onLoadNextPage: () => void;\n /** The scopes offered in the selector, for example the keys of `document.header.revision`. */\n readonly scopes: readonly string[];\n /** The selected scope. */\n readonly scope: string;\n readonly onScopeChange: (scope: string) => void;\n /**\n * The last page failed. Operations loaded so far are still shown, and the\n * walk stops asking for more; there is no retry from inside the component.\n */\n readonly error?: Error;\n};\n\n/**\n * Legacy props: the whole global and local history, toggled inside the\n * component.\n * @deprecated Pass one scope's `operations` with `scopes`/`scope`/`onScopeChange` and the loading props. Removed in the next major.\n */\nexport type RevisionHistoryLegacyProps = CommonProps & {\n readonly globalOperations: readonly Operation[];\n readonly localOperations: readonly Operation[];\n};\n\nexport type RevisionHistoryProps =\n | RevisionHistoryScopedProps\n | RevisionHistoryLegacyProps;\n\n/**\n * The revision history panel. Pages arrive oldest first while the timeline\n * renders newest first, so rendering progressively would show operations in\n * the wrong order until the last page landed and would repaint the whole\n * timeline on every page in between. Instead the component keeps asking for\n * the next page, showing \"Loading operations…\" and a running count, until\n * the walk completes, then renders the pagination and timeline once.\n */\nfunction ScopedRevisionHistory(props: RevisionHistoryScopedProps) {\n const {\n documentTitle,\n documentId,\n operations,\n isLoading,\n hasNextPage,\n onLoadNextPage,\n scopes,\n scope,\n onScopeChange,\n onClose,\n itemsPerPage = 100,\n documentState,\n onCopyState,\n onCopyDocId,\n error,\n } = props;\n\n useEffect(() => {\n if (!hasNextPage || isLoading || error) return;\n // Deferred: the cache's fetch and the useSyncExternalStore-driven render\n // it triggers are both synchronous, so calling onLoadNextPage here\n // directly would chain fetch -> render -> effect -> fetch into one\n // uninterrupted task; setTimeout(0) yields so the status line paints and\n // the close button stays responsive between pages.\n const handle = window.setTimeout(onLoadNextPage, 0);\n return () => window.clearTimeout(handle);\n }, [hasNextPage, isLoading, onLoadNextPage, error]);\n\n // The history is incomplete: still fetching pages, or waiting on the very\n // first one. While true, nothing is rendered but the progress status. A\n // failed page ends the walk instead of latching this forever: we render\n // what loaded and a short failure line rather than spinning with no retry.\n const isWalking =\n !error && (hasNextPage || (isLoading && operations.length === 0));\n\n const visibleOperations = useMemo(\n () =>\n isWalking\n ? []\n : garbageCollect(sortOperations([...operations])).sort(\n (a, b) => b.index - a.index,\n ),\n [operations, isWalking],\n );\n\n const {\n pageItems,\n pages,\n goToPage,\n goToNextPage,\n goToPreviousPage,\n goToFirstPage,\n goToLastPage,\n hiddenNextPages,\n isNextPageAvailable,\n isPreviousPageAvailable,\n } = usePagination(visibleOperations, {\n itemsPerPage,\n });\n\n function onChangeScope(nextScope: string) {\n goToFirstPage();\n onScopeChange(nextScope);\n }\n\n const showPagination = visibleOperations.length > itemsPerPage;\n\n const PaginationComponent = showPagination ? (\n <div className=\"mt-4 flex w-full justify-end\">\n <Pagination\n firstPageLabel=\"First Page\"\n goToFirstPage={goToFirstPage}\n goToLastPage={goToLastPage}\n goToNextPage={goToNextPage}\n goToPage={goToPage}\n goToPreviousPage={goToPreviousPage}\n hiddenNextPages={hiddenNextPages}\n isNextPageAvailable={isNextPageAvailable}\n isPreviousPageAvailable={isPreviousPageAvailable}\n lastPageLabel=\"Last Page\"\n nextPageLabel=\"Next\"\n pages={pages}\n previousPageLabel=\"Previous\"\n />\n </div>\n ) : (\n <hr className=\"h-12 border-none\" />\n );\n\n const hasOperations = visibleOperations.length > 0;\n\n return (\n <ConnectTooltipProvider>\n <div className=\"p-6\">\n <Header\n docId={documentId}\n onChangeScope={onChangeScope}\n onClose={onClose}\n scope={scope}\n scopes={scopes}\n title={documentTitle}\n documentState={documentState}\n onCopyState={onCopyState}\n onCopyDocId={onCopyDocId}\n />\n {isWalking ? (\n <div className=\"mt-4 flex flex-col items-center rounded-md bg-background p-4\">\n <h3 className=\"my-40 text-foreground\">Loading operations…</h3>\n {operations.length > 0 && (\n <p className=\"text-xs text-muted-foreground\">\n {operations.length} loaded so far\n </p>\n )}\n </div>\n ) : (\n <>\n {PaginationComponent}\n <div className=\"mt-4 flex flex-col items-center rounded-md bg-background p-4\">\n {error && (\n <p className=\"mb-2 text-xs text-destructive\">\n Could not load the rest of the history: {error.message}\n </p>\n )}\n {hasOperations ? (\n <div className=\"grid grid-cols-[minmax(min-content,1018px)]\">\n <Timeline operations={pageItems} />\n </div>\n ) : error ? null : (\n <h3 className=\"my-40 text-foreground\">\n This document has no recorded operations yet.\n </h3>\n )}\n </div>\n {PaginationComponent}\n </>\n )}\n </div>\n </ConnectTooltipProvider>\n );\n}\n\nconst LEGACY_SCOPES = [\"global\", \"local\"] as const;\nconst noop = () => {\n /* the legacy form has already loaded the whole history */\n};\n\n/** Toggles between the whole global and local history loaded up front. */\nfunction LegacyRevisionHistory(props: RevisionHistoryLegacyProps) {\n const { globalOperations, localOperations, ...common } = props;\n const [scope, setScope] = useState<string>(\"global\");\n return (\n <ScopedRevisionHistory\n {...common}\n operations={scope === \"local\" ? localOperations : globalOperations}\n isLoading={false}\n hasNextPage={false}\n onLoadNextPage={noop}\n scopes={LEGACY_SCOPES}\n scope={scope}\n onScopeChange={setScope}\n />\n );\n}\n\n/**\n * The revision history panel. Pages arrive oldest first while the timeline\n * renders newest first, so it waits for the whole history to load before\n * rendering the timeline, showing \"Loading operations…\" and a running count\n * in the meantime.\n *\n * Also accepts the deprecated `globalOperations`/`localOperations` pair\n * (see `RevisionHistoryLegacyProps`), toggling between them internally.\n */\nexport function RevisionHistory(props: RevisionHistoryProps) {\n return \"globalOperations\" in props ? (\n <LegacyRevisionHistory {...props} />\n ) : (\n <ScopedRevisionHistory {...props} />\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as SelectProps, S as SelectOption, f as FieldErrorHandling, p as InputBaseProps } from "./index-
|
|
1
|
+
import { C as SelectProps, S as SelectOption, f as FieldErrorHandling, p as InputBaseProps } from "./index-D99twPFI.js";
|
|
2
2
|
import React from "react";
|
|
3
3
|
//#region src/ui/components/select-field/select-field.d.ts
|
|
4
4
|
type SelectFieldBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof InputBaseProps<string | string[]> | keyof FieldErrorHandling | keyof SelectProps>;
|
|
@@ -17,4 +17,4 @@ declare const SelectField: React.ForwardRefExoticComponent<SelectFieldBaseProps
|
|
|
17
17
|
//#endregion
|
|
18
18
|
export { SelectFieldProps as n, SelectFieldRaw as r, SelectField as t };
|
|
19
19
|
export {};
|
|
20
|
-
//# sourceMappingURL=select-field-
|
|
20
|
+
//# sourceMappingURL=select-field-DbFd1YiC.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-field-
|
|
1
|
+
{"version":3,"file":"select-field-DbFd1YiC.d.ts","names":[],"sources":["../src/ui/components/select-field/select-field.tsx"],"mappings":";;;KAgBK,uBAAuB,KAC1B,MAAM,qBAAqB,0BACnB,0CACA,2BACA;KAGE,mBAAmB,uBAC7B,oCACA;EACE,UAAU;EACV,kBAAkB;IAChB,KAAK;cAEE,gBAAc,MAAA,0BAAA,uBAAA,oCAAA;EAJb,UAAA;EACQ,kBAAA;IAwLrB,KAAA,8CAAA,MAAA,cAAA;cAEY,aAAW,MAAA,0BAAA,uBAAA,oCAAA;EA3LV,UAAA;EACQ,kBAAA;IA2LiC,KAAA,8CAAA,MAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as SelectProps } from "./index-
|
|
1
|
+
import { C as SelectProps } from "./index-D99twPFI.js";
|
|
2
2
|
import React from "react";
|
|
3
3
|
//#region src/ui/components/select-field/selected-content.d.ts
|
|
4
4
|
interface SelectedContentProps {
|
|
@@ -13,4 +13,4 @@ declare const SelectedContent: React.FC<SelectedContentProps>;
|
|
|
13
13
|
//#endregion
|
|
14
14
|
export { SelectedContent as t };
|
|
15
15
|
export {};
|
|
16
|
-
//# sourceMappingURL=selected-content-
|
|
16
|
+
//# sourceMappingURL=selected-content-VMVPoru4.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selected-content-
|
|
1
|
+
{"version":3,"file":"selected-content-VMVPoru4.d.ts","names":[],"sources":["../src/ui/components/select-field/selected-content.tsx"],"mappings":";;;UAMU;EACR;EACA,SAAS;EACT;EACA;EACA;EACA;;cAGW,iBAAiB,MAAM,GAAG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as NodeSortType, r as NodeSortOrder, s as SidebarNode } from "./types-
|
|
1
|
+
import { i as NodeSortType, r as NodeSortOrder, s as SidebarNode } from "./types-FTqFl5du.js";
|
|
2
2
|
//#region src/ui/components/sidebar/sidebar.d.ts
|
|
3
3
|
interface SidebarProps {
|
|
4
4
|
/**
|
|
@@ -99,4 +99,4 @@ declare const Sidebar: React.FC<SidebarProps>;
|
|
|
99
99
|
//#endregion
|
|
100
100
|
export { SidebarProps as n, Sidebar as t };
|
|
101
101
|
export {};
|
|
102
|
-
//# sourceMappingURL=sidebar-
|
|
102
|
+
//# sourceMappingURL=sidebar-DFqreKf1.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-
|
|
1
|
+
{"version":3,"file":"sidebar-DFqreKf1.d.ts","names":[],"sources":["../src/ui/components/sidebar/sidebar.tsx"],"mappings":";;UAYiB;;;;EAIf;;;;EAIA,sBAAsB,SAAS;;;;EAI/B,QAAQ;;;;;EAKR;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;EAIA;;;;EAIA,cAAc,MAAM;;;;EAIpB,qBAAqB,MAAM;;;;;EAK3B;;;;EAIA;;;;EAIA;;;;EAKA;;;;;EAMA;;;;;;;EAOA,eAAe;;;;;;EAMf,gBAAgB;;;;;;cAOL,SAAS,MAAM,GAAG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as NodeSortType, r as NodeSortOrder, s as SidebarNode, t as FlattenedNode } from "./types-
|
|
1
|
+
import { i as NodeSortType, r as NodeSortOrder, s as SidebarNode, t as FlattenedNode } from "./types-FTqFl5du.js";
|
|
2
2
|
import { RefObject } from "react";
|
|
3
3
|
import { List } from "react-virtualized";
|
|
4
4
|
//#region src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts
|
|
@@ -39,4 +39,4 @@ declare const useSidebar: () => SidebarContextType;
|
|
|
39
39
|
//#endregion
|
|
40
40
|
export { useSidebar as n, SidebarProvider as t };
|
|
41
41
|
export {};
|
|
42
|
-
//# sourceMappingURL=sidebar-provider-
|
|
42
|
+
//# sourceMappingURL=sidebar-provider-CZHhqW5n.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-provider-
|
|
1
|
+
{"version":3,"file":"sidebar-provider-CZHhqW5n.d.ts","names":[],"sources":["../src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.tsx"],"mappings":";;;;UAoCU;EACR,OAAO;EACP,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;EACA,eAAe;EACf,eAAe;EACf,gBAAgB,UAAU;EAC1B,aAAa;EACb,WAAW,gBAAgB,oBAAoB;EAC/C,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,mBAAmB;EACnB;EACA;EACA,WACE,UAAU,eACV,WAAW,cACX,YAAY;EAEd,mBAAmB;EACnB,qBAAqB,MAAM;EAC3B,8BAA8B,WAAW,MAAM;EAC/C;;UAiCQ,6BAA6B,MAAM;EAC3C,QAAQ;;cAGJ,oBAAe,UAAA,OAAA,gBAGlB,qDAAoB,IAAA;cAqUjB,kBAAU"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as WithDifference } from "./index-
|
|
1
|
+
import { _ as WithDifference } from "./index-D99twPFI.js";
|
|
2
2
|
//#region src/ui/components/input/splitted-input-diff.d.ts
|
|
3
3
|
interface SplittedInputDiffProps extends WithDifference<string> {
|
|
4
4
|
value: string;
|
|
@@ -8,4 +8,4 @@ declare const SplittedInputDiff: ({ baseValue, value, viewMode, diffMode, showCo
|
|
|
8
8
|
//#endregion
|
|
9
9
|
export { SplittedInputDiff as t };
|
|
10
10
|
export {};
|
|
11
|
-
//# sourceMappingURL=splitted-input-diff-
|
|
11
|
+
//# sourceMappingURL=splitted-input-diff-BKRMH7vI.d.ts.map
|
package/dist/{splitted-input-diff-DBkgDh9Q.d.ts.map → splitted-input-diff-BKRMH7vI.d.ts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitted-input-diff-
|
|
1
|
+
{"version":3,"file":"splitted-input-diff-BKRMH7vI.d.ts","names":[],"sources":["../src/ui/components/input/splitted-input-diff.tsx"],"mappings":";;UAwDU,+BAA+B;EACvC;EACA;;cAGW,sBAAiB,WAAA,OAAA,UAAA,UAAA,gBAM3B,uDAAsB,IAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as Icon } from "./icon-
|
|
2
|
-
import { forwardRef, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
1
|
+
import { r as IconByName, t as Icon } from "./icon-CR_tC1gc.js";
|
|
2
|
+
import { Suspense, forwardRef, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
3
3
|
import { twJoin, twMerge } from "tailwind-merge";
|
|
4
4
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { Content, Item, Label, Portal, Root, Trigger } from "@radix-ui/react-dropdown-menu";
|
|
@@ -44,6 +44,146 @@ const DropdownMenuContent = /*#__PURE__*/ forwardRef(function DropdownMenuConten
|
|
|
44
44
|
const DropdownMenuLabel = Label;
|
|
45
45
|
const DropdownMenuItem = Item;
|
|
46
46
|
//#endregion
|
|
47
|
+
//#region src/powerhouse/components/icon-components/names.ts
|
|
48
|
+
const iconNames = [
|
|
49
|
+
"AnalyticsProcessorModule",
|
|
50
|
+
"AppModule",
|
|
51
|
+
"ArrowCouterclockwise",
|
|
52
|
+
"ArrowFilledRight",
|
|
53
|
+
"ArrowLeft",
|
|
54
|
+
"ArrowUp",
|
|
55
|
+
"BarChart",
|
|
56
|
+
"BaseArrowLeft",
|
|
57
|
+
"BaseArrowRight",
|
|
58
|
+
"Braces",
|
|
59
|
+
"Branch",
|
|
60
|
+
"BrickGlobe",
|
|
61
|
+
"Briefcase",
|
|
62
|
+
"Calendar",
|
|
63
|
+
"CalendarTime",
|
|
64
|
+
"Caret",
|
|
65
|
+
"CaretDown",
|
|
66
|
+
"CaretLeft",
|
|
67
|
+
"CaretRight",
|
|
68
|
+
"CaretSort",
|
|
69
|
+
"Check",
|
|
70
|
+
"CheckCircle",
|
|
71
|
+
"CheckCircleFill",
|
|
72
|
+
"Checkmark",
|
|
73
|
+
"ChevronDown",
|
|
74
|
+
"Circle",
|
|
75
|
+
"CircleInfo",
|
|
76
|
+
"Clock",
|
|
77
|
+
"ClockFill",
|
|
78
|
+
"ClockHistory",
|
|
79
|
+
"CloudSlash",
|
|
80
|
+
"CodegenProcessorModule",
|
|
81
|
+
"Collapse",
|
|
82
|
+
"Compass",
|
|
83
|
+
"Connect",
|
|
84
|
+
"ConnectSmall",
|
|
85
|
+
"Copy",
|
|
86
|
+
"Created",
|
|
87
|
+
"CrossCircle",
|
|
88
|
+
"CurlyBrackets",
|
|
89
|
+
"Danger",
|
|
90
|
+
"DescendenceModified",
|
|
91
|
+
"Disconnect",
|
|
92
|
+
"Discord",
|
|
93
|
+
"DocumentIcons",
|
|
94
|
+
"DocumentModel",
|
|
95
|
+
"DocumentModelModule",
|
|
96
|
+
"DownloadFile",
|
|
97
|
+
"Drive",
|
|
98
|
+
"Duplicated",
|
|
99
|
+
"Edit",
|
|
100
|
+
"EditorModule",
|
|
101
|
+
"Ellipsis",
|
|
102
|
+
"Error",
|
|
103
|
+
"Ethscan",
|
|
104
|
+
"Exclamation",
|
|
105
|
+
"ExportCsv",
|
|
106
|
+
"ExportJson",
|
|
107
|
+
"ExportPdf",
|
|
108
|
+
"ExportUbl",
|
|
109
|
+
"ExportZip",
|
|
110
|
+
"File",
|
|
111
|
+
"FilesEarmark",
|
|
112
|
+
"FolderClose",
|
|
113
|
+
"FolderOpen",
|
|
114
|
+
"FolderPlus",
|
|
115
|
+
"Forum",
|
|
116
|
+
"Gear",
|
|
117
|
+
"Github",
|
|
118
|
+
"Globe",
|
|
119
|
+
"GlobeWww",
|
|
120
|
+
"Hdd",
|
|
121
|
+
"History",
|
|
122
|
+
"InfoSquare",
|
|
123
|
+
"Link",
|
|
124
|
+
"Linkedin",
|
|
125
|
+
"Lock",
|
|
126
|
+
"M",
|
|
127
|
+
"Modified",
|
|
128
|
+
"Moved",
|
|
129
|
+
"Npm",
|
|
130
|
+
"PackageManager",
|
|
131
|
+
"PackageModule",
|
|
132
|
+
"Pencil",
|
|
133
|
+
"People",
|
|
134
|
+
"PeopleFill",
|
|
135
|
+
"Person",
|
|
136
|
+
"Pin",
|
|
137
|
+
"PinFilled",
|
|
138
|
+
"Plus",
|
|
139
|
+
"PlusCircle",
|
|
140
|
+
"PlusSquare",
|
|
141
|
+
"PowerhouseDocumentModule",
|
|
142
|
+
"PowerhouseLogoSmall",
|
|
143
|
+
"Project",
|
|
144
|
+
"QuestionSquare",
|
|
145
|
+
"RedoArrow",
|
|
146
|
+
"RelationalProcessorModule",
|
|
147
|
+
"Reload",
|
|
148
|
+
"Removed",
|
|
149
|
+
"Renown",
|
|
150
|
+
"RenownHover",
|
|
151
|
+
"RenownLight",
|
|
152
|
+
"Ring",
|
|
153
|
+
"Save",
|
|
154
|
+
"Search",
|
|
155
|
+
"Server",
|
|
156
|
+
"Settings",
|
|
157
|
+
"SubgraphModule",
|
|
158
|
+
"Synced",
|
|
159
|
+
"Syncing",
|
|
160
|
+
"Tabler",
|
|
161
|
+
"Timeline",
|
|
162
|
+
"TimelineCaret",
|
|
163
|
+
"Trash",
|
|
164
|
+
"TrashFill",
|
|
165
|
+
"TreeViewSlash",
|
|
166
|
+
"TriangleDown",
|
|
167
|
+
"Tube",
|
|
168
|
+
"VariantArrowLeft",
|
|
169
|
+
"VerticalDots",
|
|
170
|
+
"WarningFill",
|
|
171
|
+
"XTwitter",
|
|
172
|
+
"Xmark",
|
|
173
|
+
"XmarkLight",
|
|
174
|
+
"Youtube"
|
|
175
|
+
];
|
|
176
|
+
//#endregion
|
|
177
|
+
//#region src/powerhouse/components/icon/icon-components.tsx
|
|
178
|
+
/** Every icon by name; non-critical ones load their chunk on first render. */
|
|
179
|
+
const iconComponents = Object.fromEntries(iconNames.map((name) => [name, (props) => /* @__PURE__ */ jsx(Suspense, {
|
|
180
|
+
fallback: null,
|
|
181
|
+
children: /* @__PURE__ */ jsx(IconByName, {
|
|
182
|
+
...props,
|
|
183
|
+
name
|
|
184
|
+
})
|
|
185
|
+
})]));
|
|
186
|
+
//#endregion
|
|
47
187
|
//#region src/powerhouse/components/modal/modal.tsx
|
|
48
188
|
function Modal(props) {
|
|
49
189
|
const { title, open, onOpenChange, contentProps, overlayProps, children, ...delegated } = props;
|
|
@@ -689,7 +829,10 @@ function usePagination(items, options) {
|
|
|
689
829
|
//#endregion
|
|
690
830
|
//#region src/powerhouse/hooks/useWindowSize.ts
|
|
691
831
|
const useWindowSize = () => {
|
|
692
|
-
const [windowSize, setWindowSize] = useState({
|
|
832
|
+
const [windowSize, setWindowSize] = useState(() => typeof window === "undefined" ? {
|
|
833
|
+
innerWidth: 0,
|
|
834
|
+
innerHeight: 0
|
|
835
|
+
} : {
|
|
693
836
|
innerWidth: window.innerWidth,
|
|
694
837
|
innerHeight: window.innerHeight
|
|
695
838
|
});
|
|
@@ -708,6 +851,6 @@ const useWindowSize = () => {
|
|
|
708
851
|
return windowSize;
|
|
709
852
|
};
|
|
710
853
|
//#endregion
|
|
711
|
-
export {
|
|
854
|
+
export { DropdownMenuItem as _, useExitAnimation as a, PowerhouseButton as b, SidebarHeader as c, PackageAnimation as d, Modal as f, DropdownMenuContent as g, DropdownMenu as h, useEnterAnimation as i, SidebarPanel as l, iconNames as m, usePagination as n, Sidebar as o, iconComponents as p, useAnimation as r, SidebarFooter as s, useWindowSize as t, Pagination as u, DropdownMenuLabel as v, DropdownMenuTrigger as y };
|
|
712
855
|
|
|
713
|
-
//# sourceMappingURL=src-
|
|
856
|
+
//# sourceMappingURL=src-B2s8MAp7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-B2s8MAp7.js","names":["forwardRef","twJoin","twMerge","PowerhouseButton","props","ref","color","size","className","children","icon","iconPosition","delegatedProps","sizeStyles","small","medium","colorStyles","light","dark","red","blue","colorAndSizeStyle","finalClassName","Content","Item","Label","Portal","Root","Trigger","forwardRef","DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","children","delegatedProps","forwardedRef","DropdownMenuLabel","DropdownMenuItem","iconNames","Suspense","iconNames","IconByName","iconComponents","Object","fromEntries","map","name","props","Content","Description","Overlay","Portal","Root","Title","VisuallyHidden","twMerge","Modal","props","title","open","onOpenChange","contentProps","overlayProps","children","delegated","className","useEffect","useRef","useState","FRAME_DURATION","HOLD_LAST_FRAME","frames","color","PackageAnimation","animate","loop","size","onComplete","frameIndex","setFrameIndex","timerRef","isRunning","current","totalFrames","length","tick","setTimeout","clearTimeout","display","alignItems","justifyContent","width","height","flexShrink","transform","transformOrigin","twMerge","PowerhouseButton","PaginationButton","active","props","className","propClassName","restProps","mergedClassName","children","Icon","PaginationButton","Pagination","props","pages","goToFirstPage","goToLastPage","goToNextPage","goToPreviousPage","goToPage","isNextPageAvailable","isPreviousPageAvailable","hiddenNextPages","firstPageLabel","lastPageLabel","nextPageLabel","previousPageLabel","map","page","active","index","number","useEffect","useRef","useState","twMerge","SidebarPanel","className","children","props","hasScroll","setHasScroll","checkContentScroll","target","scrollHeight","scrollTop","clientHeight","containerRef","current","observer","ResizeObserver","entries","entry","pop","observe","disconnect","e","currentTarget","boxShadow","useRef","twMerge","SidebarHeader","className","props","SidebarFooter","Sidebar","maxWidth","_maxWidth","minWidth","children","ref","width","useCallback","useLayoutEffect","useRef","useState","ReactDOM","useEnterAnimation","ref","isReady","isEntering","setEntering","useAnimation","useExitAnimation","isOpen","isExiting","setExiting","exitState","setExitState","current","isActive","onEnd","prevAnimation","window","getComputedStyle","animation","computedStyle","animationName","onAnimationEnd","e","target","element","removeEventListener","flushSync","addEventListener","useCallback","useMemo","useState","usePagination","items","options","itemsPerPage","initialPage","pageRange","currentPage","setCurrentPage","pageCount","Math","ceil","length","isNextPageAvailable","isPreviousPageAvailable","goToNextPage","prev","goToPreviousPage","goToLastPage","goToFirstPage","goToPage","page","pageOffset","floor","availableRange","min","maxStartIndex","max","startIndex","pages","range","i","push","index","active","number","pageItems","slice","hiddenNextPages","useEffect","useState","useWindowSize","windowSize","setWindowSize","window","innerWidth","innerHeight","windowSizeHandler","addEventListener","removeEventListener"],"sources":["../src/powerhouse/components/button/button.tsx","../src/powerhouse/components/dropdown-menu/dropdown-menu.tsx","../src/powerhouse/components/icon-components/names.ts","../src/powerhouse/components/icon/icon-components.tsx","../src/powerhouse/components/modal/modal.tsx","../src/powerhouse/components/package-animation/package-animation.tsx","../src/powerhouse/components/pagination/pagination-button.tsx","../src/powerhouse/components/pagination/pagination.tsx","../src/powerhouse/components/sidebar/sidebar-panel.tsx","../src/powerhouse/components/sidebar/sidebar.tsx","../src/powerhouse/hooks/animation.ts","../src/powerhouse/hooks/usePagination.ts","../src/powerhouse/hooks/useWindowSize.ts"],"sourcesContent":["import type { ComponentPropsWithRef, ForwardedRef } from \"react\";\nimport { forwardRef } from \"react\";\nimport { twJoin, twMerge } from \"tailwind-merge\";\n\nexport type PowerhouseButtonProps = ComponentPropsWithRef<\"button\"> & {\n readonly color?: \"light\" | \"dark\" | \"red\" | \"blue\";\n readonly size?: \"small\" | \"medium\";\n readonly icon?: React.JSX.Element;\n readonly iconPosition?: \"left\" | \"right\";\n};\n\nexport const PowerhouseButton = forwardRef(function PowerhouseButton(\n props: PowerhouseButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n color = \"dark\",\n size = \"medium\",\n className = \"\",\n children,\n icon,\n iconPosition = \"left\",\n ...delegatedProps\n } = props;\n\n const sizeStyles = {\n small: \"px-2 py-1.5 text-xs rounded-md font-medium\",\n medium: \"px-6 py-3 text-base rounded-xl font-semibold tracking-wide\",\n };\n\n const colorStyles = {\n light:\n \"bg-secondary text-foreground hover:hover-effect active:active-effect disabled:disabled-effect\",\n dark: \"bg-primary text-primary-foreground hover:hover-effect active:active-effect disabled:disabled-effect\",\n red: \"bg-destructive text-destructive-foreground hover:hover-effect active:active-effect disabled:disabled-effect disabled:opacity-100\",\n blue: \"bg-info text-info-foreground hover:hover-effect active:active-effect disabled:disabled-effect disabled:opacity-100\",\n };\n\n const colorAndSizeStyle = twJoin(colorStyles[color], sizeStyles[size]);\n\n const finalClassName = twMerge(\n \"flex items-center justify-center gap-2 border border-none transition outline-none disabled:disabled-effect\",\n colorAndSizeStyle,\n className,\n );\n\n return (\n <button className={finalClassName} ref={ref} {...delegatedProps}>\n {iconPosition === \"left\" && icon}\n {children}\n {iconPosition === \"right\" && icon}\n </button>\n );\n});\n","import type {\n DropdownMenuContentProps,\n DropdownMenuProps,\n} from \"@radix-ui/react-dropdown-menu\";\nimport {\n Content,\n Item,\n Label,\n Portal,\n Root,\n Trigger,\n} from \"@radix-ui/react-dropdown-menu\";\nimport type { ForwardedRef } from \"react\";\nimport { forwardRef } from \"react\";\n\nexport const DropdownMenu: React.FC<DropdownMenuProps> = Root;\nexport const DropdownMenuTrigger = Trigger;\n\nexport const DropdownMenuContent = forwardRef(function DropdownMenuContent(\n { children, ...delegatedProps }: DropdownMenuContentProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Portal>\n <Content {...delegatedProps} ref={forwardedRef}>\n {children}\n </Content>\n </Portal>\n );\n});\n\nexport const DropdownMenuLabel = Label;\nexport const DropdownMenuItem = Item;\n","export const iconNames = [\n \"AnalyticsProcessorModule\",\n \"AppModule\",\n \"ArrowCouterclockwise\",\n \"ArrowFilledRight\",\n \"ArrowLeft\",\n \"ArrowUp\",\n \"BarChart\",\n \"BaseArrowLeft\",\n \"BaseArrowRight\",\n \"Braces\",\n \"Branch\",\n \"BrickGlobe\",\n \"Briefcase\",\n \"Calendar\",\n \"CalendarTime\",\n \"Caret\",\n \"CaretDown\",\n \"CaretLeft\",\n \"CaretRight\",\n \"CaretSort\",\n \"Check\",\n \"CheckCircle\",\n \"CheckCircleFill\",\n \"Checkmark\",\n \"ChevronDown\",\n \"Circle\",\n \"CircleInfo\",\n \"Clock\",\n \"ClockFill\",\n \"ClockHistory\",\n \"CloudSlash\",\n \"CodegenProcessorModule\",\n \"Collapse\",\n \"Compass\",\n \"Connect\",\n \"ConnectSmall\",\n \"Copy\",\n \"Created\",\n \"CrossCircle\",\n \"CurlyBrackets\",\n \"Danger\",\n \"DescendenceModified\",\n \"Disconnect\",\n \"Discord\",\n \"DocumentIcons\",\n \"DocumentModel\",\n \"DocumentModelModule\",\n \"DownloadFile\",\n \"Drive\",\n \"Duplicated\",\n \"Edit\",\n \"EditorModule\",\n \"Ellipsis\",\n \"Error\",\n \"Ethscan\",\n \"Exclamation\",\n \"ExportCsv\",\n \"ExportJson\",\n \"ExportPdf\",\n \"ExportUbl\",\n \"ExportZip\",\n \"File\",\n \"FilesEarmark\",\n \"FolderClose\",\n \"FolderOpen\",\n \"FolderPlus\",\n \"Forum\",\n \"Gear\",\n \"Github\",\n \"Globe\",\n \"GlobeWww\",\n \"Hdd\",\n \"History\",\n \"InfoSquare\",\n \"Link\",\n \"Linkedin\",\n \"Lock\",\n \"M\",\n \"Modified\",\n \"Moved\",\n \"Npm\",\n \"PackageManager\",\n \"PackageModule\",\n \"Pencil\",\n \"People\",\n \"PeopleFill\",\n \"Person\",\n \"Pin\",\n \"PinFilled\",\n \"Plus\",\n \"PlusCircle\",\n \"PlusSquare\",\n \"PowerhouseDocumentModule\",\n \"PowerhouseLogoSmall\",\n \"Project\",\n \"QuestionSquare\",\n \"RedoArrow\",\n \"RelationalProcessorModule\",\n \"Reload\",\n \"Removed\",\n \"Renown\",\n \"RenownHover\",\n \"RenownLight\",\n \"Ring\",\n \"Save\",\n \"Search\",\n \"Server\",\n \"Settings\",\n \"SubgraphModule\",\n \"Synced\",\n \"Syncing\",\n \"Tabler\",\n \"Timeline\",\n \"TimelineCaret\",\n \"Trash\",\n \"TrashFill\",\n \"TreeViewSlash\",\n \"TriangleDown\",\n \"Tube\",\n \"VariantArrowLeft\",\n \"VerticalDots\",\n \"WarningFill\",\n \"XTwitter\",\n \"Xmark\",\n \"XmarkLight\",\n \"Youtube\",\n] as const;\n","import type { IconComponentProps, IconName } from \"#design-system\";\nimport { Suspense } from \"react\";\nimport { iconNames } from \"../icon-components/names.js\";\nimport { IconByName } from \"./icon-by-name.js\";\n\n/** Every icon by name; non-critical ones load their chunk on first render. */\nexport const iconComponents = Object.fromEntries(\n iconNames.map((name: IconName) => [\n name,\n (props: IconComponentProps) => (\n <Suspense fallback={null}>\n <IconByName {...props} name={name} />\n </Suspense>\n ),\n ]),\n) as Record<IconName, (props: IconComponentProps) => React.JSX.Element>;\n","import {\n Content,\n Description,\n Overlay,\n Portal,\n Root,\n Title,\n} from \"@radix-ui/react-dialog\";\nimport { Root as VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = {\n readonly title?: string;\n readonly children?: React.ReactNode;\n readonly open?: boolean;\n readonly onOpenChange?: (open: boolean) => void;\n readonly overlayProps?: ComponentPropsWithoutRef<typeof Overlay>;\n readonly contentProps?: ComponentPropsWithoutRef<typeof Content>;\n};\nexport function Modal(props: Props) {\n const {\n title,\n open,\n onOpenChange,\n contentProps,\n overlayProps,\n children,\n ...delegated\n } = props;\n\n return (\n <Root defaultOpen={open} onOpenChange={onOpenChange} open={open}>\n <Portal>\n <Overlay\n {...overlayProps}\n className={twMerge(\n \"fixed inset-0 grid place-items-center overflow-y-auto bg-background/50 data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in\",\n overlayProps?.className,\n )}\n >\n <Content\n {...delegated}\n {...contentProps}\n className={twMerge(\n \"overflow-hidden rounded-3xl bg-background shadow-modal data-[state=closed]:animate-zoom-out data-[state=open]:animate-zoom-in dark:shadow-modal-dark\",\n contentProps?.className,\n )}\n >\n <VisuallyHidden>\n <Title>{title || \"Modal\"}</Title>\n <Description>{title || \"Modal\"}</Description>\n </VisuallyHidden>\n {children}\n </Content>\n </Overlay>\n </Portal>\n </Root>\n );\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nconst FRAME_DURATION = 60;\nconst HOLD_LAST_FRAME = 800;\n\nconst frames = [\n // frame 1\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.3998 27.782C15.6431 27.9224 15.919 27.9963 16.1998 27.9963C16.4807 27.9963 16.7566 27.9224 16.9998 27.782L22.5997 24.5821C22.8427 24.4418 23.0445 24.24 23.1849 23.9971C23.3253 23.7542 23.3994 23.4787 23.3996 23.1981V16.7982C23.3994 16.5177 23.3253 16.2421 23.1849 15.9992C23.0445 15.7563 22.8427 15.5546 22.5997 15.4143L16.9998 12.2144C16.7566 12.0739 16.4807 12 16.1998 12C15.919 12 15.6431 12.0739 15.3998 12.2144L9.79998 15.4143C9.557 15.5546 9.35518 15.7563 9.21476 15.9992C9.07435 16.2421 9.00029 16.5177 9 16.7982V23.1981C9.00029 23.4787 9.07435 23.7542 9.21476 23.9971C9.35518 24.24 9.557 24.4418 9.79998 24.5821L15.3999 27.782Z\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9.23193 15.9985L16.1998 19.9984L23.1676 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12.6001 13.8145L19.7999 17.9344\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n // frame 2\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19.7996 13.8145L16.8801 15.5\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12.9998 14L18.9998 17.5\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M16.1998 27.9963C16.4807 27.9963 16.7566 27.9224 16.9998 27.782L22.5997 24.5821C22.8427 24.4418 23.0445 24.24 23.1849 23.9971C23.3253 23.7542 23.3994 23.4787 23.3997 23.1981V16.7982C23.3994 16.5177 23.3253 16.2421 23.1849 15.9992C23.0445 15.7563 22.8427 15.5546 22.5997 15.4143L16.9998 12.2144C16.7566 12.0739 16.4807 12 16.1998 12C15.919 12 15.6431 12.0739 15.3999 12.2144L9.79999 15.4143C9.55701 15.5546 9 16 9 16.5L9.00001 20.5V23.1981C9.0003 23.4787 9.07436 23.7542 9.21477 23.9971C9.35518 24.24 9.55701 24.4418 9.79999 24.5821L15.3999 27.782C15.6431 27.9224 15.919 27.9963 16.1998 27.9963Z\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1677 15.9985L16.1999 19.9984L9.23207 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.001 11.8061V9.76617C16.001 8.98888 16.8489 8.50877 17.5155 8.90867L22.4298 11.8572C23.0322 12.2186 23.4008 12.8697 23.4008 13.5722V16.8833\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 3\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.00001 20.5V23.1981C9.0003 23.4787 9.07436 23.7542 9.21477 23.9971C9.35518 24.24 9.55701 24.4418 9.79999 24.5821L15.3999 27.782C15.6431 27.9224 15.919 27.9963 16.1998 27.9963C16.4807 27.9963 16.7566 27.9224 16.9998 27.782L22.5997 24.5821C22.8427 24.4418 23.0445 24.24 23.1849 23.9971C23.3253 23.7542 23.3994 23.4787 23.3997 23.1981V16.7982C23.3994 16.5177 23.3253 16.2421 23.1849 15.9992C23.0445 15.7563 22.8427 15.5546 22.5997 15.4143L16.9998 12.2144C16.7566 12.0739 16.4807 12 16.1998 12C15.919 12 15.6431 12.0739 15.3999 12.2144\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.2 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1677 15.9985L16.1999 19.9984L9.23207 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M19.7998 13.8145L16.0143 16\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.5002 19.7472L24.1167 15.3498C24.385 15.1982 24.6081 14.978 24.7634 14.7118C24.9187 14.4456 25.0005 14.143 25.0005 13.8348C25.0005 13.5266 24.9187 13.224 24.7634 12.9578C24.6081 12.6916 24.385 12.4715 24.1167 12.3198L20.3291 10.1915C20.1045 10.0659 19.8515 10 19.5941 10C19.3368 10 19.0837 10.0659 18.8591 10.1915L12.5487 13.8348\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9.00024 20.8833V13.7662C9.00024 12.9889 9.84821 12.5088 10.5147 12.9087L15.2265 15.7357C15.8289 16.0971 16.1975 16.7481 16.1975 17.4507V20.7618\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 4\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.79998 15.4143L15.3998 12.2144C15.6431 12.0739 15.919 12 16.1998 12C16.4807 12 16.7566 12.0739 16.9998 12.2144L22.5997 15.4143C22.8427 15.5546 23.0445 15.7563 23.1849 15.9992C23.3253 16.2421 23.3994 16.5177 23.3996 16.7982V23.1981C23.3994 23.4787 23.3253 23.7542 23.1849 23.9971C23.0445 24.24 22.8427 24.4418 22.5997 24.5821L16.9998 27.782C16.7566 27.9224 16.4807 27.9963 16.1998 27.9963C15.919 27.9963 15.6431 27.9224 15.3998 27.782L9.79998 24.5821C9.557 24.4418 9.35518 24.24 9.21476 23.9971C9.07435 23.7542 9.00029 23.4787 9 23.1981V19.9982\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9.23193 15.9985L16.1998 19.9984L23.1676 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M19.0996 14L12.5997 17.7527\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.0099C19.0835 9.8843 19.3365 9.81836 19.5939 9.81836C19.8512 9.81836 20.1042 9.8843 20.3289 10.0099L24.1165 12.1381C24.3847 12.2898 24.6079 12.51 24.7632 12.7762C24.9185 13.0424 25.0003 13.345 25.0003 13.6532C25.0003 13.9613 24.9185 14.264 24.7632 14.5301C24.6079 14.7963 24.3847 15.0165 24.1165 15.1682L13.1324 21.3546C12.9071 21.4831 12.6522 21.5506 12.3929 21.5506C12.1335 21.5506 11.8787 21.4831 11.6534 21.3546L7.88378 19.2263C7.61553 19.0746 7.39237 18.8544 7.23709 18.5883C7.08182 18.3221 7 18.0194 7 17.7113C7 17.4031 7.08182 17.1005 7.23709 16.8343C7.39237 16.5681 7.61553 16.3479 7.88378 16.1963L18.8589 10.0099Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.2463 11.1364L16.2179 8.7419C16.2087 7.96996 15.3654 7.49911 14.7034 7.89629L9.98488 10.7274C9.37494 11.0933 9.00526 11.7557 9.01401 12.467L9.04907 15.3181\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 5\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M23.1849 15.9993C23.3253 16.2422 23.3994 16.5177 23.3996 16.7983V23.1982C23.3994 23.4787 23.3253 23.7543 23.1849 23.9972C23.0445 24.2401 22.8427 24.4418 22.5997 24.5821L16.9998 27.782C16.7566 27.9225 16.4807 27.9964 16.1998 27.9964C15.919 27.9964 15.6431 27.9225 15.3998 27.782L9.79998 24.5821C9.557 24.4418 9.35518 24.2401 9.21476 23.9972C9.07435 23.7543 9.00029 23.4787 9 23.1982V20.5001\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.2045C19.0835 10.0789 19.3365 10.0129 19.5939 10.0129C19.8512 10.0129 20.1042 10.0789 20.3289 10.2045L24.1165 12.3327C24.3847 12.4844 24.6079 12.7046 24.7632 12.9708C24.9185 13.2369 25.0003 13.5396 25.0003 13.8477C25.0003 14.1559 24.9185 14.4585 24.7632 14.7247C24.6079 14.9909 24.3847 15.2111 24.1165 15.3628L13.1324 21.5491C12.9071 21.6776 12.6522 21.7452 12.3929 21.7452C12.1335 21.7452 11.8787 21.6776 11.6534 21.5491L7.88378 19.4209C7.61553 19.2692 7.39237 19.049 7.23709 18.7828C7.08182 18.5167 7 18.214 7 17.9059C7 17.5977 7.08182 17.2951 7.23709 17.0289C7.39237 16.7627 7.61553 16.5425 7.88378 16.3908L18.8589 10.2045Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8649 13.5L13.1414 10.1956C12.9176 10.0674 12.6642 10 12.4064 10C12.1485 10 11.8952 10.0674 11.6714 10.1956L7.88378 12.3328C7.61553 12.4845 7.39237 12.7047 7.23709 12.9709C7.08182 13.2371 7 13.5397 7 13.8479C7 14.156 7.08182 14.4587 7.23709 14.7248C7.39237 14.991 7.61553 15.2112 7.88378 15.3629L16 20\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1972 15.5L23.1972 12.7662C23.1972 11.9889 22.3493 11.5088 21.6827 11.9087L16.971 14.7357C16.3686 15.0971 16 15.7482 16 16.4507L16.0001 19.5\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 6\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M23.3996 20V23.1982C23.3994 23.4788 23.3253 23.7543 23.1849 23.9972C23.0445 24.2401 22.8427 24.4419 22.5997 24.5821L16.9998 27.7821C16.7566 27.9225 16.4807 27.9964 16.1998 27.9964C15.919 27.9964 15.6431 27.9225 15.3998 27.7821L9.79998 24.5821C9.557 24.4419 9.35518 24.2401 9.21476 23.9972C9.07435 23.7543 9.00029 23.4788 9 23.1982V20.5001\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.2045C19.0835 10.0789 19.3365 10.0129 19.5939 10.0129C19.8512 10.0129 20.1042 10.0789 20.3289 10.2045L24.1165 12.3327C24.3847 12.4844 24.6079 12.7046 24.7632 12.9708C24.9185 13.2369 25.0003 13.5396 25.0003 13.8477C25.0003 14.1559 24.9185 14.4585 24.7632 14.7247C24.6079 14.9909 24.3847 15.2111 24.1165 15.3628L13.1324 21.5491C12.9071 21.6776 12.6522 21.7452 12.3929 21.7452C12.1335 21.7452 11.8787 21.6776 11.6534 21.5491L7.88378 19.4209C7.61553 19.2692 7.39237 19.049 7.23709 18.7828C7.08182 18.5167 7 18.214 7 17.9059C7 17.5977 7.08182 17.2951 7.23709 17.0289C7.39237 16.7627 7.61553 16.5425 7.88378 16.3908L18.8589 10.2045Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M24.1162 19.4209C24.3845 19.2693 24.6076 19.0491 24.7629 18.7829C24.9182 18.5167 25 18.2141 25 17.9059C25 17.5978 24.9182 17.2951 24.7629 17.029C24.6076 16.7628 24.3845 16.5426 24.1162 16.3909L13.1413 10.1955C12.9175 10.0674 12.6642 10 12.4063 10C12.1485 10 11.8951 10.0674 11.6713 10.1955L7.88377 12.3328C7.61552 12.4845 7.39236 12.7047 7.23709 12.9709C7.08182 13.237 7 13.5397 7 13.8478C7 14.156 7.08182 14.4586 7.23709 14.7248C7.39236 14.991 7.61552 15.2112 7.88377 15.3629L18.8677 21.5492C19.0914 21.6777 19.3448 21.7453 19.6027 21.7453C19.8606 21.7453 20.114 21.6777 20.3377 21.5492L24.1162 19.4209Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n // frame 7\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M23.3996 20V23.1982C23.3994 23.4788 23.3253 23.7543 23.1849 23.9972C23.0445 24.2401 22.8427 24.4419 22.5997 24.5821L16.9998 27.7821C16.7566 27.9225 16.4807 27.9964 16.1998 27.9964C15.919 27.9964 15.6431 27.9225 15.3998 27.7821L9.79998 24.5821C9.557 24.4419 9.35518 24.2401 9.21476 23.9972C9.07435 23.7543 9.00029 23.4788 9 23.1982V20.5001\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.2045C19.0835 10.0789 19.3365 10.0129 19.5939 10.0129C19.8512 10.0129 20.1042 10.0789 20.3289 10.2045L24.1165 12.3327C24.3847 12.4844 24.6079 12.7046 24.7632 12.9708C24.9185 13.2369 25.0003 13.5396 25.0003 13.8477C25.0003 14.1559 24.9185 14.4585 24.7632 14.7247C24.6079 14.9909 24.3847 15.2111 24.1165 15.3628L13.1324 21.5491C12.9071 21.6776 12.6522 21.7452 12.3929 21.7452C12.1335 21.7452 11.8787 21.6776 11.6534 21.5491L7.88378 19.4209C7.61553 19.2692 7.39237 19.049 7.23709 18.7828C7.08182 18.5167 7 18.214 7 17.9059C7 17.5977 7.08182 17.2951 7.23709 17.0289C7.39237 16.7627 7.61553 16.5425 7.88378 16.3908L18.8589 10.2045Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M24.1162 19.4209C24.3845 19.2693 24.6076 19.0491 24.7629 18.7829C24.9182 18.5167 25 18.2141 25 17.9059C25 17.5978 24.9182 17.2951 24.7629 17.029C24.6076 16.7628 24.3845 16.5426 24.1162 16.3909L13.1413 10.1955C12.9175 10.0674 12.6642 10 12.4063 10C12.1485 10 11.8951 10.0674 11.6713 10.1955L7.88377 12.3328C7.61552 12.4845 7.39236 12.7047 7.23709 12.9709C7.08182 13.237 7 13.5397 7 13.8478C7 14.156 7.08182 14.4586 7.23709 14.7248C7.39236 14.991 7.61552 15.2112 7.88377 15.3629L18.8677 21.5492C19.0914 21.6777 19.3448 21.7453 19.6027 21.7453C19.8606 21.7453 20.114 21.6777 20.3377 21.5492L24.1162 19.4209Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16 7V4\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M19 8L21 7\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M13 8L11 7\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n];\n\nexport interface PackageAnimationProps {\n readonly animate?: boolean;\n readonly loop?: boolean;\n readonly color?: string;\n readonly size?: number;\n readonly onComplete?: () => void;\n}\n\nexport function PackageAnimation({\n animate = false,\n loop = false,\n color = \"currentColor\",\n size = 32,\n onComplete,\n}: PackageAnimationProps) {\n const [frameIndex, setFrameIndex] = useState(0);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isRunning = useRef(false);\n\n useEffect(() => {\n if (!animate || isRunning.current) return;\n\n isRunning.current = true;\n setFrameIndex(0);\n\n let current = 0;\n const totalFrames = frames.length;\n\n const tick = () => {\n current += 1;\n if (current < totalFrames - 1) {\n setFrameIndex(current);\n timerRef.current = setTimeout(tick, FRAME_DURATION);\n } else {\n setFrameIndex(totalFrames - 1);\n timerRef.current = setTimeout(() => {\n if (loop) {\n current = 0;\n setFrameIndex(0);\n timerRef.current = setTimeout(tick, FRAME_DURATION);\n } else {\n isRunning.current = false;\n onComplete?.();\n }\n }, HOLD_LAST_FRAME);\n }\n };\n\n timerRef.current = setTimeout(tick, FRAME_DURATION);\n return () => {\n isRunning.current = false;\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n }, [animate, loop]);\n\n return (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: size,\n height: size,\n flexShrink: 0,\n }}\n >\n <span\n style={{\n transform: `scale(${size / 32})`,\n transformOrigin: \"center\",\n display: \"block\",\n width: 32,\n height: 32,\n }}\n >\n {frames[frameIndex](color)}\n </span>\n </span>\n );\n}\n","import { twMerge } from \"tailwind-merge\";\nimport {\n PowerhouseButton,\n type PowerhouseButtonProps,\n} from \"../button/button.js\";\n\nexport interface PaginationButtonProps extends PowerhouseButtonProps {\n readonly active?: boolean;\n}\n\nexport const PaginationButton: React.FC<PaginationButtonProps> = ({\n active = false,\n ...props\n}) => {\n const { className: propClassName, ...restProps } = props;\n const mergedClassName = twMerge(\n \"h-8 min-w-8 border border-solid border-border bg-background px-3 py-1 text-xs text-foreground hover:hover-effect\",\n !active && \"border-0\",\n typeof propClassName === \"string\" && propClassName,\n );\n\n return (\n <PowerhouseButton\n color=\"light\"\n size=\"small\"\n className={mergedClassName}\n {...restProps}\n >\n {props.children}\n </PowerhouseButton>\n );\n};\n","import type {\n PageItem,\n UsePaginationBaseResult,\n} from \"../../hooks/usePagination.js\";\nimport { Icon } from \"../icon/icon.js\";\nimport { PaginationButton } from \"./pagination-button.js\";\n\nexport type PaginationEvent = {\n event: \"first\" | \"previous\" | \"next\" | \"last\";\n};\n\nexport type PaginationPageEvent = {\n event: \"page\";\n page: PageItem;\n};\n\nexport interface PaginationProps extends Omit<\n UsePaginationBaseResult,\n \"pageCount\" | \"currentPage\"\n> {\n displayPagesLeftIndicator?: boolean;\n firstPageLabel?: React.ReactNode;\n lastPageLabel?: React.ReactNode;\n nextPageLabel?: React.ReactNode;\n previousPageLabel?: React.ReactNode;\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n pages = [],\n goToFirstPage,\n goToLastPage,\n goToNextPage,\n goToPreviousPage,\n goToPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n hiddenNextPages,\n firstPageLabel = \"First\",\n lastPageLabel = \"Last\",\n nextPageLabel = \"Next\",\n previousPageLabel = \"Previous\",\n } = props;\n\n return (\n <div className=\"flex gap-x-1\">\n {firstPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToFirstPage()}\n >\n {firstPageLabel}\n </PaginationButton>\n ) : null}\n {previousPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToPreviousPage()}\n >\n <Icon className=\"rotate-90\" name=\"ChevronDown\" size={16} />\n {previousPageLabel}\n </PaginationButton>\n ) : null}\n {pages.map((page) => (\n <PaginationButton\n active={page.active}\n key={page.index}\n onClick={() => goToPage(page.index)}\n >\n {page.number}\n </PaginationButton>\n ))}\n {hiddenNextPages ? (\n <span className=\"flex items-center justify-center px-2\">...</span>\n ) : null}\n {nextPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToNextPage()}\n >\n {nextPageLabel}\n <Icon className=\"-rotate-90\" name=\"ChevronDown\" size={16} />\n </PaginationButton>\n ) : null}\n {lastPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToLastPage()}\n >\n {lastPageLabel}\n </PaginationButton>\n ) : null}\n </div>\n );\n};\n","import { useEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type SidebarPanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarPanel({\n className,\n children,\n ...props\n}: SidebarPanelProps) {\n const [hasScroll, setHasScroll] = useState(false);\n\n function checkContentScroll(target: Element) {\n setHasScroll(\n target.scrollHeight - target.scrollTop - target.clientHeight > 1,\n );\n }\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n // listen for resize events to update shadow\n useEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n const entry = entries.pop();\n if (!entry) {\n return;\n }\n\n const { target } = entry;\n checkContentScroll(target);\n });\n observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <>\n <div\n className={twMerge(\n \"scrollbar-none flex-1 overflow-auto text-foreground transition-shadow\",\n className,\n )}\n onScroll={(e) => checkContentScroll(e.currentTarget)}\n ref={containerRef}\n {...props}\n >\n {children}\n </div>\n {hasScroll ? (\n <div\n className=\"pointer-events-none z-10 -mt-12 h-12 w-full\"\n style={{\n boxShadow: \"inset 0px -33px 32px -16px rgba(0,0,0,0.1)\",\n }}\n />\n ) : null}\n </>\n );\n}\n","import { useRef, type HTMLAttributes } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function SidebarHeader({\n className,\n ...props\n}: HTMLAttributes<HTMLElement>) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\nexport function SidebarFooter({\n className,\n ...props\n}: HTMLAttributes<HTMLElement>) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\ntype SidebarProps = HTMLAttributes<HTMLElement> & {\n maxWidth: string;\n minWidth: string;\n};\nexport function Sidebar({\n maxWidth: _maxWidth = \"304px\",\n minWidth = \"80px\",\n className,\n children,\n ...props\n}: SidebarProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n return (\n <div\n {...props}\n className={twMerge(\n `group z-1 flex h-full flex-col bg-sidebar text-sidebar-foreground`,\n className,\n )}\n ref={ref}\n style={{\n width: minWidth,\n }}\n >\n {children}\n </div>\n );\n}\n","/*\n * https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/utils.tsx#L215\n */\n\nimport type { RefObject } from \"react\";\nimport { useCallback, useLayoutEffect, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\n\nexport function useEnterAnimation(ref: RefObject<HTMLElement>, isReady = true) {\n const [isEntering, setEntering] = useState(true);\n useAnimation(\n ref,\n isEntering && isReady,\n useCallback(() => setEntering(false), []),\n );\n return isEntering && isReady;\n}\n\nexport function useExitAnimation(ref: RefObject<HTMLElement>, isOpen: boolean) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n const [isExiting, setExiting] = useState(false);\n const [exitState, setExitState] = useState(\"idle\");\n\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === \"idle\") {\n setExiting(true);\n setExitState(\"exiting\");\n }\n\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === \"exited\") {\n setExitState(\"idle\");\n }\n\n useAnimation(\n ref,\n isExiting,\n useCallback(() => {\n setExitState(\"exited\");\n setExiting(false);\n }, []),\n );\n\n return isExiting;\n}\n\nexport function useAnimation(\n ref: RefObject<HTMLElement>,\n isActive: boolean,\n onEnd: () => void,\n) {\n const prevAnimation = useRef<string | null>(null);\n if (isActive && ref.current) {\n // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n }\n\n useLayoutEffect(() => {\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n const computedStyle = window.getComputedStyle(ref.current);\n if (\n computedStyle.animationName !== \"none\" &&\n computedStyle.animation !== prevAnimation.current\n ) {\n const onAnimationEnd = (e: AnimationEvent) => {\n if (e.target === ref.current) {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n ReactDOM.flushSync(() => {\n onEnd();\n });\n }\n };\n\n const element = ref.current;\n element.addEventListener(\"animationend\", onAnimationEnd);\n return () => {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n };\n } else {\n onEnd();\n }\n }\n }, [ref, isActive, onEnd]);\n}\n","import { useCallback, useMemo, useState } from \"react\";\n\nexport type PageItem = {\n index: number;\n number: number;\n active: boolean;\n};\n\nexport interface UsePaginationOptions {\n pageRange?: number;\n initialPage?: number;\n itemsPerPage?: number;\n}\n\nexport interface UsePaginationBaseResult {\n pages: PageItem[];\n goToPage: (page: number) => void;\n pageCount: number;\n currentPage: number;\n goToLastPage: () => void;\n goToFirstPage: () => void;\n goToNextPage: () => void;\n goToPreviousPage: () => void;\n isNextPageAvailable: boolean;\n isPreviousPageAvailable: boolean;\n hiddenNextPages: boolean;\n}\nexport interface UsePaginationResult<T> extends UsePaginationBaseResult {\n pageItems: T[];\n}\n\n/**\n * Custom hook for pagination.\n *\n * @template T - The type of items in the pagination.\n * @param {T[]} items - The array of items to paginate.\n * @param {UsePaginationOptions} [options] - The pagination options.\n * @returns {{\n * pages: PageItem[]; - The array of page items.\n * goToPage: (page: number) => void; - The function to go to a specific page.\n * pageItems: T[]; - The array of items for the current page.\n * pageCount: number; - The total number of pages.\n * currentPage: number; - The current page index.\n * goToLastPage: () => void; - The function to go to the last page.\n * goToFirstPage: () => void; - The function to go to the first page.\n * goToNextPage: () => void; - The function to go to the next page.\n * goToPreviousPage: () => void; - The function to go to the previous page.\n * isNextPageAvailable: boolean; - The flag to indicate if the next page is available.\n * isPreviousPageAvailable: boolean; - The flag to indicate if the previous page is available.\n * }} - The pagination object with various functions and properties.\n */\n\nexport function usePagination<T>(\n items: T[],\n options?: UsePaginationOptions,\n): UsePaginationResult<T> {\n const { itemsPerPage = 20, initialPage = 0, pageRange = 3 } = options || {};\n\n const [currentPage, setCurrentPage] = useState(initialPage);\n\n const pageCount = Math.ceil(items.length / itemsPerPage);\n const isNextPageAvailable = currentPage < pageCount - 1;\n const isPreviousPageAvailable = currentPage > 0;\n\n const goToNextPage = useCallback(() => {\n if (isNextPageAvailable) {\n setCurrentPage((prev) => prev + 1);\n }\n }, [isNextPageAvailable, setCurrentPage]);\n\n const goToPreviousPage = useCallback(() => {\n if (isPreviousPageAvailable) {\n setCurrentPage((prev) => prev - 1);\n }\n }, [isPreviousPageAvailable, setCurrentPage]);\n\n const goToLastPage = useCallback(() => {\n setCurrentPage(pageCount - 1);\n }, [pageCount]);\n\n const goToFirstPage = useCallback(() => {\n setCurrentPage(0);\n }, []);\n\n const goToPage = useCallback(\n (page: number) => {\n if (page >= 0 && page < pageCount) {\n setCurrentPage(page);\n }\n },\n [pageCount],\n );\n\n const pageOffset = Math.floor((pageRange - 1) / 2);\n const availableRange = Math.min(pageRange, pageCount);\n const maxStartIndex = Math.max(pageCount - availableRange);\n const startIndex = Math.min(\n maxStartIndex,\n Math.max(currentPage - pageOffset, 0),\n );\n\n const pages = useMemo(() => {\n const range: PageItem[] = [];\n for (let i = startIndex; i < availableRange + startIndex; i++) {\n range.push({\n index: i,\n active: i === currentPage,\n number: i + 1,\n });\n }\n return range;\n }, [availableRange, startIndex, currentPage]);\n\n const pageItems = items.slice(\n currentPage * itemsPerPage,\n (currentPage + 1) * itemsPerPage,\n );\n\n const hiddenNextPages =\n pages.length > 0 && pages.slice(-1)[0].index < pageCount - 1;\n\n return {\n pages,\n goToPage,\n pageItems,\n pageCount,\n currentPage,\n goToLastPage,\n goToFirstPage,\n goToNextPage,\n hiddenNextPages,\n goToPreviousPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n };\n}\n","import { useEffect, useState } from \"react\";\n\nexport const useWindowSize = () => {\n // Zero on the server; the resize handler takes over in the browser.\n const [windowSize, setWindowSize] = useState(() =>\n typeof window === \"undefined\"\n ? { innerWidth: 0, innerHeight: 0 }\n : { innerWidth: window.innerWidth, innerHeight: window.innerHeight },\n );\n\n useEffect(() => {\n const windowSizeHandler = () => {\n setWindowSize({\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n });\n };\n\n window.addEventListener(\"resize\", windowSizeHandler);\n\n return () => {\n window.removeEventListener(\"resize\", windowSizeHandler);\n };\n }, []);\n\n return windowSize;\n};\n"],"mappings":";;;;;;;;;AAWA,MAAaG,mBAAmBH,yBAAW,SAASG,iBAClDC,OACAC,KACA;CACA,MAAM,EACJC,QAAQ,QACRC,OAAO,UACPC,YAAY,IACZC,UACAC,MACAC,eAAe,QACf,GAAGC,mBACDR;CAeJ,MAAMiB,oBAAoBpB,OAAOe;EAP/BC,OACE;EACFC,MAAM;EACNC,KAAK;EACLC,MAAM;CAGyBJ,EAAYV,QAAQO;EAZnDC,OAAO;EACPC,QAAQ;CAW2CF,EAAWN,KAAK;CAErE,MAAMe,iBAAiBpB,QACrB,8GACAmB,mBACAb,SACF;CAEA,OACE,qBAAC,UAAD;EAAQ,WAAWc;EAAqBjB;EAAK,GAAIO;EAAjD,UAAA;GACGD,iBAAiB,UAAUD;GAC3BD;GACAE,iBAAiB,WAAWD;EACvB;;AAEZ,CAAC;;;ACtCD,MAAaoB,eAA4CH;AACzD,MAAaI,sBAAsBH;AAEnC,MAAaI,sBAAsBH,yBAAW,SAASG,oBACrD,EAAEC,UAAU,GAAGC,kBACfC,cACA;CACA,OACE,oBAAC,QAAD,EAAA,UACE,oBAAC,SAAD;EAAS,GAAID;EAAgB,KAAKC;EAC/BF;CACM,CAAA,EACH,CAAA;AAEZ,CAAC;AAED,MAAaG,oBAAoBX;AACjC,MAAaY,mBAAmBb;;;AChChC,MAAac,YAAY;CACvB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CA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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { _ as WithDifference, f as FieldErrorHandling } from "./index-
|
|
2
|
-
import { n as TextInputProps } from "./text-input-
|
|
1
|
+
import { _ as WithDifference, f as FieldErrorHandling } from "./index-D99twPFI.js";
|
|
2
|
+
import { n as TextInputProps } from "./text-input-BSxhvnyx.js";
|
|
3
3
|
//#region src/ui/components/text-field/text-field.d.ts
|
|
4
4
|
type TextFieldProps = TextInputProps & FieldErrorHandling & WithDifference<string>;
|
|
5
5
|
declare const TextField: import("react").ForwardRefExoticComponent<TextInputProps & FieldErrorHandling & WithDifference<string> & import("react").RefAttributes<HTMLInputElement>>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { TextFieldProps as n, TextField as t };
|
|
8
8
|
export {};
|
|
9
|
-
//# sourceMappingURL=text-field-
|
|
9
|
+
//# sourceMappingURL=text-field-CtatgqNu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-field-
|
|
1
|
+
{"version":3,"file":"text-field-CtatgqNu.d.ts","names":[],"sources":["../src/ui/components/text-field/text-field.tsx"],"mappings":";;;KAMY,iBAAiB,iBAC3B,qBACA;cAEW,2BAAS,0BAAA,iBAAA,qBAAA,yCAAA,cAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as WithDifference, p as InputBaseProps, u as DiffMode } from "./index-
|
|
1
|
+
import { _ as WithDifference, p as InputBaseProps, u as DiffMode } from "./index-D99twPFI.js";
|
|
2
2
|
import { t as CommonTextProps } from "./types-BNTIrhb5.js";
|
|
3
3
|
//#region src/ui/components/text-input/text-input.d.ts
|
|
4
4
|
interface TextInputProps extends Omit<InputBaseProps<string> & Omit<React.InputHTMLAttributes<HTMLInputElement>, "pattern"> & CommonTextProps, "value" | "autoComplete">, Omit<WithDifference<string>, "diffMode"> {
|
|
@@ -10,4 +10,4 @@ declare const TextInput: import("react").ForwardRefExoticComponent<TextInputProp
|
|
|
10
10
|
//#endregion
|
|
11
11
|
export { TextInputProps as n, TextInput as t };
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=text-input-
|
|
13
|
+
//# sourceMappingURL=text-input-BSxhvnyx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input-
|
|
1
|
+
{"version":3,"file":"text-input-BSxhvnyx.d.ts","names":[],"sources":["../src/ui/components/text-input/text-input.tsx"],"mappings":";;;UAeU,uBAEN,KACE,yBACE,KAAK,MAAM,oBAAoB,gCAC/B,4CAGJ,KAAK;EACP;EACA;EACA,WAAW,QAAQ;;cAGf,2BAAS,0BAAA,iCAAA,cAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as WithDifference } from "./index-
|
|
1
|
+
import { _ as WithDifference } from "./index-D99twPFI.js";
|
|
2
2
|
//#region src/ui/components/text-input/text-input-diff.d.ts
|
|
3
3
|
interface TextInputDiffProps extends WithDifference<string> {
|
|
4
4
|
value: string;
|
|
@@ -9,4 +9,4 @@ declare const TextInputDiff: ({ value, label, required, baseValue, viewMode, dif
|
|
|
9
9
|
//#endregion
|
|
10
10
|
export { TextInputDiff as t };
|
|
11
11
|
export {};
|
|
12
|
-
//# sourceMappingURL=text-input-diff-
|
|
12
|
+
//# sourceMappingURL=text-input-diff-CaZoFDjA.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input-diff-
|
|
1
|
+
{"version":3,"file":"text-input-diff-CaZoFDjA.d.ts","names":[],"sources":["../src/ui/components/text-input/text-input-diff.tsx"],"mappings":";;UAKU,2BAA2B;EACnC;EACA,QAAQ,MAAM;EACd;;cAEI,kBAAa,OAAA,OAAA,UAAA,WAAA,UAAA,YAOhB,mDAAkB,IAAA"}
|