@powerhousedao/design-system 1.4.2 → 1.5.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/assets/icon-components/ArrowFilledRight.js.map +1 -1
- package/dist/assets/icon-components/ArrowLeft.js.map +1 -1
- package/dist/assets/icon-components/ArrowUp.js.map +1 -1
- package/dist/assets/icon-components/BarChart.js.map +1 -1
- package/dist/assets/icon-components/BaseArrowLeft.js.map +1 -1
- package/dist/assets/icon-components/BaseArrowRight.js.map +1 -1
- package/dist/assets/icon-components/Braces.js.map +1 -1
- package/dist/assets/icon-components/Branch.js.map +1 -1
- package/dist/assets/icon-components/BrickGlobe.js.map +1 -1
- package/dist/assets/icon-components/Briefcase.js.map +1 -1
- package/dist/assets/icon-components/Calendar.js.map +1 -1
- package/dist/assets/icon-components/Caret.js.map +1 -1
- package/dist/assets/icon-components/CaretDown.js.map +1 -1
- package/dist/assets/icon-components/Check.js.map +1 -1
- package/dist/assets/icon-components/CheckCircle.js.map +1 -1
- package/dist/assets/icon-components/CheckCircleFill.js.map +1 -1
- package/dist/assets/icon-components/ChevronDown.js.map +1 -1
- package/dist/assets/icon-components/Circle.js.map +1 -1
- package/dist/assets/icon-components/ClockFill.js.map +1 -1
- package/dist/assets/icon-components/CloudSlash.js.map +1 -1
- package/dist/assets/icon-components/Collapse.js.map +1 -1
- package/dist/assets/icon-components/Connect.js.map +1 -1
- package/dist/assets/icon-components/Drive.js.map +1 -1
- package/dist/assets/icon-components/Ellipsis.js.map +1 -1
- package/dist/assets/icon-components/Error.js.map +1 -1
- package/dist/assets/icon-components/Exclamation.js.map +1 -1
- package/dist/assets/icon-components/FilesEarmark.js.map +1 -1
- package/dist/assets/icon-components/FolderClose.js.map +1 -1
- package/dist/assets/icon-components/FolderOpen.js.map +1 -1
- package/dist/assets/icon-components/FolderPlus.js.map +1 -1
- package/dist/assets/icon-components/Gear.js.map +1 -1
- package/dist/assets/icon-components/Globe.js.map +1 -1
- package/dist/assets/icon-components/Hdd.js.map +1 -1
- package/dist/assets/icon-components/History.js.map +1 -1
- package/dist/assets/icon-components/InfoSquare.js.map +1 -1
- package/dist/assets/icon-components/Link.js.map +1 -1
- package/dist/assets/icon-components/Lock.js.map +1 -1
- package/dist/assets/icon-components/M.js.map +1 -1
- package/dist/assets/icon-components/Pencil.js.map +1 -1
- package/dist/assets/icon-components/People.js.map +1 -1
- package/dist/assets/icon-components/Person.js.map +1 -1
- package/dist/assets/icon-components/Plus.js.map +1 -1
- package/dist/assets/icon-components/PlusCircle.js.map +1 -1
- package/dist/assets/icon-components/PowerhouseLogoSmall.js.map +1 -1
- package/dist/assets/icon-components/Project.js.map +1 -1
- package/dist/assets/icon-components/RedoArrow.js.map +1 -1
- package/dist/assets/icon-components/Renown.js.map +1 -1
- package/dist/assets/icon-components/RenownHover.js.map +1 -1
- package/dist/assets/icon-components/Ring.js.map +1 -1
- package/dist/assets/icon-components/Save.js.map +1 -1
- package/dist/assets/icon-components/Search.js.map +1 -1
- package/dist/assets/icon-components/Server.js.map +1 -1
- package/dist/assets/icon-components/Settings.js.map +1 -1
- package/dist/assets/icon-components/Synced.js.map +1 -1
- package/dist/assets/icon-components/Syncing.js.map +1 -1
- package/dist/assets/icon-components/Trash.js.map +1 -1
- package/dist/assets/icon-components/TrashFill.js.map +1 -1
- package/dist/assets/icon-components/VariantArrowLeft.js.map +1 -1
- package/dist/assets/icon-components/VerticalDots.js.map +1 -1
- package/dist/assets/icon-components/WarningFill.js.map +1 -1
- package/dist/assets/icon-components/Xmark.js.map +1 -1
- package/dist/assets/icon-components/XmarkLight.js.map +1 -1
- package/dist/connect/components/animated-loader/animated-loader.js.map +1 -1
- package/dist/connect/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/connect/components/combobox/combobox.js.map +1 -1
- package/dist/connect/components/cookie-banner/cookie-banner.js.map +1 -1
- package/dist/connect/components/date-time-input/date-time-local-input.js.map +1 -1
- package/dist/connect/components/default-editor-loader/default-editor-loader.js.map +1 -1
- package/dist/connect/components/disclosure/disclosure.js.map +1 -1
- package/dist/connect/components/divider/divider.js.map +1 -1
- package/dist/connect/components/document-toolbar/document-toolbar.js.map +1 -1
- package/dist/connect/components/drive-view/drive-view.js.map +1 -1
- package/dist/connect/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/connect/components/editor-action-buttons/editor-action-buttons.js.map +1 -1
- package/dist/connect/components/editor-undo-redo-buttons/editor-undo-redo-buttons.js.map +1 -1
- package/dist/connect/components/ens-avatar/ens-avatar.js.map +1 -1
- package/dist/connect/components/file-item/file-item.js +7 -7
- package/dist/connect/components/file-item/file-item.js.map +1 -1
- package/dist/connect/components/folder-item/folder-item.js.map +1 -1
- package/dist/connect/components/footer/footer-link.js.map +1 -1
- package/dist/connect/components/footer/footer.js.map +1 -1
- package/dist/connect/components/form/add-local-drive-form.js.map +1 -1
- package/dist/connect/components/form/add-remote-drive-form.js.map +1 -1
- package/dist/connect/components/form/drive-settings-form.js.map +1 -1
- package/dist/connect/components/form/inputs/available-offline-toggle.js.map +1 -1
- package/dist/connect/components/form/inputs/delete-drive.js.map +1 -1
- package/dist/connect/components/form/inputs/drive-name-input.js.map +1 -1
- package/dist/connect/components/form/inputs/drive-name.js.map +1 -1
- package/dist/connect/components/form/inputs/label.js.map +1 -1
- package/dist/connect/components/form/inputs/location-info.js.map +1 -1
- package/dist/connect/components/form/inputs/sharing-type-form-input.js.map +1 -1
- package/dist/connect/components/form-input/form-input.js.map +1 -1
- package/dist/connect/components/loading-screen/loading-screen.js.map +1 -1
- package/dist/connect/components/modal/add-local-drive-modal.js.map +1 -1
- package/dist/connect/components/modal/add-remote-drive-modal.js.map +1 -1
- package/dist/connect/components/modal/confirmation-modal.js.map +1 -1
- package/dist/connect/components/modal/create-document-modal.js +28 -24
- package/dist/connect/components/modal/create-document-modal.js.map +1 -1
- package/dist/connect/components/modal/delete-drive-modal.js.map +1 -1
- package/dist/connect/components/modal/delete-item-modal.js.map +1 -1
- package/dist/connect/components/modal/drive-settings-modal.js.map +1 -1
- package/dist/connect/components/modal/read-required-modal.js.map +1 -1
- package/dist/connect/components/modal/settings-modal/clear-storage-row.js.map +1 -1
- package/dist/connect/components/modal/settings-modal/dependency-versions/dependency-versions.js.map +1 -1
- package/dist/connect/components/modal/settings-modal/document-select-row.js.map +1 -1
- package/dist/connect/components/modal/settings-modal/row.js.map +1 -1
- package/dist/connect/components/modal/settings-modal/settings-modal.js.map +1 -1
- package/dist/connect/components/modal/upgrade-drive-modal.js.map +1 -1
- package/dist/connect/components/node-input/node-input.js.map +1 -1
- package/dist/connect/components/revision-history/header/branch.js.map +1 -1
- package/dist/connect/components/revision-history/header/doc-id.js.map +1 -1
- package/dist/connect/components/revision-history/header/header.js.map +1 -1
- package/dist/connect/components/revision-history/header/scope.js.map +1 -1
- package/dist/connect/components/revision-history/revision/address.js.map +1 -1
- package/dist/connect/components/revision-history/revision/errors.js.map +1 -1
- package/dist/connect/components/revision-history/revision/operation.js.map +1 -1
- package/dist/connect/components/revision-history/revision/revision-number.js.map +1 -1
- package/dist/connect/components/revision-history/revision/revision.js.map +1 -1
- package/dist/connect/components/revision-history/revision/signature.js.map +1 -1
- package/dist/connect/components/revision-history/revision/timestamp.js.map +1 -1
- package/dist/connect/components/revision-history/revision-history.js.map +1 -1
- package/dist/connect/components/revision-history/skip/skip.js.map +1 -1
- package/dist/connect/components/revision-history/timeline/day.js.map +1 -1
- package/dist/connect/components/revision-history/timeline/timeline.js.map +1 -1
- package/dist/connect/components/revision-history/utils.js.map +1 -1
- package/dist/connect/components/search-bar/filter-item.js.map +1 -1
- package/dist/connect/components/search-bar/search-bar.js.map +1 -1
- package/dist/connect/components/select/select.js.map +1 -1
- package/dist/connect/components/sidebar/sidebar-footer.js.map +1 -1
- package/dist/connect/components/sidebar/sidebar-header.js.map +1 -1
- package/dist/connect/components/sidebar/sidebar-login.js.map +1 -1
- package/dist/connect/components/sidebar/sidebar-user.js.map +1 -1
- package/dist/connect/components/sidebar/sidebar.js.map +1 -1
- package/dist/connect/components/status-icon/sync-status-icon.js.map +1 -1
- package/dist/connect/components/toast/toast.js.map +1 -1
- package/dist/connect/components/toggle/toggle.js.map +1 -1
- package/dist/connect/components/tooltip/tooltip.js.map +1 -1
- package/dist/connect/components/tree-view/drop-indicator.js.map +1 -1
- package/dist/connect/components/tree-view/tree-view.js.map +1 -1
- package/dist/connect/constants/options.js.map +1 -1
- package/dist/connect/context/UiNodesContext.js.map +1 -1
- package/dist/connect/context/WagmiContext.js.map +1 -1
- package/dist/connect/hooks/drag-and-drop/use-drag.js.map +1 -1
- package/dist/connect/hooks/drag-and-drop/use-drop.js.map +1 -1
- package/dist/connect/utils/get-folder-status.js.map +1 -1
- package/dist/powerhouse/components/button/button.js.map +1 -1
- package/dist/powerhouse/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/powerhouse/components/icon/icon.js.map +1 -1
- package/dist/powerhouse/components/legacy/editorToolbar.js.map +1 -1
- package/dist/powerhouse/components/legacy/editorWorksheet.js.map +1 -1
- package/dist/powerhouse/components/legacy/styles.js.map +1 -1
- package/dist/powerhouse/components/legacy/stylesVariant.js.map +1 -1
- package/dist/powerhouse/components/legacy/textInput.js.map +1 -1
- package/dist/powerhouse/components/legacy/textInputVariant.js.map +1 -1
- package/dist/powerhouse/components/legacy/toolbarButton.js.map +1 -1
- package/dist/powerhouse/components/modal/modal.js.map +1 -1
- package/dist/powerhouse/components/pagination/pagination-button.js.map +1 -1
- package/dist/powerhouse/components/pagination/pagination.js.map +1 -1
- package/dist/powerhouse/components/sidebar/sidebar-panel.js.map +1 -1
- package/dist/powerhouse/components/sidebar/sidebar.js.map +1 -1
- package/dist/powerhouse/hooks/animation.js.map +1 -1
- package/dist/powerhouse/hooks/reducer.js.map +1 -1
- package/dist/powerhouse/hooks/usePagination.js.map +1 -1
- package/dist/powerhouse/utils/getDimensions.js.map +1 -1
- package/dist/powerhouse/utils/mergeClassNameProps.js.map +1 -1
- package/dist/rwa/components/button/button.js.map +1 -1
- package/dist/rwa/components/editor/editor.js.map +1 -1
- package/dist/rwa/components/inputs/form-inputs.js.map +1 -1
- package/dist/rwa/components/inputs/form-row.js.map +1 -1
- package/dist/rwa/components/inputs/number-input.js.map +1 -1
- package/dist/rwa/components/inputs/select.js.map +1 -1
- package/dist/rwa/components/inputs/text-input.js.map +1 -1
- package/dist/rwa/components/modal/create-item-modal.js.map +1 -1
- package/dist/rwa/components/modal/delete-item-modal.js.map +1 -1
- package/dist/rwa/components/modal/modal-form-inputs.js.map +1 -1
- package/dist/rwa/components/modal/modal-manager.js.map +1 -1
- package/dist/rwa/components/table/accounts/accounts-table.js.map +1 -1
- package/dist/rwa/components/table/assets/assets-table.js.map +1 -1
- package/dist/rwa/components/table/base/formatted-number.js.map +1 -1
- package/dist/rwa/components/table/base/header-label.js.map +1 -1
- package/dist/rwa/components/table/base/item-details.js.map +1 -1
- package/dist/rwa/components/table/base/table-base.js.map +1 -1
- package/dist/rwa/components/table/base/table-cell.js.map +1 -1
- package/dist/rwa/components/table/base/table-row.js.map +1 -1
- package/dist/rwa/components/table/base/table-with-form.js.map +1 -1
- package/dist/rwa/components/table/base/table.js.map +1 -1
- package/dist/rwa/components/table/transactions/cash-balance-change.js.map +1 -1
- package/dist/rwa/components/table/transactions/fee-transactions-table.js.map +1 -1
- package/dist/rwa/components/table/transactions/group-transactions-table.js.map +1 -1
- package/dist/rwa/components/table/transactions/transaction-reference.js.map +1 -1
- package/dist/rwa/components/table/transactions/unit-price.js.map +1 -1
- package/dist/rwa/components/tabs/other-tab.js.map +1 -1
- package/dist/rwa/components/tabs/portfolio-tab.js.map +1 -1
- package/dist/rwa/components/tabs/tab-content.js.map +1 -1
- package/dist/rwa/components/tabs/tabs.js.map +1 -1
- package/dist/rwa/components/tabs/transactions-tab.js.map +1 -1
- package/dist/rwa/constants/columns.js.map +1 -1
- package/dist/rwa/constants/dependent-items.js.map +1 -1
- package/dist/rwa/constants/table.js.map +1 -1
- package/dist/rwa/context/editor-context.js.map +1 -1
- package/dist/rwa/hooks/useColumnPriority.js.map +1 -1
- package/dist/rwa/hooks/useDefaultFormValues.js.map +1 -1
- package/dist/rwa/hooks/useFormInputs.js.map +1 -1
- package/dist/rwa/hooks/useSortTableItems.js.map +1 -1
- package/dist/rwa/hooks/useSubmit.js.map +1 -1
- package/dist/rwa/hooks/useTableData.js.map +1 -1
- package/dist/rwa/hooks/useTableForm.js.map +1 -1
- package/dist/rwa/hooks/useTableHeight.js.map +1 -1
- package/dist/rwa/utils/calculations.js.map +1 -1
- package/dist/rwa/utils/date.js.map +1 -1
- package/dist/rwa/utils/table.js.map +1 -1
- package/dist/services/wagmi.js.map +1 -1
- package/dist/shared-tailwind.config.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormInputs.js","sources":["../../../src/rwa/hooks/useFormInputs.tsx"],"sourcesContent":["import { DateTimeLocalInput } from \"@/connect\";\nimport {\n Account,\n allGroupTransactionTypes,\n assetGroupTransactions,\n feesTransactions,\n FeeTransactionsTable,\n formatDateForDisplay,\n FormInputsByTableName,\n groupTransactionTypeLabels,\n handleTableDatum,\n makeFixedIncomeOptionLabel,\n Operation,\n RWANumberInput,\n RWATableSelect,\n RWATableTextInput,\n TableItemType,\n TableName,\n tableNames,\n TransactionReference,\n UnitPrice,\n useEditorContext,\n useModal,\n} from \"@/rwa\";\nimport { ReactElement, useCallback, useMemo } from \"react\";\nimport {\n Control,\n FormState,\n UseFormRegister,\n UseFormWatch,\n} from \"react-hook-form\";\nimport { CashBalanceChange } from \"../components/table/transactions/cash-balance-change\";\n\ntype Input = {\n label: string;\n Input: () => string | React.JSX.Element;\n inputLabel?: string | null;\n};\n\ntype Props = {\n tableName: TableName;\n tableItem: TableItemType<TableName> | undefined | null;\n operation: Operation;\n formState: FormState<FormInputsByTableName[TableName]>;\n register: UseFormRegister<FormInputsByTableName[TableName]>;\n watch: UseFormWatch<FormInputsByTableName[TableName]>;\n control: Control<FormInputsByTableName[TableName]>;\n};\nexport function useFormInputs(props: Props): {\n inputs: Input[];\n additionalInputs?: ReactElement;\n} {\n const {\n tableName,\n operation,\n formState: _formState,\n tableItem: _tableItem,\n register: _register,\n watch: _watch,\n control: _control,\n } = props;\n const {\n fixedIncomeTypes,\n spvs,\n serviceProviderFeeTypes,\n accounts,\n fixedIncomes,\n } = useEditorContext();\n const { showModal } = useModal();\n\n const showCreateItemModal = useCallback(\n (tableName: TableName) => () => {\n showModal(\"createItem\", { tableName });\n },\n [showModal],\n );\n\n return useMemo(() => {\n switch (tableName) {\n case tableNames.ASSET: {\n const tableItem = _tableItem as TableItemType<\"ASSET\"> | null;\n type Payload = FormInputsByTableName[\"ASSET\"];\n const register = _register as UseFormRegister<Payload>;\n const watch = _watch as UseFormWatch<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n const control = _control as Control<Payload>;\n const derivedInputsToDisplay =\n operation !== \"create\" && !!tableItem\n ? [\n {\n label: \"Notional\",\n Input: () => <>{handleTableDatum(tableItem.notional)}</>,\n },\n {\n label: \"Purchase Date\",\n Input: () => <>{handleTableDatum(tableItem.purchaseDate)}</>,\n },\n {\n label: \"Purchase Price\",\n Input: () => (\n <>{handleTableDatum(tableItem.purchasePrice, 6)}</>\n ),\n },\n {\n label: \"Purchase Proceeds\",\n Input: () => (\n <>{handleTableDatum(tableItem.purchaseProceeds)}</>\n ),\n },\n ]\n : [];\n\n const maturityInputValue =\n operation === \"view\" && tableItem\n ? tableItem.maturity\n : watch(\"maturity\") || tableItem?.maturity;\n\n const inputs = [\n {\n label: \"Asset Name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"Asset name is required\",\n })}\n aria-invalid={errors.name ? \"true\" : \"false\"}\n errorMessage={errors.name?.message}\n inputClassName=\"text-left\"\n placeholder=\"E.g. My Asset\"\n />\n ),\n },\n {\n label: \"CUSIP\",\n Input: () =>\n operation === \"view\" ? (\n (tableItem?.CUSIP ?? \"Not available\")\n ) : (\n <RWATableTextInput\n {...register(\"CUSIP\", {\n maxLength: {\n value: 9,\n message: \"CUSIP cannot be longer than 9 characters\",\n },\n minLength: {\n value: 9,\n message: \"CUSIP cannot be shorter than 9 characters\",\n },\n pattern: {\n value: /^[a-zA-Z0-9]*$/,\n message: \"CUSIP must be alphanumeric\",\n },\n })}\n aria-invalid={errors.CUSIP ? \"true\" : \"false\"}\n errorMessage={errors.CUSIP?.message}\n placeholder=\"E.g. A2345B789\"\n />\n ),\n },\n {\n label: \"ISIN\",\n Input: () =>\n operation === \"view\" ? (\n (tableItem?.ISIN ?? \"Not available\")\n ) : (\n <RWATableTextInput\n {...register(\"ISIN\", {\n maxLength: {\n value: 12,\n message: \"ISIN cannot be longer than 12 characters\",\n },\n minLength: {\n value: 12,\n message: \"ISIN cannot be shorter than 12 characters\",\n },\n pattern: {\n value: /^[a-zA-Z0-9]*$/,\n message: \"ISIN must be alphanumeric\",\n },\n })}\n aria-invalid={errors.ISIN ? \"true\" : \"false\"}\n errorMessage={errors.ISIN?.message}\n placeholder=\"E.g. 123456789ABC\"\n />\n ),\n },\n {\n label: \"Maturity\",\n Input: () => (\n <DateTimeLocalInput\n {...register(\"maturity\", {\n disabled: operation === \"view\",\n setValueAs: (value) => {\n if (value === \"\") return null;\n return value as string;\n },\n })}\n inputType=\"date\"\n name=\"maturity\"\n />\n ),\n inputLabel: maturityInputValue\n ? formatDateForDisplay(maturityInputValue, true)\n : null,\n },\n {\n label: \"Asset Type\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"ASSET\"),\n label: \"Create Fixed Income Type\",\n }}\n aria-invalid={errors.fixedIncomeTypeId ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.fixedIncomeTypeId?.message}\n name=\"fixedIncomeTypeId\"\n options={fixedIncomeTypes.map((t) => ({\n ...t,\n value: t.id,\n label: t.name,\n }))}\n rules={{ required: \"Asset type is required\" }}\n />\n ),\n },\n {\n label: \"SPV\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"SPV\"),\n label: \"Create SPV\",\n }}\n aria-invalid={errors.spvId ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.spvId?.message}\n name=\"spvId\"\n options={spvs.map((t) => ({\n ...t,\n value: t.id,\n label: t.name,\n }))}\n rules={{ required: \"SPV is required\" }}\n />\n ),\n },\n ...derivedInputsToDisplay,\n ];\n\n return { inputs };\n }\n case tableNames.TRANSACTION: {\n type Payload = FormInputsByTableName[\"TRANSACTION\"];\n const register = _register as UseFormRegister<Payload>;\n const watch = _watch as UseFormWatch<Payload>;\n const { errors } = _formState as FormState<Payload>;\n const control = _control as Control<Payload>;\n const type = watch(\"type\");\n const entryTimeInputValue =\n watch(\"entryTime\") ?? new Date().toISOString();\n const isFeesTransaction = !!type && feesTransactions.includes(type);\n const isAssetTransaction =\n !!type && assetGroupTransactions.includes(type);\n const canHaveTransactionFees = !isFeesTransaction;\n const transactionTypeOptions = allGroupTransactionTypes.map((type) => ({\n label: groupTransactionTypeLabels[type],\n value: type,\n }));\n const fixedIncomeOptions = fixedIncomes.map((fixedIncome) => ({\n label: makeFixedIncomeOptionLabel(fixedIncome),\n value: fixedIncome.id,\n }));\n const serviceProviderFeeTypeOptions = serviceProviderFeeTypes.map(\n (spft) => ({\n label: `${spft.name} — ${spft.feeType} — ${accounts.find((account) => account.id === spft.accountId)?.reference}`,\n value: spft.id,\n }),\n );\n\n const inputs = [\n {\n label: \"Transaction Type\",\n Input: () => (\n <RWATableSelect\n aria-invalid={errors.type ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.type?.message}\n name=\"type\"\n options={transactionTypeOptions}\n rules={{\n required: \"Transaction type is required\",\n }}\n />\n ),\n },\n {\n label: \"Entry Time\",\n Input: () => (\n <DateTimeLocalInput\n {...register(\"entryTime\", {\n required: true,\n disabled: operation === \"view\",\n })}\n name=\"entryTime\"\n />\n ),\n inputLabel: entryTimeInputValue\n ? formatDateForDisplay(new Date(entryTimeInputValue))\n : null,\n },\n isFeesTransaction\n ? {\n label: \"Service Provider\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"SERVICE_PROVIDER_FEE_TYPE\"),\n label: \"Add Service Provider\",\n }}\n control={control}\n disabled={operation === \"view\"}\n name=\"serviceProviderFeeTypeId\"\n options={serviceProviderFeeTypeOptions}\n />\n ),\n }\n : null,\n isAssetTransaction\n ? {\n label: \"Asset name\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"ASSET\"),\n label: \"Create Asset\",\n }}\n aria-invalid={errors.type ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.type?.message}\n name=\"fixedIncomeId\"\n options={fixedIncomeOptions}\n rules={{\n required: \"Asset name is required\",\n }}\n />\n ),\n }\n : undefined,\n isAssetTransaction\n ? {\n label: \"Quantity\",\n Input: () => (\n <RWANumberInput\n aria-invalid={errors.fixedIncomeAmount ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.fixedIncomeAmount?.message}\n name=\"fixedIncomeAmount\"\n placeholder=\"E.g. 1,000.00\"\n rules={{\n required: \"Quantity is required\",\n validate: {\n positive: (value) =>\n (!!value && Number(value) > 0) ||\n \"Asset proceeds must be greater than zero\",\n },\n }}\n />\n ),\n }\n : undefined,\n {\n label: isAssetTransaction ? \"Asset Proceeds\" : \"Cash Amount\",\n Input: () => (\n <>\n <RWANumberInput\n aria-invalid={errors.cashAmount ? \"true\" : \"false\"}\n control={control}\n currency=\"USD\"\n disabled={operation === \"view\"}\n errorMessage={errors.cashAmount?.message}\n name=\"cashAmount\"\n placeholder=\"E.g. $1,000.00\"\n rules={{\n required: \"Asset proceeds is required\",\n validate: {\n positive: (value) =>\n (!!value && Number(value) > 0) ||\n \"Asset proceeds must be greater than zero\",\n },\n }}\n />\n {isAssetTransaction ? (\n <UnitPrice\n control={control}\n isViewOnly={operation === \"view\"}\n />\n ) : null}\n </>\n ),\n },\n {\n label: \"Transaction reference\",\n Input: () => (\n <TransactionReference\n {...register(\"txRef\", {\n disabled: operation === \"view\",\n })}\n aria-invalid={errors.txRef ? \"true\" : \"false\"}\n control={control}\n errorMessage={errors.txRef?.message}\n placeholder=\"E.g. 0x123...\"\n />\n ),\n },\n ].filter(Boolean);\n\n const additionalInputs = (\n <>\n <FeeTransactionsTable\n canHaveTransactionFees={canHaveTransactionFees}\n control={control}\n errors={errors}\n isViewOnly={operation === \"view\"}\n serviceProviderFeeTypeOptions={serviceProviderFeeTypeOptions}\n serviceProviderFeeTypes={serviceProviderFeeTypes}\n showCreateServiceProviderFeeTypeModal={showCreateItemModal(\n \"SERVICE_PROVIDER_FEE_TYPE\",\n )}\n />\n <CashBalanceChange control={control} />\n </>\n );\n\n return { inputs, additionalInputs };\n }\n case tableNames.ACCOUNT: {\n type Payload = FormInputsByTableName[\"ACCOUNT\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n const inputs = [\n {\n label: \"Account Label\",\n Input: () => (\n <RWATableTextInput\n {...register(\"label\", {\n disabled: operation === \"view\",\n required: \"Account label is required\",\n })}\n aria-invalid={\n errors.label?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.label?.message}\n placeholder=\"E.g. My Label\"\n />\n ),\n },\n {\n label: \"Account Reference\",\n Input: () => (\n <RWATableTextInput\n {...register(\"reference\", {\n disabled: operation === \"view\",\n required: \"Account reference is required\",\n })}\n aria-invalid={\n errors.reference?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.reference?.message}\n placeholder=\"E.g. bank account number or ETH address\"\n />\n ),\n },\n ];\n return { inputs };\n }\n case tableNames.SPV: {\n type Payload = FormInputsByTableName[\"SPV\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n\n const inputs = [\n {\n label: \"SPV name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"SPV name is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My SPV name\"\n />\n ),\n },\n ];\n\n return { inputs };\n }\n case tableNames.FIXED_INCOME_TYPE: {\n type Payload = FormInputsByTableName[\"FIXED_INCOME_TYPE\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n\n const inputs = [\n {\n label: \"Fixed Income Type Name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"Fixed Income Type name is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My Fixed Income Type name\"\n />\n ),\n },\n ];\n\n return { inputs };\n }\n case tableNames.SERVICE_PROVIDER_FEE_TYPE: {\n type Payload = FormInputsByTableName[\"SERVICE_PROVIDER_FEE_TYPE\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n const control = _control as Control<Payload>;\n\n const makeAccountLabel = (account: Account) => {\n return `${account.label} (${account.reference})`;\n };\n\n const makeAccountOptions = (accounts: Account[]) => {\n return accounts.map((account) => ({\n ...account,\n value: account.id,\n label: makeAccountLabel(account),\n }));\n };\n\n const inputs = [\n {\n label: \"Service Provider Name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"Service provider name is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My Service Provider\"\n />\n ),\n },\n {\n label: \"Fee Type\",\n Input: () => (\n <RWATableTextInput\n {...register(\"feeType\", {\n disabled: operation === \"view\",\n required: \"Fee type is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My Fee Type\"\n />\n ),\n },\n {\n label: \"Account\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"ACCOUNT\"),\n label: \"Create Account\",\n }}\n aria-invalid={errors.accountId ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.accountId?.message}\n name=\"accountId\"\n options={makeAccountOptions(accounts)}\n rules={{ required: \"Account is required\" }}\n />\n ),\n },\n ];\n\n return { inputs };\n }\n }\n }, [\n _formState,\n _control,\n _register,\n _tableItem,\n _watch,\n accounts,\n fixedIncomeTypes,\n fixedIncomes,\n operation,\n serviceProviderFeeTypes,\n showCreateItemModal,\n spvs,\n tableName,\n ]);\n}\n"],"names":["useFormInputs","props","tableName","operation","_formState","_tableItem","_register","_watch","_control","fixedIncomeTypes","spvs","serviceProviderFeeTypes","accounts","fixedIncomes","useEditorContext","showModal","useModal","showCreateItemModal","useCallback","useMemo","tableNames","tableItem","register","watch","formState","errors","control","derivedInputsToDisplay","jsx","Fragment","handleTableDatum","maturityInputValue","RWATableTextInput","_a","DateTimeLocalInput","value","formatDateForDisplay","RWATableSelect","t","type","entryTimeInputValue","isFeesTransaction","feesTransactions","isAssetTransaction","assetGroupTransactions","canHaveTransactionFees","transactionTypeOptions","allGroupTransactionTypes","groupTransactionTypeLabels","fixedIncomeOptions","fixedIncome","makeFixedIncomeOptionLabel","serviceProviderFeeTypeOptions","spft","account","inputs","RWANumberInput","jsxs","UnitPrice","TransactionReference","additionalInputs","FeeTransactionsTable","CashBalanceChange","_b","makeAccountLabel","makeAccountOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFormInputs.js","sources":["../../../src/rwa/hooks/useFormInputs.tsx"],"sourcesContent":["import { DateTimeLocalInput } from \"@/connect\";\nimport {\n Account,\n allGroupTransactionTypes,\n assetGroupTransactions,\n feesTransactions,\n FeeTransactionsTable,\n formatDateForDisplay,\n FormInputsByTableName,\n groupTransactionTypeLabels,\n handleTableDatum,\n makeFixedIncomeOptionLabel,\n Operation,\n RWANumberInput,\n RWATableSelect,\n RWATableTextInput,\n TableItemType,\n TableName,\n tableNames,\n TransactionReference,\n UnitPrice,\n useEditorContext,\n useModal,\n} from \"@/rwa\";\nimport { ReactElement, useCallback, useMemo } from \"react\";\nimport {\n Control,\n FormState,\n UseFormRegister,\n UseFormWatch,\n} from \"react-hook-form\";\nimport { CashBalanceChange } from \"../components/table/transactions/cash-balance-change\";\n\ntype Input = {\n label: string;\n Input: () => string | React.JSX.Element;\n inputLabel?: string | null;\n};\n\ntype Props = {\n tableName: TableName;\n tableItem: TableItemType<TableName> | undefined | null;\n operation: Operation;\n formState: FormState<FormInputsByTableName[TableName]>;\n register: UseFormRegister<FormInputsByTableName[TableName]>;\n watch: UseFormWatch<FormInputsByTableName[TableName]>;\n control: Control<FormInputsByTableName[TableName]>;\n};\nexport function useFormInputs(props: Props): {\n inputs: Input[];\n additionalInputs?: ReactElement;\n} {\n const {\n tableName,\n operation,\n formState: _formState,\n tableItem: _tableItem,\n register: _register,\n watch: _watch,\n control: _control,\n } = props;\n const {\n fixedIncomeTypes,\n spvs,\n serviceProviderFeeTypes,\n accounts,\n fixedIncomes,\n } = useEditorContext();\n const { showModal } = useModal();\n\n const showCreateItemModal = useCallback(\n (tableName: TableName) => () => {\n showModal(\"createItem\", { tableName });\n },\n [showModal],\n );\n\n return useMemo(() => {\n switch (tableName) {\n case tableNames.ASSET: {\n const tableItem = _tableItem as TableItemType<\"ASSET\"> | null;\n type Payload = FormInputsByTableName[\"ASSET\"];\n const register = _register as UseFormRegister<Payload>;\n const watch = _watch as UseFormWatch<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n const control = _control as Control<Payload>;\n const derivedInputsToDisplay =\n operation !== \"create\" && !!tableItem\n ? [\n {\n label: \"Notional\",\n Input: () => <>{handleTableDatum(tableItem.notional)}</>,\n },\n {\n label: \"Purchase Date\",\n Input: () => <>{handleTableDatum(tableItem.purchaseDate)}</>,\n },\n {\n label: \"Purchase Price\",\n Input: () => (\n <>{handleTableDatum(tableItem.purchasePrice, 6)}</>\n ),\n },\n {\n label: \"Purchase Proceeds\",\n Input: () => (\n <>{handleTableDatum(tableItem.purchaseProceeds)}</>\n ),\n },\n ]\n : [];\n\n const maturityInputValue =\n operation === \"view\" && tableItem\n ? tableItem.maturity\n : watch(\"maturity\") || tableItem?.maturity;\n\n const inputs = [\n {\n label: \"Asset Name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"Asset name is required\",\n })}\n aria-invalid={errors.name ? \"true\" : \"false\"}\n errorMessage={errors.name?.message}\n inputClassName=\"text-left\"\n placeholder=\"E.g. My Asset\"\n />\n ),\n },\n {\n label: \"CUSIP\",\n Input: () =>\n operation === \"view\" ? (\n (tableItem?.CUSIP ?? \"Not available\")\n ) : (\n <RWATableTextInput\n {...register(\"CUSIP\", {\n maxLength: {\n value: 9,\n message: \"CUSIP cannot be longer than 9 characters\",\n },\n minLength: {\n value: 9,\n message: \"CUSIP cannot be shorter than 9 characters\",\n },\n pattern: {\n value: /^[a-zA-Z0-9]*$/,\n message: \"CUSIP must be alphanumeric\",\n },\n })}\n aria-invalid={errors.CUSIP ? \"true\" : \"false\"}\n errorMessage={errors.CUSIP?.message}\n placeholder=\"E.g. A2345B789\"\n />\n ),\n },\n {\n label: \"ISIN\",\n Input: () =>\n operation === \"view\" ? (\n (tableItem?.ISIN ?? \"Not available\")\n ) : (\n <RWATableTextInput\n {...register(\"ISIN\", {\n maxLength: {\n value: 12,\n message: \"ISIN cannot be longer than 12 characters\",\n },\n minLength: {\n value: 12,\n message: \"ISIN cannot be shorter than 12 characters\",\n },\n pattern: {\n value: /^[a-zA-Z0-9]*$/,\n message: \"ISIN must be alphanumeric\",\n },\n })}\n aria-invalid={errors.ISIN ? \"true\" : \"false\"}\n errorMessage={errors.ISIN?.message}\n placeholder=\"E.g. 123456789ABC\"\n />\n ),\n },\n {\n label: \"Maturity\",\n Input: () => (\n <DateTimeLocalInput\n {...register(\"maturity\", {\n disabled: operation === \"view\",\n setValueAs: (value) => {\n if (value === \"\") return null;\n return value as string;\n },\n })}\n inputType=\"date\"\n name=\"maturity\"\n />\n ),\n inputLabel: maturityInputValue\n ? formatDateForDisplay(maturityInputValue, true)\n : null,\n },\n {\n label: \"Asset Type\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"ASSET\"),\n label: \"Create Fixed Income Type\",\n }}\n aria-invalid={errors.fixedIncomeTypeId ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.fixedIncomeTypeId?.message}\n name=\"fixedIncomeTypeId\"\n options={fixedIncomeTypes.map((t) => ({\n ...t,\n value: t.id,\n label: t.name,\n }))}\n rules={{ required: \"Asset type is required\" }}\n />\n ),\n },\n {\n label: \"SPV\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"SPV\"),\n label: \"Create SPV\",\n }}\n aria-invalid={errors.spvId ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.spvId?.message}\n name=\"spvId\"\n options={spvs.map((t) => ({\n ...t,\n value: t.id,\n label: t.name,\n }))}\n rules={{ required: \"SPV is required\" }}\n />\n ),\n },\n ...derivedInputsToDisplay,\n ];\n\n return { inputs };\n }\n case tableNames.TRANSACTION: {\n type Payload = FormInputsByTableName[\"TRANSACTION\"];\n const register = _register as UseFormRegister<Payload>;\n const watch = _watch as UseFormWatch<Payload>;\n const { errors } = _formState as FormState<Payload>;\n const control = _control as Control<Payload>;\n const type = watch(\"type\");\n const entryTimeInputValue =\n watch(\"entryTime\") ?? new Date().toISOString();\n const isFeesTransaction = !!type && feesTransactions.includes(type);\n const isAssetTransaction =\n !!type && assetGroupTransactions.includes(type);\n const canHaveTransactionFees = !isFeesTransaction;\n const transactionTypeOptions = allGroupTransactionTypes.map((type) => ({\n label: groupTransactionTypeLabels[type],\n value: type,\n }));\n const fixedIncomeOptions = fixedIncomes.map((fixedIncome) => ({\n label: makeFixedIncomeOptionLabel(fixedIncome),\n value: fixedIncome.id,\n }));\n const serviceProviderFeeTypeOptions = serviceProviderFeeTypes.map(\n (spft) => ({\n label: `${spft.name} — ${spft.feeType} — ${accounts.find((account) => account.id === spft.accountId)?.reference}`,\n value: spft.id,\n }),\n );\n\n const inputs = [\n {\n label: \"Transaction Type\",\n Input: () => (\n <RWATableSelect\n aria-invalid={errors.type ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.type?.message}\n name=\"type\"\n options={transactionTypeOptions}\n rules={{\n required: \"Transaction type is required\",\n }}\n />\n ),\n },\n {\n label: \"Entry Time\",\n Input: () => (\n <DateTimeLocalInput\n {...register(\"entryTime\", {\n required: true,\n disabled: operation === \"view\",\n })}\n name=\"entryTime\"\n />\n ),\n inputLabel: entryTimeInputValue\n ? formatDateForDisplay(new Date(entryTimeInputValue))\n : null,\n },\n isFeesTransaction\n ? {\n label: \"Service Provider\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"SERVICE_PROVIDER_FEE_TYPE\"),\n label: \"Add Service Provider\",\n }}\n control={control}\n disabled={operation === \"view\"}\n name=\"serviceProviderFeeTypeId\"\n options={serviceProviderFeeTypeOptions}\n />\n ),\n }\n : null,\n isAssetTransaction\n ? {\n label: \"Asset name\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"ASSET\"),\n label: \"Create Asset\",\n }}\n aria-invalid={errors.type ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.type?.message}\n name=\"fixedIncomeId\"\n options={fixedIncomeOptions}\n rules={{\n required: \"Asset name is required\",\n }}\n />\n ),\n }\n : undefined,\n isAssetTransaction\n ? {\n label: \"Quantity\",\n Input: () => (\n <RWANumberInput\n aria-invalid={errors.fixedIncomeAmount ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.fixedIncomeAmount?.message}\n name=\"fixedIncomeAmount\"\n placeholder=\"E.g. 1,000.00\"\n rules={{\n required: \"Quantity is required\",\n validate: {\n positive: (value) =>\n (!!value && Number(value) > 0) ||\n \"Asset proceeds must be greater than zero\",\n },\n }}\n />\n ),\n }\n : undefined,\n {\n label: isAssetTransaction ? \"Asset Proceeds\" : \"Cash Amount\",\n Input: () => (\n <>\n <RWANumberInput\n aria-invalid={errors.cashAmount ? \"true\" : \"false\"}\n control={control}\n currency=\"USD\"\n disabled={operation === \"view\"}\n errorMessage={errors.cashAmount?.message}\n name=\"cashAmount\"\n placeholder=\"E.g. $1,000.00\"\n rules={{\n required: \"Asset proceeds is required\",\n validate: {\n positive: (value) =>\n (!!value && Number(value) > 0) ||\n \"Asset proceeds must be greater than zero\",\n },\n }}\n />\n {isAssetTransaction ? (\n <UnitPrice\n control={control}\n isViewOnly={operation === \"view\"}\n />\n ) : null}\n </>\n ),\n },\n {\n label: \"Transaction reference\",\n Input: () => (\n <TransactionReference\n {...register(\"txRef\", {\n disabled: operation === \"view\",\n })}\n aria-invalid={errors.txRef ? \"true\" : \"false\"}\n control={control}\n errorMessage={errors.txRef?.message}\n placeholder=\"E.g. 0x123...\"\n />\n ),\n },\n ].filter(Boolean);\n\n const additionalInputs = (\n <>\n <FeeTransactionsTable\n canHaveTransactionFees={canHaveTransactionFees}\n control={control}\n errors={errors}\n isViewOnly={operation === \"view\"}\n serviceProviderFeeTypeOptions={serviceProviderFeeTypeOptions}\n serviceProviderFeeTypes={serviceProviderFeeTypes}\n showCreateServiceProviderFeeTypeModal={showCreateItemModal(\n \"SERVICE_PROVIDER_FEE_TYPE\",\n )}\n />\n <CashBalanceChange control={control} />\n </>\n );\n\n return { inputs, additionalInputs };\n }\n case tableNames.ACCOUNT: {\n type Payload = FormInputsByTableName[\"ACCOUNT\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n const inputs = [\n {\n label: \"Account Label\",\n Input: () => (\n <RWATableTextInput\n {...register(\"label\", {\n disabled: operation === \"view\",\n required: \"Account label is required\",\n })}\n aria-invalid={\n errors.label?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.label?.message}\n placeholder=\"E.g. My Label\"\n />\n ),\n },\n {\n label: \"Account Reference\",\n Input: () => (\n <RWATableTextInput\n {...register(\"reference\", {\n disabled: operation === \"view\",\n required: \"Account reference is required\",\n })}\n aria-invalid={\n errors.reference?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.reference?.message}\n placeholder=\"E.g. bank account number or ETH address\"\n />\n ),\n },\n ];\n return { inputs };\n }\n case tableNames.SPV: {\n type Payload = FormInputsByTableName[\"SPV\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n\n const inputs = [\n {\n label: \"SPV name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"SPV name is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My SPV name\"\n />\n ),\n },\n ];\n\n return { inputs };\n }\n case tableNames.FIXED_INCOME_TYPE: {\n type Payload = FormInputsByTableName[\"FIXED_INCOME_TYPE\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n\n const inputs = [\n {\n label: \"Fixed Income Type Name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"Fixed Income Type name is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My Fixed Income Type name\"\n />\n ),\n },\n ];\n\n return { inputs };\n }\n case tableNames.SERVICE_PROVIDER_FEE_TYPE: {\n type Payload = FormInputsByTableName[\"SERVICE_PROVIDER_FEE_TYPE\"];\n const register = _register as UseFormRegister<Payload>;\n const formState = _formState as FormState<Payload>;\n const { errors } = formState;\n const control = _control as Control<Payload>;\n\n const makeAccountLabel = (account: Account) => {\n return `${account.label} (${account.reference})`;\n };\n\n const makeAccountOptions = (accounts: Account[]) => {\n return accounts.map((account) => ({\n ...account,\n value: account.id,\n label: makeAccountLabel(account),\n }));\n };\n\n const inputs = [\n {\n label: \"Service Provider Name\",\n Input: () => (\n <RWATableTextInput\n {...register(\"name\", {\n disabled: operation === \"view\",\n required: \"Service provider name is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My Service Provider\"\n />\n ),\n },\n {\n label: \"Fee Type\",\n Input: () => (\n <RWATableTextInput\n {...register(\"feeType\", {\n disabled: operation === \"view\",\n required: \"Fee type is required\",\n })}\n aria-invalid={\n errors.name?.type === \"required\" ? \"true\" : \"false\"\n }\n errorMessage={errors.name?.message}\n placeholder=\"E.g. My Fee Type\"\n />\n ),\n },\n {\n label: \"Account\",\n Input: () => (\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateItemModal(\"ACCOUNT\"),\n label: \"Create Account\",\n }}\n aria-invalid={errors.accountId ? \"true\" : \"false\"}\n control={control}\n disabled={operation === \"view\"}\n errorMessage={errors.accountId?.message}\n name=\"accountId\"\n options={makeAccountOptions(accounts)}\n rules={{ required: \"Account is required\" }}\n />\n ),\n },\n ];\n\n return { inputs };\n }\n }\n }, [\n _formState,\n _control,\n _register,\n _tableItem,\n _watch,\n accounts,\n fixedIncomeTypes,\n fixedIncomes,\n operation,\n serviceProviderFeeTypes,\n showCreateItemModal,\n spvs,\n tableName,\n ]);\n}\n"],"names":["useFormInputs","props","tableName","operation","_formState","_tableItem","_register","_watch","_control","fixedIncomeTypes","spvs","serviceProviderFeeTypes","accounts","fixedIncomes","useEditorContext","showModal","useModal","showCreateItemModal","useCallback","useMemo","tableNames","tableItem","register","watch","formState","errors","control","derivedInputsToDisplay","jsx","Fragment","handleTableDatum","maturityInputValue","RWATableTextInput","_a","DateTimeLocalInput","value","formatDateForDisplay","RWATableSelect","t","type","entryTimeInputValue","isFeesTransaction","feesTransactions","isAssetTransaction","assetGroupTransactions","canHaveTransactionFees","transactionTypeOptions","allGroupTransactionTypes","groupTransactionTypeLabels","fixedIncomeOptions","fixedIncome","makeFixedIncomeOptionLabel","serviceProviderFeeTypeOptions","spft","account","inputs","RWANumberInput","jsxs","UnitPrice","TransactionReference","additionalInputs","FeeTransactionsTable","CashBalanceChange","_b","makeAccountLabel","makeAccountOptions"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSortTableItems.js","sources":["../../../src/rwa/hooks/useSortTableItems.ts"],"sourcesContent":["import { Item, TableItem } from \"@/rwa\";\nimport { Identifier, Order, orderBy } from \"natural-orderby\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\n/**\n * Takes a list of items and returns a sorted list of items and a sort descriptor.\n * @param items - The list of items to sort.\n * @returns An object containing the sorted items and a sort handler func\n */\nexport function useSortTableItems<\n TItem extends Item,\n TTableData extends TableItem<TItem>,\n>(items: TTableData[] | undefined) {\n const [sortedItems, setSortedItems] = useState(items);\n const [column, setColumn] = useState<Identifier<TTableData>>();\n const [direction, setDirection] = useState<Order>(\"asc\");\n\n const sortHandler = useCallback(\n (column: Identifier<TTableData>, direction: Order) => {\n setColumn(column);\n setDirection(direction);\n },\n [],\n );\n\n useEffect(() => {\n if (!items) return;\n\n if (!column) {\n setSortedItems(items);\n return;\n }\n setSortedItems(orderBy(items, [column], [direction]));\n }, [column, direction, items, sortHandler]);\n\n return useMemo(\n () => ({ sortedItems, sortHandler }) as const,\n [sortedItems, sortHandler],\n );\n}\n"],"names":["useSortTableItems","items","sortedItems","setSortedItems","useState","column","setColumn","direction","setDirection","sortHandler","useCallback","useEffect","orderBy","useMemo"],"mappings":";;AASO,SAASA,EAGdC,GAAiC;AACjC,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAASH,CAAK,GAC9C,CAACI,GAAQC,CAAS,IAAIF,EAAiC,GACvD,CAACG,GAAWC,CAAY,IAAIJ,EAAgB,KAAK,GAEjDK,IAAcC;AAAA,IAClB,CAACL,GAAgCE,MAAqB;AACpD,MAAAD,EAAUD,CAAM,GAChBG,EAAaD,CAAS;AAAA,IACxB;AAAA,IACA,
|
|
1
|
+
{"version":3,"file":"useSortTableItems.js","sources":["../../../src/rwa/hooks/useSortTableItems.ts"],"sourcesContent":["import { Item, TableItem } from \"@/rwa\";\nimport { Identifier, Order, orderBy } from \"natural-orderby\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\n/**\n * Takes a list of items and returns a sorted list of items and a sort descriptor.\n * @param items - The list of items to sort.\n * @returns An object containing the sorted items and a sort handler func\n */\nexport function useSortTableItems<\n TItem extends Item,\n TTableData extends TableItem<TItem>,\n>(items: TTableData[] | undefined) {\n const [sortedItems, setSortedItems] = useState(items);\n const [column, setColumn] = useState<Identifier<TTableData>>();\n const [direction, setDirection] = useState<Order>(\"asc\");\n\n const sortHandler = useCallback(\n (column: Identifier<TTableData>, direction: Order) => {\n setColumn(column);\n setDirection(direction);\n },\n [],\n );\n\n useEffect(() => {\n if (!items) return;\n\n if (!column) {\n setSortedItems(items);\n return;\n }\n setSortedItems(orderBy(items, [column], [direction]));\n }, [column, direction, items, sortHandler]);\n\n return useMemo(\n () => ({ sortedItems, sortHandler }) as const,\n [sortedItems, sortHandler],\n );\n}\n"],"names":["useSortTableItems","items","sortedItems","setSortedItems","useState","column","setColumn","direction","setDirection","sortHandler","useCallback","useEffect","orderBy","useMemo"],"mappings":";;AASO,SAASA,EAGdC,GAAiC;AACjC,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAASH,CAAK,GAC9C,CAACI,GAAQC,CAAS,IAAIF,EAAiC,GACvD,CAACG,GAAWC,CAAY,IAAIJ,EAAgB,KAAK,GAEjDK,IAAcC;AAAA,IAClB,CAACL,GAAgCE,MAAqB;AACpD,MAAAD,EAAUD,CAAM,GAChBG,EAAaD,CAAS;AAAA,IACxB;AAAA,IACA,CAAA;AAAA,EACF;AAEA,SAAAI,EAAU,MAAM;AACd,QAAKV,GAEL;AAAA,UAAI,CAACI,GAAQ;AACX,QAAAF,EAAeF,CAAK;AACpB;AAAA,MAAA;AAEa,MAAAE,EAAAS,EAAQX,GAAO,CAACI,CAAM,GAAG,CAACE,CAAS,CAAC,CAAC;AAAA;AAAA,KACnD,CAACF,GAAQE,GAAWN,GAAOQ,CAAW,CAAC,GAEnCI;AAAA,IACL,OAAO,EAAE,aAAAX,GAAa,aAAAO;IACtB,CAACP,GAAaO,CAAW;AAAA,EAC3B;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubmit.js","sources":["../../../src/rwa/hooks/useSubmit.ts"],"sourcesContent":["import {\n FormInputsByTableName,\n Operation,\n TableItemType,\n TableName,\n useEditorContext,\n} from \"@/rwa\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport {\n DefaultValues,\n FieldValues,\n SubmitHandler,\n useForm,\n} from \"react-hook-form\";\nimport { useDefaultFormValues } from \"./useDefaultFormValues\";\n\nfunction useWrappedForm<TValues extends FieldValues>(defaultValues: TValues) {\n const form = useForm<TValues>({\n defaultValues: defaultValues as DefaultValues<TValues>,\n });\n\n return form;\n}\ntype Props = {\n operation: Operation;\n tableName: TableName;\n tableItem?: TableItemType<TableName> | null;\n};\nexport function useSubmit(props: Props) {\n const { operation, tableName, tableItem } = props;\n const { handleAction, fixedIncomeTypes, spvs, accounts } = useEditorContext();\n const defaultValues = useDefaultFormValues({\n tableName,\n tableItem,\n fixedIncomeTypes,\n spvs,\n accounts,\n });\n const action = operation === \"create\" ? \"CREATE\" : \"EDIT\";\n\n const formValues = defaultValues as FormInputsByTableName[TableName];\n\n const { register, handleSubmit, reset, watch, control, formState } =\n useWrappedForm<FormInputsByTableName[TableName]>(formValues);\n\n useEffect(() => {\n reset(formValues);\n }, [formValues, reset]);\n\n const onSubmit: SubmitHandler<FormInputsByTableName[TableName]> = useCallback(\n (payload) => {\n const actionType = `${action}_${tableName}` as const;\n handleAction({\n type: actionType,\n payload,\n });\n },\n [action, handleAction, tableName],\n );\n\n const submit = handleSubmit(onSubmit);\n\n return useMemo(\n () => ({\n register,\n reset,\n watch,\n control,\n formState,\n submit,\n }),\n [control, formState, register, reset, submit, watch],\n );\n}\n"],"names":["useWrappedForm","defaultValues","useForm","useSubmit","props","operation","tableName","tableItem","handleAction","fixedIncomeTypes","spvs","accounts","useEditorContext","useDefaultFormValues","action","formValues","register","handleSubmit","reset","watch","control","formState","useEffect","onSubmit","useCallback","payload","actionType","submit","useMemo"],"mappings":";;;;AAgBA,SAASA,EAA4CC,GAAwB;AAKpE,SAJMC,EAAiB;AAAA,IAC5B,eAAAD;AAAA,EAAA,CACD;AAGH;AAMO,SAASE,EAAUC,GAAc;AACtC,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,
|
|
1
|
+
{"version":3,"file":"useSubmit.js","sources":["../../../src/rwa/hooks/useSubmit.ts"],"sourcesContent":["import {\n FormInputsByTableName,\n Operation,\n TableItemType,\n TableName,\n useEditorContext,\n} from \"@/rwa\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport {\n DefaultValues,\n FieldValues,\n SubmitHandler,\n useForm,\n} from \"react-hook-form\";\nimport { useDefaultFormValues } from \"./useDefaultFormValues\";\n\nfunction useWrappedForm<TValues extends FieldValues>(defaultValues: TValues) {\n const form = useForm<TValues>({\n defaultValues: defaultValues as DefaultValues<TValues>,\n });\n\n return form;\n}\ntype Props = {\n operation: Operation;\n tableName: TableName;\n tableItem?: TableItemType<TableName> | null;\n};\nexport function useSubmit(props: Props) {\n const { operation, tableName, tableItem } = props;\n const { handleAction, fixedIncomeTypes, spvs, accounts } = useEditorContext();\n const defaultValues = useDefaultFormValues({\n tableName,\n tableItem,\n fixedIncomeTypes,\n spvs,\n accounts,\n });\n const action = operation === \"create\" ? \"CREATE\" : \"EDIT\";\n\n const formValues = defaultValues as FormInputsByTableName[TableName];\n\n const { register, handleSubmit, reset, watch, control, formState } =\n useWrappedForm<FormInputsByTableName[TableName]>(formValues);\n\n useEffect(() => {\n reset(formValues);\n }, [formValues, reset]);\n\n const onSubmit: SubmitHandler<FormInputsByTableName[TableName]> = useCallback(\n (payload) => {\n const actionType = `${action}_${tableName}` as const;\n handleAction({\n type: actionType,\n payload,\n });\n },\n [action, handleAction, tableName],\n );\n\n const submit = handleSubmit(onSubmit);\n\n return useMemo(\n () => ({\n register,\n reset,\n watch,\n control,\n formState,\n submit,\n }),\n [control, formState, register, reset, submit, watch],\n );\n}\n"],"names":["useWrappedForm","defaultValues","useForm","useSubmit","props","operation","tableName","tableItem","handleAction","fixedIncomeTypes","spvs","accounts","useEditorContext","useDefaultFormValues","action","formValues","register","handleSubmit","reset","watch","control","formState","useEffect","onSubmit","useCallback","payload","actionType","submit","useMemo"],"mappings":";;;;AAgBA,SAASA,EAA4CC,GAAwB;AAKpE,SAJMC,EAAiB;AAAA,IAC5B,eAAAD;AAAA,EAAA,CACD;AAGH;AAMO,SAASE,EAAUC,GAAc;AACtC,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,EAAc,IAAAH,GACtC,EAAE,cAAAI,GAAc,kBAAAC,GAAkB,MAAAC,GAAM,UAAAC,EAAA,IAAaC,EAAiB,GACtEX,IAAgBY,EAAqB;AAAA,IACzC,WAAAP;AAAA,IACA,WAAAC;AAAA,IACA,kBAAAE;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,CACD,GACKG,IAAST,MAAc,WAAW,WAAW,QAE7CU,IAAad,GAEb,EAAE,UAAAe,GAAU,cAAAC,GAAc,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,WAAAC,EAAA,IACrDrB,EAAiDe,CAAU;AAE7D,EAAAO,EAAU,MAAM;AACd,IAAAJ,EAAMH,CAAU;AAAA,EAAA,GACf,CAACA,GAAYG,CAAK,CAAC;AAEtB,QAAMK,IAA4DC;AAAA,IAChE,CAACC,MAAY;AACX,YAAMC,IAAa,GAAGZ,CAAM,IAAIR,CAAS;AAC5B,MAAAE,EAAA;AAAA,QACX,MAAMkB;AAAA,QACN,SAAAD;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACX,GAAQN,GAAcF,CAAS;AAAA,EAClC,GAEMqB,IAASV,EAAaM,CAAQ;AAE7B,SAAAK;AAAA,IACL,OAAO;AAAA,MACL,UAAAZ;AAAA,MACA,OAAAE;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,WAAAC;AAAA,MACA,QAAAM;AAAA,IAAA;AAAA,IAEF,CAACP,GAASC,GAAWL,GAAUE,GAAOS,GAAQR,CAAK;AAAA,EACrD;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableData.js","sources":["../../../src/rwa/hooks/useTableData.tsx"],"sourcesContent":["import {\n makeTableData,\n TableItemType,\n TableName,\n useEditorContext,\n useSortTableItems,\n} from \"@/rwa\";\nimport { useMemo } from \"react\";\n\nexport function useTableData<TTableName extends TableName>(\n tableName: TTableName,\n) {\n const inputs = useEditorContext();\n\n // type inference is going wrong because some of the table data types have a \"type\" field.\n // even though this \"type\" field is not relevant to the table data type, typescript insists on including it in its type narrowing logic.\n const tableData = useMemo(() => {\n return makeTableData(tableName, inputs);\n }, [inputs, tableName]) as unknown as TableItemType<TTableName>[];\n\n const { sortedItems, sortHandler } = useSortTableItems(tableData);\n\n return useMemo(\n () =>\n ({\n tableData: sortedItems ?? [],\n sortHandler,\n }) as const,\n [sortedItems, sortHandler],\n );\n}\n"],"names":["useTableData","tableName","inputs","useEditorContext","tableData","useMemo","makeTableData","sortedItems","sortHandler","useSortTableItems"],"mappings":";;;;AASO,SAASA,EACdC,GACA;AACA,QAAMC,IAASC,
|
|
1
|
+
{"version":3,"file":"useTableData.js","sources":["../../../src/rwa/hooks/useTableData.tsx"],"sourcesContent":["import {\n makeTableData,\n TableItemType,\n TableName,\n useEditorContext,\n useSortTableItems,\n} from \"@/rwa\";\nimport { useMemo } from \"react\";\n\nexport function useTableData<TTableName extends TableName>(\n tableName: TTableName,\n) {\n const inputs = useEditorContext();\n\n // type inference is going wrong because some of the table data types have a \"type\" field.\n // even though this \"type\" field is not relevant to the table data type, typescript insists on including it in its type narrowing logic.\n const tableData = useMemo(() => {\n return makeTableData(tableName, inputs);\n }, [inputs, tableName]) as unknown as TableItemType<TTableName>[];\n\n const { sortedItems, sortHandler } = useSortTableItems(tableData);\n\n return useMemo(\n () =>\n ({\n tableData: sortedItems ?? [],\n sortHandler,\n }) as const,\n [sortedItems, sortHandler],\n );\n}\n"],"names":["useTableData","tableName","inputs","useEditorContext","tableData","useMemo","makeTableData","sortedItems","sortHandler","useSortTableItems"],"mappings":";;;;AASO,SAASA,EACdC,GACA;AACA,QAAMC,IAASC,EAAiB,GAI1BC,IAAYC,EAAQ,MACjBC,EAAcL,GAAWC,CAAM,GACrC,CAACA,GAAQD,CAAS,CAAC,GAEhB,EAAE,aAAAM,GAAa,aAAAC,MAAgBC,EAAkBL,CAAS;AAEzD,SAAAC;AAAA,IACL,OACG;AAAA,MACC,WAAWE,KAAe,CAAC;AAAA,MAC3B,aAAAC;AAAA,IAAA;AAAA,IAEJ,CAACD,GAAaC,CAAW;AAAA,EAC3B;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableForm.js","sources":["../../../src/rwa/hooks/useTableForm.tsx"],"sourcesContent":["import { FormHookProps, useFormInputs, useSubmit } from \"@/rwa\";\nimport { useMemo } from \"react\";\n\nexport function useTableForm(props: FormHookProps) {\n const { operation, tableName, tableItem } = props;\n\n const { submit, reset, register, control, formState, watch } = useSubmit({\n operation,\n tableName,\n tableItem,\n });\n\n const formInputs = useFormInputs({\n formState,\n operation,\n control,\n watch,\n tableItem,\n tableName,\n register,\n });\n\n return useMemo(() => {\n return {\n submit,\n reset,\n register,\n control,\n formInputs,\n formState,\n };\n }, [submit, reset, register, control, formInputs, formState]);\n}\n"],"names":["useTableForm","props","operation","tableName","tableItem","submit","reset","register","control","formState","watch","useSubmit","formInputs","useFormInputs","useMemo"],"mappings":";;;AAGO,SAASA,EAAaC,GAAsB;AACjD,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,
|
|
1
|
+
{"version":3,"file":"useTableForm.js","sources":["../../../src/rwa/hooks/useTableForm.tsx"],"sourcesContent":["import { FormHookProps, useFormInputs, useSubmit } from \"@/rwa\";\nimport { useMemo } from \"react\";\n\nexport function useTableForm(props: FormHookProps) {\n const { operation, tableName, tableItem } = props;\n\n const { submit, reset, register, control, formState, watch } = useSubmit({\n operation,\n tableName,\n tableItem,\n });\n\n const formInputs = useFormInputs({\n formState,\n operation,\n control,\n watch,\n tableItem,\n tableName,\n register,\n });\n\n return useMemo(() => {\n return {\n submit,\n reset,\n register,\n control,\n formInputs,\n formState,\n };\n }, [submit, reset, register, control, formInputs, formState]);\n}\n"],"names":["useTableForm","props","operation","tableName","tableItem","submit","reset","register","control","formState","watch","useSubmit","formInputs","useFormInputs","useMemo"],"mappings":";;;AAGO,SAASA,EAAaC,GAAsB;AACjD,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,EAAc,IAAAH,GAEtC,EAAE,QAAAI,GAAQ,OAAAC,GAAO,UAAAC,GAAU,SAAAC,GAAS,WAAAC,GAAW,OAAAC,MAAUC,EAAU;AAAA,IACvE,WAAAT;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,CACD,GAEKQ,IAAaC,EAAc;AAAA,IAC/B,WAAAJ;AAAA,IACA,WAAAP;AAAA,IACA,SAAAM;AAAA,IACA,OAAAE;AAAA,IACA,WAAAN;AAAA,IACA,WAAAD;AAAA,IACA,UAAAI;AAAA,EAAA,CACD;AAED,SAAOO,EAAQ,OACN;AAAA,IACL,QAAAT;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAI;AAAA,IACA,WAAAH;AAAA,EACF,IACC,CAACJ,GAAQC,GAAOC,GAAUC,GAASI,GAAYH,CAAS,CAAC;AAC9D;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableHeight.js","sources":["../../../src/rwa/hooks/useTableHeight.ts"],"sourcesContent":["import {\n MutableRefObject,\n RefObject,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\n\ntype Props = {\n selectedItemNumber: number | undefined;\n tableContainerRef: RefObject<HTMLDivElement>;\n rowRefs: MutableRefObject<(HTMLTableRowElement | null)[]>;\n headerRef: RefObject<HTMLTableSectionElement>;\n hasSpecialLastRow?: boolean;\n};\n\nconst defaultRowHeight = 34;\nconst defaultHeaderHeight = 42;\nconst defaultRowCount = 20;\nconst defaultTwentyRowsPlusHeaderHeight =\n defaultRowHeight * defaultRowCount + defaultHeaderHeight;\n\nexport function useTableHeight(props: Props) {\n const {\n selectedItemNumber,\n tableContainerRef,\n rowRefs,\n headerRef,\n hasSpecialLastRow = false,\n } = props;\n const [maxHeight, setMaxHeight] = useState(\n `${defaultTwentyRowsPlusHeaderHeight}px`,\n );\n const selectedRowNumber = selectedItemNumber\n ? selectedItemNumber - 1 + (hasSpecialLastRow ? 1 : 0)\n : undefined;\n const rowHeight = rowRefs.current[1]?.offsetHeight ?? defaultRowHeight;\n const headerHeight = headerRef.current?.offsetHeight ?? defaultHeaderHeight;\n\n const updateTableHeight = useCallback(() => {\n if (selectedRowNumber === undefined) {\n const twentyRowsAndHeaderHeight = rowHeight * 20 + headerHeight;\n setMaxHeight(`${twentyRowsAndHeaderHeight}px`);\n return;\n }\n\n const tableContainerRect =\n tableContainerRef.current?.getBoundingClientRect();\n const rowRect = rowRefs.current[selectedRowNumber]?.getBoundingClientRect();\n\n if (rowRect && tableContainerRect) {\n const rowBottom = rowRect.bottom;\n const tableTop = tableContainerRect.top;\n const calculatedHeight = rowBottom - tableTop;\n\n setMaxHeight(`${calculatedHeight}px`);\n }\n }, [headerHeight, rowHeight, rowRefs, selectedRowNumber, tableContainerRef]);\n\n useEffect(() => {\n updateTableHeight();\n }, [updateTableHeight]);\n\n useEffect(() => {\n const handleScroll = () => {\n updateTableHeight();\n };\n\n const tableContainerElement = tableContainerRef.current;\n\n if (tableContainerElement) {\n tableContainerElement.addEventListener(\"scroll\", handleScroll);\n }\n\n return () => {\n if (tableContainerElement) {\n tableContainerElement.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, [tableContainerRef, updateTableHeight]);\n\n return maxHeight;\n}\n"],"names":["defaultRowHeight","defaultHeaderHeight","defaultRowCount","defaultTwentyRowsPlusHeaderHeight","useTableHeight","props","selectedItemNumber","tableContainerRef","rowRefs","headerRef","hasSpecialLastRow","maxHeight","setMaxHeight","useState","selectedRowNumber","rowHeight","_a","headerHeight","_b","updateTableHeight","useCallback","twentyRowsAndHeaderHeight","tableContainerRect","rowRect","rowBottom","tableTop","calculatedHeight","useEffect","handleScroll","tableContainerElement"],"mappings":";AAgBA,MAAMA,IAAmB,IACnBC,IAAsB,IACtBC,IAAkB,IAClBC,IACJH,IAAmBE,IAAkBD;AAEhC,SAASG,EAAeC,GAAc;;AACrC,QAAA;AAAA,IACJ,oBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,
|
|
1
|
+
{"version":3,"file":"useTableHeight.js","sources":["../../../src/rwa/hooks/useTableHeight.ts"],"sourcesContent":["import {\n MutableRefObject,\n RefObject,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\n\ntype Props = {\n selectedItemNumber: number | undefined;\n tableContainerRef: RefObject<HTMLDivElement>;\n rowRefs: MutableRefObject<(HTMLTableRowElement | null)[]>;\n headerRef: RefObject<HTMLTableSectionElement>;\n hasSpecialLastRow?: boolean;\n};\n\nconst defaultRowHeight = 34;\nconst defaultHeaderHeight = 42;\nconst defaultRowCount = 20;\nconst defaultTwentyRowsPlusHeaderHeight =\n defaultRowHeight * defaultRowCount + defaultHeaderHeight;\n\nexport function useTableHeight(props: Props) {\n const {\n selectedItemNumber,\n tableContainerRef,\n rowRefs,\n headerRef,\n hasSpecialLastRow = false,\n } = props;\n const [maxHeight, setMaxHeight] = useState(\n `${defaultTwentyRowsPlusHeaderHeight}px`,\n );\n const selectedRowNumber = selectedItemNumber\n ? selectedItemNumber - 1 + (hasSpecialLastRow ? 1 : 0)\n : undefined;\n const rowHeight = rowRefs.current[1]?.offsetHeight ?? defaultRowHeight;\n const headerHeight = headerRef.current?.offsetHeight ?? defaultHeaderHeight;\n\n const updateTableHeight = useCallback(() => {\n if (selectedRowNumber === undefined) {\n const twentyRowsAndHeaderHeight = rowHeight * 20 + headerHeight;\n setMaxHeight(`${twentyRowsAndHeaderHeight}px`);\n return;\n }\n\n const tableContainerRect =\n tableContainerRef.current?.getBoundingClientRect();\n const rowRect = rowRefs.current[selectedRowNumber]?.getBoundingClientRect();\n\n if (rowRect && tableContainerRect) {\n const rowBottom = rowRect.bottom;\n const tableTop = tableContainerRect.top;\n const calculatedHeight = rowBottom - tableTop;\n\n setMaxHeight(`${calculatedHeight}px`);\n }\n }, [headerHeight, rowHeight, rowRefs, selectedRowNumber, tableContainerRef]);\n\n useEffect(() => {\n updateTableHeight();\n }, [updateTableHeight]);\n\n useEffect(() => {\n const handleScroll = () => {\n updateTableHeight();\n };\n\n const tableContainerElement = tableContainerRef.current;\n\n if (tableContainerElement) {\n tableContainerElement.addEventListener(\"scroll\", handleScroll);\n }\n\n return () => {\n if (tableContainerElement) {\n tableContainerElement.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, [tableContainerRef, updateTableHeight]);\n\n return maxHeight;\n}\n"],"names":["defaultRowHeight","defaultHeaderHeight","defaultRowCount","defaultTwentyRowsPlusHeaderHeight","useTableHeight","props","selectedItemNumber","tableContainerRef","rowRefs","headerRef","hasSpecialLastRow","maxHeight","setMaxHeight","useState","selectedRowNumber","rowHeight","_a","headerHeight","_b","updateTableHeight","useCallback","twentyRowsAndHeaderHeight","tableContainerRect","rowRect","rowBottom","tableTop","calculatedHeight","useEffect","handleScroll","tableContainerElement"],"mappings":";AAgBA,MAAMA,IAAmB,IACnBC,IAAsB,IACtBC,IAAkB,IAClBC,IACJH,IAAmBE,IAAkBD;AAEhC,SAASG,EAAeC,GAAc;;AACrC,QAAA;AAAA,IACJ,oBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,EAAA,IAClBL,GACE,CAACM,GAAWC,CAAY,IAAIC;AAAA,IAChC,GAAGV,CAAiC;AAAA,EACtC,GACMW,IAAoBR,IACtBA,IAAqB,KAAKI,IAAoB,IAAI,KAClD,QACEK,MAAYC,IAAAR,EAAQ,QAAQ,CAAC,MAAjB,gBAAAQ,EAAoB,iBAAgBhB,GAChDiB,MAAeC,IAAAT,EAAU,YAAV,gBAAAS,EAAmB,iBAAgBjB,GAElDkB,IAAoBC,EAAY,MAAM;;AAC1C,QAAIN,MAAsB,QAAW;AAC7B,YAAAO,IAA4BN,IAAY,KAAKE;AACtC,MAAAL,EAAA,GAAGS,CAAyB,IAAI;AAC7C;AAAA,IAAA;AAGI,UAAAC,KACJN,IAAAT,EAAkB,YAAlB,gBAAAS,EAA2B,yBACvBO,KAAUL,IAAAV,EAAQ,QAAQM,CAAiB,MAAjC,gBAAAI,EAAoC;AAEpD,QAAIK,KAAWD,GAAoB;AACjC,YAAME,IAAYD,EAAQ,QACpBE,IAAWH,EAAmB,KAC9BI,IAAmBF,IAAYC;AAExB,MAAAb,EAAA,GAAGc,CAAgB,IAAI;AAAA,IAAA;AAAA,EACtC,GACC,CAACT,GAAcF,GAAWP,GAASM,GAAmBP,CAAiB,CAAC;AAE3E,SAAAoB,EAAU,MAAM;AACI,IAAAR,EAAA;AAAA,EAAA,GACjB,CAACA,CAAiB,CAAC,GAEtBQ,EAAU,MAAM;AACd,UAAMC,IAAe,MAAM;AACP,MAAAT,EAAA;AAAA,IACpB,GAEMU,IAAwBtB,EAAkB;AAEhD,WAAIsB,KACoBA,EAAA,iBAAiB,UAAUD,CAAY,GAGxD,MAAM;AACX,MAAIC,KACoBA,EAAA,oBAAoB,UAAUD,CAAY;AAAA,IAEpE;AAAA,EAAA,GACC,CAACrB,GAAmBY,CAAiB,CAAC,GAElCR;AACT;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculations.js","sources":["../../../src/rwa/utils/calculations.ts"],"sourcesContent":["import {\n ASSET_PURCHASE,\n ASSET_SALE,\n FixedIncome,\n FixedIncomeType,\n GroupTransaction,\n} from \"@/rwa\";\nimport { all, create } from \"mathjs\";\n\ntype NumericKeys<T> = {\n [K in keyof T]: T[K] extends number ? K : never;\n}[keyof T];\n\nexport function sumTotalForProperty<T extends Record<string, any>>(\n items: T[],\n property: NumericKeys<T>,\n): number {\n return items.reduce((acc, item) => acc + Number(item[property]), 0);\n}\n\nexport const math = create(all, {\n number: \"BigNumber\",\n});\n\nexport function calculateCurrentValue(props: {\n asset: FixedIncome | undefined;\n transactions: GroupTransaction[];\n fixedIncomeTypes: FixedIncomeType[];\n currentDate?: Date;\n}) {\n const {\n asset,\n transactions,\n fixedIncomeTypes,\n currentDate = new Date(),\n } = props;\n\n // asset must have a maturity date to calculate\n if (!asset?.maturity) return null;\n\n const fixedIncomeType = fixedIncomeTypes.find(\n ({ id }) => id === asset.fixedIncomeTypeId,\n );\n\n if (!fixedIncomeType) return null;\n\n // currently only Treasury Bills are supported\n if (fixedIncomeType.name !== \"Treasury Bill\") return null;\n\n const purchaseTransactionsForAsset = transactions.filter(\n ({ type, fixedIncomeTransaction }) =>\n type === ASSET_PURCHASE && fixedIncomeTransaction?.assetId === asset.id,\n );\n\n const saleTransactionsForAsset = transactions.filter(\n ({ type, fixedIncomeTransaction }) =>\n type === ASSET_SALE && fixedIncomeTransaction?.assetId === asset.id,\n );\n\n // formula is meaningless if there are no purchase or sale transactions\n if (!purchaseTransactionsForAsset.length && !saleTransactionsForAsset.length)\n return null;\n\n const currentDateMs = math.bignumber(currentDate.getTime());\n const maturityDateMs = math.bignumber(new Date(asset.maturity).getTime());\n\n // do not calculate if the asset has matured\n if (maturityDateMs.lessThan(currentDateMs)) return null;\n\n const purchaseDateMs = math.bignumber(new Date(asset.purchaseDate).getTime());\n const sumQuantities = calculateSumQuantity(purchaseTransactionsForAsset).sub(\n calculateSumQuantity(saleTransactionsForAsset),\n );\n const salesProceeds = math.bignumber(asset.salesProceeds);\n const realizedSurplus = math.bignumber(asset.realizedSurplus);\n const purchaseProceeds = math.bignumber(asset.purchaseProceeds);\n const currentPurchaseProceeds = purchaseProceeds\n .sub(salesProceeds)\n .add(realizedSurplus);\n const totalDiscount = sumQuantities.sub(currentPurchaseProceeds);\n\n const currentValue = currentDateMs\n .sub(purchaseDateMs)\n .div(maturityDateMs.sub(purchaseDateMs))\n .mul(totalDiscount)\n .add(currentPurchaseProceeds)\n .toNumber();\n\n return currentValue;\n}\nexport function calculateSumQuantity(transactions: GroupTransaction[]) {\n return transactions.reduce((sum, { fixedIncomeTransaction }) => {\n if (!fixedIncomeTransaction) return sum;\n return sum.add(math.bignumber(fixedIncomeTransaction.amount));\n }, math.bignumber(0));\n}\n"],"names":["sumTotalForProperty","items","property","acc","item","math","create","all","calculateCurrentValue","props","asset","transactions","fixedIncomeTypes","currentDate","fixedIncomeType","id","purchaseTransactionsForAsset","type","fixedIncomeTransaction","ASSET_PURCHASE","saleTransactionsForAsset","ASSET_SALE","currentDateMs","maturityDateMs","purchaseDateMs","sumQuantities","calculateSumQuantity","salesProceeds","realizedSurplus","currentPurchaseProceeds","totalDiscount","sum"],"mappings":";;AAagB,SAAAA,EACdC,GACAC,GACQ;AACD,SAAAD,EAAM,OAAO,CAACE,GAAKC,MAASD,IAAM,OAAOC,EAAKF,CAAQ,CAAC,GAAG,CAAC;AACpE;AAEa,MAAAG,IAAOC,EAAOC,GAAK;AAAA,EAC9B,QAAQ;AACV,CAAC;AAEM,SAASC,EAAsBC,GAKnC;AACK,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,aAAAC,wBAAkB,KAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"calculations.js","sources":["../../../src/rwa/utils/calculations.ts"],"sourcesContent":["import {\n ASSET_PURCHASE,\n ASSET_SALE,\n FixedIncome,\n FixedIncomeType,\n GroupTransaction,\n} from \"@/rwa\";\nimport { all, create } from \"mathjs\";\n\ntype NumericKeys<T> = {\n [K in keyof T]: T[K] extends number ? K : never;\n}[keyof T];\n\nexport function sumTotalForProperty<T extends Record<string, any>>(\n items: T[],\n property: NumericKeys<T>,\n): number {\n return items.reduce((acc, item) => acc + Number(item[property]), 0);\n}\n\nexport const math = create(all, {\n number: \"BigNumber\",\n});\n\nexport function calculateCurrentValue(props: {\n asset: FixedIncome | undefined;\n transactions: GroupTransaction[];\n fixedIncomeTypes: FixedIncomeType[];\n currentDate?: Date;\n}) {\n const {\n asset,\n transactions,\n fixedIncomeTypes,\n currentDate = new Date(),\n } = props;\n\n // asset must have a maturity date to calculate\n if (!asset?.maturity) return null;\n\n const fixedIncomeType = fixedIncomeTypes.find(\n ({ id }) => id === asset.fixedIncomeTypeId,\n );\n\n if (!fixedIncomeType) return null;\n\n // currently only Treasury Bills are supported\n if (fixedIncomeType.name !== \"Treasury Bill\") return null;\n\n const purchaseTransactionsForAsset = transactions.filter(\n ({ type, fixedIncomeTransaction }) =>\n type === ASSET_PURCHASE && fixedIncomeTransaction?.assetId === asset.id,\n );\n\n const saleTransactionsForAsset = transactions.filter(\n ({ type, fixedIncomeTransaction }) =>\n type === ASSET_SALE && fixedIncomeTransaction?.assetId === asset.id,\n );\n\n // formula is meaningless if there are no purchase or sale transactions\n if (!purchaseTransactionsForAsset.length && !saleTransactionsForAsset.length)\n return null;\n\n const currentDateMs = math.bignumber(currentDate.getTime());\n const maturityDateMs = math.bignumber(new Date(asset.maturity).getTime());\n\n // do not calculate if the asset has matured\n if (maturityDateMs.lessThan(currentDateMs)) return null;\n\n const purchaseDateMs = math.bignumber(new Date(asset.purchaseDate).getTime());\n const sumQuantities = calculateSumQuantity(purchaseTransactionsForAsset).sub(\n calculateSumQuantity(saleTransactionsForAsset),\n );\n const salesProceeds = math.bignumber(asset.salesProceeds);\n const realizedSurplus = math.bignumber(asset.realizedSurplus);\n const purchaseProceeds = math.bignumber(asset.purchaseProceeds);\n const currentPurchaseProceeds = purchaseProceeds\n .sub(salesProceeds)\n .add(realizedSurplus);\n const totalDiscount = sumQuantities.sub(currentPurchaseProceeds);\n\n const currentValue = currentDateMs\n .sub(purchaseDateMs)\n .div(maturityDateMs.sub(purchaseDateMs))\n .mul(totalDiscount)\n .add(currentPurchaseProceeds)\n .toNumber();\n\n return currentValue;\n}\nexport function calculateSumQuantity(transactions: GroupTransaction[]) {\n return transactions.reduce((sum, { fixedIncomeTransaction }) => {\n if (!fixedIncomeTransaction) return sum;\n return sum.add(math.bignumber(fixedIncomeTransaction.amount));\n }, math.bignumber(0));\n}\n"],"names":["sumTotalForProperty","items","property","acc","item","math","create","all","calculateCurrentValue","props","asset","transactions","fixedIncomeTypes","currentDate","fixedIncomeType","id","purchaseTransactionsForAsset","type","fixedIncomeTransaction","ASSET_PURCHASE","saleTransactionsForAsset","ASSET_SALE","currentDateMs","maturityDateMs","purchaseDateMs","sumQuantities","calculateSumQuantity","salesProceeds","realizedSurplus","currentPurchaseProceeds","totalDiscount","sum"],"mappings":";;AAagB,SAAAA,EACdC,GACAC,GACQ;AACD,SAAAD,EAAM,OAAO,CAACE,GAAKC,MAASD,IAAM,OAAOC,EAAKF,CAAQ,CAAC,GAAG,CAAC;AACpE;AAEa,MAAAG,IAAOC,EAAOC,GAAK;AAAA,EAC9B,QAAQ;AACV,CAAC;AAEM,SAASC,EAAsBC,GAKnC;AACK,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,aAAAC,wBAAkB,KAAK;AAAA,EAAA,IACrBJ;AAGA,MAAA,EAACC,KAAA,QAAAA,EAAO,UAAiB,QAAA;AAE7B,QAAMI,IAAkBF,EAAiB;AAAA,IACvC,CAAC,EAAE,IAAAG,EAAG,MAAMA,MAAOL,EAAM;AAAA,EAC3B;AAKI,MAHA,CAACI,KAGDA,EAAgB,SAAS,gBAAwB,QAAA;AAErD,QAAME,IAA+BL,EAAa;AAAA,IAChD,CAAC,EAAE,MAAAM,GAAM,wBAAAC,QACPD,MAASE,MAAkBD,KAAA,gBAAAA,EAAwB,aAAYR,EAAM;AAAA,EACzE,GAEMU,IAA2BT,EAAa;AAAA,IAC5C,CAAC,EAAE,MAAAM,GAAM,wBAAAC,QACPD,MAASI,MAAcH,KAAA,gBAAAA,EAAwB,aAAYR,EAAM;AAAA,EACrE;AAGA,MAAI,CAACM,EAA6B,UAAU,CAACI,EAAyB;AAC7D,WAAA;AAET,QAAME,IAAgBjB,EAAK,UAAUQ,EAAY,SAAS,GACpDU,IAAiBlB,EAAK,UAAU,IAAI,KAAKK,EAAM,QAAQ,EAAE,SAAS;AAGxE,MAAIa,EAAe,SAASD,CAAa,EAAU,QAAA;AAE7C,QAAAE,IAAiBnB,EAAK,UAAU,IAAI,KAAKK,EAAM,YAAY,EAAE,SAAS,GACtEe,IAAgBC,EAAqBV,CAA4B,EAAE;AAAA,IACvEU,EAAqBN,CAAwB;AAAA,EAC/C,GACMO,IAAgBtB,EAAK,UAAUK,EAAM,aAAa,GAClDkB,IAAkBvB,EAAK,UAAUK,EAAM,eAAe,GAEtDmB,IADmBxB,EAAK,UAAUK,EAAM,gBAAgB,EAE3D,IAAIiB,CAAa,EACjB,IAAIC,CAAe,GAChBE,IAAgBL,EAAc,IAAII,CAAuB;AASxD,SAPcP,EAClB,IAAIE,CAAc,EAClB,IAAID,EAAe,IAAIC,CAAc,CAAC,EACtC,IAAIM,CAAa,EACjB,IAAID,CAAuB,EAC3B,SAAS;AAGd;AACO,SAASH,EAAqBf,GAAkC;AACrE,SAAOA,EAAa,OAAO,CAACoB,GAAK,EAAE,wBAAAb,QAC5BA,IACEa,EAAI,IAAI1B,EAAK,UAAUa,EAAuB,MAAM,CAAC,IADxBa,GAEnC1B,EAAK,UAAU,CAAC,CAAC;AACtB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sources":["../../../src/rwa/utils/date.ts"],"sourcesContent":["import { formatInTimeZone } from \"date-fns-tz/formatInTimeZone\";\nimport { format } from \"date-fns/format\";\n\n/**\n * The html datetime local input requires this specific format\n */\nexport function convertToDateTimeLocalFormat(date: Date | string = new Date()) {\n return format(date, \"yyyy-MM-dd'T'HH:mm\");\n}\nexport function formatDateForDisplay(date: Date | string, displayTime = true) {\n const formatString = displayTime ? \"yyyy/MM/dd, HH:mm:ss zzz\" : \"yyyy/MM/dd\";\n\n return formatInTimeZone(date, \"UTC\", formatString);\n}\n\nexport function isISODate(str: string) {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) return false;\n const d = new Date(str);\n return d instanceof Date && !isNaN(d.getTime()) && d.toISOString() === str;\n}\n"],"names":["convertToDateTimeLocalFormat","date","format","formatDateForDisplay","displayTime","formatInTimeZone","isISODate","str","d"],"mappings":";;AAMO,SAASA,EAA6BC,IAA0B,oBAAA,QAAQ;AACtE,SAAAC,EAAOD,GAAM,oBAAoB;AAC1C;AACgB,SAAAE,EAAqBF,GAAqBG,IAAc,IAAM;AAGrE,SAAAC,EAAiBJ,GAAM,OAFTG,IAAc,6BAA6B,YAEf;AACnD;AAEO,SAASE,EAAUC,GAAa;AACrC,MAAI,CAAC,6CAA6C,KAAKA,CAAG,EAAU,QAAA;AAC9D,QAAAC,IAAI,IAAI,KAAKD,CAAG;AACf,SAAAC,aAAa,QAAQ,CAAC,MAAMA,EAAE,
|
|
1
|
+
{"version":3,"file":"date.js","sources":["../../../src/rwa/utils/date.ts"],"sourcesContent":["import { formatInTimeZone } from \"date-fns-tz/formatInTimeZone\";\nimport { format } from \"date-fns/format\";\n\n/**\n * The html datetime local input requires this specific format\n */\nexport function convertToDateTimeLocalFormat(date: Date | string = new Date()) {\n return format(date, \"yyyy-MM-dd'T'HH:mm\");\n}\nexport function formatDateForDisplay(date: Date | string, displayTime = true) {\n const formatString = displayTime ? \"yyyy/MM/dd, HH:mm:ss zzz\" : \"yyyy/MM/dd\";\n\n return formatInTimeZone(date, \"UTC\", formatString);\n}\n\nexport function isISODate(str: string) {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) return false;\n const d = new Date(str);\n return d instanceof Date && !isNaN(d.getTime()) && d.toISOString() === str;\n}\n"],"names":["convertToDateTimeLocalFormat","date","format","formatDateForDisplay","displayTime","formatInTimeZone","isISODate","str","d"],"mappings":";;AAMO,SAASA,EAA6BC,IAA0B,oBAAA,QAAQ;AACtE,SAAAC,EAAOD,GAAM,oBAAoB;AAC1C;AACgB,SAAAE,EAAqBF,GAAqBG,IAAc,IAAM;AAGrE,SAAAC,EAAiBJ,GAAM,OAFTG,IAAc,6BAA6B,YAEf;AACnD;AAEO,SAASE,EAAUC,GAAa;AACrC,MAAI,CAAC,6CAA6C,KAAKA,CAAG,EAAU,QAAA;AAC9D,QAAAC,IAAI,IAAI,KAAKD,CAAG;AACf,SAAAC,aAAa,QAAQ,CAAC,MAAMA,EAAE,SAAS,KAAKA,EAAE,YAAA,MAAkBD;AACzE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../src/rwa/utils/table.tsx"],"sourcesContent":["import {\n assetTransactionSignByTransactionType,\n calculateCurrentValue,\n cashTransactionSignByTransactionType,\n FEES_INCOME,\n feesTransactions,\n formatDateForDisplay,\n FormattedNumber,\n getFixedIncomeAssets,\n GroupTransactionType,\n groupTransactionTypeLabels,\n isAssetGroupTransactionType,\n isISODate,\n Item,\n ItemData,\n RealWorldAssetsState,\n TableItem,\n TableItemType,\n TableName,\n TransactionFeeInput,\n} from \"@/rwa\";\nimport { InputMaybe } from \"document-model/document\";\n\nexport function handleDateInTable(\n maybeDate: string | Date,\n displayTime = true,\n) {\n const isDate = maybeDate instanceof Date || isISODate(maybeDate);\n if (isDate) {\n const dateStr =\n maybeDate instanceof Date ? maybeDate.toISOString() : maybeDate;\n return formatDateForDisplay(dateStr, displayTime);\n }\n return maybeDate;\n}\n\nexport function handleTableDatum(\n datum: ItemData,\n decimalScale = 2,\n displayTime = true,\n) {\n if (datum === null || datum === undefined) return \"--\";\n\n if (typeof datum === \"number\")\n return <FormattedNumber decimalScale={decimalScale} value={datum} />;\n\n return handleDateInTable(datum, displayTime);\n}\n\nexport function calculateUnitPrice(\n cashAmount: InputMaybe<number>,\n fixedIncomeAmount: InputMaybe<number>,\n) {\n if (!cashAmount || !fixedIncomeAmount) return 0;\n return cashAmount / fixedIncomeAmount;\n}\n\nexport function calculateCashBalanceChange(\n transactionType: InputMaybe<GroupTransactionType>,\n cashAmount: InputMaybe<number>,\n fees: InputMaybe<TransactionFeeInput[]>,\n) {\n if (!cashAmount || !transactionType) return 0;\n\n const sign = cashTransactionSignByTransactionType[transactionType];\n\n const feeAmounts = fees?.map((fee) => fee.amount).filter(Boolean) ?? [];\n\n const totalFees = feeAmounts.reduce((acc, fee) => acc + fee, 0);\n\n return cashAmount * sign - totalFees;\n}\n\nfunction makeFixedIncomeTypesTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"FIXED_INCOME_TYPE\">[] {\n const { fixedIncomeTypes } = state;\n return addItemNumber(fixedIncomeTypes);\n}\n\nfunction makeSPVsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"SPV\">[] {\n const { spvs } = state;\n return addItemNumber(spvs);\n}\n\nfunction makeAssetsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"ASSET\">[] {\n const { portfolio, transactions, fixedIncomeTypes } = state;\n const currentDate = new Date();\n const fixedIncomes = getFixedIncomeAssets(portfolio);\n\n const tableItems = fixedIncomes.map((fixedIncome) => {\n const currentValue = calculateCurrentValue({\n asset: fixedIncome,\n currentDate,\n transactions,\n fixedIncomeTypes,\n });\n\n return {\n ...fixedIncome,\n currentValue,\n };\n });\n\n return addItemNumber(tableItems);\n}\nfunction maybeAddSignToAmount(amount: number | undefined, sign: 1 | -1) {\n if (!amount) return amount;\n return amount * sign;\n}\n\nfunction makeGroupTransactionsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"TRANSACTION\">[] {\n const { transactions, portfolio } = state;\n const fixedIncomes = getFixedIncomeAssets(portfolio);\n\n const tableData = transactions.map((transaction) => {\n const id = transaction.id;\n const entryTime = transaction.entryTime;\n const asset = fixedIncomes.find(\n (asset) => asset.id === transaction.fixedIncomeTransaction?.assetId,\n )?.name;\n const type = transaction.type;\n const typeLabel = groupTransactionTypeLabels[type];\n const cashTransactionSign = cashTransactionSignByTransactionType[type];\n const assetTransactionSign = isAssetGroupTransactionType(type)\n ? assetTransactionSignByTransactionType[type]\n : 1;\n const quantity = maybeAddSignToAmount(\n transaction.fixedIncomeTransaction?.amount,\n assetTransactionSign,\n );\n const cashAmount = maybeAddSignToAmount(\n transaction.cashTransaction.amount,\n cashTransactionSign,\n );\n const totalFees = feesTransactions.includes(transaction.type)\n ? (maybeAddSignToAmount(\n transaction.cashTransaction.amount,\n transaction.type === FEES_INCOME ? -1 : 1,\n ) ?? 0)\n : (transaction.fees?.reduce((acc, fee) => acc + fee.amount, 0) ?? 0);\n const cashBalanceChange = transaction.cashBalanceChange;\n\n return {\n ...transaction,\n id,\n type,\n typeLabel,\n entryTime,\n asset,\n quantity,\n cashAmount,\n totalFees,\n cashBalanceChange,\n };\n });\n\n return addItemNumber(tableData);\n}\nfunction makeAccountsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"ACCOUNT\">[] {\n const { accounts, principalLenderAccountId } = state;\n\n const withoutPrincipalLender = accounts.filter(\n (account) => account.id !== principalLenderAccountId,\n );\n const tableData = addItemNumber(withoutPrincipalLender);\n\n return tableData;\n}\n\nfunction makeServiceProviderFeeTypesTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"SERVICE_PROVIDER_FEE_TYPE\">[] {\n const { serviceProviderFeeTypes, accounts } = state;\n\n const tableData = serviceProviderFeeTypes.map((serviceProviderFeeType) => {\n const account = accounts.find(\n (account) => account.id === serviceProviderFeeType.accountId,\n );\n\n return {\n ...serviceProviderFeeType,\n accountName: account?.label,\n accountReference: account?.reference,\n };\n });\n\n return addItemNumber(tableData);\n}\nfunction addItemNumber<TItem extends Item>(items: TItem[]) {\n return items.map((item, index) => ({\n ...item,\n itemNumber: index + 1,\n })) as TableItem<TItem>[];\n}\n\nexport function makeTableData(\n tableName: TableName,\n state: RealWorldAssetsState,\n) {\n return tableDataMakersByTableName[tableName](state);\n}\n\nexport const tableDataMakersByTableName = {\n ASSET: makeAssetsTableData,\n TRANSACTION: makeGroupTransactionsTableData,\n ACCOUNT: makeAccountsTableData,\n FIXED_INCOME_TYPE: makeFixedIncomeTypesTableData,\n SERVICE_PROVIDER_FEE_TYPE: makeServiceProviderFeeTypesTableData,\n SPV: makeSPVsTableData,\n} as const;\n"],"names":["handleDateInTable","maybeDate","displayTime","isISODate","dateStr","formatDateForDisplay","handleTableDatum","datum","decimalScale","jsx","FormattedNumber","calculateUnitPrice","cashAmount","fixedIncomeAmount","calculateCashBalanceChange","transactionType","fees","sign","cashTransactionSignByTransactionType","totalFees","fee","acc","makeFixedIncomeTypesTableData","state","fixedIncomeTypes","addItemNumber","makeSPVsTableData","spvs","makeAssetsTableData","portfolio","transactions","currentDate","tableItems","getFixedIncomeAssets","fixedIncome","currentValue","calculateCurrentValue","maybeAddSignToAmount","amount","makeGroupTransactionsTableData","fixedIncomes","tableData","transaction","id","entryTime","asset","_a","type","typeLabel","groupTransactionTypeLabels","cashTransactionSign","assetTransactionSign","isAssetGroupTransactionType","assetTransactionSignByTransactionType","quantity","_b","feesTransactions","FEES_INCOME","_c","cashBalanceChange","makeAccountsTableData","accounts","principalLenderAccountId","withoutPrincipalLender","account","makeServiceProviderFeeTypesTableData","serviceProviderFeeTypes","serviceProviderFeeType","items","item","index","makeTableData","tableName","tableDataMakersByTableName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/rwa/utils/table.tsx"],"sourcesContent":["import {\n assetTransactionSignByTransactionType,\n calculateCurrentValue,\n cashTransactionSignByTransactionType,\n FEES_INCOME,\n feesTransactions,\n formatDateForDisplay,\n FormattedNumber,\n getFixedIncomeAssets,\n GroupTransactionType,\n groupTransactionTypeLabels,\n isAssetGroupTransactionType,\n isISODate,\n Item,\n ItemData,\n RealWorldAssetsState,\n TableItem,\n TableItemType,\n TableName,\n TransactionFeeInput,\n} from \"@/rwa\";\nimport { InputMaybe } from \"document-model/document\";\n\nexport function handleDateInTable(\n maybeDate: string | Date,\n displayTime = true,\n) {\n const isDate = maybeDate instanceof Date || isISODate(maybeDate);\n if (isDate) {\n const dateStr =\n maybeDate instanceof Date ? maybeDate.toISOString() : maybeDate;\n return formatDateForDisplay(dateStr, displayTime);\n }\n return maybeDate;\n}\n\nexport function handleTableDatum(\n datum: ItemData,\n decimalScale = 2,\n displayTime = true,\n) {\n if (datum === null || datum === undefined) return \"--\";\n\n if (typeof datum === \"number\")\n return <FormattedNumber decimalScale={decimalScale} value={datum} />;\n\n return handleDateInTable(datum, displayTime);\n}\n\nexport function calculateUnitPrice(\n cashAmount: InputMaybe<number>,\n fixedIncomeAmount: InputMaybe<number>,\n) {\n if (!cashAmount || !fixedIncomeAmount) return 0;\n return cashAmount / fixedIncomeAmount;\n}\n\nexport function calculateCashBalanceChange(\n transactionType: InputMaybe<GroupTransactionType>,\n cashAmount: InputMaybe<number>,\n fees: InputMaybe<TransactionFeeInput[]>,\n) {\n if (!cashAmount || !transactionType) return 0;\n\n const sign = cashTransactionSignByTransactionType[transactionType];\n\n const feeAmounts = fees?.map((fee) => fee.amount).filter(Boolean) ?? [];\n\n const totalFees = feeAmounts.reduce((acc, fee) => acc + fee, 0);\n\n return cashAmount * sign - totalFees;\n}\n\nfunction makeFixedIncomeTypesTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"FIXED_INCOME_TYPE\">[] {\n const { fixedIncomeTypes } = state;\n return addItemNumber(fixedIncomeTypes);\n}\n\nfunction makeSPVsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"SPV\">[] {\n const { spvs } = state;\n return addItemNumber(spvs);\n}\n\nfunction makeAssetsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"ASSET\">[] {\n const { portfolio, transactions, fixedIncomeTypes } = state;\n const currentDate = new Date();\n const fixedIncomes = getFixedIncomeAssets(portfolio);\n\n const tableItems = fixedIncomes.map((fixedIncome) => {\n const currentValue = calculateCurrentValue({\n asset: fixedIncome,\n currentDate,\n transactions,\n fixedIncomeTypes,\n });\n\n return {\n ...fixedIncome,\n currentValue,\n };\n });\n\n return addItemNumber(tableItems);\n}\nfunction maybeAddSignToAmount(amount: number | undefined, sign: 1 | -1) {\n if (!amount) return amount;\n return amount * sign;\n}\n\nfunction makeGroupTransactionsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"TRANSACTION\">[] {\n const { transactions, portfolio } = state;\n const fixedIncomes = getFixedIncomeAssets(portfolio);\n\n const tableData = transactions.map((transaction) => {\n const id = transaction.id;\n const entryTime = transaction.entryTime;\n const asset = fixedIncomes.find(\n (asset) => asset.id === transaction.fixedIncomeTransaction?.assetId,\n )?.name;\n const type = transaction.type;\n const typeLabel = groupTransactionTypeLabels[type];\n const cashTransactionSign = cashTransactionSignByTransactionType[type];\n const assetTransactionSign = isAssetGroupTransactionType(type)\n ? assetTransactionSignByTransactionType[type]\n : 1;\n const quantity = maybeAddSignToAmount(\n transaction.fixedIncomeTransaction?.amount,\n assetTransactionSign,\n );\n const cashAmount = maybeAddSignToAmount(\n transaction.cashTransaction.amount,\n cashTransactionSign,\n );\n const totalFees = feesTransactions.includes(transaction.type)\n ? (maybeAddSignToAmount(\n transaction.cashTransaction.amount,\n transaction.type === FEES_INCOME ? -1 : 1,\n ) ?? 0)\n : (transaction.fees?.reduce((acc, fee) => acc + fee.amount, 0) ?? 0);\n const cashBalanceChange = transaction.cashBalanceChange;\n\n return {\n ...transaction,\n id,\n type,\n typeLabel,\n entryTime,\n asset,\n quantity,\n cashAmount,\n totalFees,\n cashBalanceChange,\n };\n });\n\n return addItemNumber(tableData);\n}\nfunction makeAccountsTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"ACCOUNT\">[] {\n const { accounts, principalLenderAccountId } = state;\n\n const withoutPrincipalLender = accounts.filter(\n (account) => account.id !== principalLenderAccountId,\n );\n const tableData = addItemNumber(withoutPrincipalLender);\n\n return tableData;\n}\n\nfunction makeServiceProviderFeeTypesTableData(\n state: RealWorldAssetsState,\n): TableItemType<\"SERVICE_PROVIDER_FEE_TYPE\">[] {\n const { serviceProviderFeeTypes, accounts } = state;\n\n const tableData = serviceProviderFeeTypes.map((serviceProviderFeeType) => {\n const account = accounts.find(\n (account) => account.id === serviceProviderFeeType.accountId,\n );\n\n return {\n ...serviceProviderFeeType,\n accountName: account?.label,\n accountReference: account?.reference,\n };\n });\n\n return addItemNumber(tableData);\n}\nfunction addItemNumber<TItem extends Item>(items: TItem[]) {\n return items.map((item, index) => ({\n ...item,\n itemNumber: index + 1,\n })) as TableItem<TItem>[];\n}\n\nexport function makeTableData(\n tableName: TableName,\n state: RealWorldAssetsState,\n) {\n return tableDataMakersByTableName[tableName](state);\n}\n\nexport const tableDataMakersByTableName = {\n ASSET: makeAssetsTableData,\n TRANSACTION: makeGroupTransactionsTableData,\n ACCOUNT: makeAccountsTableData,\n FIXED_INCOME_TYPE: makeFixedIncomeTypesTableData,\n SERVICE_PROVIDER_FEE_TYPE: makeServiceProviderFeeTypesTableData,\n SPV: makeSPVsTableData,\n} as const;\n"],"names":["handleDateInTable","maybeDate","displayTime","isISODate","dateStr","formatDateForDisplay","handleTableDatum","datum","decimalScale","jsx","FormattedNumber","calculateUnitPrice","cashAmount","fixedIncomeAmount","calculateCashBalanceChange","transactionType","fees","sign","cashTransactionSignByTransactionType","totalFees","fee","acc","makeFixedIncomeTypesTableData","state","fixedIncomeTypes","addItemNumber","makeSPVsTableData","spvs","makeAssetsTableData","portfolio","transactions","currentDate","tableItems","getFixedIncomeAssets","fixedIncome","currentValue","calculateCurrentValue","maybeAddSignToAmount","amount","makeGroupTransactionsTableData","fixedIncomes","tableData","transaction","id","entryTime","asset","_a","type","typeLabel","groupTransactionTypeLabels","cashTransactionSign","assetTransactionSign","isAssetGroupTransactionType","assetTransactionSignByTransactionType","quantity","_b","feesTransactions","FEES_INCOME","_c","cashBalanceChange","makeAccountsTableData","accounts","principalLenderAccountId","withoutPrincipalLender","account","makeServiceProviderFeeTypesTableData","serviceProviderFeeTypes","serviceProviderFeeType","items","item","index","makeTableData","tableName","tableDataMakersByTableName"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wagmi.js","sources":["../../src/services/wagmi.ts"],"sourcesContent":["import { createConfig, http } from \"wagmi\";\nimport { mainnet } from \"wagmi/chains\";\n\nexport const wagmiConfig: ReturnType<typeof createConfig> = createConfig({\n chains: [mainnet],\n transports: {\n [mainnet.id]: http(),\n },\n});\n"],"names":["wagmiConfig","createConfig","mainnet","http"],"mappings":";;AAGO,MAAMA,IAA+CC,EAAa;AAAA,EACvE,QAAQ,CAACC,CAAO;AAAA,EAChB,YAAY;AAAA,IACV,CAACA,EAAQ,EAAE,GAAGC,EAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"wagmi.js","sources":["../../src/services/wagmi.ts"],"sourcesContent":["import { createConfig, http } from \"wagmi\";\nimport { mainnet } from \"wagmi/chains\";\n\nexport const wagmiConfig: ReturnType<typeof createConfig> = createConfig({\n chains: [mainnet],\n transports: {\n [mainnet.id]: http(),\n },\n});\n"],"names":["wagmiConfig","createConfig","mainnet","http"],"mappings":";;AAGO,MAAMA,IAA+CC,EAAa;AAAA,EACvE,QAAQ,CAACC,CAAO;AAAA,EAChB,YAAY;AAAA,IACV,CAACA,EAAQ,EAAE,GAAGC,EAAK;AAAA,EAAA;AAEvB,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-tailwind.config.js","sources":["../src/shared-tailwind.config.ts"],"sourcesContent":["import type { Config } from \"tailwindcss\";\nimport animate from \"tailwindcss-animate\";\nimport defaultTheme from \"tailwindcss/defaultTheme\";\nimport plugin from \"tailwindcss/plugin\";\n\nconst theme = {\n fontFamily: {\n sans: [\"Inter\", ...defaultTheme.fontFamily.sans],\n },\n fontSize: {\n ...defaultTheme.fontSize,\n xs: [\"0.75rem\", \"1.125rem\"],\n sm: [\"0.875rem\", \"1.5rem\"],\n base: [\"1rem\", \"1.5rem\"],\n lg: [\"1.125rem\", \"1.75rem\"],\n xl: [\"1.25rem\", \"1.875rem\"],\n \"2xl\": [\"1.5rem\", \"2.25rem\"],\n \"3xl\": [\"2rem\", \"3rem\"],\n \"4xl\": [\"2.5rem\", \"4rem\"],\n \"5xl\": [\"4rem\", \"5rem\"],\n },\n colors: {\n transparent: \"transparent\",\n inherit: \"inherit\",\n white: \"hsl(var(--color-white) / <alpha-value>)\",\n black: \"hsl(var(--color-black) / <alpha-value>)\",\n \"gray-50\": \"hsl(var(--color-gray-50) / <alpha-value>)\",\n \"gray-100\": \"hsl(var(--color-gray-100) / <alpha-value>)\",\n \"gray-200\": \"hsl(var(--color-gray-200) / <alpha-value>)\",\n \"gray-300\": \"hsl(var(--color-gray-300) / <alpha-value>)\",\n \"gray-400\": \"hsl(var(--color-gray-400) / <alpha-value>)\",\n \"gray-500\": \"hsl(var(--color-gray-500) / <alpha-value>)\",\n \"gray-600\": \"hsl(var(--color-gray-600) / <alpha-value>)\",\n \"gray-700\": \"hsl(var(--color-gray-700) / <alpha-value>)\",\n \"gray-800\": \"hsl(var(--color-gray-800) / <alpha-value>)\",\n \"gray-900\": \"hsl(var(--color-gray-900) / <alpha-value>)\",\n \"slate-50\": \"hsl(var(--color-slate-50) / <alpha-value>)\",\n \"slate-100\": \"hsl(var(--color-slate-100) / <alpha-value>)\",\n \"slate-200\": \"hsl(var(--color-slate-200) / <alpha-value>)\",\n \"slate-300\": \"hsl(var(--color-slate-300) / <alpha-value>)\",\n \"slate-400\": \"hsl(var(--color-slate-400) / <alpha-value>)\",\n \"slate-500\": \"hsl(var(--color-slate-500) / <alpha-value>)\",\n \"slate-600\": \"hsl(var(--color-slate-600) / <alpha-value>)\",\n \"slate-700\": \"hsl(var(--color-slate-700) / <alpha-value>)\",\n \"slate-800\": \"hsl(var(--color-slate-800) / <alpha-value>)\",\n \"slate-900\": \"hsl(var(--color-slate-900) / <alpha-value>)\",\n \"slate-950\": \"hsl(var(--color-slate-950) / <alpha-value>)\",\n \"blue-100\": \"hsl(var(--color-blue-100) / <alpha-value>)\",\n \"blue-200\": \"hsl(var(--color-blue-200) / <alpha-value>)\",\n \"blue-300\": \"hsl(var(--color-blue-300) / <alpha-value>)\",\n \"blue-400\": \"hsl(var(--color-blue-400) / <alpha-value>)\",\n \"blue-500\": \"hsl(var(--color-blue-500) / <alpha-value>)\",\n \"blue-600\": \"hsl(var(--color-blue-600) / <alpha-value>)\",\n \"blue-700\": \"hsl(var(--color-blue-700) / <alpha-value>)\",\n \"blue-800\": \"hsl(var(--color-blue-800) / <alpha-value>)\",\n \"blue-900\": \"hsl(var(--color-blue-900) / <alpha-value>)\",\n \"green-100\": \"hsl(var(--color-green-100) / <alpha-value>)\",\n \"green-200\": \"hsl(var(--color-green-200) / <alpha-value>)\",\n \"green-300\": \"hsl(var(--color-green-300) / <alpha-value>)\",\n \"green-400\": \"hsl(var(--color-green-400) / <alpha-value>)\",\n \"green-500\": \"hsl(var(--color-green-500) / <alpha-value>)\",\n \"green-600\": \"hsl(var(--color-green-600) / <alpha-value>)\",\n \"green-700\": \"hsl(var(--color-green-700) / <alpha-value>)\",\n \"green-800\": \"hsl(var(--color-green-800) / <alpha-value>)\",\n \"green-900\": \"hsl(var(--color-green-900) / <alpha-value>)\",\n \"purple-100\": \"hsl(var(--color-purple-100) / <alpha-value>)\",\n \"purple-200\": \"hsl(var(--color-purple-200) / <alpha-value>)\",\n \"purple-300\": \"hsl(var(--color-purple-300) / <alpha-value>)\",\n \"purple-400\": \"hsl(var(--color-purple-400) / <alpha-value>)\",\n \"purple-500\": \"hsl(var(--color-purple-500) / <alpha-value>)\",\n \"purple-600\": \"hsl(var(--color-purple-600) / <alpha-value>)\",\n \"purple-700\": \"hsl(var(--color-purple-700) / <alpha-value>)\",\n \"purple-800\": \"hsl(var(--color-purple-800) / <alpha-value>)\",\n \"purple-900\": \"hsl(var(--color-purple-900) / <alpha-value>)\",\n \"red-100\": \"hsl(var(--color-red-100) / <alpha-value>)\",\n \"red-200\": \"hsl(var(--color-red-200) / <alpha-value>)\",\n \"red-300\": \"hsl(var(--color-red-300) / <alpha-value>)\",\n \"red-400\": \"hsl(var(--color-red-400) / <alpha-value>)\",\n \"red-500\": \"hsl(var(--color-red-500) / <alpha-value>)\",\n \"red-600\": \"hsl(var(--color-red-600) / <alpha-value>)\",\n \"red-700\": \"hsl(var(--color-red-700) / <alpha-value>)\",\n \"red-800\": \"hsl(var(--color-red-800) / <alpha-value>)\",\n \"red-900\": \"hsl(var(--color-red-900) / <alpha-value>)\",\n \"orange-100\": \"hsl(var(--color-orange-100) / <alpha-value>)\",\n \"orange-200\": \"hsl(var(--color-orange-200) / <alpha-value>)\",\n \"orange-300\": \"hsl(var(--color-orange-300) / <alpha-value>)\",\n \"orange-400\": \"hsl(var(--color-orange-400) / <alpha-value>)\",\n \"orange-500\": \"hsl(var(--color-orange-500) / <alpha-value>)\",\n \"orange-600\": \"hsl(var(--color-orange-600) / <alpha-value>)\",\n \"orange-700\": \"hsl(var(--color-orange-700) / <alpha-value>)\",\n \"orange-800\": \"hsl(var(--color-orange-800) / <alpha-value>)\",\n \"orange-900\": \"hsl(var(--color-orange-900) / <alpha-value>)\",\n },\n boxShadow: {\n ...defaultTheme.boxShadow,\n sidebar: \"var(--shadow-sidebar)\",\n tooltip: \"var(--shadow-tooltip)\",\n button: \"var(--shadow-button)\",\n DEFAULT:\n \"0px 4px 8px -4px rgba(0, 0, 0, 0.02), 0px -1px 1px 0px rgba(0, 0, 0, 0.04) inset\",\n },\n extend: {\n gridTemplateColumns: {\n \"form-columns\": \"max-content auto\",\n },\n keyframes: {\n \"fade-in\": {\n \"0%\": { opacity: \"0%\" },\n \"100%\": { opacity: \"100%\" },\n },\n \"fade-out\": {\n \"0%\": { opacity: \"100%\" },\n \"100%\": { opacity: \"0%\" },\n },\n \"zoom-in\": {\n \"0%\": { transform: \"scale(0.95)\" },\n \"100%\": { transform: \"scale(1)\" },\n },\n \"zoom-out\": {\n \"0%\": { transform: \"scale(1)\" },\n \"100%\": { transform: \"scale(0.95)\" },\n },\n },\n animation: {\n \"fade-in\": \"fade-in 300ms ease-in\",\n \"fade-out\": \"fade-out 200ms ease-out\",\n \"zoom-in\": \"zoom-in 300ms ease-in\",\n \"zoom-out\": \"zoom-out 200ms ease-out\",\n },\n },\n} satisfies Config[\"theme\"];\n\nconst plugins = [\n animate,\n plugin(function ({ addVariant }) {\n addVariant(\"collapsed\", \":merge(.group).collapsed &\");\n addVariant(\"collapsing\", \":merge(.group).collapsing &\");\n addVariant(\"expanded\", \":merge(.group).expanded &\");\n addVariant(\"expanding\", \":merge(.group).expanding &\");\n }),\n] satisfies Config[\"plugins\"];\n\nexport const designSystemPreset = {\n theme,\n plugins,\n};\n"],"names":["theme","defaultTheme","plugins","animate","plugin","addVariant","designSystemPreset"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shared-tailwind.config.js","sources":["../src/shared-tailwind.config.ts"],"sourcesContent":["import type { Config } from \"tailwindcss\";\nimport animate from \"tailwindcss-animate\";\nimport defaultTheme from \"tailwindcss/defaultTheme\";\nimport plugin from \"tailwindcss/plugin\";\n\nconst theme = {\n fontFamily: {\n sans: [\"Inter\", ...defaultTheme.fontFamily.sans],\n },\n fontSize: {\n ...defaultTheme.fontSize,\n xs: [\"0.75rem\", \"1.125rem\"],\n sm: [\"0.875rem\", \"1.5rem\"],\n base: [\"1rem\", \"1.5rem\"],\n lg: [\"1.125rem\", \"1.75rem\"],\n xl: [\"1.25rem\", \"1.875rem\"],\n \"2xl\": [\"1.5rem\", \"2.25rem\"],\n \"3xl\": [\"2rem\", \"3rem\"],\n \"4xl\": [\"2.5rem\", \"4rem\"],\n \"5xl\": [\"4rem\", \"5rem\"],\n },\n colors: {\n transparent: \"transparent\",\n inherit: \"inherit\",\n white: \"hsl(var(--color-white) / <alpha-value>)\",\n black: \"hsl(var(--color-black) / <alpha-value>)\",\n \"gray-50\": \"hsl(var(--color-gray-50) / <alpha-value>)\",\n \"gray-100\": \"hsl(var(--color-gray-100) / <alpha-value>)\",\n \"gray-200\": \"hsl(var(--color-gray-200) / <alpha-value>)\",\n \"gray-300\": \"hsl(var(--color-gray-300) / <alpha-value>)\",\n \"gray-400\": \"hsl(var(--color-gray-400) / <alpha-value>)\",\n \"gray-500\": \"hsl(var(--color-gray-500) / <alpha-value>)\",\n \"gray-600\": \"hsl(var(--color-gray-600) / <alpha-value>)\",\n \"gray-700\": \"hsl(var(--color-gray-700) / <alpha-value>)\",\n \"gray-800\": \"hsl(var(--color-gray-800) / <alpha-value>)\",\n \"gray-900\": \"hsl(var(--color-gray-900) / <alpha-value>)\",\n \"slate-50\": \"hsl(var(--color-slate-50) / <alpha-value>)\",\n \"slate-100\": \"hsl(var(--color-slate-100) / <alpha-value>)\",\n \"slate-200\": \"hsl(var(--color-slate-200) / <alpha-value>)\",\n \"slate-300\": \"hsl(var(--color-slate-300) / <alpha-value>)\",\n \"slate-400\": \"hsl(var(--color-slate-400) / <alpha-value>)\",\n \"slate-500\": \"hsl(var(--color-slate-500) / <alpha-value>)\",\n \"slate-600\": \"hsl(var(--color-slate-600) / <alpha-value>)\",\n \"slate-700\": \"hsl(var(--color-slate-700) / <alpha-value>)\",\n \"slate-800\": \"hsl(var(--color-slate-800) / <alpha-value>)\",\n \"slate-900\": \"hsl(var(--color-slate-900) / <alpha-value>)\",\n \"slate-950\": \"hsl(var(--color-slate-950) / <alpha-value>)\",\n \"blue-100\": \"hsl(var(--color-blue-100) / <alpha-value>)\",\n \"blue-200\": \"hsl(var(--color-blue-200) / <alpha-value>)\",\n \"blue-300\": \"hsl(var(--color-blue-300) / <alpha-value>)\",\n \"blue-400\": \"hsl(var(--color-blue-400) / <alpha-value>)\",\n \"blue-500\": \"hsl(var(--color-blue-500) / <alpha-value>)\",\n \"blue-600\": \"hsl(var(--color-blue-600) / <alpha-value>)\",\n \"blue-700\": \"hsl(var(--color-blue-700) / <alpha-value>)\",\n \"blue-800\": \"hsl(var(--color-blue-800) / <alpha-value>)\",\n \"blue-900\": \"hsl(var(--color-blue-900) / <alpha-value>)\",\n \"green-100\": \"hsl(var(--color-green-100) / <alpha-value>)\",\n \"green-200\": \"hsl(var(--color-green-200) / <alpha-value>)\",\n \"green-300\": \"hsl(var(--color-green-300) / <alpha-value>)\",\n \"green-400\": \"hsl(var(--color-green-400) / <alpha-value>)\",\n \"green-500\": \"hsl(var(--color-green-500) / <alpha-value>)\",\n \"green-600\": \"hsl(var(--color-green-600) / <alpha-value>)\",\n \"green-700\": \"hsl(var(--color-green-700) / <alpha-value>)\",\n \"green-800\": \"hsl(var(--color-green-800) / <alpha-value>)\",\n \"green-900\": \"hsl(var(--color-green-900) / <alpha-value>)\",\n \"purple-100\": \"hsl(var(--color-purple-100) / <alpha-value>)\",\n \"purple-200\": \"hsl(var(--color-purple-200) / <alpha-value>)\",\n \"purple-300\": \"hsl(var(--color-purple-300) / <alpha-value>)\",\n \"purple-400\": \"hsl(var(--color-purple-400) / <alpha-value>)\",\n \"purple-500\": \"hsl(var(--color-purple-500) / <alpha-value>)\",\n \"purple-600\": \"hsl(var(--color-purple-600) / <alpha-value>)\",\n \"purple-700\": \"hsl(var(--color-purple-700) / <alpha-value>)\",\n \"purple-800\": \"hsl(var(--color-purple-800) / <alpha-value>)\",\n \"purple-900\": \"hsl(var(--color-purple-900) / <alpha-value>)\",\n \"red-100\": \"hsl(var(--color-red-100) / <alpha-value>)\",\n \"red-200\": \"hsl(var(--color-red-200) / <alpha-value>)\",\n \"red-300\": \"hsl(var(--color-red-300) / <alpha-value>)\",\n \"red-400\": \"hsl(var(--color-red-400) / <alpha-value>)\",\n \"red-500\": \"hsl(var(--color-red-500) / <alpha-value>)\",\n \"red-600\": \"hsl(var(--color-red-600) / <alpha-value>)\",\n \"red-700\": \"hsl(var(--color-red-700) / <alpha-value>)\",\n \"red-800\": \"hsl(var(--color-red-800) / <alpha-value>)\",\n \"red-900\": \"hsl(var(--color-red-900) / <alpha-value>)\",\n \"orange-100\": \"hsl(var(--color-orange-100) / <alpha-value>)\",\n \"orange-200\": \"hsl(var(--color-orange-200) / <alpha-value>)\",\n \"orange-300\": \"hsl(var(--color-orange-300) / <alpha-value>)\",\n \"orange-400\": \"hsl(var(--color-orange-400) / <alpha-value>)\",\n \"orange-500\": \"hsl(var(--color-orange-500) / <alpha-value>)\",\n \"orange-600\": \"hsl(var(--color-orange-600) / <alpha-value>)\",\n \"orange-700\": \"hsl(var(--color-orange-700) / <alpha-value>)\",\n \"orange-800\": \"hsl(var(--color-orange-800) / <alpha-value>)\",\n \"orange-900\": \"hsl(var(--color-orange-900) / <alpha-value>)\",\n },\n boxShadow: {\n ...defaultTheme.boxShadow,\n sidebar: \"var(--shadow-sidebar)\",\n tooltip: \"var(--shadow-tooltip)\",\n button: \"var(--shadow-button)\",\n DEFAULT:\n \"0px 4px 8px -4px rgba(0, 0, 0, 0.02), 0px -1px 1px 0px rgba(0, 0, 0, 0.04) inset\",\n },\n extend: {\n gridTemplateColumns: {\n \"form-columns\": \"max-content auto\",\n },\n keyframes: {\n \"fade-in\": {\n \"0%\": { opacity: \"0%\" },\n \"100%\": { opacity: \"100%\" },\n },\n \"fade-out\": {\n \"0%\": { opacity: \"100%\" },\n \"100%\": { opacity: \"0%\" },\n },\n \"zoom-in\": {\n \"0%\": { transform: \"scale(0.95)\" },\n \"100%\": { transform: \"scale(1)\" },\n },\n \"zoom-out\": {\n \"0%\": { transform: \"scale(1)\" },\n \"100%\": { transform: \"scale(0.95)\" },\n },\n },\n animation: {\n \"fade-in\": \"fade-in 300ms ease-in\",\n \"fade-out\": \"fade-out 200ms ease-out\",\n \"zoom-in\": \"zoom-in 300ms ease-in\",\n \"zoom-out\": \"zoom-out 200ms ease-out\",\n },\n },\n} satisfies Config[\"theme\"];\n\nconst plugins = [\n animate,\n plugin(function ({ addVariant }) {\n addVariant(\"collapsed\", \":merge(.group).collapsed &\");\n addVariant(\"collapsing\", \":merge(.group).collapsing &\");\n addVariant(\"expanded\", \":merge(.group).expanded &\");\n addVariant(\"expanding\", \":merge(.group).expanding &\");\n }),\n] satisfies Config[\"plugins\"];\n\nexport const designSystemPreset = {\n theme,\n plugins,\n};\n"],"names":["theme","defaultTheme","plugins","animate","plugin","addVariant","designSystemPreset"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/design-system",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"files": [
|
|
6
6
|
"/dist"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"camelcase": "^8.0.0",
|
|
56
56
|
"chromatic": "^11.11.0",
|
|
57
57
|
"cross-env": "^7.0.3",
|
|
58
|
-
"document-model": "2.4.
|
|
58
|
+
"document-model": "2.4.1",
|
|
59
59
|
"fast-xml-parser": "^4.3.4",
|
|
60
60
|
"jsdom": "^24.0.0",
|
|
61
61
|
"lightningcss": "^1.27.0",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"tsx": "^4.19.1"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
|
-
"document-model": "^2.1
|
|
71
|
+
"document-model": "^2.3.1",
|
|
72
72
|
"react": "^18.3.1",
|
|
73
73
|
"react-dom": "^18.3.1"
|
|
74
74
|
},
|