@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
|
@@ -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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"}
|
|
@@ -86,9 +86,12 @@ var MenuItem = function MenuItem(_ref) {
|
|
|
86
86
|
}, menuItemProps)));
|
|
87
87
|
}
|
|
88
88
|
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, _objectSpread$1(_objectSpread$1({
|
|
89
|
-
onClick: onClick,
|
|
90
89
|
role: "menuitem"
|
|
91
|
-
},
|
|
90
|
+
}, _objectSpread$1(_objectSpread$1({
|
|
91
|
+
onClick: onClick
|
|
92
|
+
}, typeof label === "string" && {
|
|
93
|
+
"data-testid": "".concat(neetoCist.hyphenate(label), "-menu-item")
|
|
94
|
+
}), menuItemProps)), {}, {
|
|
92
95
|
children: label
|
|
93
96
|
}));
|
|
94
97
|
};
|
|
@@ -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":["createLucideIcon","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":["createLucideIcon","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":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3D,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC1D,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC1D,CAAC;AACD,MAAM,gBAAgB,GAAGA,iCAAgB,CAAC,mBAAmB,EAAE,UAAU,CAAC;;ACZ1E,IAAMC,qBAAqB,GAAG;AAAEC,EAAAA,QAAQ,EAAE,IAAI;AAAEC,EAAAA,QAAQ,EAAE;AAAS,CAAC;;;;;ACIpE,IAAMC,OAAO,GAAGC,gBAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAAC,cAAA,GAAAH,IAAA,CAAEI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAAA,EAAA,oBAC/CE,cAAA,CAACC,uBAAY,CAACC,OAAO,EAAA;AACbL,IAAAA,KAAK,EAALA,KAAK;AACXM,IAAAA,YAAY,EAAE;AAAE,MAAA,eAAe,EAAE;KAAS;AAC1CC,IAAAA,YAAY,EAAE;AACZ,MAAA,YAAY,EAAER,CAAC,CAAC,8CAA8C,EAAE;AAC9DC,QAAAA,KAAK,EAALA;OACD;KACD;AAAAQ,IAAAA,QAAA,EAEDN,SAAS,CAACO,GAAG,CAAC,UAAAC,KAAA,EAA6C;AAAA,MAAA,IAAAC,eAAA,GAAAD,KAAA,CAA1CE,SAAS;AAATA,QAAAA,SAAS,GAAAD,eAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,eAAA;QAAEE,GAAG,GAAAH,KAAA,CAAHG,GAAG;AAAKC,QAAAA,SAAS,GAAAC,wBAAA,CAAAL,KAAA,EAAAM,WAAA,CAAA;AACnD,MAAA,IAAI,CAACJ,SAAS,EAAE,OAAO,IAAI;MAE3B,oBACET,cAAA,CAACc,QAAQ,EAAAC,eAAA,CAAA,EAAA,EAEHJ,SAAS,CAAA,EADRD,GAAG,KAAA,IAAA,IAAHA,GAAG,cAAHA,GAAG,GAAIM,mBAAS,CAACL,SAAS,CAACd,KAAK,IAAI,WAAW,CAErD,CAAC;IAEN,CAAC;AAAC,GACkB,CAAC;AAAA,CACxB,CAAC;;;;;ACtBF,IAAMiB,QAAQ,GAAG,SAAXA,QAAQA,CAAAnB,IAAA,EAQR;AAAA,EAAA,IAPJsB,OAAO,GAAAtB,IAAA,CAAPsB,OAAO;IACPpB,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAAqB,SAAA,GAAAvB,IAAA,CACLwB,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,UAAU,GAAAA,SAAA;IAAAE,gBAAA,GAAAzB,IAAA,CACjB0B,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IACnBrB,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTuB,aAAa,GAAA3B,IAAA,CAAb2B,aAAa;AACVC,IAAAA,aAAa,GAAAX,wBAAA,CAAAjB,IAAA,EAAAkB,WAAA,CAAA;EAEhB,IAAIM,IAAI,KAAK,SAAS,EAAE,oBAAOnB,cAAA,CAACC,uBAAY,CAACuB,OAAO,EAAA;AAACC,IAAAA,IAAI,EAAC;AAAW,GAAE,CAAC;AAExE,EAAA,IAAIJ,WAAW,EAAE;AACf,IAAA,oBACErB,cAAA,CAACP,OAAO,EAAAsB,eAAA,KAAAA,eAAA,CAAA;AAAOO,MAAAA,aAAa,EAAbA,aAAa;AAAEzB,MAAAA,KAAK,EAALA,KAAK;AAAEE,MAAAA,SAAS,EAATA;KAAS,EAAKwB,aAAa,EAAK,CAAC;AAE1E,EAAA;EAEA,oBACEvB,cAAA,CAACC,uBAAY,CAACa,QAAQ,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACpBU,IAAAA,IAAI,EAAC;GAAU,EAAAV,eAAA,CAAAA,eAAA,CAAA;AAEbE,IAAAA,OAAO,EAAPA;AAAO,GAAA,EACH,OAAOpB,KAAK,KAAK,QAAQ,IAAI;AAC/B,IAAA,aAAa,KAAA6B,MAAA,CAAKV,mBAAS,CAACnB,KAAK,CAAC,EAAA,YAAA;AACpC,GAAC,GACE0B,aAAa,CAAA,CAAA,EAAA,EAAA,EAAA;AAAAlB,IAAAA,QAAA,EAGjBR;AAAK,GAAA,CACe,CAAC;AAE5B,CAAC;;;;;;;ACnBD,IAAM8B,YAAY,GAAG,SAAfA,YAAYA,CAAAhC,IAAA,EAQZ;AAAA,EAAA,IAAAiC,qBAAA,GAAAjC,IAAA,CAPJkC,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,eAAA,GAAAnC,IAAA,CACxBoC,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,eAAA,GAAArC,IAAA,CAClBsC,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,kBAAA,GAAAvC,IAAA,CAClB2B,aAAa;AAAbA,IAAAA,aAAa,GAAAY,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;IAClBC,eAAe,GAAAxC,IAAA,CAAfwC,eAAe;IACfC,kBAAkB,GAAAzC,IAAA,CAAlByC,kBAAkB;IAAAtC,cAAA,GAAAH,IAAA,CAClBI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAEd,EAAA,IAAAuC,eAAA,GAAcC,2BAAc,EAAE;IAAtB1C,CAAC,GAAAyC,eAAA,CAADzC,CAAC;AAET,EAAA,IACa2C,eAAe,GAKxBV,mBAAmB,CALrBW,SAAS;IAAAC,qBAAA,GAKPZ,mBAAmB,CAJrBa,IAAI;AAAEC,IAAAA,UAAU,GAAAF,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;IACXG,kBAAkB,GAG9Bf,mBAAmB,CAHrBgB,YAAY;IAAAC,sBAAA,GAGVjB,mBAAmB,CAFrBkB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,sBAAA,KAAA,MAAA,GAAG,OAAO,GAAAA,sBAAA;AACdE,IAAAA,WAAW,GAAApC,wBAAA,CACZiB,mBAAmB,EAAAhB,SAAA,CAAA;AAEvB,EAAA,IAAMgC,YAAY,GAAGI,gBAAU,CAAC3D,qBAAqB,EAAEsD,kBAAkB,CAAC;AAE1E,EAAA,IAAMM,UAAU,GAAGnB,UAAU,GAAGoB,gBAAgB,GAAGC,iBAAQ;AAE3D,EAAA,IAAmBC,gBAAgB,GAA2B/B,aAAa,CAAnEgC,SAAS;AAAuBC,IAAAA,iBAAiB,GAAA3C,wBAAA,CAAKU,aAAa,EAAAkC,UAAA,CAAA;AAE3E,EAAA,IAAMC,kBAAkB,GAAGxB,UAAU,IAAIX,aAAa,CAAC/B,QAAQ;AAE/D,EAAA,IAAMmE,gBAAgB,GAAGC,UAAU,CAAC,UAAU,EAAE;AAC9C,IAAA,cAAc,EAAEpB;AAClB,GAAC,CAAC;AAEF,EAAA,IAAIkB,kBAAkB,IAAI,CAACZ,YAAY,CAACtD,QAAQ,EAAE;IAChD,oBACES,cAAA,CAAC4D,kBAAO,EAAA;MACNC,OAAO,EAAEhB,YAAY,CAACgB,OAAQ;AAC9BrE,MAAAA,QAAQ,EAAEqD,YAAY,CAACrD,QAAQ,IAAI,QAAS;AAAAa,MAAAA,QAAA,eAE5CL,cAAA,CAAA,MAAA,EAAA;AAAAK,QAAAA,QAAA,eACEL,cAAA,CAAC8D,iBAAM,EAAA/C,aAAA,CAAA;AACCgC,UAAAA,OAAO,EAAPA,OAAO;UACbxD,QAAQ,EAAA,IAAA;AACR+D,UAAAA,SAAS,EAAEI,gBAAiB;AAC5B,UAAA,4BAAA,EAA2B,eAAe;AAC1C,UAAA,aAAA,EAAY,sBAAsB;AAClCK,UAAAA,IAAI,EAAEb,UAAW;AACjBR,UAAAA,IAAI,EAAEC;AAAW,SAAA,EACbK,WAAW,CAChB;OACG;AAAC,KACA,CAAC;AAEd,EAAA;AAEA,EAAA,oBACEgB,eAAA,CAAC/D,uBAAY,EAAAc,aAAA,CAAAA,aAAA,CAAA;AACXkD,IAAAA,YAAY,eACVjE,cAAA,CAAC8D,iBAAM,EAAA/C,aAAA,CAAA;AACCgC,MAAAA,OAAO,EAAPA,OAAO;AACb,MAAA,eAAA,EAAc,MAAM;MACpB,YAAA,EAAYnD,CAAC,CAAC,6CAA6C,CAAE;AAC7D0D,MAAAA,SAAS,EAAEI,gBAAiB;AAC5B,MAAA,4BAAA,EAA2B,eAAe;AAC1C,MAAA,aAAA,EAAY,mBAAmB;AAC/BnE,MAAAA,QAAQ,EAAEkE,kBAAmB;AAC7BM,MAAAA,IAAI,EAAEb,UAAW;AACjBR,MAAAA,IAAI,EAAEC;KAAW,EACbK,WAAW,CAChB,CACF;AACD1B,IAAAA,aAAa,EAAE;AACb,MAAA,YAAY,EAAE1B,CAAC,CAAC,2CAA2C,CAAC;AAC5D0D,MAAAA,SAAS,EAAED;AACb;AAAE,GAAA,EACEE,iBAAiB,CAAA,EAAA,EAAA,EAAA;IAAAlD,QAAA,EAAA,CAEpB8B,eAAe,EACfpC,SAAS,CAACO,GAAG,CAAC,UAAAC,KAAA,EAAiD;AAAA,MAAA,IAAAC,eAAA,GAAAD,KAAA,CAA9CE,SAAS;AAATA,QAAAA,SAAS,GAAAD,eAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,eAAA;QAAEE,GAAG,GAAAH,KAAA,CAAHG,GAAG;AAAKa,QAAAA,aAAa,GAAAX,wBAAA,CAAAL,KAAA,EAAA2D,UAAA,CAAA;AACvD,MAAA,IAAI,CAACzD,SAAS,EAAE,OAAO,IAAI;MAE3B,oBACET,cAAA,CAACc,QAAQ,EAAAC,aAAA,CAAA,EAAA,EAEHQ,aAAa,CAAA,EADZb,GAAG,KAAA,IAAA,IAAHA,GAAG,cAAHA,GAAG,GAAIM,mBAAS,CAACO,aAAa,CAAC1B,KAAK,IAAI,WAAW,CAEzD,CAAC;IAEN,CAAC,CAAC,EACDuC,kBAAkB;AAAA,GAAA,CACP,CAAC;AAEnB;;;;","x_google_ignoreList":[0]}
|
|
@@ -4,7 +4,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
4
4
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
5
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
6
|
var formik = require('formik');
|
|
7
|
-
var phoneNumber = require('../phone-number-
|
|
7
|
+
var phoneNumber = require('../phone-number-BydWe8Mf.js');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
var React = require('react');
|
|
10
10
|
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
@@ -24,7 +24,7 @@ var useHotkeys = require('@bigbinary/neeto-hotkeys');
|
|
|
24
24
|
var jsxRuntime = require('react/jsx-runtime');
|
|
25
25
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
26
26
|
require('formik');
|
|
27
|
-
var phoneNumber = require('../phone-number-
|
|
27
|
+
var phoneNumber = require('../phone-number-BydWe8Mf.js');
|
|
28
28
|
require('../index.es5.min-BkGgH3zQ.js');
|
|
29
29
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
30
30
|
require('i18next');
|
package/dist/cjs/v2/SubHeader.js
CHANGED
|
@@ -9,7 +9,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
|
9
9
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
10
10
|
var primitives = require('@bigbinary/neeto-atoms/primitives');
|
|
11
11
|
var reactI18next = require('react-i18next');
|
|
12
|
-
var Columns$1 = require('../Columns-
|
|
12
|
+
var Columns$1 = require('../Columns-Gcp48xQM.js');
|
|
13
13
|
require('@babel/runtime/helpers/toConsumableArray');
|
|
14
14
|
require('@tanstack/react-query');
|
|
15
15
|
require('@bigbinary/neeto-commons-frontend/v2/react-utils/useMutationWithInvalidation');
|
package/dist/cjs/v2/Taxonomy.js
CHANGED
|
@@ -39,7 +39,7 @@ require('@bigbinary/neeto-commons-frontend/v2/react-utils/useFuncDebounce');
|
|
|
39
39
|
require('@bigbinary/neeto-commons-frontend/v2/react-utils/useQueryParams');
|
|
40
40
|
require('@bigbinary/neeto-commons-frontend/v2/react-utils/useUpdateEffect');
|
|
41
41
|
require('../search-DoXqXFel.js');
|
|
42
|
-
require('../Columns-
|
|
42
|
+
require('../Columns-Gcp48xQM.js');
|
|
43
43
|
require('@dnd-kit/core');
|
|
44
44
|
require('@dnd-kit/modifiers');
|
|
45
45
|
require('@dnd-kit/sortable');
|
|
@@ -7,7 +7,7 @@ import { Popover, PopoverTrigger, Button, PopoverContent, Command, CommandInput,
|
|
|
7
7
|
import { useQuery } from '@tanstack/react-query';
|
|
8
8
|
import classnames from 'classnames';
|
|
9
9
|
import { getCountries, parsePhoneNumber, formatIncompletePhoneNumber, isValidPhoneNumber, getCountryCallingCode } from 'libphonenumber-js/min';
|
|
10
|
-
import { findBy, noop } from '@bigbinary/neeto-cist';
|
|
10
|
+
import { hyphenate, findBy, noop } from '@bigbinary/neeto-cist';
|
|
11
11
|
import { i as index_es5_minExports } from './index.es5.min-Oe75miEx.js';
|
|
12
12
|
import i18next from 'i18next';
|
|
13
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -86,6 +86,7 @@ var CountryPicker = function CountryPicker(_ref) {
|
|
|
86
86
|
var label = _ref2.label,
|
|
87
87
|
value = _ref2.value;
|
|
88
88
|
return /*#__PURE__*/jsxs(CommandItem, {
|
|
89
|
+
"data-testid": "".concat(hyphenate(label), "-select-option"),
|
|
89
90
|
value: "".concat(label, " ").concat(value),
|
|
90
91
|
onSelect: function onSelect() {
|
|
91
92
|
return handleSelect(value);
|
|
@@ -318,4 +319,4 @@ var css = "@import url(\"https://fonts.googleapis.com/css2?family=Noto+Color+Emo
|
|
|
318
319
|
n(css,{});
|
|
319
320
|
|
|
320
321
|
export { PhoneNumberInput as P, getPhoneData as g, isPhoneNumberValid as i, validation as v };
|
|
321
|
-
//# sourceMappingURL=phone-number-
|
|
322
|
+
//# sourceMappingURL=phone-number-n0BLV3g6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phone-number-n0BLV3g6.js","sources":["../src/v2/components/PhoneNumber/constants.js","../src/v2/components/PhoneNumber/CountryPicker/constants.js","../src/v2/components/PhoneNumber/CountryPicker/index.jsx","../src/v2/components/PhoneNumber/apis/neeto_ip_lookup.js","../src/v2/components/PhoneNumber/utils.js","../src/v2/components/PhoneNumber/PhoneNumberInput.jsx"],"sourcesContent":["export const IP_LOOKUP_ACCESS_TOKEN = \"083c694c79f119c7f227e737de9a5c8c\";\nexport const IP_LOOKUP_STORAGE_KEY = \"IP_LOOKUP_DETAILS_STORAGE\";\nexport const MAX_CACHE_AGE = 60 * 60 * 1000;\n","import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n","import { memo, useState } from \"react\";\n\nimport {\n Button,\n Command,\n CommandEmpty,\n CommandInput,\n CommandItem,\n CommandList,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { countries } from \"countries-list\";\nimport i18next from \"i18next\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\n\nimport { COUNTRY_PICKER_OPTIONS } from \"./constants\";\n\nconst CountryPicker = ({ countryCode, onChange, disabled }) => {\n const [open, setOpen] = useState(false);\n\n const handleSelect = nextValue => {\n onChange(nextValue);\n setOpen(false);\n };\n\n return (\n <Popover {...{ open }} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n {...{ disabled }}\n className=\"neeto-molecules-phone-number-input__country-picker hover:bg-muted h-6 min-h-6 shrink-0 gap-1 self-center rounded-lg border-0 bg-transparent px-2 shadow-none\"\n data-testid=\"phonenumber-country-picker\"\n size=\"sm\"\n variant=\"ghost\"\n aria-label={i18next.t(\n \"neetoMolecules.phoneNumberInput.countryCodeAriaLabel\"\n )}\n >\n <span className=\"neeto-molecules-phone-number-input__flag text-xl leading-none\">\n {countries[countryCode]?.emoji}\n </span>\n <ChevronDownIcon\n aria-hidden\n className=\"text-muted-foreground size-3\"\n />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-64 p-0\"\n sideOffset={4}\n onClick={event => event.stopPropagation()}\n >\n <Command>\n <CommandInput\n data-testid=\"phonenumber-country-picker-search\"\n placeholder={i18next.t(\n \"neetoMolecules.phoneNumberInput.searchCountry\"\n )}\n />\n <CommandList className=\"mt-1\">\n <CommandEmpty>\n {i18next.t(\"neetoMolecules.phoneNumberInput.noCountryFound\")}\n </CommandEmpty>\n {COUNTRY_PICKER_OPTIONS.map(({ label, value }) => (\n <CommandItem\n data-testid={`${hyphenate(label)}-select-option`}\n key={value}\n value={`${label} ${value}`}\n onSelect={() => handleSelect(value)}\n >\n <span className=\"neeto-molecules-phone-number-input__flag text-xl leading-none\">\n {countries[value]?.emoji}\n </span>\n <span>{label}</span>\n </CommandItem>\n ))}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default memo(CountryPicker);\n","import axios from \"axios\";\n\nimport { IP_LOOKUP_ACCESS_TOKEN } from \"../constants\";\n\nconst fetchLocationDetails = () =>\n axios.get(\n \"https://neeto-ip-lookup-web-production.neetodeployapp.com/location\",\n { headers: { \"X-ACCESS-TOKEN\": IP_LOOKUP_ACCESS_TOKEN } }\n );\n\nconst neetoIpLookupApi = { fetchLocationDetails };\nexport default neetoIpLookupApi;\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport { getFromLocalStorage, setToLocalStorage } from \"neetocommons/v2/utils\";\nimport * as yup from \"yup\";\n\nimport neetoIpLookupApi from \"./apis/neeto_ip_lookup\";\nimport { IP_LOOKUP_STORAGE_KEY, MAX_CACHE_AGE } from \"./constants\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const fetchLocationDetails = async () => {\n const stored = getFromLocalStorage(IP_LOOKUP_STORAGE_KEY);\n const { data, timestamp } = stored || {};\n const isCacheValid = timestamp && Date.now() - timestamp < MAX_CACHE_AGE;\n\n if (isCacheValid) return data;\n\n try {\n const details = await neetoIpLookupApi.fetchLocationDetails();\n const timestamp = Date.now();\n setToLocalStorage(IP_LOOKUP_STORAGE_KEY, { data: details, timestamp });\n\n return details;\n } catch {\n return data || null;\n }\n};\n\nexport const isNumeric = char => char >= \"0\" && char <= \"9\";\n\nexport const preserveCursor = callback => event => {\n const start = event.target.selectionStart;\n const end = event.target.selectionEnd;\n const len = event.target.value.length;\n const result = callback(event);\n const delta = event.target.value.length - len;\n event.target.setSelectionRange(start + delta, end + delta);\n\n return result;\n};\n","import { forwardRef, useId, useState } from \"react\";\n\nimport { Label } from \"@bigbinary/neeto-atoms\";\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupInput,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop, findBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { IP_LOOKUP_STORAGE_KEY } from \"./constants\";\nimport CountryPicker from \"./CountryPicker\";\nimport { COUNTRY_PICKER_OPTIONS } from \"./CountryPicker/constants\";\nimport {\n getPhoneData,\n isNumeric,\n preserveCursor,\n fetchLocationDetails,\n} from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n label,\n required = false,\n id,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const safeValue = value ?? \"\";\n\n const generatedId = useId();\n const inputId = id ?? generatedId;\n const errorId = `error_${inputId}`;\n\n const [countryCode, setCountryCode] = useState(\n () => getPhoneData(safeValue).countryCode || initialCountryCode\n );\n\n const { data: ipCountry } = useQuery({\n queryKey: [IP_LOOKUP_STORAGE_KEY],\n queryFn: fetchLocationDetails,\n enabled: !countryCode,\n staleTime: Infinity,\n gcTime: Infinity,\n select: data =>\n findBy({ value: data.countryCode }, COUNTRY_PICKER_OPTIONS),\n });\n\n const finalCountryCode = countryCode || ipCountry?.value || \"US\";\n const formattedValue = formatIncompletePhoneNumber(\n safeValue,\n finalCountryCode\n );\n\n const onKeyDown = preserveCursor(event => {\n if (event.key !== \"Backspace\") return;\n const left = event.target.value.substring(0, event.target.selectionStart);\n const right = event.target.value.substring(event.target.selectionEnd);\n let index = left.length - 1;\n while (index > 0 && !isNumeric(left[index])) index--;\n const newValue = left.substring(0, index + 1) + right;\n if (newValue) event.target.value = newValue;\n });\n\n const onInputChange = preserveCursor(event => {\n const phoneData = getPhoneData(event.target.value, finalCountryCode);\n event.target.value = formatIncompletePhoneNumber(event.target.value);\n setCountryCode(phoneData.countryCode);\n onChange(phoneData.phoneNumber);\n });\n\n const onChangeCountry = nextCountryCode => {\n const phoneData = getPhoneData(safeValue, finalCountryCode);\n const prevPrefix = `+${getCountryCallingCode(phoneData.countryCode)}`;\n const nextPrefix = `+${getCountryCallingCode(nextCountryCode)}`;\n setCountryCode(nextCountryCode);\n onChange(nextPrefix + safeValue.replace(prevPrefix, \"\"));\n };\n\n return (\n <div {...{ className }}>\n {label && (\n <Label {...{ required }} className=\"mb-2\" htmlFor={inputId}>\n {label}\n </Label>\n )}\n <InputGroup\n className={classnames(\n // Clip to the rounded box so the country-picker button's hover\n // background (seated with a negative inline-start margin by the\n // atoms addon) cannot overflow the input's rounded corner. The\n // focus/error ring is a box-shadow on this element, so it is not\n // clipped; the country dropdown is a portaled popover, so it is\n // unaffected too.\n \"neeto-molecules-phone-number-input__group overflow-hidden\",\n !!error && \"border-destructive ring-destructive/20 ring-3\"\n )}\n >\n <InputGroupAddon\n align=\"inline-start\"\n // Inset the country picker: cancel the atoms addon's negative\n // inline-start margin and add a little left padding so the picker\n // reads as a chip sitting inside the input, not flush to its edge.\n className=\"neeto-molecules-phone-number-input__addon !ms-0 p-0 ps-0.5\"\n >\n <CountryPicker\n countryCode={finalCountryCode}\n onChange={onChangeCountry}\n {...selectProps}\n />\n </InputGroupAddon>\n <InputGroupInput\n {...{ onKeyDown, ref, required }}\n aria-describedby={error ? errorId : undefined}\n aria-invalid={!!error || undefined}\n aria-required={required || undefined}\n autoComplete=\"tel\"\n data-testid=\"phonenumber-input\"\n id={inputId}\n inputMode=\"tel\"\n type=\"tel\"\n value={formattedValue}\n onChange={onInputChange}\n {...inputProps}\n />\n </InputGroup>\n {error && (\n <p className=\"text-destructive mt-1 text-sm\" id={errorId}>\n {error}\n </p>\n )}\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n error: PropTypes.string,\n label: PropTypes.node,\n required: PropTypes.bool,\n id: PropTypes.string,\n selectProps: PropTypes.object,\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n"],"names":["IP_LOOKUP_ACCESS_TOKEN","IP_LOOKUP_STORAGE_KEY","MAX_CACHE_AGE","COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","CountryPicker","_ref","_countries$countryCod","countryCode","onChange","disabled","_useState","useState","_useState2","_slicedToArray","open","setOpen","handleSelect","nextValue","_jsxs","Popover","onOpenChange","children","_jsx","PopoverTrigger","asChild","Button","className","size","variant","i18next","t","emoji","ChevronDownIcon","PopoverContent","align","sideOffset","onClick","event","stopPropagation","Command","CommandInput","placeholder","CommandList","CommandEmpty","_ref2","_countries$value","CommandItem","concat","hyphenate","onSelect","memo","fetchLocationDetails","axios","get","headers","neetoIpLookupApi","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","isPhoneNumberValid","arguments","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","yup","string","test","phoneNumber","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","_asyncToGenerator","_callee","stored","data","timestamp","isCacheValid","details","_timestamp","_context","getFromLocalStorage","Date","now","setToLocalStorage","isNumeric","char","preserveCursor","callback","start","target","selectionStart","end","selectionEnd","len","result","delta","setSelectionRange","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","_ref$required","required","id","selectProps","initialCountryCode","inputProps","_objectWithoutProperties","_excluded","safeValue","generatedId","useId","inputId","errorId","setCountryCode","_useQuery","useQuery","queryKey","queryFn","enabled","staleTime","Infinity","gcTime","select","findBy","ipCountry","finalCountryCode","formattedValue","onKeyDown","key","left","substring","right","index","newValue","onInputChange","phoneData","onChangeCountry","nextCountryCode","prevPrefix","getCountryCallingCode","nextPrefix","replace","Label","htmlFor","InputGroup","classnames","InputGroupAddon","_objectSpread","InputGroupInput","autoComplete","inputMode","type"],"mappings":"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"}
|
package/dist/v2/CalendarView.js
CHANGED
|
@@ -21,7 +21,7 @@ import { C as ChevronRight } from '../chevron-right-CEsVcNLw.js';
|
|
|
21
21
|
import SubHeader from './SubHeader.js';
|
|
22
22
|
import '../createLucideIcon--oLqczpc.js';
|
|
23
23
|
import '@bigbinary/neeto-atoms/primitives';
|
|
24
|
-
import '../Columns-
|
|
24
|
+
import '../Columns-CpCh1cnJ.js';
|
|
25
25
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
26
26
|
import '@dnd-kit/core';
|
|
27
27
|
import '@dnd-kit/modifiers';
|
package/dist/v2/Columns.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { C as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, a as default, u as useTableConfigurations } from '../Columns-
|
|
1
|
+
export { C as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, a as default, u as useTableConfigurations } from '../Columns-CpCh1cnJ.js';
|
|
2
2
|
import '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
4
|
import '@babel/runtime/helpers/toConsumableArray';
|
package/dist/v2/DndTable.js
CHANGED
|
@@ -370,6 +370,7 @@ var DndTable = function DndTable(_ref3) {
|
|
|
370
370
|
className: "flex w-full items-center justify-center",
|
|
371
371
|
children: /*#__PURE__*/jsx(Checkbox, {
|
|
372
372
|
checked: selectedKeySet.has(rowKey),
|
|
373
|
+
"data-testid": "row-selection-checkbox",
|
|
373
374
|
onCheckedChange: function onCheckedChange() {
|
|
374
375
|
return toggleRowSelection(rowItem);
|
|
375
376
|
}
|