@medusajs/ui 4.0.10-snapshot-20250426171712 → 4.0.10-snapshot-20250502090439
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/cjs/blocks/data-table/components/data-table-filter-menu.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-filter-menu.js +4 -1
- package/dist/cjs/blocks/data-table/components/data-table-filter-menu.js.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-sorting-menu.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-sorting-menu.js +2 -1
- package/dist/cjs/blocks/data-table/components/data-table-sorting-menu.js.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-filter-menu.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-filter-menu.js +4 -1
- package/dist/esm/blocks/data-table/components/data-table-filter-menu.js.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-sorting-menu.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-sorting-menu.js +2 -1
- package/dist/esm/blocks/data-table/components/data-table-sorting-menu.js.map +1 -1
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-filter-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,UAAU,wBAAwB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,QAAA,MAAM,mBAAmB;YAAW,wBAAwB;;
|
1
|
+
{"version":3,"file":"data-table-filter-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,UAAU,wBAAwB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,QAAA,MAAM,mBAAmB;YAAW,wBAAwB;;CA+C3D,CAAA;AAOD,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAC9B,YAAY,EAAE,wBAAwB,EAAE,CAAA"}
|
@@ -23,11 +23,14 @@ const DataTableFilterMenu = (props) => {
|
|
23
23
|
throw new Error("DataTable.FilterMenu was rendered but there are no filters to apply. Make sure to pass filters to 'useDataTable'");
|
24
24
|
}
|
25
25
|
const Wrapper = props.tooltip ? tooltip_1.Tooltip : React.Fragment;
|
26
|
+
const wrapperProps = props.tooltip
|
27
|
+
? { content: props.tooltip, hidden: filterOptions.length === 0 }
|
28
|
+
: {};
|
26
29
|
if (instance.showSkeleton) {
|
27
30
|
return React.createElement(DataTableFilterMenuSkeleton, null);
|
28
31
|
}
|
29
32
|
return (React.createElement(dropdown_menu_1.DropdownMenu, null,
|
30
|
-
React.createElement(Wrapper, {
|
33
|
+
React.createElement(Wrapper, { ...wrapperProps },
|
31
34
|
React.createElement(dropdown_menu_1.DropdownMenu.Trigger, { asChild: true, disabled: filterOptions.length === 0 },
|
32
35
|
React.createElement(icon_button_1.IconButton, { size: "small" },
|
33
36
|
React.createElement(icons_1.Funnel, null)))),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-filter-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":";;;;AAAA,qDAA8B;AAE9B,+FAAwF;AACxF,8DAAyD;AACzD,0DAAqD;AACrD,oDAAgD;AAChD,kDAA8C;AAC9C,2CAAwC;AASxC;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,4CAAmB,GAAE,CAAA;IAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAE3D,MAAM,aAAa,GAAG,QAAQ;SAC3B,UAAU,EAAE;SACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;
|
1
|
+
{"version":3,"file":"data-table-filter-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":";;;;AAAA,qDAA8B;AAE9B,+FAAwF;AACxF,8DAAyD;AACzD,0DAAqD;AACrD,oDAAgD;AAChD,kDAA8C;AAC9C,2CAAwC;AASxC;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,4CAAmB,GAAE,CAAA;IAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAE3D,MAAM,aAAa,GAAG,QAAQ;SAC3B,UAAU,EAAE;SACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO;QAChC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAChE,CAAC,CAAE,EAAU,CAAA;IAEf,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,oBAAC,2BAA2B,OAAG,CAAA;IACxC,CAAC;IAED,OAAO,CACL,oBAAC,4BAAY;QACX,oBAAC,OAAO,OAAK,YAAY;YACvB,oBAAC,4BAAY,CAAC,OAAO,IAAC,OAAO,QAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;gBAChE,oBAAC,wBAAU,IAAC,IAAI,EAAC,OAAO;oBACtB,oBAAC,cAAM,OAAG,CACC,CACQ,CACf;QACV,oBAAC,4BAAY,CAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,IAChC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,oBAAC,4BAAY,CAAC,IAAI,IAChB,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YACzD,CAAC,IAEA,MAAM,CAAC,KAAK,CACK,CACrB,CAAC,CACmB,CACV,CAChB,CAAA;AACH,CAAC,CAAA;AAOQ,kDAAmB;AAN5B,mBAAmB,CAAC,WAAW,GAAG,sBAAsB,CAAA;AAExD,MAAM,2BAA2B,GAAG,GAAG,EAAE;IACvC,OAAO,oBAAC,mBAAQ,IAAC,SAAS,EAAC,QAAQ,GAAG,CAAA;AACxC,CAAC,CAAA","sourcesContent":["import * as React from \"react\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { DropdownMenu } from \"@/components/dropdown-menu\"\nimport { IconButton } from \"@/components/icon-button\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Tooltip } from \"@/components/tooltip\"\nimport { Funnel } from \"@medusajs/icons\"\n\ninterface DataTableFilterMenuProps {\n /**\n * The tooltip to show when hovering over the filter menu.\n */\n tooltip?: string\n}\n\n/**\n * This component adds a filter menu to the data table, allowing users\n * to filter the table's data.\n */\nconst DataTableFilterMenu = (props: DataTableFilterMenuProps) => {\n const { instance } = useDataTableContext()\n\n const enabledFilters = Object.keys(instance.getFiltering())\n\n const filterOptions = instance\n .getFilters()\n .filter((filter) => !enabledFilters.includes(filter.id))\n\n if (!enabledFilters.length && !filterOptions.length) {\n throw new Error(\n \"DataTable.FilterMenu was rendered but there are no filters to apply. Make sure to pass filters to 'useDataTable'\"\n )\n }\n\n const Wrapper = props.tooltip ? Tooltip : React.Fragment\n const wrapperProps = props.tooltip\n ? { content: props.tooltip, hidden: filterOptions.length === 0 }\n : ({} as any)\n\n if (instance.showSkeleton) {\n return <DataTableFilterMenuSkeleton />\n }\n\n return (\n <DropdownMenu>\n <Wrapper {...wrapperProps}>\n <DropdownMenu.Trigger asChild disabled={filterOptions.length === 0}>\n <IconButton size=\"small\">\n <Funnel />\n </IconButton>\n </DropdownMenu.Trigger>\n </Wrapper>\n <DropdownMenu.Content side=\"bottom\">\n {filterOptions.map((filter) => (\n <DropdownMenu.Item\n key={filter.id}\n onClick={() => {\n instance.addFilter({ id: filter.id, value: undefined })\n }}\n >\n {filter.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n )\n}\nDataTableFilterMenu.displayName = \"DataTable.FilterMenu\"\n\nconst DataTableFilterMenuSkeleton = () => {\n return <Skeleton className=\"size-7\" />\n}\n\nexport { DataTableFilterMenu }\nexport type { DataTableFilterMenuProps }\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-sorting-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"data-table-sorting-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,UAAU,yBAAyB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,QAAA,MAAM,oBAAoB;YAAW,yBAAyB;;CAqG7D,CAAA;AAwCD,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAC/B,YAAY,EAAE,yBAAyB,EAAE,CAAA"}
|
@@ -45,8 +45,9 @@ const DataTableSortingMenu = (props) => {
|
|
45
45
|
return React.createElement(DataTableSortingMenuSkeleton, null);
|
46
46
|
}
|
47
47
|
const Wrapper = props.tooltip ? tooltip_1.Tooltip : React.Fragment;
|
48
|
+
const wrapperProps = props.tooltip ? { content: props.tooltip } : {};
|
48
49
|
return (React.createElement(dropdown_menu_1.DropdownMenu, null,
|
49
|
-
React.createElement(Wrapper, {
|
50
|
+
React.createElement(Wrapper, { ...wrapperProps },
|
50
51
|
React.createElement(dropdown_menu_1.DropdownMenu.Trigger, { asChild: true },
|
51
52
|
React.createElement(icon_button_1.IconButton, { size: "small" },
|
52
53
|
React.createElement(icons_1.DescendingSorting, null)))),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-sorting-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAEZ,+FAAwF;
|
1
|
+
{"version":3,"file":"data-table-sorting-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport {\n DataTableColumn,\n DataTableSortableColumnDefMeta,\n} from \"@/blocks/data-table/types\"\nimport { DropdownMenu } from \"@/components/dropdown-menu\"\nimport { IconButton } from \"@/components/icon-button\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Tooltip } from \"@/components/tooltip\"\nimport { ArrowDownMini, ArrowUpMini, DescendingSorting } from \"@medusajs/icons\"\nimport * as React from \"react\"\n\ninterface DataTableSortingMenuProps {\n /**\n * The tooltip to show when hovering over the sorting menu.\n */\n tooltip?: string\n}\n\n/**\n * This component adds a sorting menu to the data table, allowing users\n * to sort the table's data.\n */\nconst DataTableSortingMenu = (props: DataTableSortingMenuProps) => {\n const { instance } = useDataTableContext()\n\n const sortableColumns = instance\n .getAllColumns()\n .filter((column) => column.getCanSort())\n\n const sorting = instance.getSorting()\n\n const selectedColumn = React.useMemo(() => {\n return sortableColumns.find((column) => column.id === sorting?.id)\n }, [sortableColumns, sorting])\n\n const setKey = React.useCallback(\n (key: string) => {\n instance.setSorting((prev) => ({ id: key, desc: prev?.desc ?? false }))\n },\n [instance]\n )\n\n const setDesc = React.useCallback(\n (desc: string) => {\n instance.setSorting((prev) => ({\n id: prev?.id ?? \"\",\n desc: desc === \"true\",\n }))\n },\n [instance]\n )\n\n if (!instance.enableSorting) {\n throw new Error(\n \"DataTable.SortingMenu was rendered but sorting is not enabled. Make sure to pass sorting to 'useDataTable'\"\n )\n }\n\n if (!sortableColumns.length) {\n throw new Error(\n \"DataTable.SortingMenu was rendered but there are no sortable columns. Make sure to set `enableSorting` to true on at least one column.\"\n )\n }\n\n if (instance.showSkeleton) {\n return <DataTableSortingMenuSkeleton />\n }\n\n const Wrapper = props.tooltip ? Tooltip : React.Fragment\n const wrapperProps = props.tooltip ? { content: props.tooltip } : ({} as any)\n\n return (\n <DropdownMenu>\n <Wrapper {...wrapperProps}>\n <DropdownMenu.Trigger asChild>\n <IconButton size=\"small\">\n <DescendingSorting />\n </IconButton>\n </DropdownMenu.Trigger>\n </Wrapper>\n <DropdownMenu.Content side=\"bottom\">\n <DropdownMenu.RadioGroup value={sorting?.id} onValueChange={setKey}>\n {sortableColumns.map((column) => {\n return (\n <DropdownMenu.RadioItem\n onSelect={(e) => e.preventDefault()}\n value={column.id}\n key={column.id}\n >\n {getSortLabel(column)}\n </DropdownMenu.RadioItem>\n )\n })}\n </DropdownMenu.RadioGroup>\n {sorting && (\n <React.Fragment>\n <DropdownMenu.Separator />\n <DropdownMenu.RadioGroup\n value={sorting?.desc ? \"true\" : \"false\"}\n onValueChange={setDesc}\n >\n <DropdownMenu.RadioItem\n onSelect={(e) => e.preventDefault()}\n value=\"false\"\n className=\"flex items-center gap-2\"\n >\n <ArrowUpMini className=\"text-ui-fg-subtle\" />\n {getSortDescriptor(\"asc\", selectedColumn)}\n </DropdownMenu.RadioItem>\n <DropdownMenu.RadioItem\n onSelect={(e) => e.preventDefault()}\n value=\"true\"\n className=\"flex items-center gap-2\"\n >\n <ArrowDownMini className=\"text-ui-fg-subtle\" />\n {getSortDescriptor(\"desc\", selectedColumn)}\n </DropdownMenu.RadioItem>\n </DropdownMenu.RadioGroup>\n </React.Fragment>\n )}\n </DropdownMenu.Content>\n </DropdownMenu>\n )\n}\nDataTableSortingMenu.displayName = \"DataTable.SortingMenu\"\n\nfunction getSortLabel(column: DataTableColumn<any, unknown>) {\n const meta = column.columnDef.meta as\n | DataTableSortableColumnDefMeta\n | undefined\n let headerValue: string | undefined = undefined\n\n if (typeof column.columnDef.header === \"string\") {\n headerValue = column.columnDef.header\n }\n\n return meta?.___sortMetaData?.sortLabel ?? headerValue ?? column.id\n}\n\nfunction getSortDescriptor(\n direction: \"asc\" | \"desc\",\n column?: DataTableColumn<any, unknown>\n) {\n if (!column) {\n return null\n }\n\n const meta = column.columnDef.meta as\n | DataTableSortableColumnDefMeta\n | undefined\n\n switch (direction) {\n case \"asc\":\n return meta?.___sortMetaData?.sortAscLabel ?? \"A-Z\"\n case \"desc\":\n return meta?.___sortMetaData?.sortDescLabel ?? \"Z-A\"\n }\n}\n\nconst DataTableSortingMenuSkeleton = () => {\n return <Skeleton className=\"size-7\" />\n}\n\nexport { DataTableSortingMenu }\nexport type { DataTableSortingMenuProps }\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-filter-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,UAAU,wBAAwB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,QAAA,MAAM,mBAAmB;YAAW,wBAAwB;;
|
1
|
+
{"version":3,"file":"data-table-filter-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,UAAU,wBAAwB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,QAAA,MAAM,mBAAmB;YAAW,wBAAwB;;CA+C3D,CAAA;AAOD,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAC9B,YAAY,EAAE,wBAAwB,EAAE,CAAA"}
|
@@ -19,11 +19,14 @@ const DataTableFilterMenu = (props) => {
|
|
19
19
|
throw new Error("DataTable.FilterMenu was rendered but there are no filters to apply. Make sure to pass filters to 'useDataTable'");
|
20
20
|
}
|
21
21
|
const Wrapper = props.tooltip ? Tooltip : React.Fragment;
|
22
|
+
const wrapperProps = props.tooltip
|
23
|
+
? { content: props.tooltip, hidden: filterOptions.length === 0 }
|
24
|
+
: {};
|
22
25
|
if (instance.showSkeleton) {
|
23
26
|
return React.createElement(DataTableFilterMenuSkeleton, null);
|
24
27
|
}
|
25
28
|
return (React.createElement(DropdownMenu, null,
|
26
|
-
React.createElement(Wrapper, {
|
29
|
+
React.createElement(Wrapper, { ...wrapperProps },
|
27
30
|
React.createElement(DropdownMenu.Trigger, { asChild: true, disabled: filterOptions.length === 0 },
|
28
31
|
React.createElement(IconButton, { size: "small" },
|
29
32
|
React.createElement(Funnel, null)))),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-filter-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AASxC;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAE3D,MAAM,aAAa,GAAG,QAAQ;SAC3B,UAAU,EAAE;SACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;
|
1
|
+
{"version":3,"file":"data-table-filter-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-filter-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AASxC;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAE3D,MAAM,aAAa,GAAG,QAAQ;SAC3B,UAAU,EAAE;SACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO;QAChC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAChE,CAAC,CAAE,EAAU,CAAA;IAEf,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,oBAAC,2BAA2B,OAAG,CAAA;IACxC,CAAC;IAED,OAAO,CACL,oBAAC,YAAY;QACX,oBAAC,OAAO,OAAK,YAAY;YACvB,oBAAC,YAAY,CAAC,OAAO,IAAC,OAAO,QAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;gBAChE,oBAAC,UAAU,IAAC,IAAI,EAAC,OAAO;oBACtB,oBAAC,MAAM,OAAG,CACC,CACQ,CACf;QACV,oBAAC,YAAY,CAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,IAChC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,oBAAC,YAAY,CAAC,IAAI,IAChB,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YACzD,CAAC,IAEA,MAAM,CAAC,KAAK,CACK,CACrB,CAAC,CACmB,CACV,CAChB,CAAA;AACH,CAAC,CAAA;AACD,mBAAmB,CAAC,WAAW,GAAG,sBAAsB,CAAA;AAExD,MAAM,2BAA2B,GAAG,GAAG,EAAE;IACvC,OAAO,oBAAC,QAAQ,IAAC,SAAS,EAAC,QAAQ,GAAG,CAAA;AACxC,CAAC,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA","sourcesContent":["import * as React from \"react\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { DropdownMenu } from \"@/components/dropdown-menu\"\nimport { IconButton } from \"@/components/icon-button\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Tooltip } from \"@/components/tooltip\"\nimport { Funnel } from \"@medusajs/icons\"\n\ninterface DataTableFilterMenuProps {\n /**\n * The tooltip to show when hovering over the filter menu.\n */\n tooltip?: string\n}\n\n/**\n * This component adds a filter menu to the data table, allowing users\n * to filter the table's data.\n */\nconst DataTableFilterMenu = (props: DataTableFilterMenuProps) => {\n const { instance } = useDataTableContext()\n\n const enabledFilters = Object.keys(instance.getFiltering())\n\n const filterOptions = instance\n .getFilters()\n .filter((filter) => !enabledFilters.includes(filter.id))\n\n if (!enabledFilters.length && !filterOptions.length) {\n throw new Error(\n \"DataTable.FilterMenu was rendered but there are no filters to apply. Make sure to pass filters to 'useDataTable'\"\n )\n }\n\n const Wrapper = props.tooltip ? Tooltip : React.Fragment\n const wrapperProps = props.tooltip\n ? { content: props.tooltip, hidden: filterOptions.length === 0 }\n : ({} as any)\n\n if (instance.showSkeleton) {\n return <DataTableFilterMenuSkeleton />\n }\n\n return (\n <DropdownMenu>\n <Wrapper {...wrapperProps}>\n <DropdownMenu.Trigger asChild disabled={filterOptions.length === 0}>\n <IconButton size=\"small\">\n <Funnel />\n </IconButton>\n </DropdownMenu.Trigger>\n </Wrapper>\n <DropdownMenu.Content side=\"bottom\">\n {filterOptions.map((filter) => (\n <DropdownMenu.Item\n key={filter.id}\n onClick={() => {\n instance.addFilter({ id: filter.id, value: undefined })\n }}\n >\n {filter.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n )\n}\nDataTableFilterMenu.displayName = \"DataTable.FilterMenu\"\n\nconst DataTableFilterMenuSkeleton = () => {\n return <Skeleton className=\"size-7\" />\n}\n\nexport { DataTableFilterMenu }\nexport type { DataTableFilterMenuProps }\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-sorting-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"data-table-sorting-menu.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,UAAU,yBAAyB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,QAAA,MAAM,oBAAoB;YAAW,yBAAyB;;CAqG7D,CAAA;AAwCD,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAC/B,YAAY,EAAE,yBAAyB,EAAE,CAAA"}
|
@@ -41,8 +41,9 @@ const DataTableSortingMenu = (props) => {
|
|
41
41
|
return React.createElement(DataTableSortingMenuSkeleton, null);
|
42
42
|
}
|
43
43
|
const Wrapper = props.tooltip ? Tooltip : React.Fragment;
|
44
|
+
const wrapperProps = props.tooltip ? { content: props.tooltip } : {};
|
44
45
|
return (React.createElement(DropdownMenu, null,
|
45
|
-
React.createElement(Wrapper, {
|
46
|
+
React.createElement(Wrapper, { ...wrapperProps },
|
46
47
|
React.createElement(DropdownMenu.Trigger, { asChild: true },
|
47
48
|
React.createElement(IconButton, { size: "small" },
|
48
49
|
React.createElement(DescendingSorting, null)))),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-sorting-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;
|
1
|
+
{"version":3,"file":"data-table-sorting-menu.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-sorting-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport {\n DataTableColumn,\n DataTableSortableColumnDefMeta,\n} from \"@/blocks/data-table/types\"\nimport { DropdownMenu } from \"@/components/dropdown-menu\"\nimport { IconButton } from \"@/components/icon-button\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Tooltip } from \"@/components/tooltip\"\nimport { ArrowDownMini, ArrowUpMini, DescendingSorting } from \"@medusajs/icons\"\nimport * as React from \"react\"\n\ninterface DataTableSortingMenuProps {\n /**\n * The tooltip to show when hovering over the sorting menu.\n */\n tooltip?: string\n}\n\n/**\n * This component adds a sorting menu to the data table, allowing users\n * to sort the table's data.\n */\nconst DataTableSortingMenu = (props: DataTableSortingMenuProps) => {\n const { instance } = useDataTableContext()\n\n const sortableColumns = instance\n .getAllColumns()\n .filter((column) => column.getCanSort())\n\n const sorting = instance.getSorting()\n\n const selectedColumn = React.useMemo(() => {\n return sortableColumns.find((column) => column.id === sorting?.id)\n }, [sortableColumns, sorting])\n\n const setKey = React.useCallback(\n (key: string) => {\n instance.setSorting((prev) => ({ id: key, desc: prev?.desc ?? false }))\n },\n [instance]\n )\n\n const setDesc = React.useCallback(\n (desc: string) => {\n instance.setSorting((prev) => ({\n id: prev?.id ?? \"\",\n desc: desc === \"true\",\n }))\n },\n [instance]\n )\n\n if (!instance.enableSorting) {\n throw new Error(\n \"DataTable.SortingMenu was rendered but sorting is not enabled. Make sure to pass sorting to 'useDataTable'\"\n )\n }\n\n if (!sortableColumns.length) {\n throw new Error(\n \"DataTable.SortingMenu was rendered but there are no sortable columns. Make sure to set `enableSorting` to true on at least one column.\"\n )\n }\n\n if (instance.showSkeleton) {\n return <DataTableSortingMenuSkeleton />\n }\n\n const Wrapper = props.tooltip ? Tooltip : React.Fragment\n const wrapperProps = props.tooltip ? { content: props.tooltip } : ({} as any)\n\n return (\n <DropdownMenu>\n <Wrapper {...wrapperProps}>\n <DropdownMenu.Trigger asChild>\n <IconButton size=\"small\">\n <DescendingSorting />\n </IconButton>\n </DropdownMenu.Trigger>\n </Wrapper>\n <DropdownMenu.Content side=\"bottom\">\n <DropdownMenu.RadioGroup value={sorting?.id} onValueChange={setKey}>\n {sortableColumns.map((column) => {\n return (\n <DropdownMenu.RadioItem\n onSelect={(e) => e.preventDefault()}\n value={column.id}\n key={column.id}\n >\n {getSortLabel(column)}\n </DropdownMenu.RadioItem>\n )\n })}\n </DropdownMenu.RadioGroup>\n {sorting && (\n <React.Fragment>\n <DropdownMenu.Separator />\n <DropdownMenu.RadioGroup\n value={sorting?.desc ? \"true\" : \"false\"}\n onValueChange={setDesc}\n >\n <DropdownMenu.RadioItem\n onSelect={(e) => e.preventDefault()}\n value=\"false\"\n className=\"flex items-center gap-2\"\n >\n <ArrowUpMini className=\"text-ui-fg-subtle\" />\n {getSortDescriptor(\"asc\", selectedColumn)}\n </DropdownMenu.RadioItem>\n <DropdownMenu.RadioItem\n onSelect={(e) => e.preventDefault()}\n value=\"true\"\n className=\"flex items-center gap-2\"\n >\n <ArrowDownMini className=\"text-ui-fg-subtle\" />\n {getSortDescriptor(\"desc\", selectedColumn)}\n </DropdownMenu.RadioItem>\n </DropdownMenu.RadioGroup>\n </React.Fragment>\n )}\n </DropdownMenu.Content>\n </DropdownMenu>\n )\n}\nDataTableSortingMenu.displayName = \"DataTable.SortingMenu\"\n\nfunction getSortLabel(column: DataTableColumn<any, unknown>) {\n const meta = column.columnDef.meta as\n | DataTableSortableColumnDefMeta\n | undefined\n let headerValue: string | undefined = undefined\n\n if (typeof column.columnDef.header === \"string\") {\n headerValue = column.columnDef.header\n }\n\n return meta?.___sortMetaData?.sortLabel ?? headerValue ?? column.id\n}\n\nfunction getSortDescriptor(\n direction: \"asc\" | \"desc\",\n column?: DataTableColumn<any, unknown>\n) {\n if (!column) {\n return null\n }\n\n const meta = column.columnDef.meta as\n | DataTableSortableColumnDefMeta\n | undefined\n\n switch (direction) {\n case \"asc\":\n return meta?.___sortMetaData?.sortAscLabel ?? \"A-Z\"\n case \"desc\":\n return meta?.___sortMetaData?.sortDescLabel ?? \"Z-A\"\n }\n}\n\nconst DataTableSortingMenuSkeleton = () => {\n return <Skeleton className=\"size-7\" />\n}\n\nexport { DataTableSortingMenu }\nexport type { DataTableSortingMenuProps }\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@medusajs/ui",
|
3
|
-
"version": "4.0.10-snapshot-
|
3
|
+
"version": "4.0.10-snapshot-20250502090439",
|
4
4
|
"author": "Kasper Kristensen <kasper@medusajs.com>",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
@@ -43,7 +43,7 @@
|
|
43
43
|
},
|
44
44
|
"devDependencies": {
|
45
45
|
"@faker-js/faker": "^9.2.0",
|
46
|
-
"@medusajs/ui-preset": "2.7.2-snapshot-
|
46
|
+
"@medusajs/ui-preset": "2.7.2-snapshot-20250502090439",
|
47
47
|
"@storybook/addon-essentials": "^8.3.5",
|
48
48
|
"@storybook/addon-interactions": "^8.3.5",
|
49
49
|
"@storybook/addon-links": "^8.3.5",
|
@@ -81,7 +81,7 @@
|
|
81
81
|
"vitest": "^3.0.5"
|
82
82
|
},
|
83
83
|
"dependencies": {
|
84
|
-
"@medusajs/icons": "2.7.2-snapshot-
|
84
|
+
"@medusajs/icons": "2.7.2-snapshot-20250502090439",
|
85
85
|
"@tanstack/react-table": "8.20.5",
|
86
86
|
"clsx": "^1.2.1",
|
87
87
|
"copy-to-clipboard": "^3.3.3",
|