@coveord/plasma-mantine 54.1.0 → 54.1.2
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/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +34 -34
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/action-icon/ActionIcon.d.ts +10 -0
- package/dist/cjs/components/action-icon/ActionIcon.d.ts.map +1 -1
- package/dist/cjs/components/button/Button.d.ts +10 -0
- package/dist/cjs/components/button/Button.d.ts.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +10 -0
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
- package/dist/cjs/components/prompt/Prompt.context.d.ts +12 -0
- package/dist/cjs/components/prompt/Prompt.context.d.ts.map +1 -0
- package/dist/cjs/components/prompt/Prompt.context.js +24 -0
- package/dist/cjs/components/prompt/Prompt.context.js.map +1 -0
- package/dist/cjs/components/prompt/Prompt.d.ts +37 -10
- package/dist/cjs/components/prompt/Prompt.d.ts.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js +95 -27
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.module.css +20 -30
- package/dist/cjs/components/prompt/PromptCancelButton.d.ts +18 -0
- package/dist/cjs/components/prompt/PromptCancelButton.d.ts.map +1 -0
- package/dist/cjs/components/prompt/PromptCancelButton.js +39 -0
- package/dist/cjs/components/prompt/PromptCancelButton.js.map +1 -0
- package/dist/cjs/components/prompt/PromptConfirmButton.d.ts +18 -0
- package/dist/cjs/components/prompt/PromptConfirmButton.d.ts.map +1 -0
- package/dist/cjs/components/prompt/PromptConfirmButton.js +46 -0
- package/dist/cjs/components/prompt/PromptConfirmButton.js.map +1 -0
- package/dist/cjs/components/prompt/PromptFooter.js +1 -2
- package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
- package/dist/cjs/components/prompt/icons/critical.svg +29 -0
- package/dist/cjs/components/prompt/icons/info.svg +27 -0
- package/dist/cjs/components/prompt/icons/success.svg +27 -0
- package/dist/cjs/components/prompt/icons/warning.svg +27 -0
- package/dist/cjs/components/table/Table.d.ts +6 -0
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +1 -1
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +6 -0
- package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/types/svg/index.d.js +3 -0
- package/dist/cjs/types/svg/index.d.js.map +1 -0
- package/dist/esm/components/action-icon/ActionIcon.d.ts +10 -0
- package/dist/esm/components/action-icon/ActionIcon.d.ts.map +1 -1
- package/dist/esm/components/button/Button.d.ts +10 -0
- package/dist/esm/components/button/Button.d.ts.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +10 -0
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
- package/dist/esm/components/prompt/Prompt.context.d.ts +12 -0
- package/dist/esm/components/prompt/Prompt.context.d.ts.map +1 -0
- package/dist/esm/components/prompt/Prompt.context.js +4 -0
- package/dist/esm/components/prompt/Prompt.context.js.map +1 -0
- package/dist/esm/components/prompt/Prompt.d.ts +37 -10
- package/dist/esm/components/prompt/Prompt.d.ts.map +1 -1
- package/dist/esm/components/prompt/Prompt.js +92 -26
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.module.css +20 -30
- package/dist/esm/components/prompt/PromptCancelButton.d.ts +18 -0
- package/dist/esm/components/prompt/PromptCancelButton.d.ts.map +1 -0
- package/dist/esm/components/prompt/PromptCancelButton.js +22 -0
- package/dist/esm/components/prompt/PromptCancelButton.js.map +1 -0
- package/dist/esm/components/prompt/PromptConfirmButton.d.ts +18 -0
- package/dist/esm/components/prompt/PromptConfirmButton.d.ts.map +1 -0
- package/dist/esm/components/prompt/PromptConfirmButton.js +29 -0
- package/dist/esm/components/prompt/PromptConfirmButton.js.map +1 -0
- package/dist/esm/components/prompt/PromptFooter.js +1 -2
- package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
- package/dist/esm/components/prompt/icons/critical.svg +29 -0
- package/dist/esm/components/prompt/icons/info.svg +27 -0
- package/dist/esm/components/prompt/icons/success.svg +27 -0
- package/dist/esm/components/prompt/icons/warning.svg +27 -0
- package/dist/esm/components/table/Table.d.ts +6 -0
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +1 -1
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActionItem.d.ts +6 -0
- package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -1
- package/dist/esm/theme/Theme.d.ts.map +1 -1
- package/dist/esm/theme/Theme.js +1 -1
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/types/svg/index.d.js +2 -0
- package/dist/esm/types/svg/index.d.js.map +1 -0
- package/package.json +12 -12
- package/src/components/prompt/Prompt.context.ts +11 -0
- package/src/components/prompt/Prompt.module.css +20 -30
- package/src/components/prompt/Prompt.tsx +106 -23
- package/src/components/prompt/PromptCancelButton.tsx +33 -0
- package/src/components/prompt/PromptConfirmButton.tsx +42 -0
- package/src/components/prompt/PromptFooter.tsx +1 -1
- package/src/components/prompt/__tests__/Prompt.spec.tsx +20 -2
- package/src/components/prompt/icons/critical.svg +29 -0
- package/src/components/prompt/icons/info.svg +27 -0
- package/src/components/prompt/icons/success.svg +27 -0
- package/src/components/prompt/icons/warning.svg +27 -0
- package/src/components/table/Table.tsx +1 -1
- package/src/theme/Theme.tsx +1 -1
- package/src/types/svg/index.d.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types';\nimport {TableProvider} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList';\nimport {TableActionsColumn} from './table-column/TableActionsColumn';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TableNoData} from './table-no-data/TableNoData';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport {TableState} from './use-table';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Box","Center","Loader","useProps","useStyles","useClickOutside","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","isEqual","Children","useEffect","useRef","identity","classes","TableProvider","TableLayouts","TableActionItem","TableActionsColumn","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TableNoData","TablePagination","TablePerPage","TablePredicate","defaultProps","layouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","Table","props","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","lastUpdated","noData","table","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","getSelectedRows","length","newSelection","containerRef","clearRowSelection","current","mergedRef","flexGrow","Layout","layout","displayName","hasRows","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","ActionsColumn","ActionItem","CollapsibleColumn","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","PerPage","extend"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types';\nimport {TableProvider} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList';\nimport {TableActionsColumn} from './table-column/TableActionsColumn';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TableNoData} from './table-no-data/TableNoData';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport {TableState} from './use-table';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Box","Center","Loader","useProps","useStyles","useClickOutside","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","isEqual","Children","useEffect","useRef","identity","classes","TableProvider","TableLayouts","TableActionItem","TableActionsColumn","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TableNoData","TablePagination","TablePerPage","TablePredicate","defaultProps","layouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","Table","props","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","lastUpdated","noData","table","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","getSelectedRows","length","newSelection","containerRef","clearRowSelection","current","mergedRef","flexGrow","Layout","layout","displayName","hasRows","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","ActionsColumn","ActionItem","CollapsibleColumn","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","PerPage","extend"],"mappings":"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"}
|
|
@@ -39,6 +39,12 @@ export declare const TableActionItem: (<C = "button">(props: import("@mantine/co
|
|
|
39
39
|
defaultComponent: "button";
|
|
40
40
|
stylesNames: TableActionItemStylesNames;
|
|
41
41
|
compound: true;
|
|
42
|
+
}> & import("@mantine/core/lib/core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
43
|
+
props: TableActionItemProps;
|
|
44
|
+
defaultRef: HTMLButtonElement;
|
|
45
|
+
defaultComponent: "button";
|
|
46
|
+
stylesNames: TableActionItemStylesNames;
|
|
47
|
+
compound: true;
|
|
42
48
|
}>;
|
|
43
49
|
export {};
|
|
44
50
|
//# sourceMappingURL=TableActionItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableActionItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EAEtB,aAAa,EACb,kBAAkB,EAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAS,WAAW,EAAC,MAAM,cAAc,CAAC;AAIjD,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAE1D,MAAM,WAAW,oBACb,SAAQ,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC,EACpG,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC,EAC9F,sBAAsB,CAAC,sBAAsB,CAAC;IAClD;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,KAAK,sBAAsB,GAAG,kBAAkB,CAAC;IAC7C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"TableActionItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EAEtB,aAAa,EACb,kBAAkB,EAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAS,WAAW,EAAC,MAAM,cAAc,CAAC;AAIjD,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAE1D,MAAM,WAAW,oBACb,SAAQ,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC,EACpG,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC,EAC9F,sBAAsB,CAAC,sBAAsB,CAAC;IAClD;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,KAAK,sBAAsB,GAAG,kBAAkB,CAAC;IAC7C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,eAAe,wGAdvB,MACD,YAAU;;;;;;sBAWkB,OAAO,gCAEzB,OAAO;;;WATV,oBAAoB;gBACf,iBAAiB;sBACX,QAAQ;iBACb,0BAA0B;cAC7B,IAAI;;WAJP,oBAAoB;gBACf,iBAAiB;sBACX,QAAQ;iBACb,0BAA0B;cAC7B,IAAI;;WAJP,oBAAoB;gBACf,iBAAiB;sBACX,QAAQ;iBACb,0BAA0B;cAC7B,IAAI;EA6CjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,EAkBH,oBAAoB,EAkBvB,MAAM,eAAe,CAAC;AA8BvB,eAAO,MAAM,WAAW,EAAE,oBAoNxB,CAAC"}
|
package/dist/esm/theme/Theme.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { ArrowHeadLeftSize16Px, ArrowHeadRightSize16Px, CheckSize16Px, CrossSize16Px, FilterSize16Px, InfoSize16Px, InfoSize24Px } from '@coveord/plasma-react-icons';
|
|
3
3
|
import { color } from '@coveord/plasma-tokens';
|
|
4
|
-
import { ActionIcon, Alert, Anchor, AppShellNavbar, Badge, Button, Checkbox, CloseButton, ColorSwatch, Combobox, ComboboxSearch, Divider, Input, InputWrapper, List, Loader, MenuItem, Modal, MultiSelect, NavLink, Notification, Pagination, Popover, Radio, ScrollArea, SegmentedControl, Select, Skeleton, Stepper, Tabs, Text, TextInput, Tooltip
|
|
4
|
+
import { ActionIcon, Alert, Anchor, AppShellNavbar, Badge, Button, Checkbox, CloseButton, ColorSwatch, Combobox, ComboboxSearch, createTheme, Divider, Input, InputWrapper, List, Loader, MenuItem, Modal, MultiSelect, NavLink, Notification, Pagination, Popover, Radio, ScrollArea, SegmentedControl, Select, Skeleton, Stepper, Tabs, Text, TextInput, Tooltip } from '@mantine/core';
|
|
5
5
|
import { DatePicker } from '@mantine/dates';
|
|
6
6
|
import ActionIconClasses from '../styles/ActionIcon.module.css';
|
|
7
7
|
import AlertClasses from '../styles/Alert.module.css';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CheckSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n InfoSize16Px,\n InfoSize24Px,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n Anchor,\n AppShellNavbar,\n Badge,\n Button,\n Checkbox,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxSearch,\n Divider,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n MenuItem,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n Pagination,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Stepper,\n Tabs,\n Text,\n TextInput,\n Tooltip,\n createTheme,\n} from '@mantine/core';\nimport {DatePicker} from '@mantine/dates';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport AnchorClasses from '../styles/Anchor.module.css';\nimport AppShellNavBarClasses from '../styles/AppShellNavBar.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport DatePickerClasses from '../styles/DatePicker.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport NotificationClasses from '../styles/Notification.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SelectClasses from '../styles/Select.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport {NotificationVars} from '../vars/Notification.vars';\nimport {TextVars} from '../vars/Text.vars';\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 8,\n lineHeights: {md: '1.5'},\n spacing: {\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n primaryColor: 'action',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: '500',\n sizes: {\n h1: {fontSize: '48px', lineHeight: '1.5', fontWeight: '300'},\n h2: {fontSize: '32px', lineHeight: '1.5', fontWeight: '500'},\n h3: {fontSize: '24px', lineHeight: '1.5', fontWeight: '500'},\n h4: {fontSize: '18px', lineHeight: '1.5', fontWeight: '300'},\n h5: {fontSize: '14px', lineHeight: '1.5', fontWeight: '500'},\n h6: {fontSize: '12px', lineHeight: '1.5', fontWeight: '500'},\n },\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n colors: PlasmaColors,\n components: {\n ActionIcon: ActionIcon.extend({\n classNames: {root: ActionIconClasses.root},\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoSize16Px height={16} />,\n color: 'navy',\n },\n classNames: AlertClasses,\n }),\n Anchor: Anchor.extend({\n defaultProps: {\n color: 'action.6',\n },\n classNames: {root: AnchorClasses.root},\n }),\n AppShellNavbar: AppShellNavbar.extend({\n classNames: {navbar: AppShellNavBarClasses.navbar},\n }),\n Badge: Badge.extend({\n classNames: {root: BadgeClasses.root},\n defaultProps: {\n variant: 'light',\n },\n }),\n Button: Button.extend({\n classNames: ButtonClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n },\n classNames: {label: CheckboxClasses.label, input: CheckboxClasses.input},\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: {option: SelectClasses.option, search: ComboboxClasses.search},\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n DatePicker: DatePicker.extend({\n classNames: {monthCell: DatePickerClasses.monthCell},\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'gray.3',\n },\n }),\n Input: Input.extend({\n classNames: InputClasses,\n }),\n InputWrapper: InputWrapper.extend({\n classNames: InputWrapperClasses,\n }),\n Loader: Loader.extend({\n defaultProps: {\n type: 'dots',\n color: 'action',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: {root: ListClasses.root},\n }),\n MenuItem: MenuItem.extend({\n defaultProps: {\n fw: 300,\n },\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: color.primary.navy[9],\n backgroundOpacity: 0.9,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'lg',\n },\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n color: 'info',\n },\n classNames: {\n root: NotificationClasses.root,\n icon: NotificationClasses.icon,\n closeButton: NotificationClasses.closeButton,\n },\n vars: NotificationVars,\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n vars: () => ({root: {'--pagination-control-fz': 'var(--mantine-font-size-sm)'}}),\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Popover: Popover.extend({\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n }),\n Radio: Radio.extend({\n classNames: {labelWrapper: RadioClasses.labelWrapper},\n }),\n ScrollArea: ScrollArea.extend({\n classNames: {viewport: ScrollAreaClasses.viewport},\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {withCheckIcon: false, allowDeselect: false},\n classNames: {input: SelectClasses.input, option: SelectClasses.option},\n }),\n Skeleton: Skeleton.extend({\n classNames: {root: SkeletonClasses.root},\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <CheckSize16Px />,\n },\n classNames: {\n step: StepperClasses.step,\n stepIcon: StepperClasses.stepIcon,\n stepCompletedIcon: StepperClasses.stepCompletedIcon,\n stepDescription: StepperClasses.stepDescription,\n separator: StepperClasses.separator,\n verticalSeparator: StepperClasses.verticalSeparator,\n },\n }),\n Tabs: Tabs.extend({\n classNames: {list: TabsClasses.list, tab: TabsClasses.tab},\n }),\n Text: Text.extend({\n classNames: TextClasses,\n vars: TextVars,\n }),\n TextInput: TextInput.extend({\n defaultProps: {\n radius: 8,\n },\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n color: 'navy',\n maw: 300,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n }),\n },\n});\n"],"names":["ArrowHeadLeftSize16Px","ArrowHeadRightSize16Px","CheckSize16Px","CrossSize16Px","FilterSize16Px","InfoSize16Px","InfoSize24Px","color","ActionIcon","Alert","Anchor","AppShellNavbar","Badge","Button","Checkbox","CloseButton","ColorSwatch","Combobox","ComboboxSearch","Divider","Input","InputWrapper","List","Loader","MenuItem","Modal","MultiSelect","NavLink","Notification","Pagination","Popover","Radio","ScrollArea","SegmentedControl","Select","Skeleton","Stepper","Tabs","Text","TextInput","Tooltip","createTheme","DatePicker","ActionIconClasses","AlertClasses","AnchorClasses","AppShellNavBarClasses","BadgeClasses","ButtonClasses","CheckboxClasses","ComboboxClasses","DatePickerClasses","InputClasses","InputWrapperClasses","ListClasses","ModalClasses","NavLinkClasses","NotificationClasses","PaginationClasses","RadioClasses","ScrollAreaClasses","SegmentedControlClasses","SelectClasses","SkeletonClasses","StepperClasses","TabsClasses","TextClasses","NotificationVars","TextVars","PlasmaColors","plasmaTheme","fontFamily","black","primary","gray","defaultRadius","lineHeights","md","spacing","xs","sm","lg","xl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","shadows","colors","components","extend","classNames","root","defaultProps","icon","height","navbar","variant","radius","label","input","aria-label","size","withShadow","option","search","placeholder","rightSection","monthCell","type","role","fw","ModalOverlay","Overlay","navy","backgroundOpacity","ModalRoot","Root","padding","hidePickedOptions","closeButton","vars","nextIcon","previousIcon","shadow","withArrow","labelWrapper","viewport","withCheckIcon","allowDeselect","completedIcon","step","stepIcon","stepCompletedIcon","stepDescription","separator","verticalSeparator","list","tab","maw","multiline","zIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CheckSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n InfoSize16Px,\n InfoSize24Px,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n Anchor,\n AppShellNavbar,\n Badge,\n Button,\n Checkbox,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxSearch,\n createTheme,\n Divider,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n MenuItem,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n Pagination,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Stepper,\n Tabs,\n Text,\n TextInput,\n Tooltip,\n} from '@mantine/core';\nimport {DatePicker} from '@mantine/dates';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport AnchorClasses from '../styles/Anchor.module.css';\nimport AppShellNavBarClasses from '../styles/AppShellNavBar.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport DatePickerClasses from '../styles/DatePicker.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport NotificationClasses from '../styles/Notification.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SelectClasses from '../styles/Select.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport {NotificationVars} from '../vars/Notification.vars';\nimport {TextVars} from '../vars/Text.vars';\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 8,\n lineHeights: {md: '1.5'},\n spacing: {\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n primaryColor: 'action',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: '500',\n sizes: {\n h1: {fontSize: '48px', lineHeight: '1.5', fontWeight: '300'},\n h2: {fontSize: '32px', lineHeight: '1.5', fontWeight: '500'},\n h3: {fontSize: '24px', lineHeight: '1.5', fontWeight: '500'},\n h4: {fontSize: '18px', lineHeight: '1.5', fontWeight: '300'},\n h5: {fontSize: '14px', lineHeight: '1.5', fontWeight: '500'},\n h6: {fontSize: '12px', lineHeight: '1.5', fontWeight: '500'},\n },\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n colors: PlasmaColors,\n components: {\n ActionIcon: ActionIcon.extend({\n classNames: {root: ActionIconClasses.root},\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoSize16Px height={16} />,\n color: 'navy',\n },\n classNames: AlertClasses,\n }),\n Anchor: Anchor.extend({\n defaultProps: {\n color: 'action.6',\n },\n classNames: {root: AnchorClasses.root},\n }),\n AppShellNavbar: AppShellNavbar.extend({\n classNames: {navbar: AppShellNavBarClasses.navbar},\n }),\n Badge: Badge.extend({\n classNames: {root: BadgeClasses.root},\n defaultProps: {\n variant: 'light',\n },\n }),\n Button: Button.extend({\n classNames: ButtonClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n },\n classNames: {label: CheckboxClasses.label, input: CheckboxClasses.input},\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: {option: SelectClasses.option, search: ComboboxClasses.search},\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n DatePicker: DatePicker.extend({\n classNames: {monthCell: DatePickerClasses.monthCell},\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'gray.3',\n },\n }),\n Input: Input.extend({\n classNames: InputClasses,\n }),\n InputWrapper: InputWrapper.extend({\n classNames: InputWrapperClasses,\n }),\n Loader: Loader.extend({\n defaultProps: {\n type: 'dots',\n color: 'action',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: {root: ListClasses.root},\n }),\n MenuItem: MenuItem.extend({\n defaultProps: {\n fw: 300,\n },\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: color.primary.navy[9],\n backgroundOpacity: 0.9,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'lg',\n },\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n color: 'info',\n },\n classNames: {\n root: NotificationClasses.root,\n icon: NotificationClasses.icon,\n closeButton: NotificationClasses.closeButton,\n },\n vars: NotificationVars,\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n vars: () => ({root: {'--pagination-control-fz': 'var(--mantine-font-size-sm)'}}),\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Popover: Popover.extend({\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n }),\n Radio: Radio.extend({\n classNames: {labelWrapper: RadioClasses.labelWrapper},\n }),\n ScrollArea: ScrollArea.extend({\n classNames: {viewport: ScrollAreaClasses.viewport},\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {withCheckIcon: false, allowDeselect: false},\n classNames: {input: SelectClasses.input, option: SelectClasses.option},\n }),\n Skeleton: Skeleton.extend({\n classNames: {root: SkeletonClasses.root},\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <CheckSize16Px />,\n },\n classNames: {\n step: StepperClasses.step,\n stepIcon: StepperClasses.stepIcon,\n stepCompletedIcon: StepperClasses.stepCompletedIcon,\n stepDescription: StepperClasses.stepDescription,\n separator: StepperClasses.separator,\n verticalSeparator: StepperClasses.verticalSeparator,\n },\n }),\n Tabs: Tabs.extend({\n classNames: {list: TabsClasses.list, tab: TabsClasses.tab},\n }),\n Text: Text.extend({\n classNames: TextClasses,\n vars: TextVars,\n }),\n TextInput: TextInput.extend({\n defaultProps: {\n radius: 8,\n },\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n color: 'navy',\n maw: 300,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n }),\n },\n});\n"],"names":["ArrowHeadLeftSize16Px","ArrowHeadRightSize16Px","CheckSize16Px","CrossSize16Px","FilterSize16Px","InfoSize16Px","InfoSize24Px","color","ActionIcon","Alert","Anchor","AppShellNavbar","Badge","Button","Checkbox","CloseButton","ColorSwatch","Combobox","ComboboxSearch","createTheme","Divider","Input","InputWrapper","List","Loader","MenuItem","Modal","MultiSelect","NavLink","Notification","Pagination","Popover","Radio","ScrollArea","SegmentedControl","Select","Skeleton","Stepper","Tabs","Text","TextInput","Tooltip","DatePicker","ActionIconClasses","AlertClasses","AnchorClasses","AppShellNavBarClasses","BadgeClasses","ButtonClasses","CheckboxClasses","ComboboxClasses","DatePickerClasses","InputClasses","InputWrapperClasses","ListClasses","ModalClasses","NavLinkClasses","NotificationClasses","PaginationClasses","RadioClasses","ScrollAreaClasses","SegmentedControlClasses","SelectClasses","SkeletonClasses","StepperClasses","TabsClasses","TextClasses","NotificationVars","TextVars","PlasmaColors","plasmaTheme","fontFamily","black","primary","gray","defaultRadius","lineHeights","md","spacing","xs","sm","lg","xl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","shadows","colors","components","extend","classNames","root","defaultProps","icon","height","navbar","variant","radius","label","input","aria-label","size","withShadow","option","search","placeholder","rightSection","monthCell","type","role","fw","ModalOverlay","Overlay","navy","backgroundOpacity","ModalRoot","Root","padding","hidePickedOptions","closeButton","vars","nextIcon","previousIcon","shadow","withArrow","labelWrapper","viewport","withCheckIcon","allowDeselect","completedIcon","step","stepIcon","stepCompletedIcon","stepDescription","separator","verticalSeparator","list","tab","maw","multiline","zIndex"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/types/svg/index.d.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coveord/plasma-mantine",
|
|
3
|
-
"version": "54.1.
|
|
3
|
+
"version": "54.1.2",
|
|
4
4
|
"description": "A Plasma flavoured Mantine theme",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plasma",
|
|
@@ -42,18 +42,18 @@
|
|
|
42
42
|
"lodash.debounce": "4.0.8",
|
|
43
43
|
"lodash.defaultsdeep": "4.6.1",
|
|
44
44
|
"monaco-editor": "0.50.0",
|
|
45
|
-
"@coveord/plasma-react-icons": "54.
|
|
46
|
-
"@coveord/plasma-tokens": "54.
|
|
45
|
+
"@coveord/plasma-react-icons": "54.1.1",
|
|
46
|
+
"@coveord/plasma-tokens": "54.1.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@mantine/carousel": "7.
|
|
50
|
-
"@mantine/code-highlight": "7.
|
|
51
|
-
"@mantine/core": "7.
|
|
52
|
-
"@mantine/dates": "7.
|
|
53
|
-
"@mantine/form": "7.
|
|
54
|
-
"@mantine/hooks": "7.
|
|
55
|
-
"@mantine/modals": "7.
|
|
56
|
-
"@mantine/notifications": "7.
|
|
49
|
+
"@mantine/carousel": "7.11.0",
|
|
50
|
+
"@mantine/code-highlight": "7.11.0",
|
|
51
|
+
"@mantine/core": "7.11.0",
|
|
52
|
+
"@mantine/dates": "7.11.0",
|
|
53
|
+
"@mantine/form": "7.11.0",
|
|
54
|
+
"@mantine/hooks": "7.11.0",
|
|
55
|
+
"@mantine/modals": "7.11.0",
|
|
56
|
+
"@mantine/notifications": "7.11.0",
|
|
57
57
|
"@swc/cli": "0.3.14",
|
|
58
58
|
"@swc/core": "1.6.5",
|
|
59
59
|
"@testing-library/dom": "10.2.0",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"tslib": "2.6.3",
|
|
82
82
|
"typescript": "5.5.2",
|
|
83
83
|
"vitest": "1.6.0",
|
|
84
|
-
"eslint-config-plasma": "54.
|
|
84
|
+
"eslint-config-plasma": "54.1.1"
|
|
85
85
|
},
|
|
86
86
|
"peerDependencies": {
|
|
87
87
|
"@mantine/carousel": "^7.6.1",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {createSafeContext, GetStylesApi} from '@mantine/core';
|
|
2
|
+
import {PromptFactory, PromptVariant} from './Prompt';
|
|
3
|
+
|
|
4
|
+
interface PromptContext {
|
|
5
|
+
variant: PromptVariant;
|
|
6
|
+
getStyles: GetStylesApi<PromptFactory>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const [PromptContextProvider, usePromptContext] = createSafeContext<PromptContext>(
|
|
10
|
+
'Prompt component was not found in the tree',
|
|
11
|
+
);
|
|
@@ -1,45 +1,35 @@
|
|
|
1
1
|
.root {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
&[data-variant='warning']&[data-size] {
|
|
8
|
-
.header {
|
|
9
|
-
background-color: var(--mantine-color-yellow-5);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
&[data-variant='critical']&[data-size] {
|
|
13
|
-
.header {
|
|
14
|
-
background-color: var(--mantine-color-red-6);
|
|
15
|
-
}
|
|
2
|
+
--prompt-icon-size: 88px;
|
|
3
|
+
|
|
4
|
+
.header {
|
|
5
|
+
border-bottom: none;
|
|
6
|
+
align-items: center;
|
|
16
7
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
|
|
9
|
+
.body {
|
|
10
|
+
padding: 0 var(--mantine-spacing-lg) var(--mantine-spacing-lg)
|
|
11
|
+
calc(var(--prompt-icon-size) + (2 * var(--mantine-spacing-lg)));
|
|
21
12
|
}
|
|
22
13
|
}
|
|
23
14
|
|
|
24
|
-
.
|
|
25
|
-
|
|
15
|
+
.icon {
|
|
16
|
+
width: var(--prompt-icon-size);
|
|
17
|
+
height: var(--prompt-icon-size);
|
|
26
18
|
}
|
|
27
19
|
|
|
28
20
|
.header {
|
|
21
|
+
gap: var(--mantine-spacing-lg);
|
|
29
22
|
width: 100%;
|
|
30
|
-
border-bottom: 1px solid var(--mantine-color-gray-3);
|
|
31
23
|
font-size: var(--mantine-h3-font-size);
|
|
32
24
|
line-height: var(--mantine-h3-line-height);
|
|
33
25
|
overflow-wrap: anywhere;
|
|
34
|
-
padding
|
|
35
|
-
padding-bottom: var(--mantine-spacing-md);
|
|
26
|
+
padding: var(--mantine-spacing-lg) var(--mantine-spacing-md) var(--mantine-spacing-xs) var(--mantine-spacing-lg);
|
|
36
27
|
}
|
|
37
28
|
|
|
38
|
-
.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
29
|
+
.close {
|
|
30
|
+
align-self: flex-start;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.inner {
|
|
34
|
+
color: var(--mantine-color-gray-7);
|
|
45
35
|
}
|
|
@@ -1,43 +1,126 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Box,
|
|
3
|
+
createVarsResolver,
|
|
4
|
+
factory,
|
|
5
|
+
Factory,
|
|
6
|
+
Image,
|
|
7
|
+
Modal,
|
|
8
|
+
ModalRootProps,
|
|
9
|
+
ModalStylesNames,
|
|
10
|
+
StylesApiProps,
|
|
11
|
+
useProps,
|
|
12
|
+
useStyles,
|
|
13
|
+
} from '@mantine/core';
|
|
2
14
|
import {Children, ReactElement, ReactNode} from 'react';
|
|
3
|
-
import
|
|
15
|
+
import classes from './Prompt.module.css';
|
|
16
|
+
import Critical from './icons/critical.svg';
|
|
17
|
+
import Info from './icons/info.svg';
|
|
18
|
+
import Success from './icons/success.svg';
|
|
19
|
+
import Warning from './icons/warning.svg';
|
|
20
|
+
import {PromptContextProvider} from './Prompt.context';
|
|
21
|
+
import {PromptCancelButton, PromptCancelButtonStylesNamesVariant} from './PromptCancelButton';
|
|
22
|
+
import {PromptConfirmButton} from './PromptConfirmButton';
|
|
4
23
|
import {PromptFooter} from './PromptFooter';
|
|
5
24
|
|
|
6
|
-
export
|
|
25
|
+
export type PromptVariant = 'success' | 'warning' | 'critical' | 'info';
|
|
26
|
+
export type PromptVars = {root: '--prompt-icon-size'};
|
|
27
|
+
export type PromptStylesNames = ModalStylesNames | 'icon' | PromptCancelButtonStylesNamesVariant;
|
|
28
|
+
|
|
29
|
+
export interface PromptProps
|
|
30
|
+
extends StylesApiProps<PromptFactory>,
|
|
31
|
+
Omit<ModalRootProps, 'classNames' | 'styles' | 'vars'> {
|
|
7
32
|
/**
|
|
8
33
|
* Controls prompt appearance
|
|
9
34
|
*
|
|
10
35
|
* @default "info"
|
|
11
36
|
*/
|
|
12
|
-
variant?:
|
|
37
|
+
variant?: PromptVariant;
|
|
13
38
|
children: ReactNode;
|
|
39
|
+
title: ReactNode;
|
|
40
|
+
icon?: ReactNode;
|
|
14
41
|
}
|
|
15
|
-
interface PromptType {
|
|
16
|
-
(props: PromptProps): ReactElement;
|
|
17
|
-
Footer: typeof PromptFooter;
|
|
18
|
-
}
|
|
19
42
|
|
|
20
|
-
export
|
|
21
|
-
|
|
43
|
+
export type PromptFactory = Factory<{
|
|
44
|
+
props: PromptProps;
|
|
45
|
+
ref: HTMLDivElement;
|
|
46
|
+
vars: PromptVars;
|
|
47
|
+
variant: PromptVariant;
|
|
48
|
+
stylesNames: PromptStylesNames;
|
|
49
|
+
staticComponents: {
|
|
50
|
+
CancelButton: typeof PromptCancelButton;
|
|
51
|
+
ConfirmButton: typeof PromptConfirmButton;
|
|
52
|
+
Footer: typeof PromptFooter;
|
|
53
|
+
};
|
|
54
|
+
}>;
|
|
55
|
+
|
|
56
|
+
const PROMPT_VARIANT_ICONS_SRC: Record<PromptVariant, string> = {
|
|
57
|
+
success: Success,
|
|
58
|
+
warning: Warning,
|
|
59
|
+
critical: Critical,
|
|
60
|
+
info: Info,
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const defaultProps: Partial<PromptProps> = {
|
|
64
|
+
variant: 'info',
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const varsResolver = createVarsResolver<PromptFactory>((_theme, {icon}) => ({
|
|
68
|
+
root: {
|
|
69
|
+
'--prompt-icon-size': icon ? undefined : '88px',
|
|
70
|
+
},
|
|
71
|
+
}));
|
|
72
|
+
|
|
73
|
+
export const Prompt = factory<PromptFactory>((_props, ref) => {
|
|
74
|
+
const props = useProps('Prompt', defaultProps, _props);
|
|
75
|
+
const {variant, title, icon, children, className, classNames, style, styles, unstyled, vars, ...others} = props;
|
|
76
|
+
const getStyles = useStyles<PromptFactory>({
|
|
77
|
+
name: 'Prompt',
|
|
78
|
+
props,
|
|
79
|
+
classes,
|
|
80
|
+
className,
|
|
81
|
+
style,
|
|
82
|
+
classNames,
|
|
83
|
+
styles,
|
|
84
|
+
unstyled,
|
|
85
|
+
vars,
|
|
86
|
+
varsResolver,
|
|
87
|
+
});
|
|
88
|
+
const stylesApiProps = {classNames, styles};
|
|
89
|
+
|
|
22
90
|
const convertedChildren = Children.toArray(children) as ReactElement[];
|
|
23
91
|
|
|
24
92
|
const otherChildren = convertedChildren.filter((child) => child.type !== PromptFooter);
|
|
25
93
|
const footer = convertedChildren.find((child) => child.type === PromptFooter);
|
|
26
94
|
|
|
27
|
-
const classNames = {
|
|
28
|
-
root: PromptClasses.root,
|
|
29
|
-
header: PromptClasses.header,
|
|
30
|
-
close: PromptClasses.whiteClose,
|
|
31
|
-
body: PromptClasses.body,
|
|
32
|
-
title: PromptClasses.title,
|
|
33
|
-
};
|
|
34
|
-
|
|
35
95
|
return (
|
|
36
|
-
<
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
96
|
+
<PromptContextProvider value={{variant, getStyles}}>
|
|
97
|
+
<Modal.Root ref={ref} variant="prompt" size="sm" {...others} {...getStyles('root')}>
|
|
98
|
+
<Modal.Overlay {...getStyles('overlay', stylesApiProps)} />
|
|
99
|
+
<Modal.Content {...getStyles('content', stylesApiProps)}>
|
|
100
|
+
<Modal.Header {...getStyles('header', stylesApiProps)}>
|
|
101
|
+
{icon || icon === null ? (
|
|
102
|
+
icon
|
|
103
|
+
) : (
|
|
104
|
+
<Image
|
|
105
|
+
alt=""
|
|
106
|
+
role="presentation"
|
|
107
|
+
{...getStyles('icon', stylesApiProps)}
|
|
108
|
+
src={PROMPT_VARIANT_ICONS_SRC[variant]}
|
|
109
|
+
/>
|
|
110
|
+
)}
|
|
111
|
+
<Modal.Title {...getStyles('title', stylesApiProps)}>{title}</Modal.Title>
|
|
112
|
+
<Modal.CloseButton {...getStyles('close', stylesApiProps)} />
|
|
113
|
+
</Modal.Header>
|
|
114
|
+
<Modal.Body {...getStyles('body', stylesApiProps)}>
|
|
115
|
+
<Box {...getStyles('inner', stylesApiProps)}>{otherChildren}</Box>
|
|
116
|
+
</Modal.Body>
|
|
117
|
+
{footer}
|
|
118
|
+
</Modal.Content>
|
|
119
|
+
</Modal.Root>
|
|
120
|
+
</PromptContextProvider>
|
|
40
121
|
);
|
|
41
|
-
};
|
|
122
|
+
});
|
|
42
123
|
|
|
124
|
+
Prompt.CancelButton = PromptCancelButton;
|
|
125
|
+
Prompt.ConfirmButton = PromptConfirmButton;
|
|
43
126
|
Prompt.Footer = PromptFooter;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {Button, CompoundStylesApiProps, factory, Factory, useProps} from '@mantine/core';
|
|
2
|
+
import {ButtonProps} from '../button/Button';
|
|
3
|
+
import {usePromptContext} from './Prompt.context';
|
|
4
|
+
|
|
5
|
+
export type PromptCancelButtonStylesNamesVariant = 'cancel';
|
|
6
|
+
|
|
7
|
+
export interface PromptCancelButtonProps
|
|
8
|
+
extends CompoundStylesApiProps<PromptCancelButtonFactory>,
|
|
9
|
+
Omit<ButtonProps, 'primary' | 'classNames' | 'styles' | 'vars' | 'variant'> {}
|
|
10
|
+
|
|
11
|
+
export type PromptCancelButtonFactory = Factory<{
|
|
12
|
+
props: PromptCancelButtonProps;
|
|
13
|
+
ref: HTMLButtonElement;
|
|
14
|
+
stylesNames: PromptCancelButtonStylesNamesVariant;
|
|
15
|
+
compound: true;
|
|
16
|
+
}>;
|
|
17
|
+
|
|
18
|
+
const defaultProps: Partial<PromptCancelButtonProps> = {};
|
|
19
|
+
|
|
20
|
+
export const PromptCancelButton = factory<PromptCancelButtonFactory>((_props, ref) => {
|
|
21
|
+
const {getStyles} = usePromptContext();
|
|
22
|
+
const props = useProps('PromptCancelButton', defaultProps, _props);
|
|
23
|
+
const {className, classNames, style, styles, unstyled, vars, ...others} = props;
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<Button
|
|
27
|
+
ref={ref}
|
|
28
|
+
variant="outline"
|
|
29
|
+
{...others}
|
|
30
|
+
{...getStyles('cancel', {style, styles, className, classNames})}
|
|
31
|
+
/>
|
|
32
|
+
);
|
|
33
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {Button, CompoundStylesApiProps, factory, Factory, useProps} from '@mantine/core';
|
|
2
|
+
import {ButtonProps} from '../button/Button';
|
|
3
|
+
import {PromptVariant} from './Prompt';
|
|
4
|
+
import {usePromptContext} from './Prompt.context';
|
|
5
|
+
|
|
6
|
+
export type PromptConfirmButtonStylesNamesVariant = 'confirm';
|
|
7
|
+
|
|
8
|
+
export interface PromptConfirmButtonProps
|
|
9
|
+
extends CompoundStylesApiProps<PromptConfirmButtonFactory>,
|
|
10
|
+
Omit<ButtonProps, 'primary' | 'classNames' | 'styles' | 'vars' | 'variant'> {}
|
|
11
|
+
|
|
12
|
+
export type PromptConfirmButtonFactory = Factory<{
|
|
13
|
+
props: PromptConfirmButtonProps;
|
|
14
|
+
ref: HTMLButtonElement;
|
|
15
|
+
stylesNames: PromptConfirmButtonStylesNamesVariant;
|
|
16
|
+
compound: true;
|
|
17
|
+
}>;
|
|
18
|
+
|
|
19
|
+
const COLOR_BY_VARIANT: Record<PromptVariant, string> = {
|
|
20
|
+
success: 'action',
|
|
21
|
+
info: 'action',
|
|
22
|
+
warning: 'critical',
|
|
23
|
+
critical: 'critical',
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const defaultProps: Partial<PromptConfirmButtonProps> = {};
|
|
27
|
+
|
|
28
|
+
export const PromptConfirmButton = factory<PromptConfirmButtonFactory>((_props, ref) => {
|
|
29
|
+
const {variant, getStyles} = usePromptContext();
|
|
30
|
+
const props = useProps('PromptConfirmButton', defaultProps, _props);
|
|
31
|
+
const {className, classNames, style, styles, unstyled, vars, ...others} = props;
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<Button
|
|
35
|
+
ref={ref}
|
|
36
|
+
variant="filled"
|
|
37
|
+
color={COLOR_BY_VARIANT[variant]}
|
|
38
|
+
{...others}
|
|
39
|
+
{...getStyles('cancel', {style, styles, className, classNames})}
|
|
40
|
+
/>
|
|
41
|
+
);
|
|
42
|
+
});
|
|
@@ -4,7 +4,7 @@ import {StickyFooter, StickyFooterProps} from '../sticky-footer';
|
|
|
4
4
|
export interface PromptFooterProps extends StickyFooterProps {}
|
|
5
5
|
|
|
6
6
|
export const PromptFooter: FunctionComponent<PropsWithChildren<PromptFooterProps>> = ({children, ...otherProps}) => (
|
|
7
|
-
<StickyFooter
|
|
7
|
+
<StickyFooter borderTop {...otherProps}>
|
|
8
8
|
{children}
|
|
9
9
|
</StickyFooter>
|
|
10
10
|
);
|