polkahub 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AddressInput.js +2 -10
- package/dist/AddressInput.js.map +1 -1
- package/dist/PolkaHubModal.js +2 -1
- package/dist/PolkaHubModal.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/index.css +2 -0
- package/package.json +14 -14
package/dist/AddressInput.js
CHANGED
|
@@ -3,7 +3,7 @@ import { useAvailableAccounts, AddressIdentity } from '@polkahub/context';
|
|
|
3
3
|
import { AddressInput as AddressInput$1 } from '@polkahub/ui-components';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
|
|
6
|
-
const AddressInput = (
|
|
6
|
+
const AddressInput = (props) => {
|
|
7
7
|
const availableAccounts = useAvailableAccounts();
|
|
8
8
|
const hints = useMemo(() => {
|
|
9
9
|
const addressToAccounts = {};
|
|
@@ -22,19 +22,11 @@ const AddressInput = ({ maxAddrLength, ...props }) => {
|
|
|
22
22
|
AddressInput$1,
|
|
23
23
|
{
|
|
24
24
|
hinted: Object.values(hints).flat(),
|
|
25
|
-
renderAddress: (account) => typeof account === "string" ? /* @__PURE__ */ jsx(
|
|
26
|
-
AddressIdentity,
|
|
27
|
-
{
|
|
28
|
-
addr: account,
|
|
29
|
-
maxAddrLength,
|
|
30
|
-
copyable: false
|
|
31
|
-
}
|
|
32
|
-
) : /* @__PURE__ */ jsx(
|
|
25
|
+
renderAddress: (account) => typeof account === "string" ? /* @__PURE__ */ jsx(AddressIdentity, { addr: account, copyable: false }) : /* @__PURE__ */ jsx(
|
|
33
26
|
AddressIdentity,
|
|
34
27
|
{
|
|
35
28
|
addr: account.address,
|
|
36
29
|
name: account?.name,
|
|
37
|
-
maxAddrLength,
|
|
38
30
|
copyable: false
|
|
39
31
|
}
|
|
40
32
|
),
|
package/dist/AddressInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressInput.js","sources":["../src/AddressInput.tsx"],"sourcesContent":["import { AddressIdentity, useAvailableAccounts } from \"@polkahub/context\";\nimport { Account, AccountAddress } from \"@polkahub/plugin\";\nimport { AddressInput as AddressInputComponent } from \"@polkahub/ui-components\";\nimport { FC, useMemo } from \"react\";\n\nexport const AddressInput: FC<{\n value?: AccountAddress | null;\n onChange?: (value: AccountAddress | null) => void;\n disableClear?: boolean;\n className?: string;\n triggerClassName?: string;\n
|
|
1
|
+
{"version":3,"file":"AddressInput.js","sources":["../src/AddressInput.tsx"],"sourcesContent":["import { AddressIdentity, useAvailableAccounts } from \"@polkahub/context\";\nimport { Account, AccountAddress } from \"@polkahub/plugin\";\nimport { AddressInput as AddressInputComponent } from \"@polkahub/ui-components\";\nimport { FC, useMemo } from \"react\";\n\nexport const AddressInput: FC<{\n value?: AccountAddress | null;\n onChange?: (value: AccountAddress | null) => void;\n disableClear?: boolean;\n className?: string;\n triggerClassName?: string;\n}> = (props) => {\n const availableAccounts = useAvailableAccounts();\n\n const hints = useMemo(() => {\n const addressToAccounts: Record<AccountAddress, Account[]> = {};\n Object.values(availableAccounts)\n .flat()\n .forEach((acc) => {\n addressToAccounts[acc.address] ??= [];\n addressToAccounts[acc.address].push(acc);\n });\n\n return Object.values(addressToAccounts).map((group) =>\n group.reduce((acc, v) =>\n (v.name?.length ?? 0) > (acc.name?.length ?? 0) ? v : acc\n )\n );\n }, [availableAccounts]);\n\n return (\n <AddressInputComponent\n hinted={Object.values(hints).flat()}\n renderAddress={(account: Account | string) =>\n typeof account === \"string\" ? (\n <AddressIdentity addr={account} copyable={false} />\n ) : (\n <AddressIdentity\n addr={account.address}\n name={account?.name}\n copyable={false}\n />\n )\n }\n {...props}\n />\n );\n};\n"],"names":["AddressInputComponent"],"mappings":";;;;;AAKO,MAAM,YAAA,GAMR,CAAC,KAAA,KAAU;AACd,EAAA,MAAM,oBAAoB,oBAAA,EAAqB;AAE/C,EAAA,MAAM,KAAA,GAAQ,QAAQ,MAAM;AAC1B,IAAA,MAAM,oBAAuD,EAAC;AAC9D,IAAA,MAAA,CAAO,OAAO,iBAAiB,CAAA,CAC5B,MAAK,CACL,OAAA,CAAQ,CAAC,GAAA,KAAQ;AAlBxB,MAAA,IAAA,EAAA;AAmBQ,MAAA,iBAAA,CAAA,EAAA,GAAkB,GAAA,CAAI,OAAA,CAAA,KAAtB,iBAAA,CAAA,EAAA,CAAA,GAAmC,EAAC,CAAA;AACpC,MAAA,iBAAA,CAAkB,GAAA,CAAI,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAAA,IACzC,CAAC,CAAA;AAEH,IAAA,OAAO,MAAA,CAAO,MAAA,CAAO,iBAAiB,CAAA,CAAE,GAAA;AAAA,MAAI,CAAC,UAC3C,KAAA,CAAM,MAAA;AAAA,QAAO,CAAC,GAAA,EAAK,CAAA,KAAA,CAChB,CAAA,CAAE,IAAA,EAAM,MAAA,IAAU,CAAA,KAAM,GAAA,CAAI,IAAA,EAAM,MAAA,IAAU,CAAA,CAAA,GAAK,CAAA,GAAI;AAAA;AACxD,KACF;AAAA,EACF,CAAA,EAAG,CAAC,iBAAiB,CAAC,CAAA;AAEtB,EAAA,uBACE,GAAA;AAAA,IAACA,cAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,KAAK,EAAE,IAAA,EAAK;AAAA,MAClC,aAAA,EAAe,CAAC,OAAA,KACd,OAAO,OAAA,KAAY,QAAA,mBACjB,GAAA,CAAC,eAAA,EAAA,EAAgB,IAAA,EAAM,OAAA,EAAS,QAAA,EAAU,KAAA,EAAO,CAAA,mBAEjD,GAAA;AAAA,QAAC,eAAA;AAAA,QAAA;AAAA,UACC,MAAM,OAAA,CAAQ,OAAA;AAAA,UACd,MAAM,OAAA,EAAS,IAAA;AAAA,UACf,QAAA,EAAU;AAAA;AAAA,OACZ;AAAA,MAGH,GAAG;AAAA;AAAA,GACN;AAEJ;;;;"}
|
package/dist/PolkaHubModal.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { usePlugin, ModalContext } from '@polkahub/context';
|
|
3
|
+
import { addrEq } from '@polkahub/plugin';
|
|
3
4
|
import { SelectedAccountButton, selectedAccountPluginId } from '@polkahub/select-account';
|
|
4
5
|
import { Dialog, DialogTrigger, DialogContent, DialogHeader, Button, DialogTitle, DialogBody } from '@polkahub/ui-components';
|
|
5
6
|
import { state, useStateObservable } from '@react-rxjs/core';
|
|
@@ -29,7 +30,7 @@ const PolkaHubModal = ({ children, buttonProps, className, title = "Connect" })
|
|
|
29
30
|
prev = acc;
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
|
-
if (prev
|
|
33
|
+
if (addrEq(prev?.address, acc?.address)) return;
|
|
33
34
|
prev = acc;
|
|
34
35
|
if (acc) contextValue.closeModal();
|
|
35
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolkaHubModal.js","sources":["../src/PolkaHubModal.tsx"],"sourcesContent":["import { ModalContext, usePlugin } from \"@polkahub/context\";\nimport { Account } from \"@polkahub/plugin\";\nimport {\n SelectedAccountButton,\n SelectedAccountPlugin,\n selectedAccountPluginId,\n} from \"@polkahub/select-account\";\nimport {\n Button,\n Dialog,\n DialogBody,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@polkahub/ui-components\";\nimport { state, useStateObservable } from \"@react-rxjs/core\";\nimport { createSignal } from \"@react-rxjs/utils\";\nimport { ChevronLeft } from \"lucide-react\";\nimport {\n ComponentProps,\n FC,\n PropsWithChildren,\n ReactNode,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\n// For lazy-loading optimizations\nexport const PolkaHubModalTrigger: FC = () => <SelectedAccountButton loading />;\n\nconst [openChange$, setOpen] = createSignal<boolean>();\nexport const openSelectAccount = () => setOpen(true);\nconst open$ = state(openChange$, false);\nconst close = () => setOpen(false);\n\nexport const PolkaHubModal: FC<\n PropsWithChildren<{\n className?: string;\n buttonProps?: ComponentProps<typeof SelectedAccountButton>;\n title?: string;\n }>\n> = ({ children, buttonProps, className, title = \"Connect\" }) => {\n const open = useStateObservable(open$);\n const selectedAccountPlugin = usePlugin<SelectedAccountPlugin>(\n selectedAccountPluginId\n );\n\n const { contentStack, contextValue } = usePolkaHubModalState(close);\n const activeContent = contentStack.length\n ? contentStack[contentStack.length - 1]\n : null;\n\n useEffect(() => {\n if (!selectedAccountPlugin) return;\n\n let first = true;\n let prev: Account | null = null;\n const sub = selectedAccountPlugin.selectedAccount$.subscribe((acc) => {\n if (first) {\n first = false;\n prev = acc;\n return;\n }\n if (prev
|
|
1
|
+
{"version":3,"file":"PolkaHubModal.js","sources":["../src/PolkaHubModal.tsx"],"sourcesContent":["import { ModalContext, usePlugin } from \"@polkahub/context\";\nimport { Account, addrEq } from \"@polkahub/plugin\";\nimport {\n SelectedAccountButton,\n SelectedAccountPlugin,\n selectedAccountPluginId,\n} from \"@polkahub/select-account\";\nimport {\n Button,\n Dialog,\n DialogBody,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@polkahub/ui-components\";\nimport { state, useStateObservable } from \"@react-rxjs/core\";\nimport { createSignal } from \"@react-rxjs/utils\";\nimport { ChevronLeft } from \"lucide-react\";\nimport {\n ComponentProps,\n FC,\n PropsWithChildren,\n ReactNode,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\n// For lazy-loading optimizations\nexport const PolkaHubModalTrigger: FC = () => <SelectedAccountButton loading />;\n\nconst [openChange$, setOpen] = createSignal<boolean>();\nexport const openSelectAccount = () => setOpen(true);\nconst open$ = state(openChange$, false);\nconst close = () => setOpen(false);\n\nexport const PolkaHubModal: FC<\n PropsWithChildren<{\n className?: string;\n buttonProps?: ComponentProps<typeof SelectedAccountButton>;\n title?: string;\n }>\n> = ({ children, buttonProps, className, title = \"Connect\" }) => {\n const open = useStateObservable(open$);\n const selectedAccountPlugin = usePlugin<SelectedAccountPlugin>(\n selectedAccountPluginId\n );\n\n const { contentStack, contextValue } = usePolkaHubModalState(close);\n const activeContent = contentStack.length\n ? contentStack[contentStack.length - 1]\n : null;\n\n useEffect(() => {\n if (!selectedAccountPlugin) return;\n\n let first = true;\n let prev: Account | null = null;\n const sub = selectedAccountPlugin.selectedAccount$.subscribe((acc) => {\n if (first) {\n first = false;\n prev = acc;\n return;\n }\n if (addrEq(prev?.address, acc?.address)) return;\n prev = acc;\n // Only close when setting an account, not when resetting it.\n if (acc) contextValue.closeModal();\n });\n\n return () => sub.unsubscribe();\n }, [selectedAccountPlugin, contextValue]);\n\n return (\n <Dialog\n open={open}\n onOpenChange={(open) =>\n open ? setOpen(true) : contextValue.closeModal()\n }\n >\n <DialogTrigger asChild>\n <SelectedAccountButton className={className} {...buttonProps} />\n </DialogTrigger>\n <DialogContent\n onInteractOutside={(evt) => {\n if (\n evt.target instanceof HTMLElement &&\n evt.target.tagName === \"WCM-MODAL\"\n )\n evt.preventDefault();\n }}\n >\n <DialogHeader className=\"flex-row items-center\">\n {contentStack.length ? (\n <Button\n className=\"has-[>svg]:px-1\"\n type=\"button\"\n variant=\"ghost\"\n onClick={() => contextValue.popContent()}\n >\n <ChevronLeft />\n </Button>\n ) : null}\n <DialogTitle>{activeContent?.title ?? title}</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <ModalContext value={contextValue}>\n {activeContent ? (\n activeContent.element\n ) : (\n <div className=\"space-y-4\">{children}</div>\n )}\n </ModalContext>\n </DialogBody>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport const usePolkaHubModalState = (onClose?: () => void) => {\n const [contentStack, setContentStack] = useState<\n { title?: string; element: ReactNode }[]\n >([]);\n\n const contextValue = useMemo(() => {\n const ctx: ModalContext = {\n replaceContent: (element: { title?: string; element: ReactNode }) =>\n element == null\n ? ctx.popContent()\n : setContentStack((stack) => {\n const newStack = [...stack];\n const i = Math.max(newStack.length - 1, 0);\n newStack[i] = element;\n return newStack;\n }),\n pushContent: (element: { title?: string; element: ReactNode }) =>\n setContentStack((stack) =>\n element == null ? stack : [...stack, element]\n ),\n popContent: () =>\n setContentStack((stack) => {\n const newStack = [...stack];\n newStack.pop();\n return newStack;\n }),\n closeModal: () => {\n // Remove stack after small duration, otherwise the content might flash as the dialog is transitioning away\n setTimeout(() => setContentStack([]), 250);\n onClose?.();\n },\n };\n return ctx;\n }, [onClose]);\n return { contentStack, contextValue, setContentStack };\n};\n"],"names":["open"],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
package/index.css
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polkahub",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -26,19 +26,19 @@
|
|
|
26
26
|
"@react-rxjs/core": "^0.10.8",
|
|
27
27
|
"@react-rxjs/utils": "^0.9.7",
|
|
28
28
|
"lucide-react": "^0.552.0",
|
|
29
|
-
"@polkahub/context": "0.
|
|
30
|
-
"@polkahub/
|
|
31
|
-
"@polkahub/
|
|
32
|
-
"@polkahub/
|
|
33
|
-
"@polkahub/
|
|
34
|
-
"@polkahub/
|
|
35
|
-
"@polkahub/
|
|
36
|
-
"@polkahub/
|
|
37
|
-
"@polkahub/select-account": "0.
|
|
38
|
-
"@polkahub/
|
|
39
|
-
"@polkahub/
|
|
40
|
-
"@polkahub/
|
|
41
|
-
"@polkahub/
|
|
29
|
+
"@polkahub/context": "0.3.0",
|
|
30
|
+
"@polkahub/pjs-wallet": "0.3.0",
|
|
31
|
+
"@polkahub/read-only": "0.3.0",
|
|
32
|
+
"@polkahub/ledger": "0.3.0",
|
|
33
|
+
"@polkahub/proxy": "0.3.0",
|
|
34
|
+
"@polkahub/vault": "0.3.0",
|
|
35
|
+
"@polkahub/mimir": "0.3.0",
|
|
36
|
+
"@polkahub/multisig": "0.3.0",
|
|
37
|
+
"@polkahub/select-account": "0.3.0",
|
|
38
|
+
"@polkahub/ui-components": "0.3.0",
|
|
39
|
+
"@polkahub/wallet-connect": "0.3.0",
|
|
40
|
+
"@polkahub/plugin": "0.3.0",
|
|
41
|
+
"@polkahub/state": "0.3.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@types/react": "^19.2.2",
|