@povio/ui 3.3.0 → 3.3.1

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.
Files changed (98) hide show
  1. package/README.md +1 -1
  2. package/dist/browser-tests/checkbox/CheckboxGroupHarness.d.ts +10 -0
  3. package/dist/browser-tests/checkbox/CheckboxHarness.d.ts +10 -0
  4. package/dist/browser-tests/checkbox/checkbox-group.spec.d.ts +1 -0
  5. package/dist/browser-tests/checkbox/checkbox.spec.d.ts +1 -0
  6. package/dist/browser-tests/datetime-picker/DateTimeHarnesses.d.ts +43 -0
  7. package/dist/browser-tests/datetime-picker/assertions.d.ts +9 -0
  8. package/dist/browser-tests/datetime-picker/date-input-focus.firefox.spec.d.ts +1 -0
  9. package/dist/browser-tests/datetime-picker/date-picker.spec.d.ts +1 -0
  10. package/dist/browser-tests/datetime-picker/date-range-picker.spec.d.ts +1 -0
  11. package/dist/browser-tests/datetime-picker/date-time-picker.spec.d.ts +1 -0
  12. package/dist/browser-tests/datetime-picker/time-picker.spec.d.ts +1 -0
  13. package/dist/browser-tests/file-upload/FileUploadHarness.d.ts +4 -0
  14. package/dist/browser-tests/file-upload/file-upload.spec.d.ts +1 -0
  15. package/dist/browser-tests/file-upload-container/FileUploadContainerHarness.d.ts +4 -0
  16. package/dist/browser-tests/file-upload-container/file-upload-container.spec.d.ts +1 -0
  17. package/dist/browser-tests/input-upload/InputUploadHarness.d.ts +9 -0
  18. package/dist/browser-tests/input-upload/input-upload.spec.d.ts +1 -0
  19. package/dist/browser-tests/modal/ModalHarness.d.ts +5 -0
  20. package/dist/browser-tests/modal/modal.spec.d.ts +1 -0
  21. package/dist/browser-tests/number-input/NumberInputHarness.d.ts +10 -0
  22. package/dist/browser-tests/number-input/number-input.spec.d.ts +1 -0
  23. package/dist/browser-tests/number-range-input/NumberRangeInputHarness.d.ts +10 -0
  24. package/dist/browser-tests/number-range-input/number-range-input.spec.d.ts +1 -0
  25. package/dist/browser-tests/password-input/PasswordInputHarness.d.ts +6 -0
  26. package/dist/browser-tests/password-input/password-input.spec.d.ts +1 -0
  27. package/dist/browser-tests/radio-group/RadioGroupHarness.d.ts +15 -0
  28. package/dist/browser-tests/radio-group/radio-group.spec.d.ts +1 -0
  29. package/dist/browser-tests/selection/SelectionHarnesses.d.ts +61 -0
  30. package/dist/browser-tests/selection/autocomplete.spec.d.ts +1 -0
  31. package/dist/browser-tests/selection/interactions.d.ts +2 -0
  32. package/dist/browser-tests/selection/query-autocomplete.spec.d.ts +1 -0
  33. package/dist/browser-tests/selection/query-select.spec.d.ts +1 -0
  34. package/dist/browser-tests/selection/select.spec.d.ts +1 -0
  35. package/dist/browser-tests/slider/SliderHarness.d.ts +11 -0
  36. package/dist/browser-tests/slider/slider.spec.d.ts +1 -0
  37. package/dist/browser-tests/text-area/TextAreaHarness.d.ts +10 -0
  38. package/dist/browser-tests/text-area/text-area.spec.d.ts +1 -0
  39. package/dist/browser-tests/text-input/TextInputHarness.d.ts +10 -0
  40. package/dist/browser-tests/text-input/text-input.spec.d.ts +1 -0
  41. package/dist/browser-tests/toggle/ToggleHarness.d.ts +10 -0
  42. package/dist/browser-tests/toggle/toggle.spec.d.ts +1 -0
  43. package/dist/browser-tests/utils/blur.d.ts +22 -0
  44. package/dist/browser-tests/utils/events.d.ts +4 -0
  45. package/dist/browser-tests/utils/input.d.ts +10 -0
  46. package/dist/components/Breadcrumbs/Breadcrumbs.js +206 -55
  47. package/dist/components/buttons/Button/button.cva.d.ts +1 -1
  48. package/dist/components/buttons/Button/button.cva.js +4 -4
  49. package/dist/components/buttons/InlineIconButton/InlineIconButton.js +34 -9
  50. package/dist/components/buttons/PillButton/pillButton.cva.js +4 -4
  51. package/dist/components/buttons/shared/ButtonContent.js +80 -22
  52. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +24 -10
  53. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +222 -74
  54. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +182 -56
  55. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +128 -41
  56. package/dist/components/inputs/DateTime/shared/Calendar.js +339 -139
  57. package/dist/components/inputs/DateTime/shared/CalendarCell.js +308 -114
  58. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +150 -35
  59. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +229 -95
  60. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +296 -115
  61. package/dist/components/inputs/DateTime/shared/DateField.js +306 -135
  62. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +338 -140
  63. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +59 -10
  64. package/dist/components/inputs/File/FileUpload.js +1 -1
  65. package/dist/components/inputs/File/InputUpload.js +261 -65
  66. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +180 -48
  67. package/dist/components/inputs/File/shared/FileUploadContentError.js +265 -95
  68. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +261 -99
  69. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +234 -56
  70. package/dist/components/inputs/File/shared/ProgressBar.js +102 -15
  71. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +313 -75
  72. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.js +83 -23
  73. package/dist/components/inputs/Selection/Select/QuerySelect.js +96 -30
  74. package/dist/components/inputs/Selection/shared/SelectListBox.js +163 -51
  75. package/dist/components/inputs/Selection/shared/useSelectItems.js +108 -48
  76. package/dist/components/inputs/Skeleton/InputFrame.js +550 -177
  77. package/dist/components/inputs/TextEditor/TextEditor.js +389 -87
  78. package/dist/components/navigation/Accordion/Accordion.js +69 -22
  79. package/dist/components/navigation/Accordion/AccordionItem.js +86 -41
  80. package/dist/components/navigation/Stepper/Stepper.js +67 -22
  81. package/dist/components/overlays/ActionModal/ActionModal.js +169 -35
  82. package/dist/components/overlays/BottomSheet/BottomSheet.js +1 -1
  83. package/dist/components/overlays/Modal/Modal.d.ts +3 -2
  84. package/dist/components/overlays/Modal/Modal.js +3 -1
  85. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +110 -29
  86. package/dist/components/shared/pagination/Pagination.js +108 -22
  87. package/dist/components/shared/pagination/minWidth.cva.d.ts +1 -1
  88. package/dist/components/status/Alert/Alert.js +97 -30
  89. package/dist/components/table/InfiniteTable.js +67 -16
  90. package/dist/components/text/Typography/Typography.js +23 -8
  91. package/dist/config/confirmation.context.js +1 -1
  92. package/dist/config/theme.context.js +98 -45
  93. package/dist/config/uiConfig.context.js +39 -8
  94. package/dist/hooks/useDebounceCallback.js +51 -17
  95. package/dist/hooks/useFormAutosave.js +120 -33
  96. package/dist/hooks/useLongPressRepeat.js +55 -20
  97. package/dist/vitest.setup.browser.d.ts +6 -0
  98. package/package.json +1 -1
