@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":"table.js","sources":["../../../../../src/rwa/components/table/base/table.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport {\n ItemNumberCell,\n MoreDetailsCell,\n RWATableCell,\n RWATableRow,\n SortDirection,\n TableBase,\n TableColumn,\n TableItemType,\n TableName,\n TableProps,\n columnsByTableName,\n defaultColumnCountByTableWidth,\n handleTableDatum,\n tableLabels,\n useColumnPriority,\n useEditorContext,\n useTableHeight,\n} from \"@/rwa\";\nimport { useCallback, useRef } from \"react\";\nimport { Fragment } from \"react/jsx-runtime\";\n\nexport function Table(props: TableProps) {\n const {\n tableName,\n tableData,\n columnCountByTableWidth = defaultColumnCountByTableWidth,\n sortHandler,\n specialFirstRow,\n specialLastRow,\n } = props;\n\n const columns = columnsByTableName[tableName];\n\n const {\n operation,\n selectedTableItem,\n isAllowedToCreateDocuments,\n createItem,\n } = useEditorContext();\n\n const tableContainerRef = useRef<HTMLDivElement>(null);\n const rowRefs = useRef<(HTMLTableRowElement | null)[]>([]);\n const headerRef = useRef<HTMLTableSectionElement>(null);\n\n const columnsToShow = useColumnPriority({\n columns,\n columnCountByTableWidth,\n tableContainerRef,\n });\n\n const maxHeight = useTableHeight({\n tableContainerRef,\n rowRefs,\n headerRef,\n selectedItemNumber: selectedTableItem?.itemNumber,\n hasSpecialLastRow: !!specialLastRow,\n });\n\n const tableLabel = tableLabels[tableName];\n\n const onCreateItemClick = useCallback(() => {\n createItem(tableName);\n }, [createItem, tableName]);\n\n const renderRow = useCallback(\n (\n tableItem: TableItemType<TableName>,\n columns: TableColumn[],\n index: number,\n ) => {\n const isSelected = selectedTableItem?.id === tableItem.id;\n\n return (\n <RWATableRow\n key={tableItem.id}\n ref={(el) => (rowRefs.current[index] = el)}\n >\n {columns.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"itemNumber\" && (\n <ItemNumberCell itemNumber={tableItem.itemNumber} />\n )}\n {column.key !== \"itemNumber\" && column.key !== \"moreDetails\" && (\n <RWATableCell\n className={column.isNumberColumn ? \"text-right\" : \"\"}\n key={column.key}\n >\n {handleTableDatum(\n tableItem[column.key as keyof TableItemType<TableName>],\n column.decimalScale,\n column.displayTime,\n )}\n </RWATableCell>\n )}\n {column.key === \"moreDetails\" && (\n <MoreDetailsCell\n isSelected={isSelected}\n tableItem={tableItem}\n tableName={tableName}\n />\n )}\n </Fragment>\n ))}\n </RWATableRow>\n );\n },\n [selectedTableItem?.id, tableName],\n );\n\n return (\n <>\n <TableBase\n columns={columnsToShow}\n hasSelectedItem={!!selectedTableItem}\n headerRef={headerRef}\n maxHeight={maxHeight}\n onClickSort={\n sortHandler as (key: string, direction: SortDirection) => void\n }\n ref={tableContainerRef}\n renderRow={renderRow}\n specialFirstRow={specialFirstRow}\n specialLastRow={specialLastRow}\n tableData={tableData}\n />\n {isAllowedToCreateDocuments && !operation ? (\n <button\n className=\"mt-4 flex h-11 w-full items-center justify-center gap-x-2 rounded-lg border border-gray-300 bg-white text-sm font-semibold text-gray-900\"\n onClick={onCreateItemClick}\n >\n <span>Create {tableLabel}</span>\n <Icon name=\"Plus\" size={14} />\n </button>\n ) : null}\n </>\n );\n}\n"],"names":["Table","props","tableName","tableData","columnCountByTableWidth","defaultColumnCountByTableWidth","sortHandler","specialFirstRow","specialLastRow","columns","columnsByTableName","operation","selectedTableItem","isAllowedToCreateDocuments","createItem","useEditorContext","tableContainerRef","useRef","rowRefs","headerRef","columnsToShow","useColumnPriority","maxHeight","useTableHeight","tableLabel","tableLabels","onCreateItemClick","useCallback","renderRow","tableItem","index","isSelected","jsx","RWATableRow","el","column","jsxs","Fragment","ItemNumberCell","RWATableCell","handleTableDatum","MoreDetailsCell","TableBase","Icon"],"mappings":";;;;;;;;;;;;;AAuBO,SAASA,GAAMC,GAAmB;AACjC,QAAA;AAAA,IACJ,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC,IAA0BC;AAAA,IAC1B,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA,
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../../../src/rwa/components/table/base/table.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport {\n ItemNumberCell,\n MoreDetailsCell,\n RWATableCell,\n RWATableRow,\n SortDirection,\n TableBase,\n TableColumn,\n TableItemType,\n TableName,\n TableProps,\n columnsByTableName,\n defaultColumnCountByTableWidth,\n handleTableDatum,\n tableLabels,\n useColumnPriority,\n useEditorContext,\n useTableHeight,\n} from \"@/rwa\";\nimport { useCallback, useRef } from \"react\";\nimport { Fragment } from \"react/jsx-runtime\";\n\nexport function Table(props: TableProps) {\n const {\n tableName,\n tableData,\n columnCountByTableWidth = defaultColumnCountByTableWidth,\n sortHandler,\n specialFirstRow,\n specialLastRow,\n } = props;\n\n const columns = columnsByTableName[tableName];\n\n const {\n operation,\n selectedTableItem,\n isAllowedToCreateDocuments,\n createItem,\n } = useEditorContext();\n\n const tableContainerRef = useRef<HTMLDivElement>(null);\n const rowRefs = useRef<(HTMLTableRowElement | null)[]>([]);\n const headerRef = useRef<HTMLTableSectionElement>(null);\n\n const columnsToShow = useColumnPriority({\n columns,\n columnCountByTableWidth,\n tableContainerRef,\n });\n\n const maxHeight = useTableHeight({\n tableContainerRef,\n rowRefs,\n headerRef,\n selectedItemNumber: selectedTableItem?.itemNumber,\n hasSpecialLastRow: !!specialLastRow,\n });\n\n const tableLabel = tableLabels[tableName];\n\n const onCreateItemClick = useCallback(() => {\n createItem(tableName);\n }, [createItem, tableName]);\n\n const renderRow = useCallback(\n (\n tableItem: TableItemType<TableName>,\n columns: TableColumn[],\n index: number,\n ) => {\n const isSelected = selectedTableItem?.id === tableItem.id;\n\n return (\n <RWATableRow\n key={tableItem.id}\n ref={(el) => (rowRefs.current[index] = el)}\n >\n {columns.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"itemNumber\" && (\n <ItemNumberCell itemNumber={tableItem.itemNumber} />\n )}\n {column.key !== \"itemNumber\" && column.key !== \"moreDetails\" && (\n <RWATableCell\n className={column.isNumberColumn ? \"text-right\" : \"\"}\n key={column.key}\n >\n {handleTableDatum(\n tableItem[column.key as keyof TableItemType<TableName>],\n column.decimalScale,\n column.displayTime,\n )}\n </RWATableCell>\n )}\n {column.key === \"moreDetails\" && (\n <MoreDetailsCell\n isSelected={isSelected}\n tableItem={tableItem}\n tableName={tableName}\n />\n )}\n </Fragment>\n ))}\n </RWATableRow>\n );\n },\n [selectedTableItem?.id, tableName],\n );\n\n return (\n <>\n <TableBase\n columns={columnsToShow}\n hasSelectedItem={!!selectedTableItem}\n headerRef={headerRef}\n maxHeight={maxHeight}\n onClickSort={\n sortHandler as (key: string, direction: SortDirection) => void\n }\n ref={tableContainerRef}\n renderRow={renderRow}\n specialFirstRow={specialFirstRow}\n specialLastRow={specialLastRow}\n tableData={tableData}\n />\n {isAllowedToCreateDocuments && !operation ? (\n <button\n className=\"mt-4 flex h-11 w-full items-center justify-center gap-x-2 rounded-lg border border-gray-300 bg-white text-sm font-semibold text-gray-900\"\n onClick={onCreateItemClick}\n >\n <span>Create {tableLabel}</span>\n <Icon name=\"Plus\" size={14} />\n </button>\n ) : null}\n </>\n );\n}\n"],"names":["Table","props","tableName","tableData","columnCountByTableWidth","defaultColumnCountByTableWidth","sortHandler","specialFirstRow","specialLastRow","columns","columnsByTableName","operation","selectedTableItem","isAllowedToCreateDocuments","createItem","useEditorContext","tableContainerRef","useRef","rowRefs","headerRef","columnsToShow","useColumnPriority","maxHeight","useTableHeight","tableLabel","tableLabels","onCreateItemClick","useCallback","renderRow","tableItem","index","isSelected","jsx","RWATableRow","el","column","jsxs","Fragment","ItemNumberCell","RWATableCell","handleTableDatum","MoreDetailsCell","TableBase","Icon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cash-balance-change.js","sources":["../../../../../src/rwa/components/table/transactions/cash-balance-change.tsx"],"sourcesContent":["import { GroupTransactionFormInputs } from \"@/rwa/types\";\nimport { calculateCashBalanceChange } from \"@/rwa/utils\";\nimport { Control, useWatch } from \"react-hook-form\";\nimport { FormattedNumber } from \"../base\";\n\nexport function CashBalanceChange(props: {\n readonly control: Control<GroupTransactionFormInputs>;\n}) {\n const { control } = props;\n const cashAmount = useWatch({ control, name: \"cashAmount\" });\n const type = useWatch({ control, name: \"type\" });\n const fees = useWatch({ control, name: \"fees\" });\n\n const cashBalanceChange = calculateCashBalanceChange(type, cashAmount, fees);\n\n return (\n <div className=\"flex items-center justify-between border-t border-gray-300 bg-gray-100 p-3 font-semibold text-gray-800\">\n <div className=\"mr-6 text-sm text-gray-600\">Cash Balance Change $USD</div>\n <div className=\"h-px flex-1 border-b border-dashed border-gray-400\" />\n <div className=\"pl-8 text-sm text-gray-900\">\n <FormattedNumber value={cashBalanceChange} />\n </div>\n </div>\n );\n}\n"],"names":["CashBalanceChange","props","control","cashAmount","useWatch","type","fees","cashBalanceChange","calculateCashBalanceChange","jsxs","jsx","FormattedNumber"],"mappings":";;;;AAKO,SAASA,EAAkBC,GAE/B;AACK,QAAA,EAAE,SAAAC,
|
|
1
|
+
{"version":3,"file":"cash-balance-change.js","sources":["../../../../../src/rwa/components/table/transactions/cash-balance-change.tsx"],"sourcesContent":["import { GroupTransactionFormInputs } from \"@/rwa/types\";\nimport { calculateCashBalanceChange } from \"@/rwa/utils\";\nimport { Control, useWatch } from \"react-hook-form\";\nimport { FormattedNumber } from \"../base\";\n\nexport function CashBalanceChange(props: {\n readonly control: Control<GroupTransactionFormInputs>;\n}) {\n const { control } = props;\n const cashAmount = useWatch({ control, name: \"cashAmount\" });\n const type = useWatch({ control, name: \"type\" });\n const fees = useWatch({ control, name: \"fees\" });\n\n const cashBalanceChange = calculateCashBalanceChange(type, cashAmount, fees);\n\n return (\n <div className=\"flex items-center justify-between border-t border-gray-300 bg-gray-100 p-3 font-semibold text-gray-800\">\n <div className=\"mr-6 text-sm text-gray-600\">Cash Balance Change $USD</div>\n <div className=\"h-px flex-1 border-b border-dashed border-gray-400\" />\n <div className=\"pl-8 text-sm text-gray-900\">\n <FormattedNumber value={cashBalanceChange} />\n </div>\n </div>\n );\n}\n"],"names":["CashBalanceChange","props","control","cashAmount","useWatch","type","fees","cashBalanceChange","calculateCashBalanceChange","jsxs","jsx","FormattedNumber"],"mappings":";;;;AAKO,SAASA,EAAkBC,GAE/B;AACK,QAAA,EAAE,SAAAC,MAAYD,GACdE,IAAaC,EAAS,EAAE,SAAAF,GAAS,MAAM,cAAc,GACrDG,IAAOD,EAAS,EAAE,SAAAF,GAAS,MAAM,QAAQ,GACzCI,IAAOF,EAAS,EAAE,SAAAF,GAAS,MAAM,QAAQ,GAEzCK,IAAoBC,EAA2BH,GAAMF,GAAYG,CAAI;AAGzE,SAAA,gBAAAG,EAAC,OAAI,EAAA,WAAU,0GACb,UAAA;AAAA,IAAC,gBAAAC,EAAA,OAAA,EAAI,WAAU,8BAA6B,UAAwB,4BAAA;AAAA,IACpE,gBAAAA,EAAC,OAAI,EAAA,WAAU,qDAAqD,CAAA;AAAA,IACpE,gBAAAA,EAAC,SAAI,WAAU,8BACb,4BAACC,GAAgB,EAAA,OAAOJ,EAAmB,CAAA,EAC7C,CAAA;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee-transactions-table.js","sources":["../../../../../src/rwa/components/table/transactions/fee-transactions-table.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport {\n GroupTransactionFormInputs,\n RWANumberInput,\n RWATableSelect,\n ServiceProviderFeeType,\n} from \"@/rwa\";\nimport { Control, FieldErrors, Path, useFieldArray } from \"react-hook-form\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = {\n readonly canHaveTransactionFees: boolean;\n readonly serviceProviderFeeTypes: ServiceProviderFeeType[];\n readonly serviceProviderFeeTypeOptions: { label: string; value: string }[];\n readonly showCreateServiceProviderFeeTypeModal: () => void;\n readonly control: Control<GroupTransactionFormInputs>;\n readonly errors: FieldErrors<GroupTransactionFormInputs>;\n readonly isViewOnly: boolean;\n};\n\nexport function FeeTransactionsTable(props: Props) {\n const headings = [\"Fees\", \"Service Provider\", \"Amount\", \"\"] as const;\n const {\n canHaveTransactionFees,\n serviceProviderFeeTypes,\n serviceProviderFeeTypeOptions,\n control,\n errors,\n isViewOnly,\n showCreateServiceProviderFeeTypeModal,\n } = props;\n\n const { fields, append, remove } = useFieldArray({\n control,\n name: \"fees\",\n });\n\n if (!canHaveTransactionFees) {\n return null;\n }\n\n return (\n <>\n {fields.length > 0 && (\n <div className=\"bg-gray-50 pl-5 pt-3\">\n <table className=\"w-full border-separate text-xs font-medium\">\n <thead className=\"mb-2\">\n <tr>\n {headings.map((heading) => (\n <th\n className={twMerge(\n \"py-2 text-left font-medium text-gray-600\",\n heading === \"Amount\" && !isViewOnly && \"text-right\",\n )}\n key={heading}\n >\n {heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {fields.map((feeInput, index) => {\n return (\n <tr key={feeInput.id}>\n <td className=\"w-52\" />\n <td className=\"w-96\">\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateServiceProviderFeeTypeModal,\n label: \"Add Service Provider\",\n }}\n aria-invalid={\n errors.fees?.[index]?.serviceProviderFeeTypeId\n ? \"true\"\n : \"false\"\n }\n control={control}\n disabled={isViewOnly}\n name={`fees.${index}.serviceProviderFeeTypeId`}\n options={serviceProviderFeeTypeOptions}\n rules={{\n required: \"Service provider is required\",\n }}\n />\n </td>\n <td className=\"w-52\">\n <RWANumberInput\n aria-invalid={\n errors.fees?.[index]?.amount ? \"true\" : \"false\"\n }\n control={control}\n currency=\"USD\"\n disabled={isViewOnly}\n name={\n `fees.${index}.amount` as Path<GroupTransactionFormInputs>\n }\n placeholder=\"E.g. $1,000.00\"\n rules={{\n required: \"Amount is required\",\n validate: {\n positive: (value) =>\n (!!value && Number(value) > 0) ||\n \"Fee amount must be greater than zero\",\n },\n }}\n />\n </td>\n <td className=\"\">\n {!isViewOnly && (\n <button\n className=\"flex items-center\"\n onClick={() => remove(index)}\n type=\"button\"\n >\n <Icon className=\"text-gray-900\" name=\"Xmark\" />\n </button>\n )}\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n )}\n {!isViewOnly && (\n <button\n className=\"ml-[234px] mt-1 flex w-fit items-center justify-center gap-x-2 rounded-lg bg-white pb-6 text-sm font-semibold text-gray-900\"\n onClick={() =>\n append({\n amount: null,\n serviceProviderFeeTypeId: serviceProviderFeeTypes[0]?.id,\n })\n }\n >\n <span>Add Fee</span>\n <Icon name=\"Plus\" size={16} />\n </button>\n )}\n </>\n );\n}\n"],"names":["FeeTransactionsTable","props","headings","canHaveTransactionFees","serviceProviderFeeTypes","serviceProviderFeeTypeOptions","control","errors","isViewOnly","showCreateServiceProviderFeeTypeModal","fields","append","remove","useFieldArray","jsxs","Fragment","jsx","heading","twMerge","feeInput","index","RWATableSelect","_b","_a","RWANumberInput","_d","_c","value","Icon"],"mappings":";;;;;;AAoBO,SAASA,EAAqBC,GAAc;AACjD,QAAMC,IAAW,CAAC,QAAQ,oBAAoB,UAAU,EAAE,GACpD;AAAA,IACJ,wBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,uCAAAC;AAAA,
|
|
1
|
+
{"version":3,"file":"fee-transactions-table.js","sources":["../../../../../src/rwa/components/table/transactions/fee-transactions-table.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport {\n GroupTransactionFormInputs,\n RWANumberInput,\n RWATableSelect,\n ServiceProviderFeeType,\n} from \"@/rwa\";\nimport { Control, FieldErrors, Path, useFieldArray } from \"react-hook-form\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = {\n readonly canHaveTransactionFees: boolean;\n readonly serviceProviderFeeTypes: ServiceProviderFeeType[];\n readonly serviceProviderFeeTypeOptions: { label: string; value: string }[];\n readonly showCreateServiceProviderFeeTypeModal: () => void;\n readonly control: Control<GroupTransactionFormInputs>;\n readonly errors: FieldErrors<GroupTransactionFormInputs>;\n readonly isViewOnly: boolean;\n};\n\nexport function FeeTransactionsTable(props: Props) {\n const headings = [\"Fees\", \"Service Provider\", \"Amount\", \"\"] as const;\n const {\n canHaveTransactionFees,\n serviceProviderFeeTypes,\n serviceProviderFeeTypeOptions,\n control,\n errors,\n isViewOnly,\n showCreateServiceProviderFeeTypeModal,\n } = props;\n\n const { fields, append, remove } = useFieldArray({\n control,\n name: \"fees\",\n });\n\n if (!canHaveTransactionFees) {\n return null;\n }\n\n return (\n <>\n {fields.length > 0 && (\n <div className=\"bg-gray-50 pl-5 pt-3\">\n <table className=\"w-full border-separate text-xs font-medium\">\n <thead className=\"mb-2\">\n <tr>\n {headings.map((heading) => (\n <th\n className={twMerge(\n \"py-2 text-left font-medium text-gray-600\",\n heading === \"Amount\" && !isViewOnly && \"text-right\",\n )}\n key={heading}\n >\n {heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {fields.map((feeInput, index) => {\n return (\n <tr key={feeInput.id}>\n <td className=\"w-52\" />\n <td className=\"w-96\">\n <RWATableSelect\n addItemButtonProps={{\n onClick: showCreateServiceProviderFeeTypeModal,\n label: \"Add Service Provider\",\n }}\n aria-invalid={\n errors.fees?.[index]?.serviceProviderFeeTypeId\n ? \"true\"\n : \"false\"\n }\n control={control}\n disabled={isViewOnly}\n name={`fees.${index}.serviceProviderFeeTypeId`}\n options={serviceProviderFeeTypeOptions}\n rules={{\n required: \"Service provider is required\",\n }}\n />\n </td>\n <td className=\"w-52\">\n <RWANumberInput\n aria-invalid={\n errors.fees?.[index]?.amount ? \"true\" : \"false\"\n }\n control={control}\n currency=\"USD\"\n disabled={isViewOnly}\n name={\n `fees.${index}.amount` as Path<GroupTransactionFormInputs>\n }\n placeholder=\"E.g. $1,000.00\"\n rules={{\n required: \"Amount is required\",\n validate: {\n positive: (value) =>\n (!!value && Number(value) > 0) ||\n \"Fee amount must be greater than zero\",\n },\n }}\n />\n </td>\n <td className=\"\">\n {!isViewOnly && (\n <button\n className=\"flex items-center\"\n onClick={() => remove(index)}\n type=\"button\"\n >\n <Icon className=\"text-gray-900\" name=\"Xmark\" />\n </button>\n )}\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n )}\n {!isViewOnly && (\n <button\n className=\"ml-[234px] mt-1 flex w-fit items-center justify-center gap-x-2 rounded-lg bg-white pb-6 text-sm font-semibold text-gray-900\"\n onClick={() =>\n append({\n amount: null,\n serviceProviderFeeTypeId: serviceProviderFeeTypes[0]?.id,\n })\n }\n >\n <span>Add Fee</span>\n <Icon name=\"Plus\" size={16} />\n </button>\n )}\n </>\n );\n}\n"],"names":["FeeTransactionsTable","props","headings","canHaveTransactionFees","serviceProviderFeeTypes","serviceProviderFeeTypeOptions","control","errors","isViewOnly","showCreateServiceProviderFeeTypeModal","fields","append","remove","useFieldArray","jsxs","Fragment","jsx","heading","twMerge","feeInput","index","RWATableSelect","_b","_a","RWANumberInput","_d","_c","value","Icon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-transactions-table.js","sources":["../../../../../src/rwa/components/table/transactions/group-transactions-table.tsx"],"sourcesContent":["import { Combobox } from \"@/connect\";\nimport { Pagination, usePagination } from \"@/powerhouse\";\nimport {\n allGroupTransactionTypes,\n groupTransactionTypeLabels,\n ItemDetails,\n makeFixedIncomeOptionLabel,\n Table,\n tableNames,\n useEditorContext,\n useTableData,\n} from \"@/rwa\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nexport function GroupTransactionsTable() {\n const tableName = tableNames.TRANSACTION;\n const { getIsFormOpen, fixedIncomes } = useEditorContext();\n\n const showForm = getIsFormOpen(tableName);\n const { tableData, sortHandler } = useTableData(tableName);\n const [filteredTableData, setFilteredTableData] = useState(tableData);\n const [filterAssetId, setFilterAssetId] = useState<string>();\n const [filterTypes, setFilterTypes] = useState<\n (keyof typeof allGroupTransactionTypes)[]\n >([]);\n const shouldPaginate = filteredTableData.length > 20;\n\n useEffect(() => {\n if (!filterAssetId && !filterTypes.length) {\n setFilteredTableData(tableData);\n return;\n }\n\n setFilteredTableData(\n tableData.filter((transaction) => {\n if (filterAssetId && filterTypes.length) {\n return (\n transaction.fixedIncomeTransaction?.assetId === filterAssetId &&\n filterTypes.includes(transaction.type)\n );\n }\n\n if (filterAssetId) {\n return transaction.fixedIncomeTransaction?.assetId === filterAssetId;\n }\n\n if (filterTypes.length) {\n return filterTypes.includes(transaction.type);\n }\n }),\n );\n }, [filterAssetId, filterTypes, tableData]);\n\n const filterByAssetOptions = useMemo(\n () =>\n fixedIncomes.map((asset) => ({\n label: makeFixedIncomeOptionLabel(asset),\n value: asset.id,\n })),\n [fixedIncomes],\n );\n\n const filterByTypeOptions = useMemo(\n () =>\n allGroupTransactionTypes.map((type) => ({\n label: groupTransactionTypeLabels[type],\n value: type,\n })),\n [],\n );\n\n const {\n pageItems,\n pages,\n goToPage,\n goToNextPage,\n goToPreviousPage,\n goToFirstPage,\n goToLastPage,\n hiddenNextPages,\n isNextPageAvailable,\n isPreviousPageAvailable,\n } = usePagination(filteredTableData);\n\n const handleFilterByAssetChange = useCallback((update: unknown) => {\n if (!update || !(typeof update === \"object\") || !(\"value\" in update)) {\n setFilterAssetId(undefined);\n return;\n }\n\n const { value: assetId } = update;\n\n setFilterAssetId(assetId as string);\n }, []);\n\n const handleFilterByTypeChange = useCallback((update: unknown) => {\n if (!update || !Array.isArray(update)) {\n setFilterTypes([]);\n return;\n }\n\n const _update = update as {\n value: keyof typeof allGroupTransactionTypes;\n }[];\n\n setFilterTypes(_update.map(({ value }) => value));\n }, []);\n\n return (\n <>\n <div className=\"mb-2 flex gap-2\">\n <div className=\"min-w-72 max-w-96\">\n <Combobox\n isClearable\n onChange={handleFilterByAssetChange}\n options={filterByAssetOptions}\n placeholder=\"Filter by Asset\"\n />\n </div>\n <div className=\"min-w-72 max-w-96\">\n <Combobox\n isClearable\n isMulti\n onChange={handleFilterByTypeChange}\n options={filterByTypeOptions}\n placeholder=\"Filter by Type\"\n />\n </div>\n <div className=\"flex w-full justify-end\">\n {shouldPaginate ? (\n <Pagination\n goToFirstPage={goToFirstPage}\n goToLastPage={goToLastPage}\n goToNextPage={goToNextPage}\n goToPage={goToPage}\n goToPreviousPage={goToPreviousPage}\n hiddenNextPages={hiddenNextPages}\n isNextPageAvailable={isNextPageAvailable}\n isPreviousPageAvailable={isPreviousPageAvailable}\n nextPageLabel=\"Next\"\n pages={pages}\n previousPageLabel=\"Previous\"\n />\n ) : null}\n </div>\n </div>\n <Table\n sortHandler={sortHandler}\n tableData={pageItems}\n tableName={tableName}\n />\n {showForm ? (\n <div className=\"mt-4 rounded-md bg-white\">\n <ItemDetails tableName={tableName} />\n </div>\n ) : null}\n </>\n );\n}\n"],"names":["GroupTransactionsTable","tableName","tableNames","getIsFormOpen","fixedIncomes","useEditorContext","showForm","tableData","sortHandler","useTableData","filteredTableData","setFilteredTableData","useState","filterAssetId","setFilterAssetId","filterTypes","setFilterTypes","shouldPaginate","useEffect","transaction","_a","_b","filterByAssetOptions","useMemo","asset","makeFixedIncomeOptionLabel","filterByTypeOptions","allGroupTransactionTypes","type","groupTransactionTypeLabels","pageItems","pages","goToPage","goToNextPage","goToPreviousPage","goToFirstPage","goToLastPage","hiddenNextPages","isNextPageAvailable","isPreviousPageAvailable","usePagination","handleFilterByAssetChange","useCallback","update","assetId","handleFilterByTypeChange","value","jsxs","Fragment","jsx","Combobox","Pagination","Table","ItemDetails"],"mappings":";;;;;;;;;;;;AAcO,SAASA,KAAyB;AACvC,QAAMC,IAAYC,EAAW,aACvB,EAAE,eAAAC,GAAe,cAAAC,EAAa,IAAIC,EAAiB,GAEnDC,IAAWH,EAAcF,CAAS,GAClC,EAAE,WAAAM,GAAW,aAAAC,
|
|
1
|
+
{"version":3,"file":"group-transactions-table.js","sources":["../../../../../src/rwa/components/table/transactions/group-transactions-table.tsx"],"sourcesContent":["import { Combobox } from \"@/connect\";\nimport { Pagination, usePagination } from \"@/powerhouse\";\nimport {\n allGroupTransactionTypes,\n groupTransactionTypeLabels,\n ItemDetails,\n makeFixedIncomeOptionLabel,\n Table,\n tableNames,\n useEditorContext,\n useTableData,\n} from \"@/rwa\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nexport function GroupTransactionsTable() {\n const tableName = tableNames.TRANSACTION;\n const { getIsFormOpen, fixedIncomes } = useEditorContext();\n\n const showForm = getIsFormOpen(tableName);\n const { tableData, sortHandler } = useTableData(tableName);\n const [filteredTableData, setFilteredTableData] = useState(tableData);\n const [filterAssetId, setFilterAssetId] = useState<string>();\n const [filterTypes, setFilterTypes] = useState<\n (keyof typeof allGroupTransactionTypes)[]\n >([]);\n const shouldPaginate = filteredTableData.length > 20;\n\n useEffect(() => {\n if (!filterAssetId && !filterTypes.length) {\n setFilteredTableData(tableData);\n return;\n }\n\n setFilteredTableData(\n tableData.filter((transaction) => {\n if (filterAssetId && filterTypes.length) {\n return (\n transaction.fixedIncomeTransaction?.assetId === filterAssetId &&\n filterTypes.includes(transaction.type)\n );\n }\n\n if (filterAssetId) {\n return transaction.fixedIncomeTransaction?.assetId === filterAssetId;\n }\n\n if (filterTypes.length) {\n return filterTypes.includes(transaction.type);\n }\n }),\n );\n }, [filterAssetId, filterTypes, tableData]);\n\n const filterByAssetOptions = useMemo(\n () =>\n fixedIncomes.map((asset) => ({\n label: makeFixedIncomeOptionLabel(asset),\n value: asset.id,\n })),\n [fixedIncomes],\n );\n\n const filterByTypeOptions = useMemo(\n () =>\n allGroupTransactionTypes.map((type) => ({\n label: groupTransactionTypeLabels[type],\n value: type,\n })),\n [],\n );\n\n const {\n pageItems,\n pages,\n goToPage,\n goToNextPage,\n goToPreviousPage,\n goToFirstPage,\n goToLastPage,\n hiddenNextPages,\n isNextPageAvailable,\n isPreviousPageAvailable,\n } = usePagination(filteredTableData);\n\n const handleFilterByAssetChange = useCallback((update: unknown) => {\n if (!update || !(typeof update === \"object\") || !(\"value\" in update)) {\n setFilterAssetId(undefined);\n return;\n }\n\n const { value: assetId } = update;\n\n setFilterAssetId(assetId as string);\n }, []);\n\n const handleFilterByTypeChange = useCallback((update: unknown) => {\n if (!update || !Array.isArray(update)) {\n setFilterTypes([]);\n return;\n }\n\n const _update = update as {\n value: keyof typeof allGroupTransactionTypes;\n }[];\n\n setFilterTypes(_update.map(({ value }) => value));\n }, []);\n\n return (\n <>\n <div className=\"mb-2 flex gap-2\">\n <div className=\"min-w-72 max-w-96\">\n <Combobox\n isClearable\n onChange={handleFilterByAssetChange}\n options={filterByAssetOptions}\n placeholder=\"Filter by Asset\"\n />\n </div>\n <div className=\"min-w-72 max-w-96\">\n <Combobox\n isClearable\n isMulti\n onChange={handleFilterByTypeChange}\n options={filterByTypeOptions}\n placeholder=\"Filter by Type\"\n />\n </div>\n <div className=\"flex w-full justify-end\">\n {shouldPaginate ? (\n <Pagination\n goToFirstPage={goToFirstPage}\n goToLastPage={goToLastPage}\n goToNextPage={goToNextPage}\n goToPage={goToPage}\n goToPreviousPage={goToPreviousPage}\n hiddenNextPages={hiddenNextPages}\n isNextPageAvailable={isNextPageAvailable}\n isPreviousPageAvailable={isPreviousPageAvailable}\n nextPageLabel=\"Next\"\n pages={pages}\n previousPageLabel=\"Previous\"\n />\n ) : null}\n </div>\n </div>\n <Table\n sortHandler={sortHandler}\n tableData={pageItems}\n tableName={tableName}\n />\n {showForm ? (\n <div className=\"mt-4 rounded-md bg-white\">\n <ItemDetails tableName={tableName} />\n </div>\n ) : null}\n </>\n );\n}\n"],"names":["GroupTransactionsTable","tableName","tableNames","getIsFormOpen","fixedIncomes","useEditorContext","showForm","tableData","sortHandler","useTableData","filteredTableData","setFilteredTableData","useState","filterAssetId","setFilterAssetId","filterTypes","setFilterTypes","shouldPaginate","useEffect","transaction","_a","_b","filterByAssetOptions","useMemo","asset","makeFixedIncomeOptionLabel","filterByTypeOptions","allGroupTransactionTypes","type","groupTransactionTypeLabels","pageItems","pages","goToPage","goToNextPage","goToPreviousPage","goToFirstPage","goToLastPage","hiddenNextPages","isNextPageAvailable","isPreviousPageAvailable","usePagination","handleFilterByAssetChange","useCallback","update","assetId","handleFilterByTypeChange","value","jsxs","Fragment","jsx","Combobox","Pagination","Table","ItemDetails"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-reference.js","sources":["../../../../../src/rwa/components/table/transactions/transaction-reference.tsx"],"sourcesContent":["import { Tooltip, TooltipProvider } from \"@/connect\";\nimport { GroupTransactionFormInputs, RWATableTextInput } from \"@/rwa\";\nimport { getIsTransaction } from \"@/services\";\nimport { ComponentPropsWithRef, ForwardedRef, forwardRef } from \"react\";\nimport { Control, useWatch } from \"react-hook-form\";\n\nexport const TransactionReference = forwardRef(function TransactionReference(\n props: ComponentPropsWithRef<typeof RWATableTextInput> & {\n readonly control: Control<GroupTransactionFormInputs>;\n },\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const { control, disabled } = props;\n const value = useWatch({ control, name: \"txRef\" });\n const maxLength = 46;\n const shouldShortenValue =\n typeof value === \"string\" && value.length >= maxLength;\n const maybeShortenedValue = shouldShortenValue\n ? `${value.slice(0, maxLength)}...`\n : value;\n const isTransaction = getIsTransaction(value);\n\n const tooltipContent = (\n <div>\n <p>{value}</p>\n {isTransaction ? (\n <p className=\"mt-2 text-center\">\n <a\n className=\"text-blue-900 underline\"\n href={`https://etherscan.io/tx/${value}`}\n >\n View on Etherscan\n </a>\n </p>\n ) : null}\n </div>\n );\n\n if (disabled)\n return (\n <TooltipProvider>\n <Tooltip content={tooltipContent}>\n <span>{maybeShortenedValue}</span>\n </Tooltip>\n </TooltipProvider>\n );\n\n return <RWATableTextInput {...props} ref={ref} />;\n});\n"],"names":["TransactionReference","forwardRef","props","ref","control","disabled","value","useWatch","maxLength","maybeShortenedValue","isTransaction","getIsTransaction","tooltipContent","jsx","TooltipProvider","Tooltip","RWATableTextInput"],"mappings":";;;;;;AAMO,MAAMA,IAAuBC,EAAW,SAC7CC,GAGAC,GACA;AACM,QAAA,EAAE,SAAAC,GAAS,UAAAC,
|
|
1
|
+
{"version":3,"file":"transaction-reference.js","sources":["../../../../../src/rwa/components/table/transactions/transaction-reference.tsx"],"sourcesContent":["import { Tooltip, TooltipProvider } from \"@/connect\";\nimport { GroupTransactionFormInputs, RWATableTextInput } from \"@/rwa\";\nimport { getIsTransaction } from \"@/services\";\nimport { ComponentPropsWithRef, ForwardedRef, forwardRef } from \"react\";\nimport { Control, useWatch } from \"react-hook-form\";\n\nexport const TransactionReference = forwardRef(function TransactionReference(\n props: ComponentPropsWithRef<typeof RWATableTextInput> & {\n readonly control: Control<GroupTransactionFormInputs>;\n },\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const { control, disabled } = props;\n const value = useWatch({ control, name: \"txRef\" });\n const maxLength = 46;\n const shouldShortenValue =\n typeof value === \"string\" && value.length >= maxLength;\n const maybeShortenedValue = shouldShortenValue\n ? `${value.slice(0, maxLength)}...`\n : value;\n const isTransaction = getIsTransaction(value);\n\n const tooltipContent = (\n <div>\n <p>{value}</p>\n {isTransaction ? (\n <p className=\"mt-2 text-center\">\n <a\n className=\"text-blue-900 underline\"\n href={`https://etherscan.io/tx/${value}`}\n >\n View on Etherscan\n </a>\n </p>\n ) : null}\n </div>\n );\n\n if (disabled)\n return (\n <TooltipProvider>\n <Tooltip content={tooltipContent}>\n <span>{maybeShortenedValue}</span>\n </Tooltip>\n </TooltipProvider>\n );\n\n return <RWATableTextInput {...props} ref={ref} />;\n});\n"],"names":["TransactionReference","forwardRef","props","ref","control","disabled","value","useWatch","maxLength","maybeShortenedValue","isTransaction","getIsTransaction","tooltipContent","jsx","TooltipProvider","Tooltip","RWATableTextInput"],"mappings":";;;;;;AAMO,MAAMA,IAAuBC,EAAW,SAC7CC,GAGAC,GACA;AACM,QAAA,EAAE,SAAAC,GAAS,UAAAC,EAAA,IAAaH,GACxBI,IAAQC,EAAS,EAAE,SAAAH,GAAS,MAAM,SAAS,GAC3CI,IAAY,IAGZC,IADJ,OAAOH,KAAU,YAAYA,EAAM,UAAUE,IAE3C,GAAGF,EAAM,MAAM,GAAGE,CAAS,CAAC,QAC5BF,GACEI,IAAgBC,EAAiBL,CAAK,GAEtCM,sBACH,OACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAG,UAAMP,EAAA,CAAA;AAAA,IACTI,IACC,gBAAAG,EAAC,KAAE,EAAA,WAAU,oBACX,UAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,MAAM,2BAA2BP,CAAK;AAAA,QACvC,UAAA;AAAA,MAAA;AAAA,OAGH,IACE;AAAA,EAAA,GACN;AAGE,SAAAD,IAEA,gBAAAQ,EAACC,GACC,EAAA,UAAA,gBAAAD,EAACE,GAAQ,EAAA,SAASH,GAChB,UAAC,gBAAAC,EAAA,QAAA,EAAM,UAAoBJ,EAAA,CAAA,EAC7B,CAAA,GACF,IAGI,gBAAAI,EAAAG,GAAA,EAAmB,GAAGd,GAAO,KAAAC,EAAU,CAAA;AACjD,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-price.js","sources":["../../../../../src/rwa/components/table/transactions/unit-price.tsx"],"sourcesContent":["import {\n calculateUnitPrice,\n FormattedNumber,\n GroupTransactionFormInputs,\n} from \"@/rwa\";\nimport { Control, useWatch } from \"react-hook-form\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function UnitPrice(props: {\n readonly control: Control<GroupTransactionFormInputs>;\n readonly isViewOnly: boolean;\n}) {\n const { control } = props;\n\n const cashAmount = useWatch({ control, name: \"cashAmount\" });\n const fixedIncomeAmount = useWatch({ control, name: \"fixedIncomeAmount\" });\n\n const unitPrice = calculateUnitPrice(cashAmount, fixedIncomeAmount);\n\n return (\n <div className={twMerge(\"mt-1 w-fit\", !props.isViewOnly && \"ml-auto\")}>\n <span className=\"text-gray-600\">Unit Price</span>{\" \"}\n <span className=\"text-gray-900\">\n <FormattedNumber decimalScale={6} value={unitPrice} />\n </span>\n </div>\n );\n}\n"],"names":["UnitPrice","props","control","cashAmount","useWatch","fixedIncomeAmount","unitPrice","calculateUnitPrice","jsxs","twMerge","jsx","FormattedNumber"],"mappings":";;;;;AAQO,SAASA,EAAUC,GAGvB;AACK,QAAA,EAAE,SAAAC,
|
|
1
|
+
{"version":3,"file":"unit-price.js","sources":["../../../../../src/rwa/components/table/transactions/unit-price.tsx"],"sourcesContent":["import {\n calculateUnitPrice,\n FormattedNumber,\n GroupTransactionFormInputs,\n} from \"@/rwa\";\nimport { Control, useWatch } from \"react-hook-form\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function UnitPrice(props: {\n readonly control: Control<GroupTransactionFormInputs>;\n readonly isViewOnly: boolean;\n}) {\n const { control } = props;\n\n const cashAmount = useWatch({ control, name: \"cashAmount\" });\n const fixedIncomeAmount = useWatch({ control, name: \"fixedIncomeAmount\" });\n\n const unitPrice = calculateUnitPrice(cashAmount, fixedIncomeAmount);\n\n return (\n <div className={twMerge(\"mt-1 w-fit\", !props.isViewOnly && \"ml-auto\")}>\n <span className=\"text-gray-600\">Unit Price</span>{\" \"}\n <span className=\"text-gray-900\">\n <FormattedNumber decimalScale={6} value={unitPrice} />\n </span>\n </div>\n );\n}\n"],"names":["UnitPrice","props","control","cashAmount","useWatch","fixedIncomeAmount","unitPrice","calculateUnitPrice","jsxs","twMerge","jsx","FormattedNumber"],"mappings":";;;;;AAQO,SAASA,EAAUC,GAGvB;AACK,QAAA,EAAE,SAAAC,MAAYD,GAEdE,IAAaC,EAAS,EAAE,SAAAF,GAAS,MAAM,cAAc,GACrDG,IAAoBD,EAAS,EAAE,SAAAF,GAAS,MAAM,qBAAqB,GAEnEI,IAAYC,EAAmBJ,GAAYE,CAAiB;AAGhE,SAAA,gBAAAG,EAAC,SAAI,WAAWC,EAAQ,cAAc,CAACR,EAAM,cAAc,SAAS,GAClE,UAAA;AAAA,IAAC,gBAAAS,EAAA,QAAA,EAAK,WAAU,iBAAgB,UAAU,cAAA;AAAA,IAAQ;AAAA,IAClD,gBAAAA,EAAC,QAAK,EAAA,WAAU,iBACd,UAAA,gBAAAA,EAACC,KAAgB,cAAc,GAAG,OAAOL,EAAW,CAAA,EACtD,CAAA;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"other-tab.js","sources":["../../../../src/rwa/components/tabs/other-tab.tsx"],"sourcesContent":["import { tableNames, TableWithForm } from \"@/rwa\";\nimport { AccountsTable } from \"../table/accounts\";\n\nexport function OtherTab() {\n return (\n <div className=\"grid grid-rows-4 gap-4\">\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">Accounts</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage accounts that can be associated with transactions and\n fees.\n </p>\n <AccountsTable />\n </div>\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">Fixed Income Types</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage fixed income asset types.\n </p>\n <TableWithForm tableName={tableNames.FIXED_INCOME_TYPE} />\n </div>\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">SPVs</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage special purpose vehicles (SPVs).\n </p>\n <TableWithForm tableName={tableNames.SPV} />\n </div>\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">Service Provider Fee Types</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage service providers and their associated fee types.\n </p>\n <TableWithForm tableName={tableNames.SERVICE_PROVIDER_FEE_TYPE} />\n </div>\n </div>\n );\n}\n"],"names":["OtherTab","jsxs","jsx","AccountsTable","TableWithForm","tableNames"],"mappings":";;;;AAGO,SAASA,IAAW;AAEvB,SAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,0BACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OACC,EAAA,UAAA;AAAA,MAAC,gBAAAC,EAAA,MAAA,EAAG,WAAU,0BAAyB,UAAQ,YAAA;AAAA,MAC9C,gBAAAA,EAAA,KAAA,EAAE,WAAU,8BAA6B,UAG1C,8EAAA;AAAA,wBACCC,GAAc,
|
|
1
|
+
{"version":3,"file":"other-tab.js","sources":["../../../../src/rwa/components/tabs/other-tab.tsx"],"sourcesContent":["import { tableNames, TableWithForm } from \"@/rwa\";\nimport { AccountsTable } from \"../table/accounts\";\n\nexport function OtherTab() {\n return (\n <div className=\"grid grid-rows-4 gap-4\">\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">Accounts</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage accounts that can be associated with transactions and\n fees.\n </p>\n <AccountsTable />\n </div>\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">Fixed Income Types</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage fixed income asset types.\n </p>\n <TableWithForm tableName={tableNames.FIXED_INCOME_TYPE} />\n </div>\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">SPVs</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage special purpose vehicles (SPVs).\n </p>\n <TableWithForm tableName={tableNames.SPV} />\n </div>\n <div>\n <h2 className=\"mb-2 text-lg font-bold\">Service Provider Fee Types</h2>\n <p className=\"mb-4 text-xs text-gray-600\">\n Add and manage service providers and their associated fee types.\n </p>\n <TableWithForm tableName={tableNames.SERVICE_PROVIDER_FEE_TYPE} />\n </div>\n </div>\n );\n}\n"],"names":["OtherTab","jsxs","jsx","AccountsTable","TableWithForm","tableNames"],"mappings":";;;;AAGO,SAASA,IAAW;AAEvB,SAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,0BACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OACC,EAAA,UAAA;AAAA,MAAC,gBAAAC,EAAA,MAAA,EAAG,WAAU,0BAAyB,UAAQ,YAAA;AAAA,MAC9C,gBAAAA,EAAA,KAAA,EAAE,WAAU,8BAA6B,UAG1C,8EAAA;AAAA,wBACCC,GAAc,CAAA,CAAA;AAAA,IAAA,GACjB;AAAA,sBACC,OACC,EAAA,UAAA;AAAA,MAAC,gBAAAD,EAAA,MAAA,EAAG,WAAU,0BAAyB,UAAkB,sBAAA;AAAA,MACxD,gBAAAA,EAAA,KAAA,EAAE,WAAU,8BAA6B,UAE1C,4CAAA;AAAA,MACC,gBAAAA,EAAAE,GAAA,EAAc,WAAWC,EAAW,kBAAmB,CAAA;AAAA,IAAA,GAC1D;AAAA,sBACC,OACC,EAAA,UAAA;AAAA,MAAC,gBAAAH,EAAA,MAAA,EAAG,WAAU,0BAAyB,UAAI,QAAA;AAAA,MAC1C,gBAAAA,EAAA,KAAA,EAAE,WAAU,8BAA6B,UAE1C,mDAAA;AAAA,MACC,gBAAAA,EAAAE,GAAA,EAAc,WAAWC,EAAW,IAAK,CAAA;AAAA,IAAA,GAC5C;AAAA,sBACC,OACC,EAAA,UAAA;AAAA,MAAC,gBAAAH,EAAA,MAAA,EAAG,WAAU,0BAAyB,UAA0B,8BAAA;AAAA,MAChE,gBAAAA,EAAA,KAAA,EAAE,WAAU,8BAA6B,UAE1C,oEAAA;AAAA,MACC,gBAAAA,EAAAE,GAAA,EAAc,WAAWC,EAAW,0BAA2B,CAAA;AAAA,IAAA,EAClE,CAAA;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio-tab.js","sources":["../../../../src/rwa/components/tabs/portfolio-tab.tsx"],"sourcesContent":["import { AssetsTable, TabContent } from \"@/rwa\";\n\nexport function PortfolioTab() {\n return (\n <TabContent\n description=\"Details on the distribution of assets among different financial institutions or investment vehicles.\"\n label=\"Portfolio\"\n >\n <AssetsTable />\n </TabContent>\n );\n}\n"],"names":["PortfolioTab","jsx","TabContent","AssetsTable"],"mappings":";;;AAEO,SAASA,IAAe;AAE3B,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,OAAM;AAAA,MAEN,4BAACC,GAAY,
|
|
1
|
+
{"version":3,"file":"portfolio-tab.js","sources":["../../../../src/rwa/components/tabs/portfolio-tab.tsx"],"sourcesContent":["import { AssetsTable, TabContent } from \"@/rwa\";\n\nexport function PortfolioTab() {\n return (\n <TabContent\n description=\"Details on the distribution of assets among different financial institutions or investment vehicles.\"\n label=\"Portfolio\"\n >\n <AssetsTable />\n </TabContent>\n );\n}\n"],"names":["PortfolioTab","jsx","TabContent","AssetsTable"],"mappings":";;;AAEO,SAASA,IAAe;AAE3B,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,OAAM;AAAA,MAEN,4BAACC,GAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACf;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-content.js","sources":["../../../../src/rwa/components/tabs/tab-content.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\ntype Props = {\n readonly label: ReactNode;\n readonly description: ReactNode;\n readonly children: ReactNode;\n};\nexport function TabContent(props: Props) {\n const { label, description, children } = props;\n\n return (\n <div>\n <h1 className=\"mb-2 text-lg font-bold\">{label}</h1>\n <p className=\"mb-4 text-xs text-gray-600\">{description}</p>\n {children}\n </div>\n );\n}\n"],"names":["TabContent","props","label","description","children","jsx"],"mappings":";AAOO,SAASA,EAAWC,GAAc;AACvC,QAAM,EAAE,OAAAC,GAAO,aAAAC,GAAa,UAAAC,
|
|
1
|
+
{"version":3,"file":"tab-content.js","sources":["../../../../src/rwa/components/tabs/tab-content.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\ntype Props = {\n readonly label: ReactNode;\n readonly description: ReactNode;\n readonly children: ReactNode;\n};\nexport function TabContent(props: Props) {\n const { label, description, children } = props;\n\n return (\n <div>\n <h1 className=\"mb-2 text-lg font-bold\">{label}</h1>\n <p className=\"mb-4 text-xs text-gray-600\">{description}</p>\n {children}\n </div>\n );\n}\n"],"names":["TabContent","props","label","description","children","jsx"],"mappings":";AAOO,SAASA,EAAWC,GAAc;AACvC,QAAM,EAAE,OAAAC,GAAO,aAAAC,GAAa,UAAAC,EAAa,IAAAH;AAEzC,2BACG,OACC,EAAA,UAAA;AAAA,IAAC,gBAAAI,EAAA,MAAA,EAAG,WAAU,0BAA0B,UAAMH,GAAA;AAAA,IAC7C,gBAAAG,EAAA,KAAA,EAAE,WAAU,8BAA8B,UAAYF,GAAA;AAAA,IACtDC;AAAA,EAAA,GACH;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../../src/rwa/components/tabs/tabs.tsx"],"sourcesContent":["import { EditorActionButtons } from \"@/connect\";\nimport {\n OtherTab,\n PortfolioTab,\n TransactionsTab,\n useEditorContext,\n} from \"@/rwa\";\nimport { Content, List, Root, Trigger } from \"@radix-ui/react-tabs\";\nimport { useCallback } from \"react\";\n\nexport function RWATabs() {\n const tabs = [\"Portfolio\", \"Transactions\", \"Other\"] as const;\n const {\n onSwitchboardLinkClick,\n onExport,\n onClose,\n onShowRevisionHistory,\n clearSelected,\n } = useEditorContext();\n\n const handleTabChange = useCallback(() => {\n clearSelected();\n }, [clearSelected]);\n\n return (\n <Root defaultValue=\"Portfolio\" onValueChange={handleTabChange}>\n <div className=\"flex justify-between\">\n {/* <EditorUndoRedoButtons {...props} /> */}\n <List className=\"flex gap-x-2 rounded-xl bg-slate-50 p-1 text-sm font-semibold text-gray-600 outline-none\">\n {tabs.map((tab) => (\n <Trigger\n className=\"data-[state='active']:tab-shadow data-disabled:cursor-not-allowed data-disabled:text-gray-400 h-7 w-32 rounded-lg transition duration-300 data-[state='active']:bg-gray-50 data-[state='active']:text-gray-900\"\n key={tab}\n value={tab}\n >\n {tab}\n </Trigger>\n ))}\n </List>\n <EditorActionButtons\n onClose={onClose}\n onExport={onExport}\n onShowRevisionHistory={onShowRevisionHistory}\n onSwitchboardLinkClick={onSwitchboardLinkClick}\n />\n </div>\n <div className=\"mt-3 rounded-md bg-slate-50 p-8\">\n <Content value=\"Portfolio\">\n <PortfolioTab />\n </Content>\n <Content value=\"Transactions\">\n <TransactionsTab />\n </Content>\n <Content value=\"Other\">\n <OtherTab />\n </Content>\n </div>\n </Root>\n );\n}\n"],"names":["RWATabs","tabs","onSwitchboardLinkClick","onExport","onClose","onShowRevisionHistory","clearSelected","useEditorContext","handleTabChange","useCallback","jsxs","Root","jsx","List","tab","Trigger","EditorActionButtons","Content","PortfolioTab","TransactionsTab","OtherTab"],"mappings":";;;;;;;;AAUO,SAASA,IAAU;AACxB,QAAMC,IAAO,CAAC,aAAa,gBAAgB,OAAO,GAC5C;AAAA,IACJ,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,eAAAC;AAAA,MACEC,EAAiB,GAEfC,IAAkBC,EAAY,MAAM;AAC1B,IAAAH;EAAA,GACb,CAACA,CAAa,CAAC;AAElB,SACG,gBAAAI,EAAAC,GAAA,EAAK,cAAa,aAAY,eAAeH,GAC5C,UAAA;AAAA,IAAC,gBAAAE,EAAA,OAAA,EAAI,WAAU,wBAEb,UAAA;AAAA,MAAA,gBAAAE,EAACC,KAAK,WAAU,4FACb,UAAKZ,EAAA,IAAI,CAACa,MACT,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UAEV,OAAOD;AAAA,UAEN,UAAAA;AAAA,QAAA;AAAA,QAHIA;AAAA,MAKR,CAAA,GACH;AAAA,MACA,gBAAAF;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,SAAAZ;AAAA,UACA,UAAAD;AAAA,UACA,uBAAAE;AAAA,UACA,wBAAAH;AAAA,QAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../src/rwa/components/tabs/tabs.tsx"],"sourcesContent":["import { EditorActionButtons } from \"@/connect\";\nimport {\n OtherTab,\n PortfolioTab,\n TransactionsTab,\n useEditorContext,\n} from \"@/rwa\";\nimport { Content, List, Root, Trigger } from \"@radix-ui/react-tabs\";\nimport { useCallback } from \"react\";\n\nexport function RWATabs() {\n const tabs = [\"Portfolio\", \"Transactions\", \"Other\"] as const;\n const {\n onSwitchboardLinkClick,\n onExport,\n onClose,\n onShowRevisionHistory,\n clearSelected,\n } = useEditorContext();\n\n const handleTabChange = useCallback(() => {\n clearSelected();\n }, [clearSelected]);\n\n return (\n <Root defaultValue=\"Portfolio\" onValueChange={handleTabChange}>\n <div className=\"flex justify-between\">\n {/* <EditorUndoRedoButtons {...props} /> */}\n <List className=\"flex gap-x-2 rounded-xl bg-slate-50 p-1 text-sm font-semibold text-gray-600 outline-none\">\n {tabs.map((tab) => (\n <Trigger\n className=\"data-[state='active']:tab-shadow data-disabled:cursor-not-allowed data-disabled:text-gray-400 h-7 w-32 rounded-lg transition duration-300 data-[state='active']:bg-gray-50 data-[state='active']:text-gray-900\"\n key={tab}\n value={tab}\n >\n {tab}\n </Trigger>\n ))}\n </List>\n <EditorActionButtons\n onClose={onClose}\n onExport={onExport}\n onShowRevisionHistory={onShowRevisionHistory}\n onSwitchboardLinkClick={onSwitchboardLinkClick}\n />\n </div>\n <div className=\"mt-3 rounded-md bg-slate-50 p-8\">\n <Content value=\"Portfolio\">\n <PortfolioTab />\n </Content>\n <Content value=\"Transactions\">\n <TransactionsTab />\n </Content>\n <Content value=\"Other\">\n <OtherTab />\n </Content>\n </div>\n </Root>\n );\n}\n"],"names":["RWATabs","tabs","onSwitchboardLinkClick","onExport","onClose","onShowRevisionHistory","clearSelected","useEditorContext","handleTabChange","useCallback","jsxs","Root","jsx","List","tab","Trigger","EditorActionButtons","Content","PortfolioTab","TransactionsTab","OtherTab"],"mappings":";;;;;;;;AAUO,SAASA,IAAU;AACxB,QAAMC,IAAO,CAAC,aAAa,gBAAgB,OAAO,GAC5C;AAAA,IACJ,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,eAAAC;AAAA,MACEC,EAAiB,GAEfC,IAAkBC,EAAY,MAAM;AAC1B,IAAAH,EAAA;AAAA,EAAA,GACb,CAACA,CAAa,CAAC;AAElB,SACG,gBAAAI,EAAAC,GAAA,EAAK,cAAa,aAAY,eAAeH,GAC5C,UAAA;AAAA,IAAC,gBAAAE,EAAA,OAAA,EAAI,WAAU,wBAEb,UAAA;AAAA,MAAA,gBAAAE,EAACC,KAAK,WAAU,4FACb,UAAKZ,EAAA,IAAI,CAACa,MACT,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UAEV,OAAOD;AAAA,UAEN,UAAAA;AAAA,QAAA;AAAA,QAHIA;AAAA,MAKR,CAAA,GACH;AAAA,MACA,gBAAAF;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,SAAAZ;AAAA,UACA,UAAAD;AAAA,UACA,uBAAAE;AAAA,UACA,wBAAAH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACF;AAAA,IACA,gBAAAQ,EAAC,OAAI,EAAA,WAAU,mCACb,UAAA;AAAA,MAAA,gBAAAE,EAACK,GAAQ,EAAA,OAAM,aACb,UAAA,gBAAAL,EAACM,IAAa,CAAA,GAChB;AAAA,wBACCD,GAAQ,EAAA,OAAM,gBACb,UAAA,gBAAAL,EAACO,IAAgB,CAAA,GACnB;AAAA,wBACCF,GAAQ,EAAA,OAAM,SACb,UAAA,gBAAAL,EAACQ,KAAS,EACZ,CAAA;AAAA,IAAA,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions-tab.js","sources":["../../../../src/rwa/components/tabs/transactions-tab.tsx"],"sourcesContent":["import { GroupTransactionsTable, TabContent } from \"@/rwa\";\n\nexport function TransactionsTab() {\n return (\n <TabContent\n description=\"Details on the distribution of assets among different financial institutions or investment vehicles.\"\n label=\"Transactions\"\n >\n <GroupTransactionsTable />\n </TabContent>\n );\n}\n"],"names":["TransactionsTab","jsx","TabContent","GroupTransactionsTable"],"mappings":";;;AAEO,SAASA,IAAkB;AAE9B,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,OAAM;AAAA,MAEN,4BAACC,GAAuB,
|
|
1
|
+
{"version":3,"file":"transactions-tab.js","sources":["../../../../src/rwa/components/tabs/transactions-tab.tsx"],"sourcesContent":["import { GroupTransactionsTable, TabContent } from \"@/rwa\";\n\nexport function TransactionsTab() {\n return (\n <TabContent\n description=\"Details on the distribution of assets among different financial institutions or investment vehicles.\"\n label=\"Transactions\"\n >\n <GroupTransactionsTable />\n </TabContent>\n );\n}\n"],"names":["TransactionsTab","jsx","TabContent","GroupTransactionsTable"],"mappings":";;;AAEO,SAASA,IAAkB;AAE9B,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,OAAM;AAAA,MAEN,4BAACC,GAAuB,CAAA,CAAA;AAAA,IAAA;AAAA,EAC1B;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../../src/rwa/constants/columns.ts"],"sourcesContent":["import { TableColumn, TableName } from \"@/rwa\";\n\nexport type ColumnsByTableName = {\n [K in TableName]: TableColumn[];\n};\n\nexport const columnsByTableName: ColumnsByTableName = {\n ASSET: [\n { key: \"name\" as const, label: \"Name\", allowSorting: true },\n {\n key: \"purchaseDate\" as const,\n label: \"Purchase Date\",\n allowSorting: true,\n },\n {\n key: \"maturity\" as const,\n label: \"Maturity\",\n allowSorting: true,\n displayTime: false,\n },\n {\n key: \"notional\" as const,\n label: \"Notional\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"currentValue\" as const,\n label: \"Current Value\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"purchasePrice\" as const,\n label: \"Purchase Price\",\n allowSorting: true,\n isNumberColumn: true,\n decimalScale: 6,\n },\n {\n key: \"purchaseProceeds\" as const,\n label: \"Purchase Proceeds\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"salesProceeds\" as const,\n label: \"Sales Proceeds\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"totalDiscount\" as const,\n label: \"Total Discount\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"realizedSurplus\" as const,\n label: \"Realized Surplus\",\n allowSorting: true,\n isNumberColumn: true,\n },\n ],\n TRANSACTION: [\n {\n key: \"typeLabel\" as const,\n label: \"Type\",\n allowSorting: true,\n },\n {\n key: \"entryTime\" as const,\n label: \"Entry Time\",\n allowSorting: true,\n },\n {\n key: \"asset\" as const,\n label: \"Asset\",\n allowSorting: true,\n },\n {\n key: \"quantity\" as const,\n label: \"Quantity\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"cashAmount\" as const,\n label: \"Cash Amount ($)\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"totalFees\" as const,\n label: \"Total Fees ($)\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"cashBalanceChange\" as const,\n label: \"Cash Balance Change ($)\",\n allowSorting: true,\n isNumberColumn: true,\n },\n ],\n FIXED_INCOME_TYPE: [\n { key: \"name\" as const, label: \"Name\", allowSorting: true },\n ],\n SPV: [{ key: \"name\" as const, label: \"Name\", allowSorting: true }],\n SERVICE_PROVIDER_FEE_TYPE: [\n { key: \"name\" as const, label: \"Name\", allowSorting: true },\n { key: \"feeType\" as const, label: \"Fee Type\", allowSorting: true },\n {\n key: \"accountName\" as const,\n label: \"Account Name\",\n allowSorting: true,\n },\n {\n key: \"accountReference\" as const,\n label: \"Account Reference\",\n allowSorting: true,\n },\n ],\n ACCOUNT: [\n { key: \"label\" as const, label: \"Label\", allowSorting: true },\n { key: \"reference\" as const, label: \"Reference\", allowSorting: true },\n ],\n} as const;\n"],"names":["columnsByTableName"],"mappings":"AAMO,MAAMA,IAAyC;AAAA,EACpD,OAAO;AAAA,IACL,EAAE,KAAK,QAAiB,OAAO,QAAQ,cAAc,GAAK;AAAA,IAC1D;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,
|
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../../src/rwa/constants/columns.ts"],"sourcesContent":["import { TableColumn, TableName } from \"@/rwa\";\n\nexport type ColumnsByTableName = {\n [K in TableName]: TableColumn[];\n};\n\nexport const columnsByTableName: ColumnsByTableName = {\n ASSET: [\n { key: \"name\" as const, label: \"Name\", allowSorting: true },\n {\n key: \"purchaseDate\" as const,\n label: \"Purchase Date\",\n allowSorting: true,\n },\n {\n key: \"maturity\" as const,\n label: \"Maturity\",\n allowSorting: true,\n displayTime: false,\n },\n {\n key: \"notional\" as const,\n label: \"Notional\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"currentValue\" as const,\n label: \"Current Value\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"purchasePrice\" as const,\n label: \"Purchase Price\",\n allowSorting: true,\n isNumberColumn: true,\n decimalScale: 6,\n },\n {\n key: \"purchaseProceeds\" as const,\n label: \"Purchase Proceeds\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"salesProceeds\" as const,\n label: \"Sales Proceeds\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"totalDiscount\" as const,\n label: \"Total Discount\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"realizedSurplus\" as const,\n label: \"Realized Surplus\",\n allowSorting: true,\n isNumberColumn: true,\n },\n ],\n TRANSACTION: [\n {\n key: \"typeLabel\" as const,\n label: \"Type\",\n allowSorting: true,\n },\n {\n key: \"entryTime\" as const,\n label: \"Entry Time\",\n allowSorting: true,\n },\n {\n key: \"asset\" as const,\n label: \"Asset\",\n allowSorting: true,\n },\n {\n key: \"quantity\" as const,\n label: \"Quantity\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"cashAmount\" as const,\n label: \"Cash Amount ($)\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"totalFees\" as const,\n label: \"Total Fees ($)\",\n allowSorting: true,\n isNumberColumn: true,\n },\n {\n key: \"cashBalanceChange\" as const,\n label: \"Cash Balance Change ($)\",\n allowSorting: true,\n isNumberColumn: true,\n },\n ],\n FIXED_INCOME_TYPE: [\n { key: \"name\" as const, label: \"Name\", allowSorting: true },\n ],\n SPV: [{ key: \"name\" as const, label: \"Name\", allowSorting: true }],\n SERVICE_PROVIDER_FEE_TYPE: [\n { key: \"name\" as const, label: \"Name\", allowSorting: true },\n { key: \"feeType\" as const, label: \"Fee Type\", allowSorting: true },\n {\n key: \"accountName\" as const,\n label: \"Account Name\",\n allowSorting: true,\n },\n {\n key: \"accountReference\" as const,\n label: \"Account Reference\",\n allowSorting: true,\n },\n ],\n ACCOUNT: [\n { key: \"label\" as const, label: \"Label\", allowSorting: true },\n { key: \"reference\" as const, label: \"Reference\", allowSorting: true },\n ],\n} as const;\n"],"names":["columnsByTableName"],"mappings":"AAMO,MAAMA,IAAyC;AAAA,EACpD,OAAO;AAAA,IACL,EAAE,KAAK,QAAiB,OAAO,QAAQ,cAAc,GAAK;AAAA,IAC1D;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAAA;AAAA,EAEpB;AAAA,EACA,aAAa;AAAA,IACX;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAAA;AAAA,EAEpB;AAAA,EACA,mBAAmB;AAAA,IACjB,EAAE,KAAK,QAAiB,OAAO,QAAQ,cAAc,GAAK;AAAA,EAC5D;AAAA,EACA,KAAK,CAAC,EAAE,KAAK,QAAiB,OAAO,QAAQ,cAAc,IAAM;AAAA,EACjE,2BAA2B;AAAA,IACzB,EAAE,KAAK,QAAiB,OAAO,QAAQ,cAAc,GAAK;AAAA,IAC1D,EAAE,KAAK,WAAoB,OAAO,YAAY,cAAc,GAAK;AAAA,IACjE;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,IAAA;AAAA,EAElB;AAAA,EACA,SAAS;AAAA,IACP,EAAE,KAAK,SAAkB,OAAO,SAAS,cAAc,GAAK;AAAA,IAC5D,EAAE,KAAK,aAAsB,OAAO,aAAa,cAAc,GAAK;AAAA,EAAA;AAExE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependent-items.js","sources":["../../../src/rwa/constants/dependent-items.ts"],"sourcesContent":["import {\n FixedIncome,\n GroupTransaction,\n ServiceProviderFeeType,\n TableName,\n useEditorContext,\n} from \"@/rwa\";\nimport { useMemo } from \"react\";\n\nexport type DependentItemProps = {\n dependentTableName: TableName;\n dependentItems: { id: string; label: string }[];\n}[];\nexport function useDependentItemProps(\n tableName: TableName,\n itemId: string | null | undefined,\n) {\n const { fixedIncomes, serviceProviderFeeTypes, transactions } =\n useEditorContext();\n\n const dependentItemProps: DependentItemProps = useMemo(() => {\n if (!itemId) return [];\n\n switch (tableName) {\n case \"TRANSACTION\":\n return [];\n case \"SPV\":\n return [\n {\n dependentTableName: \"ASSET\",\n dependentItems: makeDependentAssetsList(\n tableName,\n itemId,\n fixedIncomes,\n ),\n },\n ];\n case \"FIXED_INCOME_TYPE\":\n return [\n {\n dependentTableName: \"ASSET\",\n dependentItems: makeDependentAssetsList(\n tableName,\n itemId,\n fixedIncomes,\n ),\n },\n ];\n case \"ASSET\":\n return [\n {\n dependentTableName: \"TRANSACTION\",\n dependentItems: makeDependentTransactionsList(\n tableName,\n itemId,\n transactions,\n ),\n },\n ];\n case \"SERVICE_PROVIDER_FEE_TYPE\":\n return [\n {\n dependentTableName: \"TRANSACTION\",\n dependentItems: makeDependentTransactionsList(\n tableName,\n itemId,\n transactions,\n ),\n },\n ];\n case \"ACCOUNT\":\n return [\n {\n dependentTableName: \"TRANSACTION\",\n dependentItems: makeDependentTransactionsList(\n tableName,\n itemId,\n transactions,\n ),\n },\n {\n dependentTableName: \"SERVICE_PROVIDER_FEE_TYPE\",\n dependentItems: makeDependentServiceProviderFeeTypesList(\n itemId,\n serviceProviderFeeTypes,\n ),\n },\n ];\n }\n }, [fixedIncomes, itemId, serviceProviderFeeTypes, tableName, transactions]);\n\n return dependentItemProps;\n}\n\nexport function makeDependentServiceProviderFeeTypesList(\n itemId: string,\n serviceProviderFeeTypes: ServiceProviderFeeType[],\n) {\n const makeLabel = (asset: ServiceProviderFeeType) => ({\n id: asset.id,\n label: asset.name,\n });\n return serviceProviderFeeTypes\n .filter((f) => f.accountId === itemId)\n .map(makeLabel);\n}\n\nexport function makeDependentAssetsList(\n tableName: \"FIXED_INCOME_TYPE\" | \"SPV\",\n itemId: string,\n assets: FixedIncome[],\n) {\n const makeLabel = (asset: FixedIncome) => ({\n id: asset.id,\n label: asset.name,\n });\n switch (tableName) {\n case \"FIXED_INCOME_TYPE\":\n return assets\n .filter((asset) => asset.fixedIncomeTypeId === itemId)\n .map(makeLabel);\n case \"SPV\":\n return assets.filter((asset) => asset.spvId === itemId).map(makeLabel);\n }\n}\n\nexport function makeDependentTransactionsList(\n tableName: \"ASSET\" | \"ACCOUNT\" | \"SERVICE_PROVIDER_FEE_TYPE\",\n itemId: string,\n transactions: GroupTransaction[],\n) {\n const makeLabel = (t: GroupTransaction, index: number) => ({\n id: t.id,\n label: `Transaction #${index + 1}`,\n });\n\n switch (tableName) {\n case \"ASSET\":\n return transactions\n .filter((t) => t.fixedIncomeTransaction?.assetId === itemId)\n .map(makeLabel);\n case \"ACCOUNT\":\n return transactions\n .filter(\n (t) =>\n t.cashTransaction.accountId === itemId ||\n t.fixedIncomeTransaction?.accountId === itemId,\n )\n .map(makeLabel);\n case \"SERVICE_PROVIDER_FEE_TYPE\":\n return transactions\n .filter((t) =>\n t.fees?.some((f) => f.serviceProviderFeeTypeId === itemId),\n )\n .map(makeLabel);\n }\n}\n"],"names":["useDependentItemProps","tableName","itemId","fixedIncomes","serviceProviderFeeTypes","transactions","useEditorContext","useMemo","makeDependentAssetsList","makeDependentTransactionsList","makeDependentServiceProviderFeeTypesList","makeLabel","asset","f","assets","t","index","_a"],"mappings":";;AAagB,SAAAA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,cAAAC,GAAc,yBAAAC,GAAyB,cAAAC,
|
|
1
|
+
{"version":3,"file":"dependent-items.js","sources":["../../../src/rwa/constants/dependent-items.ts"],"sourcesContent":["import {\n FixedIncome,\n GroupTransaction,\n ServiceProviderFeeType,\n TableName,\n useEditorContext,\n} from \"@/rwa\";\nimport { useMemo } from \"react\";\n\nexport type DependentItemProps = {\n dependentTableName: TableName;\n dependentItems: { id: string; label: string }[];\n}[];\nexport function useDependentItemProps(\n tableName: TableName,\n itemId: string | null | undefined,\n) {\n const { fixedIncomes, serviceProviderFeeTypes, transactions } =\n useEditorContext();\n\n const dependentItemProps: DependentItemProps = useMemo(() => {\n if (!itemId) return [];\n\n switch (tableName) {\n case \"TRANSACTION\":\n return [];\n case \"SPV\":\n return [\n {\n dependentTableName: \"ASSET\",\n dependentItems: makeDependentAssetsList(\n tableName,\n itemId,\n fixedIncomes,\n ),\n },\n ];\n case \"FIXED_INCOME_TYPE\":\n return [\n {\n dependentTableName: \"ASSET\",\n dependentItems: makeDependentAssetsList(\n tableName,\n itemId,\n fixedIncomes,\n ),\n },\n ];\n case \"ASSET\":\n return [\n {\n dependentTableName: \"TRANSACTION\",\n dependentItems: makeDependentTransactionsList(\n tableName,\n itemId,\n transactions,\n ),\n },\n ];\n case \"SERVICE_PROVIDER_FEE_TYPE\":\n return [\n {\n dependentTableName: \"TRANSACTION\",\n dependentItems: makeDependentTransactionsList(\n tableName,\n itemId,\n transactions,\n ),\n },\n ];\n case \"ACCOUNT\":\n return [\n {\n dependentTableName: \"TRANSACTION\",\n dependentItems: makeDependentTransactionsList(\n tableName,\n itemId,\n transactions,\n ),\n },\n {\n dependentTableName: \"SERVICE_PROVIDER_FEE_TYPE\",\n dependentItems: makeDependentServiceProviderFeeTypesList(\n itemId,\n serviceProviderFeeTypes,\n ),\n },\n ];\n }\n }, [fixedIncomes, itemId, serviceProviderFeeTypes, tableName, transactions]);\n\n return dependentItemProps;\n}\n\nexport function makeDependentServiceProviderFeeTypesList(\n itemId: string,\n serviceProviderFeeTypes: ServiceProviderFeeType[],\n) {\n const makeLabel = (asset: ServiceProviderFeeType) => ({\n id: asset.id,\n label: asset.name,\n });\n return serviceProviderFeeTypes\n .filter((f) => f.accountId === itemId)\n .map(makeLabel);\n}\n\nexport function makeDependentAssetsList(\n tableName: \"FIXED_INCOME_TYPE\" | \"SPV\",\n itemId: string,\n assets: FixedIncome[],\n) {\n const makeLabel = (asset: FixedIncome) => ({\n id: asset.id,\n label: asset.name,\n });\n switch (tableName) {\n case \"FIXED_INCOME_TYPE\":\n return assets\n .filter((asset) => asset.fixedIncomeTypeId === itemId)\n .map(makeLabel);\n case \"SPV\":\n return assets.filter((asset) => asset.spvId === itemId).map(makeLabel);\n }\n}\n\nexport function makeDependentTransactionsList(\n tableName: \"ASSET\" | \"ACCOUNT\" | \"SERVICE_PROVIDER_FEE_TYPE\",\n itemId: string,\n transactions: GroupTransaction[],\n) {\n const makeLabel = (t: GroupTransaction, index: number) => ({\n id: t.id,\n label: `Transaction #${index + 1}`,\n });\n\n switch (tableName) {\n case \"ASSET\":\n return transactions\n .filter((t) => t.fixedIncomeTransaction?.assetId === itemId)\n .map(makeLabel);\n case \"ACCOUNT\":\n return transactions\n .filter(\n (t) =>\n t.cashTransaction.accountId === itemId ||\n t.fixedIncomeTransaction?.accountId === itemId,\n )\n .map(makeLabel);\n case \"SERVICE_PROVIDER_FEE_TYPE\":\n return transactions\n .filter((t) =>\n t.fees?.some((f) => f.serviceProviderFeeTypeId === itemId),\n )\n .map(makeLabel);\n }\n}\n"],"names":["useDependentItemProps","tableName","itemId","fixedIncomes","serviceProviderFeeTypes","transactions","useEditorContext","useMemo","makeDependentAssetsList","makeDependentTransactionsList","makeDependentServiceProviderFeeTypesList","makeLabel","asset","f","assets","t","index","_a"],"mappings":";;AAagB,SAAAA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,cAAAC,GAAc,yBAAAC,GAAyB,cAAAC,EAAA,IAC7CC,EAAiB;AAyEZ,SAvEwCC,EAAQ,MAAM;AACvD,QAAA,CAACL,EAAQ,QAAO,CAAC;AAErB,YAAQD,GAAW;AAAA,MACjB,KAAK;AACH,eAAO,CAAC;AAAA,MACV,KAAK;AACI,eAAA;AAAA,UACL;AAAA,YACE,oBAAoB;AAAA,YACpB,gBAAgBO;AAAA,cACdP;AAAA,cACAC;AAAA,cACAC;AAAA,YAAA;AAAA,UACF;AAAA,QAEJ;AAAA,MACF,KAAK;AACI,eAAA;AAAA,UACL;AAAA,YACE,oBAAoB;AAAA,YACpB,gBAAgBK;AAAA,cACdP;AAAA,cACAC;AAAA,cACAC;AAAA,YAAA;AAAA,UACF;AAAA,QAEJ;AAAA,MACF,KAAK;AACI,eAAA;AAAA,UACL;AAAA,YACE,oBAAoB;AAAA,YACpB,gBAAgBM;AAAA,cACdR;AAAA,cACAC;AAAA,cACAG;AAAA,YAAA;AAAA,UACF;AAAA,QAEJ;AAAA,MACF,KAAK;AACI,eAAA;AAAA,UACL;AAAA,YACE,oBAAoB;AAAA,YACpB,gBAAgBI;AAAA,cACdR;AAAA,cACAC;AAAA,cACAG;AAAA,YAAA;AAAA,UACF;AAAA,QAEJ;AAAA,MACF,KAAK;AACI,eAAA;AAAA,UACL;AAAA,YACE,oBAAoB;AAAA,YACpB,gBAAgBI;AAAA,cACdR;AAAA,cACAC;AAAA,cACAG;AAAA,YAAA;AAAA,UAEJ;AAAA,UACA;AAAA,YACE,oBAAoB;AAAA,YACpB,gBAAgBK;AAAA,cACdR;AAAA,cACAE;AAAA,YAAA;AAAA,UACF;AAAA,QAEJ;AAAA,IAAA;AAAA,EACJ,GACC,CAACD,GAAcD,GAAQE,GAAyBH,GAAWI,CAAY,CAAC;AAG7E;AAEgB,SAAAK,EACdR,GACAE,GACA;AACM,QAAAO,IAAY,CAACC,OAAmC;AAAA,IACpD,IAAIA,EAAM;AAAA,IACV,OAAOA,EAAM;AAAA,EAAA;AAER,SAAAR,EACJ,OAAO,CAACS,MAAMA,EAAE,cAAcX,CAAM,EACpC,IAAIS,CAAS;AAClB;AAEgB,SAAAH,EACdP,GACAC,GACAY,GACA;AACM,QAAAH,IAAY,CAACC,OAAwB;AAAA,IACzC,IAAIA,EAAM;AAAA,IACV,OAAOA,EAAM;AAAA,EAAA;AAEf,UAAQX,GAAW;AAAA,IACjB,KAAK;AACI,aAAAa,EACJ,OAAO,CAACF,MAAUA,EAAM,sBAAsBV,CAAM,EACpD,IAAIS,CAAS;AAAA,IAClB,KAAK;AACI,aAAAG,EAAO,OAAO,CAACF,MAAUA,EAAM,UAAUV,CAAM,EAAE,IAAIS,CAAS;AAAA,EAAA;AAE3E;AAEgB,SAAAF,EACdR,GACAC,GACAG,GACA;AACM,QAAAM,IAAY,CAACI,GAAqBC,OAAmB;AAAA,IACzD,IAAID,EAAE;AAAA,IACN,OAAO,gBAAgBC,IAAQ,CAAC;AAAA,EAAA;AAGlC,UAAQf,GAAW;AAAA,IACjB,KAAK;AACI,aAAAI,EACJ,OAAO,CAACU;;AAAM,iBAAAE,IAAAF,EAAE,2BAAF,gBAAAE,EAA0B,aAAYf;AAAA,OAAM,EAC1D,IAAIS,CAAS;AAAA,IAClB,KAAK;AACH,aAAON,EACJ;AAAA,QACC,CAACU;;AACC,iBAAAA,EAAE,gBAAgB,cAAcb,OAChCe,IAAAF,EAAE,2BAAF,gBAAAE,EAA0B,eAAcf;AAAA;AAAA,MAAA,EAE3C,IAAIS,CAAS;AAAA,IAClB,KAAK;AACH,aAAON,EACJ;AAAA,QAAO,CAACU;;AACP,kBAAAE,IAAAF,EAAE,SAAF,gBAAAE,EAAQ,KAAK,CAACJ,MAAMA,EAAE,6BAA6BX;AAAA;AAAA,MAAM,EAE1D,IAAIS,CAAS;AAAA,EAAA;AAEtB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../src/rwa/constants/table.ts"],"sourcesContent":["import {\n EditorAction,\n GroupTransactionType,\n RealWorldAssetsState,\n TableName,\n TableNameFor,\n} from \"@/rwa\";\n\nexport const defaultColumnCountByTableWidth = {\n 1520: 10,\n 1394: 9,\n 1239: 8,\n 1112: 7,\n 984: 6,\n};\n\nexport const cashTransactionSignByTransactionType: Record<\n GroupTransactionType,\n -1 | 1\n> = {\n AssetSale: 1,\n PrincipalDraw: 1,\n AssetPurchase: -1,\n PrincipalReturn: -1,\n FeesIncome: 1,\n FeesPayment: -1,\n InterestIncome: 1,\n InterestPayment: -1,\n} as const;\n\nexport const assetTransactionSignByTransactionType = {\n AssetSale: -1,\n AssetPurchase: 1,\n} as const;\n\nexport function getStateKeyForTableName(tableName: TableName) {\n const stateKeysByTableName: Record<TableName, keyof RealWorldAssetsState> = {\n ASSET: \"portfolio\",\n TRANSACTION: \"transactions\",\n ACCOUNT: \"accounts\",\n FIXED_INCOME_TYPE: \"fixedIncomeTypes\",\n SERVICE_PROVIDER_FEE_TYPE: \"serviceProviderFeeTypes\",\n SPV: \"spvs\",\n } as const;\n\n return stateKeysByTableName[tableName];\n}\n\nexport function getTableNameFor<A extends EditorAction>(\n action: A,\n): TableNameFor<A> {\n const parts = action.type.split(\"_\");\n const entity = parts.slice(1).join(\"_\");\n return entity as TableNameFor<A>;\n}\nexport function getActionOperationType<A extends EditorAction>(action: A) {\n const operation = action.type.split(\"_\")[0];\n return operation as \"CREATE\" | \"EDIT\" | \"DELETE\";\n}\n"],"names":["defaultColumnCountByTableWidth","cashTransactionSignByTransactionType","assetTransactionSignByTransactionType","getStateKeyForTableName","tableName","getTableNameFor","action","getActionOperationType"],"mappings":"AAQO,MAAMA,IAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AACP,GAEaC,IAGT;AAAA,EACF,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,iBAAiB;AACnB,GAEaC,IAAwC;AAAA,EACnD,WAAW;AAAA,EACX,eAAe;AACjB;AAEO,SAASC,EAAwBC,GAAsB;AAU5D,SAT4E;AAAA,IAC1E,OAAO;AAAA,IACP,aAAa;AAAA,IACb,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,2BAA2B;AAAA,IAC3B,KAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/rwa/constants/table.ts"],"sourcesContent":["import {\n EditorAction,\n GroupTransactionType,\n RealWorldAssetsState,\n TableName,\n TableNameFor,\n} from \"@/rwa\";\n\nexport const defaultColumnCountByTableWidth = {\n 1520: 10,\n 1394: 9,\n 1239: 8,\n 1112: 7,\n 984: 6,\n};\n\nexport const cashTransactionSignByTransactionType: Record<\n GroupTransactionType,\n -1 | 1\n> = {\n AssetSale: 1,\n PrincipalDraw: 1,\n AssetPurchase: -1,\n PrincipalReturn: -1,\n FeesIncome: 1,\n FeesPayment: -1,\n InterestIncome: 1,\n InterestPayment: -1,\n} as const;\n\nexport const assetTransactionSignByTransactionType = {\n AssetSale: -1,\n AssetPurchase: 1,\n} as const;\n\nexport function getStateKeyForTableName(tableName: TableName) {\n const stateKeysByTableName: Record<TableName, keyof RealWorldAssetsState> = {\n ASSET: \"portfolio\",\n TRANSACTION: \"transactions\",\n ACCOUNT: \"accounts\",\n FIXED_INCOME_TYPE: \"fixedIncomeTypes\",\n SERVICE_PROVIDER_FEE_TYPE: \"serviceProviderFeeTypes\",\n SPV: \"spvs\",\n } as const;\n\n return stateKeysByTableName[tableName];\n}\n\nexport function getTableNameFor<A extends EditorAction>(\n action: A,\n): TableNameFor<A> {\n const parts = action.type.split(\"_\");\n const entity = parts.slice(1).join(\"_\");\n return entity as TableNameFor<A>;\n}\nexport function getActionOperationType<A extends EditorAction>(action: A) {\n const operation = action.type.split(\"_\")[0];\n return operation as \"CREATE\" | \"EDIT\" | \"DELETE\";\n}\n"],"names":["defaultColumnCountByTableWidth","cashTransactionSignByTransactionType","assetTransactionSignByTransactionType","getStateKeyForTableName","tableName","getTableNameFor","action","getActionOperationType"],"mappings":"AAQO,MAAMA,IAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AACP,GAEaC,IAGT;AAAA,EACF,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,iBAAiB;AACnB,GAEaC,IAAwC;AAAA,EACnD,WAAW;AAAA,EACX,eAAe;AACjB;AAEO,SAASC,EAAwBC,GAAsB;AAU5D,SAT4E;AAAA,IAC1E,OAAO;AAAA,IACP,aAAa;AAAA,IACb,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,2BAA2B;AAAA,IAC3B,KAAK;AAAA,EACP,EAE4BA,CAAS;AACvC;AAEO,SAASC,EACdC,GACiB;AAGV,SAFOA,EAAO,KAAK,MAAM,GAAG,EACd,MAAM,CAAC,EAAE,KAAK,GAAG;AAExC;AACO,SAASC,EAA+CD,GAAW;AAEjE,SADWA,EAAO,KAAK,MAAM,GAAG,EAAE,CAAC;AAE5C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-context.js","sources":["../../../src/rwa/context/editor-context.tsx"],"sourcesContent":["import {\n CashAsset,\n EditorAction,\n EditorDispatcher,\n FixedIncome,\n getActionOperationType,\n getCashAsset,\n getFixedIncomeAssets,\n getStateKeyForTableName,\n getTableNameFor,\n makeTableData,\n Operation,\n RealWorldAssetsState,\n TableItemType,\n TableName,\n} from \"@/rwa\";\nimport {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\n\nexport type RWAEditorContextProps = {\n readonly isAllowedToCreateDocuments: boolean;\n readonly isAllowedToEditDocuments: boolean;\n readonly canUndo: boolean;\n readonly canRedo: boolean;\n readonly onSwitchboardLinkClick: (() => void) | undefined;\n readonly onExport: () => void;\n readonly onClose: () => void;\n readonly onShowRevisionHistory: () => void;\n};\ntype TEditorContext = RWAEditorContextProps &\n RealWorldAssetsState & {\n readonly cashAsset: CashAsset;\n readonly fixedIncomes: FixedIncome[];\n readonly selectedTableItem: TableItemType<TableName> | null;\n readonly selectedTableName: TableName | null;\n readonly operation: Operation;\n readonly viewItem: (\n item: TableItemType<TableName>,\n tableName: TableName,\n ) => void;\n readonly createItem: (tableName: TableName) => void;\n readonly editItem: (\n item: TableItemType<TableName>,\n tableName: TableName,\n ) => void;\n readonly clearSelected: () => void;\n readonly getIsFormOpen: (tableName: TableName) => boolean;\n readonly handleAction: (action: EditorAction) => void;\n readonly handleUndo: () => void;\n readonly handleRedo: () => void;\n };\n\nconst defaultEditorContextValue: TEditorContext = {\n accounts: [],\n fixedIncomeTypes: [],\n portfolio: [],\n principalLenderAccountId: \"\",\n serviceProviderFeeTypes: [],\n spvs: [],\n transactions: [],\n fixedIncomes: [],\n cashAsset: {\n id: \"\",\n type: \"Cash\",\n currency: \"USD\",\n balance: 0,\n spvId: \"\",\n },\n isAllowedToCreateDocuments: false,\n isAllowedToEditDocuments: false,\n canUndo: false,\n canRedo: false,\n operation: null,\n onSwitchboardLinkClick: undefined,\n selectedTableItem: null,\n selectedTableName: null,\n getIsFormOpen: () => false,\n clearSelected: () => {},\n viewItem: () => {},\n createItem: () => {},\n editItem: () => {},\n onExport: () => {},\n onClose: () => {},\n handleUndo: () => {},\n handleRedo: () => {},\n onShowRevisionHistory: () => {},\n handleAction: () => {},\n};\n\nconst EditorContext = createContext(defaultEditorContextValue);\nEditorContext.displayName = \"EditorContext\";\n\ntype TableState = {\n selectedTableItem: TableItemType<TableName> | null;\n selectedTableName: TableName | null;\n operation: Operation;\n};\n\ntype TableAction =\n | {\n type: \"VIEW_ITEM\";\n item: TableItemType<TableName>;\n tableName: TableName;\n }\n | { type: \"CREATE_ITEM\"; tableName: TableName }\n | {\n type: \"EDIT_ITEM\";\n item: TableItemType<TableName>;\n tableName: TableName;\n }\n | { type: \"CLEAR_SELECTED\" };\n\nfunction tableReducer(state: TableState, action: TableAction): TableState {\n switch (action.type) {\n case \"VIEW_ITEM\":\n return {\n selectedTableItem: action.item,\n selectedTableName: action.tableName,\n operation: \"view\",\n };\n case \"CREATE_ITEM\":\n return {\n selectedTableItem: null,\n selectedTableName: action.tableName,\n operation: \"create\",\n };\n case \"EDIT_ITEM\":\n return {\n selectedTableItem: action.item,\n selectedTableName: action.tableName,\n operation: \"edit\",\n };\n case \"CLEAR_SELECTED\":\n return {\n selectedTableItem: null,\n selectedTableName: null,\n operation: null,\n };\n default:\n return state;\n }\n}\n\nexport function RWAEditorContextProvider(\n props: RWAEditorContextProps & {\n readonly children: ReactNode;\n readonly state: RealWorldAssetsState;\n readonly editorDispatcher: EditorDispatcher;\n readonly undo: () => void;\n readonly redo: () => void;\n },\n) {\n const {\n children,\n state,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n canUndo,\n canRedo,\n undo,\n redo,\n editorDispatcher,\n onExport,\n onClose,\n onSwitchboardLinkClick,\n onShowRevisionHistory,\n } = props;\n const [editorState, setEditorState] = useState(state);\n const stateRef = useRef(state);\n const [tableState, tableDispatch] = useReducer(tableReducer, {\n selectedTableItem: null,\n selectedTableName: null,\n operation: null,\n });\n\n const { selectedTableItem, selectedTableName, operation } = tableState;\n\n useEffect(() => {\n if (operation === null || operation === \"view\") {\n setEditorState(stateRef.current);\n }\n }, [operation, state]);\n\n useEffect(() => {\n stateRef.current = state;\n }, [state]);\n\n const {\n accounts,\n fixedIncomeTypes,\n portfolio,\n principalLenderAccountId,\n serviceProviderFeeTypes,\n spvs,\n transactions,\n } = editorState;\n\n const cashAsset = useMemo(() => getCashAsset(portfolio), [portfolio]);\n\n const fixedIncomes = useMemo(\n () => getFixedIncomeAssets(portfolio),\n [portfolio],\n );\n\n const handleUndo = useCallback(() => {\n if (!canUndo) return;\n undo();\n }, [canUndo, undo]);\n\n const handleRedo = useCallback(() => {\n if (!canRedo) return;\n redo();\n }, [canRedo, redo]);\n\n const getIsFormOpen = useCallback(\n (tableName: TableName) => selectedTableName === tableName,\n [selectedTableName],\n );\n\n const viewItem = useCallback(\n (item: TableItemType<TableName>, tableName: TableName) => {\n tableDispatch({ type: \"VIEW_ITEM\", item, tableName });\n },\n [],\n );\n\n const createItem = useCallback((tableName: TableName) => {\n tableDispatch({ type: \"CREATE_ITEM\", tableName });\n }, []);\n\n const editItem = useCallback(\n (item: TableItemType<TableName>, tableName: TableName) => {\n tableDispatch({ type: \"EDIT_ITEM\", item, tableName });\n },\n [],\n );\n\n const clearSelected = useCallback(() => {\n tableDispatch({ type: \"CLEAR_SELECTED\" });\n setEditorState(stateRef.current);\n }, []);\n\n const handleAction = useCallback(\n (action: EditorAction) => {\n try {\n const result = editorDispatcher(action);\n const actionOperationType = getActionOperationType(action);\n\n if (actionOperationType === \"DELETE\" || !result) {\n clearSelected();\n return;\n }\n const tableName = getTableNameFor(action);\n const stateKey = getStateKeyForTableName(tableName);\n const currentStateForKey = stateRef.current[stateKey];\n if (typeof currentStateForKey === \"string\") return;\n\n if (actionOperationType === \"CREATE\") {\n const newStateForKey = [...currentStateForKey, result];\n const newState = {\n ...stateRef.current,\n [stateKey]: newStateForKey,\n };\n stateRef.current = newState;\n setEditorState(newState);\n\n if (tableName === selectedTableName) {\n const newTableData = makeTableData(tableName, newState);\n const newTableItem = newTableData.find(\n (item) => item.id === result.id,\n );\n\n if (newTableItem) {\n viewItem(newTableItem, tableName);\n }\n }\n }\n\n if (actionOperationType === \"EDIT\") {\n const newStateForKey = currentStateForKey.map((item) =>\n item.id === result.id ? result : item,\n );\n const newState = {\n ...stateRef.current,\n [stateKey]: newStateForKey,\n };\n stateRef.current = newState;\n setEditorState(newState);\n const newTableData = makeTableData(tableName, newState);\n const newTableItem = newTableData.find(\n (item) => item.id === result.id,\n );\n if (newTableItem) {\n editItem(newTableItem, tableName);\n }\n }\n } catch (error) {\n console.error(`Failed to dispatch action ${action.type}`, error);\n }\n },\n [clearSelected, editorDispatcher, editItem, selectedTableName, viewItem],\n );\n\n const value = useMemo(\n () => ({\n accounts,\n fixedIncomeTypes,\n portfolio,\n principalLenderAccountId,\n serviceProviderFeeTypes,\n spvs,\n transactions,\n cashAsset,\n fixedIncomes,\n canUndo,\n canRedo,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n selectedTableItem,\n selectedTableName,\n operation,\n handleAction,\n handleUndo,\n handleRedo,\n viewItem,\n createItem,\n editItem,\n clearSelected,\n getIsFormOpen,\n onExport,\n onClose,\n onSwitchboardLinkClick,\n onShowRevisionHistory,\n }),\n [\n accounts,\n canRedo,\n canUndo,\n cashAsset,\n clearSelected,\n createItem,\n editItem,\n fixedIncomeTypes,\n fixedIncomes,\n getIsFormOpen,\n handleAction,\n handleRedo,\n handleUndo,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n onClose,\n onExport,\n onShowRevisionHistory,\n onSwitchboardLinkClick,\n operation,\n portfolio,\n principalLenderAccountId,\n selectedTableItem,\n selectedTableName,\n serviceProviderFeeTypes,\n spvs,\n transactions,\n viewItem,\n ],\n );\n return (\n <EditorContext.Provider value={value}>{children}</EditorContext.Provider>\n );\n}\n\nexport function useEditorContext() {\n return useContext(EditorContext);\n}\n"],"names":["defaultEditorContextValue","EditorContext","createContext","tableReducer","state","action","RWAEditorContextProvider","props","children","isAllowedToCreateDocuments","isAllowedToEditDocuments","canUndo","canRedo","undo","redo","editorDispatcher","onExport","onClose","onSwitchboardLinkClick","onShowRevisionHistory","editorState","setEditorState","useState","stateRef","useRef","tableState","tableDispatch","useReducer","selectedTableItem","selectedTableName","operation","useEffect","accounts","fixedIncomeTypes","portfolio","principalLenderAccountId","serviceProviderFeeTypes","spvs","transactions","cashAsset","useMemo","getCashAsset","fixedIncomes","getFixedIncomeAssets","handleUndo","useCallback","handleRedo","getIsFormOpen","tableName","viewItem","item","createItem","editItem","clearSelected","handleAction","result","actionOperationType","getActionOperationType","getTableNameFor","stateKey","getStateKeyForTableName","currentStateForKey","newStateForKey","newState","newTableItem","makeTableData","error","value","jsx","useEditorContext","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor-context.js","sources":["../../../src/rwa/context/editor-context.tsx"],"sourcesContent":["import {\n CashAsset,\n EditorAction,\n EditorDispatcher,\n FixedIncome,\n getActionOperationType,\n getCashAsset,\n getFixedIncomeAssets,\n getStateKeyForTableName,\n getTableNameFor,\n makeTableData,\n Operation,\n RealWorldAssetsState,\n TableItemType,\n TableName,\n} from \"@/rwa\";\nimport {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\n\nexport type RWAEditorContextProps = {\n readonly isAllowedToCreateDocuments: boolean;\n readonly isAllowedToEditDocuments: boolean;\n readonly canUndo: boolean;\n readonly canRedo: boolean;\n readonly onSwitchboardLinkClick: (() => void) | undefined;\n readonly onExport: () => void;\n readonly onClose: () => void;\n readonly onShowRevisionHistory: () => void;\n};\ntype TEditorContext = RWAEditorContextProps &\n RealWorldAssetsState & {\n readonly cashAsset: CashAsset;\n readonly fixedIncomes: FixedIncome[];\n readonly selectedTableItem: TableItemType<TableName> | null;\n readonly selectedTableName: TableName | null;\n readonly operation: Operation;\n readonly viewItem: (\n item: TableItemType<TableName>,\n tableName: TableName,\n ) => void;\n readonly createItem: (tableName: TableName) => void;\n readonly editItem: (\n item: TableItemType<TableName>,\n tableName: TableName,\n ) => void;\n readonly clearSelected: () => void;\n readonly getIsFormOpen: (tableName: TableName) => boolean;\n readonly handleAction: (action: EditorAction) => void;\n readonly handleUndo: () => void;\n readonly handleRedo: () => void;\n };\n\nconst defaultEditorContextValue: TEditorContext = {\n accounts: [],\n fixedIncomeTypes: [],\n portfolio: [],\n principalLenderAccountId: \"\",\n serviceProviderFeeTypes: [],\n spvs: [],\n transactions: [],\n fixedIncomes: [],\n cashAsset: {\n id: \"\",\n type: \"Cash\",\n currency: \"USD\",\n balance: 0,\n spvId: \"\",\n },\n isAllowedToCreateDocuments: false,\n isAllowedToEditDocuments: false,\n canUndo: false,\n canRedo: false,\n operation: null,\n onSwitchboardLinkClick: undefined,\n selectedTableItem: null,\n selectedTableName: null,\n getIsFormOpen: () => false,\n clearSelected: () => {},\n viewItem: () => {},\n createItem: () => {},\n editItem: () => {},\n onExport: () => {},\n onClose: () => {},\n handleUndo: () => {},\n handleRedo: () => {},\n onShowRevisionHistory: () => {},\n handleAction: () => {},\n};\n\nconst EditorContext = createContext(defaultEditorContextValue);\nEditorContext.displayName = \"EditorContext\";\n\ntype TableState = {\n selectedTableItem: TableItemType<TableName> | null;\n selectedTableName: TableName | null;\n operation: Operation;\n};\n\ntype TableAction =\n | {\n type: \"VIEW_ITEM\";\n item: TableItemType<TableName>;\n tableName: TableName;\n }\n | { type: \"CREATE_ITEM\"; tableName: TableName }\n | {\n type: \"EDIT_ITEM\";\n item: TableItemType<TableName>;\n tableName: TableName;\n }\n | { type: \"CLEAR_SELECTED\" };\n\nfunction tableReducer(state: TableState, action: TableAction): TableState {\n switch (action.type) {\n case \"VIEW_ITEM\":\n return {\n selectedTableItem: action.item,\n selectedTableName: action.tableName,\n operation: \"view\",\n };\n case \"CREATE_ITEM\":\n return {\n selectedTableItem: null,\n selectedTableName: action.tableName,\n operation: \"create\",\n };\n case \"EDIT_ITEM\":\n return {\n selectedTableItem: action.item,\n selectedTableName: action.tableName,\n operation: \"edit\",\n };\n case \"CLEAR_SELECTED\":\n return {\n selectedTableItem: null,\n selectedTableName: null,\n operation: null,\n };\n default:\n return state;\n }\n}\n\nexport function RWAEditorContextProvider(\n props: RWAEditorContextProps & {\n readonly children: ReactNode;\n readonly state: RealWorldAssetsState;\n readonly editorDispatcher: EditorDispatcher;\n readonly undo: () => void;\n readonly redo: () => void;\n },\n) {\n const {\n children,\n state,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n canUndo,\n canRedo,\n undo,\n redo,\n editorDispatcher,\n onExport,\n onClose,\n onSwitchboardLinkClick,\n onShowRevisionHistory,\n } = props;\n const [editorState, setEditorState] = useState(state);\n const stateRef = useRef(state);\n const [tableState, tableDispatch] = useReducer(tableReducer, {\n selectedTableItem: null,\n selectedTableName: null,\n operation: null,\n });\n\n const { selectedTableItem, selectedTableName, operation } = tableState;\n\n useEffect(() => {\n if (operation === null || operation === \"view\") {\n setEditorState(stateRef.current);\n }\n }, [operation, state]);\n\n useEffect(() => {\n stateRef.current = state;\n }, [state]);\n\n const {\n accounts,\n fixedIncomeTypes,\n portfolio,\n principalLenderAccountId,\n serviceProviderFeeTypes,\n spvs,\n transactions,\n } = editorState;\n\n const cashAsset = useMemo(() => getCashAsset(portfolio), [portfolio]);\n\n const fixedIncomes = useMemo(\n () => getFixedIncomeAssets(portfolio),\n [portfolio],\n );\n\n const handleUndo = useCallback(() => {\n if (!canUndo) return;\n undo();\n }, [canUndo, undo]);\n\n const handleRedo = useCallback(() => {\n if (!canRedo) return;\n redo();\n }, [canRedo, redo]);\n\n const getIsFormOpen = useCallback(\n (tableName: TableName) => selectedTableName === tableName,\n [selectedTableName],\n );\n\n const viewItem = useCallback(\n (item: TableItemType<TableName>, tableName: TableName) => {\n tableDispatch({ type: \"VIEW_ITEM\", item, tableName });\n },\n [],\n );\n\n const createItem = useCallback((tableName: TableName) => {\n tableDispatch({ type: \"CREATE_ITEM\", tableName });\n }, []);\n\n const editItem = useCallback(\n (item: TableItemType<TableName>, tableName: TableName) => {\n tableDispatch({ type: \"EDIT_ITEM\", item, tableName });\n },\n [],\n );\n\n const clearSelected = useCallback(() => {\n tableDispatch({ type: \"CLEAR_SELECTED\" });\n setEditorState(stateRef.current);\n }, []);\n\n const handleAction = useCallback(\n (action: EditorAction) => {\n try {\n const result = editorDispatcher(action);\n const actionOperationType = getActionOperationType(action);\n\n if (actionOperationType === \"DELETE\" || !result) {\n clearSelected();\n return;\n }\n const tableName = getTableNameFor(action);\n const stateKey = getStateKeyForTableName(tableName);\n const currentStateForKey = stateRef.current[stateKey];\n if (typeof currentStateForKey === \"string\") return;\n\n if (actionOperationType === \"CREATE\") {\n const newStateForKey = [...currentStateForKey, result];\n const newState = {\n ...stateRef.current,\n [stateKey]: newStateForKey,\n };\n stateRef.current = newState;\n setEditorState(newState);\n\n if (tableName === selectedTableName) {\n const newTableData = makeTableData(tableName, newState);\n const newTableItem = newTableData.find(\n (item) => item.id === result.id,\n );\n\n if (newTableItem) {\n viewItem(newTableItem, tableName);\n }\n }\n }\n\n if (actionOperationType === \"EDIT\") {\n const newStateForKey = currentStateForKey.map((item) =>\n item.id === result.id ? result : item,\n );\n const newState = {\n ...stateRef.current,\n [stateKey]: newStateForKey,\n };\n stateRef.current = newState;\n setEditorState(newState);\n const newTableData = makeTableData(tableName, newState);\n const newTableItem = newTableData.find(\n (item) => item.id === result.id,\n );\n if (newTableItem) {\n editItem(newTableItem, tableName);\n }\n }\n } catch (error) {\n console.error(`Failed to dispatch action ${action.type}`, error);\n }\n },\n [clearSelected, editorDispatcher, editItem, selectedTableName, viewItem],\n );\n\n const value = useMemo(\n () => ({\n accounts,\n fixedIncomeTypes,\n portfolio,\n principalLenderAccountId,\n serviceProviderFeeTypes,\n spvs,\n transactions,\n cashAsset,\n fixedIncomes,\n canUndo,\n canRedo,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n selectedTableItem,\n selectedTableName,\n operation,\n handleAction,\n handleUndo,\n handleRedo,\n viewItem,\n createItem,\n editItem,\n clearSelected,\n getIsFormOpen,\n onExport,\n onClose,\n onSwitchboardLinkClick,\n onShowRevisionHistory,\n }),\n [\n accounts,\n canRedo,\n canUndo,\n cashAsset,\n clearSelected,\n createItem,\n editItem,\n fixedIncomeTypes,\n fixedIncomes,\n getIsFormOpen,\n handleAction,\n handleRedo,\n handleUndo,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n onClose,\n onExport,\n onShowRevisionHistory,\n onSwitchboardLinkClick,\n operation,\n portfolio,\n principalLenderAccountId,\n selectedTableItem,\n selectedTableName,\n serviceProviderFeeTypes,\n spvs,\n transactions,\n viewItem,\n ],\n );\n return (\n <EditorContext.Provider value={value}>{children}</EditorContext.Provider>\n );\n}\n\nexport function useEditorContext() {\n return useContext(EditorContext);\n}\n"],"names":["defaultEditorContextValue","EditorContext","createContext","tableReducer","state","action","RWAEditorContextProvider","props","children","isAllowedToCreateDocuments","isAllowedToEditDocuments","canUndo","canRedo","undo","redo","editorDispatcher","onExport","onClose","onSwitchboardLinkClick","onShowRevisionHistory","editorState","setEditorState","useState","stateRef","useRef","tableState","tableDispatch","useReducer","selectedTableItem","selectedTableName","operation","useEffect","accounts","fixedIncomeTypes","portfolio","principalLenderAccountId","serviceProviderFeeTypes","spvs","transactions","cashAsset","useMemo","getCashAsset","fixedIncomes","getFixedIncomeAssets","handleUndo","useCallback","handleRedo","getIsFormOpen","tableName","viewItem","item","createItem","editItem","clearSelected","handleAction","result","actionOperationType","getActionOperationType","getTableNameFor","stateKey","getStateKeyForTableName","currentStateForKey","newStateForKey","newState","newTableItem","makeTableData","error","value","jsx","useEditorContext","useContext"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColumnPriority.js","sources":["../../../src/rwa/hooks/useColumnPriority.ts"],"sourcesContent":["import { ColumnCountByTableWidth, TableColumn } from \"@/rwa\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\ntype Props<TColumn extends TableColumn> = {\n columns: TColumn[] | undefined;\n columnCountByTableWidth: ColumnCountByTableWidth;\n tableContainerRef: React.RefObject<HTMLDivElement>;\n hasItemNumberColumn?: boolean;\n hasMoreDetailsColumn?: boolean;\n};\n\n/**\n * Hook to handle dropping columns for smaller screens.\n *\n * @param columns - Array of columns to display, column must satisfy TableColumn. The columns will be displayed in the order they are provided.\n * @param columnCountByTableWidth - Object that specifies how many columns to show at different screen widths\n * @param tableContainerRef - Ref to the table container element\n * @param hasIndexColumn - When true, adds an \"index\" column with the index of the row as the _first column_. This column is exempt from being dropped.\n * @param hasMoreDetailsColumn - When true, adds a \"more details\" column as the _last column_. This column is exempt from being dropped. This column has no header label by default.\n */\nexport function useColumnPriority<TColumn extends TableColumn>(\n props: Props<TColumn>,\n) {\n const {\n columnCountByTableWidth,\n tableContainerRef,\n columns,\n hasItemNumberColumn = true,\n hasMoreDetailsColumn = true,\n } = props;\n\n const [parentWidth, setParentWidth] = useState(0);\n\n // Define special columns individually for clarity\n const indexColumn = useMemo(\n () =>\n hasItemNumberColumn\n ? {\n key: \"itemNumber\" as const,\n label: \"#\",\n allowSorting: true,\n isSpecialColumn: true,\n }\n : undefined,\n [hasItemNumberColumn],\n );\n\n const moreDetailsColumn = useMemo(\n () =>\n hasMoreDetailsColumn\n ? {\n key: \"moreDetails\" as const,\n label: \"\",\n isSpecialColumn: true,\n }\n : undefined,\n [hasMoreDetailsColumn],\n );\n\n const [columnsToShow, setColumnsToShow] = useState<TColumn[]>([]);\n\n const handleResize = useCallback(() => {\n if (tableContainerRef.current?.parentElement) {\n setParentWidth(tableContainerRef.current.parentElement.offsetWidth);\n }\n }, [tableContainerRef]);\n\n const handleDropColumns = useCallback(() => {\n const columnCount = getColumnCount(parentWidth, columnCountByTableWidth);\n const dynamicColumnsToShow = columns?.slice(0, columnCount) ?? [];\n // Ensure the index column is first and the \"more details\" column is last\n setColumnsToShow(\n [indexColumn, ...dynamicColumnsToShow, moreDetailsColumn].filter(Boolean),\n );\n }, [\n parentWidth,\n columns,\n columnCountByTableWidth,\n indexColumn,\n moreDetailsColumn,\n ]);\n\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [handleResize]);\n\n useEffect(() => {\n handleDropColumns();\n }, [handleDropColumns, parentWidth]);\n\n return useMemo(() => columnsToShow, [columnsToShow]);\n}\n\nexport function getColumnCount(\n parentElementWidth: number,\n columnCountByTableWidth: Record<number, number>,\n) {\n let closestKey = 1520;\n let smallestDifference = Infinity;\n\n Object.keys(columnCountByTableWidth).forEach((columnWidthKey) => {\n const columnWidth = parseInt(columnWidthKey);\n const difference = Math.abs(parentElementWidth - columnWidth);\n\n if (difference < smallestDifference) {\n smallestDifference = difference;\n closestKey = parseInt(columnWidthKey);\n }\n });\n\n const columnCount = columnCountByTableWidth[closestKey];\n\n return columnCount;\n}\n"],"names":["useColumnPriority","props","columnCountByTableWidth","tableContainerRef","columns","hasItemNumberColumn","hasMoreDetailsColumn","parentWidth","setParentWidth","useState","indexColumn","useMemo","moreDetailsColumn","columnsToShow","setColumnsToShow","handleResize","useCallback","_a","handleDropColumns","columnCount","getColumnCount","dynamicColumnsToShow","useEffect","parentElementWidth","closestKey","smallestDifference","columnWidthKey","columnWidth","difference"],"mappings":";AAoBO,SAASA,EACdC,GACA;AACM,QAAA;AAAA,IACJ,yBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,qBAAAC,IAAsB;AAAA,IACtB,sBAAAC,IAAuB;AAAA,
|
|
1
|
+
{"version":3,"file":"useColumnPriority.js","sources":["../../../src/rwa/hooks/useColumnPriority.ts"],"sourcesContent":["import { ColumnCountByTableWidth, TableColumn } from \"@/rwa\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\ntype Props<TColumn extends TableColumn> = {\n columns: TColumn[] | undefined;\n columnCountByTableWidth: ColumnCountByTableWidth;\n tableContainerRef: React.RefObject<HTMLDivElement>;\n hasItemNumberColumn?: boolean;\n hasMoreDetailsColumn?: boolean;\n};\n\n/**\n * Hook to handle dropping columns for smaller screens.\n *\n * @param columns - Array of columns to display, column must satisfy TableColumn. The columns will be displayed in the order they are provided.\n * @param columnCountByTableWidth - Object that specifies how many columns to show at different screen widths\n * @param tableContainerRef - Ref to the table container element\n * @param hasIndexColumn - When true, adds an \"index\" column with the index of the row as the _first column_. This column is exempt from being dropped.\n * @param hasMoreDetailsColumn - When true, adds a \"more details\" column as the _last column_. This column is exempt from being dropped. This column has no header label by default.\n */\nexport function useColumnPriority<TColumn extends TableColumn>(\n props: Props<TColumn>,\n) {\n const {\n columnCountByTableWidth,\n tableContainerRef,\n columns,\n hasItemNumberColumn = true,\n hasMoreDetailsColumn = true,\n } = props;\n\n const [parentWidth, setParentWidth] = useState(0);\n\n // Define special columns individually for clarity\n const indexColumn = useMemo(\n () =>\n hasItemNumberColumn\n ? {\n key: \"itemNumber\" as const,\n label: \"#\",\n allowSorting: true,\n isSpecialColumn: true,\n }\n : undefined,\n [hasItemNumberColumn],\n );\n\n const moreDetailsColumn = useMemo(\n () =>\n hasMoreDetailsColumn\n ? {\n key: \"moreDetails\" as const,\n label: \"\",\n isSpecialColumn: true,\n }\n : undefined,\n [hasMoreDetailsColumn],\n );\n\n const [columnsToShow, setColumnsToShow] = useState<TColumn[]>([]);\n\n const handleResize = useCallback(() => {\n if (tableContainerRef.current?.parentElement) {\n setParentWidth(tableContainerRef.current.parentElement.offsetWidth);\n }\n }, [tableContainerRef]);\n\n const handleDropColumns = useCallback(() => {\n const columnCount = getColumnCount(parentWidth, columnCountByTableWidth);\n const dynamicColumnsToShow = columns?.slice(0, columnCount) ?? [];\n // Ensure the index column is first and the \"more details\" column is last\n setColumnsToShow(\n [indexColumn, ...dynamicColumnsToShow, moreDetailsColumn].filter(Boolean),\n );\n }, [\n parentWidth,\n columns,\n columnCountByTableWidth,\n indexColumn,\n moreDetailsColumn,\n ]);\n\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [handleResize]);\n\n useEffect(() => {\n handleDropColumns();\n }, [handleDropColumns, parentWidth]);\n\n return useMemo(() => columnsToShow, [columnsToShow]);\n}\n\nexport function getColumnCount(\n parentElementWidth: number,\n columnCountByTableWidth: Record<number, number>,\n) {\n let closestKey = 1520;\n let smallestDifference = Infinity;\n\n Object.keys(columnCountByTableWidth).forEach((columnWidthKey) => {\n const columnWidth = parseInt(columnWidthKey);\n const difference = Math.abs(parentElementWidth - columnWidth);\n\n if (difference < smallestDifference) {\n smallestDifference = difference;\n closestKey = parseInt(columnWidthKey);\n }\n });\n\n const columnCount = columnCountByTableWidth[closestKey];\n\n return columnCount;\n}\n"],"names":["useColumnPriority","props","columnCountByTableWidth","tableContainerRef","columns","hasItemNumberColumn","hasMoreDetailsColumn","parentWidth","setParentWidth","useState","indexColumn","useMemo","moreDetailsColumn","columnsToShow","setColumnsToShow","handleResize","useCallback","_a","handleDropColumns","columnCount","getColumnCount","dynamicColumnsToShow","useEffect","parentElementWidth","closestKey","smallestDifference","columnWidthKey","columnWidth","difference"],"mappings":";AAoBO,SAASA,EACdC,GACA;AACM,QAAA;AAAA,IACJ,yBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,qBAAAC,IAAsB;AAAA,IACtB,sBAAAC,IAAuB;AAAA,EAAA,IACrBL,GAEE,CAACM,GAAaC,CAAc,IAAIC,EAAS,CAAC,GAG1CC,IAAcC;AAAA,IAClB,MACEN,IACI;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,iBAAiB;AAAA,IAEnB,IAAA;AAAA,IACN,CAACA,CAAmB;AAAA,EACtB,GAEMO,IAAoBD;AAAA,IACxB,MACEL,IACI;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,iBAAiB;AAAA,IAEnB,IAAA;AAAA,IACN,CAACA,CAAoB;AAAA,EACvB,GAEM,CAACO,GAAeC,CAAgB,IAAIL,EAAoB,CAAA,CAAE,GAE1DM,IAAeC,EAAY,MAAM;;AACjC,KAAAC,IAAAd,EAAkB,YAAlB,QAAAc,EAA2B,iBACdT,EAAAL,EAAkB,QAAQ,cAAc,WAAW;AAAA,EACpE,GACC,CAACA,CAAiB,CAAC,GAEhBe,IAAoBF,EAAY,MAAM;AACpC,UAAAG,IAAcC,EAAeb,GAAaL,CAAuB,GACjEmB,KAAuBjB,KAAA,gBAAAA,EAAS,MAAM,GAAGe,OAAgB,CAAC;AAEhE,IAAAL;AAAA,MACE,CAACJ,GAAa,GAAGW,GAAsBT,CAAiB,EAAE,OAAO,OAAO;AAAA,IAC1E;AAAA,EAAA,GACC;AAAA,IACDL;AAAA,IACAH;AAAA,IACAF;AAAA,IACAQ;AAAA,IACAE;AAAA,EAAA,CACD;AAED,SAAAU,EAAU,OACKP,EAAA,GACN,OAAA,iBAAiB,UAAUA,CAAY,GACvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY,IAC7D,CAACA,CAAY,CAAC,GAEjBO,EAAU,MAAM;AACI,IAAAJ,EAAA;AAAA,EAAA,GACjB,CAACA,GAAmBX,CAAW,CAAC,GAE5BI,EAAQ,MAAME,GAAe,CAACA,CAAa,CAAC;AACrD;AAEgB,SAAAO,EACdG,GACArB,GACA;AACA,MAAIsB,IAAa,MACbC,IAAqB;AAEzB,gBAAO,KAAKvB,CAAuB,EAAE,QAAQ,CAACwB,MAAmB;AACzD,UAAAC,IAAc,SAASD,CAAc,GACrCE,IAAa,KAAK,IAAIL,IAAqBI,CAAW;AAE5D,IAAIC,IAAaH,MACMA,IAAAG,GACrBJ,IAAa,SAASE,CAAc;AAAA,EACtC,CACD,GAEmBxB,EAAwBsB,CAAU;AAGxD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultFormValues.js","sources":["../../../src/rwa/hooks/useDefaultFormValues.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { allGroupTransactionTypes, tableNames } from \"../constants\";\nimport {\n Account,\n AccountFormInputs,\n AssetFormInputs,\n FixedIncomeType,\n FixedIncomeTypeFormInputs,\n GroupTransactionFormInputs,\n ServiceProviderFeeTypeFormInputs,\n SPV,\n SPVFormInputs,\n TableItemType,\n TableName,\n} from \"../types\";\nimport { convertToDateTimeLocalFormat } from \"../utils\";\n\nexport function useDefaultFormValues(args: {\n tableName: TableName;\n tableItem?: TableItemType<TableName> | null;\n fixedIncomeTypes: FixedIncomeType[];\n spvs: SPV[];\n accounts: Account[];\n}) {\n const { tableName, tableItem, fixedIncomeTypes, spvs, accounts } = args;\n\n return useMemo(() => {\n if (!tableItem) {\n switch (tableName) {\n case tableNames.ASSET:\n return {\n fixedIncomeTypeId: fixedIncomeTypes[0]?.id ?? null,\n spvId: spvs[0]?.id ?? null,\n name: null,\n maturity: null,\n ISIN: null,\n CUSIP: null,\n coupon: null,\n } as AssetFormInputs;\n case tableNames.TRANSACTION:\n return {\n type: allGroupTransactionTypes[0],\n entryTime: convertToDateTimeLocalFormat(new Date()),\n cashAmount: null,\n fixedIncomeId: null,\n fixedIncomeAmount: null,\n serviceProviderFeeTypeId: null,\n fees: null,\n txRef: null,\n } as GroupTransactionFormInputs;\n case tableNames.SPV:\n return {\n name: null,\n } as SPVFormInputs;\n case tableNames.SERVICE_PROVIDER_FEE_TYPE:\n return {\n name: null,\n feeType: null,\n accountId: accounts[0]?.id ?? null,\n } as ServiceProviderFeeTypeFormInputs;\n case tableNames.FIXED_INCOME_TYPE:\n return {\n name: null,\n } as FixedIncomeTypeFormInputs;\n case tableNames.ACCOUNT:\n return {\n label: null,\n reference: null,\n } as AccountFormInputs;\n }\n }\n\n switch (tableName) {\n case tableNames.ASSET: {\n const item = tableItem as TableItemType<typeof tableNames.ASSET>;\n return {\n id: item.id,\n fixedIncomeTypeId: item.fixedIncomeTypeId,\n spvId: item.spvId,\n name: item.name,\n maturity: item.maturity,\n ISIN: item.ISIN,\n CUSIP: item.CUSIP,\n coupon: item.coupon,\n } as AssetFormInputs;\n }\n case tableNames.TRANSACTION: {\n const item = tableItem as TableItemType<typeof tableNames.TRANSACTION>;\n return {\n id: item.id,\n type: item.type,\n entryTime: convertToDateTimeLocalFormat(item.entryTime),\n cashAmount: item.cashTransaction.amount ?? null,\n fixedIncomeId: item.fixedIncomeTransaction?.assetId ?? null,\n fixedIncomeAmount: item.fixedIncomeTransaction?.amount ?? null,\n serviceProviderFeeTypeId: item.serviceProviderFeeTypeId ?? null,\n fees: item.fees ?? null,\n txRef: item.txRef ?? null,\n } as GroupTransactionFormInputs;\n }\n case tableNames.SPV: {\n const item = tableItem as TableItemType<typeof tableNames.SPV>;\n return {\n id: item.id,\n name: item.name,\n } as SPVFormInputs;\n }\n case tableNames.SERVICE_PROVIDER_FEE_TYPE: {\n const item = tableItem as TableItemType<\n typeof tableNames.SERVICE_PROVIDER_FEE_TYPE\n >;\n return {\n id: item.id,\n name: item.name,\n feeType: item.feeType,\n accountId: item.accountId,\n } as ServiceProviderFeeTypeFormInputs;\n }\n case tableNames.FIXED_INCOME_TYPE: {\n const item = tableItem as TableItemType<\n typeof tableNames.FIXED_INCOME_TYPE\n >;\n return {\n id: item.id,\n name: item.name,\n } as FixedIncomeTypeFormInputs;\n }\n case tableNames.ACCOUNT: {\n const item = tableItem as TableItemType<typeof tableNames.ACCOUNT>;\n return {\n id: item.id,\n label: item.label,\n reference: item.reference,\n } as AccountFormInputs;\n }\n }\n }, [accounts, fixedIncomeTypes, spvs, tableItem, tableName]);\n}\n"],"names":["useDefaultFormValues","args","tableName","tableItem","fixedIncomeTypes","spvs","accounts","useMemo","tableNames","_a","_b","allGroupTransactionTypes","convertToDateTimeLocalFormat","_c","item","_d","_e"],"mappings":";;;;AAiBO,SAASA,EAAqBC,GAMlC;AACD,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,kBAAAC,GAAkB,MAAAC,GAAM,UAAAC,
|
|
1
|
+
{"version":3,"file":"useDefaultFormValues.js","sources":["../../../src/rwa/hooks/useDefaultFormValues.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { allGroupTransactionTypes, tableNames } from \"../constants\";\nimport {\n Account,\n AccountFormInputs,\n AssetFormInputs,\n FixedIncomeType,\n FixedIncomeTypeFormInputs,\n GroupTransactionFormInputs,\n ServiceProviderFeeTypeFormInputs,\n SPV,\n SPVFormInputs,\n TableItemType,\n TableName,\n} from \"../types\";\nimport { convertToDateTimeLocalFormat } from \"../utils\";\n\nexport function useDefaultFormValues(args: {\n tableName: TableName;\n tableItem?: TableItemType<TableName> | null;\n fixedIncomeTypes: FixedIncomeType[];\n spvs: SPV[];\n accounts: Account[];\n}) {\n const { tableName, tableItem, fixedIncomeTypes, spvs, accounts } = args;\n\n return useMemo(() => {\n if (!tableItem) {\n switch (tableName) {\n case tableNames.ASSET:\n return {\n fixedIncomeTypeId: fixedIncomeTypes[0]?.id ?? null,\n spvId: spvs[0]?.id ?? null,\n name: null,\n maturity: null,\n ISIN: null,\n CUSIP: null,\n coupon: null,\n } as AssetFormInputs;\n case tableNames.TRANSACTION:\n return {\n type: allGroupTransactionTypes[0],\n entryTime: convertToDateTimeLocalFormat(new Date()),\n cashAmount: null,\n fixedIncomeId: null,\n fixedIncomeAmount: null,\n serviceProviderFeeTypeId: null,\n fees: null,\n txRef: null,\n } as GroupTransactionFormInputs;\n case tableNames.SPV:\n return {\n name: null,\n } as SPVFormInputs;\n case tableNames.SERVICE_PROVIDER_FEE_TYPE:\n return {\n name: null,\n feeType: null,\n accountId: accounts[0]?.id ?? null,\n } as ServiceProviderFeeTypeFormInputs;\n case tableNames.FIXED_INCOME_TYPE:\n return {\n name: null,\n } as FixedIncomeTypeFormInputs;\n case tableNames.ACCOUNT:\n return {\n label: null,\n reference: null,\n } as AccountFormInputs;\n }\n }\n\n switch (tableName) {\n case tableNames.ASSET: {\n const item = tableItem as TableItemType<typeof tableNames.ASSET>;\n return {\n id: item.id,\n fixedIncomeTypeId: item.fixedIncomeTypeId,\n spvId: item.spvId,\n name: item.name,\n maturity: item.maturity,\n ISIN: item.ISIN,\n CUSIP: item.CUSIP,\n coupon: item.coupon,\n } as AssetFormInputs;\n }\n case tableNames.TRANSACTION: {\n const item = tableItem as TableItemType<typeof tableNames.TRANSACTION>;\n return {\n id: item.id,\n type: item.type,\n entryTime: convertToDateTimeLocalFormat(item.entryTime),\n cashAmount: item.cashTransaction.amount ?? null,\n fixedIncomeId: item.fixedIncomeTransaction?.assetId ?? null,\n fixedIncomeAmount: item.fixedIncomeTransaction?.amount ?? null,\n serviceProviderFeeTypeId: item.serviceProviderFeeTypeId ?? null,\n fees: item.fees ?? null,\n txRef: item.txRef ?? null,\n } as GroupTransactionFormInputs;\n }\n case tableNames.SPV: {\n const item = tableItem as TableItemType<typeof tableNames.SPV>;\n return {\n id: item.id,\n name: item.name,\n } as SPVFormInputs;\n }\n case tableNames.SERVICE_PROVIDER_FEE_TYPE: {\n const item = tableItem as TableItemType<\n typeof tableNames.SERVICE_PROVIDER_FEE_TYPE\n >;\n return {\n id: item.id,\n name: item.name,\n feeType: item.feeType,\n accountId: item.accountId,\n } as ServiceProviderFeeTypeFormInputs;\n }\n case tableNames.FIXED_INCOME_TYPE: {\n const item = tableItem as TableItemType<\n typeof tableNames.FIXED_INCOME_TYPE\n >;\n return {\n id: item.id,\n name: item.name,\n } as FixedIncomeTypeFormInputs;\n }\n case tableNames.ACCOUNT: {\n const item = tableItem as TableItemType<typeof tableNames.ACCOUNT>;\n return {\n id: item.id,\n label: item.label,\n reference: item.reference,\n } as AccountFormInputs;\n }\n }\n }, [accounts, fixedIncomeTypes, spvs, tableItem, tableName]);\n}\n"],"names":["useDefaultFormValues","args","tableName","tableItem","fixedIncomeTypes","spvs","accounts","useMemo","tableNames","_a","_b","allGroupTransactionTypes","convertToDateTimeLocalFormat","_c","item","_d","_e"],"mappings":"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"}
|