@bigbinary/neeto-molecules 5.3.31 → 5.3.33-beta1
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/{ConfigureView-D-2SQf3j.js → ConfigureView-re6uU4Lp.js} +6 -4
- package/dist/ConfigureView-re6uU4Lp.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/{ConfigureView-CNWEfiae.js → ConfigureView-CAdrpELW.js} +6 -4
- package/dist/cjs/ConfigureView-CAdrpELW.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/ConfigurePageSidebar.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/Sidebar.js +29 -25
- package/dist/cjs/v2/Sidebar.js.map +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/ConfigurePageSidebar.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/Sidebar.js +29 -25
- package/dist/v2/Sidebar.js.map +1 -1
- package/dist/v2/SubHeader.js +1 -1
- package/dist/v2/Taxonomy.js +1 -1
- package/package.json +4 -4
- package/dist/Columns-DElaBbbY.js.map +0 -1
- package/dist/ConfigureView-D-2SQf3j.js.map +0 -1
- package/dist/cjs/Columns-r4syEJxD.js.map +0 -1
- package/dist/cjs/ConfigureView-CNWEfiae.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/Sidebar.js
CHANGED
|
@@ -7,7 +7,7 @@ import { append, is, findLast } from 'ramda';
|
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
import { Link, useLocation, useHistory } from 'react-router-dom';
|
|
9
9
|
import { u as useKeyboardShortcutsPaneState } from '../useKeyboardShortcutsPaneState-BlyFMEtW.js';
|
|
10
|
-
import { S as SPECIAL_APP_NAMES, D as DEFAULT_HOME_PATH, f as filterByPermissions, a as CheckPointNavLinks, P as PINNED_MORE_NAV_LINKS_KEY, b as SubLinkItem, g as getSidebarStateLocalStorageKey, c as SIDEBAR_WIDTH_KEY, d as DEFAULT_SIDEBAR_WIDTH, e as SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, C as ConfigureView, h as getActiveConfigurePageLink, M as MIN_SIDEBAR_WIDTH, i as MAX_SIDEBAR_WIDTH } from '../ConfigureView-
|
|
10
|
+
import { S as SPECIAL_APP_NAMES, D as DEFAULT_HOME_PATH, f as filterByPermissions, a as CheckPointNavLinks, P as PINNED_MORE_NAV_LINKS_KEY, b as SubLinkItem, g as getSidebarStateLocalStorageKey, c as SIDEBAR_WIDTH_KEY, d as DEFAULT_SIDEBAR_WIDTH, e as SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, C as ConfigureView, h as getActiveConfigurePageLink, M as MIN_SIDEBAR_WIDTH, i as MAX_SIDEBAR_WIDTH } from '../ConfigureView-re6uU4Lp.js';
|
|
11
11
|
import classnames from 'classnames';
|
|
12
12
|
import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/v2/initializers';
|
|
13
13
|
import Neeto from '@bigbinary/neeto-icons/typeface-logos/Neeto';
|
|
@@ -69,7 +69,7 @@ var Header = function Header(_ref) {
|
|
|
69
69
|
"data-testid": "sidebar-info",
|
|
70
70
|
children: /*#__PURE__*/jsx(Link, {
|
|
71
71
|
to: DEFAULT_HOME_PATH,
|
|
72
|
-
className: classnames("mt-2 block
|
|
72
|
+
className: classnames("me-10 mt-2 block py-2", {
|
|
73
73
|
"cursor-pointer": isOnboarded,
|
|
74
74
|
"pointer-events-none": !isOnboarded
|
|
75
75
|
}),
|
|
@@ -78,7 +78,7 @@ var Header = function Header(_ref) {
|
|
|
78
78
|
className: "text-sidebar-foreground text-xl leading-9 font-bold",
|
|
79
79
|
children: globalProps$1.sidebarTitle
|
|
80
80
|
}) : /*#__PURE__*/jsx(LogoComponent, {
|
|
81
|
-
className: "h-
|
|
81
|
+
className: "h-7 w-auto max-w-full"
|
|
82
82
|
})
|
|
83
83
|
})
|
|
84
84
|
});
|
|
@@ -93,7 +93,7 @@ var AddAction = function AddAction(_ref) {
|
|
|
93
93
|
side: "bottom"
|
|
94
94
|
},
|
|
95
95
|
customTarget: /*#__PURE__*/jsx("span", {
|
|
96
|
-
className: "text-sidebar-foreground hover:bg-sidebar-accent
|
|
96
|
+
className: "text-sidebar-foreground hover:bg-sidebar-accent focus-visible:ring-sidebar-ring md:data-[state=open]:bg-sidebar-accent flex aspect-square w-5 shrink-0 cursor-pointer items-center justify-center rounded-md outline-hidden focus-visible:ring-2 md:opacity-0 md:group-focus-within/menu-item:opacity-100 md:group-hover/menu-item:opacity-100 md:data-[state=open]:opacity-100",
|
|
97
97
|
"data-testid": "add-dropdown-trigger",
|
|
98
98
|
role: "button",
|
|
99
99
|
tabIndex: 0,
|
|
@@ -167,9 +167,11 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
167
167
|
closeOnSelect: false,
|
|
168
168
|
position: isRTL ? "left-start" : "right-start",
|
|
169
169
|
customTarget: /*#__PURE__*/jsxs("button", {
|
|
170
|
-
className: "text-sidebar-foreground hover:bg-sidebar-accent
|
|
170
|
+
className: "text-sidebar-foreground hover:bg-sidebar-accent flex h-9 w-full items-center gap-3 rounded-md p-2 text-sm outline-hidden",
|
|
171
171
|
"data-testid": "more-nav-links-dropdown-button",
|
|
172
|
-
children: [/*#__PURE__*/jsx(Ellipsis, {
|
|
172
|
+
children: [/*#__PURE__*/jsx(Ellipsis, {
|
|
173
|
+
className: "size-4 shrink-0 [stroke-width:1.8]"
|
|
174
|
+
}), /*#__PURE__*/jsx("span", {
|
|
173
175
|
className: "truncate",
|
|
174
176
|
children: t("neetoMolecules.sidebar.more")
|
|
175
177
|
})]
|
|
@@ -332,7 +334,7 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
332
334
|
return /*#__PURE__*/jsx(SidebarGroup, {
|
|
333
335
|
children: /*#__PURE__*/jsx(SidebarGroupContent, {
|
|
334
336
|
children: /*#__PURE__*/jsxs(SidebarMenu, {
|
|
335
|
-
className: "gap-
|
|
337
|
+
className: "gap-2",
|
|
336
338
|
children: [combinedNavLinks.filter(filterByPermissions).map(function (navLink, index) {
|
|
337
339
|
var label = navLink.label,
|
|
338
340
|
to = navLink.to,
|
|
@@ -355,6 +357,7 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
355
357
|
return is(Function, otherProps.isActive) ? otherProps.isActive() : location.pathname.startsWith(url.pathname);
|
|
356
358
|
};
|
|
357
359
|
var isExpandable = items || Component;
|
|
360
|
+
var hasTrailingActions = isNotEmpty(addActions) || isExpandable && !isConfigureNavLink;
|
|
358
361
|
var navLinkKey = navLink.key || navLink.to;
|
|
359
362
|
var isMenuExpanded = expandedNavLinkKeys.includes(navLinkKey) && !isCountsLoadingDeprecated;
|
|
360
363
|
var handleCaretClick = function handleCaretClick(event) {
|
|
@@ -368,11 +371,10 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
368
371
|
children: [/*#__PURE__*/jsx(SidebarMenuItem, {
|
|
369
372
|
children: /*#__PURE__*/jsx(SidebarMenuButton, {
|
|
370
373
|
asChild: true,
|
|
371
|
-
className: "h-
|
|
374
|
+
className: "h-9",
|
|
372
375
|
isActive: isActive(),
|
|
373
376
|
children: /*#__PURE__*/jsxs(CheckPointNavLinks, _objectSpread(_objectSpread({
|
|
374
377
|
activeClassName: "active",
|
|
375
|
-
className: "font-medium",
|
|
376
378
|
"data-testid": "navlink-".concat(hyphenate(label)),
|
|
377
379
|
onClick: function onClick(event) {
|
|
378
380
|
handleNavLinkClick({
|
|
@@ -396,21 +398,23 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
396
398
|
}), /*#__PURE__*/jsx("span", {
|
|
397
399
|
className: "flex-grow truncate",
|
|
398
400
|
children: label
|
|
399
|
-
}),
|
|
400
|
-
className: "ms-auto flex shrink-0 items-center gap-
|
|
401
|
-
children: [
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
401
|
+
}), (tag || hasTrailingActions) && /*#__PURE__*/jsxs("span", {
|
|
402
|
+
className: "ms-auto flex shrink-0 items-center gap-2",
|
|
403
|
+
children: [tag && /*#__PURE__*/jsx(Badge, _objectSpread({}, tag)), hasTrailingActions && /*#__PURE__*/jsxs("span", {
|
|
404
|
+
className: "flex shrink-0 items-center gap-0.5",
|
|
405
|
+
children: [isNotEmpty(addActions) && /*#__PURE__*/jsx(AddAction, {
|
|
406
|
+
actions: addActions
|
|
407
|
+
}), isExpandable && !isConfigureNavLink && /*#__PURE__*/jsx("span", {
|
|
408
|
+
role: "button",
|
|
409
|
+
tabIndex: -1,
|
|
410
|
+
className: classnames("shrink-0 transition-transform duration-200", {
|
|
411
|
+
"rotate-90 rtl:-rotate-90": isMenuExpanded
|
|
412
|
+
}),
|
|
413
|
+
onClick: handleCaretClick,
|
|
414
|
+
children: /*#__PURE__*/jsx(ChevronRight, {
|
|
415
|
+
className: "rtl:rotate-180"
|
|
416
|
+
})
|
|
417
|
+
})]
|
|
414
418
|
})]
|
|
415
419
|
})]
|
|
416
420
|
}))
|
|
@@ -641,7 +645,7 @@ var SidebarBody = function SidebarBody(_ref2) {
|
|
|
641
645
|
return setSelectedNavLinkRoute(null);
|
|
642
646
|
}
|
|
643
647
|
}), /*#__PURE__*/jsx(SidebarTrigger, {
|
|
644
|
-
className: "absolute end-2 top-
|
|
648
|
+
className: "absolute end-2.5 top-7",
|
|
645
649
|
"data-testid": "neeto-molecules-sidebar-toggler",
|
|
646
650
|
title: t("neetoMolecules.sidebar.hideMenu")
|
|
647
651
|
}), showWorkspaceName && /*#__PURE__*/jsxs("div", {
|