@@ -2,16 +2,31 @@ import { Typography } from "../../text/Typography/Typography.js";
2
2
  import "../../../config/i18n.js";
3
3
  import { NumberInput } from "../../inputs/Input/NumberInput/NumberInput.js";
4
4
  import { PaginationList } from "./PaginationList.js";
5
+ import { c } from "react/compiler-runtime";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { clsx } from "clsx";
7
8
  import { useTranslation } from "react-i18next";
8
9
  //#region src/components/shared/pagination/Pagination.tsx
9
- var Pagination = ({ size = "s", variant = "subtle", color = "secondary", page, totalItems, totalPages, pageSize, hideText = true, hideFirstLast = true, hidePrevNext = false, hideNumbers = false, className, onPageChange, onPageSizeChange }) => {
10
+ var Pagination = (t0) => {
11
+ const $ = c(34);
12
+ const { size: t1, variant: t2, color: t3, page, totalItems, totalPages, pageSize, hideText: t4, hideFirstLast: t5, hidePrevNext: t6, hideNumbers: t7, className, onPageChange, onPageSizeChange } = t0;
13
+ const size = t1 === void 0 ? "s" : t1;
14
+ const variant = t2 === void 0 ? "subtle" : t2;
15
+ const color = t3 === void 0 ? "secondary" : t3;
16
+ const hideText = t4 === void 0 ? true : t4;
17
+ const hideFirstLast = t5 === void 0 ? true : t5;
18
+ const hidePrevNext = t6 === void 0 ? false : t6;
19
+ const hideNumbers = t7 === void 0 ? false : t7;
10
20
  const { t } = useTranslation("ui");
11
- return /* @__PURE__ */ jsxs("nav", {
12
- id: "pagination",
13
- className: clsx("flex items-center gap-2", className),
14
- children: [totalItems > pageSize && /* @__PURE__ */ jsx(PaginationList, {
21
+ let t8;
22
+ if ($[0] !== className) {
23
+ t8 = clsx("flex items-center gap-2", className);
24
+ $[0] = className;
25
+ $[1] = t8;
26
+ } else t8 = $[1];
27
+ let t9;
28
+ if ($[2] !== color || $[3] !== hideFirstLast || $[4] !== hideNumbers || $[5] !== hidePrevNext || $[6] !== hideText || $[7] !== onPageChange || $[8] !== page || $[9] !== pageSize || $[10] !== size || $[11] !== totalItems || $[12] !== totalPages || $[13] !== variant) {
29
+ t9 = totalItems > pageSize && /* @__PURE__ */ jsx(PaginationList, {
15
30
  page,
16
31
  size,
17
32
  color,
@@ -22,24 +37,95 @@ var Pagination = ({ size = "s", variant = "subtle", color = "secondary", page, t
22
37
  hideNumbers,
23
38
  totalPages: totalPages ?? Math.ceil(totalItems / pageSize),
24
39
  onPageChange
25
- }), /* @__PURE__ */ jsxs("div", {
40
+ });
41
+ $[2] = color;
42
+ $[3] = hideFirstLast;
43
+ $[4] = hideNumbers;
44
+ $[5] = hidePrevNext;
45
+ $[6] = hideText;
46
+ $[7] = onPageChange;
47
+ $[8] = page;
48
+ $[9] = pageSize;
49
+ $[10] = size;
50
+ $[11] = totalItems;
51
+ $[12] = totalPages;
52
+ $[13] = variant;
53
+ $[14] = t9;
54
+ } else t9 = $[14];
55
+ let t10;
56
+ if ($[15] !== t) {
57
+ t10 = t(_temp);
58
+ $[15] = t;
59
+ $[16] = t10;
60
+ } else t10 = $[16];
61
+ let t11;
62
+ if ($[17] !== t10) {
63
+ t11 = /* @__PURE__ */ jsx(Typography, {
64
+ variant: "default",
65
+ size: "label-2",
66
+ as: "span",
67
+ className: "whitespace-nowrap text-text-default-1",
68
+ children: t10
69
+ });
70
+ $[17] = t10;
71
+ $[18] = t11;
72
+ } else t11 = $[18];
73
+ let t12;
74
+ if ($[19] !== onPageSizeChange) {
75
+ t12 = (value) => onPageSizeChange?.(Number(value));
76
+ $[19] = onPageSizeChange;
77
+ $[20] = t12;
78
+ } else t12 = $[20];
79
+ let t13;
80
+ if ($[21] !== t) {
81
+ t13 = t(_temp2);
82
+ $[21] = t;
83
+ $[22] = t13;
84
+ } else t13 = $[22];
85
+ let t14;
86
+ if ($[23] !== pageSize || $[24] !== t12 || $[25] !== t13) {
87
+ t14 = /* @__PURE__ */ jsx(NumberInput, {
88
+ value: pageSize,
89
+ onChange: t12,
90
+ label: t13,
91
+ hideLabel: true,
92
+ className: "w-min",
93
+ inputClassName: "min-w-12 !px-3 !py-0-5"
94
+ });
95
+ $[23] = pageSize;
96
+ $[24] = t12;
97
+ $[25] = t13;
98
+ $[26] = t14;
99
+ } else t14 = $[26];
100
+ let t15;
101
+ if ($[27] !== t11 || $[28] !== t14) {
102
+ t15 = /* @__PURE__ */ jsxs("div", {
26
103
  className: "flex items-center gap-2",
27
- children: [/* @__PURE__ */ jsx(Typography, {
28
- variant: "default",
29
- size: "label-2",
30
- as: "span",
31
- className: "whitespace-nowrap text-text-default-1",
32
- children: t(($) => $.ui.pagination.resultsPerPage)
33
- }), /* @__PURE__ */ jsx(NumberInput, {
34
- value: pageSize,
35
- onChange: (value) => onPageSizeChange?.(Number(value)),
36
- label: t(($_0) => $_0.ui.pagination.resultsPerPage),
37
- hideLabel: true,
38
- className: "w-min",
39
- inputClassName: "min-w-12 !px-3 !py-0-5"
40
- })]
41
- })]
42
- });
104
+ children: [t11, t14]
105
+ });
106
+ $[27] = t11;
107
+ $[28] = t14;
108
+ $[29] = t15;
109
+ } else t15 = $[29];
110
+ let t16;
111
+ if ($[30] !== t15 || $[31] !== t8 || $[32] !== t9) {
112
+ t16 = /* @__PURE__ */ jsxs("nav", {
113
+ id: "pagination",
114
+ className: t8,
115
+ children: [t9, t15]
116
+ });
117
+ $[30] = t15;
118
+ $[31] = t8;
119
+ $[32] = t9;
120
+ $[33] = t16;
121
+ } else t16 = $[33];
122
+ return t16;
43
123
  };
124
+ function _temp($) {
125
+ return $.ui.pagination.resultsPerPage;
126
+ }
127
+ function _temp2($_0) {
128
+ return $_0.ui.pagination.resultsPerPage;
129
+ }
44
130
  //#endregion
45
131
  export { Pagination };
@@ -1,3 +1,3 @@
1
1
  export declare const minWidth: (props?: ({
2
- size?: "xs" | "s" | "m" | "l" | "xxs" | null | undefined;
2
+ size?: "s" | "xs" | "m" | "l" | "xxs" | null | undefined;
3
3
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -3,45 +3,112 @@ import { Typography } from "../../text/Typography/Typography.js";
3
3
  import { Loader } from "../Loader/Loader.js";
4
4
  import { alertDefinition } from "./alert.cva.js";
5
5
  import { statusIconDefinition, statusSeparatorDefinition } from "../shared/status.cva.js";
6
+ import { c } from "react/compiler-runtime";
6
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
8
  //#region src/components/status/Alert/Alert.tsx
8
- var Alert = ({ variant, color, text, isLoading = false, rightContent, hasSeparator, icon: Icon, className }) => {
9
+ var Alert = (t0) => {
10
+ const $ = c(31);
11
+ const { variant, color, text, isLoading: t1, rightContent, hasSeparator, icon: Icon, className } = t0;
12
+ const isLoading = t1 === void 0 ? false : t1;
9
13
  const alertCva = UIOverrides.useCva("alert.cva", alertDefinition);
10
14
  const iconCva = UIOverrides.useCva("status.iconCva", statusIconDefinition);
11
15
  const separatorCva = UIOverrides.useCva("status.separatorCva", statusSeparatorDefinition);
12
- return /* @__PURE__ */ jsx("div", {
13
- className: alertCva({
16
+ let t2;
17
+ if ($[0] !== alertCva || $[1] !== className || $[2] !== color || $[3] !== variant) {
18
+ t2 = alertCva({
14
19
  variant,
15
20
  color,
16
21
  className
17
- }),
18
- children: /* @__PURE__ */ jsxs("div", {
22
+ });
23
+ $[0] = alertCva;
24
+ $[1] = className;
25
+ $[2] = color;
26
+ $[3] = variant;
27
+ $[4] = t2;
28
+ } else t2 = $[4];
29
+ let t3;
30
+ if ($[5] !== isLoading) {
31
+ t3 = isLoading && /* @__PURE__ */ jsx(Loader, {
32
+ size: "default",
33
+ className: "shrink-0"
34
+ });
35
+ $[5] = isLoading;
36
+ $[6] = t3;
37
+ } else t3 = $[6];
38
+ let t4;
39
+ if ($[7] !== Icon || $[8] !== color || $[9] !== iconCva || $[10] !== isLoading || $[11] !== variant) {
40
+ t4 = !isLoading && Icon && /* @__PURE__ */ jsx(Icon, { className: iconCva({
41
+ variant,
42
+ color
43
+ }) });
44
+ $[7] = Icon;
45
+ $[8] = color;
46
+ $[9] = iconCva;
47
+ $[10] = isLoading;
48
+ $[11] = variant;
49
+ $[12] = t4;
50
+ } else t4 = $[12];
51
+ let t5;
52
+ if ($[13] !== text) {
53
+ t5 = /* @__PURE__ */ jsx(Typography, {
54
+ size: "label-2",
55
+ children: text
56
+ });
57
+ $[13] = text;
58
+ $[14] = t5;
59
+ } else t5 = $[14];
60
+ let t6;
61
+ if ($[15] !== t3 || $[16] !== t4 || $[17] !== t5) {
62
+ t6 = /* @__PURE__ */ jsxs("div", {
63
+ className: "flex w-full items-start gap-alert-gap-icon-to-text px-alert-side-default py-alert-height-content",
64
+ children: [
65
+ t3,
66
+ t4,
67
+ t5
68
+ ]
69
+ });
70
+ $[15] = t3;
71
+ $[16] = t4;
72
+ $[17] = t5;
73
+ $[18] = t6;
74
+ } else t6 = $[18];
75
+ let t7;
76
+ if ($[19] !== color || $[20] !== hasSeparator || $[21] !== rightContent || $[22] !== separatorCva || $[23] !== variant) {
77
+ t7 = !!rightContent && /* @__PURE__ */ jsxs(Fragment, { children: [hasSeparator && /* @__PURE__ */ jsx("div", { className: separatorCva({
78
+ variant,
79
+ color
80
+ }) }), /* @__PURE__ */ jsx("div", {
81
+ className: "flex w-full shrink-0 flex-wrap items-center justify-end gap-alert-gap-action px-alert-side-default py-alert-height-actions-mobile md:w-auto md:justify-center md:py-alert-height-actions-desktop",
82
+ children: rightContent
83
+ })] });
84
+ $[19] = color;
85
+ $[20] = hasSeparator;
86
+ $[21] = rightContent;
87
+ $[22] = separatorCva;
88
+ $[23] = variant;
89
+ $[24] = t7;
90
+ } else t7 = $[24];
91
+ let t8;
92
+ if ($[25] !== t6 || $[26] !== t7) {
93
+ t8 = /* @__PURE__ */ jsxs("div", {
19
94
  className: "flex w-auto flex-col items-center md:flex-row",
20
- children: [/* @__PURE__ */ jsxs("div", {
21
- className: "flex w-full items-start gap-alert-gap-icon-to-text px-alert-side-default py-alert-height-content",
22
- children: [
23
- isLoading && /* @__PURE__ */ jsx(Loader, {
24
- size: "default",
25
- className: "shrink-0"
26
- }),
27
- !isLoading && Icon && /* @__PURE__ */ jsx(Icon, { className: iconCva({
28
- variant,
29
- color
30
- }) }),
31
- /* @__PURE__ */ jsx(Typography, {
32
- size: "label-2",
33
- children: text
34
- })
35
- ]
36
- }), !!rightContent && /* @__PURE__ */ jsxs(Fragment, { children: [hasSeparator && /* @__PURE__ */ jsx("div", { className: separatorCva({
37
- variant,
38
- color
39
- }) }), /* @__PURE__ */ jsx("div", {
40
- className: "flex w-full shrink-0 flex-wrap items-center justify-end gap-alert-gap-action px-alert-side-default py-alert-height-actions-mobile md:w-auto md:justify-center md:py-alert-height-actions-desktop",
41
- children: rightContent
42
- })] })]
43
- })
44
- });
95
+ children: [t6, t7]
96
+ });
97
+ $[25] = t6;
98
+ $[26] = t7;
99
+ $[27] = t8;
100
+ } else t8 = $[27];
101
+ let t9;
102
+ if ($[28] !== t2 || $[29] !== t8) {
103
+ t9 = /* @__PURE__ */ jsx("div", {
104
+ className: t2,
105
+ children: t8
106
+ });
107
+ $[28] = t2;
108
+ $[29] = t8;
109
+ $[30] = t9;
110
+ } else t9 = $[30];
111
+ return t9;
45
112
  };
46
113
  //#endregion
47
114
  export { Alert };
@@ -1,28 +1,79 @@
1
1
  import { Loader } from "../status/Loader/Loader.js";
2
2
  import { useIntersectionObserver } from "../../hooks/useIntersectionObserver.js";
3
3
  import { Table } from "./Table.js";
4
+ import { c } from "react/compiler-runtime";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
- import { useCallback } from "react";
6
6
  //#region src/components/table/InfiniteTable.tsx
7
- var InfiniteTable = ({ hasNextPage, isFetchingNextPage = false, fetchNextPage, ...rest }) => {
8
- const { ref } = useIntersectionObserver({
9
- onIntersection: useCallback(() => {
7
+ var InfiniteTable = (t0) => {
8
+ const $ = c(20);
9
+ let fetchNextPage;
10
+ let hasNextPage;
11
+ let rest;
12
+ let t1;
13
+ if ($[0] !== t0) {
14
+ ({hasNextPage, isFetchingNextPage: t1, fetchNextPage, ...rest} = t0);
15
+ $[0] = t0;
16
+ $[1] = fetchNextPage;
17
+ $[2] = hasNextPage;
18
+ $[3] = rest;
19
+ $[4] = t1;
20
+ } else {
21
+ fetchNextPage = $[1];
22
+ hasNextPage = $[2];
23
+ rest = $[3];
24
+ t1 = $[4];
25
+ }
26
+ const isFetchingNextPage = t1 === void 0 ? false : t1;
27
+ let t2;
28
+ if ($[5] !== fetchNextPage || $[6] !== hasNextPage || $[7] !== isFetchingNextPage) {
29
+ t2 = () => {
10
30
  if (!isFetchingNextPage && hasNextPage) fetchNextPage();
11
- }, [
12
- isFetchingNextPage,
13
- hasNextPage,
14
- fetchNextPage
15
- ]),
16
- rootMargin: "100px"
17
- });
18
- return /* @__PURE__ */ jsxs("div", {
19
- className: "flex flex-col",
20
- children: [/* @__PURE__ */ jsx(Table, { ...rest }), (hasNextPage || isFetchingNextPage) && /* @__PURE__ */ jsx("div", {
31
+ };
32
+ $[5] = fetchNextPage;
33
+ $[6] = hasNextPage;
34
+ $[7] = isFetchingNextPage;
35
+ $[8] = t2;
36
+ } else t2 = $[8];
37
+ const handleLoadMore = t2;
38
+ let t3;
39
+ if ($[9] !== handleLoadMore) {
40
+ t3 = {
41
+ onIntersection: handleLoadMore,
42
+ rootMargin: "100px"
43
+ };
44
+ $[9] = handleLoadMore;
45
+ $[10] = t3;
46
+ } else t3 = $[10];
47
+ const { ref } = useIntersectionObserver(t3);
48
+ let t4;
49
+ if ($[11] !== rest) {
50
+ t4 = /* @__PURE__ */ jsx(Table, { ...rest });
51
+ $[11] = rest;
52
+ $[12] = t4;
53
+ } else t4 = $[12];
54
+ let t5;
55
+ if ($[13] !== hasNextPage || $[14] !== isFetchingNextPage || $[15] !== ref) {
56
+ t5 = (hasNextPage || isFetchingNextPage) && /* @__PURE__ */ jsx("div", {
21
57
  ref,
22
58
  className: "flex justify-center py-4",
23
59
  children: /* @__PURE__ */ jsx(Loader, {})
24
- })]
25
- });
60
+ });
61
+ $[13] = hasNextPage;
62
+ $[14] = isFetchingNextPage;
63
+ $[15] = ref;
64
+ $[16] = t5;
65
+ } else t5 = $[16];
66
+ let t6;
67
+ if ($[17] !== t4 || $[18] !== t5) {
68
+ t6 = /* @__PURE__ */ jsxs("div", {
69
+ className: "flex flex-col",
70
+ children: [t4, t5]
71
+ });
72
+ $[17] = t4;
73
+ $[18] = t5;
74
+ $[19] = t6;
75
+ } else t6 = $[19];
76
+ return t6;
26
77
  };
27
78
  //#endregion
28
79
  export { InfiniteTable };
@@ -1,16 +1,31 @@
1
1
  import { UIOverrides } from "../../../config/uiOverrides.context.js";
2
2
  import { typographyDefinition } from "./typography.cva.js";
3
+ import { c } from "react/compiler-runtime";
3
4
  import { jsx } from "react/jsx-runtime";
4
5
  //#region src/components/text/Typography/Typography.tsx
5
- var Typography = ({ as = "p", className, ...props }) => {
6
- return /* @__PURE__ */ jsx(as, {
7
- className: UIOverrides.useCva("typography.cva", typographyDefinition)({
8
- ...props,
9
- sizeMobile: props.sizeMobile ?? props.size,
10
- className
11
- }),
12
- ...props
6
+ var Typography = (t0) => {
7
+ const $ = c(4);
8
+ const { as: t1, className, ...props } = t0;
9
+ const as = t1 === void 0 ? "p" : t1;
10
+ const typographyCva = UIOverrides.useCva("typography.cva", typographyDefinition);
11
+ const Tag = as;
12
+ const t2 = typographyCva({
13
+ ...props,
14
+ sizeMobile: props.sizeMobile ?? props.size,
15
+ className
13
16
  });
17
+ let t3;
18
+ if ($[0] !== Tag || $[1] !== props || $[2] !== t2) {
19
+ t3 = /* @__PURE__ */ jsx(Tag, {
20
+ className: t2,
21
+ ...props
22
+ });
23
+ $[0] = Tag;
24
+ $[1] = props;
25
+ $[2] = t2;
26
+ $[3] = t3;
27
+ } else t3 = $[3];
28
+ return t3;
14
29
  };
15
30
  //#endregion
16
31
  export { Typography };
@@ -24,7 +24,7 @@ var Confirmation;
24
24
  const [state, setState] = useState(DEFAULT_STATE);
25
25
  const { t } = useTranslation("ui");
26
26
  const onCancel = () => setState(DEFAULT_STATE);
27
- const confirm = useCallback(async ({ heading, description, buttonSize, textAlign, modalClassName, cancelLabel = t(($) => $.ui.confirmation.cancel), confirmLabel = t(($) => $.ui.confirmation.confirm), confirmVariant, confirmColor, cancelVariant, cancelColor }) => {
27
+ const confirm = useCallback(async ({ heading, description, buttonSize, textAlign, modalClassName, cancelLabel = t(($) => $.ui.confirmation.cancel), confirmLabel = t(($_0) => $_0.ui.confirmation.confirm), confirmVariant, confirmColor, cancelVariant, cancelColor }) => {
28
28
  return new Promise((resolve) => {
29
29
  setState({
30
30
  heading,
@@ -1,6 +1,7 @@
1
1
  import { useLocalStorage } from "../hooks/useLocalStorage.js";
2
+ import { c } from "react/compiler-runtime";
2
3
  import { jsx } from "react/jsx-runtime";
3
- import { createContext, use, useCallback, useEffect, useMemo, useState } from "react";
4
+ import { createContext, use, useEffect, useState } from "react";
4
5
  import { z } from "zod";
5
6
  //#region src/config/theme.context.tsx
6
7
  var ThemeContext;
@@ -12,56 +13,108 @@ var ThemeContext;
12
13
  "system"
13
14
  ]);
14
15
  const ThemeContext = createContext(null);
15
- _ThemeContext.ThemeContextProvider = ({ children, storageKey = DEFAULT_STORAGE_KEY }) => {
16
- const [systemTheme, setSystemTheme] = useState(() => {
17
- if (typeof window === "undefined") return;
18
- return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
19
- });
20
- const { value: theme, set } = useLocalStorage({
21
- key: storageKey,
22
- schema: ThemeSchema
23
- });
24
- const updateTheme = useCallback((theme_0) => {
25
- set(theme_0);
26
- }, [set]);
27
- useEffect(() => {
28
- if (typeof window === "undefined") return;
29
- const onChange = (event) => {
30
- setSystemTheme(event.matches ? "dark" : "light");
16
+ _ThemeContext.ThemeContextProvider = (t0) => {
17
+ const $ = c(17);
18
+ const { children, storageKey: t1 } = t0;
19
+ const storageKey = t1 === void 0 ? DEFAULT_STORAGE_KEY : t1;
20
+ const [systemTheme, setSystemTheme] = useState(_temp);
21
+ let t2;
22
+ if ($[0] !== storageKey) {
23
+ t2 = {
24
+ key: storageKey,
25
+ schema: ThemeSchema
31
26
  };
32
- const media_0 = window.matchMedia("(prefers-color-scheme: dark)");
33
- media_0.addEventListener("change", onChange);
34
- return () => {
35
- media_0.removeEventListener("change", onChange);
27
+ $[0] = storageKey;
28
+ $[1] = t2;
29
+ } else t2 = $[1];
30
+ const { value: theme, set } = useLocalStorage(t2);
31
+ let t3;
32
+ if ($[2] !== set) {
33
+ t3 = (theme_0) => {
34
+ set(theme_0);
36
35
  };
37
- }, []);
38
- useEffect(() => {
39
- document.documentElement.classList.remove("dark");
40
- if ((!theme || theme === "system") && systemTheme === "dark" || theme === "dark") {
41
- document.documentElement.classList.add("dark");
42
- document.documentElement.style.colorScheme = "dark";
43
- } else if (theme === "light") {
44
- document.documentElement.classList.add("light");
45
- document.documentElement.style.colorScheme = "light";
46
- } else document.documentElement.style.colorScheme = "light";
47
- }, [theme, systemTheme]);
48
- const contextValue = useMemo(() => ({
49
- theme: theme ?? "system",
50
- systemTheme,
51
- updateTheme
52
- }), [
53
- theme,
54
- systemTheme,
55
- updateTheme
56
- ]);
57
- return /* @__PURE__ */ jsx(ThemeContext.Provider, {
58
- value: contextValue,
59
- children
60
- });
36
+ $[2] = set;
37
+ $[3] = t3;
38
+ } else t3 = $[3];
39
+ const updateTheme = t3;
40
+ let t4;
41
+ let t5;
42
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
43
+ t4 = () => {
44
+ if (typeof window === "undefined") return;
45
+ const onChange = (event) => {
46
+ setSystemTheme(event.matches ? "dark" : "light");
47
+ };
48
+ const media_0 = window.matchMedia("(prefers-color-scheme: dark)");
49
+ media_0.addEventListener("change", onChange);
50
+ return () => {
51
+ media_0.removeEventListener("change", onChange);
52
+ };
53
+ };
54
+ t5 = [];
55
+ $[4] = t4;
56
+ $[5] = t5;
57
+ } else {
58
+ t4 = $[4];
59
+ t5 = $[5];
60
+ }
61
+ useEffect(t4, t5);
62
+ let t6;
63
+ let t7;
64
+ if ($[6] !== systemTheme || $[7] !== theme) {
65
+ t6 = () => {
66
+ document.documentElement.classList.remove("dark");
67
+ if ((!theme || theme === "system") && systemTheme === "dark" || theme === "dark") {
68
+ document.documentElement.classList.add("dark");
69
+ document.documentElement.style.colorScheme = "dark";
70
+ } else if (theme === "light") {
71
+ document.documentElement.classList.add("light");
72
+ document.documentElement.style.colorScheme = "light";
73
+ } else document.documentElement.style.colorScheme = "light";
74
+ };
75
+ t7 = [theme, systemTheme];
76
+ $[6] = systemTheme;
77
+ $[7] = theme;
78
+ $[8] = t6;
79
+ $[9] = t7;
80
+ } else {
81
+ t6 = $[8];
82
+ t7 = $[9];
83
+ }
84
+ useEffect(t6, t7);
85
+ const t8 = theme ?? "system";
86
+ let t9;
87
+ if ($[10] !== systemTheme || $[11] !== t8 || $[12] !== updateTheme) {
88
+ t9 = {
89
+ theme: t8,
90
+ systemTheme,
91
+ updateTheme
92
+ };
93
+ $[10] = systemTheme;
94
+ $[11] = t8;
95
+ $[12] = updateTheme;
96
+ $[13] = t9;
97
+ } else t9 = $[13];
98
+ const contextValue = t9;
99
+ let t10;
100
+ if ($[14] !== children || $[15] !== contextValue) {
101
+ t10 = /* @__PURE__ */ jsx(ThemeContext.Provider, {
102
+ value: contextValue,
103
+ children
104
+ });
105
+ $[14] = children;
106
+ $[15] = contextValue;
107
+ $[16] = t10;
108
+ } else t10 = $[16];
109
+ return t10;
61
110
  };
62
111
  _ThemeContext.useTheme = () => {
63
112
  return use(ThemeContext);
64
113
  };
65
114
  })(ThemeContext || (ThemeContext = {}));
115
+ function _temp() {
116
+ if (typeof window === "undefined") return;
117
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
118
+ }
66
119
  //#endregion
67
120
  export { ThemeContext };
@@ -3,6 +3,7 @@ import { ClockIcon } from "../assets/icons/Clock.js";
3
3
  import { DateTimeIcon } from "../assets/icons/DateTime.js";
4
4
  import { ObjectUtils } from "../utils/object.utils.js";
5
5
  import { useDeepCompareMemo } from "../hooks/useDeepCompare.js";
6
+ import { c } from "react/compiler-runtime";
6
7
  import { jsx } from "react/jsx-runtime";
7
8
  import { createContext, use } from "react";
8
9
  //#region src/config/uiConfig.context.tsx
@@ -114,15 +115,42 @@ var UIConfig;
114
115
  }
115
116
  };
116
117
  const Context = createContext(DEFAULT_CONFIG);
117
- _UIConfig.Provider = ({ config = {}, children }) => {
118
+ _UIConfig.Provider = (t0) => {
119
+ const $ = c(9);
120
+ const { config: t1, children } = t0;
121
+ let t2;
122
+ if ($[0] !== t1) {
123
+ t2 = t1 === void 0 ? {} : t1;
124
+ $[0] = t1;
125
+ $[1] = t2;
126
+ } else t2 = $[1];
127
+ const config = t2;
118
128
  const parentConfig = use(Context) || DEFAULT_CONFIG;
119
- const value = useDeepCompareMemo(() => {
120
- return ObjectUtils.deepConditionalMerge(parentConfig, config, (val) => val !== null && val !== void 0);
121
- }, [config, parentConfig]);
122
- return /* @__PURE__ */ jsx(Context.Provider, {
123
- value,
124
- children
125
- });
129
+ let t3;
130
+ let t4;
131
+ if ($[2] !== config || $[3] !== parentConfig) {
132
+ t3 = () => ObjectUtils.deepConditionalMerge(parentConfig, config, _temp);
133
+ t4 = [config, parentConfig];
134
+ $[2] = config;
135
+ $[3] = parentConfig;
136
+ $[4] = t3;
137
+ $[5] = t4;
138
+ } else {
139
+ t3 = $[4];
140
+ t4 = $[5];
141
+ }
142
+ const value = useDeepCompareMemo(t3, t4);
143
+ let t5;
144
+ if ($[6] !== children || $[7] !== value) {
145
+ t5 = /* @__PURE__ */ jsx(Context.Provider, {
146
+ value,
147
+ children
148
+ });
149
+ $[6] = children;
150
+ $[7] = value;
151
+ $[8] = t5;
152
+ } else t5 = $[8];
153
+ return t5;
126
154
  };
127
155
  _UIConfig.useConfig = () => {
128
156
  const context = use(Context);
@@ -130,5 +158,8 @@ var UIConfig;
130
158
  return context;
131
159
  };
132
160
  })(UIConfig || (UIConfig = {}));
161
+ function _temp(val) {
162
+ return val !== null && val !== void 0;
163
+ }
133
164
  //#endregion
134
165
  export { UIConfig };