@sustaina/shared-ui 1.14.0 → 1.15.0
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/index.d.mts +17 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.js +86 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +86 -21
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -177,6 +177,45 @@ function stripNullishObject(value) {
|
|
|
177
177
|
return {};
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
+
|
|
181
|
+
// src/utils/date.ts
|
|
182
|
+
var pad = (num) => String(num).padStart(2, "0");
|
|
183
|
+
function formatISODate(isoDate, format5 = "d/m/Y H:i") {
|
|
184
|
+
const date = new Date(isoDate);
|
|
185
|
+
if (isNaN(date.getTime())) {
|
|
186
|
+
return "Invalid Date";
|
|
187
|
+
}
|
|
188
|
+
const parts = {
|
|
189
|
+
d: pad(date.getDate()),
|
|
190
|
+
m: pad(date.getMonth() + 1),
|
|
191
|
+
Y: String(date.getFullYear()),
|
|
192
|
+
H: pad(date.getHours()),
|
|
193
|
+
i: pad(date.getMinutes()),
|
|
194
|
+
s: pad(date.getSeconds())
|
|
195
|
+
};
|
|
196
|
+
const tokenMap = {
|
|
197
|
+
// Day
|
|
198
|
+
d: "d",
|
|
199
|
+
DD: "d",
|
|
200
|
+
// Month
|
|
201
|
+
m: "m",
|
|
202
|
+
MM: "m",
|
|
203
|
+
// Year
|
|
204
|
+
Y: "Y",
|
|
205
|
+
// 'Y' and 'YYYY' will both map to the 4-digit year
|
|
206
|
+
YYYY: "Y",
|
|
207
|
+
// Hour
|
|
208
|
+
H: "H",
|
|
209
|
+
// Minute
|
|
210
|
+
i: "i",
|
|
211
|
+
// Second
|
|
212
|
+
s: "s"
|
|
213
|
+
};
|
|
214
|
+
return format5.replace(/YYYY|Y|MM|m|DD|d|H|i|s/g, (match) => {
|
|
215
|
+
const partKey = tokenMap[match];
|
|
216
|
+
return partKey ? parts[partKey] : match;
|
|
217
|
+
});
|
|
218
|
+
}
|
|
180
219
|
function cn(...args) {
|
|
181
220
|
return twMerge(clsx(args));
|
|
182
221
|
}
|
|
@@ -1769,7 +1808,7 @@ var DatePicker2 = ({
|
|
|
1769
1808
|
value,
|
|
1770
1809
|
onChange,
|
|
1771
1810
|
onValueChange,
|
|
1772
|
-
placeholder:
|
|
1811
|
+
placeholder: placeholder2 = "DD/MM/YYYY",
|
|
1773
1812
|
allowClear = true,
|
|
1774
1813
|
displayFormatter,
|
|
1775
1814
|
valueFormatter,
|
|
@@ -1798,7 +1837,7 @@ var DatePicker2 = ({
|
|
|
1798
1837
|
const parsed = parser(value);
|
|
1799
1838
|
return parsed && isValid(parsed) ? parsed : void 0;
|
|
1800
1839
|
}, [parser, value]);
|
|
1801
|
-
const buttonLabel = parsedValue ? labelFormatter(parsedValue) :
|
|
1840
|
+
const buttonLabel = parsedValue ? labelFormatter(parsedValue) : placeholder2;
|
|
1802
1841
|
const buttonAriaLabel = ariaLabel ?? (parsedValue ? `Change date, current selection ${labelFormatter(parsedValue)}` : "Open date picker");
|
|
1803
1842
|
const shouldShowClear = allowClear && !disabled && !!parsedValue;
|
|
1804
1843
|
const handleClose = React4__default.useCallback(() => setOpen(false), []);
|
|
@@ -1872,8 +1911,15 @@ var DatePicker2 = ({
|
|
|
1872
1911
|
)
|
|
1873
1912
|
] }) });
|
|
1874
1913
|
};
|
|
1875
|
-
|
|
1876
|
-
|
|
1914
|
+
|
|
1915
|
+
// src/components/advanceSearch/components/constants/index.ts
|
|
1916
|
+
var fallbackShortDateFormat = "DD/MM/YYYY";
|
|
1917
|
+
var ConditionDateInput = ({
|
|
1918
|
+
row,
|
|
1919
|
+
control,
|
|
1920
|
+
onClear,
|
|
1921
|
+
shortDateFormat = fallbackShortDateFormat
|
|
1922
|
+
}) => {
|
|
1877
1923
|
const isBetween = row.operator === "between";
|
|
1878
1924
|
const buildAriaLabel = (isEnd) => {
|
|
1879
1925
|
if (isEnd) return "Select end date";
|
|
@@ -1905,10 +1951,11 @@ var ConditionDateInput = ({ row, control, onClear }) => {
|
|
|
1905
1951
|
...field,
|
|
1906
1952
|
value: field.value || void 0,
|
|
1907
1953
|
onValueChange: handleValueChange,
|
|
1908
|
-
placeholder,
|
|
1954
|
+
placeholder: shortDateFormat,
|
|
1909
1955
|
ariaLabel: buildAriaLabel(options?.isEnd),
|
|
1910
1956
|
clearAriaLabel: buildClearLabel(options?.isEnd),
|
|
1911
1957
|
invalid: Boolean(fieldState.error),
|
|
1958
|
+
displayFormatter: (d) => formatISODate(d, shortDateFormat),
|
|
1912
1959
|
wrapperClassName: "min-w-0"
|
|
1913
1960
|
}
|
|
1914
1961
|
) }),
|
|
@@ -2192,7 +2239,7 @@ var MonthPicker2 = ({
|
|
|
2192
2239
|
value,
|
|
2193
2240
|
onChange,
|
|
2194
2241
|
onValueChange,
|
|
2195
|
-
placeholder:
|
|
2242
|
+
placeholder: placeholder2 = "MM/YYYY",
|
|
2196
2243
|
allowClear = true,
|
|
2197
2244
|
displayFormatter,
|
|
2198
2245
|
valueFormatter,
|
|
@@ -2224,7 +2271,7 @@ var MonthPicker2 = ({
|
|
|
2224
2271
|
}
|
|
2225
2272
|
return void 0;
|
|
2226
2273
|
}, [parser, value]);
|
|
2227
|
-
const buttonLabel = parsedValue ? labelFormatter(parsedValue) :
|
|
2274
|
+
const buttonLabel = parsedValue ? labelFormatter(parsedValue) : placeholder2;
|
|
2228
2275
|
const buttonAriaLabel = ariaLabel ?? (parsedValue ? `Change month, current selection ${labelFormatter(parsedValue)}` : "Open month picker");
|
|
2229
2276
|
const shouldShowClear = allowClear && !disabled && !!parsedValue;
|
|
2230
2277
|
const handleClose = React4__default.useCallback(() => setOpen(false), []);
|
|
@@ -2299,7 +2346,7 @@ var MonthPicker2 = ({
|
|
|
2299
2346
|
)
|
|
2300
2347
|
] }) });
|
|
2301
2348
|
};
|
|
2302
|
-
var
|
|
2349
|
+
var placeholder = "MM/YYYY";
|
|
2303
2350
|
var ConditionMonthInput = ({ row, control, onClear }) => {
|
|
2304
2351
|
const isBetween = row.operator === "between";
|
|
2305
2352
|
const buildAriaLabel = (isEnd) => {
|
|
@@ -2333,7 +2380,7 @@ var ConditionMonthInput = ({ row, control, onClear }) => {
|
|
|
2333
2380
|
...field,
|
|
2334
2381
|
value,
|
|
2335
2382
|
onValueChange: handleValueChange,
|
|
2336
|
-
placeholder
|
|
2383
|
+
placeholder,
|
|
2337
2384
|
ariaLabel: buildAriaLabel(options?.isEnd),
|
|
2338
2385
|
clearAriaLabel: buildClearLabel(options?.isEnd),
|
|
2339
2386
|
displayFormatter: (month) => format(month, "MM/yyyy"),
|
|
@@ -2445,7 +2492,7 @@ var LookupSelect = ({
|
|
|
2445
2492
|
onChange,
|
|
2446
2493
|
onClear,
|
|
2447
2494
|
error,
|
|
2448
|
-
placeholder:
|
|
2495
|
+
placeholder: placeholder2,
|
|
2449
2496
|
maxTags = 10,
|
|
2450
2497
|
fetchSuggestions,
|
|
2451
2498
|
suggestionDebounce = 250,
|
|
@@ -2619,7 +2666,7 @@ var LookupSelect = ({
|
|
|
2619
2666
|
window.removeEventListener("scroll", handleReposition, true);
|
|
2620
2667
|
};
|
|
2621
2668
|
}, [dropdownPortalElement, isDropdownOpen, updateDropdownPosition]);
|
|
2622
|
-
const resolvedPlaceholder =
|
|
2669
|
+
const resolvedPlaceholder = placeholder2 ?? "Select";
|
|
2623
2670
|
const showDropdown = isDropdownOpen && !fetchError;
|
|
2624
2671
|
const dropdownContent = /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-md border border-gray-200 bg-white shadow-lg", children: loading ? /* @__PURE__ */ jsx("div", { className: "px-3 py-2 text-sm text-inherit", children: loadingMessage }) : suggestions.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center px-3 py-4 text-sm text-inherit text-center", children: [
|
|
2625
2672
|
/* @__PURE__ */ jsx(not_found_default, { className: "w-full max-w-[80px] h-auto" }),
|
|
@@ -2812,7 +2859,13 @@ var ConditionJSONInput = ({
|
|
|
2812
2859
|
}
|
|
2813
2860
|
}
|
|
2814
2861
|
);
|
|
2815
|
-
var ConditionValue = ({
|
|
2862
|
+
var ConditionValue = ({
|
|
2863
|
+
row,
|
|
2864
|
+
fields,
|
|
2865
|
+
onClearValue,
|
|
2866
|
+
dropdownPortalId,
|
|
2867
|
+
shortDateFormat
|
|
2868
|
+
}) => {
|
|
2816
2869
|
const { control } = useFormContext();
|
|
2817
2870
|
const fieldSchema = fields.find((f) => f.name === row.fieldName);
|
|
2818
2871
|
const fieldType = fieldSchema?.type ?? "text";
|
|
@@ -2821,7 +2874,15 @@ var ConditionValue = ({ row, fields, onClearValue, dropdownPortalId }) => {
|
|
|
2821
2874
|
return /* @__PURE__ */ jsx(ConditionNumberInput, { row, control, onClear: onClearValue });
|
|
2822
2875
|
case "date":
|
|
2823
2876
|
case "datetime":
|
|
2824
|
-
return /* @__PURE__ */ jsx(
|
|
2877
|
+
return /* @__PURE__ */ jsx(
|
|
2878
|
+
ConditionDateInput,
|
|
2879
|
+
{
|
|
2880
|
+
row,
|
|
2881
|
+
control,
|
|
2882
|
+
onClear: onClearValue,
|
|
2883
|
+
shortDateFormat
|
|
2884
|
+
}
|
|
2885
|
+
);
|
|
2825
2886
|
case "datemonth":
|
|
2826
2887
|
return /* @__PURE__ */ jsx(ConditionMonthInput, { row, control, onClear: onClearValue });
|
|
2827
2888
|
case "dropdown":
|
|
@@ -2900,7 +2961,8 @@ var AdvanceSearchRow = ({
|
|
|
2900
2961
|
onRemove,
|
|
2901
2962
|
onClearValue,
|
|
2902
2963
|
disableAdd,
|
|
2903
|
-
dropdownPortalId
|
|
2964
|
+
dropdownPortalId,
|
|
2965
|
+
shortDateFormat
|
|
2904
2966
|
}) => {
|
|
2905
2967
|
return /* @__PURE__ */ jsxs("div", { className: "grid gap-3 rounded-lg bg-white md:grid-cols-[minmax(150px,0.85fr)_minmax(140px,0.75fr)_minmax(260px,1fr)_auto] md:items-start", children: [
|
|
2906
2968
|
/* @__PURE__ */ jsx(FieldSelect, { row, fieldOptions, onChangeField }),
|
|
@@ -2919,7 +2981,8 @@ var AdvanceSearchRow = ({
|
|
|
2919
2981
|
row,
|
|
2920
2982
|
fields,
|
|
2921
2983
|
onClearValue,
|
|
2922
|
-
dropdownPortalId
|
|
2984
|
+
dropdownPortalId,
|
|
2985
|
+
shortDateFormat
|
|
2923
2986
|
}
|
|
2924
2987
|
),
|
|
2925
2988
|
/* @__PURE__ */ jsx("div", { className: "flex h-full", children: /* @__PURE__ */ jsx(AddRemoveButtons, { isFirst, onAdd, onRemove, disableAdd }) })
|
|
@@ -3341,7 +3404,8 @@ var AdvanceSearch = ({
|
|
|
3341
3404
|
iconColor = "#ffffff",
|
|
3342
3405
|
limitRows = 4,
|
|
3343
3406
|
onSearch,
|
|
3344
|
-
onClear
|
|
3407
|
+
onClear,
|
|
3408
|
+
shortDateFormat
|
|
3345
3409
|
}) => {
|
|
3346
3410
|
const fieldsData = useMemo(() => {
|
|
3347
3411
|
if (fields.length === 0) throw new Error("fields cannot be an empty array");
|
|
@@ -3471,6 +3535,7 @@ var AdvanceSearch = ({
|
|
|
3471
3535
|
AdvanceSearchRow,
|
|
3472
3536
|
{
|
|
3473
3537
|
row,
|
|
3538
|
+
shortDateFormat,
|
|
3474
3539
|
isFirst: idx === 0,
|
|
3475
3540
|
fields: fieldsData,
|
|
3476
3541
|
fieldOptions,
|
|
@@ -6294,8 +6359,8 @@ function parseSerializedEditorState(raw) {
|
|
|
6294
6359
|
return void 0;
|
|
6295
6360
|
}
|
|
6296
6361
|
}
|
|
6297
|
-
function Placeholder({ placeholder:
|
|
6298
|
-
return /* @__PURE__ */ jsx("div", { className: theme.placeholder, children:
|
|
6362
|
+
function Placeholder({ placeholder: placeholder2 }) {
|
|
6363
|
+
return /* @__PURE__ */ jsx("div", { className: theme.placeholder, children: placeholder2 });
|
|
6299
6364
|
}
|
|
6300
6365
|
var initialToolbarState = {
|
|
6301
6366
|
isBold: false,
|
|
@@ -7196,7 +7261,7 @@ var RichText = forwardRef(function RichText2({
|
|
|
7196
7261
|
defaultValue,
|
|
7197
7262
|
onChange,
|
|
7198
7263
|
onHtmlChange,
|
|
7199
|
-
placeholder:
|
|
7264
|
+
placeholder: placeholder2,
|
|
7200
7265
|
readOnly,
|
|
7201
7266
|
disabled,
|
|
7202
7267
|
editorClassName,
|
|
@@ -7284,7 +7349,7 @@ var RichText = forwardRef(function RichText2({
|
|
|
7284
7349
|
)
|
|
7285
7350
|
}
|
|
7286
7351
|
),
|
|
7287
|
-
placeholder: /* @__PURE__ */ jsx(Placeholder, { placeholder:
|
|
7352
|
+
placeholder: /* @__PURE__ */ jsx(Placeholder, { placeholder: placeholder2 || "" }),
|
|
7288
7353
|
ErrorBoundary: LexicalErrorBoundary
|
|
7289
7354
|
}
|
|
7290
7355
|
),
|
|
@@ -8381,6 +8446,6 @@ var CropperModal = ({
|
|
|
8381
8446
|
);
|
|
8382
8447
|
};
|
|
8383
8448
|
|
|
8384
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AdvanceSearch_default as AdvanceSearch, arrow_default as ArrowIcon, Button, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, CropperModal, CropperModalError, DIALOG_ALERT_I18N_NAMESPACE, DataTable_default as DataTable, DatePicker2 as DatePicker, Dialog, DialogAlert, DialogAlertProvider, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger, ErrorCompression, ErrorCreateCanvas, ErrorGeneratingBlob, ErrorInvalidSVG, ErrorSVGExceedSize, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GridSettingsModal_default as GridSettingsModal, HeaderCell_default as HeaderCell, Input, Label2 as Label, List_default as List, container_default as ListContainer, header_default as ListHeader, table_default as ListTable, LookupSelect, MonthPicker2 as MonthPicker, navbar_default as Navbar, not_found_default as NotFoundIcon, Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger, PreventPageLeave_default as PreventPageLeave, RadioGroupItem, RadioGroupRoot, RadioLabel, RichText, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, calendar_default as SuiCalendarIcon, check_default as SuiCheckIcon, dots_vertical_default as SuiDotsVerticalIcon, empty_data_default as SuiEmptyDataIcon, expand_default as SuiExpandIcon, filter_default as SuiFilterIcon, setting_default as SuiSettingIcon, triangle_down_default as SuiTriangleDownIcon, warning_default as SuiWarningIcon, Switch, Textarea, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipTrigger, ui_exports as UI, booleanToSelectValue, buttonVariants, cn, compareAlphanumeric, debounce, getDialogAlertControls, getDialogTemplates, inputVariants, isDefined, isEmptyObject, selectValueToBoolean, spinnerVariants, stripNullishObject, throttle, useFormField, useGridSettingsStore_default as useGridSettingsStore, useHover_default as useHover, useIntersectionObserver_default as useIntersectionObserver, useMediaQuery_default as useMediaQuery, usePreventPageLeave_default as usePreventPageLeave, usePreventPageLeaveStore_default as usePreventPageLeaveStore, useScreenSize_default as useScreenSize, useSidebar, useTruncated_default as useTruncated };
|
|
8449
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AdvanceSearch_default as AdvanceSearch, arrow_default as ArrowIcon, Button, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, CropperModal, CropperModalError, DIALOG_ALERT_I18N_NAMESPACE, DataTable_default as DataTable, DatePicker2 as DatePicker, Dialog, DialogAlert, DialogAlertProvider, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger, ErrorCompression, ErrorCreateCanvas, ErrorGeneratingBlob, ErrorInvalidSVG, ErrorSVGExceedSize, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GridSettingsModal_default as GridSettingsModal, HeaderCell_default as HeaderCell, Input, Label2 as Label, List_default as List, container_default as ListContainer, header_default as ListHeader, table_default as ListTable, LookupSelect, MonthPicker2 as MonthPicker, navbar_default as Navbar, not_found_default as NotFoundIcon, Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger, PreventPageLeave_default as PreventPageLeave, RadioGroupItem, RadioGroupRoot, RadioLabel, RichText, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, calendar_default as SuiCalendarIcon, check_default as SuiCheckIcon, dots_vertical_default as SuiDotsVerticalIcon, empty_data_default as SuiEmptyDataIcon, expand_default as SuiExpandIcon, filter_default as SuiFilterIcon, setting_default as SuiSettingIcon, triangle_down_default as SuiTriangleDownIcon, warning_default as SuiWarningIcon, Switch, Textarea, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipTrigger, ui_exports as UI, booleanToSelectValue, buttonVariants, cn, compareAlphanumeric, debounce, formatISODate, getDialogAlertControls, getDialogTemplates, inputVariants, isDefined, isEmptyObject, selectValueToBoolean, spinnerVariants, stripNullishObject, throttle, useFormField, useGridSettingsStore_default as useGridSettingsStore, useHover_default as useHover, useIntersectionObserver_default as useIntersectionObserver, useMediaQuery_default as useMediaQuery, usePreventPageLeave_default as usePreventPageLeave, usePreventPageLeaveStore_default as usePreventPageLeaveStore, useScreenSize_default as useScreenSize, useSidebar, useTruncated_default as useTruncated };
|
|
8385
8450
|
//# sourceMappingURL=index.mjs.map
|
|
8386
8451
|
//# sourceMappingURL=index.mjs.map
|