@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":"pagination.js","sources":["../../../../src/powerhouse/components/pagination/pagination.tsx"],"sourcesContent":["import { Icon, PageItem, UsePaginationBaseResult } from \"@/powerhouse\";\nimport { PaginationButton } from \"./pagination-button\";\n\nexport type PaginationEvent = {\n event: \"first\" | \"previous\" | \"next\" | \"last\";\n};\n\nexport type PaginationPageEvent = {\n event: \"page\";\n page: PageItem;\n};\n\nexport interface PaginationProps\n extends Omit<UsePaginationBaseResult, \"pageCount\" | \"currentPage\"> {\n displayPagesLeftIndicator?: boolean;\n firstPageLabel?: React.ReactNode;\n lastPageLabel?: React.ReactNode;\n nextPageLabel?: React.ReactNode;\n previousPageLabel?: React.ReactNode;\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n pages = [],\n goToFirstPage,\n goToLastPage,\n goToNextPage,\n goToPreviousPage,\n goToPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n hiddenNextPages,\n firstPageLabel = \"First\",\n lastPageLabel = \"Last\",\n nextPageLabel = \"Next\",\n previousPageLabel = \"Previous\",\n } = props;\n\n return (\n <div className=\"flex gap-x-1\">\n {firstPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToFirstPage()}\n >\n {firstPageLabel}\n </PaginationButton>\n ) : null}\n {previousPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToPreviousPage()}\n >\n <Icon className=\"rotate-90\" name=\"ChevronDown\" size={16} />\n {previousPageLabel}\n </PaginationButton>\n ) : null}\n {pages.map((page) => (\n <PaginationButton\n active={page.active}\n key={page.index}\n onClick={() => goToPage(page.index)}\n >\n {page.number}\n </PaginationButton>\n ))}\n {hiddenNextPages ? (\n <span className=\"flex items-center justify-center px-2\">...</span>\n ) : null}\n {nextPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToNextPage()}\n >\n {nextPageLabel}\n <Icon className=\"-rotate-90\" name=\"ChevronDown\" size={16} />\n </PaginationButton>\n ) : null}\n {lastPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToLastPage()}\n >\n {lastPageLabel}\n </PaginationButton>\n ) : null}\n </div>\n );\n};\n"],"names":["Pagination","props","pages","goToFirstPage","goToLastPage","goToNextPage","goToPreviousPage","goToPage","isNextPageAvailable","isPreviousPageAvailable","hiddenNextPages","firstPageLabel","lastPageLabel","nextPageLabel","previousPageLabel","jsxs","jsx","PaginationButton","Icon","page"],"mappings":";;;AAqBa,MAAAA,IAAwC,CAACC,MAAU;AACxD,QAAA;AAAA,IACJ,OAAAC,IAAQ,CAAC;AAAA,IACT,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,eAAAC,IAAgB;AAAA,IAChB,eAAAC,IAAgB;AAAA,IAChB,mBAAAC,IAAoB;AAAA,
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":["../../../../src/powerhouse/components/pagination/pagination.tsx"],"sourcesContent":["import { Icon, PageItem, UsePaginationBaseResult } from \"@/powerhouse\";\nimport { PaginationButton } from \"./pagination-button\";\n\nexport type PaginationEvent = {\n event: \"first\" | \"previous\" | \"next\" | \"last\";\n};\n\nexport type PaginationPageEvent = {\n event: \"page\";\n page: PageItem;\n};\n\nexport interface PaginationProps\n extends Omit<UsePaginationBaseResult, \"pageCount\" | \"currentPage\"> {\n displayPagesLeftIndicator?: boolean;\n firstPageLabel?: React.ReactNode;\n lastPageLabel?: React.ReactNode;\n nextPageLabel?: React.ReactNode;\n previousPageLabel?: React.ReactNode;\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n pages = [],\n goToFirstPage,\n goToLastPage,\n goToNextPage,\n goToPreviousPage,\n goToPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n hiddenNextPages,\n firstPageLabel = \"First\",\n lastPageLabel = \"Last\",\n nextPageLabel = \"Next\",\n previousPageLabel = \"Previous\",\n } = props;\n\n return (\n <div className=\"flex gap-x-1\">\n {firstPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToFirstPage()}\n >\n {firstPageLabel}\n </PaginationButton>\n ) : null}\n {previousPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToPreviousPage()}\n >\n <Icon className=\"rotate-90\" name=\"ChevronDown\" size={16} />\n {previousPageLabel}\n </PaginationButton>\n ) : null}\n {pages.map((page) => (\n <PaginationButton\n active={page.active}\n key={page.index}\n onClick={() => goToPage(page.index)}\n >\n {page.number}\n </PaginationButton>\n ))}\n {hiddenNextPages ? (\n <span className=\"flex items-center justify-center px-2\">...</span>\n ) : null}\n {nextPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToNextPage()}\n >\n {nextPageLabel}\n <Icon className=\"-rotate-90\" name=\"ChevronDown\" size={16} />\n </PaginationButton>\n ) : null}\n {lastPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToLastPage()}\n >\n {lastPageLabel}\n </PaginationButton>\n ) : null}\n </div>\n );\n};\n"],"names":["Pagination","props","pages","goToFirstPage","goToLastPage","goToNextPage","goToPreviousPage","goToPage","isNextPageAvailable","isPreviousPageAvailable","hiddenNextPages","firstPageLabel","lastPageLabel","nextPageLabel","previousPageLabel","jsxs","jsx","PaginationButton","Icon","page"],"mappings":";;;AAqBa,MAAAA,IAAwC,CAACC,MAAU;AACxD,QAAA;AAAA,IACJ,OAAAC,IAAQ,CAAC;AAAA,IACT,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,eAAAC,IAAgB;AAAA,IAChB,eAAAC,IAAgB;AAAA,IAChB,mBAAAC,IAAoB;AAAA,EAAA,IAClBb;AAGF,SAAA,gBAAAc,EAAC,OAAI,EAAA,WAAU,gBACZ,UAAA;AAAA,IACCJ,IAAA,gBAAAK;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAU,CAACR;AAAA,QACX,SAAS,MAAMN,EAAc;AAAA,QAE5B,UAAAQ;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,IACHG,IACC,gBAAAC;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,UAAU,CAACR;AAAA,QACX,SAAS,MAAMH,EAAiB;AAAA,QAEhC,UAAA;AAAA,UAAA,gBAAAU,EAACE,KAAK,WAAU,aAAY,MAAK,eAAc,MAAM,IAAI;AAAA,UACxDJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,IACHZ,EAAM,IAAI,CAACiB,MACV,gBAAAH;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,QAAQE,EAAK;AAAA,QAEb,SAAS,MAAMZ,EAASY,EAAK,KAAK;AAAA,QAEjC,UAAKA,EAAA;AAAA,MAAA;AAAA,MAHDA,EAAK;AAAA,IAAA,CAKb;AAAA,IACAT,IACE,gBAAAM,EAAA,QAAA,EAAK,WAAU,yCAAwC,gBAAG,CAAA,IACzD;AAAA,IACHH,IACC,gBAAAE;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,UAAU,CAACT;AAAA,QACX,SAAS,MAAMH,EAAa;AAAA,QAE3B,UAAA;AAAA,UAAAQ;AAAA,4BACAK,GAAK,EAAA,WAAU,cAAa,MAAK,eAAc,MAAM,GAAI,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,IAE1D;AAAA,IACHN,IACC,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAU,CAACT;AAAA,QACX,SAAS,MAAMJ,EAAa;AAAA,QAE3B,UAAAQ;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,EAAA,GACN;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-panel.js","sources":["../../../../src/powerhouse/components/sidebar/sidebar-panel.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type SidebarPanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarPanel({\n className,\n children,\n ...props\n}: SidebarPanelProps) {\n const [hasScroll, setHasScroll] = useState(false);\n\n function checkContentScroll(target: Element) {\n setHasScroll(\n target.scrollHeight - target.scrollTop - target.clientHeight > 1,\n );\n }\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n // listen for resize events to update shadow\n useEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n const entry = entries.pop();\n if (!entry) {\n return;\n }\n\n const { target } = entry;\n checkContentScroll(target);\n });\n observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }, [containerRef.current]);\n\n return (\n <>\n <div\n className={twMerge(\n \"no-scrollbar flex-1 overflow-auto text-gray-900 transition-shadow\",\n className,\n )}\n onScroll={(e) => checkContentScroll(e.currentTarget)}\n ref={containerRef}\n {...props}\n >\n {children}\n </div>\n {hasScroll ? (\n <div\n className=\"pointer-events-none z-10 -mt-12 h-12 w-full\"\n style={{\n boxShadow: \"inset 0px -33px 32px -16px rgba(0,0,0,0.1)\",\n }}\n />\n ) : null}\n </>\n );\n}\n"],"names":["SidebarPanel","className","children","props","hasScroll","setHasScroll","useState","checkContentScroll","target","containerRef","useRef","useEffect","observer","entries","entry","jsxs","Fragment","jsx","twMerge"],"mappings":";;;AAKO,SAASA,EAAa;AAAA,EAC3B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK;AAEhD,WAASC,EAAmBC,GAAiB;AAC3C,IAAAH;AAAA,MACEG,EAAO,eAAeA,EAAO,YAAYA,EAAO,eAAe;AAAA,
|
|
1
|
+
{"version":3,"file":"sidebar-panel.js","sources":["../../../../src/powerhouse/components/sidebar/sidebar-panel.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type SidebarPanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarPanel({\n className,\n children,\n ...props\n}: SidebarPanelProps) {\n const [hasScroll, setHasScroll] = useState(false);\n\n function checkContentScroll(target: Element) {\n setHasScroll(\n target.scrollHeight - target.scrollTop - target.clientHeight > 1,\n );\n }\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n // listen for resize events to update shadow\n useEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n const entry = entries.pop();\n if (!entry) {\n return;\n }\n\n const { target } = entry;\n checkContentScroll(target);\n });\n observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }, [containerRef.current]);\n\n return (\n <>\n <div\n className={twMerge(\n \"no-scrollbar flex-1 overflow-auto text-gray-900 transition-shadow\",\n className,\n )}\n onScroll={(e) => checkContentScroll(e.currentTarget)}\n ref={containerRef}\n {...props}\n >\n {children}\n </div>\n {hasScroll ? (\n <div\n className=\"pointer-events-none z-10 -mt-12 h-12 w-full\"\n style={{\n boxShadow: \"inset 0px -33px 32px -16px rgba(0,0,0,0.1)\",\n }}\n />\n ) : null}\n </>\n );\n}\n"],"names":["SidebarPanel","className","children","props","hasScroll","setHasScroll","useState","checkContentScroll","target","containerRef","useRef","useEffect","observer","entries","entry","jsxs","Fragment","jsx","twMerge"],"mappings":";;;AAKO,SAASA,EAAa;AAAA,EAC3B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK;AAEhD,WAASC,EAAmBC,GAAiB;AAC3C,IAAAH;AAAA,MACEG,EAAO,eAAeA,EAAO,YAAYA,EAAO,eAAe;AAAA,IACjE;AAAA,EAAA;AAGI,QAAAC,IAAeC,EAAuB,IAAI;AAGhD,SAAAC,EAAU,MAAM;AACV,QAAA,CAACF,EAAa;AAChB;AAGF,UAAMG,IAAW,IAAI,eAAe,CAACC,MAAmC;AAChE,YAAAC,IAAQD,EAAQ,IAAI;AAC1B,UAAI,CAACC;AACH;AAGI,YAAA,EAAE,QAAAN,MAAWM;AACnB,MAAAP,EAAmBC,CAAM;AAAA,IAAA,CAC1B;AACQ,WAAAI,EAAA,QAAQH,EAAa,OAAO,GAC9B,MAAM;AACX,MAAAG,EAAS,WAAW;AAAA,IACtB;AAAA,EAAA,GACC,CAACH,EAAa,OAAO,CAAC,GAIrB,gBAAAM,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACAjB;AAAA,QACF;AAAA,QACA,UAAU,CAAC,MAAMM,EAAmB,EAAE,aAAa;AAAA,QACnD,KAAKE;AAAA,QACJ,GAAGN;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,IACH;AAAA,IACCE,IACC,gBAAAa;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IAAA,IAEA;AAAA,EAAA,GACN;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../../src/powerhouse/components/sidebar/sidebar.tsx"],"sourcesContent":["import { useAnimation } from \"@/powerhouse\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {\n collapsed: boolean;\n maxWidth: string;\n minWidth: string;\n}\n\nexport type SidebarHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarHeader({ className, ...props }: SidebarHeaderProps) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\nexport type SidebarFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarFooter({ className, ...props }: SidebarFooterProps) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\ntype AnimationState = \"collapsed\" | \"expanded\" | \"collapsing\" | \"expanding\";\n\nexport const Sidebar: React.FC<SidebarProps> = ({\n collapsed = false,\n maxWidth = \"304px\",\n minWidth = \"80px\",\n className,\n children,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const [state, setState] = useState<AnimationState>(\n collapsed ? \"collapsed\" : \"expanded\",\n );\n\n useAnimation(ref, [\"collapsing\", \"expanding\"].includes(state), () => {\n setState((currentState) =>\n currentState === \"collapsing\"\n ? \"collapsed\"\n : currentState === \"expanding\"\n ? \"expanded\"\n : currentState,\n );\n });\n\n useEffect(() => {\n if (collapsed && state !== \"collapsed\") {\n setState(\"collapsing\");\n } else if (!collapsed && state !== \"expanded\") {\n setState(\"expanding\");\n }\n }, [collapsed]);\n\n return (\n <div\n {...props}\n className={twMerge(\n ` group ${state} flex\n h-full flex-col overflow-hidden transition-none duration-300`,\n className,\n [\"collapsing\", \"expanding\"].includes(state) && \"animate-out fade-out\",\n [\"collapsed\", \"expanded\"].includes(state) && \"animate-in fade-in\",\n state === \"collapsed\" && \"bg-transparent shadow-none\",\n state === \"expanded\" && \"shadow-sidebar\",\n )}\n ref={ref}\n style={{\n width: [\"collapsed\", \"expanding\"].includes(state) ? minWidth : maxWidth,\n }}\n >\n {children}\n </div>\n );\n};\n"],"names":["SidebarHeader","className","props","jsx","twMerge","SidebarFooter","Sidebar","collapsed","maxWidth","minWidth","children","ref","useRef","state","setState","useState","useAnimation","currentState","useEffect"],"mappings":";;;;AAYO,SAASA,EAAc,EAAE,WAAAC,GAAW,GAAGC,KAA6B;AAClE,SAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAQ,YAAYH,CAAS,GAAI,GAAGC,
|
|
1
|
+
{"version":3,"file":"sidebar.js","sources":["../../../../src/powerhouse/components/sidebar/sidebar.tsx"],"sourcesContent":["import { useAnimation } from \"@/powerhouse\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {\n collapsed: boolean;\n maxWidth: string;\n minWidth: string;\n}\n\nexport type SidebarHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarHeader({ className, ...props }: SidebarHeaderProps) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\nexport type SidebarFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarFooter({ className, ...props }: SidebarFooterProps) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\ntype AnimationState = \"collapsed\" | \"expanded\" | \"collapsing\" | \"expanding\";\n\nexport const Sidebar: React.FC<SidebarProps> = ({\n collapsed = false,\n maxWidth = \"304px\",\n minWidth = \"80px\",\n className,\n children,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const [state, setState] = useState<AnimationState>(\n collapsed ? \"collapsed\" : \"expanded\",\n );\n\n useAnimation(ref, [\"collapsing\", \"expanding\"].includes(state), () => {\n setState((currentState) =>\n currentState === \"collapsing\"\n ? \"collapsed\"\n : currentState === \"expanding\"\n ? \"expanded\"\n : currentState,\n );\n });\n\n useEffect(() => {\n if (collapsed && state !== \"collapsed\") {\n setState(\"collapsing\");\n } else if (!collapsed && state !== \"expanded\") {\n setState(\"expanding\");\n }\n }, [collapsed]);\n\n return (\n <div\n {...props}\n className={twMerge(\n ` group ${state} flex\n h-full flex-col overflow-hidden transition-none duration-300`,\n className,\n [\"collapsing\", \"expanding\"].includes(state) && \"animate-out fade-out\",\n [\"collapsed\", \"expanded\"].includes(state) && \"animate-in fade-in\",\n state === \"collapsed\" && \"bg-transparent shadow-none\",\n state === \"expanded\" && \"shadow-sidebar\",\n )}\n ref={ref}\n style={{\n width: [\"collapsed\", \"expanding\"].includes(state) ? minWidth : maxWidth,\n }}\n >\n {children}\n </div>\n );\n};\n"],"names":["SidebarHeader","className","props","jsx","twMerge","SidebarFooter","Sidebar","collapsed","maxWidth","minWidth","children","ref","useRef","state","setState","useState","useAnimation","currentState","useEffect"],"mappings":";;;;AAYO,SAASA,EAAc,EAAE,WAAAC,GAAW,GAAGC,KAA6B;AAClE,SAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAQ,YAAYH,CAAS,GAAI,GAAGC,GAAO;AACpE;AAIO,SAASG,EAAc,EAAE,WAAAJ,GAAW,GAAGC,KAA6B;AAClE,SAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAQ,YAAYH,CAAS,GAAI,GAAGC,GAAO;AACpE;AAIO,MAAMI,IAAkC,CAAC;AAAA,EAC9C,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,WAAAR;AAAA,EACA,UAAAS;AAAA,EACA,GAAGR;AACL,MAAM;AACE,QAAAS,IAAMC,EAAuB,IAAI,GACjC,CAACC,GAAOC,CAAQ,IAAIC;AAAA,IACxBR,IAAY,cAAc;AAAA,EAC5B;AAEa,SAAAS,EAAAL,GAAK,CAAC,cAAc,WAAW,EAAE,SAASE,CAAK,GAAG,MAAM;AACnE,IAAAC;AAAA,MAAS,CAACG,MACRA,MAAiB,eACb,cACAA,MAAiB,cACf,aACAA;AAAA,IACR;AAAA,EAAA,CACD,GAEDC,EAAU,MAAM;AACV,IAAAX,KAAaM,MAAU,cACzBC,EAAS,YAAY,IACZ,CAACP,KAAaM,MAAU,cACjCC,EAAS,WAAW;AAAA,EACtB,GACC,CAACP,CAAS,CAAC,GAGZ,gBAAAJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGD;AAAA,MACJ,WAAWE;AAAA,QACT,UAAUS,CAAK;AAAA;AAAA,QAEfZ;AAAA,QACA,CAAC,cAAc,WAAW,EAAE,SAASY,CAAK,KAAK;AAAA,QAC/C,CAAC,aAAa,UAAU,EAAE,SAASA,CAAK,KAAK;AAAA,QAC7CA,MAAU,eAAe;AAAA,QACzBA,MAAU,cAAc;AAAA,MAC1B;AAAA,MACA,KAAAF;AAAA,MACA,OAAO;AAAA,QACL,OAAO,CAAC,aAAa,WAAW,EAAE,SAASE,CAAK,IAAIJ,IAAWD;AAAA,MACjE;AAAA,MAEC,UAAAE;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.js","sources":["../../../src/powerhouse/hooks/animation.ts"],"sourcesContent":["/*\n * https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/utils.tsx#L215\n */\n\nimport {\n RefObject,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport ReactDOM from \"react-dom\";\n\nexport function useEnterAnimation(ref: RefObject<HTMLElement>, isReady = true) {\n const [isEntering, setEntering] = useState(true);\n useAnimation(\n ref,\n isEntering && isReady,\n useCallback(() => setEntering(false), []),\n );\n return isEntering && isReady;\n}\n\nexport function useExitAnimation(ref: RefObject<HTMLElement>, isOpen: boolean) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n const [isExiting, setExiting] = useState(false);\n const [exitState, setExitState] = useState(\"idle\");\n\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === \"idle\") {\n setExiting(true);\n setExitState(\"exiting\");\n }\n\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === \"exited\") {\n setExitState(\"idle\");\n }\n\n useAnimation(\n ref,\n isExiting,\n useCallback(() => {\n setExitState(\"exited\");\n setExiting(false);\n }, []),\n );\n\n return isExiting;\n}\n\nexport function useAnimation(\n ref: RefObject<HTMLElement>,\n isActive: boolean,\n onEnd: () => void,\n) {\n const prevAnimation = useRef<string | null>(null);\n if (isActive && ref.current) {\n // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n }\n\n useLayoutEffect(() => {\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n const computedStyle = window.getComputedStyle(ref.current);\n if (\n computedStyle.animationName !== \"none\" &&\n computedStyle.animation !== prevAnimation.current\n ) {\n const onAnimationEnd = (e: AnimationEvent) => {\n if (e.target === ref.current) {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n ReactDOM.flushSync(() => {\n onEnd();\n });\n }\n };\n\n const element = ref.current;\n element.addEventListener(\"animationend\", onAnimationEnd);\n return () => {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n };\n } else {\n onEnd();\n }\n }\n }, [ref, isActive, onEnd]);\n}\n"],"names":["useEnterAnimation","ref","isReady","isEntering","setEntering","useState","useAnimation","useCallback","useExitAnimation","isOpen","isExiting","setExiting","exitState","setExitState","isActive","onEnd","prevAnimation","useRef","useLayoutEffect","computedStyle","onAnimationEnd","e","element","ReactDOM"],"mappings":";;AAagB,SAAAA,EAAkBC,GAA6BC,IAAU,IAAM;AAC7E,QAAM,CAACC,GAAYC,CAAW,IAAIC,EAAS,EAAI;AAC/C,SAAAC;AAAA,IACEL;AAAA,IACAE,KAAcD;AAAA,IACdK,EAAY,MAAMH,EAAY,EAAK,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"animation.js","sources":["../../../src/powerhouse/hooks/animation.ts"],"sourcesContent":["/*\n * https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/utils.tsx#L215\n */\n\nimport {\n RefObject,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport ReactDOM from \"react-dom\";\n\nexport function useEnterAnimation(ref: RefObject<HTMLElement>, isReady = true) {\n const [isEntering, setEntering] = useState(true);\n useAnimation(\n ref,\n isEntering && isReady,\n useCallback(() => setEntering(false), []),\n );\n return isEntering && isReady;\n}\n\nexport function useExitAnimation(ref: RefObject<HTMLElement>, isOpen: boolean) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n const [isExiting, setExiting] = useState(false);\n const [exitState, setExitState] = useState(\"idle\");\n\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === \"idle\") {\n setExiting(true);\n setExitState(\"exiting\");\n }\n\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === \"exited\") {\n setExitState(\"idle\");\n }\n\n useAnimation(\n ref,\n isExiting,\n useCallback(() => {\n setExitState(\"exited\");\n setExiting(false);\n }, []),\n );\n\n return isExiting;\n}\n\nexport function useAnimation(\n ref: RefObject<HTMLElement>,\n isActive: boolean,\n onEnd: () => void,\n) {\n const prevAnimation = useRef<string | null>(null);\n if (isActive && ref.current) {\n // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n }\n\n useLayoutEffect(() => {\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n const computedStyle = window.getComputedStyle(ref.current);\n if (\n computedStyle.animationName !== \"none\" &&\n computedStyle.animation !== prevAnimation.current\n ) {\n const onAnimationEnd = (e: AnimationEvent) => {\n if (e.target === ref.current) {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n ReactDOM.flushSync(() => {\n onEnd();\n });\n }\n };\n\n const element = ref.current;\n element.addEventListener(\"animationend\", onAnimationEnd);\n return () => {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n };\n } else {\n onEnd();\n }\n }\n }, [ref, isActive, onEnd]);\n}\n"],"names":["useEnterAnimation","ref","isReady","isEntering","setEntering","useState","useAnimation","useCallback","useExitAnimation","isOpen","isExiting","setExiting","exitState","setExitState","isActive","onEnd","prevAnimation","useRef","useLayoutEffect","computedStyle","onAnimationEnd","e","element","ReactDOM"],"mappings":";;AAagB,SAAAA,EAAkBC,GAA6BC,IAAU,IAAM;AAC7E,QAAM,CAACC,GAAYC,CAAW,IAAIC,EAAS,EAAI;AAC/C,SAAAC;AAAA,IACEL;AAAA,IACAE,KAAcD;AAAA,IACdK,EAAY,MAAMH,EAAY,EAAK,GAAG,CAAE,CAAA;AAAA,EAC1C,GACOD,KAAcD;AACvB;AAEgB,SAAAM,EAAiBP,GAA6BQ,GAAiB;AAG7E,QAAM,CAACC,GAAWC,CAAU,IAAIN,EAAS,EAAK,GACxC,CAACO,GAAWC,CAAY,IAAIR,EAAS,MAAM;AAGjD,SAAI,CAACI,KAAUR,EAAI,WAAWW,MAAc,WAC1CD,EAAW,EAAI,GACfE,EAAa,SAAS,IAIpB,CAACZ,EAAI,WAAWW,MAAc,YAChCC,EAAa,MAAM,GAGrBP;AAAA,IACEL;AAAA,IACAS;AAAA,IACAH,EAAY,MAAM;AAChB,MAAAM,EAAa,QAAQ,GACrBF,EAAW,EAAK;AAAA,IAAA,GACf,CAAE,CAAA;AAAA,EACP,GAEOD;AACT;AAEgB,SAAAJ,EACdL,GACAa,GACAC,GACA;AACM,QAAAC,IAAgBC,EAAsB,IAAI;AAC5C,EAAAH,KAAYb,EAAI,YAIlBe,EAAc,UAAU,OAAO,iBAAiBf,EAAI,OAAO,EAAE,YAG/DiB,EAAgB,MAAM;AAChB,QAAAJ,KAAYb,EAAI,SAAS;AAE3B,YAAMkB,IAAgB,OAAO,iBAAiBlB,EAAI,OAAO;AACzD,UACEkB,EAAc,kBAAkB,UAChCA,EAAc,cAAcH,EAAc,SAC1C;AACM,cAAAI,IAAiB,CAACC,MAAsB;AACxC,UAAAA,EAAE,WAAWpB,EAAI,YACXqB,EAAA,oBAAoB,gBAAgBF,CAAc,GAC1DG,EAAS,UAAU,MAAM;AACjB,YAAAR,EAAA;AAAA,UAAA,CACP;AAAA,QAEL,GAEMO,IAAUrB,EAAI;AACZ,eAAAqB,EAAA,iBAAiB,gBAAgBF,CAAc,GAChD,MAAM;AACH,UAAAE,EAAA,oBAAoB,gBAAgBF,CAAc;AAAA,QAC5D;AAAA,MAAA;AAEM,QAAAL,EAAA;AAAA,IACR;AAAA,EAED,GAAA,CAACd,GAAKa,GAAUC,CAAK,CAAC;AAC3B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../src/powerhouse/hooks/reducer.ts"],"sourcesContent":["import {\n Action,\n BaseAction,\n Document,\n ExtendedState,\n Reducer,\n} from \"@/powerhouse\";\nimport { useReducer } from \"react\";\n\nexport function wrapReducer<State, A extends Action, LocalState>(\n reducer: Reducer<State, A, LocalState>,\n onError?: (error: unknown) => void,\n): Reducer<State, A, LocalState> {\n return (state, action) => {\n try {\n return reducer(state, action);\n } catch (error) {\n onError?.(error);\n return state;\n }\n };\n}\n\nexport function createUseDocumentReducer<State, A extends Action, LocalState>(\n reducer: Reducer<State, A, LocalState>,\n createDocument: (\n document?: Partial<ExtendedState<Partial<State>>>,\n ) => Document<State, A, LocalState>,\n) {\n return (\n document?: Partial<ExtendedState<Partial<State>>>,\n onError?: (error: unknown) => void,\n ) => useDocumentReducer(reducer, createDocument(document), onError);\n}\n\nexport function useDocumentReducer<State, A extends Action, LocalState>(\n reducer: Reducer<State, A, LocalState>,\n initialState: Document<State, A, LocalState>,\n onError?: (error: unknown) => void,\n): readonly [Document<State, A, LocalState>, (action: A | BaseAction) => void] {\n const [state, dispatch] = useReducer(\n wrapReducer(reducer, onError),\n initialState,\n );\n\n return [state, dispatch] as const;\n}\n"],"names":["wrapReducer","reducer","onError","state","action","error","createUseDocumentReducer","createDocument","document","useDocumentReducer","initialState","dispatch","useReducer"],"mappings":";AASgB,SAAAA,EACdC,GACAC,GAC+B;AACxB,SAAA,CAACC,GAAOC,MAAW;AACpB,QAAA;AACK,aAAAH,EAAQE,GAAOC,CAAM;AAAA,aACrBC,GAAO;AACd,aAAAH,KAAA,QAAAA,EAAUG,IACHF;AAAA,
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../src/powerhouse/hooks/reducer.ts"],"sourcesContent":["import {\n Action,\n BaseAction,\n Document,\n ExtendedState,\n Reducer,\n} from \"@/powerhouse\";\nimport { useReducer } from \"react\";\n\nexport function wrapReducer<State, A extends Action, LocalState>(\n reducer: Reducer<State, A, LocalState>,\n onError?: (error: unknown) => void,\n): Reducer<State, A, LocalState> {\n return (state, action) => {\n try {\n return reducer(state, action);\n } catch (error) {\n onError?.(error);\n return state;\n }\n };\n}\n\nexport function createUseDocumentReducer<State, A extends Action, LocalState>(\n reducer: Reducer<State, A, LocalState>,\n createDocument: (\n document?: Partial<ExtendedState<Partial<State>>>,\n ) => Document<State, A, LocalState>,\n) {\n return (\n document?: Partial<ExtendedState<Partial<State>>>,\n onError?: (error: unknown) => void,\n ) => useDocumentReducer(reducer, createDocument(document), onError);\n}\n\nexport function useDocumentReducer<State, A extends Action, LocalState>(\n reducer: Reducer<State, A, LocalState>,\n initialState: Document<State, A, LocalState>,\n onError?: (error: unknown) => void,\n): readonly [Document<State, A, LocalState>, (action: A | BaseAction) => void] {\n const [state, dispatch] = useReducer(\n wrapReducer(reducer, onError),\n initialState,\n );\n\n return [state, dispatch] as const;\n}\n"],"names":["wrapReducer","reducer","onError","state","action","error","createUseDocumentReducer","createDocument","document","useDocumentReducer","initialState","dispatch","useReducer"],"mappings":";AASgB,SAAAA,EACdC,GACAC,GAC+B;AACxB,SAAA,CAACC,GAAOC,MAAW;AACpB,QAAA;AACK,aAAAH,EAAQE,GAAOC,CAAM;AAAA,aACrBC,GAAO;AACd,aAAAH,KAAA,QAAAA,EAAUG,IACHF;AAAA,IAAA;AAAA,EAEX;AACF;AAEgB,SAAAG,EACdL,GACAM,GAGA;AACO,SAAA,CACLC,GACAN,MACGO,EAAmBR,GAASM,EAAeC,CAAQ,GAAGN,CAAO;AACpE;AAEgB,SAAAO,EACdR,GACAS,GACAR,GAC6E;AACvE,QAAA,CAACC,GAAOQ,CAAQ,IAAIC;AAAA,IACxBZ,EAAYC,GAASC,CAAO;AAAA,IAC5BQ;AAAA,EACF;AAEO,SAAA,CAACP,GAAOQ,CAAQ;AACzB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePagination.js","sources":["../../../src/powerhouse/hooks/usePagination.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\n\nexport type PageItem = {\n index: number;\n number: number;\n active: boolean;\n};\n\nexport interface UsePaginationOptions {\n pageRange?: number;\n initialPage?: number;\n itemsPerPage?: number;\n}\n\nexport interface UsePaginationBaseResult {\n pages: PageItem[];\n goToPage: (page: number) => void;\n pageCount: number;\n currentPage: number;\n goToLastPage: () => void;\n goToFirstPage: () => void;\n goToNextPage: () => void;\n goToPreviousPage: () => void;\n isNextPageAvailable: boolean;\n isPreviousPageAvailable: boolean;\n hiddenNextPages: boolean;\n}\nexport interface UsePaginationResult<T> extends UsePaginationBaseResult {\n pageItems: T[];\n}\n\n/**\n * Custom hook for pagination.\n *\n * @template T - The type of items in the pagination.\n * @param {T[]} items - The array of items to paginate.\n * @param {UsePaginationOptions} [options] - The pagination options.\n * @returns {{\n * pages: PageItem[]; - The array of page items.\n * goToPage: (page: number) => void; - The function to go to a specific page.\n * pageItems: T[]; - The array of items for the current page.\n * pageCount: number; - The total number of pages.\n * currentPage: number; - The current page index.\n * goToLastPage: () => void; - The function to go to the last page.\n * goToFirstPage: () => void; - The function to go to the first page.\n * goToNextPage: () => void; - The function to go to the next page.\n * goToPreviousPage: () => void; - The function to go to the previous page.\n * isNextPageAvailable: boolean; - The flag to indicate if the next page is available.\n * isPreviousPageAvailable: boolean; - The flag to indicate if the previous page is available.\n * }} - The pagination object with various functions and properties.\n */\n\nexport function usePagination<T>(\n items: T[],\n options?: UsePaginationOptions,\n): UsePaginationResult<T> {\n const { itemsPerPage = 20, initialPage = 0, pageRange = 3 } = options || {};\n\n const [currentPage, setCurrentPage] = useState(initialPage);\n\n const pageCount = Math.ceil(items.length / itemsPerPage);\n const isNextPageAvailable = currentPage < pageCount - 1;\n const isPreviousPageAvailable = currentPage > 0;\n\n const goToNextPage = useCallback(() => {\n if (isNextPageAvailable) {\n setCurrentPage((prev) => prev + 1);\n }\n }, [isNextPageAvailable, setCurrentPage]);\n\n const goToPreviousPage = useCallback(() => {\n if (isPreviousPageAvailable) {\n setCurrentPage((prev) => prev - 1);\n }\n }, [isPreviousPageAvailable, setCurrentPage]);\n\n const goToLastPage = useCallback(() => {\n setCurrentPage(pageCount - 1);\n }, [pageCount]);\n\n const goToFirstPage = useCallback(() => {\n setCurrentPage(0);\n }, []);\n\n const goToPage = useCallback(\n (page: number) => {\n if (page >= 0 && page < pageCount) {\n setCurrentPage(page);\n }\n },\n [pageCount],\n );\n\n const pageOffset = Math.floor((pageRange - 1) / 2);\n const availableRange = Math.min(pageRange, pageCount);\n const maxStartIndex = Math.max(pageCount - availableRange);\n const startIndex = Math.min(\n maxStartIndex,\n Math.max(currentPage - pageOffset, 0),\n );\n\n const pages = useMemo(() => {\n const range: PageItem[] = [];\n for (let i = startIndex; i < availableRange + startIndex; i++) {\n range.push({\n index: i,\n active: i === currentPage,\n number: i + 1,\n });\n }\n return range;\n }, [availableRange, startIndex, currentPage]);\n\n const pageItems = items.slice(\n currentPage * itemsPerPage,\n (currentPage + 1) * itemsPerPage,\n );\n\n const hiddenNextPages =\n pages.length > 0 && pages.slice(-1)[0].index < pageCount - 1;\n\n return {\n pages,\n goToPage,\n pageItems,\n pageCount,\n currentPage,\n goToLastPage,\n goToFirstPage,\n goToNextPage,\n hiddenNextPages,\n goToPreviousPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n };\n}\n"],"names":["usePagination","items","options","itemsPerPage","initialPage","pageRange","currentPage","setCurrentPage","useState","pageCount","isNextPageAvailable","isPreviousPageAvailable","goToNextPage","useCallback","prev","goToPreviousPage","goToLastPage","goToFirstPage","goToPage","page","pageOffset","availableRange","maxStartIndex","startIndex","pages","useMemo","range","i","pageItems","hiddenNextPages"],"mappings":";AAoDgB,SAAAA,EACdC,GACAC,GACwB;AAClB,QAAA,EAAE,cAAAC,IAAe,IAAI,aAAAC,IAAc,GAAG,WAAAC,IAAY,
|
|
1
|
+
{"version":3,"file":"usePagination.js","sources":["../../../src/powerhouse/hooks/usePagination.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\n\nexport type PageItem = {\n index: number;\n number: number;\n active: boolean;\n};\n\nexport interface UsePaginationOptions {\n pageRange?: number;\n initialPage?: number;\n itemsPerPage?: number;\n}\n\nexport interface UsePaginationBaseResult {\n pages: PageItem[];\n goToPage: (page: number) => void;\n pageCount: number;\n currentPage: number;\n goToLastPage: () => void;\n goToFirstPage: () => void;\n goToNextPage: () => void;\n goToPreviousPage: () => void;\n isNextPageAvailable: boolean;\n isPreviousPageAvailable: boolean;\n hiddenNextPages: boolean;\n}\nexport interface UsePaginationResult<T> extends UsePaginationBaseResult {\n pageItems: T[];\n}\n\n/**\n * Custom hook for pagination.\n *\n * @template T - The type of items in the pagination.\n * @param {T[]} items - The array of items to paginate.\n * @param {UsePaginationOptions} [options] - The pagination options.\n * @returns {{\n * pages: PageItem[]; - The array of page items.\n * goToPage: (page: number) => void; - The function to go to a specific page.\n * pageItems: T[]; - The array of items for the current page.\n * pageCount: number; - The total number of pages.\n * currentPage: number; - The current page index.\n * goToLastPage: () => void; - The function to go to the last page.\n * goToFirstPage: () => void; - The function to go to the first page.\n * goToNextPage: () => void; - The function to go to the next page.\n * goToPreviousPage: () => void; - The function to go to the previous page.\n * isNextPageAvailable: boolean; - The flag to indicate if the next page is available.\n * isPreviousPageAvailable: boolean; - The flag to indicate if the previous page is available.\n * }} - The pagination object with various functions and properties.\n */\n\nexport function usePagination<T>(\n items: T[],\n options?: UsePaginationOptions,\n): UsePaginationResult<T> {\n const { itemsPerPage = 20, initialPage = 0, pageRange = 3 } = options || {};\n\n const [currentPage, setCurrentPage] = useState(initialPage);\n\n const pageCount = Math.ceil(items.length / itemsPerPage);\n const isNextPageAvailable = currentPage < pageCount - 1;\n const isPreviousPageAvailable = currentPage > 0;\n\n const goToNextPage = useCallback(() => {\n if (isNextPageAvailable) {\n setCurrentPage((prev) => prev + 1);\n }\n }, [isNextPageAvailable, setCurrentPage]);\n\n const goToPreviousPage = useCallback(() => {\n if (isPreviousPageAvailable) {\n setCurrentPage((prev) => prev - 1);\n }\n }, [isPreviousPageAvailable, setCurrentPage]);\n\n const goToLastPage = useCallback(() => {\n setCurrentPage(pageCount - 1);\n }, [pageCount]);\n\n const goToFirstPage = useCallback(() => {\n setCurrentPage(0);\n }, []);\n\n const goToPage = useCallback(\n (page: number) => {\n if (page >= 0 && page < pageCount) {\n setCurrentPage(page);\n }\n },\n [pageCount],\n );\n\n const pageOffset = Math.floor((pageRange - 1) / 2);\n const availableRange = Math.min(pageRange, pageCount);\n const maxStartIndex = Math.max(pageCount - availableRange);\n const startIndex = Math.min(\n maxStartIndex,\n Math.max(currentPage - pageOffset, 0),\n );\n\n const pages = useMemo(() => {\n const range: PageItem[] = [];\n for (let i = startIndex; i < availableRange + startIndex; i++) {\n range.push({\n index: i,\n active: i === currentPage,\n number: i + 1,\n });\n }\n return range;\n }, [availableRange, startIndex, currentPage]);\n\n const pageItems = items.slice(\n currentPage * itemsPerPage,\n (currentPage + 1) * itemsPerPage,\n );\n\n const hiddenNextPages =\n pages.length > 0 && pages.slice(-1)[0].index < pageCount - 1;\n\n return {\n pages,\n goToPage,\n pageItems,\n pageCount,\n currentPage,\n goToLastPage,\n goToFirstPage,\n goToNextPage,\n hiddenNextPages,\n goToPreviousPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n };\n}\n"],"names":["usePagination","items","options","itemsPerPage","initialPage","pageRange","currentPage","setCurrentPage","useState","pageCount","isNextPageAvailable","isPreviousPageAvailable","goToNextPage","useCallback","prev","goToPreviousPage","goToLastPage","goToFirstPage","goToPage","page","pageOffset","availableRange","maxStartIndex","startIndex","pages","useMemo","range","i","pageItems","hiddenNextPages"],"mappings":";AAoDgB,SAAAA,EACdC,GACAC,GACwB;AAClB,QAAA,EAAE,cAAAC,IAAe,IAAI,aAAAC,IAAc,GAAG,WAAAC,IAAY,MAAMH,KAAW,CAAC,GAEpE,CAACI,GAAaC,CAAc,IAAIC,EAASJ,CAAW,GAEpDK,IAAY,KAAK,KAAKR,EAAM,SAASE,CAAY,GACjDO,IAAsBJ,IAAcG,IAAY,GAChDE,IAA0BL,IAAc,GAExCM,IAAeC,EAAY,MAAM;AACrC,IAAIH,KACaH,EAAA,CAACO,MAASA,IAAO,CAAC;AAAA,EACnC,GACC,CAACJ,GAAqBH,CAAc,CAAC,GAElCQ,IAAmBF,EAAY,MAAM;AACzC,IAAIF,KACaJ,EAAA,CAACO,MAASA,IAAO,CAAC;AAAA,EACnC,GACC,CAACH,GAAyBJ,CAAc,CAAC,GAEtCS,IAAeH,EAAY,MAAM;AACrC,IAAAN,EAAeE,IAAY,CAAC;AAAA,EAAA,GAC3B,CAACA,CAAS,CAAC,GAERQ,IAAgBJ,EAAY,MAAM;AACtC,IAAAN,EAAe,CAAC;AAAA,EAClB,GAAG,EAAE,GAECW,IAAWL;AAAA,IACf,CAACM,MAAiB;AACZ,MAAAA,KAAQ,KAAKA,IAAOV,KACtBF,EAAeY,CAAI;AAAA,IAEvB;AAAA,IACA,CAACV,CAAS;AAAA,EACZ,GAEMW,IAAa,KAAK,OAAOf,IAAY,KAAK,CAAC,GAC3CgB,IAAiB,KAAK,IAAIhB,GAAWI,CAAS,GAC9Ca,IAAgB,KAAK,IAAIb,IAAYY,CAAc,GACnDE,IAAa,KAAK;AAAA,IACtBD;AAAA,IACA,KAAK,IAAIhB,IAAcc,GAAY,CAAC;AAAA,EACtC,GAEMI,IAAQC,EAAQ,MAAM;AAC1B,UAAMC,IAAoB,CAAC;AAC3B,aAASC,IAAIJ,GAAYI,IAAIN,IAAiBE,GAAYI;AACxD,MAAAD,EAAM,KAAK;AAAA,QACT,OAAOC;AAAA,QACP,QAAQA,MAAMrB;AAAA,QACd,QAAQqB,IAAI;AAAA,MAAA,CACb;AAEI,WAAAD;AAAA,EACN,GAAA,CAACL,GAAgBE,GAAYjB,CAAW,CAAC,GAEtCsB,IAAY3B,EAAM;AAAA,IACtBK,IAAcH;AAAA,KACbG,IAAc,KAAKH;AAAA,EACtB,GAEM0B,IACJL,EAAM,SAAS,KAAKA,EAAM,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQf,IAAY;AAEtD,SAAA;AAAA,IACL,OAAAe;AAAA,IACA,UAAAN;AAAA,IACA,WAAAU;AAAA,IACA,WAAAnB;AAAA,IACA,aAAAH;AAAA,IACA,cAAAU;AAAA,IACA,eAAAC;AAAA,IACA,cAAAL;AAAA,IACA,iBAAAiB;AAAA,IACA,kBAAAd;AAAA,IACA,qBAAAL;AAAA,IACA,yBAAAC;AAAA,EACF;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDimensions.js","sources":["../../../src/powerhouse/utils/getDimensions.ts"],"sourcesContent":["import { Size } from \"../types\";\n\nexport function getDimensions(size?: Size) {\n if (!size) return {};\n\n if (typeof size === \"number\") {\n return {\n width: size.toString() + \"px\",\n height: size.toString() + \"px\",\n };\n }\n\n return {\n width: size,\n height: size,\n };\n}\n"],"names":["getDimensions","size"],"mappings":"AAEO,SAASA,EAAcC,GAAa;AACrC,SAACA,IAED,OAAOA,KAAS,WACX;AAAA,IACL,OAAOA,EAAK,SAAA,IAAa;AAAA,IACzB,QAAQA,EAAK,
|
|
1
|
+
{"version":3,"file":"getDimensions.js","sources":["../../../src/powerhouse/utils/getDimensions.ts"],"sourcesContent":["import { Size } from \"../types\";\n\nexport function getDimensions(size?: Size) {\n if (!size) return {};\n\n if (typeof size === \"number\") {\n return {\n width: size.toString() + \"px\",\n height: size.toString() + \"px\",\n };\n }\n\n return {\n width: size,\n height: size,\n };\n}\n"],"names":["getDimensions","size"],"mappings":"AAEO,SAASA,EAAcC,GAAa;AACrC,SAACA,IAED,OAAOA,KAAS,WACX;AAAA,IACL,OAAOA,EAAK,SAAA,IAAa;AAAA,IACzB,QAAQA,EAAK,aAAa;AAAA,EAC5B,IAGK;AAAA,IACL,OAAOA;AAAA,IACP,QAAQA;AAAA,EACV,IAZkB,CAAC;AAarB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeClassNameProps.js","sources":["../../../src/powerhouse/utils/mergeClassNameProps.ts"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ntype FunctionClassNameType = (values: any) => string;\n\ninterface ClassNameProps {\n className?: string | FunctionClassNameType;\n}\n\nexport function mergeClassNameProps<T extends ClassNameProps>(\n props: T,\n className: string,\n): { className?: string } & Omit<T, \"className\"> {\n const { className: componentClassName, ...restProps } = props;\n\n return {\n className: twMerge(\n className,\n typeof componentClassName === \"string\" && componentClassName,\n ),\n ...restProps,\n };\n}\n"],"names":["mergeClassNameProps","props","className","componentClassName","restProps","twMerge"],"mappings":";AAQgB,SAAAA,EACdC,GACAC,GAC+C;AAC/C,QAAM,EAAE,WAAWC,GAAoB,GAAGC,
|
|
1
|
+
{"version":3,"file":"mergeClassNameProps.js","sources":["../../../src/powerhouse/utils/mergeClassNameProps.ts"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ntype FunctionClassNameType = (values: any) => string;\n\ninterface ClassNameProps {\n className?: string | FunctionClassNameType;\n}\n\nexport function mergeClassNameProps<T extends ClassNameProps>(\n props: T,\n className: string,\n): { className?: string } & Omit<T, \"className\"> {\n const { className: componentClassName, ...restProps } = props;\n\n return {\n className: twMerge(\n className,\n typeof componentClassName === \"string\" && componentClassName,\n ),\n ...restProps,\n };\n}\n"],"names":["mergeClassNameProps","props","className","componentClassName","restProps","twMerge"],"mappings":";AAQgB,SAAAA,EACdC,GACAC,GAC+C;AAC/C,QAAM,EAAE,WAAWC,GAAoB,GAAGC,EAAc,IAAAH;AAEjD,SAAA;AAAA,IACL,WAAWI;AAAA,MACTH;AAAA,MACA,OAAOC,KAAuB,YAAYA;AAAA,IAC5C;AAAA,IACA,GAAGC;AAAA,EACL;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../../src/rwa/components/button/button.tsx"],"sourcesContent":["import { Button, ButtonProps, mergeClassNameProps } from \"@/powerhouse\";\nimport React from \"react\";\n\nexport const RWAButton: React.FC<ButtonProps> = (props) => {\n return (\n <Button\n color=\"light\"\n size=\"small\"\n {...mergeClassNameProps(\n props,\n \"border border-solid border-gray-300 bg-white px-3 py-1 text-sm text-gray-900\",\n )}\n >\n {props.children}\n </Button>\n );\n};\n"],"names":["RWAButton","props","jsx","Button","mergeClassNameProps"],"mappings":";;;AAGa,MAAAA,IAAmC,CAACC,MAE7C,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,GAAGC;AAAA,MACFH;AAAA,MACA;AAAA,IACF;AAAA,IAEC,UAAMA,EAAA;AAAA,EAAA;
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../../src/rwa/components/button/button.tsx"],"sourcesContent":["import { Button, ButtonProps, mergeClassNameProps } from \"@/powerhouse\";\nimport React from \"react\";\n\nexport const RWAButton: React.FC<ButtonProps> = (props) => {\n return (\n <Button\n color=\"light\"\n size=\"small\"\n {...mergeClassNameProps(\n props,\n \"border border-solid border-gray-300 bg-white px-3 py-1 text-sm text-gray-900\",\n )}\n >\n {props.children}\n </Button>\n );\n};\n"],"names":["RWAButton","props","jsx","Button","mergeClassNameProps"],"mappings":";;;AAGa,MAAAA,IAAmC,CAACC,MAE7C,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,GAAGC;AAAA,MACFH;AAAA,MACA;AAAA,IACF;AAAA,IAEC,UAAMA,EAAA;AAAA,EAAA;AACT;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sources":["../../../../src/rwa/components/editor/editor.tsx"],"sourcesContent":["import { ModalManager, RWATabs } from \"@/rwa\";\n\nexport function RWAEditor() {\n return (\n <ModalManager>\n <RWATabs />\n </ModalManager>\n );\n}\n"],"names":["RWAEditor","jsx","ModalManager","RWATabs"],"mappings":";;;AAEO,SAASA,IAAY;AAC1B,SACG,gBAAAC,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAE,GAAA,
|
|
1
|
+
{"version":3,"file":"editor.js","sources":["../../../../src/rwa/components/editor/editor.tsx"],"sourcesContent":["import { ModalManager, RWATabs } from \"@/rwa\";\n\nexport function RWAEditor() {\n return (\n <ModalManager>\n <RWATabs />\n </ModalManager>\n );\n}\n"],"names":["RWAEditor","jsx","ModalManager","RWATabs"],"mappings":";;;AAEO,SAASA,IAAY;AAC1B,SACG,gBAAAC,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAE,GAAA,CAAQ,CAAA,GACX;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-inputs.js","sources":["../../../../src/rwa/components/inputs/form-inputs.tsx"],"sourcesContent":["import { ComponentType } from \"react\";\nimport { twJoin } from \"tailwind-merge\";\n\ntype Input = {\n label: string;\n Input: ComponentType;\n inputLabel?: string | null;\n};\ntype Props = {\n readonly inputs: Input[];\n};\nexport function FormInputs(props: Props) {\n const { inputs } = props;\n return (\n <div className=\"rounded-md bg-white text-xs font-medium\">\n {inputs.map(({ label, Input, inputLabel }, index) => (\n <div\n className={twJoin(\n \"grid min-h-11 grid-cols-[208px,380px] items-center px-6 text-gray-600 last:rounded-b-md\",\n index % 2 !== 0 && \"bg-gray-50\",\n )}\n key={label}\n >\n <div>{label}</div>\n <div className=\"h-max py-2 text-gray-900\" key={index}>\n <Input />\n {inputLabel ? (\n <div className=\"text-left text-gray-500\">{inputLabel}</div>\n ) : null}\n </div>\n </div>\n ))}\n </div>\n );\n}\n"],"names":["FormInputs","props","inputs","jsx","label","Input","inputLabel","index","jsxs","twJoin"],"mappings":";;AAWO,SAASA,EAAWC,GAAc;AACjC,QAAA,EAAE,QAAAC,
|
|
1
|
+
{"version":3,"file":"form-inputs.js","sources":["../../../../src/rwa/components/inputs/form-inputs.tsx"],"sourcesContent":["import { ComponentType } from \"react\";\nimport { twJoin } from \"tailwind-merge\";\n\ntype Input = {\n label: string;\n Input: ComponentType;\n inputLabel?: string | null;\n};\ntype Props = {\n readonly inputs: Input[];\n};\nexport function FormInputs(props: Props) {\n const { inputs } = props;\n return (\n <div className=\"rounded-md bg-white text-xs font-medium\">\n {inputs.map(({ label, Input, inputLabel }, index) => (\n <div\n className={twJoin(\n \"grid min-h-11 grid-cols-[208px,380px] items-center px-6 text-gray-600 last:rounded-b-md\",\n index % 2 !== 0 && \"bg-gray-50\",\n )}\n key={label}\n >\n <div>{label}</div>\n <div className=\"h-max py-2 text-gray-900\" key={index}>\n <Input />\n {inputLabel ? (\n <div className=\"text-left text-gray-500\">{inputLabel}</div>\n ) : null}\n </div>\n </div>\n ))}\n </div>\n );\n}\n"],"names":["FormInputs","props","inputs","jsx","label","Input","inputLabel","index","jsxs","twJoin"],"mappings":";;AAWO,SAASA,EAAWC,GAAc;AACjC,QAAA,EAAE,QAAAC,MAAWD;AACnB,SACG,gBAAAE,EAAA,OAAA,EAAI,WAAU,2CACZ,UAAOD,EAAA,IAAI,CAAC,EAAE,OAAAE,GAAO,OAAAC,GAAO,YAAAC,EAAW,GAAGC,MACzC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAF,IAAQ,MAAM,KAAK;AAAA,MACrB;AAAA,MAGA,UAAA;AAAA,QAAA,gBAAAJ,EAAC,SAAK,UAAMC,EAAA,CAAA;AAAA,QACZ,gBAAAI,EAAC,OAAI,EAAA,WAAU,4BACb,UAAA;AAAA,UAAA,gBAAAL,EAACE,GAAM,EAAA;AAAA,UACNC,IACE,gBAAAH,EAAA,OAAA,EAAI,WAAU,2BAA2B,aAAW,IACnD;AAAA,QAAA,EAAA,GAJyCI,CAK/C;AAAA,MAAA;AAAA,IAAA;AAAA,IARKH;AAAA,EAUR,CAAA,GACH;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-row.js","sources":["../../../../src/rwa/components/inputs/form-row.tsx"],"sourcesContent":["import { DivProps, mergeClassNameProps } from \"@/powerhouse\";\nimport React from \"react\";\n\nexport interface RWAFormRowProps extends DivProps {\n readonly label?: React.ReactNode;\n readonly value?: React.ReactNode;\n}\n\nexport const RWAFormRow: React.FC<RWAFormRowProps> = ({\n label,\n value,\n ...divProps\n}) => (\n <div {...mergeClassNameProps(divProps, \"flex items-center px-6 text-xs\")}>\n <div className=\"text-gray-600\">{label}</div>\n <div className=\"text-gray-900\">{value ? value : \"--\"}</div>\n </div>\n);\n"],"names":["RWAFormRow","label","value","divProps","mergeClassNameProps","jsx"],"mappings":";;AAQO,MAAMA,IAAwC,CAAC;AAAA,EACpD,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,wBACG,OAAK,EAAA,GAAGC,EAAoBD,GAAU,gCAAgC,GACrE,UAAA;AAAA,EAAC,gBAAAE,EAAA,OAAA,EAAI,WAAU,iBAAiB,UAAMJ,GAAA;AAAA,oBACrC,OAAI,EAAA,WAAU,iBAAiB,UAAAC,KAAgB,
|
|
1
|
+
{"version":3,"file":"form-row.js","sources":["../../../../src/rwa/components/inputs/form-row.tsx"],"sourcesContent":["import { DivProps, mergeClassNameProps } from \"@/powerhouse\";\nimport React from \"react\";\n\nexport interface RWAFormRowProps extends DivProps {\n readonly label?: React.ReactNode;\n readonly value?: React.ReactNode;\n}\n\nexport const RWAFormRow: React.FC<RWAFormRowProps> = ({\n label,\n value,\n ...divProps\n}) => (\n <div {...mergeClassNameProps(divProps, \"flex items-center px-6 text-xs\")}>\n <div className=\"text-gray-600\">{label}</div>\n <div className=\"text-gray-900\">{value ? value : \"--\"}</div>\n </div>\n);\n"],"names":["RWAFormRow","label","value","divProps","mergeClassNameProps","jsx"],"mappings":";;AAQO,MAAMA,IAAwC,CAAC;AAAA,EACpD,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,wBACG,OAAK,EAAA,GAAGC,EAAoBD,GAAU,gCAAgC,GACrE,UAAA;AAAA,EAAC,gBAAAE,EAAA,OAAA,EAAI,WAAU,iBAAiB,UAAMJ,GAAA;AAAA,oBACrC,OAAI,EAAA,WAAU,iBAAiB,UAAAC,KAAgB,KAAK,CAAA;AAAA,EACvD,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-input.js","sources":["../../../../src/rwa/components/inputs/number-input.tsx"],"sourcesContent":["import { RWATableTextInput } from \"@/rwa\";\nimport { ComponentPropsWithRef } from \"react\";\nimport {\n Control,\n Controller,\n ControllerProps,\n FieldValues,\n Path,\n} from \"react-hook-form\";\nimport { NumericFormat } from \"react-number-format\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props<ControlInputs extends FieldValues> = ComponentPropsWithRef<\n typeof RWATableTextInput\n> & {\n readonly name: Path<ControlInputs>;\n readonly control: Control<ControlInputs>;\n readonly disabled?: boolean;\n readonly currency?: \"USD\";\n readonly numericFormatProps?: ComponentPropsWithRef<typeof NumericFormat>;\n readonly rules?: ControllerProps<ControlInputs>[\"rules\"];\n readonly errorMessage?: string;\n readonly errorMessageClassName?: string;\n};\n\nexport function RWANumberInput<ControlInputs extends FieldValues>(\n props: Props<ControlInputs>,\n) {\n const {\n name,\n control,\n currency,\n rules,\n errorMessage,\n errorMessageClassName,\n numericFormatProps,\n value: _,\n onChange: __,\n ...inputProps\n } = props;\n\n const {\n allowNegative = false,\n decimalScale = 2,\n thousandSeparator = \",\",\n fixedDecimalScale = true,\n } = numericFormatProps ?? {};\n\n const prefix = currency === \"USD\" ? \"$\" : undefined;\n\n const invalid = props[\"aria-invalid\"] === \"true\";\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: { onChange, value, ref } }) => (\n <>\n <NumericFormat\n {...inputProps}\n allowNegative={allowNegative}\n customInput={RWATableTextInput}\n decimalScale={decimalScale}\n fixedDecimalScale={fixedDecimalScale}\n getInputRef={ref}\n onValueChange={({ floatValue }) => onChange(floatValue)}\n prefix={prefix}\n thousandSeparator={thousandSeparator}\n value={value}\n />\n {invalid && !!errorMessage ? (\n <p\n className={twMerge(\"text-sm text-red-900\", errorMessageClassName)}\n role=\"alert\"\n >\n {errorMessage}\n </p>\n ) : null}\n </>\n )}\n rules={rules}\n />\n );\n}\n"],"names":["RWANumberInput","props","name","control","currency","rules","errorMessage","errorMessageClassName","numericFormatProps","__","inputProps","allowNegative","decimalScale","thousandSeparator","fixedDecimalScale","prefix","invalid","jsx","Controller","onChange","value","ref","jsxs","Fragment","NumericFormat","RWATableTextInput","floatValue","twMerge"],"mappings":";;;;;AAyBO,SAASA,EACdC,GACA;AACM,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,OAAO;AAAA,IACP,UAAUC;AAAA,IACV,GAAGC;AAAA,
|
|
1
|
+
{"version":3,"file":"number-input.js","sources":["../../../../src/rwa/components/inputs/number-input.tsx"],"sourcesContent":["import { RWATableTextInput } from \"@/rwa\";\nimport { ComponentPropsWithRef } from \"react\";\nimport {\n Control,\n Controller,\n ControllerProps,\n FieldValues,\n Path,\n} from \"react-hook-form\";\nimport { NumericFormat } from \"react-number-format\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props<ControlInputs extends FieldValues> = ComponentPropsWithRef<\n typeof RWATableTextInput\n> & {\n readonly name: Path<ControlInputs>;\n readonly control: Control<ControlInputs>;\n readonly disabled?: boolean;\n readonly currency?: \"USD\";\n readonly numericFormatProps?: ComponentPropsWithRef<typeof NumericFormat>;\n readonly rules?: ControllerProps<ControlInputs>[\"rules\"];\n readonly errorMessage?: string;\n readonly errorMessageClassName?: string;\n};\n\nexport function RWANumberInput<ControlInputs extends FieldValues>(\n props: Props<ControlInputs>,\n) {\n const {\n name,\n control,\n currency,\n rules,\n errorMessage,\n errorMessageClassName,\n numericFormatProps,\n value: _,\n onChange: __,\n ...inputProps\n } = props;\n\n const {\n allowNegative = false,\n decimalScale = 2,\n thousandSeparator = \",\",\n fixedDecimalScale = true,\n } = numericFormatProps ?? {};\n\n const prefix = currency === \"USD\" ? \"$\" : undefined;\n\n const invalid = props[\"aria-invalid\"] === \"true\";\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: { onChange, value, ref } }) => (\n <>\n <NumericFormat\n {...inputProps}\n allowNegative={allowNegative}\n customInput={RWATableTextInput}\n decimalScale={decimalScale}\n fixedDecimalScale={fixedDecimalScale}\n getInputRef={ref}\n onValueChange={({ floatValue }) => onChange(floatValue)}\n prefix={prefix}\n thousandSeparator={thousandSeparator}\n value={value}\n />\n {invalid && !!errorMessage ? (\n <p\n className={twMerge(\"text-sm text-red-900\", errorMessageClassName)}\n role=\"alert\"\n >\n {errorMessage}\n </p>\n ) : null}\n </>\n )}\n rules={rules}\n />\n );\n}\n"],"names":["RWANumberInput","props","name","control","currency","rules","errorMessage","errorMessageClassName","numericFormatProps","__","inputProps","allowNegative","decimalScale","thousandSeparator","fixedDecimalScale","prefix","invalid","jsx","Controller","onChange","value","ref","jsxs","Fragment","NumericFormat","RWATableTextInput","floatValue","twMerge"],"mappings":";;;;;AAyBO,SAASA,EACdC,GACA;AACM,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,OAAO;AAAA,IACP,UAAUC;AAAA,IACV,GAAGC;AAAA,EAAA,IACDT,GAEE;AAAA,IACJ,eAAAU,IAAgB;AAAA,IAChB,cAAAC,IAAe;AAAA,IACf,mBAAAC,IAAoB;AAAA,IACpB,mBAAAC,IAAoB;AAAA,EACtB,IAAIN,KAAsB,CAAC,GAErBO,IAASX,MAAa,QAAQ,MAAM,QAEpCY,IAAUf,EAAM,cAAc,MAAM;AAGxC,SAAA,gBAAAgB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAf;AAAA,MACA,MAAAD;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAiB,GAAU,OAAAC,GAAO,KAAAC,EAAA,QAEjC,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAN;AAAA,UAACO;AAAA,UAAA;AAAA,YACE,GAAGd;AAAA,YACJ,eAAAC;AAAA,YACA,aAAac;AAAA,YACb,cAAAb;AAAA,YACA,mBAAAE;AAAA,YACA,aAAaO;AAAA,YACb,eAAe,CAAC,EAAE,YAAAK,QAAiBP,EAASO,CAAU;AAAA,YACtD,QAAAX;AAAA,YACA,mBAAAF;AAAA,YACA,OAAAO;AAAA,UAAA;AAAA,QACF;AAAA,QACCJ,KAAaV,IACZ,gBAAAW;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWU,EAAQ,wBAAwBpB,CAAqB;AAAA,YAChE,MAAK;AAAA,YAEJ,UAAAD;AAAA,UAAA;AAAA,QAAA,IAED;AAAA,MAAA,GACN;AAAA,MAEF,OAAAD;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../src/rwa/components/inputs/select.tsx"],"sourcesContent":["import { Combobox } from \"@/connect\";\nimport { ComponentPropsWithoutRef } from \"react\";\nimport {\n Control,\n Controller,\n ControllerProps,\n FieldValues,\n Path,\n} from \"react-hook-form\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type RWATableSelectProps<ControlInputs extends FieldValues> = Omit<\n ComponentPropsWithoutRef<typeof Combobox>,\n \"options\" | \"required\"\n> & {\n readonly options: { label: string; value: string }[];\n readonly disabled?: boolean;\n readonly name: Path<ControlInputs>;\n readonly control: Control<ControlInputs>;\n readonly rules?: ControllerProps<ControlInputs>[\"rules\"];\n readonly errorMessage?: string;\n readonly errorMessageClassName?: string;\n};\n\nexport function RWATableSelect<ControlInputs extends FieldValues>(\n props: RWATableSelectProps<ControlInputs>,\n) {\n const {\n options,\n name,\n control,\n rules,\n errorMessage,\n errorMessageClassName,\n disabled = false,\n ...restProps\n } = props;\n\n const invalid = props[\"aria-invalid\"] === \"true\";\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: { onChange, onBlur, value } }) =>\n disabled ? (\n <>{options.find((option) => option.value === value)?.label}</>\n ) : (\n <>\n <Combobox\n isDisabled={disabled}\n onBlur={onBlur}\n onChange={(option) =>\n !!option &&\n typeof option === \"object\" &&\n \"value\" in option &&\n onChange(option.value)\n }\n options={options}\n value={options.find((option) => option.value === value) ?? null}\n {...restProps}\n />\n {invalid && !!errorMessage ? (\n <p\n className={twMerge(\n \"text-sm text-red-900\",\n errorMessageClassName,\n )}\n role=\"alert\"\n >\n {errorMessage}\n </p>\n ) : null}\n </>\n )\n }\n rules={rules}\n />\n );\n}\n"],"names":["RWATableSelect","props","options","name","control","rules","errorMessage","errorMessageClassName","disabled","restProps","invalid","jsx","Controller","onChange","onBlur","value","_a","option","jsxs","Fragment","Combobox","twMerge"],"mappings":";;;;AAwBO,SAASA,EACdC,GACA;AACM,QAAA;AAAA,IACJ,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../src/rwa/components/inputs/select.tsx"],"sourcesContent":["import { Combobox } from \"@/connect\";\nimport { ComponentPropsWithoutRef } from \"react\";\nimport {\n Control,\n Controller,\n ControllerProps,\n FieldValues,\n Path,\n} from \"react-hook-form\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type RWATableSelectProps<ControlInputs extends FieldValues> = Omit<\n ComponentPropsWithoutRef<typeof Combobox>,\n \"options\" | \"required\"\n> & {\n readonly options: { label: string; value: string }[];\n readonly disabled?: boolean;\n readonly name: Path<ControlInputs>;\n readonly control: Control<ControlInputs>;\n readonly rules?: ControllerProps<ControlInputs>[\"rules\"];\n readonly errorMessage?: string;\n readonly errorMessageClassName?: string;\n};\n\nexport function RWATableSelect<ControlInputs extends FieldValues>(\n props: RWATableSelectProps<ControlInputs>,\n) {\n const {\n options,\n name,\n control,\n rules,\n errorMessage,\n errorMessageClassName,\n disabled = false,\n ...restProps\n } = props;\n\n const invalid = props[\"aria-invalid\"] === \"true\";\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: { onChange, onBlur, value } }) =>\n disabled ? (\n <>{options.find((option) => option.value === value)?.label}</>\n ) : (\n <>\n <Combobox\n isDisabled={disabled}\n onBlur={onBlur}\n onChange={(option) =>\n !!option &&\n typeof option === \"object\" &&\n \"value\" in option &&\n onChange(option.value)\n }\n options={options}\n value={options.find((option) => option.value === value) ?? null}\n {...restProps}\n />\n {invalid && !!errorMessage ? (\n <p\n className={twMerge(\n \"text-sm text-red-900\",\n errorMessageClassName,\n )}\n role=\"alert\"\n >\n {errorMessage}\n </p>\n ) : null}\n </>\n )\n }\n rules={rules}\n />\n );\n}\n"],"names":["RWATableSelect","props","options","name","control","rules","errorMessage","errorMessageClassName","disabled","restProps","invalid","jsx","Controller","onChange","onBlur","value","_a","option","jsxs","Fragment","Combobox","twMerge"],"mappings":";;;;AAwBO,SAASA,EACdC,GACA;AACM,QAAA;AAAA,IACJ,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,IACDR,GAEES,IAAUT,EAAM,cAAc,MAAM;AAGxC,SAAA,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAR;AAAA,MACA,MAAAD;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAU,GAAU,QAAAC,GAAQ,OAAAC,EAAM,EAAA;;AAC1C,eAAAP,2BACK,WAAQQ,IAAAd,EAAA,KAAK,CAACe,MAAWA,EAAO,UAAUF,CAAK,MAAvC,gBAAAC,EAA0C,MAAM,CAAA,IAGzD,gBAAAE,EAAAC,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAR;AAAA,YAACS;AAAA,YAAA;AAAA,cACC,YAAYZ;AAAA,cACZ,QAAAM;AAAA,cACA,UAAU,CAACG,MACT,CAAC,CAACA,KACF,OAAOA,KAAW,YAClB,WAAWA,KACXJ,EAASI,EAAO,KAAK;AAAA,cAEvB,SAAAf;AAAA,cACA,OAAOA,EAAQ,KAAK,CAACe,MAAWA,EAAO,UAAUF,CAAK,KAAK;AAAA,cAC1D,GAAGN;AAAA,YAAA;AAAA,UACN;AAAA,UACCC,KAAaJ,IACZ,gBAAAK;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWU;AAAA,gBACT;AAAA,gBACAd;AAAA,cACF;AAAA,cACA,MAAK;AAAA,cAEJ,UAAAD;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,QAAA,GACN;AAAA;AAAA,MAGJ,OAAAD;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input.js","sources":["../../../../src/rwa/components/inputs/text-input.tsx"],"sourcesContent":["import { ComponentPropsWithRef, ForwardedRef, forwardRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = Omit<ComponentPropsWithRef<\"input\">, \"type\"> & {\n readonly defaultValue?: string | number | null | undefined;\n readonly errorMessage?: string;\n readonly labelClassName?: string;\n readonly inputClassName?: string;\n readonly errorMessageClassName?: string;\n};\n\nexport const RWATableTextInput = forwardRef(function RWATableTextInput(\n props: Props,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const invalid = props[\"aria-invalid\"] === \"true\";\n const {\n errorMessage,\n labelClassName,\n inputClassName,\n errorMessageClassName,\n ...inputProps\n } = props;\n\n return (\n <label className={labelClassName}>\n <input\n {...inputProps}\n className={twMerge(\n \"h-8 w-full rounded-md border border-transparent bg-gray-100 p-3 text-right placeholder:text-gray-500 disabled:bg-transparent disabled:p-0 disabled:text-left\",\n invalid && \"border-red-900 outline-red-900 placeholder:text-red-800\",\n inputClassName,\n )}\n ref={ref}\n type=\"text\"\n />\n {invalid && !!errorMessage ? (\n <p\n className={twMerge(\"text-sm text-red-900\", errorMessageClassName)}\n role=\"alert\"\n >\n {errorMessage}\n </p>\n ) : null}\n </label>\n );\n});\n"],"names":["RWATableTextInput","forwardRef","props","ref","invalid","errorMessage","labelClassName","inputClassName","errorMessageClassName","inputProps","jsxs","jsx","twMerge"],"mappings":";;;AAWO,MAAMA,IAAoBC,EAAW,SAC1CC,GACAC,GACA;AACM,QAAAC,IAAUF,EAAM,cAAc,MAAM,QACpC;AAAA,IACJ,cAAAG;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,GAAGC;AAAA,
|
|
1
|
+
{"version":3,"file":"text-input.js","sources":["../../../../src/rwa/components/inputs/text-input.tsx"],"sourcesContent":["import { ComponentPropsWithRef, ForwardedRef, forwardRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = Omit<ComponentPropsWithRef<\"input\">, \"type\"> & {\n readonly defaultValue?: string | number | null | undefined;\n readonly errorMessage?: string;\n readonly labelClassName?: string;\n readonly inputClassName?: string;\n readonly errorMessageClassName?: string;\n};\n\nexport const RWATableTextInput = forwardRef(function RWATableTextInput(\n props: Props,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const invalid = props[\"aria-invalid\"] === \"true\";\n const {\n errorMessage,\n labelClassName,\n inputClassName,\n errorMessageClassName,\n ...inputProps\n } = props;\n\n return (\n <label className={labelClassName}>\n <input\n {...inputProps}\n className={twMerge(\n \"h-8 w-full rounded-md border border-transparent bg-gray-100 p-3 text-right placeholder:text-gray-500 disabled:bg-transparent disabled:p-0 disabled:text-left\",\n invalid && \"border-red-900 outline-red-900 placeholder:text-red-800\",\n inputClassName,\n )}\n ref={ref}\n type=\"text\"\n />\n {invalid && !!errorMessage ? (\n <p\n className={twMerge(\"text-sm text-red-900\", errorMessageClassName)}\n role=\"alert\"\n >\n {errorMessage}\n </p>\n ) : null}\n </label>\n );\n});\n"],"names":["RWATableTextInput","forwardRef","props","ref","invalid","errorMessage","labelClassName","inputClassName","errorMessageClassName","inputProps","jsxs","jsx","twMerge"],"mappings":";;;AAWO,MAAMA,IAAoBC,EAAW,SAC1CC,GACAC,GACA;AACM,QAAAC,IAAUF,EAAM,cAAc,MAAM,QACpC;AAAA,IACJ,cAAAG;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDP;AAGF,SAAA,gBAAAQ,EAAC,SAAM,EAAA,WAAWJ,GAChB,UAAA;AAAA,IAAA,gBAAAK;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAGF;AAAA,QACJ,WAAWG;AAAA,UACT;AAAA,UACAR,KAAW;AAAA,UACXG;AAAA,QACF;AAAA,QACA,KAAAJ;AAAA,QACA,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,IACCC,KAAaC,IACZ,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAQ,wBAAwBJ,CAAqB;AAAA,QAChE,MAAK;AAAA,QAEJ,UAAAH;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,EAAA,GACN;AAEJ,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-item-modal.js","sources":["../../../../src/rwa/components/modal/create-item-modal.tsx"],"sourcesContent":["import { Icon, Modal } from \"@/powerhouse\";\nimport { ModalFormInputs, tableLabels, TableName, useTableForm } from \"@/rwa\";\nimport { ComponentPropsWithoutRef, memo, useCallback } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type RWACreateItemModalProps = ComponentPropsWithoutRef<typeof Modal> & {\n readonly open: boolean;\n readonly tableName: TableName;\n readonly onOpenChange: (open: boolean) => void;\n};\n\nexport function _RWACreateItemModal(props: RWACreateItemModalProps) {\n const { tableName, open, onOpenChange } = props;\n\n const {\n reset,\n submit,\n formInputs: { inputs, additionalInputs },\n } = useTableForm({\n operation: \"create\",\n tableName,\n });\n\n const tableLabel = tableLabels[tableName];\n\n const handleCancel = useCallback(() => {\n reset();\n onOpenChange(false);\n }, [onOpenChange, reset]);\n\n const handleSubmit = useCallback(async () => {\n try {\n await submit();\n onOpenChange(false);\n } catch (error) {\n console.error(error);\n }\n }, [onOpenChange, submit]);\n\n const buttonStyles =\n \"min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all\";\n\n return (\n <Modal\n contentProps={{\n className: \"rounded-3xl\",\n }}\n onOpenChange={onOpenChange}\n open={open}\n overlayProps={{\n className: \"top-10\",\n }}\n >\n <div className=\"w-[400px] p-6 text-slate-300\">\n <div className=\"mb-6 flex justify-between\">\n <h1 className=\"text-xl font-bold\">Create {tableLabel}</h1>\n <button\n className=\"flex size-8 items-center justify-center rounded-md bg-gray-100 text-gray-500 outline-none hover:text-gray-900\"\n onClick={handleCancel}\n tabIndex={-1}\n >\n <Icon name=\"XmarkLight\" size={24} />\n </button>\n </div>\n <ModalFormInputs inputs={inputs} />\n {additionalInputs}\n <div className=\"mt-8 flex justify-between gap-3\">\n <button\n className={twMerge(\n buttonStyles,\n \"flex-1 bg-slate-50 text-slate-800\",\n )}\n onClick={handleCancel}\n >\n Cancel\n </button>\n <button\n className={twMerge(buttonStyles, \"flex-1 bg-gray-800 text-gray-50\")}\n onClick={handleSubmit}\n >\n Save\n </button>\n </div>\n </div>\n </Modal>\n );\n}\n\nexport const RWACreateItemModal = memo(_RWACreateItemModal);\n"],"names":["_RWACreateItemModal","props","tableName","open","onOpenChange","reset","submit","inputs","additionalInputs","useTableForm","tableLabel","tableLabels","handleCancel","useCallback","handleSubmit","error","buttonStyles","jsx","Modal","jsxs","Icon","ModalFormInputs","twMerge","RWACreateItemModal","memo"],"mappings":";;;;;;;;AAWO,SAASA,EAAoBC,GAAgC;AAClE,QAAM,EAAE,WAAAC,GAAW,MAAAC,GAAM,cAAAC,
|
|
1
|
+
{"version":3,"file":"create-item-modal.js","sources":["../../../../src/rwa/components/modal/create-item-modal.tsx"],"sourcesContent":["import { Icon, Modal } from \"@/powerhouse\";\nimport { ModalFormInputs, tableLabels, TableName, useTableForm } from \"@/rwa\";\nimport { ComponentPropsWithoutRef, memo, useCallback } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type RWACreateItemModalProps = ComponentPropsWithoutRef<typeof Modal> & {\n readonly open: boolean;\n readonly tableName: TableName;\n readonly onOpenChange: (open: boolean) => void;\n};\n\nexport function _RWACreateItemModal(props: RWACreateItemModalProps) {\n const { tableName, open, onOpenChange } = props;\n\n const {\n reset,\n submit,\n formInputs: { inputs, additionalInputs },\n } = useTableForm({\n operation: \"create\",\n tableName,\n });\n\n const tableLabel = tableLabels[tableName];\n\n const handleCancel = useCallback(() => {\n reset();\n onOpenChange(false);\n }, [onOpenChange, reset]);\n\n const handleSubmit = useCallback(async () => {\n try {\n await submit();\n onOpenChange(false);\n } catch (error) {\n console.error(error);\n }\n }, [onOpenChange, submit]);\n\n const buttonStyles =\n \"min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all\";\n\n return (\n <Modal\n contentProps={{\n className: \"rounded-3xl\",\n }}\n onOpenChange={onOpenChange}\n open={open}\n overlayProps={{\n className: \"top-10\",\n }}\n >\n <div className=\"w-[400px] p-6 text-slate-300\">\n <div className=\"mb-6 flex justify-between\">\n <h1 className=\"text-xl font-bold\">Create {tableLabel}</h1>\n <button\n className=\"flex size-8 items-center justify-center rounded-md bg-gray-100 text-gray-500 outline-none hover:text-gray-900\"\n onClick={handleCancel}\n tabIndex={-1}\n >\n <Icon name=\"XmarkLight\" size={24} />\n </button>\n </div>\n <ModalFormInputs inputs={inputs} />\n {additionalInputs}\n <div className=\"mt-8 flex justify-between gap-3\">\n <button\n className={twMerge(\n buttonStyles,\n \"flex-1 bg-slate-50 text-slate-800\",\n )}\n onClick={handleCancel}\n >\n Cancel\n </button>\n <button\n className={twMerge(buttonStyles, \"flex-1 bg-gray-800 text-gray-50\")}\n onClick={handleSubmit}\n >\n Save\n </button>\n </div>\n </div>\n </Modal>\n );\n}\n\nexport const RWACreateItemModal = memo(_RWACreateItemModal);\n"],"names":["_RWACreateItemModal","props","tableName","open","onOpenChange","reset","submit","inputs","additionalInputs","useTableForm","tableLabel","tableLabels","handleCancel","useCallback","handleSubmit","error","buttonStyles","jsx","Modal","jsxs","Icon","ModalFormInputs","twMerge","RWACreateItemModal","memo"],"mappings":";;;;;;;;AAWO,SAASA,EAAoBC,GAAgC;AAClE,QAAM,EAAE,WAAAC,GAAW,MAAAC,GAAM,cAAAC,EAAiB,IAAAH,GAEpC;AAAA,IACJ,OAAAI;AAAA,IACA,QAAAC;AAAA,IACA,YAAY,EAAE,QAAAC,GAAQ,kBAAAC,EAAiB;AAAA,MACrCC,EAAa;AAAA,IACf,WAAW;AAAA,IACX,WAAAP;AAAA,EAAA,CACD,GAEKQ,IAAaC,EAAYT,CAAS,GAElCU,IAAeC,EAAY,MAAM;AAC/B,IAAAR,EAAA,GACND,EAAa,EAAK;AAAA,EAAA,GACjB,CAACA,GAAcC,CAAK,CAAC,GAElBS,IAAeD,EAAY,YAAY;AACvC,QAAA;AACF,YAAMP,EAAO,GACbF,EAAa,EAAK;AAAA,aACXW,GAAO;AACd,cAAQ,MAAMA,CAAK;AAAA,IAAA;AAAA,EACrB,GACC,CAACX,GAAcE,CAAM,CAAC,GAEnBU,IACJ;AAGA,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,cAAc;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,MACA,cAAAd;AAAA,MACA,MAAAD;AAAA,MACA,cAAc;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,MAEA,UAAA,gBAAAgB,EAAC,OAAI,EAAA,WAAU,gCACb,UAAA;AAAA,QAAC,gBAAAA,EAAA,OAAA,EAAI,WAAU,6BACb,UAAA;AAAA,UAAC,gBAAAA,EAAA,MAAA,EAAG,WAAU,qBAAoB,UAAA;AAAA,YAAA;AAAA,YAAQT;AAAA,UAAA,GAAW;AAAA,UACrD,gBAAAO;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,SAASL;AAAA,cACT,UAAU;AAAA,cAEV,UAAC,gBAAAK,EAAAG,GAAA,EAAK,MAAK,cAAa,MAAM,GAAI,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACpC,GACF;AAAA,QACA,gBAAAH,EAACI,KAAgB,QAAAd,GAAgB;AAAA,QAChCC;AAAA,QACD,gBAAAW,EAAC,OAAI,EAAA,WAAU,mCACb,UAAA;AAAA,UAAA,gBAAAF;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWK;AAAA,gBACTN;AAAA,gBACA;AAAA,cACF;AAAA,cACA,SAASJ;AAAA,cACV,UAAA;AAAA,YAAA;AAAA,UAED;AAAA,UACA,gBAAAK;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWK,EAAQN,GAAc,iCAAiC;AAAA,cAClE,SAASF;AAAA,cACV,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,EACF,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;AAEa,MAAAS,IAAqBC,EAAKxB,CAAmB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-item-modal.js","sources":["../../../../src/rwa/components/modal/delete-item-modal.tsx"],"sourcesContent":["import { Icon, Modal } from \"@/powerhouse\";\nimport { DependentItemProps, tableLabels, TableName } from \"@/rwa\";\nimport { ComponentPropsWithoutRef, memo, useCallback } from \"react\";\n\nexport type RWADeleteItemModalProps = ComponentPropsWithoutRef<typeof Modal> & {\n readonly tableName: TableName;\n readonly dependentItemProps: DependentItemProps;\n};\n\nexport function _RWADeleteItemModal(props: RWADeleteItemModalProps) {\n const { tableName, dependentItemProps, onOpenChange, open } = props;\n\n const tableLabel = tableLabels[tableName].toLowerCase();\n\n const handleCancel = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n return (\n <Modal\n contentProps={{\n className: \"rounded-3xl\",\n }}\n onOpenChange={onOpenChange}\n open={open}\n overlayProps={{\n className: \"top-10\",\n }}\n >\n <div className=\"w-[400px] p-6 text-slate-300\">\n <div className=\"border-b border-slate-50 pb-2 text-2xl font-bold text-gray-800\">\n Cannot delete {tableName}\n </div>\n <div className=\"my-6 flex gap-2 rounded-md bg-orange-100 p-4 text-orange-800\">\n <div>\n <Icon className=\"mt-1 text-orange-800\" name=\"Error\" />\n </div>\n <div>\n Warning! Cannot delete this {tableLabel} because there are items\n that depend on it. Please change or delete those first.\n </div>\n </div>\n <div className=\"my-6 rounded-md bg-slate-50 p-4 text-slate-200\">\n {dependentItemProps.map(({ dependentTableName, dependentItems }) => (\n <div key={dependentTableName}>\n <div className=\"mb-0.5 font-semibold\" key={1}>\n {`${tableLabels[dependentTableName]}s: `}\n </div>\n {dependentItems.map(({ id, label }) => (\n <div key={id}>{label}</div>\n ))}\n </div>\n ))}\n </div>\n <div className=\"mt-8 flex justify-between gap-3\">\n <button\n className=\"min-h-12 min-w-36 flex-1 rounded-xl bg-gray-800 px-6 py-3 text-base font-semibold text-gray-50 outline-none transition-all hover:scale-105 active:opacity-75\"\n onClick={handleCancel}\n >\n Back\n </button>\n </div>\n </div>\n </Modal>\n );\n}\n\nexport const RWADeleteItemModal = memo(_RWADeleteItemModal);\n"],"names":["_RWADeleteItemModal","props","tableName","dependentItemProps","onOpenChange","open","tableLabel","tableLabels","handleCancel","useCallback","jsx","Modal","jsxs","Icon","dependentTableName","dependentItems","id","label","RWADeleteItemModal","memo"],"mappings":";;;;;AASO,SAASA,EAAoBC,GAAgC;AAClE,QAAM,EAAE,WAAAC,GAAW,oBAAAC,GAAoB,cAAAC,GAAc,MAAAC,
|
|
1
|
+
{"version":3,"file":"delete-item-modal.js","sources":["../../../../src/rwa/components/modal/delete-item-modal.tsx"],"sourcesContent":["import { Icon, Modal } from \"@/powerhouse\";\nimport { DependentItemProps, tableLabels, TableName } from \"@/rwa\";\nimport { ComponentPropsWithoutRef, memo, useCallback } from \"react\";\n\nexport type RWADeleteItemModalProps = ComponentPropsWithoutRef<typeof Modal> & {\n readonly tableName: TableName;\n readonly dependentItemProps: DependentItemProps;\n};\n\nexport function _RWADeleteItemModal(props: RWADeleteItemModalProps) {\n const { tableName, dependentItemProps, onOpenChange, open } = props;\n\n const tableLabel = tableLabels[tableName].toLowerCase();\n\n const handleCancel = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n return (\n <Modal\n contentProps={{\n className: \"rounded-3xl\",\n }}\n onOpenChange={onOpenChange}\n open={open}\n overlayProps={{\n className: \"top-10\",\n }}\n >\n <div className=\"w-[400px] p-6 text-slate-300\">\n <div className=\"border-b border-slate-50 pb-2 text-2xl font-bold text-gray-800\">\n Cannot delete {tableName}\n </div>\n <div className=\"my-6 flex gap-2 rounded-md bg-orange-100 p-4 text-orange-800\">\n <div>\n <Icon className=\"mt-1 text-orange-800\" name=\"Error\" />\n </div>\n <div>\n Warning! Cannot delete this {tableLabel} because there are items\n that depend on it. Please change or delete those first.\n </div>\n </div>\n <div className=\"my-6 rounded-md bg-slate-50 p-4 text-slate-200\">\n {dependentItemProps.map(({ dependentTableName, dependentItems }) => (\n <div key={dependentTableName}>\n <div className=\"mb-0.5 font-semibold\" key={1}>\n {`${tableLabels[dependentTableName]}s: `}\n </div>\n {dependentItems.map(({ id, label }) => (\n <div key={id}>{label}</div>\n ))}\n </div>\n ))}\n </div>\n <div className=\"mt-8 flex justify-between gap-3\">\n <button\n className=\"min-h-12 min-w-36 flex-1 rounded-xl bg-gray-800 px-6 py-3 text-base font-semibold text-gray-50 outline-none transition-all hover:scale-105 active:opacity-75\"\n onClick={handleCancel}\n >\n Back\n </button>\n </div>\n </div>\n </Modal>\n );\n}\n\nexport const RWADeleteItemModal = memo(_RWADeleteItemModal);\n"],"names":["_RWADeleteItemModal","props","tableName","dependentItemProps","onOpenChange","open","tableLabel","tableLabels","handleCancel","useCallback","jsx","Modal","jsxs","Icon","dependentTableName","dependentItems","id","label","RWADeleteItemModal","memo"],"mappings":";;;;;AASO,SAASA,EAAoBC,GAAgC;AAClE,QAAM,EAAE,WAAAC,GAAW,oBAAAC,GAAoB,cAAAC,GAAc,MAAAC,EAAS,IAAAJ,GAExDK,IAAaC,EAAYL,CAAS,EAAE,YAAY,GAEhDM,IAAeC,EAAY,MAAM;AACrC,IAAAL,KAAA,QAAAA,EAAe;AAAA,EAAK,GACnB,CAACA,CAAY,CAAC;AAEf,SAAA,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,cAAc;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,MACA,cAAAP;AAAA,MACA,MAAAC;AAAA,MACA,cAAc;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,MAEA,UAAA,gBAAAO,EAAC,OAAI,EAAA,WAAU,gCACb,UAAA;AAAA,QAAC,gBAAAA,EAAA,OAAA,EAAI,WAAU,kEAAiE,UAAA;AAAA,UAAA;AAAA,UAC/DV;AAAA,QAAA,GACjB;AAAA,QACA,gBAAAU,EAAC,OAAI,EAAA,WAAU,gEACb,UAAA;AAAA,UAAA,gBAAAF,EAAC,SACC,UAAC,gBAAAA,EAAAG,GAAA,EAAK,WAAU,wBAAuB,MAAK,SAAQ,EACtD,CAAA;AAAA,4BACC,OAAI,EAAA,UAAA;AAAA,YAAA;AAAA,YAC0BP;AAAA,YAAW;AAAA,UAAA,EAE1C,CAAA;AAAA,QAAA,GACF;AAAA,QACC,gBAAAI,EAAA,OAAA,EAAI,WAAU,kDACZ,UAAmBP,EAAA,IAAI,CAAC,EAAE,oBAAAW,GAAoB,gBAAAC,EAC7C,MAAA,gBAAAH,EAAC,OACC,EAAA,UAAA;AAAA,UAAC,gBAAAF,EAAA,OAAA,EAAI,WAAU,wBACZ,UAAA,GAAGH,EAAYO,CAAkB,CAAC,SADM,CAE3C;AAAA,UACCC,EAAe,IAAI,CAAC,EAAE,IAAAC,GAAI,OAAAC,EAAM,MAC9B,gBAAAP,EAAA,OAAA,EAAc,UAALO,EAAA,GAAAD,CAAW,CACtB;AAAA,QAAA,KANOF,CAOV,CACD,GACH;AAAA,QACA,gBAAAJ,EAAC,OAAI,EAAA,WAAU,mCACb,UAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAASF;AAAA,YACV,UAAA;AAAA,UAAA;AAAA,QAAA,EAGH,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;AAEa,MAAAU,IAAqBC,EAAKnB,CAAmB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-form-inputs.js","sources":["../../../../src/rwa/components/modal/modal-form-inputs.tsx"],"sourcesContent":["import { ComponentType } from \"react\";\n\ntype Input = {\n label: string;\n Input: ComponentType;\n};\ntype Props = {\n readonly inputs: Input[];\n};\nexport function ModalFormInputs(props: Props) {\n const { inputs } = props;\n return (\n <div className=\"bg-white text-xs font-medium\">\n {inputs.map(({ label, Input }, index) => (\n <div className=\"mb-4 mt-2 grid gap-1\" key={label}>\n <label className=\"text-base\">{label}</label>\n <div key={index}>\n <Input />\n </div>\n </div>\n ))}\n </div>\n );\n}\n"],"names":["ModalFormInputs","props","inputs","jsx","label","Input","index","jsxs"],"mappings":";AASO,SAASA,EAAgBC,GAAc;AACtC,QAAA,EAAE,QAAAC,
|
|
1
|
+
{"version":3,"file":"modal-form-inputs.js","sources":["../../../../src/rwa/components/modal/modal-form-inputs.tsx"],"sourcesContent":["import { ComponentType } from \"react\";\n\ntype Input = {\n label: string;\n Input: ComponentType;\n};\ntype Props = {\n readonly inputs: Input[];\n};\nexport function ModalFormInputs(props: Props) {\n const { inputs } = props;\n return (\n <div className=\"bg-white text-xs font-medium\">\n {inputs.map(({ label, Input }, index) => (\n <div className=\"mb-4 mt-2 grid gap-1\" key={label}>\n <label className=\"text-base\">{label}</label>\n <div key={index}>\n <Input />\n </div>\n </div>\n ))}\n </div>\n );\n}\n"],"names":["ModalFormInputs","props","inputs","jsx","label","Input","index","jsxs"],"mappings":";AASO,SAASA,EAAgBC,GAAc;AACtC,QAAA,EAAE,QAAAC,MAAWD;AACnB,SACG,gBAAAE,EAAA,OAAA,EAAI,WAAU,gCACZ,YAAO,IAAI,CAAC,EAAE,OAAAC,GAAO,OAAAC,KAASC,MAC5B,gBAAAC,EAAA,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,IAAC,gBAAAJ,EAAA,SAAA,EAAM,WAAU,aAAa,UAAMC,GAAA;AAAA,IACnC,gBAAAD,EAAA,OAAA,EACC,UAAC,gBAAAA,EAAAE,GAAA,CAAA,CAAM,KADCC,CAEV;AAAA,EAAA,KAJyCF,CAK3C,CACD,GACH;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-manager.js","sources":["../../../../src/rwa/components/modal/modal-manager.tsx"],"sourcesContent":["import { ModalPropsMapping, modals, ModalType } from \"@/rwa\";\nimport React, { useCallback, useContext, useMemo, useState } from \"react\";\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], \"open\" | \"onOpenChange\">;\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(modalType: T, props?: ModalProps[T]) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{\n readonly children?: React.ReactNode;\n}> = (props) => {\n const { children } = props;\n\n const [modalProps, setModalProps] = useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue[\"showModal\"] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue[\"closeModal\"] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n {ModalComponent ? (\n <ModalComponent\n {...(modalProps as any)}\n onOpenChange={setOpen}\n open={open}\n />\n ) : null}\n </ModalContext.Provider>\n );\n};\n"],"names":["ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","modals","value","useMemo","jsxs","jsx"],"mappings":";;;AAca,MAAAA,IAAeC,EAAM,cAAiC;AAAA,EACjE,WAAW,MAAM;AAAA,EAAC;AAAA,EAClB,YAAY,MAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"modal-manager.js","sources":["../../../../src/rwa/components/modal/modal-manager.tsx"],"sourcesContent":["import { ModalPropsMapping, modals, ModalType } from \"@/rwa\";\nimport React, { useCallback, useContext, useMemo, useState } from \"react\";\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], \"open\" | \"onOpenChange\">;\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(modalType: T, props?: ModalProps[T]) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{\n readonly children?: React.ReactNode;\n}> = (props) => {\n const { children } = props;\n\n const [modalProps, setModalProps] = useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue[\"showModal\"] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue[\"closeModal\"] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n {ModalComponent ? (\n <ModalComponent\n {...(modalProps as any)}\n onOpenChange={setOpen}\n open={open}\n />\n ) : null}\n </ModalContext.Provider>\n );\n};\n"],"names":["ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","modals","value","useMemo","jsxs","jsx"],"mappings":";;;AAca,MAAAA,IAAeC,EAAM,cAAiC;AAAA,EACjE,WAAW,MAAM;AAAA,EAAC;AAAA,EAClB,YAAY,MAAM;AAAA,EAAA;AACpB,CAAC,GAEYC,IAAW,MACNC,EAAWH,CAAY,GAI5BI,IAER,CAACC,MAAU;AACR,QAAA,EAAE,UAAAC,MAAaD,GAEf,CAACE,GAAYC,CAAa,IAAIC,EAAuC,GACrE,CAACC,GAAWC,CAAY,IAAIF,EAAoB,GAChD,CAACG,GAAMC,CAAO,IAAIJ,EAAS,EAAK,GAEhCK,IAA4CC;AAAA,IAChD,CAACL,GAAWL,MAAU;AACpB,MAAAQ,EAAQ,EAAI,GACZL,EAAcH,CAAK,GACnBM,EAAaD,CAAS;AAAA,IACxB;AAAA,IACA,CAAA;AAAA,EACF,GAEMM,IAA8CD,EAAY,MAAM;AACpE,IAAAF,EAAQ,EAAK;AAAA,EACf,GAAG,EAAE,GAECI,IAAiBP,IAAYQ,EAAOR,CAAS,IAAI,MAEjDS,IAAQC;AAAA,IACZ,OAAO,EAAE,WAAAN,GAAW,YAAAE;IACpB,CAACA,GAAYF,CAAS;AAAA,EACxB;AAEA,SACG,gBAAAO,EAAArB,EAAa,UAAb,EAAsB,OAAAmB,GACpB,UAAA;AAAA,IAAAb;AAAA,IACAW,IACC,gBAAAK;AAAA,MAACL;AAAA,MAAA;AAAA,QACE,GAAIV;AAAA,QACL,cAAcM;AAAA,QACd,MAAAD;AAAA,MAAA;AAAA,IAAA,IAEA;AAAA,EAAA,GACN;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts-table.js","sources":["../../../../../src/rwa/components/table/accounts/accounts-table.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport { tableNames } from \"@/rwa/constants\";\nimport { useEditorContext } from \"@/rwa/context\";\nimport { TableColumn } from \"@/rwa/types\";\nimport { useCallback } from \"react\";\nimport { Fragment } from \"react/jsx-runtime\";\nimport { RWATableCell, RWATableRow, TableWithForm } from \"../base\";\n\nexport function AccountsTable() {\n const { accounts, principalLenderAccountId } = useEditorContext();\n const principalLenderAccount = accounts.find(\n (account) => account.id === principalLenderAccountId,\n );\n\n const renderPrincipalLenderRow = useCallback(\n (c: TableColumn[]) => (\n <RWATableRow>\n {c.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"label\" ? (\n <RWATableCell>\n {principalLenderAccount?.label}\n <span className=\"ml-2 inline-flex items-center gap-1 rounded bg-green-100 px-1 font-extralight\">\n Lender <Icon name=\"CheckCircle\" size={14} />\n </span>\n </RWATableCell>\n ) : (\n <RWATableCell />\n )}\n </Fragment>\n ))}\n </RWATableRow>\n ),\n [principalLenderAccount?.label],\n );\n\n const specialFirstRow = principalLenderAccount?.label\n ? renderPrincipalLenderRow\n : undefined;\n\n return (\n <TableWithForm\n specialFirstRow={specialFirstRow}\n tableName={tableNames.ACCOUNT}\n />\n );\n}\n"],"names":["AccountsTable","accounts","principalLenderAccountId","useEditorContext","principalLenderAccount","account","renderPrincipalLenderRow","useCallback","c","jsx","RWATableRow","column","Fragment","RWATableCell","jsxs","Icon","specialFirstRow","TableWithForm","tableNames"],"mappings":";;;;;;;;AAQO,SAASA,IAAgB;AAC9B,QAAM,EAAE,UAAAC,GAAU,0BAAAC,EAAyB,IAAIC,EAAiB,GAC1DC,IAAyBH,EAAS;AAAA,IACtC,CAACI,MAAYA,EAAQ,OAAOH;AAAA,
|
|
1
|
+
{"version":3,"file":"accounts-table.js","sources":["../../../../../src/rwa/components/table/accounts/accounts-table.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport { tableNames } from \"@/rwa/constants\";\nimport { useEditorContext } from \"@/rwa/context\";\nimport { TableColumn } from \"@/rwa/types\";\nimport { useCallback } from \"react\";\nimport { Fragment } from \"react/jsx-runtime\";\nimport { RWATableCell, RWATableRow, TableWithForm } from \"../base\";\n\nexport function AccountsTable() {\n const { accounts, principalLenderAccountId } = useEditorContext();\n const principalLenderAccount = accounts.find(\n (account) => account.id === principalLenderAccountId,\n );\n\n const renderPrincipalLenderRow = useCallback(\n (c: TableColumn[]) => (\n <RWATableRow>\n {c.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"label\" ? (\n <RWATableCell>\n {principalLenderAccount?.label}\n <span className=\"ml-2 inline-flex items-center gap-1 rounded bg-green-100 px-1 font-extralight\">\n Lender <Icon name=\"CheckCircle\" size={14} />\n </span>\n </RWATableCell>\n ) : (\n <RWATableCell />\n )}\n </Fragment>\n ))}\n </RWATableRow>\n ),\n [principalLenderAccount?.label],\n );\n\n const specialFirstRow = principalLenderAccount?.label\n ? renderPrincipalLenderRow\n : undefined;\n\n return (\n <TableWithForm\n specialFirstRow={specialFirstRow}\n tableName={tableNames.ACCOUNT}\n />\n );\n}\n"],"names":["AccountsTable","accounts","principalLenderAccountId","useEditorContext","principalLenderAccount","account","renderPrincipalLenderRow","useCallback","c","jsx","RWATableRow","column","Fragment","RWATableCell","jsxs","Icon","specialFirstRow","TableWithForm","tableNames"],"mappings":";;;;;;;;AAQO,SAASA,IAAgB;AAC9B,QAAM,EAAE,UAAAC,GAAU,0BAAAC,EAAyB,IAAIC,EAAiB,GAC1DC,IAAyBH,EAAS;AAAA,IACtC,CAACI,MAAYA,EAAQ,OAAOH;AAAA,EAC9B,GAEMI,IAA2BC;AAAA,IAC/B,CAACC,MACE,gBAAAC,EAAAC,GAAA,EACE,YAAE,IAAI,CAACC,MACN,gBAAAF,EAACG,GACE,EAAA,UAAAD,EAAO,QAAQ,4BACbE,GACE,EAAA,UAAA;AAAA,MAAwBT,KAAA,gBAAAA,EAAA;AAAA,MACzB,gBAAAU,EAAC,QAAK,EAAA,WAAU,iFAAgF,UAAA;AAAA,QAAA;AAAA,QACtF,gBAAAL,EAAAM,GAAA,EAAK,MAAK,eAAc,MAAM,GAAI,CAAA;AAAA,MAAA,EAC5C,CAAA;AAAA,IAAA,GACF,IAEC,gBAAAN,EAAAI,GAAA,CAAA,CAAa,KATHF,EAAO,GAWtB,CACD,GACH;AAAA,IAEF,CAACP,KAAA,gBAAAA,EAAwB,KAAK;AAAA,EAChC,GAEMY,IAAkBZ,KAAA,QAAAA,EAAwB,QAC5CE,IACA;AAGF,SAAA,gBAAAG;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,iBAAAD;AAAA,MACA,WAAWE,EAAW;AAAA,IAAA;AAAA,EACxB;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets-table.js","sources":["../../../../../src/rwa/components/table/assets/assets-table.tsx"],"sourcesContent":["import {\n RWATableCell,\n RWATableRow,\n TableColumn,\n TableWithForm,\n handleTableDatum,\n sumTotalForProperty,\n tableNames,\n useEditorContext,\n} from \"@/rwa\";\nimport { Fragment, useCallback, useMemo } from \"react\";\n\nexport function AssetsTable() {\n const tableName = tableNames.ASSET;\n const { selectedTableItem, fixedIncomes, cashAsset } = useEditorContext();\n\n const cashAssetFormattedAsTableItem = useMemo(\n () => ({\n id: \"special-first-row\",\n name: \"Cash $USD\",\n fixedIncomeTypeId: \"--\",\n spvId: \"--\",\n maturity: \"--\",\n ISIN: \"--\",\n CUSIP: \"--\",\n coupon: null,\n notional: cashAsset.balance ?? 0,\n purchaseDate: \"--\",\n purchasePrice: \"--\",\n purchaseProceeds: \"--\",\n salesProceeds: \"--\",\n totalDiscount: \"--\",\n realizedSurplus: \"--\",\n currentValue: \"--\",\n }),\n [cashAsset.balance],\n );\n\n const totalPurchaseProceeds = sumTotalForProperty(\n fixedIncomes,\n \"purchaseProceeds\",\n );\n const totalSalesProceeds = sumTotalForProperty(fixedIncomes, \"salesProceeds\");\n const totalTotalDiscount = sumTotalForProperty(fixedIncomes, \"totalDiscount\");\n const totalRealizedSurplus = sumTotalForProperty(\n fixedIncomes,\n \"realizedSurplus\",\n );\n\n const specialFirstRow = useCallback(\n (c: TableColumn[]) => (\n <RWATableRow>\n {c.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"name\" && <RWATableCell>Cash $USD</RWATableCell>}\n {column.key === \"notional\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(cashAssetFormattedAsTableItem[column.key])}\n </RWATableCell>\n )}\n {column.key !== \"name\" && column.key !== \"notional\" && (\n <RWATableCell />\n )}\n </Fragment>\n ))}\n </RWATableRow>\n ),\n [cashAssetFormattedAsTableItem],\n );\n\n const specialLastRow = useCallback(\n (c: TableColumn[]) => (\n <RWATableRow className=\"sticky bottom-0\">\n {c.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"name\" && <RWATableCell>Totals</RWATableCell>}\n {column.key === \"purchaseProceeds\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalPurchaseProceeds)}\n </RWATableCell>\n )}\n {column.key === \"salesProceeds\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalSalesProceeds)}\n </RWATableCell>\n )}\n {column.key === \"totalDiscount\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalTotalDiscount)}\n </RWATableCell>\n )}\n {column.key === \"realizedSurplus\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalRealizedSurplus)}\n </RWATableCell>\n )}\n {column.key !== \"name\" &&\n column.key !== \"purchaseProceeds\" &&\n column.key !== \"salesProceeds\" &&\n column.key !== \"totalDiscount\" &&\n column.key !== \"realizedSurplus\" && <RWATableCell />}\n </Fragment>\n ))}\n </RWATableRow>\n ),\n [\n selectedTableItem,\n totalPurchaseProceeds,\n totalRealizedSurplus,\n totalSalesProceeds,\n totalTotalDiscount,\n ],\n );\n\n return (\n <TableWithForm\n specialFirstRow={specialFirstRow}\n specialLastRow={specialLastRow}\n tableName={tableName}\n />\n );\n}\n"],"names":["AssetsTable","tableName","tableNames","selectedTableItem","fixedIncomes","cashAsset","useEditorContext","cashAssetFormattedAsTableItem","useMemo","totalPurchaseProceeds","sumTotalForProperty","totalSalesProceeds","totalTotalDiscount","totalRealizedSurplus","specialFirstRow","useCallback","c","jsx","RWATableRow","column","jsxs","Fragment","RWATableCell","handleTableDatum","specialLastRow","TableWithForm"],"mappings":";;;;;;;;;AAYO,SAASA,IAAc;AAC5B,QAAMC,IAAYC,EAAW,OACvB,EAAE,mBAAAC,GAAmB,cAAAC,GAAc,WAAAC,
|
|
1
|
+
{"version":3,"file":"assets-table.js","sources":["../../../../../src/rwa/components/table/assets/assets-table.tsx"],"sourcesContent":["import {\n RWATableCell,\n RWATableRow,\n TableColumn,\n TableWithForm,\n handleTableDatum,\n sumTotalForProperty,\n tableNames,\n useEditorContext,\n} from \"@/rwa\";\nimport { Fragment, useCallback, useMemo } from \"react\";\n\nexport function AssetsTable() {\n const tableName = tableNames.ASSET;\n const { selectedTableItem, fixedIncomes, cashAsset } = useEditorContext();\n\n const cashAssetFormattedAsTableItem = useMemo(\n () => ({\n id: \"special-first-row\",\n name: \"Cash $USD\",\n fixedIncomeTypeId: \"--\",\n spvId: \"--\",\n maturity: \"--\",\n ISIN: \"--\",\n CUSIP: \"--\",\n coupon: null,\n notional: cashAsset.balance ?? 0,\n purchaseDate: \"--\",\n purchasePrice: \"--\",\n purchaseProceeds: \"--\",\n salesProceeds: \"--\",\n totalDiscount: \"--\",\n realizedSurplus: \"--\",\n currentValue: \"--\",\n }),\n [cashAsset.balance],\n );\n\n const totalPurchaseProceeds = sumTotalForProperty(\n fixedIncomes,\n \"purchaseProceeds\",\n );\n const totalSalesProceeds = sumTotalForProperty(fixedIncomes, \"salesProceeds\");\n const totalTotalDiscount = sumTotalForProperty(fixedIncomes, \"totalDiscount\");\n const totalRealizedSurplus = sumTotalForProperty(\n fixedIncomes,\n \"realizedSurplus\",\n );\n\n const specialFirstRow = useCallback(\n (c: TableColumn[]) => (\n <RWATableRow>\n {c.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"name\" && <RWATableCell>Cash $USD</RWATableCell>}\n {column.key === \"notional\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(cashAssetFormattedAsTableItem[column.key])}\n </RWATableCell>\n )}\n {column.key !== \"name\" && column.key !== \"notional\" && (\n <RWATableCell />\n )}\n </Fragment>\n ))}\n </RWATableRow>\n ),\n [cashAssetFormattedAsTableItem],\n );\n\n const specialLastRow = useCallback(\n (c: TableColumn[]) => (\n <RWATableRow className=\"sticky bottom-0\">\n {c.map((column) => (\n <Fragment key={column.key}>\n {column.key === \"name\" && <RWATableCell>Totals</RWATableCell>}\n {column.key === \"purchaseProceeds\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalPurchaseProceeds)}\n </RWATableCell>\n )}\n {column.key === \"salesProceeds\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalSalesProceeds)}\n </RWATableCell>\n )}\n {column.key === \"totalDiscount\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalTotalDiscount)}\n </RWATableCell>\n )}\n {column.key === \"realizedSurplus\" && (\n <RWATableCell className=\"text-right\" key={column.key}>\n {handleTableDatum(totalRealizedSurplus)}\n </RWATableCell>\n )}\n {column.key !== \"name\" &&\n column.key !== \"purchaseProceeds\" &&\n column.key !== \"salesProceeds\" &&\n column.key !== \"totalDiscount\" &&\n column.key !== \"realizedSurplus\" && <RWATableCell />}\n </Fragment>\n ))}\n </RWATableRow>\n ),\n [\n selectedTableItem,\n totalPurchaseProceeds,\n totalRealizedSurplus,\n totalSalesProceeds,\n totalTotalDiscount,\n ],\n );\n\n return (\n <TableWithForm\n specialFirstRow={specialFirstRow}\n specialLastRow={specialLastRow}\n tableName={tableName}\n />\n );\n}\n"],"names":["AssetsTable","tableName","tableNames","selectedTableItem","fixedIncomes","cashAsset","useEditorContext","cashAssetFormattedAsTableItem","useMemo","totalPurchaseProceeds","sumTotalForProperty","totalSalesProceeds","totalTotalDiscount","totalRealizedSurplus","specialFirstRow","useCallback","c","jsx","RWATableRow","column","jsxs","Fragment","RWATableCell","handleTableDatum","specialLastRow","TableWithForm"],"mappings":";;;;;;;;;AAYO,SAASA,IAAc;AAC5B,QAAMC,IAAYC,EAAW,OACvB,EAAE,mBAAAC,GAAmB,cAAAC,GAAc,WAAAC,EAAA,IAAcC,EAAiB,GAElEC,IAAgCC;AAAA,IACpC,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,UAAUH,EAAU,WAAW;AAAA,MAC/B,cAAc;AAAA,MACd,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,eAAe;AAAA,MACf,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAAA;AAAA,IAEhB,CAACA,EAAU,OAAO;AAAA,EACpB,GAEMI,IAAwBC;AAAA,IAC5BN;AAAA,IACA;AAAA,EACF,GACMO,IAAqBD,EAAoBN,GAAc,eAAe,GACtEQ,IAAqBF,EAAoBN,GAAc,eAAe,GACtES,IAAuBH;AAAA,IAC3BN;AAAA,IACA;AAAA,EACF,GAEMU,IAAkBC;AAAA,IACtB,CAACC,MACE,gBAAAC,EAAAC,GAAA,EACE,YAAE,IAAI,CAACC,MACN,gBAAAC,EAACC,GACE,EAAA,UAAA;AAAA,MAAAF,EAAO,QAAQ,UAAW,gBAAAF,EAAAK,GAAA,EAAa,UAAS,aAAA;AAAA,MAChDH,EAAO,QAAQ,cACd,gBAAAF,EAACK,KAAa,WAAU,cACrB,UAAiBC,EAAAhB,EAA8BY,EAAO,GAAG,CAAC,EAAA,GADnBA,EAAO,GAEjD;AAAA,MAEDA,EAAO,QAAQ,UAAUA,EAAO,QAAQ,gCACtCG,GAAa,CAAA,CAAA;AAAA,IARH,EAAA,GAAAH,EAAO,GAUtB,CACD,GACH;AAAA,IAEF,CAACZ,CAA6B;AAAA,EAChC,GAEMiB,IAAiBT;AAAA,IACrB,CAACC,MACC,gBAAAC,EAACC,GAAY,EAAA,WAAU,mBACpB,UAAAF,EAAE,IAAI,CAACG,MACN,gBAAAC,EAACC,GACE,EAAA,UAAA;AAAA,MAAAF,EAAO,QAAQ,UAAW,gBAAAF,EAAAK,GAAA,EAAa,UAAM,UAAA;AAAA,MAC7CH,EAAO,QAAQ,sBACb,gBAAAF,EAAAK,GAAA,EAAa,WAAU,cACrB,UAAiBC,EAAAd,CAAqB,EADC,GAAAU,EAAO,GAEjD;AAAA,MAEDA,EAAO,QAAQ,mBACb,gBAAAF,EAAAK,GAAA,EAAa,WAAU,cACrB,UAAiBC,EAAAZ,CAAkB,EADI,GAAAQ,EAAO,GAEjD;AAAA,MAEDA,EAAO,QAAQ,mBACb,gBAAAF,EAAAK,GAAA,EAAa,WAAU,cACrB,UAAiBC,EAAAX,CAAkB,EADI,GAAAO,EAAO,GAEjD;AAAA,MAEDA,EAAO,QAAQ,qBACb,gBAAAF,EAAAK,GAAA,EAAa,WAAU,cACrB,UAAiBC,EAAAV,CAAoB,EADE,GAAAM,EAAO,GAEjD;AAAA,MAEDA,EAAO,QAAQ,UACdA,EAAO,QAAQ,sBACfA,EAAO,QAAQ,mBACfA,EAAO,QAAQ,mBACfA,EAAO,QAAQ,uCAAsBG,GAAa,CAAA,CAAA;AAAA,IA1BvC,EAAA,GAAAH,EAAO,GA2BtB,CACD,GACH;AAAA,IAEF;AAAA,MACEhB;AAAA,MACAM;AAAA,MACAI;AAAA,MACAF;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AAGE,SAAA,gBAAAK;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,iBAAAX;AAAA,MACA,gBAAAU;AAAA,MACA,WAAAvB;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatted-number.js","sources":["../../../../../src/rwa/components/table/base/formatted-number.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef } from \"react\";\nimport { NumericFormat } from \"react-number-format\";\n\ntype Props = Omit<\n ComponentPropsWithoutRef<typeof NumericFormat>,\n \"displayType\"\n> & {\n readonly currency?: \"USD\";\n};\n\nexport function FormattedNumber(props: Props) {\n const {\n value,\n currency,\n decimalScale = 2,\n thousandSeparator = \",\",\n fixedDecimalScale = true,\n } = props;\n\n const prefix = currency === \"USD\" ? \"$\" : undefined;\n\n return (\n <NumericFormat\n decimalScale={decimalScale}\n displayType=\"text\"\n fixedDecimalScale={fixedDecimalScale}\n prefix={prefix}\n thousandSeparator={thousandSeparator}\n value={value}\n />\n );\n}\n"],"names":["FormattedNumber","props","value","currency","decimalScale","thousandSeparator","fixedDecimalScale","jsx","NumericFormat"],"mappings":";;AAUO,SAASA,EAAgBC,GAAc;AACtC,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,mBAAAC,IAAoB;AAAA,IACpB,mBAAAC,IAAoB;AAAA,
|
|
1
|
+
{"version":3,"file":"formatted-number.js","sources":["../../../../../src/rwa/components/table/base/formatted-number.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef } from \"react\";\nimport { NumericFormat } from \"react-number-format\";\n\ntype Props = Omit<\n ComponentPropsWithoutRef<typeof NumericFormat>,\n \"displayType\"\n> & {\n readonly currency?: \"USD\";\n};\n\nexport function FormattedNumber(props: Props) {\n const {\n value,\n currency,\n decimalScale = 2,\n thousandSeparator = \",\",\n fixedDecimalScale = true,\n } = props;\n\n const prefix = currency === \"USD\" ? \"$\" : undefined;\n\n return (\n <NumericFormat\n decimalScale={decimalScale}\n displayType=\"text\"\n fixedDecimalScale={fixedDecimalScale}\n prefix={prefix}\n thousandSeparator={thousandSeparator}\n value={value}\n />\n );\n}\n"],"names":["FormattedNumber","props","value","currency","decimalScale","thousandSeparator","fixedDecimalScale","jsx","NumericFormat"],"mappings":";;AAUO,SAASA,EAAgBC,GAAc;AACtC,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,mBAAAC,IAAoB;AAAA,IACpB,mBAAAC,IAAoB;AAAA,EAAA,IAClBL;AAKF,SAAA,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,cAAAJ;AAAA,MACA,aAAY;AAAA,MACZ,mBAAAE;AAAA,MACA,QAPWH,MAAa,QAAQ,MAAM;AAAA,MAQtC,mBAAAE;AAAA,MACA,OAAAH;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-label.js","sources":["../../../../../src/rwa/components/table/base/header-label.tsx"],"sourcesContent":["import { DivProps } from \"@/powerhouse\";\nimport React from \"react\";\n\nexport interface RWATableHeaderLabelProps extends DivProps {\n readonly label?: React.ReactNode;\n}\n\nexport const RWATableHeaderLabel: React.FC<RWATableHeaderLabelProps> = (\n props,\n) => {\n const { label, ...divProps } = props;\n\n return (\n <th scope=\"col\" {...divProps}>\n {label}\n </th>\n );\n};\n"],"names":["RWATableHeaderLabel","props","label","divProps"],"mappings":";AAOa,MAAAA,IAA0D,CACrEC,MACG;AACH,QAAM,EAAE,OAAAC,GAAO,GAAGC,EAAA,IAAaF;AAE/B,2BACG,MAAG,EAAA,OAAM,OAAO,GAAGE,GACjB,UACHD,
|
|
1
|
+
{"version":3,"file":"header-label.js","sources":["../../../../../src/rwa/components/table/base/header-label.tsx"],"sourcesContent":["import { DivProps } from \"@/powerhouse\";\nimport React from \"react\";\n\nexport interface RWATableHeaderLabelProps extends DivProps {\n readonly label?: React.ReactNode;\n}\n\nexport const RWATableHeaderLabel: React.FC<RWATableHeaderLabelProps> = (\n props,\n) => {\n const { label, ...divProps } = props;\n\n return (\n <th scope=\"col\" {...divProps}>\n {label}\n </th>\n );\n};\n"],"names":["RWATableHeaderLabel","props","label","divProps"],"mappings":";AAOa,MAAAA,IAA0D,CACrEC,MACG;AACH,QAAM,EAAE,OAAAC,GAAO,GAAGC,EAAA,IAAaF;AAE/B,2BACG,MAAG,EAAA,OAAM,OAAO,GAAGE,GACjB,UACHD,GAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-details.js","sources":["../../../../../src/rwa/components/table/base/item-details.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport {\n FormInputs,\n RWAButton,\n tableLabels,\n TableName,\n useDependentItemProps,\n useEditorContext,\n useModal,\n useTableForm,\n} from \"@/rwa\";\nimport { memo, useCallback } from \"react\";\n\ntype Props = {\n readonly tableName: TableName;\n};\nfunction _ItemDetails(props: Props) {\n const { tableName } = props;\n const { showModal, closeModal } = useModal();\n\n const {\n selectedTableItem,\n operation,\n viewItem,\n editItem,\n clearSelected,\n handleAction,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n principalLenderAccountId,\n } = useEditorContext();\n\n const dependentItemProps = useDependentItemProps(\n tableName,\n selectedTableItem?.id,\n );\n const hasDependentItems = dependentItemProps.some(\n (p) => p.dependentItems.length > 0,\n );\n\n const isEditOperation = operation === \"edit\";\n const isCreateOperation = operation === \"create\";\n const isViewOperation = operation === \"view\";\n const isAllowedToCreateOrEdit =\n isAllowedToCreateDocuments || isAllowedToEditDocuments;\n const isPrincipalLenderAccount =\n tableName === \"ACCOUNT\" &&\n selectedTableItem?.id === principalLenderAccountId;\n const isAllowedToDeleteItem = !isPrincipalLenderAccount;\n const showCancelButton = !isViewOperation && isAllowedToCreateOrEdit;\n const showSubmitButton = !isViewOperation && isAllowedToCreateOrEdit;\n const showDeleteButton =\n isEditOperation && isAllowedToEditDocuments && isAllowedToDeleteItem;\n const showEditButton = isViewOperation && isAllowedToEditDocuments;\n const showCloseButton = isViewOperation;\n\n const tableLabel = tableLabels[tableName];\n\n const {\n submit,\n reset,\n formInputs: { inputs, additionalInputs },\n } = useTableForm({\n tableName,\n tableItem: selectedTableItem,\n operation,\n });\n\n const handleClose = useCallback(() => {\n reset();\n clearSelected();\n }, [clearSelected, reset]);\n\n const handleCancel = useCallback(() => {\n if (operation === \"edit\" && !!selectedTableItem) {\n viewItem(selectedTableItem, tableName);\n return;\n }\n handleClose();\n }, [handleClose, operation, selectedTableItem, tableName, viewItem]);\n\n const showDeleteModal = useCallback(() => {\n if (!isAllowedToDeleteItem || !hasDependentItems) return;\n\n showModal(\"deleteItem\", {\n tableName,\n dependentItemProps,\n });\n }, [\n isAllowedToDeleteItem,\n hasDependentItems,\n showModal,\n tableName,\n dependentItemProps,\n ]);\n\n const handleDelete = useCallback(() => {\n if (!selectedTableItem) return;\n\n if (hasDependentItems) {\n showDeleteModal();\n return;\n }\n\n const editorDeleteActionType = `DELETE_${tableName}` as const;\n handleAction({\n type: editorDeleteActionType,\n payload: selectedTableItem,\n });\n clearSelected();\n closeModal();\n }, [\n selectedTableItem,\n hasDependentItems,\n tableName,\n handleAction,\n clearSelected,\n closeModal,\n showDeleteModal,\n ]);\n\n const onEditButtonClick = useCallback(() => {\n if (!selectedTableItem) return;\n editItem(selectedTableItem, tableName);\n }, [selectedTableItem, editItem, tableName]);\n\n const closeButton = (\n <RWAButton className=\"text-gray-600\" onClick={handleClose}>\n Close\n </RWAButton>\n );\n\n const cancelButton = (\n <RWAButton className=\"text-gray-600\" onClick={handleCancel}>\n Cancel\n </RWAButton>\n );\n\n const submitButton = (\n <RWAButton\n icon={<Icon name=\"Save\" size={16} />}\n iconPosition=\"right\"\n onClick={submit}\n >\n {isCreateOperation ? \"Save\" : \"Save Edits\"}\n </RWAButton>\n );\n\n const deleteButton = (\n <button onClick={handleDelete}>\n <Icon className=\"ml-3 text-red-800\" name=\"Trash\" size={22} />\n </button>\n );\n\n const editButton = (\n <RWAButton\n icon={<Icon name=\"Pencil\" size={16} />}\n iconPosition=\"right\"\n onClick={onEditButtonClick}\n >\n Edit {tableLabel}\n </RWAButton>\n );\n\n return (\n <div className=\"flex flex-col rounded-md border border-gray-300 bg-white\">\n <div className=\"flex justify-between rounded-t-md border-b border-gray-300 bg-gray-100 p-3 font-semibold text-gray-800\">\n <div className=\"flex items-center\">\n {selectedTableItem?.itemNumber\n ? `${tableLabel} #${selectedTableItem.itemNumber}`\n : `New ${tableLabel}`}\n </div>\n <div className=\"flex gap-x-2\">\n {showCancelButton ? cancelButton : null}\n {showCloseButton ? closeButton : null}\n {showSubmitButton ? submitButton : null}\n {showDeleteButton ? deleteButton : null}\n {showEditButton ? editButton : null}\n </div>\n </div>\n <FormInputs inputs={inputs} />\n {additionalInputs}\n </div>\n );\n}\n\nexport const ItemDetails = memo(_ItemDetails);\n"],"names":["_ItemDetails","props","tableName","showModal","closeModal","useModal","selectedTableItem","operation","viewItem","editItem","clearSelected","handleAction","isAllowedToCreateDocuments","isAllowedToEditDocuments","principalLenderAccountId","useEditorContext","dependentItemProps","useDependentItemProps","hasDependentItems","p","isEditOperation","isCreateOperation","isViewOperation","isAllowedToCreateOrEdit","isAllowedToDeleteItem","showCancelButton","showSubmitButton","showDeleteButton","showEditButton","showCloseButton","tableLabel","tableLabels","submit","reset","inputs","additionalInputs","useTableForm","handleClose","useCallback","handleCancel","showDeleteModal","handleDelete","editorDeleteActionType","onEditButtonClick","closeButton","jsx","RWAButton","cancelButton","submitButton","Icon","deleteButton","editButton","jsxs","FormInputs","ItemDetails","memo"],"mappings":";;;;;;;;;;AAgBA,SAASA,EAAaC,GAAc;AAC5B,QAAA,EAAE,WAAAC,
|
|
1
|
+
{"version":3,"file":"item-details.js","sources":["../../../../../src/rwa/components/table/base/item-details.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport {\n FormInputs,\n RWAButton,\n tableLabels,\n TableName,\n useDependentItemProps,\n useEditorContext,\n useModal,\n useTableForm,\n} from \"@/rwa\";\nimport { memo, useCallback } from \"react\";\n\ntype Props = {\n readonly tableName: TableName;\n};\nfunction _ItemDetails(props: Props) {\n const { tableName } = props;\n const { showModal, closeModal } = useModal();\n\n const {\n selectedTableItem,\n operation,\n viewItem,\n editItem,\n clearSelected,\n handleAction,\n isAllowedToCreateDocuments,\n isAllowedToEditDocuments,\n principalLenderAccountId,\n } = useEditorContext();\n\n const dependentItemProps = useDependentItemProps(\n tableName,\n selectedTableItem?.id,\n );\n const hasDependentItems = dependentItemProps.some(\n (p) => p.dependentItems.length > 0,\n );\n\n const isEditOperation = operation === \"edit\";\n const isCreateOperation = operation === \"create\";\n const isViewOperation = operation === \"view\";\n const isAllowedToCreateOrEdit =\n isAllowedToCreateDocuments || isAllowedToEditDocuments;\n const isPrincipalLenderAccount =\n tableName === \"ACCOUNT\" &&\n selectedTableItem?.id === principalLenderAccountId;\n const isAllowedToDeleteItem = !isPrincipalLenderAccount;\n const showCancelButton = !isViewOperation && isAllowedToCreateOrEdit;\n const showSubmitButton = !isViewOperation && isAllowedToCreateOrEdit;\n const showDeleteButton =\n isEditOperation && isAllowedToEditDocuments && isAllowedToDeleteItem;\n const showEditButton = isViewOperation && isAllowedToEditDocuments;\n const showCloseButton = isViewOperation;\n\n const tableLabel = tableLabels[tableName];\n\n const {\n submit,\n reset,\n formInputs: { inputs, additionalInputs },\n } = useTableForm({\n tableName,\n tableItem: selectedTableItem,\n operation,\n });\n\n const handleClose = useCallback(() => {\n reset();\n clearSelected();\n }, [clearSelected, reset]);\n\n const handleCancel = useCallback(() => {\n if (operation === \"edit\" && !!selectedTableItem) {\n viewItem(selectedTableItem, tableName);\n return;\n }\n handleClose();\n }, [handleClose, operation, selectedTableItem, tableName, viewItem]);\n\n const showDeleteModal = useCallback(() => {\n if (!isAllowedToDeleteItem || !hasDependentItems) return;\n\n showModal(\"deleteItem\", {\n tableName,\n dependentItemProps,\n });\n }, [\n isAllowedToDeleteItem,\n hasDependentItems,\n showModal,\n tableName,\n dependentItemProps,\n ]);\n\n const handleDelete = useCallback(() => {\n if (!selectedTableItem) return;\n\n if (hasDependentItems) {\n showDeleteModal();\n return;\n }\n\n const editorDeleteActionType = `DELETE_${tableName}` as const;\n handleAction({\n type: editorDeleteActionType,\n payload: selectedTableItem,\n });\n clearSelected();\n closeModal();\n }, [\n selectedTableItem,\n hasDependentItems,\n tableName,\n handleAction,\n clearSelected,\n closeModal,\n showDeleteModal,\n ]);\n\n const onEditButtonClick = useCallback(() => {\n if (!selectedTableItem) return;\n editItem(selectedTableItem, tableName);\n }, [selectedTableItem, editItem, tableName]);\n\n const closeButton = (\n <RWAButton className=\"text-gray-600\" onClick={handleClose}>\n Close\n </RWAButton>\n );\n\n const cancelButton = (\n <RWAButton className=\"text-gray-600\" onClick={handleCancel}>\n Cancel\n </RWAButton>\n );\n\n const submitButton = (\n <RWAButton\n icon={<Icon name=\"Save\" size={16} />}\n iconPosition=\"right\"\n onClick={submit}\n >\n {isCreateOperation ? \"Save\" : \"Save Edits\"}\n </RWAButton>\n );\n\n const deleteButton = (\n <button onClick={handleDelete}>\n <Icon className=\"ml-3 text-red-800\" name=\"Trash\" size={22} />\n </button>\n );\n\n const editButton = (\n <RWAButton\n icon={<Icon name=\"Pencil\" size={16} />}\n iconPosition=\"right\"\n onClick={onEditButtonClick}\n >\n Edit {tableLabel}\n </RWAButton>\n );\n\n return (\n <div className=\"flex flex-col rounded-md border border-gray-300 bg-white\">\n <div className=\"flex justify-between rounded-t-md border-b border-gray-300 bg-gray-100 p-3 font-semibold text-gray-800\">\n <div className=\"flex items-center\">\n {selectedTableItem?.itemNumber\n ? `${tableLabel} #${selectedTableItem.itemNumber}`\n : `New ${tableLabel}`}\n </div>\n <div className=\"flex gap-x-2\">\n {showCancelButton ? cancelButton : null}\n {showCloseButton ? closeButton : null}\n {showSubmitButton ? submitButton : null}\n {showDeleteButton ? deleteButton : null}\n {showEditButton ? editButton : null}\n </div>\n </div>\n <FormInputs inputs={inputs} />\n {additionalInputs}\n </div>\n );\n}\n\nexport const ItemDetails = memo(_ItemDetails);\n"],"names":["_ItemDetails","props","tableName","showModal","closeModal","useModal","selectedTableItem","operation","viewItem","editItem","clearSelected","handleAction","isAllowedToCreateDocuments","isAllowedToEditDocuments","principalLenderAccountId","useEditorContext","dependentItemProps","useDependentItemProps","hasDependentItems","p","isEditOperation","isCreateOperation","isViewOperation","isAllowedToCreateOrEdit","isAllowedToDeleteItem","showCancelButton","showSubmitButton","showDeleteButton","showEditButton","showCloseButton","tableLabel","tableLabels","submit","reset","inputs","additionalInputs","useTableForm","handleClose","useCallback","handleCancel","showDeleteModal","handleDelete","editorDeleteActionType","onEditButtonClick","closeButton","jsx","RWAButton","cancelButton","submitButton","Icon","deleteButton","editButton","jsxs","FormInputs","ItemDetails","memo"],"mappings":";;;;;;;;;;AAgBA,SAASA,EAAaC,GAAc;AAC5B,QAAA,EAAE,WAAAC,MAAcD,GAChB,EAAE,WAAAE,GAAW,YAAAC,EAAW,IAAIC,EAAS,GAErC;AAAA,IACJ,mBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,4BAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,0BAAAC;AAAA,MACEC,EAAiB,GAEfC,IAAqBC;AAAA,IACzBf;AAAA,IACAI,KAAA,gBAAAA,EAAmB;AAAA,EACrB,GACMY,IAAoBF,EAAmB;AAAA,IAC3C,CAACG,MAAMA,EAAE,eAAe,SAAS;AAAA,EACnC,GAEMC,IAAkBb,MAAc,QAChCc,IAAoBd,MAAc,UAClCe,IAAkBf,MAAc,QAChCgB,IACJX,KAA8BC,GAI1BW,IAAwB,EAF5BtB,MAAc,cACdI,KAAA,gBAAAA,EAAmB,QAAOQ,IAEtBW,IAAmB,CAACH,KAAmBC,GACvCG,IAAmB,CAACJ,KAAmBC,GACvCI,IACJP,KAAmBP,KAA4BW,GAC3CI,IAAiBN,KAAmBT,GACpCgB,IAAkBP,GAElBQ,IAAaC,EAAY7B,CAAS,GAElC;AAAA,IACJ,QAAA8B;AAAA,IACA,OAAAC;AAAA,IACA,YAAY,EAAE,QAAAC,GAAQ,kBAAAC,EAAiB;AAAA,MACrCC,EAAa;AAAA,IACf,WAAAlC;AAAA,IACA,WAAWI;AAAA,IACX,WAAAC;AAAA,EAAA,CACD,GAEK8B,IAAcC,EAAY,MAAM;AAC9B,IAAAL,EAAA,GACQvB,EAAA;AAAA,EAAA,GACb,CAACA,GAAeuB,CAAK,CAAC,GAEnBM,IAAeD,EAAY,MAAM;AACrC,QAAI/B,MAAc,UAAYD,GAAmB;AAC/C,MAAAE,EAASF,GAAmBJ,CAAS;AACrC;AAAA,IAAA;AAEU,IAAAmC,EAAA;AAAA,EAAA,GACX,CAACA,GAAa9B,GAAWD,GAAmBJ,GAAWM,CAAQ,CAAC,GAE7DgC,IAAkBF,EAAY,MAAM;AACpC,IAAA,CAACd,KAAyB,CAACN,KAE/Bf,EAAU,cAAc;AAAA,MACtB,WAAAD;AAAA,MACA,oBAAAc;AAAA,IAAA,CACD;AAAA,EAAA,GACA;AAAA,IACDQ;AAAA,IACAN;AAAA,IACAf;AAAA,IACAD;AAAA,IACAc;AAAA,EAAA,CACD,GAEKyB,IAAeH,EAAY,MAAM;AACrC,QAAI,CAAChC,EAAmB;AAExB,QAAIY,GAAmB;AACL,MAAAsB,EAAA;AAChB;AAAA,IAAA;AAGI,UAAAE,IAAyB,UAAUxC,CAAS;AACrC,IAAAS,EAAA;AAAA,MACX,MAAM+B;AAAA,MACN,SAASpC;AAAA,IAAA,CACV,GACaI,EAAA,GACHN,EAAA;AAAA,EAAA,GACV;AAAA,IACDE;AAAA,IACAY;AAAA,IACAhB;AAAA,IACAS;AAAA,IACAD;AAAA,IACAN;AAAA,IACAoC;AAAA,EAAA,CACD,GAEKG,IAAoBL,EAAY,MAAM;AAC1C,IAAKhC,KACLG,EAASH,GAAmBJ,CAAS;AAAA,EACpC,GAAA,CAACI,GAAmBG,GAAUP,CAAS,CAAC,GAErC0C,IACH,gBAAAC,EAAAC,GAAA,EAAU,WAAU,iBAAgB,SAAST,GAAa,UAE3D,SAAA,GAGIU,IACH,gBAAAF,EAAAC,GAAA,EAAU,WAAU,iBAAgB,SAASP,GAAc,UAE5D,UAAA,GAGIS,IACJ,gBAAAH;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAO,gBAAAD,EAAAI,GAAA,EAAK,MAAK,QAAO,MAAM,IAAI;AAAA,MAClC,cAAa;AAAA,MACb,SAASjB;AAAA,MAER,cAAoB,SAAS;AAAA,IAAA;AAAA,EAChC,GAGIkB,IACJ,gBAAAL,EAAC,UAAO,EAAA,SAASJ,GACf,UAAA,gBAAAI,EAACI,GAAK,EAAA,WAAU,qBAAoB,MAAK,SAAQ,MAAM,GAAI,CAAA,GAC7D,GAGIE,IACJ,gBAAAC;AAAA,IAACN;AAAA,IAAA;AAAA,MACC,MAAO,gBAAAD,EAAAI,GAAA,EAAK,MAAK,UAAS,MAAM,IAAI;AAAA,MACpC,cAAa;AAAA,MACb,SAASN;AAAA,MACV,UAAA;AAAA,QAAA;AAAA,QACOb;AAAA,MAAA;AAAA,IAAA;AAAA,EACR;AAIA,SAAA,gBAAAsB,EAAC,OAAI,EAAA,WAAU,4DACb,UAAA;AAAA,IAAC,gBAAAA,EAAA,OAAA,EAAI,WAAU,0GACb,UAAA;AAAA,MAAA,gBAAAP,EAAC,OAAI,EAAA,WAAU,qBACZ,UAAAvC,KAAA,QAAAA,EAAmB,aAChB,GAAGwB,CAAU,KAAKxB,EAAkB,UAAU,KAC9C,OAAOwB,CAAU,IACvB;AAAA,MACA,gBAAAsB,EAAC,OAAI,EAAA,WAAU,gBACZ,UAAA;AAAA,QAAA3B,IAAmBsB,IAAe;AAAA,QAClClB,IAAkBe,IAAc;AAAA,QAChClB,IAAmBsB,IAAe;AAAA,QAClCrB,IAAmBuB,IAAe;AAAA,QAClCtB,IAAiBuB,IAAa;AAAA,MAAA,EACjC,CAAA;AAAA,IAAA,GACF;AAAA,IACA,gBAAAN,EAACQ,KAAW,QAAAnB,GAAgB;AAAA,IAC3BC;AAAA,EAAA,GACH;AAEJ;AAEa,MAAAmB,KAAcC,EAAKvD,CAAY;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-base.js","sources":["../../../../../src/rwa/components/table/base/table-base.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport { SortDirection, TableBaseProps } from \"@/rwa\";\nimport { Order } from \"natural-orderby\";\nimport React, { forwardRef, useState } from \"react\";\nimport { twJoin, twMerge } from \"tailwind-merge\";\n\n/**\n * Base table component\n *\n * @type TItem - Table item type, any record with an \"id\" field and any string keys\n * @type TableColumn - Specifies how to render a column. Must have a `key` which is a key of TItem, and a `label` which is the column header\n * @param tableData - Array of data to display, data must satisfy TItem\n * @param columns - Array of columns to display, column must satisfy TableColumn. The columns will be displayed in the order they are provided. Use the `useColumnPriority` hook to handle dropping columns for smaller screens.\n * @param children - Content to render above the table rows\n * @param footer - Content to render below the table rows\n * @param renderRow - Function to render a row, must return a React element\n * @param onClickSort - Function to handle sorting, called with key and direction\n * @param hasExpandedRow - Whether the table has an expanded row\n * @param specialFirstRow - Function to render a special first row (like the cash asset for instance), must return a React element\n */\nexport const TableBase = forwardRef(function TableBase(\n props: TableBaseProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n tableData,\n columns,\n footer,\n renderRow,\n onClickSort,\n specialFirstRow,\n specialLastRow,\n maxHeight,\n headerRef,\n hasSelectedItem,\n } = props;\n\n const [sortDirection, setSortDirection] = useState<SortDirection | null>(\n null,\n );\n const [sortKey, setSortKey] = useState<string | null>(null);\n\n return (\n <>\n <div\n className={twJoin(\n \"relative rounded-lg border border-gray-300 bg-white\",\n hasSelectedItem ? \"overflow-hidden\" : \"overflow-scroll\",\n )}\n ref={ref}\n style={{ maxHeight }}\n >\n <table className=\"w-full\">\n <thead\n className=\"sticky top-0 isolate select-none text-nowrap border-b border-gray-300 bg-gray-100\"\n ref={headerRef}\n >\n <tr>\n {columns.map((column) => (\n <th\n className={twMerge(\n \"group border-l border-gray-300 py-3 pl-3 text-start text-xs font-medium text-gray-600 first:border-l-0\",\n column.allowSorting && \"cursor-pointer hover:text-gray-900\",\n )}\n key={column.key}\n onClick={() => {\n if (!column.allowSorting) return;\n let sortDir: Order = \"asc\";\n\n if (sortKey === column.key && sortDirection === \"asc\") {\n sortDir = \"desc\";\n }\n\n setSortDirection(sortDir);\n setSortKey(column.key);\n\n onClickSort(column.key, sortDir);\n }}\n >\n <div\n className={twMerge(\n \"group flex items-center\",\n column.isNumberColumn && \"justify-end\",\n )}\n >\n {column.label}\n {column.allowSorting ? (\n <Icon\n className={twMerge(\n \"invisible ml-1 rotate-90\",\n sortKey === column.key && \"group-hover:visible\",\n sortDirection === \"asc\" && \"rotate-[270deg]\",\n )}\n name=\"ArrowFilledRight\"\n size={6}\n />\n ) : null}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {children}\n {specialFirstRow?.(columns)}\n {tableData?.map((item, index) => renderRow(item, columns, index))}\n {specialLastRow?.(columns)}\n </tbody>\n </table>\n </div>\n {footer}\n </>\n );\n});\n"],"names":["TableBase","forwardRef","props","ref","children","tableData","columns","footer","renderRow","onClickSort","specialFirstRow","specialLastRow","maxHeight","headerRef","hasSelectedItem","sortDirection","setSortDirection","useState","sortKey","setSortKey","jsxs","Fragment","jsx","twJoin","column","twMerge","sortDir","Icon","item","index"],"mappings":";;;;AAoBO,MAAMA,IAAYC,EAAW,SAClCC,GACAC,GACA;AACM,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAC;AAAA,
|
|
1
|
+
{"version":3,"file":"table-base.js","sources":["../../../../../src/rwa/components/table/base/table-base.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport { SortDirection, TableBaseProps } from \"@/rwa\";\nimport { Order } from \"natural-orderby\";\nimport React, { forwardRef, useState } from \"react\";\nimport { twJoin, twMerge } from \"tailwind-merge\";\n\n/**\n * Base table component\n *\n * @type TItem - Table item type, any record with an \"id\" field and any string keys\n * @type TableColumn - Specifies how to render a column. Must have a `key` which is a key of TItem, and a `label` which is the column header\n * @param tableData - Array of data to display, data must satisfy TItem\n * @param columns - Array of columns to display, column must satisfy TableColumn. The columns will be displayed in the order they are provided. Use the `useColumnPriority` hook to handle dropping columns for smaller screens.\n * @param children - Content to render above the table rows\n * @param footer - Content to render below the table rows\n * @param renderRow - Function to render a row, must return a React element\n * @param onClickSort - Function to handle sorting, called with key and direction\n * @param hasExpandedRow - Whether the table has an expanded row\n * @param specialFirstRow - Function to render a special first row (like the cash asset for instance), must return a React element\n */\nexport const TableBase = forwardRef(function TableBase(\n props: TableBaseProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n tableData,\n columns,\n footer,\n renderRow,\n onClickSort,\n specialFirstRow,\n specialLastRow,\n maxHeight,\n headerRef,\n hasSelectedItem,\n } = props;\n\n const [sortDirection, setSortDirection] = useState<SortDirection | null>(\n null,\n );\n const [sortKey, setSortKey] = useState<string | null>(null);\n\n return (\n <>\n <div\n className={twJoin(\n \"relative rounded-lg border border-gray-300 bg-white\",\n hasSelectedItem ? \"overflow-hidden\" : \"overflow-scroll\",\n )}\n ref={ref}\n style={{ maxHeight }}\n >\n <table className=\"w-full\">\n <thead\n className=\"sticky top-0 isolate select-none text-nowrap border-b border-gray-300 bg-gray-100\"\n ref={headerRef}\n >\n <tr>\n {columns.map((column) => (\n <th\n className={twMerge(\n \"group border-l border-gray-300 py-3 pl-3 text-start text-xs font-medium text-gray-600 first:border-l-0\",\n column.allowSorting && \"cursor-pointer hover:text-gray-900\",\n )}\n key={column.key}\n onClick={() => {\n if (!column.allowSorting) return;\n let sortDir: Order = \"asc\";\n\n if (sortKey === column.key && sortDirection === \"asc\") {\n sortDir = \"desc\";\n }\n\n setSortDirection(sortDir);\n setSortKey(column.key);\n\n onClickSort(column.key, sortDir);\n }}\n >\n <div\n className={twMerge(\n \"group flex items-center\",\n column.isNumberColumn && \"justify-end\",\n )}\n >\n {column.label}\n {column.allowSorting ? (\n <Icon\n className={twMerge(\n \"invisible ml-1 rotate-90\",\n sortKey === column.key && \"group-hover:visible\",\n sortDirection === \"asc\" && \"rotate-[270deg]\",\n )}\n name=\"ArrowFilledRight\"\n size={6}\n />\n ) : null}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {children}\n {specialFirstRow?.(columns)}\n {tableData?.map((item, index) => renderRow(item, columns, index))}\n {specialLastRow?.(columns)}\n </tbody>\n </table>\n </div>\n {footer}\n </>\n );\n});\n"],"names":["TableBase","forwardRef","props","ref","children","tableData","columns","footer","renderRow","onClickSort","specialFirstRow","specialLastRow","maxHeight","headerRef","hasSelectedItem","sortDirection","setSortDirection","useState","sortKey","setSortKey","jsxs","Fragment","jsx","twJoin","column","twMerge","sortDir","Icon","item","index"],"mappings":";;;;AAoBO,MAAMA,IAAYC,EAAW,SAClCC,GACAC,GACA;AACM,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACEZ,GAEE,CAACa,GAAeC,CAAgB,IAAIC;AAAA,IACxC;AAAA,EACF,GACM,CAACC,GAASC,CAAU,IAAIF,EAAwB,IAAI;AAE1D,SAEI,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACAT,IAAkB,oBAAoB;AAAA,QACxC;AAAA,QACA,KAAAX;AAAA,QACA,OAAO,EAAE,WAAAS,EAAU;AAAA,QAEnB,UAAA,gBAAAQ,EAAC,SAAM,EAAA,WAAU,UACf,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,KAAKT;AAAA,cAEL,UAAC,gBAAAS,EAAA,MAAA,EACE,UAAQhB,EAAA,IAAI,CAACkB,MACZ,gBAAAF;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWG;AAAA,oBACT;AAAA,oBACAD,EAAO,gBAAgB;AAAA,kBACzB;AAAA,kBAEA,SAAS,MAAM;AACT,wBAAA,CAACA,EAAO,aAAc;AAC1B,wBAAIE,IAAiB;AAErB,oBAAIR,MAAYM,EAAO,OAAOT,MAAkB,UACpCW,IAAA,SAGZV,EAAiBU,CAAO,GACxBP,EAAWK,EAAO,GAAG,GAETf,EAAAe,EAAO,KAAKE,CAAO;AAAA,kBACjC;AAAA,kBAEA,UAAA,gBAAAN;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAWK;AAAA,wBACT;AAAA,wBACAD,EAAO,kBAAkB;AAAA,sBAC3B;AAAA,sBAEC,UAAA;AAAA,wBAAOA,EAAA;AAAA,wBACPA,EAAO,eACN,gBAAAF;AAAA,0BAACK;AAAA,0BAAA;AAAA,4BACC,WAAWF;AAAA,8BACT;AAAA,8BACAP,MAAYM,EAAO,OAAO;AAAA,8BAC1BT,MAAkB,SAAS;AAAA,4BAC7B;AAAA,4BACA,MAAK;AAAA,4BACL,MAAM;AAAA,0BAAA;AAAA,wBAAA,IAEN;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACN;AAAA,gBAjCKS,EAAO;AAAA,cAAA,CAmCf,EACH,CAAA;AAAA,YAAA;AAAA,UACF;AAAA,4BACC,SACE,EAAA,UAAA;AAAA,YAAApB;AAAA,YACAM,KAAA,gBAAAA,EAAkBJ;AAAA,YAClBD,KAAA,gBAAAA,EAAW,IAAI,CAACuB,GAAMC,MAAUrB,EAAUoB,GAAMtB,GAASuB,CAAK;AAAA,YAC9DlB,KAAA,gBAAAA,EAAiBL;AAAA,UAAO,EAC3B,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACCC;AAAA,EAAA,GACH;AAEJ,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-cell.js","sources":["../../../../../src/rwa/components/table/base/table-cell.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport { TableItemType, TableName, useEditorContext } from \"@/rwa\";\nimport React, { ComponentPropsWithoutRef, useCallback } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const RWATableCell: React.FC<ComponentPropsWithoutRef<\"td\">> = (\n props,\n) => (\n <td\n {...props}\n className={twMerge(\n \"truncate border-l border-gray-300 px-3 py-2 text-xs font-medium text-gray-900 first:border-l-0\",\n props.className,\n )}\n />\n);\n\nexport function ItemNumberCell(props: { readonly itemNumber: number }) {\n return <RWATableCell className=\"w-4\">{props.itemNumber}</RWATableCell>;\n}\n\nexport function MoreDetailsCell(props: {\n readonly isSelected: boolean;\n readonly tableName: TableName;\n readonly tableItem: TableItemType<TableName>;\n}) {\n const { isSelected, tableName, tableItem } = props;\n const { viewItem, clearSelected } = useEditorContext();\n\n const onClick = useCallback(() => {\n if (isSelected) {\n clearSelected();\n return;\n }\n viewItem(tableItem, tableName);\n }, [clearSelected, isSelected, tableItem, tableName, viewItem]);\n\n return (\n <RWATableCell className=\"w-4\">\n <button\n className=\"flex size-full items-center justify-center\"\n onClick={onClick}\n >\n <Icon\n className={twMerge(\"text-gray-600\", isSelected && \"rotate-180\")}\n name=\"CaretDown\"\n size={16}\n />\n </button>\n </RWATableCell>\n );\n}\n"],"names":["RWATableCell","props","jsx","twMerge","ItemNumberCell","MoreDetailsCell","isSelected","tableName","tableItem","viewItem","clearSelected","useEditorContext","onClick","useCallback","Icon"],"mappings":";;;;;AAKa,MAAAA,IAAyD,CACpEC,MAEA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACE,GAAGD;AAAA,IACJ,WAAWE;AAAA,MACT;AAAA,MACAF,EAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"table-cell.js","sources":["../../../../../src/rwa/components/table/base/table-cell.tsx"],"sourcesContent":["import { Icon } from \"@/powerhouse\";\nimport { TableItemType, TableName, useEditorContext } from \"@/rwa\";\nimport React, { ComponentPropsWithoutRef, useCallback } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const RWATableCell: React.FC<ComponentPropsWithoutRef<\"td\">> = (\n props,\n) => (\n <td\n {...props}\n className={twMerge(\n \"truncate border-l border-gray-300 px-3 py-2 text-xs font-medium text-gray-900 first:border-l-0\",\n props.className,\n )}\n />\n);\n\nexport function ItemNumberCell(props: { readonly itemNumber: number }) {\n return <RWATableCell className=\"w-4\">{props.itemNumber}</RWATableCell>;\n}\n\nexport function MoreDetailsCell(props: {\n readonly isSelected: boolean;\n readonly tableName: TableName;\n readonly tableItem: TableItemType<TableName>;\n}) {\n const { isSelected, tableName, tableItem } = props;\n const { viewItem, clearSelected } = useEditorContext();\n\n const onClick = useCallback(() => {\n if (isSelected) {\n clearSelected();\n return;\n }\n viewItem(tableItem, tableName);\n }, [clearSelected, isSelected, tableItem, tableName, viewItem]);\n\n return (\n <RWATableCell className=\"w-4\">\n <button\n className=\"flex size-full items-center justify-center\"\n onClick={onClick}\n >\n <Icon\n className={twMerge(\"text-gray-600\", isSelected && \"rotate-180\")}\n name=\"CaretDown\"\n size={16}\n />\n </button>\n </RWATableCell>\n );\n}\n"],"names":["RWATableCell","props","jsx","twMerge","ItemNumberCell","MoreDetailsCell","isSelected","tableName","tableItem","viewItem","clearSelected","useEditorContext","onClick","useCallback","Icon"],"mappings":";;;;;AAKa,MAAAA,IAAyD,CACpEC,MAEA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACE,GAAGD;AAAA,IACJ,WAAWE;AAAA,MACT;AAAA,MACAF,EAAM;AAAA,IAAA;AAAA,EACR;AACF;AAGK,SAASG,EAAeH,GAAwC;AACrE,SAAQ,gBAAAC,EAAAF,GAAA,EAAa,WAAU,OAAO,YAAM,YAAW;AACzD;AAEO,SAASK,EAAgBJ,GAI7B;AACD,QAAM,EAAE,YAAAK,GAAY,WAAAC,GAAW,WAAAC,EAAc,IAAAP,GACvC,EAAE,UAAAQ,GAAU,eAAAC,EAAc,IAAIC,EAAiB,GAE/CC,IAAUC,EAAY,MAAM;AAChC,QAAIP,GAAY;AACA,MAAAI,EAAA;AACd;AAAA,IAAA;AAEF,IAAAD,EAASD,GAAWD,CAAS;AAAA,EAAA,GAC5B,CAACG,GAAeJ,GAAYE,GAAWD,GAAWE,CAAQ,CAAC;AAG5D,SAAA,gBAAAP,EAACF,GAAa,EAAA,WAAU,OACtB,UAAA,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAAU;AAAA,MAEA,UAAA,gBAAAV;AAAA,QAACY;AAAA,QAAA;AAAA,UACC,WAAWX,EAAQ,iBAAiBG,KAAc,YAAY;AAAA,UAC9D,MAAK;AAAA,UACL,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-row.js","sources":["../../../../../src/rwa/components/table/base/table-row.tsx"],"sourcesContent":["import { ComponentPropsWithRef, forwardRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type RWATableRowProps = ComponentPropsWithRef<\"tr\">;\n\nexport const RWATableRow = forwardRef(function RWATableRow(\n props: RWATableRowProps,\n ref: React.Ref<HTMLTableRowElement>,\n) {\n const { children, className, ...delegated } = props;\n\n return (\n <tr\n {...delegated}\n className={twMerge(\"odd:bg-white even:bg-gray-50\", className)}\n ref={ref}\n >\n {children}\n </tr>\n );\n});\n"],"names":["RWATableRow","forwardRef","props","ref","children","className","delegated","jsx","twMerge"],"mappings":";;;AAKO,MAAMA,IAAcC,EAAW,SACpCC,GACAC,GACA;AACA,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,
|
|
1
|
+
{"version":3,"file":"table-row.js","sources":["../../../../../src/rwa/components/table/base/table-row.tsx"],"sourcesContent":["import { ComponentPropsWithRef, forwardRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type RWATableRowProps = ComponentPropsWithRef<\"tr\">;\n\nexport const RWATableRow = forwardRef(function RWATableRow(\n props: RWATableRowProps,\n ref: React.Ref<HTMLTableRowElement>,\n) {\n const { children, className, ...delegated } = props;\n\n return (\n <tr\n {...delegated}\n className={twMerge(\"odd:bg-white even:bg-gray-50\", className)}\n ref={ref}\n >\n {children}\n </tr>\n );\n});\n"],"names":["RWATableRow","forwardRef","props","ref","children","className","delegated","jsx","twMerge"],"mappings":";;;AAKO,MAAMA,IAAcC,EAAW,SACpCC,GACAC,GACA;AACA,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAc,IAAAJ;AAG5C,SAAA,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGD;AAAA,MACJ,WAAWE,EAAQ,gCAAgCH,CAAS;AAAA,MAC5D,KAAAF;AAAA,MAEC,UAAAC;AAAA,IAAA;AAAA,EACH;AAEJ,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-with-form.js","sources":["../../../../../src/rwa/components/table/base/table-with-form.tsx"],"sourcesContent":["import { Pagination, usePagination } from \"@/powerhouse\";\nimport {\n ItemDetails,\n Table,\n TableColumn,\n TableName,\n useEditorContext,\n useTableData,\n} from \"@/rwa\";\nimport React from \"react\";\n\ntype Props = {\n readonly tableName: TableName;\n readonly specialFirstRow?: (columns: TableColumn[]) => React.JSX.Element;\n readonly specialLastRow?: (columns: TableColumn[]) => React.JSX.Element;\n};\nexport function TableWithForm(props: Props) {\n const { tableName, specialFirstRow, specialLastRow } = props;\n const { getIsFormOpen } = useEditorContext();\n const showForm = getIsFormOpen(tableName);\n const { tableData, sortHandler } = useTableData(tableName);\n const shouldPaginate = tableData.length > 20;\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(tableData);\n return (\n <>\n <div className=\"mb-2 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 <Table\n sortHandler={sortHandler}\n specialFirstRow={specialFirstRow}\n specialLastRow={specialLastRow}\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":["TableWithForm","props","tableName","specialFirstRow","specialLastRow","getIsFormOpen","useEditorContext","showForm","tableData","sortHandler","useTableData","shouldPaginate","pageItems","pages","goToPage","goToNextPage","goToPreviousPage","goToFirstPage","goToLastPage","hiddenNextPages","isNextPageAvailable","isPreviousPageAvailable","usePagination","jsxs","Fragment","jsx","Pagination","Table","ItemDetails"],"mappings":";;;;;;;AAgBO,SAASA,EAAcC,GAAc;AAC1C,QAAM,EAAE,WAAAC,GAAW,iBAAAC,GAAiB,gBAAAC,
|
|
1
|
+
{"version":3,"file":"table-with-form.js","sources":["../../../../../src/rwa/components/table/base/table-with-form.tsx"],"sourcesContent":["import { Pagination, usePagination } from \"@/powerhouse\";\nimport {\n ItemDetails,\n Table,\n TableColumn,\n TableName,\n useEditorContext,\n useTableData,\n} from \"@/rwa\";\nimport React from \"react\";\n\ntype Props = {\n readonly tableName: TableName;\n readonly specialFirstRow?: (columns: TableColumn[]) => React.JSX.Element;\n readonly specialLastRow?: (columns: TableColumn[]) => React.JSX.Element;\n};\nexport function TableWithForm(props: Props) {\n const { tableName, specialFirstRow, specialLastRow } = props;\n const { getIsFormOpen } = useEditorContext();\n const showForm = getIsFormOpen(tableName);\n const { tableData, sortHandler } = useTableData(tableName);\n const shouldPaginate = tableData.length > 20;\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(tableData);\n return (\n <>\n <div className=\"mb-2 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 <Table\n sortHandler={sortHandler}\n specialFirstRow={specialFirstRow}\n specialLastRow={specialLastRow}\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":["TableWithForm","props","tableName","specialFirstRow","specialLastRow","getIsFormOpen","useEditorContext","showForm","tableData","sortHandler","useTableData","shouldPaginate","pageItems","pages","goToPage","goToNextPage","goToPreviousPage","goToFirstPage","goToLastPage","hiddenNextPages","isNextPageAvailable","isPreviousPageAvailable","usePagination","jsxs","Fragment","jsx","Pagination","Table","ItemDetails"],"mappings":";;;;;;;AAgBO,SAASA,EAAcC,GAAc;AAC1C,QAAM,EAAE,WAAAC,GAAW,iBAAAC,GAAiB,gBAAAC,EAAmB,IAAAH,GACjD,EAAE,eAAAI,EAAc,IAAIC,EAAiB,GACrCC,IAAWF,EAAcH,CAAS,GAClC,EAAE,WAAAM,GAAW,aAAAC,MAAgBC,EAAaR,CAAS,GACnDS,IAAiBH,EAAU,SAAS,IAEpC;AAAA,IACJ,WAAAI;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,yBAAAC;AAAA,EAAA,IACEC,EAAcd,CAAS;AAC3B,SAEI,gBAAAe,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAA,OAAA,EAAI,WAAU,gCACZ,UACCd,IAAA,gBAAAc;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,eAAAT;AAAA,QACA,cAAAC;AAAA,QACA,cAAAH;AAAA,QACA,UAAAD;AAAA,QACA,kBAAAE;AAAA,QACA,iBAAAG;AAAA,QACA,qBAAAC;AAAA,QACA,yBAAAC;AAAA,QACA,eAAc;AAAA,QACd,OAAAR;AAAA,QACA,mBAAkB;AAAA,MAAA;AAAA,QAElB,KACN,CAAA;AAAA,IACA,gBAAAY;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,aAAAlB;AAAA,QACA,iBAAAN;AAAA,QACA,gBAAAC;AAAA,QACA,WAAWQ;AAAA,QACX,WAAAV;AAAA,MAAA;AAAA,IACF;AAAA,IACCK,sBACE,OAAI,EAAA,WAAU,4BACb,UAAC,gBAAAkB,EAAAG,GAAA,EAAY,WAAA1B,EAAsB,CAAA,EACrC,CAAA,IACE;AAAA,EAAA,GACN;AAEJ;"}
|