@itilite/lumina-ui 0.0.323 → 1.0.0-alpha
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/README.md +43 -10
- package/dist/AdvancedDateRangePicker-CN9WN0rH.d.mts +56 -0
- package/dist/AdvancedDateRangePicker-CN9WN0rH.d.ts +56 -0
- package/dist/AdvancedDateRangePicker-CzN1HGsC.d.mts +57 -0
- package/dist/AdvancedDateRangePicker-CzN1HGsC.d.ts +57 -0
- package/dist/AdvancedDateRangePicker-DAPxgRl3.d.mts +54 -0
- package/dist/AdvancedDateRangePicker-DAPxgRl3.d.ts +54 -0
- package/dist/AdvancedDateRangePicker-DW94285G.d.mts +56 -0
- package/dist/AdvancedDateRangePicker-DW94285G.d.ts +56 -0
- package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.mts +57 -0
- package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.ts +57 -0
- package/dist/Avatar-DX2JwvAs.d.mts +17 -0
- package/dist/Avatar-DX2JwvAs.d.ts +17 -0
- package/dist/Table-BA0D3p1m.d.mts +78 -0
- package/dist/Table-BA0D3p1m.d.ts +78 -0
- package/dist/Table-BLZ6c46U.d.mts +77 -0
- package/dist/Table-BLZ6c46U.d.ts +77 -0
- package/dist/Table-BMqYnFi4.d.mts +25 -0
- package/dist/Table-BMqYnFi4.d.ts +25 -0
- package/dist/Table-BOq-_9Nr.d.mts +121 -0
- package/dist/Table-BOq-_9Nr.d.ts +121 -0
- package/dist/Table-BRcthrYV.d.mts +98 -0
- package/dist/Table-BRcthrYV.d.ts +98 -0
- package/dist/Table-BWlFCfBG.d.mts +106 -0
- package/dist/Table-BWlFCfBG.d.ts +106 -0
- package/dist/Table-CHFmNrme.d.mts +77 -0
- package/dist/Table-CHFmNrme.d.ts +77 -0
- package/dist/Table-CX6UwQiD.d.mts +116 -0
- package/dist/Table-CX6UwQiD.d.ts +116 -0
- package/dist/Table-Chud2XSq.d.mts +99 -0
- package/dist/Table-Chud2XSq.d.ts +99 -0
- package/dist/Table-D5QRe_j3.d.mts +121 -0
- package/dist/Table-D5QRe_j3.d.ts +121 -0
- package/dist/Table-DAgFGahx.d.mts +39 -0
- package/dist/Table-DAgFGahx.d.ts +39 -0
- package/dist/Table-DWniK7At.d.mts +87 -0
- package/dist/Table-DWniK7At.d.ts +87 -0
- package/dist/Table-PyFlnUDu.d.mts +47 -0
- package/dist/Table-PyFlnUDu.d.ts +47 -0
- package/dist/Table-wqyg13Y9.d.mts +77 -0
- package/dist/Table-wqyg13Y9.d.ts +77 -0
- package/dist/Tag-l7I5oeyk.d.mts +13 -0
- package/dist/Tag-l7I5oeyk.d.ts +13 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +2 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +2 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.js +791 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +11 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.mts +18 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.ts +18 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.js +370 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.mjs +8 -0
- package/dist/atom/Avatar/Avatar.d.mts +9 -0
- package/dist/atom/Avatar/Avatar.d.ts +9 -0
- package/dist/atom/Avatar/Avatar.js +123 -0
- package/dist/atom/Avatar/Avatar.mjs +9 -0
- package/dist/{Button.js → atom/Button/Button.js} +4 -4
- package/dist/{Button.mjs → atom/Button/Button.mjs} +2 -2
- package/dist/{Checkbox.js → atom/Checkbox/Checkbox.js} +4 -4
- package/dist/{Checkbox.mjs → atom/Checkbox/Checkbox.mjs} +2 -2
- package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +19 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +19 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.js +90 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.mjs +9 -0
- package/dist/atom/Modal/Modal.d.mts +25 -0
- package/dist/atom/Modal/Modal.d.ts +25 -0
- package/dist/atom/Modal/Modal.js +267 -0
- package/dist/atom/Modal/Modal.mjs +10 -0
- package/dist/atom/Radio/Radio.d.mts +17 -0
- package/dist/atom/Radio/Radio.d.ts +17 -0
- package/dist/atom/Radio/Radio.js +122 -0
- package/dist/atom/Radio/Radio.mjs +9 -0
- package/dist/atom/RangePicker/Chevron.d.mts +13 -0
- package/dist/atom/RangePicker/Chevron.d.ts +13 -0
- package/dist/atom/RangePicker/Chevron.js +110 -0
- package/dist/atom/RangePicker/Chevron.mjs +7 -0
- package/dist/atom/RangePicker/RangePicker.d.mts +26 -0
- package/dist/atom/RangePicker/RangePicker.d.ts +26 -0
- package/dist/atom/RangePicker/RangePicker.js +1465 -0
- package/dist/atom/RangePicker/RangePicker.mjs +13 -0
- package/dist/atom/Select/Select.d.mts +40 -0
- package/dist/atom/Select/Select.d.ts +40 -0
- package/dist/atom/Select/Select.js +805 -0
- package/dist/atom/Select/Select.mjs +11 -0
- package/dist/atom/Slider/Slider.d.mts +34 -0
- package/dist/atom/Slider/Slider.d.ts +34 -0
- package/dist/atom/Slider/Slider.js +107 -0
- package/dist/atom/Slider/Slider.mjs +9 -0
- package/dist/atom/Switch/Switch.d.mts +13 -0
- package/dist/atom/Switch/Switch.d.ts +13 -0
- package/dist/atom/Switch/Switch.js +102 -0
- package/dist/atom/Switch/Switch.mjs +9 -0
- package/dist/atom/Table/LuminaPagination.d.mts +7 -0
- package/dist/atom/Table/LuminaPagination.d.ts +7 -0
- package/dist/atom/Table/LuminaPagination.js +153 -0
- package/dist/atom/Table/LuminaPagination.mjs +9 -0
- package/dist/atom/Table/Table.d.mts +3 -0
- package/dist/atom/Table/Table.d.ts +3 -0
- package/dist/atom/Table/Table.js +306 -0
- package/dist/atom/Table/Table.mjs +9 -0
- package/dist/atom/Table/TableAccordion.d.mts +9 -0
- package/dist/atom/Table/TableAccordion.d.ts +9 -0
- package/dist/atom/Table/TableAccordion.js +91 -0
- package/dist/atom/Table/TableAccordion.mjs +10 -0
- package/dist/atom/Table/TableColumnHeader.d.mts +7 -0
- package/dist/atom/Table/TableColumnHeader.d.ts +7 -0
- package/dist/atom/Table/TableColumnHeader.js +151 -0
- package/dist/atom/Table/TableColumnHeader.mjs +10 -0
- package/dist/atom/Table/TableToolbar.d.mts +9 -0
- package/dist/atom/Table/TableToolbar.d.ts +9 -0
- package/dist/atom/Table/TableToolbar.js +114 -0
- package/dist/atom/Table/TableToolbar.mjs +10 -0
- package/dist/atom/Table/__tests__/Table.test.d.mts +2 -0
- package/dist/atom/Table/__tests__/Table.test.d.ts +2 -0
- package/dist/atom/Table/__tests__/Table.test.js +61133 -0
- package/dist/atom/Table/__tests__/Table.test.mjs +59522 -0
- package/dist/atom/TableAccordion/index.d.mts +17 -0
- package/dist/atom/TableAccordion/index.d.ts +17 -0
- package/dist/atom/TableAccordion/index.js +91 -0
- package/dist/atom/TableAccordion/index.mjs +9 -0
- package/dist/atom/TableToolbar/index.d.mts +23 -0
- package/dist/atom/TableToolbar/index.d.ts +23 -0
- package/dist/atom/TableToolbar/index.js +114 -0
- package/dist/atom/TableToolbar/index.mjs +9 -0
- package/dist/atom/Tag/Tag.d.mts +6 -0
- package/dist/atom/Tag/Tag.d.ts +6 -0
- package/dist/atom/Tag/Tag.js +108 -0
- package/dist/atom/Tag/Tag.mjs +9 -0
- package/dist/atom/Tooltip/Tooltip.d.mts +12 -0
- package/dist/atom/Tooltip/Tooltip.d.ts +12 -0
- package/dist/atom/Tooltip/Tooltip.js +97 -0
- package/dist/atom/Tooltip/Tooltip.mjs +9 -0
- package/dist/chunk-2EBPXGRY.mjs +65 -0
- package/dist/chunk-2PIFDGVK.mjs +420 -0
- package/dist/chunk-35KDS27M.mjs +618 -0
- package/dist/chunk-3S4X3YO2.mjs +64 -0
- package/dist/chunk-3XUHGVYA.mjs +77 -0
- package/dist/chunk-4JX54OKI.mjs +627 -0
- package/dist/chunk-4VZB2KR2.mjs +51 -0
- package/dist/chunk-5HF6Y37C.mjs +642 -0
- package/dist/chunk-5OGQ4YIR.mjs +238 -0
- package/dist/chunk-6FCSXN7R.mjs +388 -0
- package/dist/chunk-7W72LPSU.mjs +66 -0
- package/dist/chunk-A66QDQHK.mjs +627 -0
- package/dist/chunk-ABLIL47F.mjs +618 -0
- package/dist/chunk-AEPDEUGY.mjs +627 -0
- package/dist/chunk-AF2RKLH6.mjs +77 -0
- package/dist/chunk-AFLEGUF3.mjs +232 -0
- package/dist/chunk-APCEITHQ.mjs +232 -0
- package/dist/chunk-AVQBFGBT.mjs +141 -0
- package/dist/chunk-B5BOBELW.mjs +213 -0
- package/dist/chunk-BQ4PVLJ4.mjs +262 -0
- package/dist/chunk-D3N7VFER.mjs +73 -0
- package/dist/{chunk-OMYHSSPQ.mjs → chunk-DBNLBCQK.mjs} +5 -5
- package/dist/chunk-DLLT6V65.mjs +141 -0
- package/dist/chunk-DOQQRYTS.mjs +73 -0
- package/dist/chunk-DSVR2DVF.mjs +660 -0
- package/dist/chunk-DXUPULDI.mjs +424 -0
- package/dist/chunk-E465D6OH.mjs +644 -0
- package/dist/chunk-E4FCLHYA.mjs +678 -0
- package/dist/chunk-ENQN5BAN.mjs +225 -0
- package/dist/chunk-F6VMSH4N.mjs +79 -0
- package/dist/chunk-FKGGN3FA.mjs +412 -0
- package/dist/chunk-GFTO2N3Q.mjs +432 -0
- package/dist/chunk-GM6H6RPJ.mjs +232 -0
- package/dist/chunk-GU5F7Z7I.mjs +681 -0
- package/dist/chunk-HF3VJBMY.mjs +244 -0
- package/dist/{chunk-ME35H7QC.mjs → chunk-HISCHZ5H.mjs} +4 -4
- package/dist/chunk-HWQBE6PT.mjs +99 -0
- package/dist/chunk-HXM657YW.mjs +115 -0
- package/dist/chunk-I5VHKSQR.mjs +64 -0
- package/dist/chunk-ICSZZNTY.mjs +384 -0
- package/dist/chunk-IWO2Y5QX.mjs +89 -0
- package/dist/chunk-IZGLD7U3.mjs +667 -0
- package/dist/chunk-J7X2PZG6.mjs +232 -0
- package/dist/chunk-JUXBLRMQ.mjs +50 -0
- package/dist/chunk-JXFSGADI.mjs +678 -0
- package/dist/chunk-KGKRSR6D.mjs +388 -0
- package/dist/chunk-KQKNFGWZ.mjs +388 -0
- package/dist/chunk-LCH4DXJY.mjs +92 -0
- package/dist/chunk-LCXU3K57.mjs +232 -0
- package/dist/chunk-LRN4XOIR.mjs +71 -0
- package/dist/chunk-LROMXY35.mjs +116 -0
- package/dist/chunk-LUNPHYAR.mjs +681 -0
- package/dist/chunk-LVOTEPLC.mjs +64 -0
- package/dist/chunk-M2ZM3X5Y.mjs +56 -0
- package/dist/chunk-M4MIYHAV.mjs +43 -0
- package/dist/chunk-M7F7DOC4.mjs +41 -0
- package/dist/chunk-MHWFVML4.mjs +115 -0
- package/dist/chunk-MLCMZRUC.mjs +50 -0
- package/dist/chunk-MNARBWAJ.mjs +47 -0
- package/dist/chunk-MPTVYTYS.mjs +0 -0
- package/dist/chunk-MQFW3LZR.mjs +111 -0
- package/dist/chunk-N2WTNCQU.mjs +66 -0
- package/dist/chunk-N355RJGH.mjs +141 -0
- package/dist/chunk-N3YFQDW7.mjs +77 -0
- package/dist/chunk-N4DPPZVJ.mjs +269 -0
- package/dist/chunk-NGCBOOIE.mjs +225 -0
- package/dist/chunk-NWQQYJSP.mjs +688 -0
- package/dist/chunk-NYQV556V.mjs +667 -0
- package/dist/chunk-O5C3355V.mjs +246 -0
- package/dist/chunk-OCP43S7U.mjs +241 -0
- package/dist/chunk-OHLFRULE.mjs +432 -0
- package/dist/chunk-PLO46EKV.mjs +65 -0
- package/dist/chunk-PQ3B2FEB.mjs +249 -0
- package/dist/chunk-PSBEYGD4.mjs +618 -0
- package/dist/chunk-PWIBJI6Z.mjs +115 -0
- package/dist/chunk-Q5KPXEH5.mjs +223 -0
- package/dist/chunk-QC34HHAY.mjs +57 -0
- package/dist/chunk-QKTMWS4J.mjs +43 -0
- package/dist/chunk-QVWV36BK.mjs +73 -0
- package/dist/chunk-QWK3MYDM.mjs +64 -0
- package/dist/chunk-RE44YAMD.mjs +47 -0
- package/dist/chunk-RH6DAYBU.mjs +369 -0
- package/dist/chunk-RSSEJENT.mjs +269 -0
- package/dist/chunk-SJBS5QCJ.mjs +225 -0
- package/dist/chunk-SWRFCTJW.mjs +77 -0
- package/dist/chunk-T4XNCAIB.mjs +231 -0
- package/dist/chunk-TCX5IFQ4.mjs +627 -0
- package/dist/chunk-TSAUBT2F.mjs +74 -0
- package/dist/chunk-U7Q7ILSE.mjs +690 -0
- package/dist/chunk-UHTUJJH7.mjs +112 -0
- package/dist/chunk-UOHYCMUS.mjs +53 -0
- package/dist/chunk-UQJ3BDM4.mjs +141 -0
- package/dist/chunk-UQZBL3F7.mjs +0 -0
- package/dist/chunk-UQZNUEZE.mjs +64 -0
- package/dist/chunk-URGYNKJM.mjs +229 -0
- package/dist/chunk-UTMZY37A.mjs +141 -0
- package/dist/chunk-UUEPD2FH.mjs +141 -0
- package/dist/chunk-V3CHJHUX.mjs +424 -0
- package/dist/chunk-VQOUJQIF.mjs +249 -0
- package/dist/chunk-VY3QH43W.mjs +6 -0
- package/dist/chunk-W2N3AWY6.mjs +80 -0
- package/dist/chunk-WUVS6S7N.mjs +119 -0
- package/dist/chunk-WZS2K7X3.mjs +688 -0
- package/dist/chunk-X76GNSBB.mjs +87 -0
- package/dist/chunk-XG7CZXBW.mjs +244 -0
- package/dist/chunk-XXKIBYXD.mjs +109 -0
- package/dist/chunk-XXTUVMAY.mjs +51 -0
- package/dist/chunk-Y3BIY4DW.mjs +618 -0
- package/dist/chunk-Y7FP6ZMW.mjs +225 -0
- package/dist/chunk-YELLXCMY.mjs +265 -0
- package/dist/chunk-YQEEM26W.mjs +232 -0
- package/dist/chunk-ZGFE3OPJ.mjs +678 -0
- package/dist/chunk-ZMJ3KDDY.mjs +618 -0
- package/dist/chunk-ZTRM4HZJ.mjs +53 -0
- package/dist/chunk-ZYPWQ53U.mjs +6 -0
- package/dist/dist-U2IPN4FB.mjs +567 -0
- package/dist/index.d.mts +20 -2
- package/dist/index.d.ts +20 -2
- package/dist/index.js +2820 -13
- package/dist/index.mjs +59 -5
- package/dist/magic-string.es-XOWQCRDO.mjs +1311 -0
- package/dist/molecules/UserProfile/UserProfile.d.mts +23 -0
- package/dist/molecules/UserProfile/UserProfile.d.ts +23 -0
- package/dist/molecules/UserProfile/UserProfile.js +243 -0
- package/dist/molecules/UserProfile/UserProfile.mjs +11 -0
- package/dist/styles.css +1802 -1067
- package/dist/types-CA0Wby2L.d.mts +67 -0
- package/dist/types-CA0Wby2L.d.ts +67 -0
- package/dist/types-CncMmuJM.d.mts +44 -0
- package/dist/types-CncMmuJM.d.ts +44 -0
- package/dist/types-D4MD2w3_.d.mts +9 -0
- package/dist/types-D4MD2w3_.d.ts +9 -0
- package/dist/types-D4fdeMWQ.d.mts +62 -0
- package/dist/types-D4fdeMWQ.d.ts +62 -0
- package/dist/types-mhQmqhsR.d.mts +10 -0
- package/dist/types-mhQmqhsR.d.ts +10 -0
- package/package.json +10 -18
- /package/dist/{Button.d.mts → atom/Button/Button.d.mts} +0 -0
- /package/dist/{Button.d.ts → atom/Button/Button.d.ts} +0 -0
- /package/dist/{Checkbox.d.mts → atom/Checkbox/Checkbox.d.mts} +0 -0
- /package/dist/{Checkbox.d.ts → atom/Checkbox/Checkbox.d.ts} +0 -0
- /package/dist/{chunk-FUJQIYOF.mjs → chunk-FWCSY2DS.mjs} +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// src/atom/TableToolbar/index.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
|
|
5
|
+
// src/atom/TableToolbar/TableToolbar.module.scss
|
|
6
|
+
var TableToolbar_module_default = { "toolbarWrapper": "TableToolbar-module__toolbarWrapper___gMA4G", "topRow": "TableToolbar-module__topRow___fbhSu", "searchInputWrapper": "TableToolbar-module__searchInputWrapper___ymI3E", "searchIcon": "TableToolbar-module__searchIcon___b6Czq", "searchInput": "TableToolbar-module__searchInput___EJDfa", "editColumnsBtn": "TableToolbar-module__editColumnsBtn___ed--8", "filterRow": "TableToolbar-module__filterRow___-oQV7", "addFilterBtn": "TableToolbar-module__addFilterBtn___-ZJ3M", "tableSlot": "TableToolbar-module__tableSlot___OxBU1" };
|
|
7
|
+
|
|
8
|
+
// src/atom/TableToolbar/index.tsx
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
function TableToolbar({
|
|
11
|
+
searchPlaceholder = "Search...",
|
|
12
|
+
onSearch,
|
|
13
|
+
editColumnsLabel = "Edit Columns",
|
|
14
|
+
onEditColumns,
|
|
15
|
+
addFilterLabel = "+ Add filter",
|
|
16
|
+
onAddFilter,
|
|
17
|
+
className,
|
|
18
|
+
children
|
|
19
|
+
}) {
|
|
20
|
+
const [searchValue, setSearchValue] = React.useState("");
|
|
21
|
+
const handleSearchChange = (e) => {
|
|
22
|
+
setSearchValue(e.target.value);
|
|
23
|
+
onSearch == null ? void 0 : onSearch(e.target.value);
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ jsxs("div", { className: clsx(TableToolbar_module_default.toolbarWrapper, className), "data-testid": "lumina-table-toolbar", children: [
|
|
26
|
+
/* @__PURE__ */ jsxs("div", { className: TableToolbar_module_default.topRow, children: [
|
|
27
|
+
/* @__PURE__ */ jsxs("div", { className: TableToolbar_module_default.searchInputWrapper, children: [
|
|
28
|
+
/* @__PURE__ */ jsx("span", { className: TableToolbar_module_default.searchIcon, "aria-hidden": "true", children: /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
29
|
+
/* @__PURE__ */ jsx("circle", { cx: "7", cy: "7", r: "4.5", stroke: "#9CA3AF", strokeWidth: "1.5" }),
|
|
30
|
+
/* @__PURE__ */ jsx("path", { d: "M10.5 10.5L13.5 13.5", stroke: "#9CA3AF", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
31
|
+
] }) }),
|
|
32
|
+
/* @__PURE__ */ jsx(
|
|
33
|
+
"input",
|
|
34
|
+
{
|
|
35
|
+
className: TableToolbar_module_default.searchInput,
|
|
36
|
+
type: "text",
|
|
37
|
+
placeholder: searchPlaceholder,
|
|
38
|
+
value: searchValue,
|
|
39
|
+
onChange: handleSearchChange,
|
|
40
|
+
"aria-label": "Search"
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ jsxs(
|
|
45
|
+
"button",
|
|
46
|
+
{
|
|
47
|
+
className: TableToolbar_module_default.editColumnsBtn,
|
|
48
|
+
onClick: onEditColumns,
|
|
49
|
+
type: "button",
|
|
50
|
+
"data-testid": "edit-columns-btn",
|
|
51
|
+
children: [
|
|
52
|
+
/* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
53
|
+
/* @__PURE__ */ jsx("rect", { x: "2", y: "3", width: "3", height: "10", rx: "1", stroke: "#374151", strokeWidth: "1.25" }),
|
|
54
|
+
/* @__PURE__ */ jsx("rect", { x: "6.5", y: "3", width: "3", height: "10", rx: "1", stroke: "#374151", strokeWidth: "1.25" }),
|
|
55
|
+
/* @__PURE__ */ jsx("rect", { x: "11", y: "3", width: "3", height: "10", rx: "1", stroke: "#374151", strokeWidth: "1.25" })
|
|
56
|
+
] }),
|
|
57
|
+
editColumnsLabel
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
] }),
|
|
62
|
+
/* @__PURE__ */ jsx("div", { className: TableToolbar_module_default.filterRow, children: /* @__PURE__ */ jsx(
|
|
63
|
+
"button",
|
|
64
|
+
{
|
|
65
|
+
className: TableToolbar_module_default.addFilterBtn,
|
|
66
|
+
onClick: onAddFilter,
|
|
67
|
+
type: "button",
|
|
68
|
+
"data-testid": "add-filter-btn",
|
|
69
|
+
children: addFilterLabel
|
|
70
|
+
}
|
|
71
|
+
) }),
|
|
72
|
+
/* @__PURE__ */ jsx("div", { className: TableToolbar_module_default.tableSlot, children })
|
|
73
|
+
] });
|
|
74
|
+
}
|
|
75
|
+
var TableToolbar_default = TableToolbar;
|
|
76
|
+
|
|
77
|
+
export {
|
|
78
|
+
TableToolbar,
|
|
79
|
+
TableToolbar_default
|
|
80
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// src/atom/Table/LuminaPagination.tsx
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
|
|
4
|
+
// src/atom/Table/LuminaPagination.module.scss
|
|
5
|
+
var LuminaPagination_module_default = { "paginationBar": "LuminaPagination-module__paginationBar___RD-LQ", "rowsPerPage": "LuminaPagination-module__rowsPerPage___wziAf", "rowsLabel": "LuminaPagination-module__rowsLabel___jmJoT", "pageSizeSelectWrapper": "LuminaPagination-module__pageSizeSelectWrapper___ZvJtE", "pageSizeSelect": "LuminaPagination-module__pageSizeSelect___LH1Fq", "selectChevron": "LuminaPagination-module__selectChevron___-IHgm", "itemRange": "LuminaPagination-module__itemRange___O04k7", "pageButtons": "LuminaPagination-module__pageButtons___0S2om", "pageBtn": "LuminaPagination-module__pageBtn___zJcg-", "activePage": "LuminaPagination-module__activePage___HCrmx", "ellipsis": "LuminaPagination-module__ellipsis___AmnuL" };
|
|
6
|
+
|
|
7
|
+
// src/atom/Table/LuminaPagination.tsx
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
var DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50];
|
|
10
|
+
function getPageNumbers(page, totalPages) {
|
|
11
|
+
if (totalPages <= 7) {
|
|
12
|
+
return Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
13
|
+
}
|
|
14
|
+
const pages = [1];
|
|
15
|
+
if (page > 3) {
|
|
16
|
+
pages.push("ellipsis-start");
|
|
17
|
+
}
|
|
18
|
+
const start = Math.max(2, page - 1);
|
|
19
|
+
const end = Math.min(totalPages - 1, page + 1);
|
|
20
|
+
for (let i = start; i <= end; i++) {
|
|
21
|
+
pages.push(i);
|
|
22
|
+
}
|
|
23
|
+
if (page < totalPages - 2) {
|
|
24
|
+
pages.push("ellipsis-end");
|
|
25
|
+
}
|
|
26
|
+
pages.push(totalPages);
|
|
27
|
+
return pages;
|
|
28
|
+
}
|
|
29
|
+
function LuminaPagination({
|
|
30
|
+
total,
|
|
31
|
+
page,
|
|
32
|
+
pageSize,
|
|
33
|
+
pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,
|
|
34
|
+
onChange
|
|
35
|
+
}) {
|
|
36
|
+
const totalPages = Math.max(1, Math.ceil(total / pageSize));
|
|
37
|
+
const startItem = (page - 1) * pageSize + 1;
|
|
38
|
+
const endItem = Math.min(page * pageSize, total);
|
|
39
|
+
const pageNumbers = getPageNumbers(page, totalPages);
|
|
40
|
+
const handlePageSizeChange = (e) => {
|
|
41
|
+
const newPageSize = Number(e.target.value);
|
|
42
|
+
onChange(1, newPageSize);
|
|
43
|
+
};
|
|
44
|
+
const handlePageClick = (p) => {
|
|
45
|
+
if (p !== page && p >= 1 && p <= totalPages) {
|
|
46
|
+
onChange(p, pageSize);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
return /* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.paginationBar, "data-testid": "lumina-pagination", children: [
|
|
50
|
+
/* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.rowsPerPage, children: [
|
|
51
|
+
/* @__PURE__ */ jsx("span", { className: LuminaPagination_module_default.rowsLabel, children: "Rows per page:" }),
|
|
52
|
+
/* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.pageSizeSelectWrapper, children: [
|
|
53
|
+
/* @__PURE__ */ jsx(
|
|
54
|
+
"select",
|
|
55
|
+
{
|
|
56
|
+
className: LuminaPagination_module_default.pageSizeSelect,
|
|
57
|
+
value: pageSize,
|
|
58
|
+
onChange: handlePageSizeChange,
|
|
59
|
+
"aria-label": "Rows per page",
|
|
60
|
+
children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx("option", { value: size, children: size }, size))
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
/* @__PURE__ */ jsx("span", { className: LuminaPagination_module_default.selectChevron, "aria-hidden": "true", children: "\u25BE" })
|
|
64
|
+
] })
|
|
65
|
+
] }),
|
|
66
|
+
/* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.itemRange, "aria-live": "polite", children: [
|
|
67
|
+
startItem,
|
|
68
|
+
"\u2013",
|
|
69
|
+
endItem,
|
|
70
|
+
" of ",
|
|
71
|
+
total,
|
|
72
|
+
" items"
|
|
73
|
+
] }),
|
|
74
|
+
/* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.pageButtons, role: "navigation", "aria-label": "Pagination", children: [
|
|
75
|
+
/* @__PURE__ */ jsx(
|
|
76
|
+
"button",
|
|
77
|
+
{
|
|
78
|
+
className: LuminaPagination_module_default.pageBtn,
|
|
79
|
+
onClick: () => handlePageClick(page - 1),
|
|
80
|
+
disabled: page === 1,
|
|
81
|
+
"aria-label": "Previous page",
|
|
82
|
+
children: "\u2039"
|
|
83
|
+
}
|
|
84
|
+
),
|
|
85
|
+
pageNumbers.map((p, idx) => {
|
|
86
|
+
if (p === "ellipsis-start" || p === "ellipsis-end") {
|
|
87
|
+
return /* @__PURE__ */ jsx("span", { className: LuminaPagination_module_default.ellipsis, "aria-hidden": "true", children: "\u2026" }, `ellipsis-${idx}`);
|
|
88
|
+
}
|
|
89
|
+
return /* @__PURE__ */ jsx(
|
|
90
|
+
"button",
|
|
91
|
+
{
|
|
92
|
+
className: clsx(LuminaPagination_module_default.pageBtn, { [LuminaPagination_module_default.activePage]: p === page }),
|
|
93
|
+
onClick: () => handlePageClick(p),
|
|
94
|
+
"aria-label": `Page ${p}`,
|
|
95
|
+
"aria-current": p === page ? "page" : void 0,
|
|
96
|
+
children: p
|
|
97
|
+
},
|
|
98
|
+
p
|
|
99
|
+
);
|
|
100
|
+
}),
|
|
101
|
+
/* @__PURE__ */ jsx(
|
|
102
|
+
"button",
|
|
103
|
+
{
|
|
104
|
+
className: LuminaPagination_module_default.pageBtn,
|
|
105
|
+
onClick: () => handlePageClick(page + 1),
|
|
106
|
+
disabled: page === totalPages,
|
|
107
|
+
"aria-label": "Next page",
|
|
108
|
+
children: "\u203A"
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
] })
|
|
112
|
+
] });
|
|
113
|
+
}
|
|
114
|
+
var LuminaPagination_default = LuminaPagination;
|
|
115
|
+
|
|
116
|
+
export {
|
|
117
|
+
LuminaPagination,
|
|
118
|
+
LuminaPagination_default
|
|
119
|
+
};
|