@bigbinary/neeto-molecules 5.3.31 → 5.3.32
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/{Columns-DElaBbbY.js → Columns-CpCh1cnJ.js} +4 -2
- package/dist/Columns-CpCh1cnJ.js.map +1 -0
- package/dist/cjs/{Columns-r4syEJxD.js → Columns-Gcp48xQM.js} +3 -1
- package/dist/cjs/Columns-Gcp48xQM.js.map +1 -0
- package/dist/cjs/{phone-number-CawtZC0K.js → phone-number-BydWe8Mf.js} +2 -1
- package/dist/cjs/phone-number-BydWe8Mf.js.map +1 -0
- package/dist/cjs/v2/CalendarView.js +1 -1
- package/dist/cjs/v2/Columns.js +1 -1
- package/dist/cjs/v2/DndTable.js +1 -0
- package/dist/cjs/v2/DndTable.js.map +1 -1
- package/dist/cjs/v2/MoreDropdown.js +5 -2
- package/dist/cjs/v2/MoreDropdown.js.map +1 -1
- package/dist/cjs/v2/PhoneNumber.js +1 -1
- package/dist/cjs/v2/SessionEnvironment.js +1 -1
- package/dist/cjs/v2/SubHeader.js +1 -1
- package/dist/cjs/v2/Taxonomy.js +1 -1
- package/dist/{phone-number-CmJsKHNS.js → phone-number-n0BLV3g6.js} +3 -2
- package/dist/phone-number-n0BLV3g6.js.map +1 -0
- package/dist/v2/CalendarView.js +1 -1
- package/dist/v2/Columns.js +1 -1
- package/dist/v2/DndTable.js +1 -0
- package/dist/v2/DndTable.js.map +1 -1
- package/dist/v2/MoreDropdown.js +5 -2
- package/dist/v2/MoreDropdown.js.map +1 -1
- package/dist/v2/PhoneNumber.js +2 -2
- package/dist/v2/SessionEnvironment.js +1 -1
- package/dist/v2/SubHeader.js +1 -1
- package/dist/v2/Taxonomy.js +1 -1
- package/package.json +1 -1
- package/dist/Columns-DElaBbbY.js.map +0 -1
- package/dist/cjs/Columns-r4syEJxD.js.map +0 -1
- package/dist/cjs/phone-number-CawtZC0K.js.map +0 -1
- package/dist/phone-number-CmJsKHNS.js.map +0 -1
package/dist/v2/DndTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DndTable.js","sources":["../../src/v2/components/DndTable/constants.js","../../src/v2/components/DndTable/columnLayout.js","../../src/v2/components/DndTable/Row.jsx","../../src/v2/components/DndTable/Table.jsx","../../src/v2/components/DndTable/useDndTable.js"],"sourcesContent":["// @tanstack/react-table's default column size, used when a column declares no\n// width — matches what DataTable falls back to so freeze offsets line up.\nexport const DEFAULT_COLUMN_SIZE = 150;\n\n// Width of DataTable's built-in selection column; the checkbox is frozen ahead\n// of user-frozen columns, so their sticky offset starts after this width.\nexport const SELECTION_COLUMN_SIZE = 56;\n\n// Sticky styling DataTable applies to its own frozen body cells; replicated\n// here because the custom body bypasses DataTable's per-cell rendering.\nexport const PINNED_CELL_CLASS =\n \"sticky z-10 bg-background transition-colors group-hover:bg-muted group-data-[state=selected]:bg-row-selected\";\n\n// Right-edge shadow on the last frozen column, revealed once the scroll\n// container reports horizontal scroll (DataTable owns the scroll group).\nexport const LAST_PINNED_SHADOW_CLASS =\n \"after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6\";\n","import { DEFAULT_COLUMN_SIZE, SELECTION_COLUMN_SIZE } from \"./constants\";\n\nconst getColumnId = col => col.key || col.dataIndex;\n\n// Build the body's left-to-right cell order, mirroring DataTable's\n// row.getVisibleCells(): left-pinned (frozen) columns first in pin order, then\n// the \"center\" group — the selection cell followed by the unpinned columns in\n// their original order. Each pinned descriptor carries the sticky offset and\n// size DataTable applies to its own frozen cells so the custom body stays\n// aligned with the (DataTable-rendered) header.\n//\n// Freeze only ever pins to the left: the header menu's toggle manages\n// columnPinning.left exclusively, so right pinning is intentionally unhandled.\n//\n// When freeze is enabled, DataTable force-pins the selection column ahead of\n// everything (resolvedColumnPinning prepends \"_selection\" to left), so the\n// checkbox stays frozen at the far left and user-frozen columns start after its\n// width. That is replicated here — otherwise header and body drift apart.\nconst getBodyColumnLayout = ({\n columnData,\n columnPinning,\n columnSizing = {},\n rowSelection = false,\n enableColumnFreeze = false,\n}) => {\n const leftIds = columnPinning?.left ?? [];\n const leftSet = new Set(leftIds);\n const sizeOf = col =>\n columnSizing[getColumnId(col)] ?? col.width ?? DEFAULT_COLUMN_SIZE;\n const columnById = id => columnData.find(col => getColumnId(col) === id);\n\n // The selection column is frozen alongside the data columns only while the\n // freeze feature is on; without it the checkbox is an ordinary leading cell.\n const isSelectionPinned = rowSelection && enableColumnFreeze;\n\n const leftPinned = [];\n let offset = 0;\n if (isSelectionPinned) {\n leftPinned.push({\n type: \"selection\",\n pinned: \"left\",\n size: SELECTION_COLUMN_SIZE,\n left: 0,\n });\n offset = SELECTION_COLUMN_SIZE;\n }\n\n leftIds.forEach(id => {\n const col = columnById(id);\n if (!col) return;\n const size = sizeOf(col);\n leftPinned.push({ type: \"data\", col, pinned: \"left\", size, left: offset });\n offset += size;\n });\n if (leftPinned.length) {\n leftPinned[leftPinned.length - 1].isLastPinned = true;\n }\n\n const center = [];\n if (rowSelection && !isSelectionPinned) {\n center.push({ type: \"selection\", pinned: false });\n }\n\n columnData.forEach(col => {\n if (!leftSet.has(getColumnId(col))) {\n center.push({ type: \"data\", col, pinned: false });\n }\n });\n\n return [...leftPinned, ...center];\n};\n\nexport { getBodyColumnLayout, getColumnId };\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst Row = ({ children, data, index, className, isDroppable, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index },\n id: `draggable-${rest[\"data-row-key\"]}`,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, index: index + 1 },\n id: `droppable-${rest[\"data-row-key\"]}`,\n disabled: !isDroppable || isDragging,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <tr\n {...rest}\n {...attributes}\n {...listeners}\n className={classNames(className, {\n \"border-border hover:bg-muted/50 data-[state=selected]:bg-row-selected w-full min-w-0 cursor-move border-b transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"bg-primary/10 shadow-sm\": isIndicatorVisible,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {children}\n </tr>\n );\n};\n\nexport default Row;\n","import { useState } from \"react\";\n\nimport { DataTable } from \"@bigbinary/neeto-atoms\";\nimport {\n Checkbox,\n TableBody,\n TableCell,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { T } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport { getColumnId, getBodyColumnLayout } from \"./columnLayout\";\nimport { PINNED_CELL_CLASS, LAST_PINNED_SHADOW_CLASS } from \"./constants\";\nimport Row from \"./Row\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst getRowKey = (row, index) => String(row.id ?? row.key ?? index);\n\nconst buildColumns = columnData =>\n columnData.map(({ key, dataIndex, title, width, sorter, enableSorting }) => ({\n id: key || dataIndex,\n accessorKey: dataIndex,\n header: title,\n ...(width ? { size: width } : {}),\n // antd-style `sorter` flag (or explicit `enableSorting`) toggles the sort\n // affordance per column; leaving both undefined inherits the table default.\n ...(sorter !== undefined || enableSorting !== undefined\n ? { enableSorting: enableSorting ?? Boolean(sorter) }\n : {}),\n }));\n\n// DataTable's SortingState is `[{ id, desc }]`; surface the leading sort to\n// consumers in the friendlier { field, order } shape, or null when cleared.\nconst toSortInfo = sortingState => {\n const [sort] = sortingState;\n\n return sort\n ? { field: sort.id, order: sort.desc ? \"descend\" : \"ascend\" }\n : null;\n};\n\nconst DndTable = ({\n rowData,\n columnData,\n overlayColumnIndex = 0,\n isRowDroppable = T,\n onDrop = noop,\n rowSelection = false,\n selectedRowKeys = [],\n onRowSelect = noop,\n enableSorting = false,\n sorting,\n onSort = noop,\n enableColumnFreeze = false,\n columnPinning,\n onColumnPinningChange = noop,\n currentPageNumber,\n paginationProps,\n // antd tree-data prop carried over from v1; DataTable has no tree rows, so\n // pull it out of ...rest instead of forwarding it.\n childrenColumnName: _childrenColumnName,\n ...rest\n}) => {\n const [dragState, setDragState] = useState(null);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n // Sorting is controlled when a `sorting` prop is supplied, otherwise tracked\n // here so the header arrows stay in sync without consumer wiring.\n const isSortingControlled = sorting !== undefined;\n const [uncontrolledSorting, setUncontrolledSorting] = useState([]);\n const sortingState = isSortingControlled ? sorting : uncontrolledSorting;\n\n const applySorting = updater => {\n const nextSorting =\n typeof updater === \"function\" ? updater(sortingState) : updater;\n if (!isSortingControlled) setUncontrolledSorting(nextSorting);\n onSort(toSortInfo(nextSorting));\n };\n\n // Freeze pins columns to the left. Controlled when a `columnPinning` prop is\n // supplied, otherwise tracked here so the freeze menu works standalone.\n const isPinningControlled = columnPinning !== undefined;\n const [uncontrolledPinning, setUncontrolledPinning] = useState({ left: [] });\n const pinningState = isPinningControlled\n ? columnPinning\n : uncontrolledPinning;\n\n const applyPinning = updater => {\n const nextPinning =\n typeof updater === \"function\" ? updater(pinningState) : updater;\n if (!isPinningControlled) setUncontrolledPinning(nextPinning);\n onColumnPinningChange(nextPinning);\n };\n\n // Column sizing is owned here so frozen-cell offsets in the custom body track\n // live column resizes (DataTable would otherwise keep it internal).\n const [columnSizing, setColumnSizing] = useState({});\n const onColumnSizingChange = updater =>\n setColumnSizing(prev =>\n typeof updater === \"function\" ? updater(prev) : updater\n );\n\n // getRowId stringifies row ids, but consumers may pass numeric selection\n // keys; normalise so selection state matches in both DataTable and the body.\n const selectedKeys = selectedRowKeys.map(String);\n const selectedKeySet = new Set(selectedKeys);\n\n const onDragEnd = ({ active, over }) => {\n setDragState(null);\n if (!active || !over) return;\n\n // Last action wins: a manual reorder supersedes any active sort, so clear\n // it before persisting the drop, leaving the table in manual order.\n if (sortingState.length) applySorting([]);\n onDrop(active.data.current, over.data.current);\n };\n\n const renderOverlay = data => {\n const colData = columnData[overlayColumnIndex];\n const cellValue = data[colData.dataIndex];\n\n return (\n <div className=\"flex px-20\">\n <div className=\"bg-background rounded-lg px-4\">\n {colData.render ? colData.render(cellValue, data) : cellValue}\n </div>\n </div>\n );\n };\n\n const toggleRowSelection = rowItem => {\n const rowKey = getRowKey(rowItem);\n const nextKeys = selectedKeySet.has(rowKey)\n ? selectedKeys.filter(key => key !== rowKey)\n : [...selectedKeys, rowKey];\n const nextKeySet = new Set(nextKeys);\n\n // Pass the rows for the freshly computed selection (nextKeys), matching\n // the keys argument; Set keeps the lookup O(n) over rowData.\n onRowSelect(\n nextKeys,\n rowData.filter(row => nextKeySet.has(getRowKey(row)))\n );\n };\n\n // Cell order mirrors DataTable's header: frozen columns reorder to the left,\n // so the body must reorder its cells the same way to stay column-aligned.\n const columnLayout = getBodyColumnLayout({\n columnData,\n columnPinning: pinningState,\n columnSizing,\n rowSelection,\n enableColumnFreeze,\n });\n\n const pinnedCellProps = ({ pinned, size, left, isLastPinned }) => {\n const isPinned = pinned === \"left\";\n\n return {\n className: classNames({\n [PINNED_CELL_CLASS]: isPinned,\n [LAST_PINNED_SHADOW_CLASS]: isPinned && isLastPinned,\n }),\n style: isPinned\n ? { width: size, minWidth: size, maxWidth: size, left }\n : undefined,\n };\n };\n\n const renderSelectionCell = (descriptor, rowItem) => {\n const rowKey = getRowKey(rowItem);\n const { className, style } = pinnedCellProps(descriptor);\n\n return (\n // Match DataTable's selection header cell padding (it forces !pe-2 while\n // TableCell zeroes pe for checkbox cells) so the body checkbox lines up\n // with the header select-all checkbox.\n <TableCell\n {...{ style }}\n className={classNames(\"!pe-2\", className)}\n key=\"_selection\"\n onClick={e => e.stopPropagation()}\n >\n <div className=\"flex w-full items-center justify-center\">\n <Checkbox\n checked={selectedKeySet.has(rowKey)}\n onCheckedChange={() => toggleRowSelection(rowItem)}\n />\n </div>\n </TableCell>\n );\n };\n\n const renderDataCell = (descriptor, rowItem, index) => {\n const { col } = descriptor;\n\n return (\n <TableCell key={getColumnId(col)} {...pinnedCellProps(descriptor)}>\n {col.render\n ? // Match the antd/v1 render signature (value, record, index); the\n // v1 body rendered through neetoui Table, which passed the row index.\n col.render(rowItem[col.dataIndex], rowItem, index)\n : rowItem[col.dataIndex]}\n </TableCell>\n );\n };\n\n const renderBody = () => (\n <TableBody>\n {rowData.map((rowItem, index) => {\n const rowKey = getRowKey(rowItem, index);\n\n return (\n <Row\n {...{ index }}\n data={rowItem}\n data-row-key={rowKey}\n isDroppable={isRowDroppable(rowItem)}\n key={rowKey}\n >\n {columnLayout.map(descriptor =>\n descriptor.type === \"selection\"\n ? renderSelectionCell(descriptor, rowItem)\n : renderDataCell(descriptor, rowItem, index)\n )}\n </Row>\n );\n })}\n </TableBody>\n );\n\n const dataTableProps = {\n ...rest,\n columns: buildColumns(columnData),\n data: rowData,\n getRowId: getRowKey,\n renderBody,\n enableColumnResize: true,\n enableURLPagination: true,\n // The header three-dot menu surfaces the sort and freeze controls, so turn\n // it on when either is enabled. No hide/reorder handlers are passed, so the\n // menu shows only those actions.\n enableHeaderMenu: enableSorting || enableColumnFreeze,\n // Sorting is driven in controlled mode and URL sync is left off: DataTable's\n // URL params (sort_by/order_by) don't match the app's (sortBy/orderBy), so\n // consumers own ordering via onSort (typically a sorted re-fetch of rowData).\n enableSorting,\n enableURLSort: false,\n sorting: sortingState,\n onSortingChange: applySorting,\n // Freeze: DataTable renders the frozen header; the custom body replicates\n // the sticky cell styling via columnLayout. columnSizing is controlled so\n // those body offsets stay correct as columns are resized.\n enableColumnFreeze,\n columnPinning: pinningState,\n onColumnPinningChange: applyPinning,\n columnSizing,\n onColumnSizingChange,\n enableRowSelection: rowSelection,\n selectedRowKeys: selectedKeys,\n onRowSelect,\n currentPage: currentPageNumber,\n pageSize: paginationProps?.pageSize,\n };\n\n return (\n <DndContext {...{ onDragEnd, sensors }} onDragStart={setDragState}>\n <DataTable {...dataTableProps} />\n {createPortal(\n <DragOverlay modifiers={[restrictToVerticalAxis]}>\n {dragState?.active && renderOverlay(dragState.active.data?.current)}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n );\n};\n\nDndTable.propTypes = {\n rowData: PropTypes.arrayOf(PropTypes.object).isRequired,\n columnData: PropTypes.arrayOf(PropTypes.object).isRequired,\n overlayColumnIndex: PropTypes.number,\n isRowDroppable: PropTypes.func,\n onDrop: PropTypes.func.isRequired,\n rowSelection: PropTypes.bool,\n selectedRowKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n onRowSelect: PropTypes.func,\n enableSorting: PropTypes.bool,\n sorting: PropTypes.arrayOf(\n PropTypes.shape({ id: PropTypes.string, desc: PropTypes.bool })\n ),\n onSort: PropTypes.func,\n enableColumnFreeze: PropTypes.bool,\n columnPinning: PropTypes.shape({ left: PropTypes.arrayOf(PropTypes.string) }),\n onColumnPinningChange: PropTypes.func,\n currentPageNumber: PropTypes.number,\n paginationProps: PropTypes.shape({ pageSize: PropTypes.number }),\n};\n\nexport default DndTable;\n","import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport useStateWithDependency from \"neetocommons/v2/react-utils/useStateWithDependency\";\nimport { path, remove } from \"ramda\";\n\nconst useDndTable = ({ rowData, onUpdate }) => {\n const [rowDataState, setRowDataState] = useStateWithDependency(rowData, [\n rowData,\n ]);\n\n const onDrop = async (active, over) => {\n const stateBefore = rowDataState;\n setRowDataState(remove(active.index, 1));\n\n try {\n await onUpdate(active, over);\n } catch (error) {\n setRowDataState(stateBefore);\n const errors = path([\"response\", \"data\", \"errors\"], error);\n const message = errors && Object.values(errors)[0]?.[0];\n if (message) Toastr.error(message);\n }\n };\n\n return { rowData: rowDataState, onDrop };\n};\n\nexport default useDndTable;\n"],"names":["DEFAULT_COLUMN_SIZE","SELECTION_COLUMN_SIZE","PINNED_CELL_CLASS","LAST_PINNED_SHADOW_CLASS","getColumnId","col","key","dataIndex","getBodyColumnLayout","_ref","_columnPinning$left","columnData","columnPinning","_ref$columnSizing","columnSizing","_ref$rowSelection","rowSelection","_ref$enableColumnFree","enableColumnFreeze","leftIds","left","leftSet","Set","sizeOf","_ref2","_columnSizing$getColu","width","columnById","id","find","isSelectionPinned","leftPinned","offset","push","type","pinned","size","forEach","length","isLastPinned","center","has","concat","Row","children","data","index","className","isDroppable","rest","_objectWithoutProperties","_excluded","_useDraggable","useDraggable","_objectSpread","isDragging","attributes","listeners","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","disabled","isOver","setDroppableNodeRef","isIndicatorVisible","_jsx","classNames","ref","node","sensorConfig","activationConstraint","distance","getRowKey","row","_row$id","String","buildColumns","map","title","sorter","enableSorting","accessorKey","header","undefined","Boolean","toSortInfo","sortingState","_sortingState","_slicedToArray","sort","field","order","desc","DndTable","_ref3","_dragState$active$dat","rowData","_ref3$overlayColumnIn","overlayColumnIndex","_ref3$isRowDroppable","isRowDroppable","T","_ref3$onDrop","onDrop","noop","_ref3$rowSelection","_ref3$selectedRowKeys","selectedRowKeys","_ref3$onRowSelect","onRowSelect","_ref3$enableSorting","sorting","_ref3$onSort","onSort","_ref3$enableColumnFre","_ref3$onColumnPinning","onColumnPinningChange","currentPageNumber","paginationProps","childrenColumnName","_useState","useState","_useState2","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","isSortingControlled","_useState3","_useState4","uncontrolledSorting","setUncontrolledSorting","applySorting","updater","nextSorting","isPinningControlled","_useState5","_useState6","uncontrolledPinning","setUncontrolledPinning","pinningState","applyPinning","nextPinning","_useState7","_useState8","setColumnSizing","onColumnSizingChange","prev","selectedKeys","selectedKeySet","onDragEnd","_ref4","active","over","current","renderOverlay","colData","cellValue","render","toggleRowSelection","rowItem","rowKey","nextKeys","filter","_toConsumableArray","nextKeySet","columnLayout","pinnedCellProps","_ref5","isPinned","_defineProperty","style","minWidth","maxWidth","renderSelectionCell","descriptor","_pinnedCellProps","_createElement","TableCell","onClick","e","stopPropagation","Checkbox","checked","onCheckedChange","renderDataCell","renderBody","TableBody","dataTableProps","columns","getRowId","enableColumnResize","enableURLPagination","enableHeaderMenu","enableURLSort","onSortingChange","enableRowSelection","currentPage","pageSize","_jsxs","DndContext","onDragStart","DataTable","createPortal","DragOverlay","modifiers","restrictToVerticalAxis","document","body","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useDndTable","onUpdate","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","rowDataState","setRowDataState","_asyncToGenerator","_callee","stateBefore","_Object$values$","errors","message","_t","_context","remove","path","values","Toastr","error","_x","_x2","apply","arguments"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DndTable.js","sources":["../../src/v2/components/DndTable/constants.js","../../src/v2/components/DndTable/columnLayout.js","../../src/v2/components/DndTable/Row.jsx","../../src/v2/components/DndTable/Table.jsx","../../src/v2/components/DndTable/useDndTable.js"],"sourcesContent":["// @tanstack/react-table's default column size, used when a column declares no\n// width — matches what DataTable falls back to so freeze offsets line up.\nexport const DEFAULT_COLUMN_SIZE = 150;\n\n// Width of DataTable's built-in selection column; the checkbox is frozen ahead\n// of user-frozen columns, so their sticky offset starts after this width.\nexport const SELECTION_COLUMN_SIZE = 56;\n\n// Sticky styling DataTable applies to its own frozen body cells; replicated\n// here because the custom body bypasses DataTable's per-cell rendering.\nexport const PINNED_CELL_CLASS =\n \"sticky z-10 bg-background transition-colors group-hover:bg-muted group-data-[state=selected]:bg-row-selected\";\n\n// Right-edge shadow on the last frozen column, revealed once the scroll\n// container reports horizontal scroll (DataTable owns the scroll group).\nexport const LAST_PINNED_SHADOW_CLASS =\n \"after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6\";\n","import { DEFAULT_COLUMN_SIZE, SELECTION_COLUMN_SIZE } from \"./constants\";\n\nconst getColumnId = col => col.key || col.dataIndex;\n\n// Build the body's left-to-right cell order, mirroring DataTable's\n// row.getVisibleCells(): left-pinned (frozen) columns first in pin order, then\n// the \"center\" group — the selection cell followed by the unpinned columns in\n// their original order. Each pinned descriptor carries the sticky offset and\n// size DataTable applies to its own frozen cells so the custom body stays\n// aligned with the (DataTable-rendered) header.\n//\n// Freeze only ever pins to the left: the header menu's toggle manages\n// columnPinning.left exclusively, so right pinning is intentionally unhandled.\n//\n// When freeze is enabled, DataTable force-pins the selection column ahead of\n// everything (resolvedColumnPinning prepends \"_selection\" to left), so the\n// checkbox stays frozen at the far left and user-frozen columns start after its\n// width. That is replicated here — otherwise header and body drift apart.\nconst getBodyColumnLayout = ({\n columnData,\n columnPinning,\n columnSizing = {},\n rowSelection = false,\n enableColumnFreeze = false,\n}) => {\n const leftIds = columnPinning?.left ?? [];\n const leftSet = new Set(leftIds);\n const sizeOf = col =>\n columnSizing[getColumnId(col)] ?? col.width ?? DEFAULT_COLUMN_SIZE;\n const columnById = id => columnData.find(col => getColumnId(col) === id);\n\n // The selection column is frozen alongside the data columns only while the\n // freeze feature is on; without it the checkbox is an ordinary leading cell.\n const isSelectionPinned = rowSelection && enableColumnFreeze;\n\n const leftPinned = [];\n let offset = 0;\n if (isSelectionPinned) {\n leftPinned.push({\n type: \"selection\",\n pinned: \"left\",\n size: SELECTION_COLUMN_SIZE,\n left: 0,\n });\n offset = SELECTION_COLUMN_SIZE;\n }\n\n leftIds.forEach(id => {\n const col = columnById(id);\n if (!col) return;\n const size = sizeOf(col);\n leftPinned.push({ type: \"data\", col, pinned: \"left\", size, left: offset });\n offset += size;\n });\n if (leftPinned.length) {\n leftPinned[leftPinned.length - 1].isLastPinned = true;\n }\n\n const center = [];\n if (rowSelection && !isSelectionPinned) {\n center.push({ type: \"selection\", pinned: false });\n }\n\n columnData.forEach(col => {\n if (!leftSet.has(getColumnId(col))) {\n center.push({ type: \"data\", col, pinned: false });\n }\n });\n\n return [...leftPinned, ...center];\n};\n\nexport { getBodyColumnLayout, getColumnId };\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst Row = ({ children, data, index, className, isDroppable, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index },\n id: `draggable-${rest[\"data-row-key\"]}`,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, index: index + 1 },\n id: `droppable-${rest[\"data-row-key\"]}`,\n disabled: !isDroppable || isDragging,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <tr\n {...rest}\n {...attributes}\n {...listeners}\n className={classNames(className, {\n \"border-border hover:bg-muted/50 data-[state=selected]:bg-row-selected w-full min-w-0 cursor-move border-b transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"bg-primary/10 shadow-sm\": isIndicatorVisible,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {children}\n </tr>\n );\n};\n\nexport default Row;\n","import { useState } from \"react\";\n\nimport { DataTable } from \"@bigbinary/neeto-atoms\";\nimport {\n Checkbox,\n TableBody,\n TableCell,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { T } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport { getColumnId, getBodyColumnLayout } from \"./columnLayout\";\nimport { PINNED_CELL_CLASS, LAST_PINNED_SHADOW_CLASS } from \"./constants\";\nimport Row from \"./Row\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst getRowKey = (row, index) => String(row.id ?? row.key ?? index);\n\nconst buildColumns = columnData =>\n columnData.map(({ key, dataIndex, title, width, sorter, enableSorting }) => ({\n id: key || dataIndex,\n accessorKey: dataIndex,\n header: title,\n ...(width ? { size: width } : {}),\n // antd-style `sorter` flag (or explicit `enableSorting`) toggles the sort\n // affordance per column; leaving both undefined inherits the table default.\n ...(sorter !== undefined || enableSorting !== undefined\n ? { enableSorting: enableSorting ?? Boolean(sorter) }\n : {}),\n }));\n\n// DataTable's SortingState is `[{ id, desc }]`; surface the leading sort to\n// consumers in the friendlier { field, order } shape, or null when cleared.\nconst toSortInfo = sortingState => {\n const [sort] = sortingState;\n\n return sort\n ? { field: sort.id, order: sort.desc ? \"descend\" : \"ascend\" }\n : null;\n};\n\nconst DndTable = ({\n rowData,\n columnData,\n overlayColumnIndex = 0,\n isRowDroppable = T,\n onDrop = noop,\n rowSelection = false,\n selectedRowKeys = [],\n onRowSelect = noop,\n enableSorting = false,\n sorting,\n onSort = noop,\n enableColumnFreeze = false,\n columnPinning,\n onColumnPinningChange = noop,\n currentPageNumber,\n paginationProps,\n // antd tree-data prop carried over from v1; DataTable has no tree rows, so\n // pull it out of ...rest instead of forwarding it.\n childrenColumnName: _childrenColumnName,\n ...rest\n}) => {\n const [dragState, setDragState] = useState(null);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n // Sorting is controlled when a `sorting` prop is supplied, otherwise tracked\n // here so the header arrows stay in sync without consumer wiring.\n const isSortingControlled = sorting !== undefined;\n const [uncontrolledSorting, setUncontrolledSorting] = useState([]);\n const sortingState = isSortingControlled ? sorting : uncontrolledSorting;\n\n const applySorting = updater => {\n const nextSorting =\n typeof updater === \"function\" ? updater(sortingState) : updater;\n if (!isSortingControlled) setUncontrolledSorting(nextSorting);\n onSort(toSortInfo(nextSorting));\n };\n\n // Freeze pins columns to the left. Controlled when a `columnPinning` prop is\n // supplied, otherwise tracked here so the freeze menu works standalone.\n const isPinningControlled = columnPinning !== undefined;\n const [uncontrolledPinning, setUncontrolledPinning] = useState({ left: [] });\n const pinningState = isPinningControlled\n ? columnPinning\n : uncontrolledPinning;\n\n const applyPinning = updater => {\n const nextPinning =\n typeof updater === \"function\" ? updater(pinningState) : updater;\n if (!isPinningControlled) setUncontrolledPinning(nextPinning);\n onColumnPinningChange(nextPinning);\n };\n\n // Column sizing is owned here so frozen-cell offsets in the custom body track\n // live column resizes (DataTable would otherwise keep it internal).\n const [columnSizing, setColumnSizing] = useState({});\n const onColumnSizingChange = updater =>\n setColumnSizing(prev =>\n typeof updater === \"function\" ? updater(prev) : updater\n );\n\n // getRowId stringifies row ids, but consumers may pass numeric selection\n // keys; normalise so selection state matches in both DataTable and the body.\n const selectedKeys = selectedRowKeys.map(String);\n const selectedKeySet = new Set(selectedKeys);\n\n const onDragEnd = ({ active, over }) => {\n setDragState(null);\n if (!active || !over) return;\n\n // Last action wins: a manual reorder supersedes any active sort, so clear\n // it before persisting the drop, leaving the table in manual order.\n if (sortingState.length) applySorting([]);\n onDrop(active.data.current, over.data.current);\n };\n\n const renderOverlay = data => {\n const colData = columnData[overlayColumnIndex];\n const cellValue = data[colData.dataIndex];\n\n return (\n <div className=\"flex px-20\">\n <div className=\"bg-background rounded-lg px-4\">\n {colData.render ? colData.render(cellValue, data) : cellValue}\n </div>\n </div>\n );\n };\n\n const toggleRowSelection = rowItem => {\n const rowKey = getRowKey(rowItem);\n const nextKeys = selectedKeySet.has(rowKey)\n ? selectedKeys.filter(key => key !== rowKey)\n : [...selectedKeys, rowKey];\n const nextKeySet = new Set(nextKeys);\n\n // Pass the rows for the freshly computed selection (nextKeys), matching\n // the keys argument; Set keeps the lookup O(n) over rowData.\n onRowSelect(\n nextKeys,\n rowData.filter(row => nextKeySet.has(getRowKey(row)))\n );\n };\n\n // Cell order mirrors DataTable's header: frozen columns reorder to the left,\n // so the body must reorder its cells the same way to stay column-aligned.\n const columnLayout = getBodyColumnLayout({\n columnData,\n columnPinning: pinningState,\n columnSizing,\n rowSelection,\n enableColumnFreeze,\n });\n\n const pinnedCellProps = ({ pinned, size, left, isLastPinned }) => {\n const isPinned = pinned === \"left\";\n\n return {\n className: classNames({\n [PINNED_CELL_CLASS]: isPinned,\n [LAST_PINNED_SHADOW_CLASS]: isPinned && isLastPinned,\n }),\n style: isPinned\n ? { width: size, minWidth: size, maxWidth: size, left }\n : undefined,\n };\n };\n\n const renderSelectionCell = (descriptor, rowItem) => {\n const rowKey = getRowKey(rowItem);\n const { className, style } = pinnedCellProps(descriptor);\n\n return (\n // Match DataTable's selection header cell padding (it forces !pe-2 while\n // TableCell zeroes pe for checkbox cells) so the body checkbox lines up\n // with the header select-all checkbox.\n <TableCell\n {...{ style }}\n className={classNames(\"!pe-2\", className)}\n key=\"_selection\"\n onClick={e => e.stopPropagation()}\n >\n <div className=\"flex w-full items-center justify-center\">\n <Checkbox\n checked={selectedKeySet.has(rowKey)}\n data-testid=\"row-selection-checkbox\"\n onCheckedChange={() => toggleRowSelection(rowItem)}\n />\n </div>\n </TableCell>\n );\n };\n\n const renderDataCell = (descriptor, rowItem, index) => {\n const { col } = descriptor;\n\n return (\n <TableCell key={getColumnId(col)} {...pinnedCellProps(descriptor)}>\n {col.render\n ? // Match the antd/v1 render signature (value, record, index); the\n // v1 body rendered through neetoui Table, which passed the row index.\n col.render(rowItem[col.dataIndex], rowItem, index)\n : rowItem[col.dataIndex]}\n </TableCell>\n );\n };\n\n const renderBody = () => (\n <TableBody>\n {rowData.map((rowItem, index) => {\n const rowKey = getRowKey(rowItem, index);\n\n return (\n <Row\n {...{ index }}\n data={rowItem}\n data-row-key={rowKey}\n isDroppable={isRowDroppable(rowItem)}\n key={rowKey}\n >\n {columnLayout.map(descriptor =>\n descriptor.type === \"selection\"\n ? renderSelectionCell(descriptor, rowItem)\n : renderDataCell(descriptor, rowItem, index)\n )}\n </Row>\n );\n })}\n </TableBody>\n );\n\n const dataTableProps = {\n ...rest,\n columns: buildColumns(columnData),\n data: rowData,\n getRowId: getRowKey,\n renderBody,\n enableColumnResize: true,\n enableURLPagination: true,\n // The header three-dot menu surfaces the sort and freeze controls, so turn\n // it on when either is enabled. No hide/reorder handlers are passed, so the\n // menu shows only those actions.\n enableHeaderMenu: enableSorting || enableColumnFreeze,\n // Sorting is driven in controlled mode and URL sync is left off: DataTable's\n // URL params (sort_by/order_by) don't match the app's (sortBy/orderBy), so\n // consumers own ordering via onSort (typically a sorted re-fetch of rowData).\n enableSorting,\n enableURLSort: false,\n sorting: sortingState,\n onSortingChange: applySorting,\n // Freeze: DataTable renders the frozen header; the custom body replicates\n // the sticky cell styling via columnLayout. columnSizing is controlled so\n // those body offsets stay correct as columns are resized.\n enableColumnFreeze,\n columnPinning: pinningState,\n onColumnPinningChange: applyPinning,\n columnSizing,\n onColumnSizingChange,\n enableRowSelection: rowSelection,\n selectedRowKeys: selectedKeys,\n onRowSelect,\n currentPage: currentPageNumber,\n pageSize: paginationProps?.pageSize,\n };\n\n return (\n <DndContext {...{ onDragEnd, sensors }} onDragStart={setDragState}>\n <DataTable {...dataTableProps} />\n {createPortal(\n <DragOverlay modifiers={[restrictToVerticalAxis]}>\n {dragState?.active && renderOverlay(dragState.active.data?.current)}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n );\n};\n\nDndTable.propTypes = {\n rowData: PropTypes.arrayOf(PropTypes.object).isRequired,\n columnData: PropTypes.arrayOf(PropTypes.object).isRequired,\n overlayColumnIndex: PropTypes.number,\n isRowDroppable: PropTypes.func,\n onDrop: PropTypes.func.isRequired,\n rowSelection: PropTypes.bool,\n selectedRowKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n onRowSelect: PropTypes.func,\n enableSorting: PropTypes.bool,\n sorting: PropTypes.arrayOf(\n PropTypes.shape({ id: PropTypes.string, desc: PropTypes.bool })\n ),\n onSort: PropTypes.func,\n enableColumnFreeze: PropTypes.bool,\n columnPinning: PropTypes.shape({ left: PropTypes.arrayOf(PropTypes.string) }),\n onColumnPinningChange: PropTypes.func,\n currentPageNumber: PropTypes.number,\n paginationProps: PropTypes.shape({ pageSize: PropTypes.number }),\n};\n\nexport default DndTable;\n","import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport useStateWithDependency from \"neetocommons/v2/react-utils/useStateWithDependency\";\nimport { path, remove } from \"ramda\";\n\nconst useDndTable = ({ rowData, onUpdate }) => {\n const [rowDataState, setRowDataState] = useStateWithDependency(rowData, [\n rowData,\n ]);\n\n const onDrop = async (active, over) => {\n const stateBefore = rowDataState;\n setRowDataState(remove(active.index, 1));\n\n try {\n await onUpdate(active, over);\n } catch (error) {\n setRowDataState(stateBefore);\n const errors = path([\"response\", \"data\", \"errors\"], error);\n const message = errors && Object.values(errors)[0]?.[0];\n if (message) Toastr.error(message);\n }\n };\n\n return { rowData: rowDataState, onDrop };\n};\n\nexport default useDndTable;\n"],"names":["DEFAULT_COLUMN_SIZE","SELECTION_COLUMN_SIZE","PINNED_CELL_CLASS","LAST_PINNED_SHADOW_CLASS","getColumnId","col","key","dataIndex","getBodyColumnLayout","_ref","_columnPinning$left","columnData","columnPinning","_ref$columnSizing","columnSizing","_ref$rowSelection","rowSelection","_ref$enableColumnFree","enableColumnFreeze","leftIds","left","leftSet","Set","sizeOf","_ref2","_columnSizing$getColu","width","columnById","id","find","isSelectionPinned","leftPinned","offset","push","type","pinned","size","forEach","length","isLastPinned","center","has","concat","Row","children","data","index","className","isDroppable","rest","_objectWithoutProperties","_excluded","_useDraggable","useDraggable","_objectSpread","isDragging","attributes","listeners","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","disabled","isOver","setDroppableNodeRef","isIndicatorVisible","_jsx","classNames","ref","node","sensorConfig","activationConstraint","distance","getRowKey","row","_row$id","String","buildColumns","map","title","sorter","enableSorting","accessorKey","header","undefined","Boolean","toSortInfo","sortingState","_sortingState","_slicedToArray","sort","field","order","desc","DndTable","_ref3","_dragState$active$dat","rowData","_ref3$overlayColumnIn","overlayColumnIndex","_ref3$isRowDroppable","isRowDroppable","T","_ref3$onDrop","onDrop","noop","_ref3$rowSelection","_ref3$selectedRowKeys","selectedRowKeys","_ref3$onRowSelect","onRowSelect","_ref3$enableSorting","sorting","_ref3$onSort","onSort","_ref3$enableColumnFre","_ref3$onColumnPinning","onColumnPinningChange","currentPageNumber","paginationProps","childrenColumnName","_useState","useState","_useState2","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","isSortingControlled","_useState3","_useState4","uncontrolledSorting","setUncontrolledSorting","applySorting","updater","nextSorting","isPinningControlled","_useState5","_useState6","uncontrolledPinning","setUncontrolledPinning","pinningState","applyPinning","nextPinning","_useState7","_useState8","setColumnSizing","onColumnSizingChange","prev","selectedKeys","selectedKeySet","onDragEnd","_ref4","active","over","current","renderOverlay","colData","cellValue","render","toggleRowSelection","rowItem","rowKey","nextKeys","filter","_toConsumableArray","nextKeySet","columnLayout","pinnedCellProps","_ref5","isPinned","_defineProperty","style","minWidth","maxWidth","renderSelectionCell","descriptor","_pinnedCellProps","_createElement","TableCell","onClick","e","stopPropagation","Checkbox","checked","onCheckedChange","renderDataCell","renderBody","TableBody","dataTableProps","columns","getRowId","enableColumnResize","enableURLPagination","enableHeaderMenu","enableURLSort","onSortingChange","enableRowSelection","currentPage","pageSize","_jsxs","DndContext","onDragStart","DataTable","createPortal","DragOverlay","modifiers","restrictToVerticalAxis","document","body","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useDndTable","onUpdate","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","rowDataState","setRowDataState","_asyncToGenerator","_callee","stateBefore","_Object$values$","errors","message","_t","_context","remove","path","values","Toastr","error","_x","_x2","apply","arguments"],"mappings":"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"}
|
package/dist/v2/MoreDropdown.js
CHANGED
|
@@ -84,9 +84,12 @@ var MenuItem = function MenuItem(_ref) {
|
|
|
84
84
|
}, menuItemProps)));
|
|
85
85
|
}
|
|
86
86
|
return /*#__PURE__*/jsx(DropdownMenu.MenuItem, _objectSpread$1(_objectSpread$1({
|
|
87
|
-
onClick: onClick,
|
|
88
87
|
role: "menuitem"
|
|
89
|
-
},
|
|
88
|
+
}, _objectSpread$1(_objectSpread$1({
|
|
89
|
+
onClick: onClick
|
|
90
|
+
}, typeof label === "string" && {
|
|
91
|
+
"data-testid": "".concat(hyphenate(label), "-menu-item")
|
|
92
|
+
}), menuItemProps)), {}, {
|
|
90
93
|
children: label
|
|
91
94
|
}));
|
|
92
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreDropdown.js","sources":["../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.mjs","../../src/v2/components/MoreDropdown/constants.js","../../src/v2/components/MoreDropdown/Submenu.jsx","../../src/v2/components/MoreDropdown/MenuItem.jsx","../../src/v2/components/MoreDropdown/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n];\nconst EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode);\n\nexport { __iconNode, EllipsisVertical as default };\n//# sourceMappingURL=ellipsis-vertical.mjs.map\n","const MENU_ITEM_TYPES = { menuItem: \"menuItem\", divider: \"divider\" };\n\nconst DEFAULT_TOOLTIP_PROPS = { disabled: true, position: \"bottom\" };\n\nconst BUTTON_VARIANTS = [\n \"default\",\n \"secondary\",\n \"destructive\",\n \"destructive-soft\",\n \"outline\",\n \"ghost\",\n \"link\",\n];\n\nconst BUTTON_SIZES = [\n \"default\",\n \"xs\",\n \"sm\",\n \"lg\",\n \"icon\",\n \"icon-xs\",\n \"icon-sm\",\n \"icon-lg\",\n];\n\nconst DROPDOWN_POSITIONS = [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"top-start\",\n \"top-end\",\n \"bottom-start\",\n \"bottom-end\",\n \"left-start\",\n \"left-end\",\n \"right-start\",\n \"right-end\",\n \"auto\",\n];\n\nexport {\n MENU_ITEM_TYPES,\n DEFAULT_TOOLTIP_PROPS,\n BUTTON_VARIANTS,\n BUTTON_SIZES,\n DROPDOWN_POSITIONS,\n};\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst Submenu = withT(({ t, label, menuItems = [] }) => (\n <DropdownMenu.SubMenu\n {...{ label }}\n triggerProps={{ \"aria-haspopup\": \"menu\" }}\n contentProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.submenuAriaLabel\", {\n label,\n }),\n }}\n >\n {menuItems.map(({ isVisible = true, key, ...itemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(itemProps.label || \"menu-item\")}\n {...itemProps}\n />\n );\n })}\n </DropdownMenu.SubMenu>\n));\n\nexport default Submenu;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\n\nimport Submenu from \"./Submenu\";\n\nconst MenuItem = ({\n onClick,\n label,\n type = \"menuItem\",\n hasSubItems = false,\n menuItems,\n dropdownProps,\n ...menuItemProps\n}) => {\n if (type === \"divider\") return <DropdownMenu.Divider role=\"separator\" />;\n\n if (hasSubItems) {\n return (\n <Submenu {...{ dropdownProps, label, menuItems, ...menuItemProps }} />\n );\n }\n\n return (\n <DropdownMenu.MenuItem {...{ onClick }} role=\"menuitem\" {...menuItemProps}>\n {label}\n </DropdownMenu.MenuItem>\n );\n};\n\nexport default MenuItem;\n","import { Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Ellipsis, EllipsisVertical } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_SIZES,\n BUTTON_VARIANTS,\n DEFAULT_TOOLTIP_PROPS,\n DROPDOWN_POSITIONS,\n MENU_ITEM_TYPES,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const {\n isRounded: isRoundedButton,\n size: buttonSize = \"icon\",\n tooltipProps: customTooltipProps,\n variant = \"ghost\",\n ...buttonProps\n } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);\n\n const TargetIcon = isVertical ? EllipsisVertical : Ellipsis;\n\n const { className: contentClassName, ...restDropdownProps } = dropdownProps;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n\n const triggerClassName = classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n });\n\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip\n content={tooltipProps.content}\n position={tooltipProps.position || \"bottom\"}\n >\n <span>\n <Button\n {...{ variant }}\n disabled\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"more-dropdown-button\"\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <DropdownMenu\n customTarget={\n <Button\n {...{ variant }}\n aria-haspopup=\"menu\"\n aria-label={t(\"neetoMolecules.moreDropdown.buttonAriaLabel\")}\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"nui-dropdown-icon\"\n disabled={isDropdownDisabled}\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n }\n dropdownProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.menuAriaLabel\"),\n className: contentClassName,\n }}\n {...restDropdownProps}\n >\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label || \"menu-item\")}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </DropdownMenu>\n );\n};\n\nMoreDropdown.propTypes = {\n /**\n * Props forwarded to the trigger Button (atom). Accepts every Button prop;\n * the listed keys are the most relevant.\n */\n dropdownButtonProps: PropTypes.shape({\n variant: PropTypes.oneOf(BUTTON_VARIANTS),\n size: PropTypes.oneOf(BUTTON_SIZES),\n label: PropTypes.string,\n isRounded: PropTypes.bool,\n disabled: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n content: PropTypes.node,\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n disabled: PropTypes.bool,\n }),\n }),\n /** Render `EllipsisVertical` instead of `Ellipsis` for the trigger icon. */\n isVertical: PropTypes.bool,\n /** Disable the entire dropdown (trigger + menu). */\n isDisabled: PropTypes.bool,\n /**\n * Props forwarded to the underlying atom `DropdownMenu`.\n */\n dropdownProps: PropTypes.shape({\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n closeOnEsc: PropTypes.bool,\n closeOnSelect: PropTypes.bool,\n closeOnOutsideClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClose: PropTypes.func,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n }),\n /** Rendered above the dynamic `menuItems` inside the dropdown menu. */\n menuTopChildren: PropTypes.node,\n /** Rendered below the dynamic `menuItems` inside the dropdown menu. */\n menuBottomChildren: PropTypes.node,\n /**\n * Each entry accepts every `DropdownMenu.MenuItem` prop (`prefix`, `suffix`,\n * `variant`, `isDisabled`, `to`, `href`, …) plus the wrapper-only fields below.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n menuItems: PropTypes.array,\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["DEFAULT_TOOLTIP_PROPS","disabled","position","Submenu","withT","_ref","t","label","_ref$menuItems","menuItems","_jsx","DropdownMenu","SubMenu","triggerProps","contentProps","children","map","_ref2","_ref2$isVisible","isVisible","key","itemProps","_objectWithoutProperties","_excluded","MenuItem","_objectSpread","hyphenate","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","dropdownProps","menuItemProps","Divider","role","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_useTranslation","useTranslation","isRoundedButton","isRounded","_dropdownButtonProps$","size","buttonSize","customTooltipProps","tooltipProps","_dropdownButtonProps$2","variant","buttonProps","mergeRight","TargetIcon","EllipsisVertical","Ellipsis","contentClassName","className","restDropdownProps","_excluded2","isDropdownDisabled","triggerClassName","classnames","Tooltip","content","Button","icon","_jsxs","customTarget","_excluded3"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"MoreDropdown.js","sources":["../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.mjs","../../src/v2/components/MoreDropdown/constants.js","../../src/v2/components/MoreDropdown/Submenu.jsx","../../src/v2/components/MoreDropdown/MenuItem.jsx","../../src/v2/components/MoreDropdown/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n];\nconst EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode);\n\nexport { __iconNode, EllipsisVertical as default };\n//# sourceMappingURL=ellipsis-vertical.mjs.map\n","const MENU_ITEM_TYPES = { menuItem: \"menuItem\", divider: \"divider\" };\n\nconst DEFAULT_TOOLTIP_PROPS = { disabled: true, position: \"bottom\" };\n\nconst BUTTON_VARIANTS = [\n \"default\",\n \"secondary\",\n \"destructive\",\n \"destructive-soft\",\n \"outline\",\n \"ghost\",\n \"link\",\n];\n\nconst BUTTON_SIZES = [\n \"default\",\n \"xs\",\n \"sm\",\n \"lg\",\n \"icon\",\n \"icon-xs\",\n \"icon-sm\",\n \"icon-lg\",\n];\n\nconst DROPDOWN_POSITIONS = [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"top-start\",\n \"top-end\",\n \"bottom-start\",\n \"bottom-end\",\n \"left-start\",\n \"left-end\",\n \"right-start\",\n \"right-end\",\n \"auto\",\n];\n\nexport {\n MENU_ITEM_TYPES,\n DEFAULT_TOOLTIP_PROPS,\n BUTTON_VARIANTS,\n BUTTON_SIZES,\n DROPDOWN_POSITIONS,\n};\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst Submenu = withT(({ t, label, menuItems = [] }) => (\n <DropdownMenu.SubMenu\n {...{ label }}\n triggerProps={{ \"aria-haspopup\": \"menu\" }}\n contentProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.submenuAriaLabel\", {\n label,\n }),\n }}\n >\n {menuItems.map(({ isVisible = true, key, ...itemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(itemProps.label || \"menu-item\")}\n {...itemProps}\n />\n );\n })}\n </DropdownMenu.SubMenu>\n));\n\nexport default Submenu;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\n\nimport Submenu from \"./Submenu\";\n\nconst MenuItem = ({\n onClick,\n label,\n type = \"menuItem\",\n hasSubItems = false,\n menuItems,\n dropdownProps,\n ...menuItemProps\n}) => {\n if (type === \"divider\") return <DropdownMenu.Divider role=\"separator\" />;\n\n if (hasSubItems) {\n return (\n <Submenu {...{ dropdownProps, label, menuItems, ...menuItemProps }} />\n );\n }\n\n return (\n <DropdownMenu.MenuItem\n role=\"menuitem\"\n {...{\n onClick,\n ...(typeof label === \"string\" && {\n \"data-testid\": `${hyphenate(label)}-menu-item`,\n }),\n ...menuItemProps,\n }}\n >\n {label}\n </DropdownMenu.MenuItem>\n );\n};\n\nexport default MenuItem;\n","import { Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Ellipsis, EllipsisVertical } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_SIZES,\n BUTTON_VARIANTS,\n DEFAULT_TOOLTIP_PROPS,\n DROPDOWN_POSITIONS,\n MENU_ITEM_TYPES,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const {\n isRounded: isRoundedButton,\n size: buttonSize = \"icon\",\n tooltipProps: customTooltipProps,\n variant = \"ghost\",\n ...buttonProps\n } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);\n\n const TargetIcon = isVertical ? EllipsisVertical : Ellipsis;\n\n const { className: contentClassName, ...restDropdownProps } = dropdownProps;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n\n const triggerClassName = classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n });\n\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip\n content={tooltipProps.content}\n position={tooltipProps.position || \"bottom\"}\n >\n <span>\n <Button\n {...{ variant }}\n disabled\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"more-dropdown-button\"\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <DropdownMenu\n customTarget={\n <Button\n {...{ variant }}\n aria-haspopup=\"menu\"\n aria-label={t(\"neetoMolecules.moreDropdown.buttonAriaLabel\")}\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"nui-dropdown-icon\"\n disabled={isDropdownDisabled}\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n }\n dropdownProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.menuAriaLabel\"),\n className: contentClassName,\n }}\n {...restDropdownProps}\n >\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label || \"menu-item\")}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </DropdownMenu>\n );\n};\n\nMoreDropdown.propTypes = {\n /**\n * Props forwarded to the trigger Button (atom). Accepts every Button prop;\n * the listed keys are the most relevant.\n */\n dropdownButtonProps: PropTypes.shape({\n variant: PropTypes.oneOf(BUTTON_VARIANTS),\n size: PropTypes.oneOf(BUTTON_SIZES),\n label: PropTypes.string,\n isRounded: PropTypes.bool,\n disabled: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n content: PropTypes.node,\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n disabled: PropTypes.bool,\n }),\n }),\n /** Render `EllipsisVertical` instead of `Ellipsis` for the trigger icon. */\n isVertical: PropTypes.bool,\n /** Disable the entire dropdown (trigger + menu). */\n isDisabled: PropTypes.bool,\n /**\n * Props forwarded to the underlying atom `DropdownMenu`.\n */\n dropdownProps: PropTypes.shape({\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n closeOnEsc: PropTypes.bool,\n closeOnSelect: PropTypes.bool,\n closeOnOutsideClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClose: PropTypes.func,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n }),\n /** Rendered above the dynamic `menuItems` inside the dropdown menu. */\n menuTopChildren: PropTypes.node,\n /** Rendered below the dynamic `menuItems` inside the dropdown menu. */\n menuBottomChildren: PropTypes.node,\n /**\n * Each entry accepts every `DropdownMenu.MenuItem` prop (`prefix`, `suffix`,\n * `variant`, `isDisabled`, `to`, `href`, …) plus the wrapper-only fields below.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n menuItems: PropTypes.array,\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["DEFAULT_TOOLTIP_PROPS","disabled","position","Submenu","withT","_ref","t","label","_ref$menuItems","menuItems","_jsx","DropdownMenu","SubMenu","triggerProps","contentProps","children","map","_ref2","_ref2$isVisible","isVisible","key","itemProps","_objectWithoutProperties","_excluded","MenuItem","_objectSpread","hyphenate","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","dropdownProps","menuItemProps","Divider","role","concat","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_useTranslation","useTranslation","isRoundedButton","isRounded","_dropdownButtonProps$","size","buttonSize","customTooltipProps","tooltipProps","_dropdownButtonProps$2","variant","buttonProps","mergeRight","TargetIcon","EllipsisVertical","Ellipsis","contentClassName","className","restDropdownProps","_excluded2","isDropdownDisabled","triggerClassName","classnames","Tooltip","content","Button","icon","_jsxs","customTarget","_excluded3"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/v2/PhoneNumber.js
CHANGED
|
@@ -2,8 +2,8 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
4
|
import { useField } from 'formik';
|
|
5
|
-
import { P as PhoneNumberInput, g as getPhoneData } from '../phone-number-
|
|
6
|
-
export { i as isPhoneNumberValid, v as validation } from '../phone-number-
|
|
5
|
+
import { P as PhoneNumberInput, g as getPhoneData } from '../phone-number-n0BLV3g6.js';
|
|
6
|
+
export { i as isPhoneNumberValid, v as validation } from '../phone-number-n0BLV3g6.js';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
8
|
import { memo } from 'react';
|
|
9
9
|
import { Tooltip, Typography, Button } from '@bigbinary/neeto-atoms';
|
|
@@ -22,7 +22,7 @@ import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
|
22
22
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
23
23
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
24
24
|
import 'formik';
|
|
25
|
-
import { P as PhoneNumberInput } from '../phone-number-
|
|
25
|
+
import { P as PhoneNumberInput } from '../phone-number-n0BLV3g6.js';
|
|
26
26
|
import '../index.es5.min-Oe75miEx.js';
|
|
27
27
|
import '@babel/runtime/helpers/asyncToGenerator';
|
|
28
28
|
import 'i18next';
|
package/dist/v2/SubHeader.js
CHANGED
|
@@ -7,7 +7,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
7
7
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
8
8
|
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '@bigbinary/neeto-atoms/primitives';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
|
-
import { a as Columns$1 } from '../Columns-
|
|
10
|
+
import { a as Columns$1 } from '../Columns-CpCh1cnJ.js';
|
|
11
11
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
12
12
|
import '@tanstack/react-query';
|
|
13
13
|
import '@bigbinary/neeto-commons-frontend/v2/react-utils/useMutationWithInvalidation';
|
package/dist/v2/Taxonomy.js
CHANGED
|
@@ -37,7 +37,7 @@ import '@bigbinary/neeto-commons-frontend/v2/react-utils/useFuncDebounce';
|
|
|
37
37
|
import '@bigbinary/neeto-commons-frontend/v2/react-utils/useQueryParams';
|
|
38
38
|
import '@bigbinary/neeto-commons-frontend/v2/react-utils/useUpdateEffect';
|
|
39
39
|
import '../search-H0uYy0W-.js';
|
|
40
|
-
import '../Columns-
|
|
40
|
+
import '../Columns-CpCh1cnJ.js';
|
|
41
41
|
import '@dnd-kit/core';
|
|
42
42
|
import '@dnd-kit/modifiers';
|
|
43
43
|
import '@dnd-kit/sortable';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.32",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Columns-DElaBbbY.js","sources":["../src/v2/components/Columns/Item.jsx","../src/v2/components/Columns/api.js","../src/v2/components/Columns/constants.js","../src/v2/components/Columns/useTableConfigurationsApi.js","../src/v2/components/Columns/useTableConfigurations.js","../src/v2/components/Columns/utils.js","../src/v2/components/Columns/Columns.jsx"],"sourcesContent":["import { Checkbox, Label } from \"@bigbinary/neeto-atoms\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\n\nconst Item = ({\n column,\n hiddenColumns,\n checkboxProps,\n onToggle,\n isTableConfigurationFetching,\n}) => {\n const { id, header } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n isOver,\n over,\n active,\n } = useSortable({ id });\n\n const dragStyle = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n const isIndicatorVisible = !isDragging && isOver;\n const draggedIndex = active?.data?.current?.sortable?.index;\n const targetIndex = over?.data?.current?.sortable?.index;\n\n const isChecked = !hiddenColumns.includes(id);\n\n return (\n <div>\n <div\n className={classNames({\n \"bg-muted h-1 w-full\":\n isIndicatorVisible && targetIndex < draggedIndex,\n })}\n />\n <div\n className=\"hover:bg-accent relative flex items-center px-5 py-2\"\n data-testid=\"column-sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"absolute inset-y-0 start-0 z-10 flex w-5 cursor-grab items-center justify-center active:cursor-grabbing\"\n data-testid=\"column-drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground/50 hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </div>\n <Label className=\"flex w-full cursor-pointer items-center\" htmlFor={id}>\n <Checkbox\n {...{ id }}\n checked={isChecked}\n data-testid=\"neeto-ui-columns-checkbox\"\n disabled={isTableConfigurationFetching}\n name={id}\n onCheckedChange={checked => {\n onToggle({ target: { name: id, checked } });\n }}\n {...checkboxProps}\n />\n <span className=\"ms-2 text-sm\">{header}</span>\n </Label>\n </div>\n <div\n className={classNames({\n \"bg-muted h-1 w-full\":\n isIndicatorVisible && targetIndex > draggedIndex,\n })}\n />\n </div>\n );\n};\n\nexport default Item;\n","import axios from \"axios\";\n\nconst baseUrl = \"api/v1/table_configurations\";\n\nconst fetch = tableKey => axios.get(`${baseUrl}/${tableKey}`);\n\nconst create = payload => axios.post(baseUrl, { tableConfiguration: payload });\n\nconst update = ({ tableKey, payload }) =>\n axios.patch(`${baseUrl}/${tableKey}`, { tableConfiguration: payload });\n\nconst destroy = tableKey => axios.delete(`${baseUrl}/${tableKey}`);\n\nconst tableConfigurationApi = { fetch, create, update, destroy };\n\nexport default tableConfigurationApi;\n","export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\nexport const COLUMNS_ORDER_STORAGE_KEY = \"neeto-molecules-columns-order\";\nexport const TABLE_CONFIGURATION_QUERY_KEY = \"table-configuration\";\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/v2/react-utils/useMutationWithInvalidation\";\n\nimport tableConfigurationApi from \"./api\";\nimport { TABLE_CONFIGURATION_QUERY_KEY } from \"./constants.js\";\n\nconst useFetchTableConfiguration = ({ tableKey, options = {} }) =>\n useQuery({\n queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],\n enabled: !!tableKey,\n queryFn: () => tableConfigurationApi.fetch(tableKey),\n ...options,\n });\n\nconst useUpdateTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nconst useDestroyTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.destroy, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nexport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n};\n","import { useEffect, useMemo, useCallback } from \"react\";\n\nimport { isNotEqualDeep, isNotEmpty, noop } from \"neetocist\";\nimport { isEmpty, pluck, prop } from \"ramda\";\n\nimport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n} from \"./useTableConfigurationsApi.js\";\n\nconst useTableConfigurations = (\n tableKey,\n columnData,\n onMutationSuccess = noop,\n allowConfigurationResetOnUpdate = true,\n defaultHiddenColumns = []\n) => {\n const {\n data: tableConfiguration,\n isLoading,\n isFetching,\n } = useFetchTableConfiguration({ tableKey });\n\n const { mutate: updateConfiguration } = useUpdateTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const { mutate: destroyConfiguration } = useDestroyTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const processColumnsWithConfiguration = useCallback(\n (originalColumns = [], existingColumnConfiguration = []) => {\n if (isEmpty(existingColumnConfiguration)) {\n return originalColumns;\n }\n\n const originalColumnsById = new Map(\n originalColumns?.filter(prop(\"id\")).map(column => [column.id, column])\n );\n\n const configurationByKey = new Map(\n existingColumnConfiguration.map(config => [config.key, config])\n );\n\n const orderedConfiguredColumns = existingColumnConfiguration\n .map(config => originalColumnsById.get(config.key))\n .filter(Boolean);\n\n const unconfiguredOriginalColumns = originalColumns.filter(\n column => column.id && !configurationByKey.has(column.id)\n );\n\n return [...orderedConfiguredColumns, ...unconfiguredOriginalColumns];\n },\n []\n );\n\n const hasAdditionalColumns = useMemo(() => {\n if (!tableConfiguration?.columns || !columnData) {\n return false;\n }\n\n const configurationKeys = pluck(\"key\", tableConfiguration.columns).sort();\n const dataKeys = columnData.map(col => col.id).sort();\n\n return isNotEqualDeep(configurationKeys, dataKeys);\n }, [tableConfiguration, columnData]);\n\n const shouldApplyTableConfiguration = useMemo(\n () =>\n !isLoading &&\n tableConfiguration?.columns &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns,\n [tableConfiguration, isLoading, hasAdditionalColumns]\n );\n\n useEffect(() => {\n if (\n hasAdditionalColumns &&\n tableConfiguration &&\n allowConfigurationResetOnUpdate\n ) {\n destroyConfiguration(tableKey);\n }\n }, [hasAdditionalColumns, tableKey, allowConfigurationResetOnUpdate]);\n\n const allProcessedColumns = useMemo(() => {\n if (\n !isLoading &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns\n ) {\n return processColumnsWithConfiguration(\n columnData,\n tableConfiguration?.columns\n );\n }\n\n return columnData || [];\n }, [\n isLoading,\n tableConfiguration?.columns,\n hasAdditionalColumns,\n columnData,\n processColumnsWithConfiguration,\n ]);\n\n const existingColumnConfiguration = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n return tableConfiguration.columns;\n }\n\n if (!columnData || isEmpty(columnData)) {\n return [];\n }\n\n return columnData.map(column => ({\n key: column.id,\n isShown: !defaultHiddenColumns.includes(column.id),\n }));\n }, [\n shouldApplyTableConfiguration,\n columnData,\n tableConfiguration?.columns,\n defaultHiddenColumns,\n ]);\n\n const customizedColumns = useMemo(() => {\n const visibleColumnsConfig = existingColumnConfiguration.filter(\n prop(\"isShown\")\n );\n const visibleColumnKeys = pluck(\"key\", visibleColumnsConfig);\n\n return allProcessedColumns.filter(\n column =>\n column.enableHiding === false || visibleColumnKeys.includes(column.id)\n );\n }, [allProcessedColumns, existingColumnConfiguration]);\n\n const updateColumns = updatedColumns => {\n updateConfiguration({\n tableKey,\n payload: { table_key: tableKey, columns: updatedColumns },\n });\n };\n\n const hideColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: false } : column\n )\n );\n };\n\n const showColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: true } : column\n )\n );\n };\n\n return {\n customizedColumns,\n allProcessedColumns,\n isTableConfigurationLoading: isLoading,\n isTableConfigurationFetching: isFetching,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n };\n};\n\nexport default useTableConfigurations;\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ enableHiding: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ header = \"\" }) =>\n includes(trim(toLower(searchTerm)), trim(toLower(header))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ id: hiddenColumn }, columnData)\n );\n","import { useState } from \"react\";\n\nimport { Button, Checkbox, Input, Label } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n Separator,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n restrictToFirstScrollableAncestor,\n restrictToVerticalAxis,\n} from \"@dnd-kit/modifiers\";\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, findIndexBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, pluck, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Item from \"./Item\";\nimport useTableConfigurations from \"./useTableConfigurations.js\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils.js\";\n\nconst Columns = ({\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n tableKey = \"\",\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n searchProps = {},\n allowConfigurationResetOnUpdate = true,\n onMutationSuccess = noop,\n defaultHiddenColumns = [],\n buttonProps = {},\n onOpenChange = noop,\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n isTableConfigurationFetching,\n } = useTableConfigurations(\n tableKey,\n columnData,\n onMutationSuccess,\n allowConfigurationResetOnUpdate,\n defaultHiddenColumns\n );\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => column.isShown === false)\n );\n\n const handleDragEnd = event => {\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n\n const oldIndex = findIndexBy(\n { key: active.id },\n existingColumnConfiguration\n );\n\n const newIndex = findIndexBy({ key: over.id }, existingColumnConfiguration);\n\n if (oldIndex === -1 || newIndex === -1) return;\n\n const newOrder = [...existingColumnConfiguration];\n const [movedItem] = newOrder.splice(oldIndex, 1);\n newOrder.splice(newIndex, 0, movedItem);\n updateColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n const handleHideAllColumns = () => {\n const columnsToHideKeys = pluck(\"id\", columns);\n\n updateColumns(\n existingColumnConfiguration.map(column =>\n includes(column.key, columnsToHideKeys)\n ? assoc(\"isShown\", false, column)\n : column\n )\n );\n };\n\n const handleChange = ({ target: { name: columnId, checked } }) => {\n if (checked) showColumn(columnId);\n else hideColumn(columnId);\n };\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const {\n icon: Icon,\n \"data-testid\": dataTestId = \"columns-dropdown-button\",\n label: buttonLabel,\n ...restButtonProps\n } = buttonProps;\n\n return (\n <Popover\n {...{ open }}\n onOpenChange={isOpen => {\n setOpen(isOpen);\n onOpenChange(isOpen);\n if (!isOpen) setSearchTerm(\"\");\n }}\n >\n <PopoverTrigger asChild>\n <Button\n data-testid={dataTestId}\n icon={Icon || undefined}\n label={buttonLabel || undefined}\n size={buttonLabel ? \"default\" : \"icon\"}\n variant=\"ghost\"\n {...restButtonProps}\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"flex max-h-[min(calc(100dvh-200px),var(--radix-popper-available-height))] w-80 max-w-[31.25rem] flex-col p-0\"\n >\n <div\n className=\"flex min-h-0 flex-1 flex-col\"\n data-testid=\"customize-columns-dropdown-container\"\n >\n {isSearchable && (\n <div className=\"relative shrink-0 p-3\">\n <Input\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-x-hidden overflow-y-auto\">\n {isEmpty(filteredColumns) && (\n <span className=\"flex flex-col items-center p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext\n collisionDetection={closestCenter}\n modifiers={[\n restrictToVerticalAxis,\n restrictToFirstScrollableAncestor,\n ]}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={pluck(\"id\", filteredColumns)}\n strategy={verticalListSortingStrategy}\n >\n {filteredColumns.map(column => (\n <Item\n {...{\n checkboxProps,\n column,\n hiddenColumns,\n isTableConfigurationFetching,\n }}\n key={column.id}\n onToggle={handleChange}\n />\n ))}\n </SortableContext>\n </DndContext>\n )}\n {isNotEmpty(filteredColumns) &&\n searchTerm &&\n filteredColumns.map(({ id, header }) => (\n <Label\n className=\"hover:bg-accent flex w-full cursor-pointer items-center px-5 py-2\"\n htmlFor={id}\n key={id}\n >\n <Checkbox\n {...{ id }}\n checked={!hiddenColumns.includes(id)}\n data-testid=\"neeto-ui-columns-checkbox\"\n name={id}\n onCheckedChange={checked => {\n handleChange({ target: { name: id, checked } });\n }}\n {...checkboxProps}\n />\n <span className=\"ms-2 text-sm\">{header}</span>\n </Label>\n ))}\n </div>\n <div className=\"shrink-0\">\n <Separator />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Separator />\n </>\n )}\n <div className=\"flex justify-end gap-2 px-3 py-2\">\n <Button\n data-testid=\"column-visibility-hide-all-button\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleHideAllColumns}\n >\n {t(\"neetoMolecules.columns.hideAll\")}\n </Button>\n <Button\n data-testid=\"column-visibility-reset-button\"\n size=\"sm\"\n variant=\"outline\"\n onClick={() => destroyConfiguration(tableKey)}\n >\n {t(\"neetoMolecules.columns.reset\")}\n </Button>\n </div>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n\nColumns.propTypes = {\n allowConfigurationResetOnUpdate: PropTypes.bool,\n actionBlock: PropTypes.element,\n checkboxProps: PropTypes.object,\n columnData: PropTypes.array,\n isSearchable: PropTypes.bool,\n tableKey: PropTypes.string,\n noColumnMessage: PropTypes.string,\n searchProps: PropTypes.object,\n onMutationSuccess: PropTypes.func,\n onOpenChange: PropTypes.func,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["Item","_ref","_active$data","_over$data","column","hiddenColumns","checkboxProps","onToggle","isTableConfigurationFetching","id","header","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","transition","isDragging","isOver","over","active","dragStyle","CSS","Transform","toString","opacity","isIndicatorVisible","draggedIndex","data","current","sortable","index","targetIndex","isChecked","includes","_jsxs","children","_jsx","className","classNames","ref","style","_objectSpread","GripVertical","size","Label","htmlFor","Checkbox","checked","disabled","name","onCheckedChange","target","baseUrl","fetch","tableKey","axios","get","concat","create","payload","post","tableConfiguration","update","patch","destroy","tableConfigurationApi","HIDDEN_COLUMNS_STORAGE_KEY","COLUMNS_ORDER_STORAGE_KEY","TABLE_CONFIGURATION_QUERY_KEY","useFetchTableConfiguration","_ref$options","options","useQuery","queryKey","enabled","queryFn","useUpdateTableConfiguration","arguments","length","undefined","useMutationWithInvalidation","keysToInvalidate","useDestroyTableConfiguration","useTableConfigurations","columnData","onMutationSuccess","noop","allowConfigurationResetOnUpdate","defaultHiddenColumns","_useFetchTableConfigu","isLoading","isFetching","_useUpdateTableConfig","onSuccess","updateConfiguration","mutate","_useDestroyTableConfi","destroyConfiguration","processColumnsWithConfiguration","useCallback","originalColumns","existingColumnConfiguration","isEmpty","originalColumnsById","Map","filter","prop","map","configurationByKey","config","key","orderedConfiguredColumns","Boolean","unconfiguredOriginalColumns","has","_toConsumableArray","hasAdditionalColumns","useMemo","columns","configurationKeys","pluck","sort","dataKeys","col","isNotEqualDeep","shouldApplyTableConfiguration","isNotEmpty","useEffect","allProcessedColumns","isShown","customizedColumns","visibleColumnsConfig","visibleColumnKeys","enableHiding","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","isTableConfigurationLoading","getHidableColumns","removeBy","filterBySearchTerm","searchTerm","_ref$header","trim","toLower","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","_ref$allowConfigurati","_ref$onMutationSucces","_ref$defaultHiddenCol","_ref$buttonProps","buttonProps","_ref$onOpenChange","onOpenChange","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useState3","_useState4","open","setOpen","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","oldIndex","findIndexBy","newIndex","newOrder","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleHideAllColumns","columnsToHideKeys","assoc","handleChange","_ref2","_ref2$target","columnId","handleSearch","_ref3","value","Icon","icon","_buttonProps$dataTes","dataTestId","buttonLabel","label","restButtonProps","_objectWithoutProperties","_excluded","Popover","isOpen","PopoverTrigger","asChild","Button","variant","PopoverContent","align","Input","placeholder","prefix","Search","type","onChange","DndContext","collisionDetection","closestCenter","modifiers","restrictToVerticalAxis","restrictToFirstScrollableAncestor","onDragEnd","SortableContext","items","strategy","verticalListSortingStrategy","_createElement","_ref4","Separator","_Fragment","onClick","displayName"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Columns-r4syEJxD.js","sources":["../../src/v2/components/Columns/Item.jsx","../../src/v2/components/Columns/api.js","../../src/v2/components/Columns/constants.js","../../src/v2/components/Columns/useTableConfigurationsApi.js","../../src/v2/components/Columns/useTableConfigurations.js","../../src/v2/components/Columns/utils.js","../../src/v2/components/Columns/Columns.jsx"],"sourcesContent":["import { Checkbox, Label } from \"@bigbinary/neeto-atoms\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\n\nconst Item = ({\n column,\n hiddenColumns,\n checkboxProps,\n onToggle,\n isTableConfigurationFetching,\n}) => {\n const { id, header } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n isOver,\n over,\n active,\n } = useSortable({ id });\n\n const dragStyle = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n const isIndicatorVisible = !isDragging && isOver;\n const draggedIndex = active?.data?.current?.sortable?.index;\n const targetIndex = over?.data?.current?.sortable?.index;\n\n const isChecked = !hiddenColumns.includes(id);\n\n return (\n <div>\n <div\n className={classNames({\n \"bg-muted h-1 w-full\":\n isIndicatorVisible && targetIndex < draggedIndex,\n })}\n />\n <div\n className=\"hover:bg-accent relative flex items-center px-5 py-2\"\n data-testid=\"column-sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"absolute inset-y-0 start-0 z-10 flex w-5 cursor-grab items-center justify-center active:cursor-grabbing\"\n data-testid=\"column-drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground/50 hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </div>\n <Label className=\"flex w-full cursor-pointer items-center\" htmlFor={id}>\n <Checkbox\n {...{ id }}\n checked={isChecked}\n data-testid=\"neeto-ui-columns-checkbox\"\n disabled={isTableConfigurationFetching}\n name={id}\n onCheckedChange={checked => {\n onToggle({ target: { name: id, checked } });\n }}\n {...checkboxProps}\n />\n <span className=\"ms-2 text-sm\">{header}</span>\n </Label>\n </div>\n <div\n className={classNames({\n \"bg-muted h-1 w-full\":\n isIndicatorVisible && targetIndex > draggedIndex,\n })}\n />\n </div>\n );\n};\n\nexport default Item;\n","import axios from \"axios\";\n\nconst baseUrl = \"api/v1/table_configurations\";\n\nconst fetch = tableKey => axios.get(`${baseUrl}/${tableKey}`);\n\nconst create = payload => axios.post(baseUrl, { tableConfiguration: payload });\n\nconst update = ({ tableKey, payload }) =>\n axios.patch(`${baseUrl}/${tableKey}`, { tableConfiguration: payload });\n\nconst destroy = tableKey => axios.delete(`${baseUrl}/${tableKey}`);\n\nconst tableConfigurationApi = { fetch, create, update, destroy };\n\nexport default tableConfigurationApi;\n","export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\nexport const COLUMNS_ORDER_STORAGE_KEY = \"neeto-molecules-columns-order\";\nexport const TABLE_CONFIGURATION_QUERY_KEY = \"table-configuration\";\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/v2/react-utils/useMutationWithInvalidation\";\n\nimport tableConfigurationApi from \"./api\";\nimport { TABLE_CONFIGURATION_QUERY_KEY } from \"./constants.js\";\n\nconst useFetchTableConfiguration = ({ tableKey, options = {} }) =>\n useQuery({\n queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],\n enabled: !!tableKey,\n queryFn: () => tableConfigurationApi.fetch(tableKey),\n ...options,\n });\n\nconst useUpdateTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nconst useDestroyTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.destroy, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nexport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n};\n","import { useEffect, useMemo, useCallback } from \"react\";\n\nimport { isNotEqualDeep, isNotEmpty, noop } from \"neetocist\";\nimport { isEmpty, pluck, prop } from \"ramda\";\n\nimport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n} from \"./useTableConfigurationsApi.js\";\n\nconst useTableConfigurations = (\n tableKey,\n columnData,\n onMutationSuccess = noop,\n allowConfigurationResetOnUpdate = true,\n defaultHiddenColumns = []\n) => {\n const {\n data: tableConfiguration,\n isLoading,\n isFetching,\n } = useFetchTableConfiguration({ tableKey });\n\n const { mutate: updateConfiguration } = useUpdateTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const { mutate: destroyConfiguration } = useDestroyTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const processColumnsWithConfiguration = useCallback(\n (originalColumns = [], existingColumnConfiguration = []) => {\n if (isEmpty(existingColumnConfiguration)) {\n return originalColumns;\n }\n\n const originalColumnsById = new Map(\n originalColumns?.filter(prop(\"id\")).map(column => [column.id, column])\n );\n\n const configurationByKey = new Map(\n existingColumnConfiguration.map(config => [config.key, config])\n );\n\n const orderedConfiguredColumns = existingColumnConfiguration\n .map(config => originalColumnsById.get(config.key))\n .filter(Boolean);\n\n const unconfiguredOriginalColumns = originalColumns.filter(\n column => column.id && !configurationByKey.has(column.id)\n );\n\n return [...orderedConfiguredColumns, ...unconfiguredOriginalColumns];\n },\n []\n );\n\n const hasAdditionalColumns = useMemo(() => {\n if (!tableConfiguration?.columns || !columnData) {\n return false;\n }\n\n const configurationKeys = pluck(\"key\", tableConfiguration.columns).sort();\n const dataKeys = columnData.map(col => col.id).sort();\n\n return isNotEqualDeep(configurationKeys, dataKeys);\n }, [tableConfiguration, columnData]);\n\n const shouldApplyTableConfiguration = useMemo(\n () =>\n !isLoading &&\n tableConfiguration?.columns &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns,\n [tableConfiguration, isLoading, hasAdditionalColumns]\n );\n\n useEffect(() => {\n if (\n hasAdditionalColumns &&\n tableConfiguration &&\n allowConfigurationResetOnUpdate\n ) {\n destroyConfiguration(tableKey);\n }\n }, [hasAdditionalColumns, tableKey, allowConfigurationResetOnUpdate]);\n\n const allProcessedColumns = useMemo(() => {\n if (\n !isLoading &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns\n ) {\n return processColumnsWithConfiguration(\n columnData,\n tableConfiguration?.columns\n );\n }\n\n return columnData || [];\n }, [\n isLoading,\n tableConfiguration?.columns,\n hasAdditionalColumns,\n columnData,\n processColumnsWithConfiguration,\n ]);\n\n const existingColumnConfiguration = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n return tableConfiguration.columns;\n }\n\n if (!columnData || isEmpty(columnData)) {\n return [];\n }\n\n return columnData.map(column => ({\n key: column.id,\n isShown: !defaultHiddenColumns.includes(column.id),\n }));\n }, [\n shouldApplyTableConfiguration,\n columnData,\n tableConfiguration?.columns,\n defaultHiddenColumns,\n ]);\n\n const customizedColumns = useMemo(() => {\n const visibleColumnsConfig = existingColumnConfiguration.filter(\n prop(\"isShown\")\n );\n const visibleColumnKeys = pluck(\"key\", visibleColumnsConfig);\n\n return allProcessedColumns.filter(\n column =>\n column.enableHiding === false || visibleColumnKeys.includes(column.id)\n );\n }, [allProcessedColumns, existingColumnConfiguration]);\n\n const updateColumns = updatedColumns => {\n updateConfiguration({\n tableKey,\n payload: { table_key: tableKey, columns: updatedColumns },\n });\n };\n\n const hideColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: false } : column\n )\n );\n };\n\n const showColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: true } : column\n )\n );\n };\n\n return {\n customizedColumns,\n allProcessedColumns,\n isTableConfigurationLoading: isLoading,\n isTableConfigurationFetching: isFetching,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n };\n};\n\nexport default useTableConfigurations;\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ enableHiding: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ header = \"\" }) =>\n includes(trim(toLower(searchTerm)), trim(toLower(header))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ id: hiddenColumn }, columnData)\n );\n","import { useState } from \"react\";\n\nimport { Button, Checkbox, Input, Label } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n Separator,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n restrictToFirstScrollableAncestor,\n restrictToVerticalAxis,\n} from \"@dnd-kit/modifiers\";\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, findIndexBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, pluck, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Item from \"./Item\";\nimport useTableConfigurations from \"./useTableConfigurations.js\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils.js\";\n\nconst Columns = ({\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n tableKey = \"\",\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n searchProps = {},\n allowConfigurationResetOnUpdate = true,\n onMutationSuccess = noop,\n defaultHiddenColumns = [],\n buttonProps = {},\n onOpenChange = noop,\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n isTableConfigurationFetching,\n } = useTableConfigurations(\n tableKey,\n columnData,\n onMutationSuccess,\n allowConfigurationResetOnUpdate,\n defaultHiddenColumns\n );\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => column.isShown === false)\n );\n\n const handleDragEnd = event => {\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n\n const oldIndex = findIndexBy(\n { key: active.id },\n existingColumnConfiguration\n );\n\n const newIndex = findIndexBy({ key: over.id }, existingColumnConfiguration);\n\n if (oldIndex === -1 || newIndex === -1) return;\n\n const newOrder = [...existingColumnConfiguration];\n const [movedItem] = newOrder.splice(oldIndex, 1);\n newOrder.splice(newIndex, 0, movedItem);\n updateColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n const handleHideAllColumns = () => {\n const columnsToHideKeys = pluck(\"id\", columns);\n\n updateColumns(\n existingColumnConfiguration.map(column =>\n includes(column.key, columnsToHideKeys)\n ? assoc(\"isShown\", false, column)\n : column\n )\n );\n };\n\n const handleChange = ({ target: { name: columnId, checked } }) => {\n if (checked) showColumn(columnId);\n else hideColumn(columnId);\n };\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const {\n icon: Icon,\n \"data-testid\": dataTestId = \"columns-dropdown-button\",\n label: buttonLabel,\n ...restButtonProps\n } = buttonProps;\n\n return (\n <Popover\n {...{ open }}\n onOpenChange={isOpen => {\n setOpen(isOpen);\n onOpenChange(isOpen);\n if (!isOpen) setSearchTerm(\"\");\n }}\n >\n <PopoverTrigger asChild>\n <Button\n data-testid={dataTestId}\n icon={Icon || undefined}\n label={buttonLabel || undefined}\n size={buttonLabel ? \"default\" : \"icon\"}\n variant=\"ghost\"\n {...restButtonProps}\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"flex max-h-[min(calc(100dvh-200px),var(--radix-popper-available-height))] w-80 max-w-[31.25rem] flex-col p-0\"\n >\n <div\n className=\"flex min-h-0 flex-1 flex-col\"\n data-testid=\"customize-columns-dropdown-container\"\n >\n {isSearchable && (\n <div className=\"relative shrink-0 p-3\">\n <Input\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-x-hidden overflow-y-auto\">\n {isEmpty(filteredColumns) && (\n <span className=\"flex flex-col items-center p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext\n collisionDetection={closestCenter}\n modifiers={[\n restrictToVerticalAxis,\n restrictToFirstScrollableAncestor,\n ]}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={pluck(\"id\", filteredColumns)}\n strategy={verticalListSortingStrategy}\n >\n {filteredColumns.map(column => (\n <Item\n {...{\n checkboxProps,\n column,\n hiddenColumns,\n isTableConfigurationFetching,\n }}\n key={column.id}\n onToggle={handleChange}\n />\n ))}\n </SortableContext>\n </DndContext>\n )}\n {isNotEmpty(filteredColumns) &&\n searchTerm &&\n filteredColumns.map(({ id, header }) => (\n <Label\n className=\"hover:bg-accent flex w-full cursor-pointer items-center px-5 py-2\"\n htmlFor={id}\n key={id}\n >\n <Checkbox\n {...{ id }}\n checked={!hiddenColumns.includes(id)}\n data-testid=\"neeto-ui-columns-checkbox\"\n name={id}\n onCheckedChange={checked => {\n handleChange({ target: { name: id, checked } });\n }}\n {...checkboxProps}\n />\n <span className=\"ms-2 text-sm\">{header}</span>\n </Label>\n ))}\n </div>\n <div className=\"shrink-0\">\n <Separator />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Separator />\n </>\n )}\n <div className=\"flex justify-end gap-2 px-3 py-2\">\n <Button\n data-testid=\"column-visibility-hide-all-button\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleHideAllColumns}\n >\n {t(\"neetoMolecules.columns.hideAll\")}\n </Button>\n <Button\n data-testid=\"column-visibility-reset-button\"\n size=\"sm\"\n variant=\"outline\"\n onClick={() => destroyConfiguration(tableKey)}\n >\n {t(\"neetoMolecules.columns.reset\")}\n </Button>\n </div>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n\nColumns.propTypes = {\n allowConfigurationResetOnUpdate: PropTypes.bool,\n actionBlock: PropTypes.element,\n checkboxProps: PropTypes.object,\n columnData: PropTypes.array,\n isSearchable: PropTypes.bool,\n tableKey: PropTypes.string,\n noColumnMessage: PropTypes.string,\n searchProps: PropTypes.object,\n onMutationSuccess: PropTypes.func,\n onOpenChange: PropTypes.func,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["Item","_ref","_active$data","_over$data","column","hiddenColumns","checkboxProps","onToggle","isTableConfigurationFetching","id","header","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","transition","isDragging","isOver","over","active","dragStyle","CSS","Transform","toString","opacity","isIndicatorVisible","draggedIndex","data","current","sortable","index","targetIndex","isChecked","includes","_jsxs","children","_jsx","className","classNames","ref","style","_objectSpread","GripVertical","size","Label","htmlFor","Checkbox","checked","disabled","name","onCheckedChange","target","baseUrl","fetch","tableKey","axios","get","concat","create","payload","post","tableConfiguration","update","patch","destroy","tableConfigurationApi","HIDDEN_COLUMNS_STORAGE_KEY","COLUMNS_ORDER_STORAGE_KEY","TABLE_CONFIGURATION_QUERY_KEY","useFetchTableConfiguration","_ref$options","options","useQuery","queryKey","enabled","queryFn","useUpdateTableConfiguration","arguments","length","undefined","useMutationWithInvalidation","keysToInvalidate","useDestroyTableConfiguration","useTableConfigurations","columnData","onMutationSuccess","noop","allowConfigurationResetOnUpdate","defaultHiddenColumns","_useFetchTableConfigu","isLoading","isFetching","_useUpdateTableConfig","onSuccess","updateConfiguration","mutate","_useDestroyTableConfi","destroyConfiguration","processColumnsWithConfiguration","useCallback","originalColumns","existingColumnConfiguration","isEmpty","originalColumnsById","Map","filter","prop","map","configurationByKey","config","key","orderedConfiguredColumns","Boolean","unconfiguredOriginalColumns","has","_toConsumableArray","hasAdditionalColumns","useMemo","columns","configurationKeys","pluck","sort","dataKeys","col","isNotEqualDeep","shouldApplyTableConfiguration","isNotEmpty","useEffect","allProcessedColumns","isShown","customizedColumns","visibleColumnsConfig","visibleColumnKeys","enableHiding","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","isTableConfigurationLoading","getHidableColumns","removeBy","filterBySearchTerm","searchTerm","_ref$header","trim","toLower","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","_ref$allowConfigurati","_ref$onMutationSucces","_ref$defaultHiddenCol","_ref$buttonProps","buttonProps","_ref$onOpenChange","onOpenChange","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useState3","_useState4","open","setOpen","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","oldIndex","findIndexBy","newIndex","newOrder","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleHideAllColumns","columnsToHideKeys","assoc","handleChange","_ref2","_ref2$target","columnId","handleSearch","_ref3","value","Icon","icon","_buttonProps$dataTes","dataTestId","buttonLabel","label","restButtonProps","_objectWithoutProperties","_excluded","Popover","isOpen","PopoverTrigger","asChild","Button","variant","PopoverContent","align","Input","placeholder","prefix","Search","type","onChange","DndContext","collisionDetection","closestCenter","modifiers","restrictToVerticalAxis","restrictToFirstScrollableAncestor","onDragEnd","SortableContext","items","strategy","verticalListSortingStrategy","_createElement","_ref4","Separator","_Fragment","onClick","displayName"],"mappings":"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"}
|