xmlui 0.11.19 → 0.11.21

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.
@@ -7,12 +7,13 @@ import require$$0, { flushSync, createPortal } from "react-dom";
7
7
  import yaml from "js-yaml";
8
8
  import { useQuery, useInfiniteQuery, QueryClientProvider, QueryClient } from "@tanstack/react-query";
9
9
  import produce, { createDraft, finishDraft, enableMapSet } from "immer";
10
- import { throttle, get, isNil, omitBy, isUndefined, isString, isPlainObject, noop as noop$2, isEmpty, isEqual, union, uniq, orderBy as orderBy$1, isObject, isArray, groupBy, sortBy, omit, isNumber, set, isNaN as isNaN$1, cloneDeep, merge, defaultTo, capitalize, unset, setWith, keyBy, pick } from "lodash-es";
10
+ import { throttle, get, isNil, omitBy, isUndefined, isString, isPlainObject, noop as noop$2, isEmpty, isEqual, union, uniq, orderBy as orderBy$1, isObject, isArray, groupBy, sortBy, omit, isNumber, set, cloneDeep, isNaN as isNaN$1, merge, defaultTo, capitalize, unset, setWith, keyBy, pick } from "lodash-es";
11
11
  import { formatDistanceToNow, parse, format, parseISO, isValid, isToday, isYesterday, isTomorrow, isThisWeek, formatRelative, isThisYear, isSameDay, differenceInMinutes } from "date-fns";
12
12
  import classnames from "classnames";
13
13
  import { c as PART_LABELED_ITEM, d as PART_LABEL, b as PART_INPUT, e as PART_ICON, P as PART_START_ADORNMENT, a as PART_END_ADORNMENT, x as xmlUiMarkupToComponent, f as errReportComponent, g as errReportMessage, h as errReportScriptError, i as errReportModuleErrors } from "./xmlui-parser-9Yk-asFP.js";
14
14
  import Color from "color";
15
- import { Popover, PopoverTrigger, Portal, PopoverContent, PopoverPortal } from "@radix-ui/react-popover";
15
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
16
+ import { DropdownMenu as DropdownMenu$1, DropdownMenuTrigger, DropdownMenuPortal, DropdownMenuContent as DropdownMenuContent$1, DropdownMenuItem as DropdownMenuItem$1, DropdownMenuSub, DropdownMenuSubTrigger as DropdownMenuSubTrigger$1, DropdownMenuSubContent as DropdownMenuSubContent$1 } from "@radix-ui/react-dropdown-menu";
16
17
  import * as VisuallyHidden$1 from "@radix-ui/react-visually-hidden";
17
18
  import { VisuallyHidden as VisuallyHidden$2 } from "@radix-ui/react-visually-hidden";
18
19
  import TextareaAutosize from "react-textarea-autosize";
@@ -22,16 +23,17 @@ import * as SheetPrimitive from "@radix-ui/react-dialog";
22
23
  import { useContextSelector, createContext as createContext$1 } from "use-context-selector";
23
24
  import { F as Parser, G as T_CALCULATED_MEMBER_ACCESS_EXPRESSION, H as T_MEMBER_ACCESS_EXPRESSION, I as T_IDENTIFIER, J as T_PREFIX_OP_EXPRESSION, K as T_FUNCTION_DECLARATION, L as T_ARROW_EXPRESSION, M as createXmlUiTreeNodeId, O as T_EMPTY_STATEMENT, Q as T_SWITCH_STATEMENT, R as T_TRY_STATEMENT, V as T_THROW_STATEMENT, W as T_FOR_OF_STATEMENT, X as T_FOR_IN_STATEMENT, Y as T_FOR_STATEMENT, Z as T_EXPRESSION_STATEMENT, _ as T_BREAK_STATEMENT, $ as T_CONTINUE_STATEMENT, a0 as T_DO_WHILE_STATEMENT, a1 as T_WHILE_STATEMENT, a2 as T_RETURN_STATEMENT, a3 as T_IF_STATEMENT, a4 as T_CONST_STATEMENT, a5 as T_LET_STATEMENT, a6 as T_ARROW_EXPRESSION_STATEMENT, a7 as T_BLOCK_STATEMENT, a8 as T_VAR_STATEMENT, a9 as T_ASSIGNMENT_EXPRESSION, aa as T_LITERAL, ab as T_SPREAD_EXPRESSION, ac as T_FUNCTION_INVOCATION_EXPRESSION, ad as T_POSTFIX_OP_EXPRESSION, ae as T_CONDITIONAL_EXPRESSION, af as T_BINARY_EXPRESSION, ag as T_UNARY_EXPRESSION, ah as T_OBJECT_LITERAL, ai as T_ARRAY_LITERAL, aj as T_SEQUENCE_EXPRESSION, ak as T_TEMPLATE_LITERAL_EXPRESSION, al as T_VAR_DECLARATION, am as T_DESTRUCTURE, an as PARSED_MARK_PROP, ao as collectCodeBehindFromSource, ap as removeCodeBehindTokensFromTree } from "./transform-CQ_6R-43.js";
24
25
  import memoizeOne from "memoize-one";
25
- import { DropdownMenu as DropdownMenu$1, DropdownMenuTrigger, DropdownMenuPortal, DropdownMenuContent as DropdownMenuContent$1, DropdownMenuItem as DropdownMenuItem$1, DropdownMenuSub, DropdownMenuSubTrigger as DropdownMenuSubTrigger$1, DropdownMenuSubContent as DropdownMenuSubContent$1 } from "@radix-ui/react-dropdown-menu";
26
26
  import { Virtualizer } from "virtua";
27
27
  import { useReactTable, getPaginationRowModel, getCoreRowModel, flexRender } from "@tanstack/react-table";
28
28
  import { useVirtualizer } from "@tanstack/react-virtual";
29
29
  import { RenderPropSticky } from "react-sticky-el";
30
30
  import * as dropzone from "react-dropzone";
31
31
  import toast, { Toaster, ToastBar } from "react-hot-toast";
32
+ import { Popover, PopoverTrigger, Portal as Portal$1, PopoverContent, PopoverPortal } from "@radix-ui/react-popover";
33
+ import { Item as Item$1, ItemText, ItemIndicator, Root, Trigger, Portal, Content, ScrollUpButton, Viewport, Group, Label, ScrollDownButton } from "@radix-ui/react-select";
32
34
  import * as InnerRadioGroup from "@radix-ui/react-radio-group";
33
35
  import { DayPicker } from "react-day-picker";
34
- import { Root, Track, Range, Thumb } from "@radix-ui/react-slider";
36
+ import { Root as Root$1, Track, Range, Thumb } from "@radix-ui/react-slider";
35
37
  import * as RadixTooltip from "@radix-ui/react-tooltip";
36
38
  import ReactMarkdown from "react-markdown";
37
39
  import remarkGfm from "remark-gfm";
@@ -42,7 +44,7 @@ import * as HoverCard from "@radix-ui/react-hover-card";
42
44
  import { useSpring, useInView, animated } from "@react-spring/web";
43
45
  import Papa from "papaparse";
44
46
  import getUserLocale from "get-user-locale";
45
- import { Root as Root$1, List, Trigger, Content } from "@radix-ui/react-tabs";
47
+ import { Root as Root$2, List, Trigger as Trigger$1, Content as Content$1 } from "@radix-ui/react-tabs";
46
48
  import scrollIntoView from "scroll-into-view-if-needed";
47
49
  import * as RAccordion from "@radix-ui/react-accordion";
48
50
  import useEmblaCarousel from "embla-carousel-react";
@@ -93,20 +95,16 @@ class EngineError extends Error {
93
95
  }
94
96
  class GenericBackendError extends EngineError {
95
97
  constructor(info2, errorCode) {
96
- let message = "";
97
- if (info2?.code) {
98
- message += `[Error code: ${info2.code}]
99
- `;
100
- }
101
- if (info2?.details && typeof info2.details === "string") {
102
- message += `${info2.details}`;
103
- } else if (info2?.message) {
104
- message += `${info2.message}`;
105
- }
106
- super(message || info2?.message || "Unknown error");
98
+ const message = info2?.message || info2?.error?.message || info2?.title || // RFC 7807
99
+ (typeof info2?.error === "string" ? info2.error : null) || (typeof info2 === "string" ? info2 : null) || "Unknown error";
100
+ const extractedDetails = info2?.details || info2?.detail || // RFC 7807
101
+ info2?.error?.details || info2?.errors || // Validation errors array
102
+ (info2?.error && typeof info2.error === "object" ? info2.error : null) || null;
103
+ const details = extractedDetails ? info2?.issues ? { ...extractedDetails, issues: info2.issues } : extractedDetails : info2?.issues ? { issues: info2.issues } : null;
104
+ super(message);
107
105
  this.info = info2;
108
106
  this.errorCategory = "GenericBackendError";
109
- this.details = info2;
107
+ this.details = details;
110
108
  this.statusCode = errorCode;
111
109
  Object.setPrototypeOf(this, GenericBackendError.prototype);
112
110
  }
@@ -146,6 +144,13 @@ class ThrowStatementError extends EngineError {
146
144
  Object.setPrototypeOf(this, ThrowStatementError.prototype);
147
145
  }
148
146
  }
147
+ function createContextVariableError(err) {
148
+ return {
149
+ statusCode: err.statusCode || 500,
150
+ message: err.message || "An error occurred",
151
+ details: err.details || {}
152
+ };
153
+ }
149
154
  function reportEngineError(error2, errorToThrow) {
150
155
  if (typeof error2 === "string") {
151
156
  error2 = new Error(error2);
@@ -772,19 +777,22 @@ function getElementRef(element) {
772
777
  return element.props.ref || element.ref;
773
778
  }
774
779
  const themeVars$13 = `'{"textColor-FormItemLabel": "var(--xmlui-textColor-FormItemLabel)", "fontFamily-FormItemLabel": "var(--xmlui-fontFamily-FormItemLabel)", "fontSize-FormItemLabel": "var(--xmlui-fontSize-FormItemLabel)", "fontWeight-FormItemLabel": "var(--xmlui-fontWeight-FormItemLabel)", "fontStyle-FormItemLabel": "var(--xmlui-fontStyle-FormItemLabel)", "textTransform-FormItemLabel": "var(--xmlui-textTransform-FormItemLabel)", "textColor-FormItemLabel-required": "var(--xmlui-textColor-FormItemLabel-required)", "fontSize-FormItemLabel-required": "var(--xmlui-fontSize-FormItemLabel-required)", "fontWeight-FormItemLabel-required": "var(--xmlui-fontWeight-FormItemLabel-required)", "fontStyle-FormItemLabel-required": "var(--xmlui-fontStyle-FormItemLabel-required)", "textTransform-FormItemLabel-required": "var(--xmlui-textTransform-FormItemLabel-required)", "textColor-FormItemLabel-requiredMark": "var(--xmlui-textColor-FormItemLabel-requiredMark)"}'`;
775
- const container$3 = "_container_1bx6o_14";
776
- const top$1 = "_top_1bx6o_21";
777
- const end = "_end_1bx6o_26";
778
- const bottom$1 = "_bottom_1bx6o_32";
779
- const start = "_start_1bx6o_37";
780
- const shrinkToLabel = "_shrinkToLabel_1bx6o_43";
781
- const inputLabel = "_inputLabel_1bx6o_46";
782
- const disabled$c = "_disabled_1bx6o_59";
783
- const labelBreak = "_labelBreak_1bx6o_63";
784
- const required = "_required_1bx6o_68";
785
- const requiredMark = "_requiredMark_1bx6o_75";
786
- const itemWithLabel = "_itemWithLabel_1bx6o_79";
787
- const helperTextContainer = "_helperTextContainer_1bx6o_85";
780
+ const container$3 = "_container_ni4pj_14";
781
+ const top$1 = "_top_ni4pj_21";
782
+ const end = "_end_ni4pj_26";
783
+ const bottom$1 = "_bottom_ni4pj_31";
784
+ const start = "_start_ni4pj_36";
785
+ const shrinkToLabel = "_shrinkToLabel_ni4pj_41";
786
+ const inputLabel = "_inputLabel_ni4pj_44";
787
+ const labelBreak = "_labelBreak_ni4pj_57";
788
+ const required = "_required_ni4pj_62";
789
+ const disabled$c = "_disabled_ni4pj_69";
790
+ const requiredMark = "_requiredMark_ni4pj_73";
791
+ const itemWithLabel = "_itemWithLabel_ni4pj_77";
792
+ const wrapper$n = "_wrapper_ni4pj_82";
793
+ const validationResultWrapper = "_validationResultWrapper_ni4pj_90";
794
+ const helperTextContainer = "_helperTextContainer_ni4pj_93";
795
+ const labelWrapper$1 = "_labelWrapper_ni4pj_96";
788
796
  const styles$1l = {
789
797
  themeVars: themeVars$13,
790
798
  container: container$3,
@@ -794,12 +802,15 @@ const styles$1l = {
794
802
  start,
795
803
  shrinkToLabel,
796
804
  inputLabel,
797
- disabled: disabled$c,
798
805
  labelBreak,
799
806
  required,
807
+ disabled: disabled$c,
800
808
  requiredMark,
801
809
  itemWithLabel,
802
- helperTextContainer
810
+ wrapper: wrapper$n,
811
+ validationResultWrapper,
812
+ helperTextContainer,
813
+ labelWrapper: labelWrapper$1
803
814
  };
804
815
  const themeVars$12 = `'{"size-Spinner": "var(--xmlui-size-Spinner)", "thickness-Spinner": "var(--xmlui-thickness-Spinner)", "borderColor-Spinner": "var(--xmlui-borderColor-Spinner)"}'`;
805
816
  const fullScreenSpinnerWrapper = "_fullScreenSpinnerWrapper_b1pgc_50";
@@ -907,69 +918,72 @@ const ItemWithLabel = forwardRef(function ItemWithLabel2({
907
918
  }, ref) {
908
919
  const generatedId2 = useId();
909
920
  const inputId = id || generatedId2;
921
+ const inputRef = useRef(null);
922
+ const inputHeight = inputRef.current?.offsetHeight;
923
+ const labelWrapperHeight = labelPosition === "start" || labelPosition === "end" ? inputHeight : "auto";
910
924
  if (label2 === void 0 && !validationResult) {
911
- return /* @__PURE__ */ jsx(Part, { partId: PART_LABELED_ITEM, children: /* @__PURE__ */ jsx(
912
- Slot,
913
- {
914
- ...rest,
915
- style: style2,
916
- className,
917
- id: inputId,
918
- ref,
919
- children
920
- }
921
- ) });
925
+ return /* @__PURE__ */ jsx(Part, { partId: PART_LABELED_ITEM, children: /* @__PURE__ */ jsx(Slot, { ...rest, style: style2, className, id: inputId, ref, children }) });
922
926
  }
923
- return /* @__PURE__ */ jsxs("div", { ...rest, ref, style: style2, className: classnames(className, styles$1l.itemWithLabel), children: [
924
- /* @__PURE__ */ jsxs(
925
- "div",
926
- {
927
- className: classnames(styles$1l.container, {
928
- [styles$1l.top]: labelPosition === "top",
929
- [styles$1l.bottom]: labelPosition === "bottom",
930
- [styles$1l.start]: labelPosition === "start",
931
- [styles$1l.end]: labelPosition === "end",
932
- [styles$1l.shrinkToLabel]: shrinkToLabel2
933
- }),
934
- children: [
935
- label2 && /* @__PURE__ */ jsx(Part, { partId: PART_LABEL, children: /* @__PURE__ */ jsxs(
936
- "label",
937
- {
938
- htmlFor: inputId,
939
- onClick: onLabelClick || (() => document.getElementById(inputId)?.focus()),
940
- style: {
941
- ...labelStyle,
942
- width: labelWidth && numberRegex.test(labelWidth) ? `${labelWidth}px` : labelWidth,
943
- flexShrink: labelWidth !== void 0 ? 0 : void 0
944
- },
945
- className: classnames(styles$1l.inputLabel, {
946
- [styles$1l.required]: required2,
947
- [styles$1l.disabled]: !enabled2,
948
- [styles$1l.labelBreak]: labelBreak2
949
- }),
950
- children: [
951
- label2,
952
- " ",
953
- required2 && /* @__PURE__ */ jsx("span", { className: styles$1l.requiredMark, children: "*" }),
954
- validationInProgress && /* @__PURE__ */ jsx(
955
- Spinner,
956
- {
957
- style: { height: "1em", width: "1em", marginLeft: "1em", alignSelf: "center" }
958
- }
959
- )
960
- ]
961
- }
962
- ) }),
927
+ return /* @__PURE__ */ jsx("div", { ...rest, ref, style: style2, className: classnames(className, styles$1l.itemWithLabel), children: /* @__PURE__ */ jsxs(
928
+ "div",
929
+ {
930
+ className: classnames(styles$1l.container, {
931
+ [styles$1l.top]: labelPosition === "top",
932
+ [styles$1l.bottom]: labelPosition === "bottom",
933
+ [styles$1l.start]: labelPosition === "start",
934
+ [styles$1l.end]: labelPosition === "end",
935
+ [styles$1l.shrinkToLabel]: shrinkToLabel2
936
+ }),
937
+ children: [
938
+ /* @__PURE__ */ jsx(
939
+ "div",
940
+ {
941
+ className: styles$1l.labelWrapper,
942
+ style: {
943
+ height: labelWrapperHeight
944
+ },
945
+ children: label2 && /* @__PURE__ */ jsx(Part, { partId: PART_LABEL, children: /* @__PURE__ */ jsxs(
946
+ "label",
947
+ {
948
+ htmlFor: inputId,
949
+ onClick: onLabelClick || (() => document.getElementById(inputId)?.focus()),
950
+ style: {
951
+ ...labelStyle,
952
+ width: labelWidth && numberRegex.test(labelWidth) ? `${labelWidth}px` : labelWidth,
953
+ flexShrink: labelWidth !== void 0 ? 0 : void 0
954
+ },
955
+ className: classnames(styles$1l.inputLabel, {
956
+ [styles$1l.required]: required2,
957
+ [styles$1l.disabled]: !enabled2,
958
+ [styles$1l.labelBreak]: labelBreak2
959
+ }),
960
+ children: [
961
+ label2,
962
+ " ",
963
+ required2 && /* @__PURE__ */ jsx("span", { className: styles$1l.requiredMark, children: "*" }),
964
+ validationInProgress && /* @__PURE__ */ jsx(
965
+ Spinner,
966
+ {
967
+ style: { height: "1em", width: "1em", marginLeft: "1em", alignSelf: "center" }
968
+ }
969
+ )
970
+ ]
971
+ }
972
+ ) })
973
+ }
974
+ ),
975
+ /* @__PURE__ */ jsxs("div", { className: styles$1l.wrapper, children: [
963
976
  /* @__PURE__ */ jsx(Part, { partId: PART_LABELED_ITEM, children: cloneElement(children, {
964
977
  id: !isInputTemplateUsed ? inputId : void 0,
965
978
  style: void 0,
966
- className: void 0
967
- }) })
968
- ]
969
- }
970
- ),
971
- validationResult
972
- ] });
979
+ className: void 0,
980
+ ref: inputRef
981
+ }) }),
982
+ validationResult && /* @__PURE__ */ jsx("div", { className: styles$1l.validationResultWrapper, children: validationResult })
983
+ ] })
984
+ ]
985
+ }
986
+ ) });
973
987
  });
974
988
  function createMetadata(metadata) {
975
989
  return metadata;
@@ -3416,36 +3430,8 @@ const DropdownMenu = forwardRef(function DropdownMenu2({
3416
3430
  setOpen(false);
3417
3431
  }, []);
3418
3432
  const contentRef = useRef(null);
3419
- const handleKeyDown = useCallback((event) => {
3420
- if (event.key === "Escape") {
3421
- setOpen(false);
3422
- return;
3423
- }
3424
- if (event.key === "ArrowDown" || event.key === "ArrowUp") {
3425
- event.preventDefault();
3426
- const content2 = contentRef.current;
3427
- if (!content2) return;
3428
- const menuItems = Array.from(
3429
- content2.querySelectorAll('[role="menuitem"]:not([class*="disabled"])')
3430
- );
3431
- if (menuItems.length === 0) return;
3432
- const currentIndex = menuItems.findIndex((item2) => item2 === document.activeElement);
3433
- let nextIndex;
3434
- if (currentIndex === -1) {
3435
- nextIndex = event.key === "ArrowDown" ? 0 : menuItems.length - 1;
3436
- } else if (event.key === "ArrowDown") {
3437
- nextIndex = currentIndex < menuItems.length - 1 ? currentIndex + 1 : 0;
3438
- } else {
3439
- nextIndex = currentIndex > 0 ? currentIndex - 1 : menuItems.length - 1;
3440
- }
3441
- menuItems[nextIndex]?.focus();
3442
- }
3443
- if (event.key === "Enter" || event.key === " ") {
3444
- return;
3445
- }
3446
- }, []);
3447
3433
  return /* @__PURE__ */ jsx(DropdownMenuContext.Provider, { value: { closeMenu }, children: /* @__PURE__ */ jsxs(
3448
- Popover,
3434
+ DropdownMenuPrimitive.Root,
3449
3435
  {
3450
3436
  open,
3451
3437
  onOpenChange: async (isOpen) => {
@@ -3469,31 +3455,20 @@ const DropdownMenu = forwardRef(function DropdownMenu2({
3469
3455
  },
3470
3456
  modal,
3471
3457
  children: [
3472
- /* @__PURE__ */ jsx(
3473
- PopoverTrigger,
3458
+ /* @__PURE__ */ jsx(DropdownMenuPrimitive.Trigger, { ...rest, asChild: true, disabled: disabled2, ref, children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx(
3459
+ Button,
3474
3460
  {
3475
- ...rest,
3476
- asChild: true,
3461
+ icon: /* @__PURE__ */ jsx(Icon, { name: triggerButtonIcon, fallback: "chevrondown" }),
3462
+ iconPosition: triggerButtonIconPosition,
3463
+ type: "button",
3464
+ variant: triggerButtonVariant,
3465
+ themeColor: triggerButtonThemeColor,
3477
3466
  disabled: disabled2,
3478
- ref,
3479
- "aria-haspopup": "menu",
3480
- "aria-expanded": open,
3481
- children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx(
3482
- Button,
3483
- {
3484
- icon: /* @__PURE__ */ jsx(Icon, { name: triggerButtonIcon, fallback: "chevrondown" }),
3485
- iconPosition: triggerButtonIconPosition,
3486
- type: "button",
3487
- variant: triggerButtonVariant,
3488
- themeColor: triggerButtonThemeColor,
3489
- disabled: disabled2,
3490
- children: label2
3491
- }
3492
- )
3467
+ children: label2
3493
3468
  }
3494
- ),
3495
- /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
3496
- PopoverContent,
3469
+ ) }),
3470
+ /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: root2, children: /* @__PURE__ */ jsx(
3471
+ DropdownMenuPrimitive.Content,
3497
3472
  {
3498
3473
  ref: contentRef,
3499
3474
  align: alignment,
@@ -3501,13 +3476,8 @@ const DropdownMenu = forwardRef(function DropdownMenu2({
3501
3476
  className: classnames(styles$1i.DropdownMenuContent, className, {
3502
3477
  [styles$1i.compact]: compact2
3503
3478
  }),
3504
- onOpenAutoFocus: (e) => {
3505
- e.preventDefault();
3506
- contentRef.current?.focus();
3507
- },
3508
- onKeyDownCapture: handleKeyDown,
3509
- role: "menu",
3510
3479
  tabIndex: -1,
3480
+ loop: true,
3511
3481
  children
3512
3482
  }
3513
3483
  ) })
@@ -3541,25 +3511,8 @@ const MenuItem = forwardRef(function MenuItem2({
3541
3511
  },
3542
3512
  [enabled2, onClick, context]
3543
3513
  );
3544
- const handleKeyDown = useCallback(
3545
- (event) => {
3546
- if (!enabled2) return;
3547
- if (event.key === "Enter") {
3548
- event.preventDefault();
3549
- event.stopPropagation();
3550
- onClick(event);
3551
- context?.closeMenu();
3552
- } else if (event.key === " ") {
3553
- event.preventDefault();
3554
- event.stopPropagation();
3555
- onClick(event);
3556
- context?.closeMenu();
3557
- }
3558
- },
3559
- [enabled2, onClick, context]
3560
- );
3561
3514
  return /* @__PURE__ */ jsxs(
3562
- "div",
3515
+ DropdownMenuPrimitive.Item,
3563
3516
  {
3564
3517
  style: style2,
3565
3518
  className: classnames(className, styles$1i.DropdownMenuItem, {
@@ -3569,7 +3522,6 @@ const MenuItem = forwardRef(function MenuItem2({
3569
3522
  }),
3570
3523
  ref,
3571
3524
  onClick: handleClick,
3572
- onKeyDown: handleKeyDown,
3573
3525
  role: "menuitem",
3574
3526
  tabIndex: enabled2 ? 0 : -1,
3575
3527
  children: [
@@ -3583,28 +3535,14 @@ const MenuItem = forwardRef(function MenuItem2({
3583
3535
  const SubMenuItem = forwardRef(function SubMenuItem2({ children, label: label2, triggerTemplate }, ref) {
3584
3536
  const { root: root2 } = useTheme();
3585
3537
  const [open, setOpen] = useState(false);
3586
- return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, modal: false, children: [
3587
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
3588
- "div",
3589
- {
3590
- className: styles$1i.DropdownMenuSubTrigger,
3591
- role: "menuitem",
3592
- tabIndex: 0,
3593
- ref,
3594
- onMouseEnter: () => setOpen(true),
3595
- onMouseLeave: () => setOpen(false),
3596
- children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx("div", { children: label2 })
3597
- }
3598
- ) }),
3599
- /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
3600
- PopoverContent,
3538
+ return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.Sub, { open, onOpenChange: setOpen, children: [
3539
+ /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubTrigger, { ref, className: styles$1i.DropdownMenuSubTrigger, asChild: true, children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx("div", { children: label2 }) }),
3540
+ /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: root2, children: /* @__PURE__ */ jsx(
3541
+ DropdownMenuPrimitive.SubContent,
3601
3542
  {
3602
3543
  className: styles$1i.DropdownMenuSubContent,
3603
- side: "right",
3604
- align: "start",
3605
- onMouseEnter: () => setOpen(true),
3606
- onMouseLeave: () => setOpen(false),
3607
- onOpenAutoFocus: (e) => e.preventDefault(),
3544
+ sideOffset: 2,
3545
+ loop: true,
3608
3546
  children
3609
3547
  }
3610
3548
  ) })
@@ -8723,37 +8661,20 @@ const localLinkComponentRenderer = createComponentRenderer(
8723
8661
  const MemoizedItem = memo(
8724
8662
  ({
8725
8663
  node,
8726
- item: item2,
8727
- context,
8728
8664
  renderChild: renderChild2,
8729
8665
  layoutContext,
8730
- contextVars = EMPTY_OBJECT,
8731
- itemKey = "$item",
8732
- contextKey = "$context"
8666
+ contextVars = EMPTY_OBJECT
8733
8667
  }) => {
8734
8668
  const shallowMemoedContextVars = useShallowCompareMemoize(contextVars);
8735
- const nodeWithItem = useMemo(() => {
8736
- if (itemKey === contextKey) {
8737
- return {
8738
- type: "Container",
8739
- contextVars: {
8740
- [itemKey]: { ...item2, ...context },
8741
- ...shallowMemoedContextVars
8742
- },
8743
- children: Array.isArray(node) ? node : [node]
8744
- };
8745
- }
8746
- return {
8669
+ const nodeWithContextVars = useMemo(
8670
+ () => ({
8747
8671
  type: "Container",
8748
- contextVars: {
8749
- [itemKey]: item2,
8750
- [contextKey]: context,
8751
- ...shallowMemoedContextVars
8752
- },
8672
+ contextVars: shallowMemoedContextVars,
8753
8673
  children: Array.isArray(node) ? node : [node]
8754
- };
8755
- }, [context, item2, node, shallowMemoedContextVars, itemKey, contextKey]);
8756
- return /* @__PURE__ */ jsx(Fragment, { children: renderChild2(nodeWithItem, layoutContext) });
8674
+ }),
8675
+ [node, shallowMemoedContextVars]
8676
+ );
8677
+ return /* @__PURE__ */ jsx(Fragment, { children: renderChild2(nodeWithContextVars, layoutContext) });
8757
8678
  }
8758
8679
  );
8759
8680
  MemoizedItem.displayName = "MemoizedItem";
@@ -10481,7 +10402,7 @@ const treeComponentRenderer = createComponentRenderer(
10481
10402
  // - All original source data properties (custom fields)
10482
10403
  ...flatTreeNode
10483
10404
  };
10484
- return node.props.itemTemplate ? /* @__PURE__ */ jsx(MemoizedItem, { node: node.props.itemTemplate, item: itemContext, renderChild: renderChild2 }) : /* @__PURE__ */ jsx(MemoizedItem, { node: defaultItemTemplate, item: itemContext, renderChild: renderChild2 });
10405
+ return node.props.itemTemplate ? /* @__PURE__ */ jsx(MemoizedItem, { node: node.props.itemTemplate, contextVars: { $item: itemContext }, renderChild: renderChild2 }) : /* @__PURE__ */ jsx(MemoizedItem, { node: defaultItemTemplate, contextVars: { $item: itemContext }, renderChild: renderChild2 });
10485
10406
  }
10486
10407
  }
10487
10408
  );
@@ -11905,7 +11826,7 @@ const defaultCompResult = {
11905
11826
  cssProps: {},
11906
11827
  issues: /* @__PURE__ */ new Set()
11907
11828
  };
11908
- function resolveLayoutProps(layoutProps = EMPTY_OBJECT, layoutContext) {
11829
+ function resolveLayoutProps(layoutProps = EMPTY_OBJECT, layoutContext, disableInlineStyle) {
11909
11830
  const result = {
11910
11831
  cssProps: {},
11911
11832
  issues: /* @__PURE__ */ new Set()
@@ -11913,128 +11834,128 @@ function resolveLayoutProps(layoutProps = EMPTY_OBJECT, layoutContext) {
11913
11834
  if (!!getOrientation(layoutContext)) {
11914
11835
  result.cssProps.flexShrink = 0;
11915
11836
  }
11916
- collectCss("width");
11837
+ collectCss("width", false);
11917
11838
  const horizontalStarSize = getHorizontalStarSize(result.cssProps.width, layoutContext);
11918
11839
  if (horizontalStarSize !== null) {
11919
11840
  result.cssProps.flex = horizontalStarSize;
11920
11841
  result.cssProps.flexShrink = 1;
11921
11842
  }
11922
- collectCss("minWidth");
11923
- collectCss("maxWidth");
11924
- collectCss("height");
11843
+ collectCss("minWidth", false);
11844
+ collectCss("maxWidth", false);
11845
+ collectCss("height", false);
11925
11846
  const verticalStarSize = getVerticalStarSize(result.cssProps.height, layoutContext);
11926
11847
  if (verticalStarSize !== null) {
11927
11848
  result.cssProps.flex = verticalStarSize;
11928
11849
  result.cssProps.flexShrink = 1;
11929
11850
  }
11930
- collectCss("minHeight");
11931
- collectCss("maxHeight");
11932
- collectCss("top");
11933
- collectCss("right");
11934
- collectCss("bottom");
11935
- collectCss("left");
11936
- collectCss("gap");
11937
- collectCss("padding");
11851
+ collectCss("minHeight", false);
11852
+ collectCss("maxHeight", false);
11853
+ collectCss("top", disableInlineStyle);
11854
+ collectCss("right", disableInlineStyle);
11855
+ collectCss("bottom", disableInlineStyle);
11856
+ collectCss("left", disableInlineStyle);
11857
+ collectCss("gap", disableInlineStyle);
11858
+ collectCss("padding", disableInlineStyle);
11938
11859
  const paddingHorizontal = transformLayoutValue("paddingHorizontal");
11939
11860
  if (paddingHorizontal) {
11940
11861
  result.cssProps.paddingLeft = paddingHorizontal;
11941
11862
  result.cssProps.paddingRight = paddingHorizontal;
11942
11863
  }
11943
- collectCss("paddingRight");
11944
- collectCss("paddingLeft");
11864
+ collectCss("paddingRight", disableInlineStyle);
11865
+ collectCss("paddingLeft", disableInlineStyle);
11945
11866
  const paddingVertical = transformLayoutValue("paddingVertical");
11946
11867
  if (paddingVertical) {
11947
11868
  result.cssProps.paddingTop = paddingVertical;
11948
11869
  result.cssProps.paddingBottom = paddingVertical;
11949
11870
  }
11950
- collectCss("paddingTop");
11951
- collectCss("paddingBottom");
11952
- collectCss("margin");
11871
+ collectCss("paddingTop", disableInlineStyle);
11872
+ collectCss("paddingBottom", disableInlineStyle);
11873
+ collectCss("margin", disableInlineStyle);
11953
11874
  const marginHorizontal = transformLayoutValue("marginHorizontal");
11954
11875
  if (marginHorizontal) {
11955
11876
  result.cssProps.marginLeft = marginHorizontal;
11956
11877
  result.cssProps.marginRight = marginHorizontal;
11957
11878
  }
11958
- collectCss("marginRight");
11959
- collectCss("marginLeft");
11879
+ collectCss("marginRight", disableInlineStyle);
11880
+ collectCss("marginLeft", disableInlineStyle);
11960
11881
  const marginVertical = transformLayoutValue("marginVertical");
11961
11882
  if (marginVertical) {
11962
11883
  result.cssProps.marginTop = marginVertical;
11963
11884
  result.cssProps.marginBottom = marginVertical;
11964
11885
  }
11965
- collectCss("marginTop");
11966
- collectCss("marginBottom");
11967
- collectCss("border");
11886
+ collectCss("marginTop", disableInlineStyle);
11887
+ collectCss("marginBottom", disableInlineStyle);
11888
+ collectCss("border", disableInlineStyle);
11968
11889
  const horizontalBorder = transformLayoutValue("borderHorizontal");
11969
11890
  if (horizontalBorder) {
11970
11891
  result.cssProps.borderLeft = horizontalBorder;
11971
11892
  result.cssProps.borderRight = horizontalBorder;
11972
11893
  }
11973
- collectCss("borderRight");
11974
- collectCss("borderLeft");
11894
+ collectCss("borderRight", disableInlineStyle);
11895
+ collectCss("borderLeft", disableInlineStyle);
11975
11896
  const verticalBorder = transformLayoutValue("borderVertical");
11976
11897
  if (verticalBorder) {
11977
11898
  result.cssProps.borderTop = verticalBorder;
11978
11899
  result.cssProps.borderBottom = verticalBorder;
11979
11900
  }
11980
- collectCss("borderTop");
11981
- collectCss("borderBottom");
11982
- collectCss("borderColor");
11983
- collectCss("borderStyle");
11984
- collectCss("borderWidth");
11985
- collectCss("borderRadius");
11986
- collectCss("radiusTopLeft", "borderTopLeftRadius");
11987
- collectCss("radiusTopRight", "borderTopRightRadius");
11988
- collectCss("radiusBottomLeft", "borderBottomLeftRadius");
11989
- collectCss("radiusBottomRight", "borderBottomRightRadius");
11990
- collectCss("color");
11991
- collectCss("fontFamily");
11992
- collectCss("fontSize");
11993
- collectCss("fontWeight");
11994
- collectCss("fontStyle");
11995
- collectCss("fontVariant");
11996
- collectCss("lineBreak");
11997
- collectCss("textDecoration");
11998
- collectCss("textDecorationLine");
11999
- collectCss("textDecorationColor");
12000
- collectCss("textDecorationStyle");
12001
- collectCss("textDecorationThickness");
12002
- collectCss("textIndent");
12003
- collectCss("textShadow");
12004
- collectCss("textUnderlineOffset");
12005
- collectCss("userSelect");
12006
- collectCss("letterSpacing");
12007
- collectCss("textTransform");
12008
- collectCss("lineHeight");
12009
- collectCss("textAlign");
12010
- collectCss("textAlignLast");
12011
- collectCss("textWrap");
12012
- collectCss("wordBreak");
12013
- collectCss("wordSpacing");
12014
- collectCss("wordWrap");
12015
- collectCss("writingMode");
12016
- collectCss("backgroundColor");
12017
- collectCss("background");
12018
- collectCss("boxShadow");
12019
- collectCss("direction");
12020
- collectCss("overflowX");
12021
- collectCss("overflowY");
12022
- collectCss("zIndex");
12023
- collectCss("opacity");
12024
- collectCss("zoom");
12025
- collectCss("cursor");
12026
- collectCss("whiteSpace");
12027
- collectCss("transform");
12028
- collectCss("outline");
12029
- collectCss("outlineWidth");
12030
- collectCss("outlineColor");
12031
- collectCss("outlineStyle");
12032
- collectCss("outlineOffset");
11901
+ collectCss("borderTop", disableInlineStyle);
11902
+ collectCss("borderBottom", disableInlineStyle);
11903
+ collectCss("borderColor", disableInlineStyle);
11904
+ collectCss("borderStyle", disableInlineStyle);
11905
+ collectCss("borderWidth", disableInlineStyle);
11906
+ collectCss("borderRadius", disableInlineStyle);
11907
+ collectCss("radiusTopLeft", disableInlineStyle, "borderTopLeftRadius");
11908
+ collectCss("radiusTopRight", disableInlineStyle, "borderTopRightRadius");
11909
+ collectCss("radiusBottomLeft", disableInlineStyle, "borderBottomLeftRadius");
11910
+ collectCss("radiusBottomRight", disableInlineStyle, "borderBottomRightRadius");
11911
+ collectCss("color", disableInlineStyle);
11912
+ collectCss("fontFamily", disableInlineStyle);
11913
+ collectCss("fontSize", disableInlineStyle);
11914
+ collectCss("fontWeight", disableInlineStyle);
11915
+ collectCss("fontStyle", disableInlineStyle);
11916
+ collectCss("fontVariant", disableInlineStyle);
11917
+ collectCss("lineBreak", disableInlineStyle);
11918
+ collectCss("textDecoration", disableInlineStyle);
11919
+ collectCss("textDecorationLine", disableInlineStyle);
11920
+ collectCss("textDecorationColor", disableInlineStyle);
11921
+ collectCss("textDecorationStyle", disableInlineStyle);
11922
+ collectCss("textDecorationThickness", disableInlineStyle);
11923
+ collectCss("textIndent", disableInlineStyle);
11924
+ collectCss("textShadow", disableInlineStyle);
11925
+ collectCss("textUnderlineOffset", disableInlineStyle);
11926
+ collectCss("userSelect", disableInlineStyle);
11927
+ collectCss("letterSpacing", disableInlineStyle);
11928
+ collectCss("textTransform", disableInlineStyle);
11929
+ collectCss("lineHeight", disableInlineStyle);
11930
+ collectCss("textAlign", disableInlineStyle);
11931
+ collectCss("textAlignLast", disableInlineStyle);
11932
+ collectCss("textWrap", disableInlineStyle);
11933
+ collectCss("wordBreak", disableInlineStyle);
11934
+ collectCss("wordSpacing", disableInlineStyle);
11935
+ collectCss("wordWrap", disableInlineStyle);
11936
+ collectCss("writingMode", disableInlineStyle);
11937
+ collectCss("backgroundColor", disableInlineStyle);
11938
+ collectCss("background", disableInlineStyle);
11939
+ collectCss("boxShadow", disableInlineStyle);
11940
+ collectCss("direction", disableInlineStyle);
11941
+ collectCss("overflowX", disableInlineStyle);
11942
+ collectCss("overflowY", disableInlineStyle);
11943
+ collectCss("zIndex", disableInlineStyle);
11944
+ collectCss("opacity", disableInlineStyle);
11945
+ collectCss("zoom", disableInlineStyle);
11946
+ collectCss("cursor", disableInlineStyle);
11947
+ collectCss("whiteSpace", disableInlineStyle);
11948
+ collectCss("transform", disableInlineStyle);
11949
+ collectCss("outline", disableInlineStyle);
11950
+ collectCss("outlineWidth", disableInlineStyle);
11951
+ collectCss("outlineColor", disableInlineStyle);
11952
+ collectCss("outlineStyle", disableInlineStyle);
11953
+ collectCss("outlineOffset", disableInlineStyle);
12033
11954
  const wrapContent = transformLayoutValue("wrapContent");
12034
11955
  if (wrapContent) {
12035
11956
  result.cssProps.flexWrap = wrapContent === "true" ? "wrap" : "nowrap";
12036
11957
  }
12037
- collectCss("canShrink", "flexShrink");
11958
+ collectCss("canShrink", disableInlineStyle, "flexShrink");
12038
11959
  const canShrink = transformLayoutValue("canShrink");
12039
11960
  if (canShrink) {
12040
11961
  result.cssProps.flexShrink = canShrink === "true" ? 1 : 0;
@@ -12108,7 +12029,8 @@ function resolveLayoutProps(layoutProps = EMPTY_OBJECT, layoutContext) {
12108
12029
  return value;
12109
12030
  }
12110
12031
  }
12111
- function collectCss(prop, propCssName = "") {
12032
+ function collectCss(prop, disableInlineStyle2 = false, propCssName = "") {
12033
+ if (disableInlineStyle2) return;
12112
12034
  const value = transformLayoutValue(prop);
12113
12035
  if (value) {
12114
12036
  result.cssProps[propCssName || prop] = value;
@@ -12607,33 +12529,36 @@ const fragmentComponentRenderer = createComponentRenderer(
12607
12529
  }
12608
12530
  );
12609
12531
  const themeVars$L = `'{"textColor-pagination-Table": "var(--xmlui-textColor-pagination-Table)", "backgroundColor-Table": "var(--xmlui-backgroundColor-Table)", "textColor-Table": "var(--xmlui-textColor-Table)", "backgroundColor-row-Table": "var(--xmlui-backgroundColor-row-Table)", "backgroundColor-row-Table--hover": "var(--xmlui-backgroundColor-row-Table--hover)", "backgroundColor-selected-Table": "var(--xmlui-backgroundColor-selected-Table)", "backgroundColor-selected-Table--hover": "var(--xmlui-backgroundColor-selected-Table--hover)", "backgroundColor-heading-Table": "var(--xmlui-backgroundColor-heading-Table)", "backgroundColor-heading-Table--hover": "var(--xmlui-backgroundColor-heading-Table--hover)", "backgroundColor-heading-Table--active": "var(--xmlui-backgroundColor-heading-Table--active)", "padding-heading-Table": "var(--xmlui-padding-heading-Table)", "paddingHorizontal-heading-Table": "var(--xmlui-paddingHorizontal-heading-Table, var(--xmlui-padding-heading-Table))", "paddingVertical-heading-Table": "var(--xmlui-paddingVertical-heading-Table, var(--xmlui-padding-heading-Table))", "paddingLeft-heading-Table": "var(--xmlui-paddingLeft-heading-Table, var(--xmlui-paddingHorizontal-heading-Table, var(--xmlui-padding-heading-Table)))", "paddingRight-heading-Table": "var(--xmlui-paddingRight-heading-Table, var(--xmlui-paddingHorizontal-heading-Table, var(--xmlui-padding-heading-Table)))", "paddingTop-heading-Table": "var(--xmlui-paddingTop-heading-Table, var(--xmlui-paddingVertical-heading-Table, var(--xmlui-padding-heading-Table)))", "paddingBottom-heading-Table": "var(--xmlui-paddingBottom-heading-Table, var(--xmlui-paddingVertical-heading-Table, var(--xmlui-padding-heading-Table)))", "padding-cell-Table": "var(--xmlui-padding-cell-Table)", "paddingHorizontal-cell-Table": "var(--xmlui-paddingHorizontal-cell-Table, var(--xmlui-padding-cell-Table))", "paddingVertical-cell-Table": "var(--xmlui-paddingVertical-cell-Table, var(--xmlui-padding-cell-Table))", "paddingLeft-cell-Table": "var(--xmlui-paddingLeft-cell-Table, var(--xmlui-paddingHorizontal-cell-Table, var(--xmlui-padding-cell-Table)))", "paddingRight-cell-Table": "var(--xmlui-paddingRight-cell-Table, var(--xmlui-paddingHorizontal-cell-Table, var(--xmlui-padding-cell-Table)))", "paddingTop-cell-Table": "var(--xmlui-paddingTop-cell-Table, var(--xmlui-paddingVertical-cell-Table, var(--xmlui-padding-cell-Table)))", "paddingBottom-cell-Table": "var(--xmlui-paddingBottom-cell-Table, var(--xmlui-paddingVertical-cell-Table, var(--xmlui-padding-cell-Table)))", "paddingHorizontal-cell-first-Table": "var(--xmlui-paddingHorizontal-cell-first-Table)", "paddingHorizontal-cell-last-Table": "var(--xmlui-paddingHorizontal-cell-last-Table)", "border-cell-Table": "var(--xmlui-border-cell-Table)", "borderHorizontal-cell-Table": "var(--xmlui-borderHorizontal-cell-Table, var(--xmlui-border-cell-Table))", "borderVertical-cell-Table": "var(--xmlui-borderVertical-cell-Table, var(--xmlui-border-cell-Table))", "borderLeft-cell-Table": "var(--xmlui-borderLeft-cell-Table, var(--xmlui-borderHorizontal-cell-Table, var(--xmlui-border-cell-Table)))", "borderRight-cell-Table": "var(--xmlui-borderRight-cell-Table, var(--xmlui-borderHorizontal-cell-Table, var(--xmlui-border-cell-Table)))", "borderTop-cell-Table": "var(--xmlui-borderTop-cell-Table, var(--xmlui-borderVertical-cell-Table, var(--xmlui-border-cell-Table)))", "borderBottom-cell-Table": "var(--xmlui-borderBottom-cell-Table)", "borderWidth-cell-Table": "var(--xmlui-borderWidth-cell-Table)", "borderHorizontalWidth-cell-Table": "var(--xmlui-borderHorizontalWidth-cell-Table, var(--xmlui-borderWidth-cell-Table))", "borderLeftWidth-cell-Table": "var(--xmlui-borderLeftWidth-cell-Table, var(--xmlui-borderHorizontalWidth-cell-Table, var(--xmlui-borderWidth-cell-Table)))", "borderRightWidth-cell-Table": "var(--xmlui-borderRightWidth-cell-Table, var(--xmlui-borderHorizontalWidth-cell-Table, var(--xmlui-borderWidth-cell-Table)))", "borderVerticalWidth-cell-Table": "var(--xmlui-borderVerticalWidth-cell-Table, var(--xmlui-borderWidth-cell-Table))", "borderTopWidth-cell-Table": "var(--xmlui-borderTopWidth-cell-Table, var(--xmlui-borderVerticalWidth-cell-Table, var(--xmlui-borderWidth-cell-Table)))", "borderBottomWidth-cell-Table": "var(--xmlui-borderBottomWidth-cell-Table, var(--xmlui-borderVerticalWidth-cell-Table, var(--xmlui-borderWidth-cell-Table)))", "borderStyle-cell-Table": "var(--xmlui-borderStyle-cell-Table)", "borderHorizontalStyle-cell-Table": "var(--xmlui-borderHorizontalStyle-cell-Table, var(--xmlui-borderStyle-cell-Table))", "borderLeftStyle-cell-Table": "var(--xmlui-borderLeftStyle-cell-Table, var(--xmlui-borderHorizontalStyle-cell-Table, var(--xmlui-borderStyle-cell-Table)))", "borderRightStyle-cell-Table": "var(--xmlui-borderRightStyle-cell-Table, var(--xmlui-borderHorizontalStyle-cell-Table, var(--xmlui-borderStyle-cell-Table)))", "borderVerticalStyle-cell-Table": "var(--xmlui-borderVerticalStyle-cell-Table, var(--xmlui-borderStyle-cell-Table))", "borderTopStyle-cell-Table": "var(--xmlui-borderTopStyle-cell-Table, var(--xmlui-borderVerticalStyle-cell-Table, var(--xmlui-borderStyle-cell-Table)))", "borderBottomStyle-cell-Table": "var(--xmlui-borderBottomStyle-cell-Table, var(--xmlui-borderVerticalStyle-cell-Table, var(--xmlui-borderStyle-cell-Table)))", "borderColor-cell-Table": "var(--xmlui-borderColor-cell-Table)", "borderHorizontalColor-cell-Table": "var(--xmlui-borderHorizontalColor-cell-Table, var(--xmlui-borderColor-cell-Table))", "borderLeftColor-cell-Table": "var(--xmlui-borderLeftColor-cell-Table, var(--xmlui-borderHorizontalColor-cell-Table, var(--xmlui-borderColor-cell-Table)))", "borderRightColor-cell-Table": "var(--xmlui-borderRightColor-cell-Table, var(--xmlui-borderHorizontalColor-cell-Table, var(--xmlui-borderColor-cell-Table)))", "borderVerticalColor-cell-Table": "var(--xmlui-borderVerticalColor-cell-Table, var(--xmlui-borderColor-cell-Table))", "borderTopColor-cell-Table": "var(--xmlui-borderTopColor-cell-Table, var(--xmlui-borderVerticalColor-cell-Table, var(--xmlui-borderColor-cell-Table)))", "borderBottomColor-cell-Table": "var(--xmlui-borderBottomColor-cell-Table, var(--xmlui-borderVerticalColor-cell-Table, var(--xmlui-borderColor-cell-Table)))", "borderStartStartRadius-cell-Table": "var(--xmlui-borderStartStartRadius-cell-Table, var(--xmlui-borderRadius-cell-Table))", "borderStartEndRadius-cell-Table": "var(--xmlui-borderStartEndRadius-cell-Table, var(--xmlui-borderRadius-cell-Table))", "borderEndStartRadius-cell-Table": "var(--xmlui-borderEndStartRadius-cell-Table, var(--xmlui-borderRadius-cell-Table))", "borderEndEndRadius-cell-Table": "var(--xmlui-borderEndEndRadius-cell-Table, var(--xmlui-borderRadius-cell-Table))", "border-Table": "var(--xmlui-border-Table)", "borderHorizontal-Table": "var(--xmlui-borderHorizontal-Table, var(--xmlui-border-Table))", "borderVertical-Table": "var(--xmlui-borderVertical-Table, var(--xmlui-border-Table))", "borderLeft-Table": "var(--xmlui-borderLeft-Table, var(--xmlui-borderHorizontal-Table, var(--xmlui-border-Table)))", "borderRight-Table": "var(--xmlui-borderRight-Table, var(--xmlui-borderHorizontal-Table, var(--xmlui-border-Table)))", "borderTop-Table": "var(--xmlui-borderTop-Table, var(--xmlui-borderVertical-Table, var(--xmlui-border-Table)))", "borderBottom-Table": "var(--xmlui-borderBottom-Table, var(--xmlui-borderVertical-Table, var(--xmlui-border-Table)))", "borderWidth-Table": "var(--xmlui-borderWidth-Table)", "borderHorizontalWidth-Table": "var(--xmlui-borderHorizontalWidth-Table, var(--xmlui-borderWidth-Table))", "borderLeftWidth-Table": "var(--xmlui-borderLeftWidth-Table, var(--xmlui-borderHorizontalWidth-Table, var(--xmlui-borderWidth-Table)))", "borderRightWidth-Table": "var(--xmlui-borderRightWidth-Table, var(--xmlui-borderHorizontalWidth-Table, var(--xmlui-borderWidth-Table)))", "borderVerticalWidth-Table": "var(--xmlui-borderVerticalWidth-Table, var(--xmlui-borderWidth-Table))", "borderTopWidth-Table": "var(--xmlui-borderTopWidth-Table, var(--xmlui-borderVerticalWidth-Table, var(--xmlui-borderWidth-Table)))", "borderBottomWidth-Table": "var(--xmlui-borderBottomWidth-Table, var(--xmlui-borderVerticalWidth-Table, var(--xmlui-borderWidth-Table)))", "borderStyle-Table": "var(--xmlui-borderStyle-Table)", "borderHorizontalStyle-Table": "var(--xmlui-borderHorizontalStyle-Table, var(--xmlui-borderStyle-Table))", "borderLeftStyle-Table": "var(--xmlui-borderLeftStyle-Table, var(--xmlui-borderHorizontalStyle-Table, var(--xmlui-borderStyle-Table)))", "borderRightStyle-Table": "var(--xmlui-borderRightStyle-Table, var(--xmlui-borderHorizontalStyle-Table, var(--xmlui-borderStyle-Table)))", "borderVerticalStyle-Table": "var(--xmlui-borderVerticalStyle-Table, var(--xmlui-borderStyle-Table))", "borderTopStyle-Table": "var(--xmlui-borderTopStyle-Table, var(--xmlui-borderVerticalStyle-Table, var(--xmlui-borderStyle-Table)))", "borderBottomStyle-Table": "var(--xmlui-borderBottomStyle-Table, var(--xmlui-borderVerticalStyle-Table, var(--xmlui-borderStyle-Table)))", "borderColor-Table": "var(--xmlui-borderColor-Table)", "borderHorizontalColor-Table": "var(--xmlui-borderHorizontalColor-Table, var(--xmlui-borderColor-Table))", "borderLeftColor-Table": "var(--xmlui-borderLeftColor-Table, var(--xmlui-borderHorizontalColor-Table, var(--xmlui-borderColor-Table)))", "borderRightColor-Table": "var(--xmlui-borderRightColor-Table, var(--xmlui-borderHorizontalColor-Table, var(--xmlui-borderColor-Table)))", "borderVerticalColor-Table": "var(--xmlui-borderVerticalColor-Table, var(--xmlui-borderColor-Table))", "borderTopColor-Table": "var(--xmlui-borderTopColor-Table, var(--xmlui-borderVerticalColor-Table, var(--xmlui-borderColor-Table)))", "borderBottomColor-Table": "var(--xmlui-borderBottomColor-Table, var(--xmlui-borderVerticalColor-Table, var(--xmlui-borderColor-Table)))", "borderStartStartRadius-Table": "var(--xmlui-borderStartStartRadius-Table, var(--xmlui-borderRadius-Table))", "borderStartEndRadius-Table": "var(--xmlui-borderStartEndRadius-Table, var(--xmlui-borderRadius-Table))", "borderEndStartRadius-Table": "var(--xmlui-borderEndStartRadius-Table, var(--xmlui-borderRadius-Table))", "borderEndEndRadius-Table": "var(--xmlui-borderEndEndRadius-Table, var(--xmlui-borderRadius-Table))", "backgroundColor-pagination-Table": "var(--xmlui-backgroundColor-pagination-Table)", "textColor-heading-Table": "var(--xmlui-textColor-heading-Table)", "fontWeight-row-Table": "var(--xmlui-fontWeight-row-Table)", "fontSize-row-Table": "var(--xmlui-fontSize-row-Table)", "fontWeight-heading-Table": "var(--xmlui-fontWeight-heading-Table)", "fontSize-heading-Table": "var(--xmlui-fontSize-heading-Table)", "textTransform-heading-Table": "var(--xmlui-textTransform-heading-Table)", "borderRadius-Table": "var(--xmlui-borderRadius-Table)", "outlineWidth-heading-Table--focus": "var(--xmlui-outlineWidth-heading-Table--focus)", "outlineColor-heading-Table--focus": "var(--xmlui-outlineColor-heading-Table--focus)", "outlineStyle-heading-Table--focus": "var(--xmlui-outlineStyle-heading-Table--focus)", "outlineOffset-heading-Table--focus": "var(--xmlui-outlineOffset-heading-Table--focus)", "borderBottom-last-row-Table": "var(--xmlui-borderBottom-last-row-Table)"}'`;
12610
- const wrapper$i = "_wrapper_fw2wb_14";
12611
- const noScroll = "_noScroll_fw2wb_42";
12612
- const headerWrapper$1 = "_headerWrapper_fw2wb_45";
12613
- const tableBody = "_tableBody_fw2wb_46";
12614
- const clickableHeader = "_clickableHeader_fw2wb_51";
12615
- const headerContent = "_headerContent_fw2wb_65";
12616
- const headerRow = "_headerRow_fw2wb_97";
12617
- const columnCell = "_columnCell_fw2wb_101";
12618
- const cell = "_cell_fw2wb_102";
12619
- const alignTop = "_alignTop_fw2wb_110";
12620
- const alignCenter$1 = "_alignCenter_fw2wb_114";
12621
- const alignBottom = "_alignBottom_fw2wb_118";
12622
- const table = "_table_fw2wb_46";
12623
- const row$1 = "_row_fw2wb_126";
12624
- const checkBoxWrapper = "_checkBoxWrapper_fw2wb_133";
12625
- const showInHeader = "_showInHeader_fw2wb_138";
12626
- const selected$1 = "_selected_fw2wb_142";
12627
- const allSelected = "_allSelected_fw2wb_142";
12628
- const cellContent = "_cellContent_fw2wb_173";
12629
- const focused$1 = "_focused_fw2wb_200";
12630
- const disabled$8 = "_disabled_fw2wb_212";
12631
- const noBottomBorder = "_noBottomBorder_fw2wb_219";
12632
- const noRows$1 = "_noRows_fw2wb_244";
12633
- const loadingWrapper$1 = "_loadingWrapper_fw2wb_283";
12634
- const forceHoverWrapper = "_forceHoverWrapper_fw2wb_296";
12635
- const resizer$1 = "_resizer_fw2wb_299";
12636
- const isResizing = "_isResizing_fw2wb_320";
12532
+ const wrapper$i = "_wrapper_17ovr_14";
12533
+ const noScroll = "_noScroll_17ovr_42";
12534
+ const headerWrapper$1 = "_headerWrapper_17ovr_45";
12535
+ const tableBody = "_tableBody_17ovr_46";
12536
+ const clickableHeader = "_clickableHeader_17ovr_51";
12537
+ const headerContent = "_headerContent_17ovr_65";
12538
+ const orderingIndicator = "_orderingIndicator_17ovr_68";
12539
+ const activeOrdering = "_activeOrdering_17ovr_73";
12540
+ const alwaysShow = "_alwaysShow_17ovr_73";
12541
+ const headerRow = "_headerRow_17ovr_111";
12542
+ const columnCell = "_columnCell_17ovr_115";
12543
+ const cell = "_cell_17ovr_116";
12544
+ const alignTop = "_alignTop_17ovr_124";
12545
+ const alignCenter$1 = "_alignCenter_17ovr_128";
12546
+ const alignBottom = "_alignBottom_17ovr_132";
12547
+ const table = "_table_17ovr_46";
12548
+ const row$1 = "_row_17ovr_140";
12549
+ const checkBoxWrapper = "_checkBoxWrapper_17ovr_147";
12550
+ const showInHeader = "_showInHeader_17ovr_152";
12551
+ const selected$1 = "_selected_17ovr_156";
12552
+ const allSelected = "_allSelected_17ovr_156";
12553
+ const cellContent = "_cellContent_17ovr_187";
12554
+ const focused$1 = "_focused_17ovr_214";
12555
+ const disabled$8 = "_disabled_17ovr_226";
12556
+ const noBottomBorder = "_noBottomBorder_17ovr_233";
12557
+ const noRows$1 = "_noRows_17ovr_258";
12558
+ const loadingWrapper$1 = "_loadingWrapper_17ovr_297";
12559
+ const forceHoverWrapper = "_forceHoverWrapper_17ovr_310";
12560
+ const resizer$1 = "_resizer_17ovr_313";
12561
+ const isResizing = "_isResizing_17ovr_334";
12637
12562
  const styles$13 = {
12638
12563
  themeVars: themeVars$L,
12639
12564
  wrapper: wrapper$i,
@@ -12642,6 +12567,9 @@ const styles$13 = {
12642
12567
  tableBody,
12643
12568
  clickableHeader,
12644
12569
  headerContent,
12570
+ orderingIndicator,
12571
+ activeOrdering,
12572
+ alwaysShow,
12645
12573
  headerRow,
12646
12574
  columnCell,
12647
12575
  cell,
@@ -13731,6 +13659,7 @@ function useRowSelection({
13731
13659
  rowsSelectable,
13732
13660
  enableMultiRowSelection,
13733
13661
  rowDisabledPredicate,
13662
+ rowUnselectablePredicate,
13734
13663
  onSelectionDidChange,
13735
13664
  initiallySelected = EMPTY_ARRAY,
13736
13665
  syncWithAppState
@@ -13986,7 +13915,7 @@ function useRowSelection({
13986
13915
  return;
13987
13916
  }
13988
13917
  setSelectedRowIds(
13989
- checked2 ? items.filter((item2) => rowDisabledPredicate ? !rowDisabledPredicate(item2) : true).map((item2) => item2[idKey]) : []
13918
+ checked2 ? items.filter((item2) => !(rowDisabledPredicate?.(item2) || rowUnselectablePredicate?.(item2))).map((item2) => item2[idKey]) : []
13990
13919
  );
13991
13920
  });
13992
13921
  const selectedRowIdMap = useMemo(() => {
@@ -14439,6 +14368,9 @@ const CheckboxToleranceValues = ["none", "compact", "comfortable", "spacious"];
14439
14368
  function defaultIsRowDisabled(_) {
14440
14369
  return false;
14441
14370
  }
14371
+ function defaultIsRowUnselectable(_) {
14372
+ return false;
14373
+ }
14442
14374
  const SELECT_COLUMN_WIDTH = 42;
14443
14375
  const DEFAULT_PAGE_SIZES = [10];
14444
14376
  const getCheckboxTolerancePixels = (tolerance) => {
@@ -14498,6 +14430,7 @@ const Table = forwardRef(
14498
14430
  pageSize = pageSizeOptions?.[0] || DEFAULT_PAGE_SIZES[0],
14499
14431
  currentPageIndex = 0,
14500
14432
  rowDisabledPredicate = defaultIsRowDisabled,
14433
+ rowUnselectablePredicate = defaultIsRowUnselectable,
14501
14434
  sortBy: sortBy2,
14502
14435
  sortingDirection = defaultProps$$.sortingDirection,
14503
14436
  iconSortAsc,
@@ -14512,6 +14445,7 @@ const Table = forwardRef(
14512
14445
  hideHeader = defaultProps$$.hideHeader,
14513
14446
  hideNoDataView = defaultProps$$.hideNoDataView,
14514
14447
  alwaysShowSelectionHeader = defaultProps$$.alwaysShowSelectionHeader,
14448
+ alwaysShowSortingIndicator = defaultProps$$.alwaysShowSortingIndicator,
14515
14449
  registerComponentApi,
14516
14450
  onSelectionDidChange,
14517
14451
  noBottomBorder: noBottomBorder2 = defaultProps$$.noBottomBorder,
@@ -14565,6 +14499,7 @@ const Table = forwardRef(
14565
14499
  rowsSelectable,
14566
14500
  enableMultiRowSelection,
14567
14501
  rowDisabledPredicate,
14502
+ rowUnselectablePredicate,
14568
14503
  onSelectionDidChange,
14569
14504
  initiallySelected,
14570
14505
  syncWithAppState
@@ -14689,14 +14624,16 @@ const Table = forwardRef(
14689
14624
  indeterminate: table22.getIsSomeRowsSelected(),
14690
14625
  forceHover: headerCheckboxHovered,
14691
14626
  onDidChange: () => {
14692
- const allSelected2 = table22.getRowModel().rows.every((row2) => rowDisabledPredicate(row2.original) || row2.getIsSelected());
14627
+ const allSelected2 = table22.getRowModel().rows.every(
14628
+ (row2) => rowDisabledPredicate(row2.original) || rowUnselectablePredicate(row2.original) || row2.getIsSelected()
14629
+ );
14693
14630
  checkAllRows(!allSelected2);
14694
14631
  }
14695
14632
  }
14696
14633
  }
14697
14634
  ) : null,
14698
14635
  cell: ({ row: row2 }) => {
14699
- return /* @__PURE__ */ jsx(
14636
+ return /* @__PURE__ */ jsx(Fragment, { children: row2.getCanSelect() && /* @__PURE__ */ jsx(
14700
14637
  Toggle,
14701
14638
  {
14702
14639
  ...{
@@ -14715,7 +14652,7 @@ const Table = forwardRef(
14715
14652
  }
14716
14653
  }
14717
14654
  }
14718
- );
14655
+ ) });
14719
14656
  }
14720
14657
  };
14721
14658
  return rowsSelectable ? [selectColumn, ...columnsWithCustomCell] : columnsWithCustomCell;
@@ -14727,6 +14664,7 @@ const Table = forwardRef(
14727
14664
  checkAllRows,
14728
14665
  toggleRow,
14729
14666
  rowDisabledPredicate,
14667
+ rowUnselectablePredicate,
14730
14668
  hoveredRowId,
14731
14669
  headerCheckboxHovered
14732
14670
  ]);
@@ -14771,12 +14709,18 @@ const Table = forwardRef(
14771
14709
  right: right2
14772
14710
  };
14773
14711
  }, [columnsWithSelectColumn]);
14712
+ const enableRowSelectionFn = useCallback(
14713
+ (row2) => {
14714
+ return rowsSelectable && !rowUnselectablePredicate(row2.original);
14715
+ },
14716
+ [rowUnselectablePredicate, rowsSelectable]
14717
+ );
14774
14718
  const table2 = useReactTable({
14775
14719
  columns: columnsWithSelectColumn,
14776
14720
  data: sortedData,
14777
14721
  getCoreRowModel: getCoreRowModel(),
14778
14722
  getPaginationRowModel: isPaginated ? getPaginationRowModel() : void 0,
14779
- enableRowSelection: rowsSelectable,
14723
+ enableRowSelection: enableRowSelectionFn,
14780
14724
  enableMultiRowSelection,
14781
14725
  columnResizeMode: "onChange",
14782
14726
  getRowId: useCallback(
@@ -14926,7 +14870,7 @@ const Table = forwardRef(
14926
14870
  event.preventDefault();
14927
14871
  event.stopPropagation();
14928
14872
  const allSelected2 = table2.getRowModel().rows.every(
14929
- (row2) => rowDisabledPredicate(row2.original) || row2.getIsSelected()
14873
+ (row2) => rowDisabledPredicate(row2.original) || rowUnselectablePredicate(row2.original) || row2.getIsSelected()
14930
14874
  );
14931
14875
  checkAllRows(!allSelected2);
14932
14876
  }
@@ -15004,13 +14948,22 @@ const Table = forwardRef(
15004
14948
  header2.column.columnDef.header,
15005
14949
  header2.getContext()
15006
14950
  ),
15007
- header2.column.columnDef.enableSorting && /* @__PURE__ */ jsx("span", { style: { display: "inline-flex", maxWidth: 16 }, children: /* @__PURE__ */ jsx(
15008
- ColumnOrderingIndicator,
14951
+ header2.column.columnDef.enableSorting && /* @__PURE__ */ jsx(Part, { partId: "orderIndicator", children: /* @__PURE__ */ jsx(
14952
+ "span",
15009
14953
  {
15010
- iconSortAsc,
15011
- iconSortDesc,
15012
- iconNoSort,
15013
- direction: header2.column.columnDef.meta?.accessorKey === _sortBy ? _sortingDirection : void 0
14954
+ className: classnames(styles$13.orderingIndicator, {
14955
+ [styles$13.activeOrdering]: header2.column.columnDef.meta?.accessorKey === _sortBy,
14956
+ [styles$13.alwaysShow]: alwaysShowSortingIndicator
14957
+ }),
14958
+ children: /* @__PURE__ */ jsx(
14959
+ ColumnOrderingIndicator,
14960
+ {
14961
+ iconSortAsc,
14962
+ iconSortDesc,
14963
+ iconNoSort,
14964
+ direction: header2.column.columnDef.meta?.accessorKey === _sortBy ? _sortingDirection : void 0
14965
+ }
14966
+ )
15014
14967
  }
15015
14968
  ) })
15016
14969
  ] })
@@ -15072,6 +15025,9 @@ const Table = forwardRef(
15072
15025
  rowVirtualizer.measureElement(el);
15073
15026
  },
15074
15027
  onClick: (event) => {
15028
+ if (!row2.getCanSelect()) {
15029
+ return;
15030
+ }
15075
15031
  if (event?.defaultPrevented) {
15076
15032
  return;
15077
15033
  }
@@ -15197,6 +15153,7 @@ const defaultProps$$ = {
15197
15153
  hideHeader: false,
15198
15154
  hideNoDataView: false,
15199
15155
  alwaysShowSelectionHeader: false,
15156
+ alwaysShowSortingIndicator: false,
15200
15157
  noBottomBorder: false,
15201
15158
  paginationControlsLocation: "bottom",
15202
15159
  cellVerticalAlign: "center",
@@ -15294,6 +15251,9 @@ const TableMd = createMetadata({
15294
15251
  rowDisabledPredicate: d(
15295
15252
  `This property defines a predicate function with a return value that determines if the row should be disabled. The function retrieves the item to display and should return a Boolean-like value.`
15296
15253
  ),
15254
+ rowUnselectablePredicate: {
15255
+ description: `This property defines a predicate function with a return value that determines if the row should be unselectable. The function retrieves the item to display and should return a Boolean-like value. This property only has an effect when the \`rowsSelectable\` property is set to \`true\`.`
15256
+ },
15297
15257
  noDataTemplate: dComponent(
15298
15258
  `A property to customize what to display if the table does not contain any data.`
15299
15259
  ),
@@ -15326,12 +15286,17 @@ const TableMd = createMetadata({
15326
15286
  alwaysShowSelectionHeader: {
15327
15287
  description: "This property indicates when the row selection header is displayed. When the value is `true,` the selection header is always visible. Otherwise, it is displayed only when hovered.",
15328
15288
  valueType: "boolean",
15329
- defaultValue: false
15289
+ defaultValue: defaultProps$$.alwaysShowSelectionHeader
15290
+ },
15291
+ alwaysShowSortingIndicator: {
15292
+ description: `This property indicates whether the sorting indicator is always visible in the column headers. When set to \`true\`, the sorting indicator is always visible. Otherwise, it is visible only when the user hovers over/focuses the column header or the column is sorted.`,
15293
+ valueType: "boolean",
15294
+ defaultValue: defaultProps$$.alwaysShowSortingIndicator
15330
15295
  },
15331
15296
  noBottomBorder: {
15332
15297
  description: `This property indicates whether the table should have a bottom border. When set to \`true\`, the table does not have a bottom border. Otherwise, it has a bottom border.`,
15333
15298
  valueType: "boolean",
15334
- defaultValue: false
15299
+ defaultValue: defaultProps$$.noBottomBorder
15335
15300
  },
15336
15301
  paginationControlsLocation: {
15337
15302
  description: `This property determines the location of the pagination controls. It can be set to \`top\`, \`bottom\`, or \`both\`.`,
@@ -15343,7 +15308,7 @@ const TableMd = createMetadata({
15343
15308
  description: `This property controls the vertical alignment of cell content. It can be set to \`top\`, \`center\`, or \`bottom\`.`,
15344
15309
  valueType: "string",
15345
15310
  availableValues: ["top", "center", "bottom"],
15346
- defaultValue: "center"
15311
+ defaultValue: defaultProps$$.cellVerticalAlign
15347
15312
  },
15348
15313
  checkboxTolerance: {
15349
15314
  description: `This property controls the tolerance area around checkboxes for easier interaction. This property only has an effect when the rowsSelectable property is set to \`true\`. \`none\` provides no tolerance (0px), \`compact\` provides minimal tolerance (8px), \`comfortable\` provides medium tolerance (12px), and \`spacious\` provides generous tolerance (16px) for improved accessibility.`,
@@ -15398,6 +15363,7 @@ const TableMd = createMetadata({
15398
15363
  [`outlineWidth-heading-${COMP$1n}--focus`]: "$outlineWidth--focus",
15399
15364
  [`outlineStyle-heading-${COMP$1n}--focus`]: "$outlineStyle--focus",
15400
15365
  [`outlineOffset-heading-${COMP$1n}--focus`]: "$outlineOffset--focus",
15366
+ [`outlineColor-heading-${COMP$1n}--focus`]: "$outlineColor--focus",
15401
15367
  [`fontSize-heading-${COMP$1n}`]: "$fontSize-tiny",
15402
15368
  [`fontWeight-heading-${COMP$1n}`]: "$fontWeight-bold",
15403
15369
  [`textTransform-heading-${COMP$1n}`]: "uppercase",
@@ -15406,7 +15372,6 @@ const TableMd = createMetadata({
15406
15372
  // [`backgroundColor-row-${COMP}`]: "inherit",
15407
15373
  [`backgroundColor-selected-${COMP$1n}--hover`]: `$backgroundColor-row-${COMP$1n}--hover`,
15408
15374
  [`backgroundColor-pagination-${COMP$1n}`]: `$backgroundColor-${COMP$1n}`,
15409
- [`outlineColor-heading-${COMP$1n}--focus`]: "$outlineColor--focus",
15410
15375
  [`textColor-pagination-${COMP$1n}`]: "$color-secondary",
15411
15376
  [`backgroundColor-row-${COMP$1n}--hover`]: "$color-primary-50",
15412
15377
  [`backgroundColor-selected-${COMP$1n}`]: "$color-primary-100",
@@ -15510,6 +15475,7 @@ const TableWithColumns = memo(
15510
15475
  isPaginated: extractValue.asOptionalBoolean(node.props?.isPaginated),
15511
15476
  headerHeight: extractValue.asSize(node.props.headerHeight),
15512
15477
  rowDisabledPredicate: lookupSyncCallback(node.props.rowDisabledPredicate),
15478
+ rowUnselectablePredicate: lookupSyncCallback(node.props.rowUnselectablePredicate),
15513
15479
  sortBy: extractValue(node.props?.sortBy),
15514
15480
  sortingDirection: extractValue(node.props?.sortDirection),
15515
15481
  iconSortAsc: extractValue.asOptionalString(node.props?.iconSortAsc),
@@ -15527,6 +15493,9 @@ const TableWithColumns = memo(
15527
15493
  alwaysShowSelectionHeader: extractValue.asOptionalBoolean(
15528
15494
  node.props.alwaysShowSelectionHeader
15529
15495
  ),
15496
+ alwaysShowSortingIndicator: extractValue.asOptionalBoolean(
15497
+ node.props.alwaysShowSortingIndicator
15498
+ ),
15530
15499
  noBottomBorder: extractValue.asOptionalBoolean(node.props.noBottomBorder),
15531
15500
  paginationControlsLocation: extractValue.asOptionalString(
15532
15501
  node.props.paginationControlsLocation
@@ -16188,7 +16157,7 @@ const FlowLayoutContext = createContext({
16188
16157
  const FlowItemBreak = ({ force }) => /* @__PURE__ */ jsx("div", { className: classnames(styles$X.break, { [styles$X.forceBreak]: force }) });
16189
16158
  const FlowItemWrapper = forwardRef(function FlowItemWrapper2({ children, forceBreak: forceBreak2, ...restProps }, ref) {
16190
16159
  const { rowGap, columnGap, setNumberOfChildren } = useContext(FlowLayoutContext);
16191
- const { mediaSize } = useAppContext();
16160
+ const { mediaSize, appGlobals } = useAppContext();
16192
16161
  useIsomorphicLayoutEffect(() => {
16193
16162
  setNumberOfChildren((prev) => prev + 1);
16194
16163
  return () => {
@@ -16212,10 +16181,11 @@ const FlowItemWrapper = forwardRef(function FlowItemWrapper2({ children, forceBr
16212
16181
  {
16213
16182
  type: "Stack",
16214
16183
  orientation: "horizontal"
16215
- }
16184
+ },
16185
+ appGlobals?.disableInlineStyle
16216
16186
  ).cssProps || {}
16217
16187
  );
16218
- }, [_maxWidth, _minWidth, _width]);
16188
+ }, [_maxWidth, _minWidth, _width, appGlobals]);
16219
16189
  const resolvedWidth = useMemo(() => {
16220
16190
  if (width && typeof width === "string" && width.startsWith("var(")) {
16221
16191
  if (!resolvedCssVars[width]) {
@@ -18819,11 +18789,8 @@ function MemoizedSection({
18819
18789
  {
18820
18790
  node,
18821
18791
  renderChild: renderChild2,
18822
- item: item2,
18823
- context: sectionContext,
18824
- itemKey: "$group",
18825
- contextKey: "$group",
18826
18792
  contextVars: {
18793
+ $group: { ...item2, ...sectionContext },
18827
18794
  ...contextVars,
18828
18795
  $isFirst: item2.index === 0,
18829
18796
  $isLast: item2.index === item2.count - 1
@@ -18976,10 +18943,10 @@ const dynamicHeightListComponentRenderer = createComponentRenderer(
18976
18943
  MemoizedItem,
18977
18944
  {
18978
18945
  node: itemTemplate,
18979
- item: item2,
18980
18946
  renderChild: renderChild2,
18981
18947
  layoutContext,
18982
18948
  contextVars: {
18949
+ $item: item2,
18983
18950
  $itemIndex: rowIndex,
18984
18951
  $isFirst: rowIndex === 0,
18985
18952
  $isLast: rowIndex === count - 1
@@ -19001,10 +18968,10 @@ const dynamicHeightListComponentRenderer = createComponentRenderer(
19001
18968
  MemoizedItem,
19002
18969
  {
19003
18970
  node: node.props.groupFooterTemplate ?? { type: "Fragment" },
19004
- item: item2,
19005
18971
  renderChild: renderChild2,
19006
- itemKey: "$group",
19007
- contextKey: "$group"
18972
+ contextVars: {
18973
+ $group: item2
18974
+ }
19008
18975
  },
19009
18976
  key
19010
18977
  ) : null : void 0
@@ -21069,47 +21036,48 @@ function useLongPress(elementRef, action2, delay2 = 500) {
21069
21036
  }, [elementRef, action2, delay2]);
21070
21037
  }
21071
21038
  const themeVars$r = `'{"border-Select": "var(--xmlui-border-Select)", "borderHorizontal-Select": "var(--xmlui-borderHorizontal-Select, var(--xmlui-border-Select))", "borderVertical-Select": "var(--xmlui-borderVertical-Select, var(--xmlui-border-Select))", "borderLeft-Select": "var(--xmlui-borderLeft-Select, var(--xmlui-borderHorizontal-Select, var(--xmlui-border-Select)))", "borderRight-Select": "var(--xmlui-borderRight-Select, var(--xmlui-borderHorizontal-Select, var(--xmlui-border-Select)))", "borderTop-Select": "var(--xmlui-borderTop-Select, var(--xmlui-borderVertical-Select, var(--xmlui-border-Select)))", "borderBottom-Select": "var(--xmlui-borderBottom-Select, var(--xmlui-borderVertical-Select, var(--xmlui-border-Select)))", "borderWidth-Select": "var(--xmlui-borderWidth-Select)", "borderHorizontalWidth-Select": "var(--xmlui-borderHorizontalWidth-Select, var(--xmlui-borderWidth-Select))", "borderLeftWidth-Select": "var(--xmlui-borderLeftWidth-Select, var(--xmlui-borderHorizontalWidth-Select, var(--xmlui-borderWidth-Select)))", "borderRightWidth-Select": "var(--xmlui-borderRightWidth-Select, var(--xmlui-borderHorizontalWidth-Select, var(--xmlui-borderWidth-Select)))", "borderVerticalWidth-Select": "var(--xmlui-borderVerticalWidth-Select, var(--xmlui-borderWidth-Select))", "borderTopWidth-Select": "var(--xmlui-borderTopWidth-Select, var(--xmlui-borderVerticalWidth-Select, var(--xmlui-borderWidth-Select)))", "borderBottomWidth-Select": "var(--xmlui-borderBottomWidth-Select, var(--xmlui-borderVerticalWidth-Select, var(--xmlui-borderWidth-Select)))", "borderStyle-Select": "var(--xmlui-borderStyle-Select)", "borderHorizontalStyle-Select": "var(--xmlui-borderHorizontalStyle-Select, var(--xmlui-borderStyle-Select))", "borderLeftStyle-Select": "var(--xmlui-borderLeftStyle-Select, var(--xmlui-borderHorizontalStyle-Select, var(--xmlui-borderStyle-Select)))", "borderRightStyle-Select": "var(--xmlui-borderRightStyle-Select, var(--xmlui-borderHorizontalStyle-Select, var(--xmlui-borderStyle-Select)))", "borderVerticalStyle-Select": "var(--xmlui-borderVerticalStyle-Select, var(--xmlui-borderStyle-Select))", "borderTopStyle-Select": "var(--xmlui-borderTopStyle-Select, var(--xmlui-borderVerticalStyle-Select, var(--xmlui-borderStyle-Select)))", "borderBottomStyle-Select": "var(--xmlui-borderBottomStyle-Select, var(--xmlui-borderVerticalStyle-Select, var(--xmlui-borderStyle-Select)))", "borderColor-Select": "var(--xmlui-borderColor-Select)", "borderHorizontalColor-Select": "var(--xmlui-borderHorizontalColor-Select, var(--xmlui-borderColor-Select))", "borderLeftColor-Select": "var(--xmlui-borderLeftColor-Select, var(--xmlui-borderHorizontalColor-Select, var(--xmlui-borderColor-Select)))", "borderRightColor-Select": "var(--xmlui-borderRightColor-Select, var(--xmlui-borderHorizontalColor-Select, var(--xmlui-borderColor-Select)))", "borderVerticalColor-Select": "var(--xmlui-borderVerticalColor-Select, var(--xmlui-borderColor-Select))", "borderTopColor-Select": "var(--xmlui-borderTopColor-Select, var(--xmlui-borderVerticalColor-Select, var(--xmlui-borderColor-Select)))", "borderBottomColor-Select": "var(--xmlui-borderBottomColor-Select, var(--xmlui-borderVerticalColor-Select, var(--xmlui-borderColor-Select)))", "borderStartStartRadius-Select": "var(--xmlui-borderStartStartRadius-Select, var(--xmlui-borderRadius-Select))", "borderStartEndRadius-Select": "var(--xmlui-borderStartEndRadius-Select, var(--xmlui-borderRadius-Select))", "borderEndStartRadius-Select": "var(--xmlui-borderEndStartRadius-Select, var(--xmlui-borderRadius-Select))", "borderEndEndRadius-Select": "var(--xmlui-borderEndEndRadius-Select, var(--xmlui-borderRadius-Select))", "padding-Select": "var(--xmlui-padding-Select)", "paddingHorizontal-Select": "var(--xmlui-paddingHorizontal-Select, var(--xmlui-padding-Select))", "paddingVertical-Select": "var(--xmlui-paddingVertical-Select, var(--xmlui-padding-Select))", "paddingLeft-Select": "var(--xmlui-paddingLeft-Select, var(--xmlui-paddingHorizontal-Select, var(--xmlui-padding-Select)))", "paddingRight-Select": "var(--xmlui-paddingRight-Select, var(--xmlui-paddingHorizontal-Select, var(--xmlui-padding-Select)))", "paddingTop-Select": "var(--xmlui-paddingTop-Select, var(--xmlui-paddingVertical-Select, var(--xmlui-padding-Select)))", "paddingBottom-Select": "var(--xmlui-paddingBottom-Select, var(--xmlui-paddingVertical-Select, var(--xmlui-padding-Select)))", "padding-item-Select": "var(--xmlui-padding-item-Select)", "paddingHorizontal-item-Select": "var(--xmlui-paddingHorizontal-item-Select, var(--xmlui-padding-item-Select))", "paddingVertical-item-Select": "var(--xmlui-paddingVertical-item-Select, var(--xmlui-padding-item-Select))", "paddingLeft-item-Select": "var(--xmlui-paddingLeft-item-Select, var(--xmlui-paddingHorizontal-item-Select, var(--xmlui-padding-item-Select)))", "paddingRight-item-Select": "var(--xmlui-paddingRight-item-Select, var(--xmlui-paddingHorizontal-item-Select, var(--xmlui-padding-item-Select)))", "paddingTop-item-Select": "var(--xmlui-paddingTop-item-Select, var(--xmlui-paddingVertical-item-Select, var(--xmlui-padding-item-Select)))", "paddingBottom-item-Select": "var(--xmlui-paddingBottom-item-Select, var(--xmlui-paddingVertical-item-Select, var(--xmlui-padding-item-Select)))", "Input:borderRadius-Select--default": "var(--xmlui-borderRadius-Select--default)", "Input:borderColor-Select--default": "var(--xmlui-borderColor-Select--default)", "Input:borderWidth-Select--default": "var(--xmlui-borderWidth-Select--default)", "Input:borderStyle-Select--default": "var(--xmlui-borderStyle-Select--default)", "Input:fontSize-Select--default": "var(--xmlui-fontSize-Select--default)", "Input:backgroundColor-Select--default": "var(--xmlui-backgroundColor-Select--default)", "Input:boxShadow-Select--default": "var(--xmlui-boxShadow-Select--default)", "Input:textColor-Select--default": "var(--xmlui-textColor-Select--default)", "Input:borderColor-Select--default--hover": "var(--xmlui-borderColor-Select--default--hover)", "Input:backgroundColor-Select--default--hover": "var(--xmlui-backgroundColor-Select--default--hover)", "Input:boxShadow-Select--default--hover": "var(--xmlui-boxShadow-Select--default--hover)", "Input:textColor-Select--default--hover": "var(--xmlui-textColor-Select--default--hover)", "Input:outlineWidth-Select--default--focus": "var(--xmlui-outlineWidth-Select--default--focus)", "Input:outlineColor-Select--default--focus": "var(--xmlui-outlineColor-Select--default--focus)", "Input:outlineStyle-Select--default--focus": "var(--xmlui-outlineStyle-Select--default--focus)", "Input:outlineOffset-Select--default--focus": "var(--xmlui-outlineOffset-Select--default--focus)", "Input:textColor-placeholder-Select--default": "var(--xmlui-textColor-placeholder-Select--default)", "Input:fontSize-placeholder-Select--default": "var(--xmlui-fontSize-placeholder-Select--default)", "Input:borderRadius-Select--error": "var(--xmlui-borderRadius-Select--error)", "Input:borderColor-Select--error": "var(--xmlui-borderColor-Select--error)", "Input:borderWidth-Select--error": "var(--xmlui-borderWidth-Select--error)", "Input:borderStyle-Select--error": "var(--xmlui-borderStyle-Select--error)", "Input:fontSize-Select--error": "var(--xmlui-fontSize-Select--error)", "Input:backgroundColor-Select--error": "var(--xmlui-backgroundColor-Select--error)", "Input:boxShadow-Select--error": "var(--xmlui-boxShadow-Select--error)", "Input:textColor-Select--error": "var(--xmlui-textColor-Select--error)", "Input:borderColor-Select--error--hover": "var(--xmlui-borderColor-Select--error--hover)", "Input:backgroundColor-Select--error--hover": "var(--xmlui-backgroundColor-Select--error--hover)", "Input:boxShadow-Select--error--hover": "var(--xmlui-boxShadow-Select--error--hover)", "Input:textColor-Select--error--hover": "var(--xmlui-textColor-Select--error--hover)", "Input:outlineWidth-Select--error--focus": "var(--xmlui-outlineWidth-Select--error--focus)", "Input:outlineColor-Select--error--focus": "var(--xmlui-outlineColor-Select--error--focus)", "Input:outlineStyle-Select--error--focus": "var(--xmlui-outlineStyle-Select--error--focus)", "Input:outlineOffset-Select--error--focus": "var(--xmlui-outlineOffset-Select--error--focus)", "Input:textColor-placeholder-Select--error": "var(--xmlui-textColor-placeholder-Select--error)", "Input:fontSize-placeholder-Select--error": "var(--xmlui-fontSize-placeholder-Select--error)", "Input:borderRadius-Select--warning": "var(--xmlui-borderRadius-Select--warning)", "Input:borderColor-Select--warning": "var(--xmlui-borderColor-Select--warning)", "Input:borderWidth-Select--warning": "var(--xmlui-borderWidth-Select--warning)", "Input:borderStyle-Select--warning": "var(--xmlui-borderStyle-Select--warning)", "Input:fontSize-Select--warning": "var(--xmlui-fontSize-Select--warning)", "Input:backgroundColor-Select--warning": "var(--xmlui-backgroundColor-Select--warning)", "Input:boxShadow-Select--warning": "var(--xmlui-boxShadow-Select--warning)", "Input:textColor-Select--warning": "var(--xmlui-textColor-Select--warning)", "Input:borderColor-Select--warning--hover": "var(--xmlui-borderColor-Select--warning--hover)", "Input:backgroundColor-Select--warning--hover": "var(--xmlui-backgroundColor-Select--warning--hover)", "Input:boxShadow-Select--warning--hover": "var(--xmlui-boxShadow-Select--warning--hover)", "Input:textColor-Select--warning--hover": "var(--xmlui-textColor-Select--warning--hover)", "Input:outlineWidth-Select--warning--focus": "var(--xmlui-outlineWidth-Select--warning--focus)", "Input:outlineColor-Select--warning--focus": "var(--xmlui-outlineColor-Select--warning--focus)", "Input:outlineStyle-Select--warning--focus": "var(--xmlui-outlineStyle-Select--warning--focus)", "Input:outlineOffset-Select--warning--focus": "var(--xmlui-outlineOffset-Select--warning--focus)", "Input:textColor-placeholder-Select--warning": "var(--xmlui-textColor-placeholder-Select--warning)", "Input:fontSize-placeholder-Select--warning": "var(--xmlui-fontSize-placeholder-Select--warning)", "Input:borderRadius-Select--success": "var(--xmlui-borderRadius-Select--success)", "Input:borderColor-Select--success": "var(--xmlui-borderColor-Select--success)", "Input:borderWidth-Select--success": "var(--xmlui-borderWidth-Select--success)", "Input:borderStyle-Select--success": "var(--xmlui-borderStyle-Select--success)", "Input:fontSize-Select--success": "var(--xmlui-fontSize-Select--success)", "Input:backgroundColor-Select--success": "var(--xmlui-backgroundColor-Select--success)", "Input:boxShadow-Select--success": "var(--xmlui-boxShadow-Select--success)", "Input:textColor-Select--success": "var(--xmlui-textColor-Select--success)", "Input:borderColor-Select--success--hover": "var(--xmlui-borderColor-Select--success--hover)", "Input:backgroundColor-Select--success--hover": "var(--xmlui-backgroundColor-Select--success--hover)", "Input:boxShadow-Select--success--hover": "var(--xmlui-boxShadow-Select--success--hover)", "Input:textColor-Select--success--hover": "var(--xmlui-textColor-Select--success--hover)", "Input:outlineWidth-Select--success--focus": "var(--xmlui-outlineWidth-Select--success--focus)", "Input:outlineColor-Select--success--focus": "var(--xmlui-outlineColor-Select--success--focus)", "Input:outlineStyle-Select--success--focus": "var(--xmlui-outlineStyle-Select--success--focus)", "Input:outlineOffset-Select--success--focus": "var(--xmlui-outlineOffset-Select--success--focus)", "Input:textColor-placeholder-Select--success": "var(--xmlui-textColor-placeholder-Select--success)", "Input:fontSize-placeholder-Select--success": "var(--xmlui-fontSize-placeholder-Select--success)", "Input:backgroundColor-Select--disabled": "var(--xmlui-backgroundColor-Select--disabled)", "Input:textColor-Select--disabled": "var(--xmlui-textColor-Select--disabled)", "Input:borderColor-Select--disabled": "var(--xmlui-borderColor-Select--disabled)", "Input:outlineWidth-Select--focus": "var(--xmlui-outlineWidth-Select--focus)", "Input:outlineColor-Select--focus": "var(--xmlui-outlineColor-Select--focus)", "Input:outlineStyle-Select--focus": "var(--xmlui-outlineStyle-Select--focus)", "Input:outlineOffset-Select--focus": "var(--xmlui-outlineOffset-Select--focus)", "Input:textColor-placeholder-Select": "var(--xmlui-textColor-placeholder-Select)", "paddingVertical-Select-badge": "var(--xmlui-paddingVertical-Select-badge)", "paddingHorizontal-Select-badge": "var(--xmlui-paddingHorizontal-Select-badge)", "borderRadius-Select-badge": "var(--xmlui-borderRadius-Select-badge)", "Input:fontSize-Select-badge": "var(--xmlui-fontSize-Select-badge)", "Input:backgroundColor-Select-badge": "var(--xmlui-backgroundColor-Select-badge)", "Input:textColor-Select-badge": "var(--xmlui-textColor-Select-badge)", "Input:backgroundColor-Select-badge--hover": "var(--xmlui-backgroundColor-Select-badge--hover)", "Input:textColor-Select-badge--hover": "var(--xmlui-textColor-Select-badge--hover)", "Input:backgroundColor-Select-badge--active": "var(--xmlui-backgroundColor-Select-badge--active)", "Input:textColor-Select-badge--active": "var(--xmlui-textColor-Select-badge--active)", "Input:backgroundColor-menu-Select": "var(--xmlui-backgroundColor-menu-Select)", "Input:borderRadius-menu-Select": "var(--xmlui-borderRadius-menu-Select)", "Input:boxShadow-menu-Select": "var(--xmlui-boxShadow-menu-Select)", "Input:borderWidth-menu-Select": "var(--xmlui-borderWidth-menu-Select)", "Input:borderColor-menu-Select": "var(--xmlui-borderColor-menu-Select)", "backgroundColor-item-Select": "var(--xmlui-backgroundColor-item-Select)", "backgroundColor-item-Select--active": "var(--xmlui-backgroundColor-item-Select--active)", "backgroundColor-item-Select--hover": "var(--xmlui-backgroundColor-item-Select--hover)", "textColor-item-Select--disabled": "var(--xmlui-textColor-item-Select--disabled)", "opacity-text-item-Select--disabled": "var(--xmlui-opacity-text-item-Select--disabled)", "textColor-indicator-Select": "var(--xmlui-textColor-indicator-Select)", "minHeight-Select": "var(--xmlui-minHeight-Select)", "minHeight-item-Select": "var(--xmlui-minHeight-item-Select)"}'`;
21072
- const selectTrigger = "_selectTrigger_tlyg2_17";
21073
- const error$9 = "_error_tlyg2_55";
21074
- const warning$a = "_warning_tlyg2_81";
21075
- const valid$9 = "_valid_tlyg2_107";
21076
- const disabled$7 = "_disabled_tlyg2_133";
21077
- const placeholder$1 = "_placeholder_tlyg2_146";
21078
- const actions$1 = "_actions_tlyg2_163";
21079
- const action$1 = "_action_tlyg2_163";
21080
- const emptyList = "_emptyList_tlyg2_174";
21081
- const badgeListContainer = "_badgeListContainer_tlyg2_186";
21082
- const badgeList$1 = "_badgeList_tlyg2_186";
21083
- const inputWrapper$1 = "_inputWrapper_tlyg2_199";
21084
- const badge$1 = "_badge_tlyg2_186";
21085
- const selectContent = "_selectContent_tlyg2_234";
21086
- const command$1 = "_command_tlyg2_252";
21087
- const commandInputContainer = "_commandInputContainer_tlyg2_257";
21088
- const commandInput$1 = "_commandInput_tlyg2_257";
21089
- const commandList$1 = "_commandList_tlyg2_276";
21090
- const multiSelectOption = "_multiSelectOption_tlyg2_283";
21091
- const multiSelectOptionContent = "_multiSelectOptionContent_tlyg2_298";
21092
- const highlighted$1 = "_highlighted_tlyg2_307";
21093
- const disabledOption$1 = "_disabledOption_tlyg2_313";
21094
- const selectValue = "_selectValue_tlyg2_328";
21095
- const selectDropdownContent = "_selectDropdownContent_tlyg2_338";
21096
- const fadeIn = "_fadeIn_tlyg2_1";
21097
- const zoomIn = "_zoomIn_tlyg2_1";
21098
- const fadeOut = "_fadeOut_tlyg2_1";
21099
- const zoomOut = "_zoomOut_tlyg2_1";
21100
- const slideInFromTop = "_slideInFromTop_tlyg2_1";
21101
- const slideInFromRight = "_slideInFromRight_tlyg2_1";
21102
- const slideInFromLeft = "_slideInFromLeft_tlyg2_1";
21103
- const slideInFromBottom = "_slideInFromBottom_tlyg2_1";
21104
- const selectViewport = "_selectViewport_tlyg2_370";
21105
- const selectScrollUpButton = "_selectScrollUpButton_tlyg2_374";
21106
- const selectScrollDownButton = "_selectScrollDownButton_tlyg2_382";
21107
- const selectEmpty = "_selectEmpty_tlyg2_390";
21108
- const selectOption = "_selectOption_tlyg2_403";
21109
- const selectOptionContent = "_selectOptionContent_tlyg2_427";
21110
- const selectOptionIndicator = "_selectOptionIndicator_tlyg2_441";
21111
- const loading = "_loading_tlyg2_451";
21112
- const srOnly = "_srOnly_tlyg2_454";
21039
+ const selectTrigger = "_selectTrigger_1c0m5_17";
21040
+ const error$9 = "_error_1c0m5_55";
21041
+ const warning$a = "_warning_1c0m5_81";
21042
+ const valid$9 = "_valid_1c0m5_107";
21043
+ const disabled$7 = "_disabled_1c0m5_133";
21044
+ const placeholder$1 = "_placeholder_1c0m5_145";
21045
+ const actions$1 = "_actions_1c0m5_162";
21046
+ const action$1 = "_action_1c0m5_162";
21047
+ const emptyList = "_emptyList_1c0m5_176";
21048
+ const badgeListContainer = "_badgeListContainer_1c0m5_188";
21049
+ const badgeList$1 = "_badgeList_1c0m5_188";
21050
+ const inputWrapper$1 = "_inputWrapper_1c0m5_201";
21051
+ const badge$1 = "_badge_1c0m5_188";
21052
+ const selectContent = "_selectContent_1c0m5_236";
21053
+ const command$1 = "_command_1c0m5_254";
21054
+ const commandInputContainer = "_commandInputContainer_1c0m5_259";
21055
+ const commandInput$1 = "_commandInput_1c0m5_259";
21056
+ const commandList$1 = "_commandList_1c0m5_277";
21057
+ const groupHeader = "_groupHeader_1c0m5_284";
21058
+ const multiSelectOption = "_multiSelectOption_1c0m5_296";
21059
+ const multiSelectOptionContent = "_multiSelectOptionContent_1c0m5_311";
21060
+ const highlighted$1 = "_highlighted_1c0m5_320";
21061
+ const disabledOption$1 = "_disabledOption_1c0m5_326";
21062
+ const selectValue = "_selectValue_1c0m5_341";
21063
+ const selectDropdownContent = "_selectDropdownContent_1c0m5_351";
21064
+ const fadeIn = "_fadeIn_1c0m5_1";
21065
+ const zoomIn = "_zoomIn_1c0m5_1";
21066
+ const fadeOut = "_fadeOut_1c0m5_1";
21067
+ const zoomOut = "_zoomOut_1c0m5_1";
21068
+ const slideInFromTop = "_slideInFromTop_1c0m5_1";
21069
+ const slideInFromRight = "_slideInFromRight_1c0m5_1";
21070
+ const slideInFromLeft = "_slideInFromLeft_1c0m5_1";
21071
+ const slideInFromBottom = "_slideInFromBottom_1c0m5_1";
21072
+ const selectViewport = "_selectViewport_1c0m5_383";
21073
+ const selectScrollUpButton = "_selectScrollUpButton_1c0m5_387";
21074
+ const selectScrollDownButton = "_selectScrollDownButton_1c0m5_395";
21075
+ const selectEmpty = "_selectEmpty_1c0m5_403";
21076
+ const selectOption = "_selectOption_1c0m5_416";
21077
+ const selectOptionContent = "_selectOptionContent_1c0m5_440";
21078
+ const selectOptionIndicator = "_selectOptionIndicator_1c0m5_454";
21079
+ const loading = "_loading_1c0m5_464";
21080
+ const srOnly = "_srOnly_1c0m5_467";
21113
21081
  const styles$K = {
21114
21082
  themeVars: themeVars$r,
21115
21083
  selectTrigger,
@@ -21130,6 +21098,7 @@ const styles$K = {
21130
21098
  commandInputContainer,
21131
21099
  commandInput: commandInput$1,
21132
21100
  commandList: commandList$1,
21101
+ groupHeader,
21133
21102
  multiSelectOption,
21134
21103
  multiSelectOptionContent,
21135
21104
  highlighted: highlighted$1,
@@ -21162,8 +21131,11 @@ const SelectContext = createContext({
21162
21131
  },
21163
21132
  setSelectedIndex: (index) => {
21164
21133
  },
21165
- options: /* @__PURE__ */ new Set(),
21166
- optionRenderer: void 0
21134
+ optionRenderer: void 0,
21135
+ onOptionAdd: () => {
21136
+ },
21137
+ onOptionRemove: () => {
21138
+ }
21167
21139
  });
21168
21140
  function useSelect() {
21169
21141
  return useContext(SelectContext);
@@ -21188,22 +21160,235 @@ function useOption() {
21188
21160
  return useContext(OptionContext);
21189
21161
  }
21190
21162
  function HiddenOption(option) {
21191
- const { label: label2 } = option;
21192
- const { onOptionAdd } = useOption();
21193
- const [node, setNode] = useState(null);
21194
- const opt = useMemo(() => {
21195
- return {
21163
+ const { onOptionAdd, onOptionRemove } = useOption();
21164
+ const nodeRef = useRef(null);
21165
+ useEffect(() => {
21166
+ let textNode;
21167
+ if (nodeRef.current) {
21168
+ textNode = nodeRef.current.textContent;
21169
+ }
21170
+ const opt = {
21196
21171
  ...option,
21197
- label: label2 ?? node?.textContent ?? "",
21198
- keywords: option.keywords || [label2 ?? node?.textContent ?? ""]
21199
- // Store the rendered ReactNode for dropdown display
21172
+ label: option.label || textNode || option.value
21200
21173
  };
21201
- }, [option, node, label2]);
21202
- useEffect(() => {
21203
21174
  onOptionAdd(opt);
21204
- }, [opt, onOptionAdd]);
21205
- return /* @__PURE__ */ jsx("div", { ref: (el) => setNode(el), style: { display: "none" }, children: option.children });
21175
+ return () => {
21176
+ onOptionRemove(opt);
21177
+ };
21178
+ }, [option, onOptionAdd, onOptionRemove]);
21179
+ return /* @__PURE__ */ jsx(
21180
+ "span",
21181
+ {
21182
+ ref: nodeRef,
21183
+ style: { display: "none", visibility: "hidden", width: 0, height: 0, position: "absolute" },
21184
+ children: option.children
21185
+ }
21186
+ );
21206
21187
  }
21188
+ const SelectOption = forwardRef(
21189
+ function SelectOption2(option, ref) {
21190
+ const visibleContentRef = useRef(null);
21191
+ const { value, label: label2, enabled: enabled2 = true, children, className } = option;
21192
+ const { value: selectedValue, optionRenderer } = useSelect();
21193
+ return /* @__PURE__ */ jsx(
21194
+ Item$1,
21195
+ {
21196
+ ref,
21197
+ className: classnames(className, styles$K.selectOption),
21198
+ value,
21199
+ textValue: label2,
21200
+ disabled: !enabled2,
21201
+ onClick: (event) => {
21202
+ event.stopPropagation();
21203
+ },
21204
+ "data-state": selectedValue === value && "checked",
21205
+ children: children ? /* @__PURE__ */ jsxs(Fragment, { children: [
21206
+ /* @__PURE__ */ jsxs("div", { className: styles$K.selectOptionContent, ref: visibleContentRef, children: [
21207
+ /* @__PURE__ */ jsx("span", { style: { visibility: "hidden", position: "absolute", width: 0, height: 0 }, children: /* @__PURE__ */ jsx(ItemText, { children: label2 }) }),
21208
+ children
21209
+ ] }),
21210
+ selectedValue === value && /* @__PURE__ */ jsx(ItemIndicator, { className: styles$K.selectOptionIndicator, children: /* @__PURE__ */ jsx(Icon, { name: "checkmark" }) })
21211
+ ] }) : optionRenderer ? /* @__PURE__ */ jsxs("div", { className: styles$K.selectOptionContent, ref: visibleContentRef, children: [
21212
+ /* @__PURE__ */ jsx("span", { style: { visibility: "hidden", position: "absolute", width: 0, height: 0 }, children: /* @__PURE__ */ jsx(ItemText, { children: label2 }) }),
21213
+ optionRenderer(
21214
+ {
21215
+ label: label2,
21216
+ value,
21217
+ enabled: enabled2
21218
+ },
21219
+ selectedValue,
21220
+ false
21221
+ )
21222
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
21223
+ /* @__PURE__ */ jsx("div", { className: styles$K.selectOptionContent, ref: visibleContentRef, children: /* @__PURE__ */ jsx(ItemText, { children: label2 }) }),
21224
+ selectedValue === value && /* @__PURE__ */ jsx(ItemIndicator, { className: styles$K.selectItemIndicator, children: /* @__PURE__ */ jsx(Icon, { name: "checkmark" }) })
21225
+ ] })
21226
+ }
21227
+ );
21228
+ }
21229
+ );
21230
+ const SimpleSelect = forwardRef(
21231
+ function SimpleSelect2(props, forwardedRef) {
21232
+ const { root: root2 } = useTheme();
21233
+ const {
21234
+ enabled: enabled2,
21235
+ onBlur,
21236
+ autoFocus,
21237
+ onValueChange,
21238
+ validationStatus,
21239
+ value,
21240
+ height,
21241
+ style: style2,
21242
+ placeholder: placeholder2,
21243
+ id,
21244
+ triggerRef,
21245
+ onFocus,
21246
+ width,
21247
+ readOnly: readOnly2,
21248
+ emptyListNode,
21249
+ className,
21250
+ modal,
21251
+ groupBy: groupBy2,
21252
+ groupHeaderRenderer,
21253
+ ungroupedHeaderRenderer,
21254
+ clearable,
21255
+ onClear,
21256
+ options: options2,
21257
+ children,
21258
+ ...rest
21259
+ } = props;
21260
+ const composedRef = forwardRef ? composeRefs(triggerRef, forwardedRef) : triggerRef;
21261
+ const [open, setOpen] = useState(false);
21262
+ const stringValue = useMemo(() => {
21263
+ return value != void 0 ? String(value) : void 0;
21264
+ }, [value]);
21265
+ const handleValueChange = useCallback(
21266
+ (val) => {
21267
+ if (readOnly2) return;
21268
+ onValueChange(val);
21269
+ },
21270
+ [onValueChange, readOnly2]
21271
+ );
21272
+ const selectedOption = useMemo(() => {
21273
+ return options2.find((option) => `${option.value}` === `${value}`);
21274
+ }, [options2, value]);
21275
+ const groupedOptions = useMemo(() => {
21276
+ if (!groupBy2) return null;
21277
+ const groups = {};
21278
+ options2.forEach((option) => {
21279
+ const groupKey = option[groupBy2] || "Ungrouped";
21280
+ if (!groups[groupKey]) {
21281
+ groups[groupKey] = [];
21282
+ }
21283
+ groups[groupKey].push(option);
21284
+ });
21285
+ const sortedGroups = {};
21286
+ if (groups["Ungrouped"]) {
21287
+ sortedGroups["Ungrouped"] = groups["Ungrouped"];
21288
+ }
21289
+ Object.keys(groups).filter((key) => key !== "Ungrouped").sort().forEach((key) => {
21290
+ sortedGroups[key] = groups[key];
21291
+ });
21292
+ return sortedGroups;
21293
+ }, [groupBy2, options2]);
21294
+ return /* @__PURE__ */ jsxs(
21295
+ Root,
21296
+ {
21297
+ open,
21298
+ value: stringValue,
21299
+ onValueChange: handleValueChange,
21300
+ onOpenChange: () => enabled2 && !readOnly2 && setOpen(!open),
21301
+ children: [
21302
+ /* @__PURE__ */ jsxs(
21303
+ Trigger,
21304
+ {
21305
+ ...rest,
21306
+ id,
21307
+ ref: composedRef,
21308
+ "aria-haspopup": "listbox",
21309
+ style: style2,
21310
+ onFocus,
21311
+ onBlur,
21312
+ disabled: !enabled2,
21313
+ className: classnames(className, styles$K.selectTrigger, {
21314
+ [styles$K.error]: validationStatus === "error",
21315
+ [styles$K.warning]: validationStatus === "warning",
21316
+ [styles$K.valid]: validationStatus === "valid"
21317
+ }),
21318
+ onClick: (event) => {
21319
+ event.stopPropagation();
21320
+ },
21321
+ autoFocus,
21322
+ children: [
21323
+ /* @__PURE__ */ jsx(
21324
+ "div",
21325
+ {
21326
+ className: classnames(styles$K.selectValue, {
21327
+ [styles$K.placeholder]: value === void 0
21328
+ }),
21329
+ children: selectedOption ? selectedOption.label : readOnly2 ? "" : placeholder2
21330
+ }
21331
+ ),
21332
+ clearable && value !== void 0 && value !== "" && !readOnly2 && enabled2 && /* @__PURE__ */ jsx(Part, { partId: "clearButton", children: /* @__PURE__ */ jsx(
21333
+ "button",
21334
+ {
21335
+ type: "button",
21336
+ className: styles$K.clearButton,
21337
+ onPointerDown: (e) => {
21338
+ e.preventDefault();
21339
+ e.stopPropagation();
21340
+ onClear?.();
21341
+ },
21342
+ tabIndex: -1,
21343
+ children: /* @__PURE__ */ jsx(Icon, { name: "close" })
21344
+ }
21345
+ ) }),
21346
+ /* @__PURE__ */ jsx("span", { className: styles$K.action, children: /* @__PURE__ */ jsx(Icon, { name: "chevrondown" }) })
21347
+ ]
21348
+ }
21349
+ ),
21350
+ /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsxs(
21351
+ Content,
21352
+ {
21353
+ collisionPadding: 0,
21354
+ className: styles$K.selectDropdownContent,
21355
+ position: "popper",
21356
+ align: "start",
21357
+ style: { maxHeight: height, width },
21358
+ children: [
21359
+ /* @__PURE__ */ jsx(ScrollUpButton, { className: styles$K.selectScrollUpButton, children: /* @__PURE__ */ jsx(Icon, { name: "chevronup" }) }),
21360
+ /* @__PURE__ */ jsx(Part, { partId: "listWrapper", children: /* @__PURE__ */ jsx(Viewport, { className: styles$K.selectViewport, role: "listbox", children: groupBy2 && groupedOptions ? (
21361
+ // Render grouped options directly from options array
21362
+ /* @__PURE__ */ jsx(Fragment, { children: Object.keys(groupedOptions).length === 0 ? emptyListNode : Object.entries(groupedOptions).map(([groupName, groupOptions]) => /* @__PURE__ */ jsxs(Group, { children: [
21363
+ groupName === "Ungrouped" ? ungroupedHeaderRenderer && /* @__PURE__ */ jsx(Label, { className: styles$K.groupHeader, children: ungroupedHeaderRenderer() }) : /* @__PURE__ */ jsx(Label, { className: styles$K.groupHeader, children: groupHeaderRenderer ? groupHeaderRenderer(groupName) : groupName }),
21364
+ groupOptions.map((option) => /* @__PURE__ */ jsx(
21365
+ SelectOption,
21366
+ {
21367
+ value: option.value,
21368
+ label: option.label,
21369
+ enabled: option.enabled,
21370
+ className: styles$K.selectOption,
21371
+ children: option.children
21372
+ },
21373
+ option.value
21374
+ ))
21375
+ ] }, groupName)) })
21376
+ ) : (
21377
+ // Render flat options
21378
+ /* @__PURE__ */ jsxs(Fragment, { children: [
21379
+ /* @__PURE__ */ jsx(OptionTypeProvider, { Component: SelectOption, children }),
21380
+ options2.length === 0 && emptyListNode
21381
+ ] })
21382
+ ) }) }),
21383
+ /* @__PURE__ */ jsx(ScrollDownButton, { className: styles$K.selectScrollDownButton, children: /* @__PURE__ */ jsx(Icon, { name: "chevrondown" }) })
21384
+ ]
21385
+ }
21386
+ ) })
21387
+ ]
21388
+ }
21389
+ );
21390
+ }
21391
+ );
21207
21392
  const PART_LIST_WRAPPER$1 = "listWrapper";
21208
21393
  const PART_CLEAR_BUTTON$1 = "clearButton";
21209
21394
  const defaultProps$H = {
@@ -21220,24 +21405,20 @@ const defaultProps$H = {
21220
21405
  clearable: false
21221
21406
  };
21222
21407
  const SelectTriggerValue = ({
21223
- value,
21224
21408
  placeholder: placeholder2,
21225
21409
  readOnly: readOnly2,
21226
21410
  multiSelect,
21227
- options: options2,
21411
+ selectedOptions,
21228
21412
  valueRenderer,
21229
21413
  toggleOption
21230
21414
  }) => {
21231
- if (multiSelect) {
21232
- if (Array.isArray(value) && value.length > 0) {
21233
- return /* @__PURE__ */ jsx("div", { className: styles$K.badgeListContainer, children: /* @__PURE__ */ jsx("div", { className: styles$K.badgeList, children: value.map(
21234
- (v) => valueRenderer ? valueRenderer(
21235
- Array.from(options2).find((o) => o.value === `${v}`),
21236
- () => {
21237
- toggleOption(v);
21238
- }
21239
- ) : /* @__PURE__ */ jsxs("span", { className: styles$K.badge, children: [
21240
- Array.from(options2).find((o) => o.value === `${v}`)?.label,
21415
+ if (selectedOptions.length) {
21416
+ if (multiSelect) {
21417
+ return /* @__PURE__ */ jsx("div", { className: styles$K.badgeListContainer, children: /* @__PURE__ */ jsx("div", { className: styles$K.badgeList, children: selectedOptions.map(
21418
+ (option) => valueRenderer ? valueRenderer(option, () => {
21419
+ if (!readOnly2) toggleOption(option.value);
21420
+ }) : /* @__PURE__ */ jsxs("span", { className: styles$K.badge, children: [
21421
+ option.label,
21241
21422
  /* @__PURE__ */ jsx(
21242
21423
  Icon,
21243
21424
  {
@@ -21245,20 +21426,17 @@ const SelectTriggerValue = ({
21245
21426
  size: "sm",
21246
21427
  onClick: (event) => {
21247
21428
  event.stopPropagation();
21248
- toggleOption(v);
21429
+ if (!readOnly2) toggleOption(option.value);
21249
21430
  }
21250
21431
  }
21251
21432
  )
21252
- ] }, v)
21433
+ ] }, option.value)
21253
21434
  ) }) });
21435
+ } else {
21436
+ return /* @__PURE__ */ jsx("div", { className: styles$K.selectValue, children: selectedOptions[0]?.label });
21254
21437
  }
21255
- return /* @__PURE__ */ jsx("span", { placeholder: placeholder2, className: styles$K.placeholder, children: placeholder2 });
21256
21438
  }
21257
- if (value !== void 0 && value !== null && value !== "") {
21258
- const selectedOption = Array.from(options2).find((o) => o.value === value);
21259
- return /* @__PURE__ */ jsx("div", { className: styles$K.selectValue, children: selectedOption?.label });
21260
- }
21261
- return /* @__PURE__ */ jsx("div", { "aria-placeholder": placeholder2, className: styles$K.placeholder, children: readOnly2 ? "" : placeholder2 || "" });
21439
+ return /* @__PURE__ */ jsx("span", { placeholder: placeholder2, className: styles$K.placeholder, children: placeholder2 });
21262
21440
  };
21263
21441
  const SelectTriggerActions = ({
21264
21442
  value,
@@ -21282,7 +21460,14 @@ const SelectTriggerActions = ({
21282
21460
  children: /* @__PURE__ */ jsx(Icon, { name: "close" })
21283
21461
  }
21284
21462
  ) }),
21285
- showChevron && /* @__PURE__ */ jsx("span", { className: styles$K.action, children: /* @__PURE__ */ jsx(Icon, { name: "chevrondown" }) })
21463
+ showChevron && /* @__PURE__ */ jsx(
21464
+ "span",
21465
+ {
21466
+ className: classnames(styles$K.action, { [styles$K.disabled]: !enabled2 || readOnly2 }),
21467
+ "aria-disabled": !enabled2 || readOnly2,
21468
+ children: /* @__PURE__ */ jsx(Icon, { name: "chevrondown" })
21469
+ }
21470
+ )
21286
21471
  ] });
21287
21472
  };
21288
21473
  const Select = forwardRef(function Select2({
@@ -21315,6 +21500,10 @@ const Select = forwardRef(function Select2({
21315
21500
  // Progress state
21316
21501
  inProgress = defaultProps$H.inProgress,
21317
21502
  inProgressNotificationMessage = defaultProps$H.inProgressNotificationMessage,
21503
+ // Grouping
21504
+ groupBy: groupBy2,
21505
+ groupHeaderRenderer,
21506
+ ungroupedHeaderRenderer,
21318
21507
  // Internal
21319
21508
  updateState = noop$1,
21320
21509
  registerComponentApi,
@@ -21327,9 +21516,17 @@ const Select = forwardRef(function Select2({
21327
21516
  const [width, setWidth] = useState(0);
21328
21517
  const observer = useRef();
21329
21518
  const { root: root2 } = useTheme();
21330
- const [options2, setOptions] = useState(/* @__PURE__ */ new Set());
21519
+ const [options2, setOptions] = useState([]);
21331
21520
  const [searchTerm, setSearchTerm] = useState("");
21332
21521
  const [selectedIndex, setSelectedIndex] = useState(-1);
21522
+ const selectedOptions = useMemo(() => {
21523
+ if (!multiSelect) {
21524
+ return options2.filter((option) => `${option.value}` === `${value}`);
21525
+ } else {
21526
+ return Array.isArray(value) ? options2.filter((option) => value.map((v) => String(v)).includes(String(option.value))) : [];
21527
+ }
21528
+ }, [multiSelect, options2, value]);
21529
+ const currentValue = value !== void 0 ? value : initialValue;
21333
21530
  const filteredOptions = useMemo(() => {
21334
21531
  if (!searchTerm || searchTerm.trim() === "") {
21335
21532
  return Array.from(options2);
@@ -21340,6 +21537,34 @@ const Select = forwardRef(function Select2({
21340
21537
  return extendedValue.toLowerCase().includes(searchLower);
21341
21538
  });
21342
21539
  }, [options2, searchTerm]);
21540
+ const groupedOptions = useMemo(() => {
21541
+ if (!groupBy2) return null;
21542
+ const optionsToGroup = searchTerm ? filteredOptions : Array.from(options2);
21543
+ const groups = {};
21544
+ optionsToGroup.forEach((option) => {
21545
+ const groupKey = option[groupBy2] || "Ungrouped";
21546
+ if (!groups[groupKey]) {
21547
+ groups[groupKey] = [];
21548
+ }
21549
+ groups[groupKey].push(option);
21550
+ });
21551
+ const sortedGroups = {};
21552
+ if (groups["Ungrouped"]) {
21553
+ sortedGroups["Ungrouped"] = groups["Ungrouped"];
21554
+ }
21555
+ Object.keys(groups).filter((key) => key !== "Ungrouped").sort().forEach((key) => {
21556
+ sortedGroups[key] = groups[key];
21557
+ });
21558
+ return sortedGroups;
21559
+ }, [groupBy2, options2, filteredOptions, searchTerm]);
21560
+ const flattenedGroupedOptions = useMemo(() => {
21561
+ if (!groupedOptions) return null;
21562
+ const flattened = [];
21563
+ Object.entries(groupedOptions).forEach(([_, groupOptions]) => {
21564
+ flattened.push(...groupOptions);
21565
+ });
21566
+ return flattened;
21567
+ }, [groupedOptions]);
21343
21568
  useEffect(() => {
21344
21569
  if (!open) {
21345
21570
  setSelectedIndex(-1);
@@ -21353,25 +21578,30 @@ const Select = forwardRef(function Select2({
21353
21578
  }, [initialValue, updateState]);
21354
21579
  useEffect(() => {
21355
21580
  const current = referenceElement;
21356
- observer.current?.disconnect();
21581
+ const currentObserver = observer.current;
21582
+ currentObserver?.disconnect();
21357
21583
  if (current) {
21358
- observer.current = new ResizeObserver(() => setWidth(current.clientWidth));
21359
- observer.current.observe(current);
21584
+ const newObserver = new ResizeObserver(() => setWidth(current.clientWidth));
21585
+ observer.current = newObserver;
21586
+ newObserver.observe(current);
21587
+ return () => {
21588
+ newObserver.disconnect();
21589
+ };
21360
21590
  }
21361
21591
  return () => {
21362
- observer.current?.disconnect();
21592
+ currentObserver?.disconnect();
21363
21593
  };
21364
21594
  }, [referenceElement]);
21365
21595
  const toggleOption = useCallback(
21366
21596
  (selectedValue) => {
21367
- const newSelectedValue = multiSelect ? Array.isArray(value) ? value.map((v) => String(v)).includes(String(selectedValue)) ? value.filter((v) => String(v) !== String(selectedValue)) : [...value, selectedValue] : [selectedValue] : String(selectedValue) === String(value) ? null : selectedValue;
21597
+ const newSelectedValue = multiSelect ? Array.isArray(currentValue) ? currentValue.map((v) => String(v)).includes(String(selectedValue)) ? currentValue.filter((v) => String(v) !== String(selectedValue)) : [...currentValue, selectedValue] : [selectedValue] : String(selectedValue) === String(currentValue) ? null : selectedValue;
21368
21598
  updateState({ value: newSelectedValue });
21369
21599
  onDidChange(newSelectedValue);
21370
21600
  if (!multiSelect) {
21371
21601
  setOpen(false);
21372
21602
  }
21373
21603
  },
21374
- [multiSelect, value, updateState, onDidChange]
21604
+ [multiSelect, currentValue, updateState, onDidChange]
21375
21605
  );
21376
21606
  const clearValue = useCallback(() => {
21377
21607
  const newValue = multiSelect ? [] : "";
@@ -21380,45 +21610,48 @@ const Select = forwardRef(function Select2({
21380
21610
  }, [multiSelect, updateState, onDidChange]);
21381
21611
  const findNextEnabledIndex = useCallback(
21382
21612
  (currentIndex) => {
21383
- if (filteredOptions.length === 0) return -1;
21384
- for (let i = currentIndex + 1; i < filteredOptions.length; i++) {
21385
- const item2 = filteredOptions[i];
21613
+ const optionsList = flattenedGroupedOptions ? flattenedGroupedOptions : filteredOptions;
21614
+ if (optionsList.length === 0) return -1;
21615
+ for (let i = currentIndex + 1; i < optionsList.length; i++) {
21616
+ const item2 = optionsList[i];
21386
21617
  if (item2 && item2.enabled !== false) {
21387
21618
  return i;
21388
21619
  }
21389
21620
  }
21390
21621
  for (let i = 0; i <= currentIndex; i++) {
21391
- const item2 = filteredOptions[i];
21622
+ const item2 = optionsList[i];
21392
21623
  if (item2 && item2.enabled !== false) {
21393
21624
  return i;
21394
21625
  }
21395
21626
  }
21396
21627
  return -1;
21397
21628
  },
21398
- [filteredOptions]
21629
+ [filteredOptions, flattenedGroupedOptions]
21399
21630
  );
21400
21631
  const findPreviousEnabledIndex = useCallback(
21401
21632
  (currentIndex) => {
21402
- if (filteredOptions.length === 0) return -1;
21633
+ const optionsList = flattenedGroupedOptions ? flattenedGroupedOptions : filteredOptions;
21634
+ if (optionsList.length === 0) return -1;
21403
21635
  for (let i = currentIndex - 1; i >= 0; i--) {
21404
- const item2 = filteredOptions[i];
21636
+ const item2 = optionsList[i];
21405
21637
  if (item2 && item2.enabled !== false) {
21406
21638
  return i;
21407
21639
  }
21408
21640
  }
21409
- for (let i = filteredOptions.length - 1; i >= currentIndex; i--) {
21410
- const item2 = filteredOptions[i];
21641
+ for (let i = optionsList.length - 1; i >= currentIndex; i--) {
21642
+ const item2 = optionsList[i];
21411
21643
  if (item2 && item2.enabled !== false) {
21412
21644
  return i;
21413
21645
  }
21414
21646
  }
21415
21647
  return -1;
21416
21648
  },
21417
- [filteredOptions]
21649
+ [filteredOptions, flattenedGroupedOptions]
21418
21650
  );
21419
21651
  const handleKeyDown = useCallback(
21420
21652
  (event) => {
21421
21653
  if (!open) return;
21654
+ const optionsList = flattenedGroupedOptions ? flattenedGroupedOptions : filteredOptions;
21422
21655
  switch (event.key) {
21423
21656
  case "ArrowDown":
21424
21657
  event.preventDefault();
@@ -21436,8 +21669,8 @@ const Select = forwardRef(function Select2({
21436
21669
  break;
21437
21670
  case "Enter":
21438
21671
  event.preventDefault();
21439
- if (selectedIndex >= 0 && selectedIndex < filteredOptions.length) {
21440
- const selectedItem = filteredOptions[selectedIndex];
21672
+ if (selectedIndex >= 0 && selectedIndex < optionsList.length) {
21673
+ const selectedItem = optionsList[selectedIndex];
21441
21674
  if (selectedItem && selectedItem.enabled !== false) {
21442
21675
  toggleOption(selectedItem.value);
21443
21676
  if (!multiSelect) {
@@ -21456,6 +21689,7 @@ const Select = forwardRef(function Select2({
21456
21689
  open,
21457
21690
  selectedIndex,
21458
21691
  filteredOptions,
21692
+ flattenedGroupedOptions,
21459
21693
  toggleOption,
21460
21694
  multiSelect,
21461
21695
  findNextEnabledIndex,
@@ -21491,248 +21725,225 @@ const Select = forwardRef(function Select2({
21491
21725
  [emptyListTemplate]
21492
21726
  );
21493
21727
  const onOptionAdd = useCallback((option) => {
21494
- setOptions((prev) => {
21495
- const exists = Array.from(prev).some((opt) => opt.value === option.value);
21496
- if (exists) {
21497
- return prev;
21498
- }
21499
- const newSet = new Set(prev);
21500
- newSet.add(option);
21501
- return newSet;
21502
- });
21728
+ setOptions((prev) => [...prev, option]);
21503
21729
  }, []);
21504
21730
  const onOptionRemove = useCallback((option) => {
21505
- setOptions((prev) => {
21506
- const optionsSet = new Set(prev);
21507
- optionsSet.delete(option);
21508
- return optionsSet;
21509
- });
21731
+ setOptions((prev) => prev.filter((opt) => opt.value !== option.value));
21510
21732
  }, []);
21511
- const optionContextValue = useMemo(
21512
- () => ({
21513
- onOptionAdd,
21514
- onOptionRemove
21515
- }),
21516
- [onOptionAdd, onOptionRemove]
21517
- );
21518
21733
  const selectContextValue = useMemo(
21519
21734
  () => ({
21520
21735
  multiSelect,
21521
21736
  readOnly: readOnly2,
21522
- value,
21737
+ value: currentValue,
21523
21738
  onChange: toggleOption,
21524
21739
  setOpen,
21525
21740
  setSelectedIndex,
21526
- options: options2,
21527
21741
  highlightedValue: selectedIndex >= 0 && selectedIndex < filteredOptions.length && filteredOptions[selectedIndex] ? filteredOptions[selectedIndex].value : void 0,
21528
21742
  optionRenderer
21529
21743
  }),
21530
21744
  [
21531
21745
  multiSelect,
21532
21746
  readOnly2,
21533
- value,
21747
+ currentValue,
21534
21748
  toggleOption,
21535
- options2,
21536
21749
  selectedIndex,
21537
21750
  filteredOptions,
21538
21751
  optionRenderer
21539
21752
  ]
21540
21753
  );
21754
+ const optionContextValue = useMemo(
21755
+ () => ({
21756
+ onOptionAdd,
21757
+ onOptionRemove
21758
+ }),
21759
+ [onOptionAdd, onOptionRemove]
21760
+ );
21761
+ const useSimpleSelect = !searchable && !multiSelect;
21541
21762
  return /* @__PURE__ */ jsx(SelectContext.Provider, { value: selectContextValue, children: /* @__PURE__ */ jsxs(OptionContext.Provider, { value: optionContextValue, children: [
21542
- /* @__PURE__ */ jsx(OptionTypeProvider, { Component: VisibleSelectOption, children: /* @__PURE__ */ jsxs(
21543
- Popover,
21544
- {
21545
- open,
21546
- onOpenChange: (isOpen) => {
21547
- if (!enabled2) return;
21548
- setOpen(isOpen);
21549
- setSelectedIndex(-1);
21550
- },
21551
- modal,
21552
- children: [
21553
- /* @__PURE__ */ jsx(Part, { partId: PART_LIST_WRAPPER$1, children: /* @__PURE__ */ jsxs(
21554
- PopoverTrigger,
21555
- {
21556
- ...rest,
21557
- ref: composeRefs(setReferenceElement, forwardedRef),
21558
- id,
21559
- "aria-haspopup": "listbox",
21560
- style: style2,
21561
- onFocus,
21562
- onBlur,
21563
- disabled: !enabled2,
21564
- "aria-expanded": open,
21565
- className: classnames(className, styles$K.selectTrigger, styles$K[validationStatus], {
21566
- [styles$K.disabled]: !enabled2,
21567
- [styles$K.multi]: multiSelect
21568
- }),
21569
- role: "combobox",
21570
- onClick: (event) => {
21571
- if (!enabled2) return;
21572
- event.stopPropagation();
21573
- setOpen((prev) => !prev);
21574
- },
21575
- onKeyDown: (event) => {
21576
- if (!enabled2 || readOnly2) return;
21577
- if (!open && (event.key === "ArrowDown" || event.key === "ArrowUp" || event.key === " " || event.key === "Enter")) {
21578
- event.preventDefault();
21579
- setOpen(true);
21580
- if (filteredOptions.length > 0) {
21581
- const firstEnabledIndex = findNextEnabledIndex(-1);
21582
- setSelectedIndex(firstEnabledIndex !== -1 ? firstEnabledIndex : 0);
21583
- }
21584
- return;
21585
- }
21586
- if (open) {
21587
- handleKeyDown(event);
21588
- }
21589
- },
21590
- autoFocus,
21591
- children: [
21592
- /* @__PURE__ */ jsx(
21593
- SelectTriggerValue,
21594
- {
21595
- value,
21596
- placeholder: placeholder2,
21597
- readOnly: readOnly2,
21598
- multiSelect,
21599
- options: options2,
21600
- valueRenderer,
21601
- toggleOption
21763
+ useSimpleSelect ? (
21764
+ // SimpleSelect mode (Radix UI Select)
21765
+ /* @__PURE__ */ jsx(
21766
+ SimpleSelect,
21767
+ {
21768
+ value: currentValue,
21769
+ onValueChange: (val) => toggleOption(val),
21770
+ id,
21771
+ options: options2,
21772
+ style: style2,
21773
+ className,
21774
+ onFocus,
21775
+ onBlur,
21776
+ enabled: enabled2,
21777
+ validationStatus,
21778
+ triggerRef: setReferenceElement,
21779
+ autoFocus,
21780
+ placeholder: placeholder2,
21781
+ height: dropdownHeight,
21782
+ width,
21783
+ readOnly: readOnly2,
21784
+ emptyListNode,
21785
+ modal,
21786
+ groupBy: groupBy2,
21787
+ groupHeaderRenderer,
21788
+ ungroupedHeaderRenderer,
21789
+ clearable,
21790
+ onClear: clearValue,
21791
+ ...rest,
21792
+ children
21793
+ }
21794
+ )
21795
+ ) : (
21796
+ // Popover mode (searchable or multi-select)
21797
+ /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
21798
+ Popover,
21799
+ {
21800
+ open,
21801
+ onOpenChange: (isOpen) => {
21802
+ if (!enabled2 || readOnly2) return;
21803
+ setOpen(isOpen);
21804
+ },
21805
+ modal,
21806
+ children: [
21807
+ /* @__PURE__ */ jsx(Part, { partId: PART_LIST_WRAPPER$1, children: /* @__PURE__ */ jsxs(
21808
+ PopoverTrigger,
21809
+ {
21810
+ ...rest,
21811
+ ref: composeRefs(setReferenceElement, forwardedRef),
21812
+ id,
21813
+ "aria-haspopup": "listbox",
21814
+ style: style2,
21815
+ onFocus,
21816
+ onBlur,
21817
+ disabled: !enabled2,
21818
+ "aria-expanded": open,
21819
+ className: classnames(className, styles$K.selectTrigger, styles$K[validationStatus], {
21820
+ [styles$K.disabled]: !enabled2,
21821
+ [styles$K.multi]: multiSelect
21822
+ }),
21823
+ role: "combobox",
21824
+ onClick: (event) => {
21825
+ if (!enabled2 || readOnly2) return;
21826
+ event.stopPropagation();
21827
+ setOpen((prev) => !prev);
21828
+ },
21829
+ onKeyDown: (event) => {
21830
+ if (!enabled2 || readOnly2) return;
21831
+ if (!open && (event.key === "ArrowDown" || event.key === "ArrowUp" || event.key === " " || event.key === "Enter")) {
21832
+ event.preventDefault();
21833
+ setOpen(true);
21834
+ if (filteredOptions.length > 0) {
21835
+ const firstEnabledIndex = findNextEnabledIndex(-1);
21836
+ setSelectedIndex(firstEnabledIndex !== -1 ? firstEnabledIndex : 0);
21837
+ }
21838
+ return;
21602
21839
  }
21603
- ),
21604
- /* @__PURE__ */ jsx(
21605
- SelectTriggerActions,
21606
- {
21607
- value,
21608
- multiSelect,
21609
- enabled: enabled2,
21610
- readOnly: readOnly2,
21611
- clearable,
21612
- clearValue
21840
+ if (open) {
21841
+ handleKeyDown(event);
21613
21842
  }
21614
- )
21615
- ]
21616
- }
21617
- ) }),
21618
- open && /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
21619
- PopoverContent,
21620
- {
21621
- style: { minWidth: width, height: dropdownHeight },
21622
- className: classnames(styles$K.selectContent, styles$K[validationStatus]),
21623
- onKeyDown: handleKeyDown,
21624
- children: /* @__PURE__ */ jsxs("div", { className: styles$K.command, children: [
21625
- searchable ? /* @__PURE__ */ jsxs("div", { className: styles$K.commandInputContainer, children: [
21626
- /* @__PURE__ */ jsx(Icon, { name: "search" }),
21843
+ },
21844
+ autoFocus,
21845
+ children: [
21627
21846
  /* @__PURE__ */ jsx(
21628
- "input",
21847
+ SelectTriggerValue,
21629
21848
  {
21630
- role: "searchbox",
21631
- className: classnames(styles$K.commandInput),
21632
- placeholder: "Search...",
21633
- value: searchTerm,
21634
- onChange: (e) => setSearchTerm(e.target.value)
21849
+ readOnly: readOnly2,
21850
+ placeholder: placeholder2,
21851
+ multiSelect,
21852
+ selectedOptions,
21853
+ valueRenderer,
21854
+ toggleOption
21635
21855
  }
21636
- )
21637
- ] }) : /* @__PURE__ */ jsx("button", { "aria-hidden": "true", className: styles$K.srOnly }),
21638
- /* @__PURE__ */ jsx("div", { role: "listbox", className: styles$K.commandList, children: inProgress ? /* @__PURE__ */ jsx("div", { className: styles$K.loading, children: inProgressNotificationMessage }) : searchable && searchTerm ? (
21639
- // When searching, show only filtered options
21640
- filteredOptions.length === 0 ? /* @__PURE__ */ jsx("div", { children: emptyListNode }) : filteredOptions.map(({ value: value2, label: label2, enabled: enabled22, keywords }, index) => /* @__PURE__ */ jsx(
21641
- SelectOptionItem,
21856
+ ),
21857
+ /* @__PURE__ */ jsx(
21858
+ SelectTriggerActions,
21642
21859
  {
21860
+ value: currentValue,
21861
+ multiSelect,
21862
+ enabled: enabled2,
21643
21863
  readOnly: readOnly2,
21644
- value: value2,
21645
- label: label2,
21646
- enabled: enabled22,
21647
- keywords,
21648
- isHighlighted: selectedIndex === index,
21649
- itemIndex: index
21650
- },
21651
- value2
21652
- ))
21653
- ) : (
21654
- // When not searching, show all children (includes Options and other components like Button)
21655
- /* @__PURE__ */ jsxs(Fragment, { children: [
21656
- children,
21657
- options2.size === 0 && /* @__PURE__ */ jsx("div", { children: emptyListNode })
21864
+ clearable,
21865
+ clearValue
21866
+ }
21867
+ )
21868
+ ]
21869
+ }
21870
+ ) }),
21871
+ /* @__PURE__ */ jsx(Portal$1, { container: root2, children: /* @__PURE__ */ jsx(
21872
+ PopoverContent,
21873
+ {
21874
+ style: { minWidth: width, height: dropdownHeight },
21875
+ className: classnames(styles$K.selectContent, styles$K[validationStatus]),
21876
+ onKeyDown: handleKeyDown,
21877
+ children: /* @__PURE__ */ jsxs("div", { className: styles$K.command, children: [
21878
+ searchable ? /* @__PURE__ */ jsxs("div", { className: styles$K.commandInputContainer, children: [
21879
+ /* @__PURE__ */ jsx(Icon, { name: "search" }),
21880
+ /* @__PURE__ */ jsx(
21881
+ "input",
21882
+ {
21883
+ role: "searchbox",
21884
+ className: classnames(styles$K.commandInput),
21885
+ placeholder: "Search...",
21886
+ value: searchTerm,
21887
+ onChange: (e) => setSearchTerm(e.target.value)
21888
+ }
21889
+ )
21890
+ ] }) : /* @__PURE__ */ jsx("button", { "aria-hidden": "true", className: styles$K.srOnly }),
21891
+ /* @__PURE__ */ jsxs("div", { role: "listbox", className: styles$K.commandList, children: [
21892
+ inProgress ? /* @__PURE__ */ jsx("div", { className: styles$K.loading, children: inProgressNotificationMessage }) : (
21893
+ // When searching, show filtered options (with or without grouping)
21894
+ groupBy2 && groupedOptions ? (
21895
+ // Render grouped filtered options
21896
+ Object.entries(groupedOptions).map(([groupName, groupOptions]) => /* @__PURE__ */ jsxs("div", { children: [
21897
+ groupName === "Ungrouped" ? ungroupedHeaderRenderer && /* @__PURE__ */ jsx("div", { className: styles$K.groupHeader, children: ungroupedHeaderRenderer() }) : groupHeaderRenderer ? /* @__PURE__ */ jsx("div", { className: styles$K.groupHeader, children: groupHeaderRenderer(groupName) }) : /* @__PURE__ */ jsx("div", { className: styles$K.groupHeader, children: groupName }),
21898
+ groupOptions.map(({ value: value2, label: label2, enabled: enabled22, keywords }, groupIndex) => {
21899
+ const optionsList = flattenedGroupedOptions || filteredOptions;
21900
+ const globalIndex = optionsList.findIndex(
21901
+ (opt) => opt.value === value2
21902
+ );
21903
+ return /* @__PURE__ */ jsx(
21904
+ SelectOptionItem,
21905
+ {
21906
+ readOnly: readOnly2,
21907
+ value: value2,
21908
+ label: label2,
21909
+ enabled: enabled22,
21910
+ keywords,
21911
+ isHighlighted: selectedIndex === globalIndex,
21912
+ itemIndex: globalIndex
21913
+ },
21914
+ value2
21915
+ );
21916
+ })
21917
+ ] }, groupName))
21918
+ ) : (
21919
+ // Render flat filtered options
21920
+ filteredOptions.map(({ value: value2, label: label2, enabled: enabled22, keywords }, index) => /* @__PURE__ */ jsx(
21921
+ SelectOptionItem,
21922
+ {
21923
+ readOnly: readOnly2,
21924
+ value: value2,
21925
+ label: label2,
21926
+ enabled: enabled22,
21927
+ keywords,
21928
+ isHighlighted: selectedIndex === index,
21929
+ itemIndex: index
21930
+ },
21931
+ value2
21932
+ ))
21933
+ )
21934
+ ),
21935
+ filteredOptions.length === 0 && emptyListNode
21658
21936
  ] })
21659
- ) })
21660
- ] })
21661
- }
21662
- ) })
21663
- ]
21664
- }
21665
- ) }),
21666
- !open && /* @__PURE__ */ jsx("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx(OptionTypeProvider, { Component: HiddenOption, children }) })
21937
+ ] })
21938
+ }
21939
+ ) })
21940
+ ]
21941
+ }
21942
+ ) })
21943
+ ),
21944
+ /* @__PURE__ */ jsx("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx(OptionTypeProvider, { Component: HiddenOption, children }) })
21667
21945
  ] }) });
21668
21946
  });
21669
- function VisibleSelectOption(option) {
21670
- const { value, label: label2, enabled: enabled2 = true, children } = option;
21671
- const { onOptionAdd } = useOption();
21672
- const {
21673
- value: selectedValue,
21674
- onChange,
21675
- multiSelect,
21676
- readOnly: readOnly2,
21677
- setOpen,
21678
- highlightedValue,
21679
- optionRenderer
21680
- } = useSelect();
21681
- const optionRef = useRef(null);
21682
- const opt = useMemo(() => {
21683
- return {
21684
- ...option,
21685
- label: label2 ?? "",
21686
- keywords: option.keywords || [label2 ?? ""]
21687
- };
21688
- }, [option, label2]);
21689
- useEffect(() => {
21690
- onOptionAdd(opt);
21691
- }, [opt, onOptionAdd]);
21692
- const selected2 = useMemo(() => {
21693
- return Array.isArray(selectedValue) && multiSelect ? selectedValue.map((v) => String(v)).includes(value) : String(selectedValue) === String(value);
21694
- }, [selectedValue, value, multiSelect]);
21695
- const isHighlighted = useMemo(() => {
21696
- return highlightedValue !== void 0 && String(highlightedValue) === String(value);
21697
- }, [highlightedValue, value]);
21698
- useEffect(() => {
21699
- if (isHighlighted && optionRef.current) {
21700
- optionRef.current.scrollIntoView({ block: "nearest", behavior: "smooth" });
21701
- }
21702
- }, [isHighlighted]);
21703
- const handleClick = () => {
21704
- if (readOnly2) {
21705
- setOpen(false);
21706
- return;
21707
- }
21708
- if (enabled2) {
21709
- onChange(value);
21710
- }
21711
- };
21712
- return /* @__PURE__ */ jsx(
21713
- "div",
21714
- {
21715
- ref: optionRef,
21716
- role: "option",
21717
- "aria-disabled": !enabled2,
21718
- "aria-selected": selected2,
21719
- className: classnames(styles$K.multiSelectOption, {
21720
- [styles$K.disabledOption]: !enabled2,
21721
- [styles$K.highlighted]: isHighlighted
21722
- }),
21723
- onMouseDown: (e) => {
21724
- e.preventDefault();
21725
- e.stopPropagation();
21726
- },
21727
- onClick: handleClick,
21728
- "data-state": selected2 ? "checked" : void 0,
21729
- children: /* @__PURE__ */ jsx("div", { className: styles$K.multiSelectOptionContent, children: optionRenderer ? optionRenderer({ label: label2, value, enabled: enabled2 }, selectedValue, false) : /* @__PURE__ */ jsxs(Fragment, { children: [
21730
- children || label2,
21731
- selected2 && /* @__PURE__ */ jsx(Icon, { name: "checkmark" })
21732
- ] }) })
21733
- }
21734
- );
21735
- }
21736
21947
  function SelectOptionItem(option) {
21737
21948
  const {
21738
21949
  value,
@@ -21798,19 +22009,19 @@ function SelectOptionItem(option) {
21798
22009
  }
21799
22010
  );
21800
22011
  }
21801
- const themeVars$q = `'{"gap-RadioGroupOption": "var(--xmlui-gap-RadioGroupOption)", "borderWidth-RadioGroupOption": "var(--xmlui-borderWidth-RadioGroupOption)", "borderWidth-RadioGroupOption-validation": "var(--xmlui-borderWidth-RadioGroupOption-validation)", "Input:borderColor-RadioGroupOption--default": "var(--xmlui-borderColor-RadioGroupOption--default)", "Input:borderColor-checked-RadioGroupOption": "var(--xmlui-borderColor-checked-RadioGroupOption)", "Input:borderColor-RadioGroupOption--default--hover": "var(--xmlui-borderColor-RadioGroupOption--default--hover)", "Input:borderColor-RadioGroupOption--default--active": "var(--xmlui-borderColor-RadioGroupOption--default--active)", "Input:borderColor-RadioGroupOption--disabled": "var(--xmlui-borderColor-RadioGroupOption--disabled)", "Input:borderColor-RadioGroupOption--error": "var(--xmlui-borderColor-RadioGroupOption--error)", "Input:borderColor-RadioGroupOption--warning": "var(--xmlui-borderColor-RadioGroupOption--warning)", "Input:borderColor-RadioGroupOption--success": "var(--xmlui-borderColor-RadioGroupOption--success)", "Input:backgroundColor-RadioGroupOption--default": "var(--xmlui-backgroundColor-RadioGroupOption--default)", "Input:backgroundColor-checked-RadioGroupOption": "var(--xmlui-backgroundColor-checked-RadioGroupOption)", "Input:backgroundColor-checked-RadioGroupOption--disabled": "var(--xmlui-backgroundColor-checked-RadioGroupOption--disabled)", "Input:color-RadioGroupOption--disabled": "var(--xmlui-color-RadioGroupOption--disabled)", "Input:fontSize-RadioGroupOption": "var(--xmlui-fontSize-RadioGroupOption)", "Input:fontWeight-RadioGroupOption": "var(--xmlui-fontWeight-RadioGroupOption)", "Input:textColor-RadioGroupOption--default": "var(--xmlui-textColor-RadioGroupOption--default)", "Input:textColor-RadioGroupOption--error": "var(--xmlui-textColor-RadioGroupOption--error)", "Input:textColor-RadioGroupOption--warning": "var(--xmlui-textColor-RadioGroupOption--warning)", "Input:textColor-RadioGroupOption--success": "var(--xmlui-textColor-RadioGroupOption--success)", "Input:outlineWidth-RadioGroupOption--focus": "var(--xmlui-outlineWidth-RadioGroupOption--focus)", "Input:outlineColor-RadioGroupOption--focus": "var(--xmlui-outlineColor-RadioGroupOption--focus)", "Input:outlineStyle-RadioGroupOption--focus": "var(--xmlui-outlineStyle-RadioGroupOption--focus)", "Input:outlineOffset-RadioGroupOption--focus": "var(--xmlui-outlineOffset-RadioGroupOption--focus)"}'`;
21802
- const radioGroupContainer = "_radioGroupContainer_drdje_14";
21803
- const radioOptionContainer = "_radioOptionContainer_drdje_20";
21804
- const radioOption = "_radioOption_drdje_20";
21805
- const checked = "_checked_drdje_54";
21806
- const error$8 = "_error_drdje_54";
21807
- const warning$9 = "_warning_drdje_54";
21808
- const valid$8 = "_valid_drdje_54";
21809
- const indicator$3 = "_indicator_drdje_69";
21810
- const disabled$6 = "_disabled_drdje_77";
21811
- const itemContainer$1 = "_itemContainer_drdje_80";
21812
- const optionLabel = "_optionLabel_drdje_87";
21813
- const label = "_label_drdje_91";
22012
+ const themeVars$q = `'{"gap-RadioGroupOption": "var(--xmlui-gap-RadioGroupOption)", "borderWidth-RadioGroupOption": "var(--xmlui-borderWidth-RadioGroupOption)", "borderWidth-RadioGroupOption-validation": "var(--xmlui-borderWidth-RadioGroupOption-validation)", "Input:borderColor-RadioGroupOption--default": "var(--xmlui-borderColor-RadioGroupOption--default)", "Input:borderColor-checked-RadioGroupOption": "var(--xmlui-borderColor-checked-RadioGroupOption)", "Input:borderColor-RadioGroupOption--default--hover": "var(--xmlui-borderColor-RadioGroupOption--default--hover)", "Input:borderColor-RadioGroupOption--default--active": "var(--xmlui-borderColor-RadioGroupOption--default--active)", "Input:borderColor-RadioGroupOption--disabled": "var(--xmlui-borderColor-RadioGroupOption--disabled)", "Input:borderColor-RadioGroupOption--error": "var(--xmlui-borderColor-RadioGroupOption--error)", "Input:borderColor-RadioGroupOption--warning": "var(--xmlui-borderColor-RadioGroupOption--warning)", "Input:borderColor-RadioGroupOption--success": "var(--xmlui-borderColor-RadioGroupOption--success)", "Input:backgroundColor-RadioGroupOption--default": "var(--xmlui-backgroundColor-RadioGroupOption--default)", "Input:backgroundColor-checked-RadioGroupOption": "var(--xmlui-backgroundColor-checked-RadioGroupOption)", "Input:backgroundColor-checked-RadioGroupOption--disabled": "var(--xmlui-backgroundColor-checked-RadioGroupOption--disabled)", "Input:textColor-RadioGroupOption--disabled": "var(--xmlui-textColor-RadioGroupOption--disabled)", "Input:fontSize-RadioGroupOption": "var(--xmlui-fontSize-RadioGroupOption)", "Input:fontWeight-RadioGroupOption": "var(--xmlui-fontWeight-RadioGroupOption)", "Input:textColor-RadioGroupOption--default": "var(--xmlui-textColor-RadioGroupOption--default)", "Input:textColor-RadioGroupOption--error": "var(--xmlui-textColor-RadioGroupOption--error)", "Input:textColor-RadioGroupOption--warning": "var(--xmlui-textColor-RadioGroupOption--warning)", "Input:textColor-RadioGroupOption--success": "var(--xmlui-textColor-RadioGroupOption--success)", "Input:outlineWidth-RadioGroupOption--focus": "var(--xmlui-outlineWidth-RadioGroupOption--focus)", "Input:outlineColor-RadioGroupOption--focus": "var(--xmlui-outlineColor-RadioGroupOption--focus)", "Input:outlineStyle-RadioGroupOption--focus": "var(--xmlui-outlineStyle-RadioGroupOption--focus)", "Input:outlineOffset-RadioGroupOption--focus": "var(--xmlui-outlineOffset-RadioGroupOption--focus)"}'`;
22013
+ const radioGroupContainer = "_radioGroupContainer_1iwha_14";
22014
+ const radioOptionContainer = "_radioOptionContainer_1iwha_20";
22015
+ const radioOption = "_radioOption_1iwha_20";
22016
+ const checked = "_checked_1iwha_54";
22017
+ const error$8 = "_error_1iwha_54";
22018
+ const warning$9 = "_warning_1iwha_54";
22019
+ const valid$8 = "_valid_1iwha_54";
22020
+ const indicator$3 = "_indicator_1iwha_69";
22021
+ const disabled$6 = "_disabled_1iwha_77";
22022
+ const itemContainer$1 = "_itemContainer_1iwha_80";
22023
+ const optionLabel = "_optionLabel_1iwha_87";
22024
+ const label = "_label_1iwha_91";
21814
22025
  const styles$J = {
21815
22026
  themeVars: themeVars$q,
21816
22027
  radioGroupContainer,
@@ -21933,7 +22144,9 @@ const RadioGroup = forwardRef(function RadioGroup2({
21933
22144
  }, [autofocus]);
21934
22145
  useCallback(() => {
21935
22146
  if (radioGroupRef.current) {
21936
- const selectedRadio = radioGroupRef.current.querySelector('[role="radio"][aria-checked="true"]');
22147
+ const selectedRadio = radioGroupRef.current.querySelector(
22148
+ '[role="radio"][aria-checked="true"]'
22149
+ );
21937
22150
  if (selectedRadio) {
21938
22151
  selectedRadio.focus();
21939
22152
  return;
@@ -22029,8 +22242,20 @@ const RadioGroupOption = ({
22029
22242
  }),
22030
22243
  [enabled2, radioGroupContext, value]
22031
22244
  );
22032
- const item2 = useMemo(
22033
- () => /* @__PURE__ */ jsxs(Fragment, { children: [
22245
+ const item2 = useMemo(() => {
22246
+ if (optionRenderer) {
22247
+ return /* @__PURE__ */ jsx(
22248
+ UnwrappedRadioItem,
22249
+ {
22250
+ id,
22251
+ value,
22252
+ checked: value === radioGroupContext.value,
22253
+ disabled: !enabled2,
22254
+ statusStyles
22255
+ }
22256
+ );
22257
+ }
22258
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
22034
22259
  /* @__PURE__ */ jsx(
22035
22260
  UnwrappedRadioItem,
22036
22261
  {
@@ -22042,16 +22267,15 @@ const RadioGroupOption = ({
22042
22267
  }
22043
22268
  ),
22044
22269
  /* @__PURE__ */ jsx("label", { htmlFor: id, className: classnames(styles$J.label, statusStyles), children: label2 ?? value })
22045
- ] }),
22046
- [enabled2, id, label2, statusStyles, value, radioGroupContext]
22047
- );
22270
+ ] });
22271
+ }, [enabled2, id, label2, optionRenderer, statusStyles, value, radioGroupContext]);
22048
22272
  return /* @__PURE__ */ jsx(
22049
22273
  "div",
22050
22274
  {
22051
22275
  className: classnames(styles$J.radioOptionContainer, className),
22052
22276
  style: style2,
22053
22277
  "data-radio-item": true,
22054
- children: !!optionRenderer ? /* @__PURE__ */ jsxs("label", { className: styles$J.optionLabel, children: [
22278
+ children: !!optionRenderer ? /* @__PURE__ */ jsxs("label", { htmlFor: id, className: styles$J.optionLabel, children: [
22055
22279
  /* @__PURE__ */ jsx("div", { className: styles$J.itemContainer, children: item2 }),
22056
22280
  optionRenderer({
22057
22281
  $checked: value === radioGroupContext.value,
@@ -23039,18 +23263,26 @@ const Form = forwardRef(function({
23039
23263
  children: cancelLabel
23040
23264
  },
23041
23265
  "cancel"
23042
- ) });
23266
+ ) }, PART_CANCEL_BUTTON);
23043
23267
  const submitButton = useMemo(
23044
- () => /* @__PURE__ */ jsx(Part, { partId: PART_SUBMIT_BUTTON, children: /* @__PURE__ */ jsx(Button, { type: "submit", disabled: !isEnabled2 || !enableSubmit, children: formState.submitInProgress ? saveInProgressLabel : saveLabel }, "submit") }),
23268
+ () => /* @__PURE__ */ jsx(Part, { partId: PART_SUBMIT_BUTTON, children: /* @__PURE__ */ jsx(Button, { type: "submit", disabled: !isEnabled2 || !enableSubmit, children: formState.submitInProgress ? saveInProgressLabel : saveLabel }, "submit") }, PART_SUBMIT_BUTTON),
23045
23269
  [isEnabled2, enableSubmit, formState.submitInProgress, saveInProgressLabel, saveLabel]
23046
23270
  );
23271
+ const getData = useCallback(() => {
23272
+ return cloneDeep(cleanUpSubject(formState.subject, formState.noSubmitFields));
23273
+ }, [formState.subject, formState.noSubmitFields]);
23274
+ const getIsDirtyFlag = useCallback(() => {
23275
+ return isDirty;
23276
+ }, [isDirty]);
23047
23277
  useEffect(() => {
23048
23278
  registerComponentApi?.({
23049
23279
  reset: doReset,
23050
23280
  update: updateData,
23051
- validate: doValidate
23281
+ validate: doValidate,
23282
+ getData,
23283
+ isDirty: getIsDirtyFlag
23052
23284
  });
23053
- }, [doReset, updateData, doValidate, registerComponentApi]);
23285
+ }, [doReset, updateData, doValidate, getData, registerComponentApi, getIsDirtyFlag]);
23054
23286
  let safeButtonRow = /* @__PURE__ */ jsx(Fragment, { children: buttonRow2 || /* @__PURE__ */ jsxs("div", { className: styles$H.buttonRow, children: [
23055
23287
  swapCancelAndSave && [submitButton, cancelButton],
23056
23288
  !swapCancelAndSave && [cancelButton, submitButton]
@@ -23112,7 +23344,8 @@ const FormWithContextVar = forwardRef(function({
23112
23344
  style: style2,
23113
23345
  className,
23114
23346
  lookupEventHandler,
23115
- registerComponentApi
23347
+ registerComponentApi,
23348
+ appContext
23116
23349
  }, ref) {
23117
23350
  const [formState, dispatch] = useReducer(formReducer, initialState);
23118
23351
  const $data = useMemo(() => {
@@ -23148,7 +23381,7 @@ const FormWithContextVar = forwardRef(function({
23148
23381
  const errorNotificationMessage = extractValue.asOptionalString(node.props.errorNotificationMessage) || "";
23149
23382
  const submitUrl = extractValue.asOptionalString(node.props.submitUrl) || extractValue.asOptionalString(node.props._data_url);
23150
23383
  const itemLabelWidth = extractValue.asOptionalString(node.props.itemLabelWidth);
23151
- const { cssProps: itemLabelWidthCssProps } = resolveLayoutProps({ width: itemLabelWidth });
23384
+ const { cssProps: itemLabelWidthCssProps } = resolveLayoutProps({ width: itemLabelWidth }, void 0, appContext?.appGlobals?.disableInlineStyle);
23152
23385
  return /* @__PURE__ */ jsx(Slot, { ref, style: style2, children: /* @__PURE__ */ jsx(
23153
23386
  Form,
23154
23387
  {
@@ -23203,24 +23436,24 @@ const FormWithContextVar = forwardRef(function({
23203
23436
  });
23204
23437
  FormWithContextVar.displayName = "FormWithContextVar";
23205
23438
  const themeVars$n = `'{"border-AutoComplete": "var(--xmlui-border-AutoComplete)", "borderHorizontal-AutoComplete": "var(--xmlui-borderHorizontal-AutoComplete, var(--xmlui-border-AutoComplete))", "borderVertical-AutoComplete": "var(--xmlui-borderVertical-AutoComplete, var(--xmlui-border-AutoComplete))", "borderLeft-AutoComplete": "var(--xmlui-borderLeft-AutoComplete, var(--xmlui-borderHorizontal-AutoComplete, var(--xmlui-border-AutoComplete)))", "borderRight-AutoComplete": "var(--xmlui-borderRight-AutoComplete, var(--xmlui-borderHorizontal-AutoComplete, var(--xmlui-border-AutoComplete)))", "borderTop-AutoComplete": "var(--xmlui-borderTop-AutoComplete, var(--xmlui-borderVertical-AutoComplete, var(--xmlui-border-AutoComplete)))", "borderBottom-AutoComplete": "var(--xmlui-borderBottom-AutoComplete, var(--xmlui-borderVertical-AutoComplete, var(--xmlui-border-AutoComplete)))", "borderWidth-AutoComplete": "var(--xmlui-borderWidth-AutoComplete)", "borderHorizontalWidth-AutoComplete": "var(--xmlui-borderHorizontalWidth-AutoComplete, var(--xmlui-borderWidth-AutoComplete))", "borderLeftWidth-AutoComplete": "var(--xmlui-borderLeftWidth-AutoComplete, var(--xmlui-borderHorizontalWidth-AutoComplete, var(--xmlui-borderWidth-AutoComplete)))", "borderRightWidth-AutoComplete": "var(--xmlui-borderRightWidth-AutoComplete, var(--xmlui-borderHorizontalWidth-AutoComplete, var(--xmlui-borderWidth-AutoComplete)))", "borderVerticalWidth-AutoComplete": "var(--xmlui-borderVerticalWidth-AutoComplete, var(--xmlui-borderWidth-AutoComplete))", "borderTopWidth-AutoComplete": "var(--xmlui-borderTopWidth-AutoComplete, var(--xmlui-borderVerticalWidth-AutoComplete, var(--xmlui-borderWidth-AutoComplete)))", "borderBottomWidth-AutoComplete": "var(--xmlui-borderBottomWidth-AutoComplete, var(--xmlui-borderVerticalWidth-AutoComplete, var(--xmlui-borderWidth-AutoComplete)))", "borderStyle-AutoComplete": "var(--xmlui-borderStyle-AutoComplete)", "borderHorizontalStyle-AutoComplete": "var(--xmlui-borderHorizontalStyle-AutoComplete, var(--xmlui-borderStyle-AutoComplete))", "borderLeftStyle-AutoComplete": "var(--xmlui-borderLeftStyle-AutoComplete, var(--xmlui-borderHorizontalStyle-AutoComplete, var(--xmlui-borderStyle-AutoComplete)))", "borderRightStyle-AutoComplete": "var(--xmlui-borderRightStyle-AutoComplete, var(--xmlui-borderHorizontalStyle-AutoComplete, var(--xmlui-borderStyle-AutoComplete)))", "borderVerticalStyle-AutoComplete": "var(--xmlui-borderVerticalStyle-AutoComplete, var(--xmlui-borderStyle-AutoComplete))", "borderTopStyle-AutoComplete": "var(--xmlui-borderTopStyle-AutoComplete, var(--xmlui-borderVerticalStyle-AutoComplete, var(--xmlui-borderStyle-AutoComplete)))", "borderBottomStyle-AutoComplete": "var(--xmlui-borderBottomStyle-AutoComplete, var(--xmlui-borderVerticalStyle-AutoComplete, var(--xmlui-borderStyle-AutoComplete)))", "borderColor-AutoComplete": "var(--xmlui-borderColor-AutoComplete)", "borderHorizontalColor-AutoComplete": "var(--xmlui-borderHorizontalColor-AutoComplete, var(--xmlui-borderColor-AutoComplete))", "borderLeftColor-AutoComplete": "var(--xmlui-borderLeftColor-AutoComplete, var(--xmlui-borderHorizontalColor-AutoComplete, var(--xmlui-borderColor-AutoComplete)))", "borderRightColor-AutoComplete": "var(--xmlui-borderRightColor-AutoComplete, var(--xmlui-borderHorizontalColor-AutoComplete, var(--xmlui-borderColor-AutoComplete)))", "borderVerticalColor-AutoComplete": "var(--xmlui-borderVerticalColor-AutoComplete, var(--xmlui-borderColor-AutoComplete))", "borderTopColor-AutoComplete": "var(--xmlui-borderTopColor-AutoComplete, var(--xmlui-borderVerticalColor-AutoComplete, var(--xmlui-borderColor-AutoComplete)))", "borderBottomColor-AutoComplete": "var(--xmlui-borderBottomColor-AutoComplete, var(--xmlui-borderVerticalColor-AutoComplete, var(--xmlui-borderColor-AutoComplete)))", "borderStartStartRadius-AutoComplete": "var(--xmlui-borderStartStartRadius-AutoComplete, var(--xmlui-borderRadius-AutoComplete))", "borderStartEndRadius-AutoComplete": "var(--xmlui-borderStartEndRadius-AutoComplete, var(--xmlui-borderRadius-AutoComplete))", "borderEndStartRadius-AutoComplete": "var(--xmlui-borderEndStartRadius-AutoComplete, var(--xmlui-borderRadius-AutoComplete))", "borderEndEndRadius-AutoComplete": "var(--xmlui-borderEndEndRadius-AutoComplete, var(--xmlui-borderRadius-AutoComplete))", "padding-AutoComplete": "var(--xmlui-padding-AutoComplete)", "paddingHorizontal-AutoComplete": "var(--xmlui-paddingHorizontal-AutoComplete, var(--xmlui-padding-AutoComplete))", "paddingVertical-AutoComplete": "var(--xmlui-paddingVertical-AutoComplete, var(--xmlui-padding-AutoComplete))", "paddingLeft-AutoComplete": "var(--xmlui-paddingLeft-AutoComplete, var(--xmlui-paddingHorizontal-AutoComplete, var(--xmlui-padding-AutoComplete)))", "paddingRight-AutoComplete": "var(--xmlui-paddingRight-AutoComplete, var(--xmlui-paddingHorizontal-AutoComplete, var(--xmlui-padding-AutoComplete)))", "paddingTop-AutoComplete": "var(--xmlui-paddingTop-AutoComplete, var(--xmlui-paddingVertical-AutoComplete, var(--xmlui-padding-AutoComplete)))", "paddingBottom-AutoComplete": "var(--xmlui-paddingBottom-AutoComplete, var(--xmlui-paddingVertical-AutoComplete, var(--xmlui-padding-AutoComplete)))", "padding-item-AutoComplete": "var(--xmlui-padding-item-AutoComplete)", "paddingHorizontal-item-AutoComplete": "var(--xmlui-paddingHorizontal-item-AutoComplete, var(--xmlui-padding-item-AutoComplete))", "paddingVertical-item-AutoComplete": "var(--xmlui-paddingVertical-item-AutoComplete, var(--xmlui-padding-item-AutoComplete))", "paddingLeft-item-AutoComplete": "var(--xmlui-paddingLeft-item-AutoComplete, var(--xmlui-paddingHorizontal-item-AutoComplete, var(--xmlui-padding-item-AutoComplete)))", "paddingRight-item-AutoComplete": "var(--xmlui-paddingRight-item-AutoComplete, var(--xmlui-paddingHorizontal-item-AutoComplete, var(--xmlui-padding-item-AutoComplete)))", "paddingTop-item-AutoComplete": "var(--xmlui-paddingTop-item-AutoComplete, var(--xmlui-paddingVertical-item-AutoComplete, var(--xmlui-padding-item-AutoComplete)))", "paddingBottom-item-AutoComplete": "var(--xmlui-paddingBottom-item-AutoComplete, var(--xmlui-paddingVertical-item-AutoComplete, var(--xmlui-padding-item-AutoComplete)))", "Input:borderRadius-AutoComplete--default": "var(--xmlui-borderRadius-AutoComplete--default)", "Input:borderColor-AutoComplete--default": "var(--xmlui-borderColor-AutoComplete--default)", "Input:borderWidth-AutoComplete--default": "var(--xmlui-borderWidth-AutoComplete--default)", "Input:borderStyle-AutoComplete--default": "var(--xmlui-borderStyle-AutoComplete--default)", "Input:fontSize-AutoComplete--default": "var(--xmlui-fontSize-AutoComplete--default)", "Input:backgroundColor-AutoComplete--default": "var(--xmlui-backgroundColor-AutoComplete--default)", "Input:boxShadow-AutoComplete--default": "var(--xmlui-boxShadow-AutoComplete--default)", "Input:textColor-AutoComplete--default": "var(--xmlui-textColor-AutoComplete--default)", "Input:borderColor-AutoComplete--default--hover": "var(--xmlui-borderColor-AutoComplete--default--hover)", "Input:backgroundColor-AutoComplete--default--hover": "var(--xmlui-backgroundColor-AutoComplete--default--hover)", "Input:boxShadow-AutoComplete--default--hover": "var(--xmlui-boxShadow-AutoComplete--default--hover)", "Input:textColor-AutoComplete--default--hover": "var(--xmlui-textColor-AutoComplete--default--hover)", "Input:textColor-placeholder-AutoComplete--default": "var(--xmlui-textColor-placeholder-AutoComplete--default)", "Input:fontSize-placeholder-AutoComplete--default": "var(--xmlui-fontSize-placeholder-AutoComplete--default)", "Input:borderRadius-AutoComplete--error": "var(--xmlui-borderRadius-AutoComplete--error)", "Input:borderColor-AutoComplete--error": "var(--xmlui-borderColor-AutoComplete--error)", "Input:borderWidth-AutoComplete--error": "var(--xmlui-borderWidth-AutoComplete--error)", "Input:borderStyle-AutoComplete--error": "var(--xmlui-borderStyle-AutoComplete--error)", "Input:fontSize-AutoComplete--error": "var(--xmlui-fontSize-AutoComplete--error)", "Input:backgroundColor-AutoComplete--error": "var(--xmlui-backgroundColor-AutoComplete--error)", "Input:boxShadow-AutoComplete--error": "var(--xmlui-boxShadow-AutoComplete--error)", "Input:textColor-AutoComplete--error": "var(--xmlui-textColor-AutoComplete--error)", "Input:borderColor-AutoComplete--error--hover": "var(--xmlui-borderColor-AutoComplete--error--hover)", "Input:backgroundColor-AutoComplete--error--hover": "var(--xmlui-backgroundColor-AutoComplete--error--hover)", "Input:boxShadow-AutoComplete--error--hover": "var(--xmlui-boxShadow-AutoComplete--error--hover)", "Input:textColor-AutoComplete--error--hover": "var(--xmlui-textColor-AutoComplete--error--hover)", "Input:textColor-placeholder-AutoComplete--error": "var(--xmlui-textColor-placeholder-AutoComplete--error)", "Input:fontSize-placeholder-AutoComplete--error": "var(--xmlui-fontSize-placeholder-AutoComplete--error)", "Input:borderRadius-AutoComplete--warning": "var(--xmlui-borderRadius-AutoComplete--warning)", "Input:borderColor-AutoComplete--warning": "var(--xmlui-borderColor-AutoComplete--warning)", "Input:borderWidth-AutoComplete--warning": "var(--xmlui-borderWidth-AutoComplete--warning)", "Input:borderStyle-AutoComplete--warning": "var(--xmlui-borderStyle-AutoComplete--warning)", "Input:fontSize-AutoComplete--warning": "var(--xmlui-fontSize-AutoComplete--warning)", "Input:backgroundColor-AutoComplete--warning": "var(--xmlui-backgroundColor-AutoComplete--warning)", "Input:boxShadow-AutoComplete--warning": "var(--xmlui-boxShadow-AutoComplete--warning)", "Input:textColor-AutoComplete--warning": "var(--xmlui-textColor-AutoComplete--warning)", "Input:borderColor-AutoComplete--warning--hover": "var(--xmlui-borderColor-AutoComplete--warning--hover)", "Input:backgroundColor-AutoComplete--warning--hover": "var(--xmlui-backgroundColor-AutoComplete--warning--hover)", "Input:boxShadow-AutoComplete--warning--hover": "var(--xmlui-boxShadow-AutoComplete--warning--hover)", "Input:textColor-AutoComplete--warning--hover": "var(--xmlui-textColor-AutoComplete--warning--hover)", "Input:textColor-placeholder-AutoComplete--warning": "var(--xmlui-textColor-placeholder-AutoComplete--warning)", "Input:fontSize-placeholder-AutoComplete--warning": "var(--xmlui-fontSize-placeholder-AutoComplete--warning)", "Input:borderRadius-AutoComplete--success": "var(--xmlui-borderRadius-AutoComplete--success)", "Input:borderColor-AutoComplete--success": "var(--xmlui-borderColor-AutoComplete--success)", "Input:borderWidth-AutoComplete--success": "var(--xmlui-borderWidth-AutoComplete--success)", "Input:borderStyle-AutoComplete--success": "var(--xmlui-borderStyle-AutoComplete--success)", "Input:fontSize-AutoComplete--success": "var(--xmlui-fontSize-AutoComplete--success)", "Input:backgroundColor-AutoComplete--success": "var(--xmlui-backgroundColor-AutoComplete--success)", "Input:boxShadow-AutoComplete--success": "var(--xmlui-boxShadow-AutoComplete--success)", "Input:textColor-AutoComplete--success": "var(--xmlui-textColor-AutoComplete--success)", "Input:borderColor-AutoComplete--success--hover": "var(--xmlui-borderColor-AutoComplete--success--hover)", "Input:backgroundColor-AutoComplete--success--hover": "var(--xmlui-backgroundColor-AutoComplete--success--hover)", "Input:boxShadow-AutoComplete--success--hover": "var(--xmlui-boxShadow-AutoComplete--success--hover)", "Input:textColor-AutoComplete--success--hover": "var(--xmlui-textColor-AutoComplete--success--hover)", "Input:textColor-placeholder-AutoComplete--success": "var(--xmlui-textColor-placeholder-AutoComplete--success)", "Input:fontSize-placeholder-AutoComplete--success": "var(--xmlui-fontSize-placeholder-AutoComplete--success)", "Input:gap-adornment-AutoComplete": "var(--xmlui-gap-adornment-AutoComplete)", "Input:backgroundColor-AutoComplete--disabled": "var(--xmlui-backgroundColor-AutoComplete--disabled)", "Input:textColor-AutoComplete--disabled": "var(--xmlui-textColor-AutoComplete--disabled)", "Input:borderColor-AutoComplete--disabled": "var(--xmlui-borderColor-AutoComplete--disabled)", "Input:outlineWidth-AutoComplete--focus": "var(--xmlui-outlineWidth-AutoComplete--focus)", "Input:outlineColor-AutoComplete--focus": "var(--xmlui-outlineColor-AutoComplete--focus)", "Input:outlineStyle-AutoComplete--focus": "var(--xmlui-outlineStyle-AutoComplete--focus)", "Input:outlineOffset-AutoComplete--focus": "var(--xmlui-outlineOffset-AutoComplete--focus)", "paddingVertical-AutoComplete-badge": "var(--xmlui-paddingVertical-AutoComplete-badge)", "paddingHorizontal-AutoComplete-badge": "var(--xmlui-paddingHorizontal-AutoComplete-badge)", "borderRadius-AutoComplete-badge": "var(--xmlui-borderRadius-AutoComplete-badge)", "Input:fontSize-AutoComplete-badge": "var(--xmlui-fontSize-AutoComplete-badge)", "Input:backgroundColor-AutoComplete-badge": "var(--xmlui-backgroundColor-AutoComplete-badge)", "Input:textColor-AutoComplete-badge": "var(--xmlui-textColor-AutoComplete-badge)", "Input:backgroundColor-AutoComplete-badge--hover": "var(--xmlui-backgroundColor-AutoComplete-badge--hover)", "Input:textColor-AutoComplete-badge--hover": "var(--xmlui-textColor-AutoComplete-badge--hover)", "Input:backgroundColor-AutoComplete-badge--active": "var(--xmlui-backgroundColor-AutoComplete-badge--active)", "Input:textColor-AutoComplete-badge--active": "var(--xmlui-textColor-AutoComplete-badge--active)", "Input:textColor-placeholder-AutoComplete": "var(--xmlui-textColor-placeholder-AutoComplete)", "Input:borderRadius-menu-AutoComplete": "var(--xmlui-borderRadius-menu-AutoComplete)", "Input:borderWidth-menu-AutoComplete": "var(--xmlui-borderWidth-menu-AutoComplete)", "Input:borderColor-menu-AutoComplete": "var(--xmlui-borderColor-menu-AutoComplete)", "Input:backgroundColor-menu-AutoComplete": "var(--xmlui-backgroundColor-menu-AutoComplete)", "Input:boxShadow-menu-AutoComplete": "var(--xmlui-boxShadow-menu-AutoComplete)", "backgroundColor-item-AutoComplete": "var(--xmlui-backgroundColor-item-AutoComplete)", "backgroundColor-item-AutoComplete--active": "var(--xmlui-backgroundColor-item-AutoComplete--active)", "backgroundColor-item-AutoComplete--hover": "var(--xmlui-backgroundColor-item-AutoComplete--hover)", "textColor-item-AutoComplete--disabled": "var(--xmlui-textColor-item-AutoComplete--disabled)"}'`;
23206
- const command = "_command_qbjl0_14";
23207
- const badgeListWrapper = "_badgeListWrapper_qbjl0_20";
23208
- const error$5 = "_error_qbjl0_51";
23209
- const warning$6 = "_warning_qbjl0_71";
23210
- const valid$5 = "_valid_qbjl0_91";
23211
- const disabled$4 = "_disabled_qbjl0_111";
23212
- const focused = "_focused_qbjl0_118";
23213
- const badgeList = "_badgeList_qbjl0_20";
23214
- const inputWrapper = "_inputWrapper_qbjl0_131";
23215
- const badge = "_badge_qbjl0_20";
23216
- const commandInput = "_commandInput_qbjl0_163";
23217
- const actions = "_actions_qbjl0_178";
23218
- const action = "_action_qbjl0_178";
23219
- const autoCompleteEmpty = "_autoCompleteEmpty_qbjl0_186";
23220
- const commandList = "_commandList_qbjl0_195";
23221
- const autoCompleteOption = "_autoCompleteOption_qbjl0_207";
23222
- const highlighted = "_highlighted_qbjl0_224";
23223
- const disabledOption = "_disabledOption_qbjl0_227";
23439
+ const command = "_command_57zg7_14";
23440
+ const badgeListWrapper = "_badgeListWrapper_57zg7_20";
23441
+ const error$5 = "_error_57zg7_51";
23442
+ const warning$6 = "_warning_57zg7_71";
23443
+ const valid$5 = "_valid_57zg7_91";
23444
+ const disabled$4 = "_disabled_57zg7_111";
23445
+ const focused = "_focused_57zg7_117";
23446
+ const badgeList = "_badgeList_57zg7_20";
23447
+ const inputWrapper = "_inputWrapper_57zg7_130";
23448
+ const badge = "_badge_57zg7_20";
23449
+ const commandInput = "_commandInput_57zg7_162";
23450
+ const actions = "_actions_57zg7_176";
23451
+ const action = "_action_57zg7_176";
23452
+ const autoCompleteEmpty = "_autoCompleteEmpty_57zg7_187";
23453
+ const commandList = "_commandList_57zg7_196";
23454
+ const autoCompleteOption = "_autoCompleteOption_57zg7_208";
23455
+ const highlighted = "_highlighted_57zg7_225";
23456
+ const disabledOption = "_disabledOption_57zg7_228";
23224
23457
  const styles$F = {
23225
23458
  themeVars: themeVars$n,
23226
23459
  command,
@@ -23238,7 +23471,7 @@ const styles$F = {
23238
23471
  action,
23239
23472
  autoCompleteEmpty,
23240
23473
  commandList,
23241
- "fade-in": "_fade-in_qbjl0_1",
23474
+ "fade-in": "_fade-in_57zg7_1",
23242
23475
  autoCompleteOption,
23243
23476
  highlighted,
23244
23477
  disabledOption
@@ -23249,7 +23482,7 @@ const AutoCompleteContext = createContext({
23249
23482
  },
23250
23483
  inputValue: "",
23251
23484
  searchTerm: "",
23252
- options: /* @__PURE__ */ new Set(),
23485
+ options: [],
23253
23486
  open: false,
23254
23487
  setOpen: (open) => {
23255
23488
  },
@@ -23264,7 +23497,7 @@ function useAutoComplete() {
23264
23497
  const PART_LIST_WRAPPER = "listWrapper";
23265
23498
  function isOptionsExist(options2, newOptions) {
23266
23499
  return newOptions.some(
23267
- (option) => Array.from(options2).some((o) => o.value === option.value || o.label === option.label)
23500
+ (option) => options2.some((o) => o.value === option.value || o.label === option.label)
23268
23501
  );
23269
23502
  }
23270
23503
  const defaultProps$A = {
@@ -23313,7 +23546,7 @@ const AutoComplete = forwardRef(function AutoComplete2({
23313
23546
  const [referenceElement, setReferenceElement] = useState(null);
23314
23547
  const inputRef = useRef(null);
23315
23548
  const [open, setOpen] = useState(initiallyOpen);
23316
- const [options2, setOptions] = useState(/* @__PURE__ */ new Set());
23549
+ const [options2, setOptions] = useState([]);
23317
23550
  const [inputValue, setInputValue] = useState("");
23318
23551
  const { root: root2 } = useTheme();
23319
23552
  const [width, setWidth] = useState(0);
@@ -23323,17 +23556,17 @@ const AutoComplete = forwardRef(function AutoComplete2({
23323
23556
  const [selectedIndex, setSelectedIndex] = useState(-1);
23324
23557
  const filteredOptions = useMemo(() => {
23325
23558
  if (!searchTerm || searchTerm.trim() === "") {
23326
- return Array.from(options2);
23559
+ return options2;
23327
23560
  }
23328
23561
  const searchLower = searchTerm.toLowerCase();
23329
- return Array.from(options2).filter((option) => {
23562
+ return options2.filter((option) => {
23330
23563
  const extendedValue = option.value + " " + option.label + " " + (option.keywords || []).join(" ");
23331
23564
  return extendedValue.toLowerCase().includes(searchLower);
23332
23565
  });
23333
23566
  }, [options2, searchTerm]);
23334
23567
  const shouldShowCreatable = useMemo(() => {
23335
23568
  if (!creatable || !searchTerm || searchTerm.trim() === "") return false;
23336
- const searchTermExists = Array.from(options2).some(
23569
+ const searchTermExists = options2.some(
23337
23570
  (option) => option.value === searchTerm || option.label === searchTerm
23338
23571
  );
23339
23572
  if (searchTermExists) return false;
@@ -23358,17 +23591,16 @@ const AutoComplete = forwardRef(function AutoComplete2({
23358
23591
  };
23359
23592
  }, [referenceElement]);
23360
23593
  const selectedValue = useMemo(() => {
23361
- const optionsArray = Array.from(options2);
23362
23594
  if (Array.isArray(value)) {
23363
23595
  if (value.length === 0) return [];
23364
- return optionsArray.filter((o) => value.includes(`${o.value}`));
23596
+ return options2.filter((o) => value.includes(`${o.value}`));
23365
23597
  }
23366
- return optionsArray.find((o) => `${o.value}` === `${value}`);
23598
+ return options2.find((o) => `${o.value}` === `${value}`);
23367
23599
  }, [value, options2]);
23368
23600
  const toggleOption = useCallback(
23369
23601
  (selectedItem) => {
23370
23602
  if (selectedItem === "") return;
23371
- const option = Array.from(options2).find((opt) => opt.value === selectedItem);
23603
+ const option = options2.find((opt) => opt.value === selectedItem);
23372
23604
  if (option && option.enabled === false) return;
23373
23605
  const newSelectedValue = multi ? Array.isArray(value) ? value.includes(selectedItem) ? value.filter((v) => v !== selectedItem) : [...value, selectedItem] : [selectedItem] : selectedItem === value ? null : selectedItem;
23374
23606
  updateState({ value: newSelectedValue });
@@ -23389,7 +23621,7 @@ const AutoComplete = forwardRef(function AutoComplete2({
23389
23621
  setInputValue(selectedValue?.label || "");
23390
23622
  setSearchTerm("");
23391
23623
  }
23392
- }, [multi, selectedValue]);
23624
+ }, [selectedValue]);
23393
23625
  const clearValue = useCallback(() => {
23394
23626
  const newValue = multi ? [] : "";
23395
23627
  setInputValue("");
@@ -23397,22 +23629,10 @@ const AutoComplete = forwardRef(function AutoComplete2({
23397
23629
  onDidChange(newValue);
23398
23630
  }, [multi, updateState, onDidChange]);
23399
23631
  const onOptionAdd = useCallback((option) => {
23400
- setOptions((prev) => {
23401
- const newSet = new Set(prev);
23402
- const existing = Array.from(prev).find((opt) => opt.value === option.value);
23403
- if (existing) {
23404
- newSet.delete(existing);
23405
- }
23406
- newSet.add(option);
23407
- return newSet;
23408
- });
23632
+ setOptions((prev) => [...prev, option]);
23409
23633
  }, []);
23410
23634
  const onOptionRemove = useCallback((option) => {
23411
- setOptions((prev) => {
23412
- const optionsSet = new Set(prev);
23413
- optionsSet.delete(option);
23414
- return optionsSet;
23415
- });
23635
+ setOptions((prev) => prev.filter((opt) => opt.value !== option.value));
23416
23636
  }, []);
23417
23637
  const allItems = useMemo(() => {
23418
23638
  const items = [];
@@ -23597,7 +23817,7 @@ const AutoComplete = forwardRef(function AutoComplete2({
23597
23817
  {
23598
23818
  open,
23599
23819
  onOpenChange: (isOpen) => {
23600
- if (readOnly2) return;
23820
+ if (readOnly2 || !enabled2) return;
23601
23821
  setOpen(isOpen);
23602
23822
  if (!isOpen) {
23603
23823
  setSelectedIndex(-1);
@@ -23621,7 +23841,7 @@ const AutoComplete = forwardRef(function AutoComplete2({
23621
23841
  ),
23622
23842
  "aria-expanded": open,
23623
23843
  onClick: (event) => {
23624
- if (readOnly2) return;
23844
+ if (readOnly2 || !enabled2) return;
23625
23845
  if (multi && open) {
23626
23846
  return;
23627
23847
  }
@@ -23709,9 +23929,10 @@ const AutoComplete = forwardRef(function AutoComplete2({
23709
23929
  /* @__PURE__ */ jsx(
23710
23930
  "span",
23711
23931
  {
23712
- className: styles$F.action,
23932
+ className: classnames(styles$F.action, { [styles$F.disabled]: !enabled2 || readOnly2 }),
23933
+ "aria-disabled": !enabled2 || readOnly2,
23713
23934
  onClick: () => {
23714
- if (readOnly2) return;
23935
+ if (readOnly2 || !enabled2) return;
23715
23936
  setOpen(!open);
23716
23937
  inputRef.current?.focus();
23717
23938
  },
@@ -23723,62 +23944,45 @@ const AutoComplete = forwardRef(function AutoComplete2({
23723
23944
  ]
23724
23945
  }
23725
23946
  ) }) }),
23726
- open && /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
23947
+ /* @__PURE__ */ jsx(Portal$1, { container: root2, children: /* @__PURE__ */ jsx(
23727
23948
  PopoverContent,
23728
23949
  {
23729
23950
  style: { width, height: dropdownHeight },
23730
23951
  className: styles$F.popoverContent,
23731
23952
  align: "start",
23732
23953
  onOpenAutoFocus: (e) => e.preventDefault(),
23733
- children: /* @__PURE__ */ jsx(
23734
- "div",
23735
- {
23736
- role: "listbox",
23737
- className: styles$F.commandList,
23738
- style: { height: dropdownHeight },
23739
- children: searchTerm ? (
23740
- // When searching, show only filtered options
23741
- /* @__PURE__ */ jsxs(Fragment, { children: [
23742
- filteredOptions.length === 0 && !shouldShowCreatable && /* @__PURE__ */ jsx("div", { children: emptyListNode }),
23743
- shouldShowCreatable && /* @__PURE__ */ jsx(
23744
- CreatableItem,
23745
- {
23746
- onNewItem: onItemCreated,
23747
- isHighlighted: selectedIndex === 0
23748
- }
23749
- ),
23750
- /* @__PURE__ */ jsx("div", { children: filteredOptions.map(({ value: value2, label: label2, enabled: enabled22, keywords }, index) => {
23751
- const itemIndex = shouldShowCreatable ? index + 1 : index;
23752
- return /* @__PURE__ */ jsx(
23753
- AutoCompleteOption,
23754
- {
23755
- value: value2,
23756
- label: label2,
23757
- enabled: enabled22,
23758
- keywords,
23759
- readOnly: readOnly2,
23760
- isHighlighted: selectedIndex === itemIndex,
23761
- itemIndex
23762
- },
23763
- value2
23764
- );
23765
- }) })
23766
- ] })
23767
- ) : (
23768
- // When not searching, show all children directly (includes Options and other components like Button)
23769
- /* @__PURE__ */ jsx(OptionTypeProvider, { Component: VisibleAutoCompleteOption, children: /* @__PURE__ */ jsxs(Fragment, { children: [
23770
- children,
23771
- options2.size === 0 && /* @__PURE__ */ jsx("div", { children: emptyListNode })
23772
- ] }) })
23773
- )
23774
- }
23775
- )
23954
+ children: /* @__PURE__ */ jsx("div", { role: "listbox", className: styles$F.commandList, style: { height: dropdownHeight }, children: searchTerm ? /* @__PURE__ */ jsxs(Fragment, { children: [
23955
+ filteredOptions.map(({ value: value2, label: label2, enabled: enabled22, keywords }, index) => {
23956
+ const itemIndex = shouldShowCreatable ? index + 1 : index;
23957
+ return /* @__PURE__ */ jsx(
23958
+ AutoCompleteOption,
23959
+ {
23960
+ value: value2,
23961
+ label: label2,
23962
+ enabled: enabled22,
23963
+ keywords,
23964
+ readOnly: readOnly2,
23965
+ isHighlighted: selectedIndex === itemIndex,
23966
+ itemIndex
23967
+ },
23968
+ value2
23969
+ );
23970
+ }),
23971
+ shouldShowCreatable && /* @__PURE__ */ jsx(
23972
+ CreatableItem,
23973
+ {
23974
+ onNewItem: onItemCreated,
23975
+ isHighlighted: selectedIndex === 0
23976
+ }
23977
+ ),
23978
+ filteredOptions.length === 0 && !shouldShowCreatable && /* @__PURE__ */ jsx("div", { children: emptyListNode })
23979
+ ] }) : /* @__PURE__ */ jsx(OptionTypeProvider, { Component: AutoCompleteOption, children }) })
23776
23980
  }
23777
23981
  ) })
23778
23982
  ]
23779
23983
  }
23780
23984
  ),
23781
- !open && /* @__PURE__ */ jsx("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx(OptionTypeProvider, { Component: HiddenOption, children }) })
23985
+ /* @__PURE__ */ jsx("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx(OptionTypeProvider, { Component: HiddenOption, children }) })
23782
23986
  ] }) });
23783
23987
  });
23784
23988
  function CreatableItem({ onNewItem, isHighlighted = false }) {
@@ -23822,65 +24026,6 @@ function CreatableItem({ onNewItem, isHighlighted = false }) {
23822
24026
  }
23823
24027
  return /* @__PURE__ */ jsx("span", { style: { display: "none" } });
23824
24028
  }
23825
- function VisibleAutoCompleteOption(option) {
23826
- const { value, label: label2, enabled: enabled2 = true, children } = option;
23827
- const { onOptionAdd } = useOption();
23828
- const {
23829
- value: selectedValue,
23830
- onChange,
23831
- multi,
23832
- setOpen,
23833
- readOnly: readOnly2,
23834
- // Use readOnly from AutoComplete context value
23835
- optionRenderer
23836
- } = useAutoComplete();
23837
- const opt = useMemo(() => {
23838
- return {
23839
- ...option,
23840
- label: label2 ?? "",
23841
- keywords: option.keywords || [label2 ?? ""]
23842
- };
23843
- }, [option, label2]);
23844
- useEffect(() => {
23845
- onOptionAdd(opt);
23846
- }, [opt, onOptionAdd]);
23847
- const selected2 = multi ? selectedValue?.includes(value) : selectedValue === value;
23848
- const handleClick = () => {
23849
- if (readOnly2) {
23850
- setOpen(false);
23851
- return;
23852
- }
23853
- if (enabled2) {
23854
- onChange(value);
23855
- if (!multi) {
23856
- setOpen(false);
23857
- }
23858
- }
23859
- };
23860
- return /* @__PURE__ */ jsx(
23861
- "div",
23862
- {
23863
- role: "option",
23864
- "aria-disabled": !enabled2,
23865
- "aria-selected": selected2,
23866
- className: classnames(styles$F.autoCompleteOption, {
23867
- [styles$F.disabledOption]: !enabled2
23868
- }),
23869
- onMouseDown: (e) => {
23870
- e.preventDefault();
23871
- e.stopPropagation();
23872
- },
23873
- onClick: handleClick,
23874
- children: children ? /* @__PURE__ */ jsxs(Fragment, { children: [
23875
- /* @__PURE__ */ jsx("div", { className: styles$F.autoCompleteOptionContent, children }),
23876
- selected2 && /* @__PURE__ */ jsx(Icon, { name: "checkmark" })
23877
- ] }) : optionRenderer ? optionRenderer({ label: label2, value, enabled: enabled2 }, selectedValue, false) : /* @__PURE__ */ jsxs(Fragment, { children: [
23878
- /* @__PURE__ */ jsx("div", { className: styles$F.autoCompleteOptionContent, children: label2 }),
23879
- selected2 && /* @__PURE__ */ jsx(Icon, { name: "checkmark" })
23880
- ] })
23881
- }
23882
- );
23883
- }
23884
24029
  function AutoCompleteOption(option) {
23885
24030
  const {
23886
24031
  value,
@@ -24770,7 +24915,7 @@ function ApiInterceptorProvider({
24770
24915
  return;
24771
24916
  }
24772
24917
  void (async () => {
24773
- const { initMock } = await import("./initMock-B4QMy8Go.js");
24918
+ const { initMock } = await import("./initMock-CP3zGYe3.js");
24774
24919
  const apiInstance2 = await initMock(interceptor);
24775
24920
  setApiInstance(apiInstance2);
24776
24921
  setInitialized(true);
@@ -24787,7 +24932,7 @@ function ApiInterceptorProvider({
24787
24932
  if (process.env.VITE_MOCK_ENABLED) {
24788
24933
  const [{ createApiInterceptorWorker }, { initMock }] = await Promise.all([
24789
24934
  useWorker ? import("./apiInterceptorWorker-dwrAyq6l.js") : Promise.resolve({ createApiInterceptorWorker: () => null }),
24790
- import("./initMock-B4QMy8Go.js")
24935
+ import("./initMock-CP3zGYe3.js")
24791
24936
  ]);
24792
24937
  if (interceptor || forceInitialize) {
24793
24938
  const apiInstance2 = await initMock(interceptor || {});
@@ -24824,7 +24969,7 @@ function ApiInterceptorProvider({
24824
24969
  void (async () => {
24825
24970
  const [{ createApiInterceptorWorker }, { initMock }] = await Promise.all([
24826
24971
  import("./apiInterceptorWorker-dwrAyq6l.js"),
24827
- import("./initMock-B4QMy8Go.js")
24972
+ import("./initMock-CP3zGYe3.js")
24828
24973
  ]);
24829
24974
  const apiInstance2 = await initMock(interceptor);
24830
24975
  await createApiInterceptorWorker(apiInstance2, parentInterceptorWorker);
@@ -26822,7 +26967,7 @@ const Slider = forwardRef(
26822
26967
  thumbsRef.current = thumbsRef.current.slice(0, displayValue.length);
26823
26968
  }, [displayValue.length]);
26824
26969
  return /* @__PURE__ */ jsx("div", { ...rest, ref, style: style2, className: classnames(styles$E.sliderContainer, className), "data-slider-container": true, children: /* @__PURE__ */ jsxs(
26825
- Root,
26970
+ Root$1,
26826
26971
  {
26827
26972
  ref: inputRef,
26828
26973
  minStepsBetweenThumbs,
@@ -26900,11 +27045,11 @@ const Slider = forwardRef(
26900
27045
  }
26901
27046
  );
26902
27047
  Slider.displayName = "Slider";
26903
- const themeVars$g = `'{"Input:borderRadius-ColorPicker--default": "var(--xmlui-borderRadius-ColorPicker--default)", "Input:borderColor-ColorPicker--default": "var(--xmlui-borderColor-ColorPicker--default)", "Input:borderWidth-ColorPicker--default": "var(--xmlui-borderWidth-ColorPicker--default)", "Input:borderStyle-ColorPicker--default": "var(--xmlui-borderStyle-ColorPicker--default)", "Input:boxShadow-ColorPicker--default": "var(--xmlui-boxShadow-ColorPicker--default)", "Input:borderColor-ColorPicker--default--hover": "var(--xmlui-borderColor-ColorPicker--default--hover)", "Input:boxShadow-ColorPicker--default--hover": "var(--xmlui-boxShadow-ColorPicker--default--hover)", "Input:borderColor-ColorPicker--default--focus": "var(--xmlui-borderColor-ColorPicker--default--focus)", "Input:boxShadow-ColorPicker--default--focus": "var(--xmlui-boxShadow-ColorPicker--default--focus)", "Input:borderRadius-ColorPicker--error": "var(--xmlui-borderRadius-ColorPicker--error)", "Input:borderColor-ColorPicker--error": "var(--xmlui-borderColor-ColorPicker--error)", "Input:borderWidth-ColorPicker--error": "var(--xmlui-borderWidth-ColorPicker--error)", "Input:borderStyle-ColorPicker--error": "var(--xmlui-borderStyle-ColorPicker--error)", "Input:boxShadow-ColorPicker--error": "var(--xmlui-boxShadow-ColorPicker--error)", "Input:borderColor-ColorPicker--error--hover": "var(--xmlui-borderColor-ColorPicker--error--hover)", "Input:boxShadow-ColorPicker--error--hover": "var(--xmlui-boxShadow-ColorPicker--error--hover)", "Input:borderColor-ColorPicker--error--focus": "var(--xmlui-borderColor-ColorPicker--error--focus)", "Input:boxShadow-ColorPicker--error--focus": "var(--xmlui-boxShadow-ColorPicker--error--focus)", "Input:borderRadius-ColorPicker--warning": "var(--xmlui-borderRadius-ColorPicker--warning)", "Input:borderColor-ColorPicker--warning": "var(--xmlui-borderColor-ColorPicker--warning)", "Input:borderWidth-ColorPicker--warning": "var(--xmlui-borderWidth-ColorPicker--warning)", "Input:borderStyle-ColorPicker--warning": "var(--xmlui-borderStyle-ColorPicker--warning)", "Input:boxShadow-ColorPicker--warning": "var(--xmlui-boxShadow-ColorPicker--warning)", "Input:borderColor-ColorPicker--warning--hover": "var(--xmlui-borderColor-ColorPicker--warning--hover)", "Input:boxShadow-ColorPicker--warning--hover": "var(--xmlui-boxShadow-ColorPicker--warning--hover)", "Input:borderColor-ColorPicker--warning--focus": "var(--xmlui-borderColor-ColorPicker--warning--focus)", "Input:boxShadow-ColorPicker--warning--focus": "var(--xmlui-boxShadow-ColorPicker--warning--focus)", "Input:borderRadius-ColorPicker--success": "var(--xmlui-borderRadius-ColorPicker--success)", "Input:borderColor-ColorPicker--success": "var(--xmlui-borderColor-ColorPicker--success)", "Input:borderWidth-ColorPicker--success": "var(--xmlui-borderWidth-ColorPicker--success)", "Input:borderStyle-ColorPicker--success": "var(--xmlui-borderStyle-ColorPicker--success)", "Input:boxShadow-ColorPicker--success": "var(--xmlui-boxShadow-ColorPicker--success)", "Input:borderColor-ColorPicker--success--hover": "var(--xmlui-borderColor-ColorPicker--success--hover)", "Input:boxShadow-ColorPicker--success--hover": "var(--xmlui-boxShadow-ColorPicker--success--hover)", "Input:borderColor-ColorPicker--success--focus": "var(--xmlui-borderColor-ColorPicker--success--focus)", "Input:boxShadow-ColorPicker--success--focus": "var(--xmlui-boxShadow-ColorPicker--success--focus)", "Input:backgroundColor-ColorPicker": "var(--xmlui-backgroundColor-ColorPicker)"}'`;
26904
- const colorInput = "_colorInput_1apm8_14";
26905
- const error$3 = "_error_1apm8_48";
26906
- const warning$3 = "_warning_1apm8_63";
26907
- const valid$3 = "_valid_1apm8_78";
27048
+ const themeVars$g = `'{"Input:borderRadius-ColorPicker--default": "var(--xmlui-borderRadius-ColorPicker--default)", "Input:borderColor-ColorPicker--default": "var(--xmlui-borderColor-ColorPicker--default)", "Input:borderWidth-ColorPicker--default": "var(--xmlui-borderWidth-ColorPicker--default)", "Input:borderStyle-ColorPicker--default": "var(--xmlui-borderStyle-ColorPicker--default)", "Input:boxShadow-ColorPicker--default": "var(--xmlui-boxShadow-ColorPicker--default)", "Input:borderColor-ColorPicker--default--hover": "var(--xmlui-borderColor-ColorPicker--default--hover)", "Input:boxShadow-ColorPicker--default--hover": "var(--xmlui-boxShadow-ColorPicker--default--hover)", "Input:borderColor-ColorPicker--default--focus": "var(--xmlui-borderColor-ColorPicker--default--focus)", "Input:boxShadow-ColorPicker--default--focus": "var(--xmlui-boxShadow-ColorPicker--default--focus)", "Input:borderRadius-ColorPicker--error": "var(--xmlui-borderRadius-ColorPicker--error)", "Input:borderColor-ColorPicker--error": "var(--xmlui-borderColor-ColorPicker--error)", "Input:borderWidth-ColorPicker--error": "var(--xmlui-borderWidth-ColorPicker--error)", "Input:borderStyle-ColorPicker--error": "var(--xmlui-borderStyle-ColorPicker--error)", "Input:boxShadow-ColorPicker--error": "var(--xmlui-boxShadow-ColorPicker--error)", "Input:borderColor-ColorPicker--error--hover": "var(--xmlui-borderColor-ColorPicker--error--hover)", "Input:boxShadow-ColorPicker--error--hover": "var(--xmlui-boxShadow-ColorPicker--error--hover)", "Input:borderColor-ColorPicker--error--focus": "var(--xmlui-borderColor-ColorPicker--error--focus)", "Input:boxShadow-ColorPicker--error--focus": "var(--xmlui-boxShadow-ColorPicker--error--focus)", "Input:borderRadius-ColorPicker--warning": "var(--xmlui-borderRadius-ColorPicker--warning)", "Input:borderColor-ColorPicker--warning": "var(--xmlui-borderColor-ColorPicker--warning)", "Input:borderWidth-ColorPicker--warning": "var(--xmlui-borderWidth-ColorPicker--warning)", "Input:borderStyle-ColorPicker--warning": "var(--xmlui-borderStyle-ColorPicker--warning)", "Input:boxShadow-ColorPicker--warning": "var(--xmlui-boxShadow-ColorPicker--warning)", "Input:borderColor-ColorPicker--warning--hover": "var(--xmlui-borderColor-ColorPicker--warning--hover)", "Input:boxShadow-ColorPicker--warning--hover": "var(--xmlui-boxShadow-ColorPicker--warning--hover)", "Input:borderColor-ColorPicker--warning--focus": "var(--xmlui-borderColor-ColorPicker--warning--focus)", "Input:boxShadow-ColorPicker--warning--focus": "var(--xmlui-boxShadow-ColorPicker--warning--focus)", "Input:borderRadius-ColorPicker--success": "var(--xmlui-borderRadius-ColorPicker--success)", "Input:borderColor-ColorPicker--success": "var(--xmlui-borderColor-ColorPicker--success)", "Input:borderWidth-ColorPicker--success": "var(--xmlui-borderWidth-ColorPicker--success)", "Input:borderStyle-ColorPicker--success": "var(--xmlui-borderStyle-ColorPicker--success)", "Input:boxShadow-ColorPicker--success": "var(--xmlui-boxShadow-ColorPicker--success)", "Input:borderColor-ColorPicker--success--hover": "var(--xmlui-borderColor-ColorPicker--success--hover)", "Input:boxShadow-ColorPicker--success--hover": "var(--xmlui-boxShadow-ColorPicker--success--hover)", "Input:borderColor-ColorPicker--success--focus": "var(--xmlui-borderColor-ColorPicker--success--focus)", "Input:boxShadow-ColorPicker--success--focus": "var(--xmlui-boxShadow-ColorPicker--success--focus)", "Input:backgroundColor-ColorPicker": "var(--xmlui-backgroundColor-ColorPicker)", "Input:width-ColorPicker": "var(--xmlui-width-ColorPicker)"}'`;
27049
+ const colorInput = "_colorInput_724av_14";
27050
+ const error$3 = "_error_724av_48";
27051
+ const warning$3 = "_warning_724av_63";
27052
+ const valid$3 = "_valid_724av_78";
26908
27053
  const styles$v = {
26909
27054
  themeVars: themeVars$g,
26910
27055
  colorInput,
@@ -26993,7 +27138,6 @@ const ColorPicker = forwardRef(
26993
27138
  ...rest,
26994
27139
  id,
26995
27140
  className: classnames(className, styles$v.colorInput, {
26996
- [styles$v.disabled]: !enabled2,
26997
27141
  [styles$v.error]: validationStatus === "error",
26998
27142
  [styles$v.warning]: validationStatus === "warning",
26999
27143
  [styles$v.valid]: validationStatus === "valid"
@@ -27206,7 +27350,7 @@ const FormItem = memo(function FormItem2({
27206
27350
  const initialValueFromSubject = useFormContextPart(
27207
27351
  (value2) => getByPath(value2?.originalSubject, formItemId)
27208
27352
  );
27209
- const initialValue = initialValueFromSubject === void 0 ? initialValueFromProps : initialValueFromSubject;
27353
+ const initialValue = initialValueFromSubject === void 0 || initialValueFromSubject === null ? initialValueFromProps : initialValueFromSubject;
27210
27354
  const value = useFormContextPart((value2) => getByPath(value2?.subject, formItemId));
27211
27355
  const validationResult = useFormContextPart((value2) => value2?.validationResults[formItemId]);
27212
27356
  const dispatch = useFormContextPart((value2) => value2?.dispatch);
@@ -28354,7 +28498,6 @@ class RestApiProxy {
28354
28498
  body: requestBody
28355
28499
  };
28356
28500
  if (onUploadProgress) {
28357
- console.log("Falling back to axios. Reason: onUploadProgress specified");
28358
28501
  const axios = (await import("axios")).default;
28359
28502
  try {
28360
28503
  const response = await axios.request({
@@ -28711,6 +28854,11 @@ const FormMd = createMetadata({
28711
28854
  description: "This method triggers validation on all form fields without submitting the form. It displays validation errors and returns the validation result along with the cleaned form data. This is useful for implementing custom submit buttons or performing operations that require validated data without actually submitting the form.",
28712
28855
  signature: "validate(): Promise<{ isValid: boolean, data: Record<string, any>, errors: ValidationResult[], warnings: ValidationResult[], validationResults: Record<string, ValidationResult> }>",
28713
28856
  returns: "A promise that resolves to an object containing validation status, cleaned data, and detailed validation results."
28857
+ },
28858
+ getData: {
28859
+ description: "This method returns a deep clone of the current form data object. Changes to the returned object do not affect the form's internal state.",
28860
+ signature: "getData(): Record<string, any>",
28861
+ returns: "A deep clone of the current form data object."
28714
28862
  }
28715
28863
  },
28716
28864
  themeVars: parseScssVar(styles$H.themeVars),
@@ -28735,7 +28883,7 @@ const FormMd = createMetadata({
28735
28883
  const formComponentRenderer = createComponentRenderer(
28736
28884
  COMP$Z,
28737
28885
  FormMd,
28738
- ({ node, renderChild: renderChild2, extractValue, className, lookupEventHandler, registerComponentApi }) => {
28886
+ ({ node, renderChild: renderChild2, extractValue, className, lookupEventHandler, registerComponentApi, appContext }) => {
28739
28887
  return /* @__PURE__ */ jsx(
28740
28888
  FormWithContextVar,
28741
28889
  {
@@ -28744,7 +28892,8 @@ const formComponentRenderer = createComponentRenderer(
28744
28892
  extractValue,
28745
28893
  lookupEventHandler,
28746
28894
  className,
28747
- registerComponentApi
28895
+ registerComponentApi,
28896
+ appContext
28748
28897
  }
28749
28898
  );
28750
28899
  }
@@ -31001,7 +31150,8 @@ const RadioGroupMd = createMetadata({
31001
31150
  [`backgroundColor-checked-${RGOption}`]: "$color-primary-500",
31002
31151
  [`backgroundColor-checked-${RGOption}--disabled`]: `$textColor--disabled`,
31003
31152
  [`fontSize-${RGOption}`]: "$fontSize-sm",
31004
- [`fontWeight-${RGOption}`]: "$fontWeight-bold"
31153
+ [`fontWeight-${RGOption}`]: "$fontWeight-bold",
31154
+ [`textColor-${RGOption}--disabled`]: "$textColor--disabled"
31005
31155
  }
31006
31156
  });
31007
31157
  const radioGroupRenderer = createComponentRenderer(
@@ -31332,6 +31482,18 @@ const SelectMd = createMetadata({
31332
31482
  isInternal: true,
31333
31483
  description: "internal radix modal prop",
31334
31484
  valueType: "boolean"
31485
+ },
31486
+ groupBy: {
31487
+ description: "This property sets which attribute should be used to group the available options. No grouping is done if omitted. Use it with the `category` attribute on `Options` to define groups. If no options belong to a group, that group will not be shown.",
31488
+ valueType: "string"
31489
+ },
31490
+ groupHeaderTemplate: {
31491
+ description: `Enables the customization of how option groups are displayed in the dropdown. You can use the \`$group\` context variable to access the group name.`,
31492
+ valueType: "ComponentDef"
31493
+ },
31494
+ ungroupedHeaderTemplate: {
31495
+ description: `Enables the customization of how the ungrouped options header is displayed in the dropdown. If not provided, ungrouped options will not have a header.`,
31496
+ valueType: "ComponentDef"
31335
31497
  }
31336
31498
  },
31337
31499
  events: {
@@ -31362,7 +31524,8 @@ const SelectMd = createMetadata({
31362
31524
  },
31363
31525
  contextVars: {
31364
31526
  $item: d("Represents the current option's data (label and value properties)"),
31365
- $itemContext: d("Provides utility methods like `removeItem()` for multi-select scenarios")
31527
+ $itemContext: d("Provides utility methods like `removeItem()` for multi-select scenarios"),
31528
+ $group: d("Group name when using `groupBy` (available in group header templates)")
31366
31529
  },
31367
31530
  themeVars: parseScssVar(styles$K.themeVars),
31368
31531
  defaultThemeVars: {
@@ -31380,17 +31543,15 @@ const SelectMd = createMetadata({
31380
31543
  [`paddingVertical-item-${COMP$J}`]: "$space-2",
31381
31544
  [`paddingHorizontal-${COMP$J}`]: "$space-2",
31382
31545
  [`paddingVertical-${COMP$J}`]: "$space-2",
31383
- [`opacity-text-item-${COMP$J}--disabled`]: "0.5",
31384
- [`opacity-${COMP$J}--disabled`]: "0.5",
31385
31546
  [`backgroundColor-${COMP$J}-badge--hover`]: "$color-primary-400",
31386
31547
  [`backgroundColor-${COMP$J}-badge--active`]: "$color-primary-500",
31387
- [`textColor-item-${COMP$J}--disabled`]: "$color-surface-200",
31548
+ [`textColor-item-${COMP$J}--disabled`]: "$color-surface-300",
31388
31549
  [`textColor-${COMP$J}-badge`]: "$const-color-surface-50",
31389
31550
  [`backgroundColor-item-${COMP$J}`]: "$backgroundColor-dropdown-item",
31390
31551
  [`backgroundColor-item-${COMP$J}--hover`]: "$backgroundColor-dropdown-item--hover",
31391
31552
  [`backgroundColor-item-${COMP$J}--active`]: "$backgroundColor-dropdown-item--active",
31392
- // Default borderColor-Input--disabled is too light so the disabled component is barely visible
31393
- [`borderColor-${COMP$J}--disabled`]: "initial",
31553
+ [`borderColor-${COMP$J}--disabled`]: "$borderColor--disabled",
31554
+ [`textColor-${COMP$J}--disabled`]: "$textColor--disabled",
31394
31555
  [`minHeight-${COMP$J}`]: "$space-7",
31395
31556
  [`minHeight-item-${COMP$J}`]: "$space-7"
31396
31557
  }
@@ -31406,7 +31567,8 @@ const selectComponentRenderer = createComponentRenderer(
31406
31567
  renderChild: renderChild2,
31407
31568
  lookupEventHandler,
31408
31569
  className,
31409
- registerComponentApi
31570
+ registerComponentApi,
31571
+ ...rest
31410
31572
  }) => {
31411
31573
  const multiSelect = extractValue.asOptionalBoolean(node.props.multiSelect);
31412
31574
  const searchable = extractValue.asOptionalBoolean(node.props.searchable);
@@ -31439,15 +31601,38 @@ const selectComponentRenderer = createComponentRenderer(
31439
31601
  dropdownHeight: extractValue(node.props.dropdownHeight),
31440
31602
  required: extractValue.asOptionalBoolean(node.props.required),
31441
31603
  modal: extractValue.asOptionalBoolean(node.props.modal),
31604
+ groupBy: extractValue(node.props.groupBy),
31605
+ groupHeaderRenderer: node.props.groupHeaderTemplate ? (groupName) => {
31606
+ return /* @__PURE__ */ jsx(
31607
+ MemoizedItem,
31608
+ {
31609
+ contextVars: {
31610
+ $group: groupName
31611
+ },
31612
+ node: node.props.groupHeaderTemplate,
31613
+ renderChild: renderChild2
31614
+ }
31615
+ );
31616
+ } : void 0,
31617
+ ungroupedHeaderRenderer: node.props.ungroupedHeaderTemplate ? () => {
31618
+ return /* @__PURE__ */ jsx(
31619
+ MemoizedItem,
31620
+ {
31621
+ contextVars: {},
31622
+ node: node.props.ungroupedHeaderTemplate,
31623
+ renderChild: renderChild2
31624
+ }
31625
+ );
31626
+ } : void 0,
31442
31627
  valueRenderer: node.props.valueTemplate ? (item2, removeItem) => {
31443
31628
  return /* @__PURE__ */ jsx(
31444
31629
  MemoizedItem,
31445
31630
  {
31446
31631
  contextVars: {
31632
+ $item: item2,
31447
31633
  $itemContext: { removeItem }
31448
31634
  },
31449
31635
  node: node.props.valueTemplate,
31450
- item: item2,
31451
31636
  renderChild: renderChild2
31452
31637
  }
31453
31638
  );
@@ -31457,8 +31642,8 @@ const selectComponentRenderer = createComponentRenderer(
31457
31642
  MemoizedItem,
31458
31643
  {
31459
31644
  node: node.props.optionTemplate,
31460
- item: item2,
31461
31645
  contextVars: {
31646
+ $item: item2,
31462
31647
  $selectedValue: val,
31463
31648
  $inTrigger: inTrigger
31464
31649
  },
@@ -32491,7 +32676,7 @@ const RootThemeDefinition = {
32491
32676
  "backgroundColor-tree-row--selected--before": $colorPrimary50,
32492
32677
  // --- Border colors
32493
32678
  borderColor: "rgb(from $color-surface-900 r g b / 0.1)",
32494
- "borderColor--disabled": $colorSurface100,
32679
+ "borderColor--disabled": $colorSurface200,
32495
32680
  // --- Text colors
32496
32681
  "textColor-secondary": $colorSurface600,
32497
32682
  // --- Input is an abstract component, so we define its default theme variables here
@@ -33815,6 +34000,7 @@ function Theme({
33815
34000
  id,
33816
34001
  isRoot = defaultProps$n.isRoot,
33817
34002
  applyIf,
34003
+ disableInlineStyle,
33818
34004
  renderChild: renderChild2,
33819
34005
  node,
33820
34006
  tone,
@@ -33911,7 +34097,8 @@ function Theme({
33911
34097
  themeStyles: themeCssVars,
33912
34098
  themeVars: allThemeVarsWithResolvedHierarchicalVars,
33913
34099
  getResourceUrl,
33914
- getThemeVar
34100
+ getThemeVar,
34101
+ disableInlineStyle
33915
34102
  };
33916
34103
  return themeVal;
33917
34104
  }, [
@@ -33922,7 +34109,8 @@ function Theme({
33922
34109
  getResourceUrl,
33923
34110
  getThemeVar,
33924
34111
  themeCssVars,
33925
- themeTone
34112
+ themeTone,
34113
+ disableInlineStyle
33926
34114
  ]);
33927
34115
  const { indexing } = useIndexerContext();
33928
34116
  const rootClasses = useMemo(() => {
@@ -34017,6 +34205,11 @@ const ThemeMd = createMetadata({
34017
34205
  void 0,
34018
34206
  "boolean",
34019
34207
  true
34208
+ ),
34209
+ disableInlineStyle: d(
34210
+ `This property controls whether inline styles are disabled for components within this theme. When undefined, uses the appGlobals.disableInlineStyle setting.`,
34211
+ void 0,
34212
+ "boolean"
34020
34213
  )
34021
34214
  },
34022
34215
  opaque: true
@@ -34037,6 +34230,7 @@ const themeComponentRenderer = createComponentRenderer(
34037
34230
  id: extractValue.asOptionalString(node.props.themeId),
34038
34231
  isRoot: extractValue.asOptionalBoolean(node.props.root),
34039
34232
  applyIf: extractValue.asOptionalBoolean(node.props.applyIf),
34233
+ disableInlineStyle: extractValue.asOptionalBoolean(node.props.disableInlineStyle),
34040
34234
  layoutContext,
34041
34235
  renderChild: renderChild2,
34042
34236
  tone: themeTone,
@@ -34060,8 +34254,8 @@ function Column({ nodeChildren, renderChild: renderChild2, ...columnMetadata })
34060
34254
  MemoizedItem,
34061
34255
  {
34062
34256
  node: nodeChildren,
34063
- item: row2,
34064
34257
  contextVars: {
34258
+ $item: row2,
34065
34259
  $rowIndex: rowIndex,
34066
34260
  $colIndex: colIndex,
34067
34261
  $row: row2,
@@ -34542,7 +34736,7 @@ async function callApi({ state, appContext, lookupAction, getCurrentState, apiIn
34542
34736
  });
34543
34737
  const result = await onErrorFn?.(e, stateContext["$param"]);
34544
34738
  const errorMessage = extractParam(
34545
- { ...stateContext, $error: e },
34739
+ { ...stateContext, $error: createContextVariableError(e) },
34546
34740
  errorNotificationMessage,
34547
34741
  appContext
34548
34742
  );
@@ -35989,7 +36183,7 @@ function DataLoader({
35989
36183
  async (error22) => {
35990
36184
  loaderError2(error22);
35991
36185
  if (onError) {
35992
- const result = await onError(error22);
36186
+ const result = await onError(createContextVariableError(error22));
35993
36187
  if (result === false) {
35994
36188
  if (loadingToastIdRef.current) {
35995
36189
  toast.dismiss(loadingToastIdRef.current);
@@ -36000,7 +36194,7 @@ function DataLoader({
36000
36194
  const errorMessage = extractParam(
36001
36195
  {
36002
36196
  ...stateRef.current.state,
36003
- $error: error22?.toString()
36197
+ $error: createContextVariableError(error22)
36004
36198
  },
36005
36199
  loader.props.errorNotificationMessage,
36006
36200
  stateRef.current.appContext
@@ -39123,7 +39317,7 @@ const Tabs = forwardRef(function Tabs2({
39123
39317
  className: classnames(className, styles$l.tabs, styles$l.accordionView),
39124
39318
  style: style2,
39125
39319
  children: /* @__PURE__ */ jsx(
39126
- Root$1,
39320
+ Root$2,
39127
39321
  {
39128
39322
  value: `${currentTab}`,
39129
39323
  onValueChange: (tab) => {
@@ -39139,7 +39333,7 @@ const Tabs = forwardRef(function Tabs2({
39139
39333
  className: styles$l.accordionRoot,
39140
39334
  children: /* @__PURE__ */ jsxs("div", { className: styles$l.accordionInterleaved, children: [
39141
39335
  /* @__PURE__ */ jsx(List, { className: styles$l.accordionList, children: tabItems.map((tab, index) => /* @__PURE__ */ jsx(
39142
- Trigger,
39336
+ Trigger$1,
39143
39337
  {
39144
39338
  value: tab.innerId,
39145
39339
  asChild: true,
@@ -39174,7 +39368,7 @@ const Tabs = forwardRef(function Tabs2({
39174
39368
  ) });
39175
39369
  }
39176
39370
  return /* @__PURE__ */ jsx(TabContext.Provider, { value: tabContextValue, children: /* @__PURE__ */ jsxs(
39177
- Root$1,
39371
+ Root$2,
39178
39372
  {
39179
39373
  ...rest,
39180
39374
  id: tabsId,
@@ -39206,7 +39400,7 @@ const Tabs = forwardRef(function Tabs2({
39206
39400
  children: [
39207
39401
  !distributeEvenly2 && !headerRenderer && tabAlignment === "end" && /* @__PURE__ */ jsx("div", { className: styles$l.filler, "data-orientation": orientation }),
39208
39402
  !distributeEvenly2 && !headerRenderer && tabAlignment === "center" && /* @__PURE__ */ jsx("div", { className: styles$l.filler, "data-orientation": orientation }),
39209
- tabItems.map((tab, index) => /* @__PURE__ */ jsx(Trigger, { value: tab.innerId, asChild: true, children: /* @__PURE__ */ jsx(
39403
+ tabItems.map((tab, index) => /* @__PURE__ */ jsx(Trigger$1, { value: tab.innerId, asChild: true, children: /* @__PURE__ */ jsx(
39210
39404
  "div",
39211
39405
  {
39212
39406
  role: "tab",
@@ -39313,7 +39507,6 @@ const tabsComponentRenderer = createComponentRenderer(
39313
39507
  MemoizedItem,
39314
39508
  {
39315
39509
  node: node.props.headerTemplate,
39316
- itemKey: "$header",
39317
39510
  contextVars: {
39318
39511
  $header: item2
39319
39512
  },
@@ -40020,7 +40213,7 @@ const TabItemComponent = forwardRef(function TabItemComponent2({ children, label
40020
40213
  const tabIndex = tabItems?.findIndex((item2) => item2.innerId === innerId) ?? 0;
40021
40214
  const contentOrder = tabIndex * 2 + 1;
40022
40215
  return /* @__PURE__ */ createElement(
40023
- Content,
40216
+ Content$1,
40024
40217
  {
40025
40218
  ...rest,
40026
40219
  key: innerId,
@@ -40068,7 +40261,6 @@ const tabItemComponentRenderer = createComponentRenderer(
40068
40261
  MemoizedItem,
40069
40262
  {
40070
40263
  node: node.props.headerTemplate,
40071
- itemKey: "$header",
40072
40264
  contextVars: {
40073
40265
  $header: {
40074
40266
  id: item2.id,
@@ -40215,7 +40407,9 @@ const accordionItemComponentRenderer = createComponentRenderer(
40215
40407
  MemoizedItem,
40216
40408
  {
40217
40409
  node: node.props.headerTemplate ?? { type: "Fragment" },
40218
- item: item2,
40410
+ contextVars: {
40411
+ $item: item2
40412
+ },
40219
40413
  renderChild: renderChild2
40220
40414
  }
40221
40415
  ) : void 0,
@@ -40853,12 +41047,51 @@ const carouselItemComponentRenderer = createComponentRenderer(
40853
41047
  return /* @__PURE__ */ jsx(CarouselItemComponent, { children: renderChild2(node.children) });
40854
41048
  }
40855
41049
  );
40856
- const breakout = "_breakout_puy20_2";
41050
+ const breakout = "_breakout_z3cnt_2";
40857
41051
  const styles$g = {
40858
41052
  breakout
40859
41053
  };
40860
41054
  const Breakout = ({ children, style: style2, ...rest }) => {
40861
- return /* @__PURE__ */ jsx("div", { ...rest, style: style2, className: styles$g.breakout, children });
41055
+ const ref = useRef(null);
41056
+ const [breakoutStyle, setBreakoutStyle] = useState({});
41057
+ const calculatedRef = useRef(false);
41058
+ useLayoutEffect(() => {
41059
+ const updateBreakoutStyle = () => {
41060
+ if (!ref.current) return;
41061
+ const currentMarginLeft = ref.current.style.marginLeft;
41062
+ const currentMarginRight = ref.current.style.marginRight;
41063
+ const currentWidth = ref.current.style.width;
41064
+ ref.current.style.marginLeft = "0px";
41065
+ ref.current.style.marginRight = "0px";
41066
+ ref.current.style.width = "auto";
41067
+ const rect = ref.current.getBoundingClientRect();
41068
+ const viewportWidth = window.innerWidth;
41069
+ ref.current.style.marginLeft = currentMarginLeft;
41070
+ ref.current.style.marginRight = currentMarginRight;
41071
+ ref.current.style.width = currentWidth;
41072
+ const offsetLeft = rect.left;
41073
+ const offsetRight = viewportWidth - rect.right;
41074
+ const newStyle = {
41075
+ marginLeft: `-${offsetLeft}px`,
41076
+ marginRight: `-${offsetRight}px`,
41077
+ width: `${viewportWidth}px`
41078
+ };
41079
+ setBreakoutStyle(newStyle);
41080
+ calculatedRef.current = true;
41081
+ };
41082
+ if (!calculatedRef.current) {
41083
+ updateBreakoutStyle();
41084
+ }
41085
+ const handleResize = () => {
41086
+ calculatedRef.current = false;
41087
+ updateBreakoutStyle();
41088
+ };
41089
+ window.addEventListener("resize", handleResize);
41090
+ return () => {
41091
+ window.removeEventListener("resize", handleResize);
41092
+ };
41093
+ }, []);
41094
+ return /* @__PURE__ */ jsx("div", { ...rest, ref, style: { ...breakoutStyle, ...style2 }, className: styles$g.breakout, children });
40862
41095
  };
40863
41096
  const COMP$n = "Breakout";
40864
41097
  const BreakoutMd = createMetadata({
@@ -41123,7 +41356,7 @@ const APICallMd = createMetadata({
41123
41356
  valueType: "string"
41124
41357
  },
41125
41358
  errorNotificationMessage: {
41126
- description: "This property defines the message to display automatically when the operation results in an error. You can use the `$error` context value in an expression to refer to the original error message.",
41359
+ description: "",
41127
41360
  valueType: "string"
41128
41361
  },
41129
41362
  completedNotificationMessage: {
@@ -41212,6 +41445,13 @@ const optionComponentRenderer = createComponentRenderer(
41212
41445
  }
41213
41446
  const hasTextNodeChild = node.children?.length === 1 && (node.children[0].type === "TextNode" || node.children[0].type === "TextNodeCData");
41214
41447
  const textNodeChild = hasTextNodeChild ? renderChild2(node.children) : void 0;
41448
+ const extraProps = {};
41449
+ const knownProps = /* @__PURE__ */ new Set(["label", "value", "enabled", "keywords"]);
41450
+ Object.keys(node.props).forEach((key) => {
41451
+ if (!knownProps.has(key)) {
41452
+ extraProps[key] = extractValue(node.props[key]);
41453
+ }
41454
+ });
41215
41455
  return /* @__PURE__ */ jsx(
41216
41456
  OptionNative,
41217
41457
  {
@@ -41229,6 +41469,7 @@ const optionComponentRenderer = createComponentRenderer(
41229
41469
  layoutContext
41230
41470
  }
41231
41471
  ) : void 0 : void 0,
41472
+ ...extraProps,
41232
41473
  children: !hasTextNodeChild && renderChild2(node.children)
41233
41474
  }
41234
41475
  );
@@ -41337,17 +41578,15 @@ const AutoCompleteMd = createMetadata({
41337
41578
  [`paddingVertical-item-${COMP$i}`]: "$space-2",
41338
41579
  [`paddingHorizontal-${COMP$i}`]: "$space-2",
41339
41580
  [`paddingVertical-${COMP$i}`]: "$space-2",
41340
- [`opacity-text-item-${COMP$i}--disabled`]: "0.5",
41341
- [`opacity-${COMP$i}--disabled`]: "0.5",
41342
41581
  [`backgroundColor-${COMP$i}-badge--hover`]: "$color-primary-400",
41343
41582
  [`backgroundColor-${COMP$i}-badge--active`]: "$color-primary-500",
41344
- [`textColor-item-${COMP$i}--disabled`]: "$color-surface-200",
41583
+ [`textColor-item-${COMP$i}--disabled`]: "$color-surface-300",
41345
41584
  [`textColor-${COMP$i}-badge`]: "$const-color-surface-50",
41346
41585
  [`backgroundColor-item-${COMP$i}`]: "$backgroundColor-dropdown-item",
41347
41586
  [`backgroundColor-item-${COMP$i}--hover`]: "$backgroundColor-dropdown-item--hover",
41348
41587
  [`backgroundColor-item-${COMP$i}--active`]: "$backgroundColor-dropdown-item--active",
41349
- // Default borderColor-Input--disabled is too light so the disabled component is barely visible
41350
- [`borderColor-${COMP$i}--disabled`]: "initial"
41588
+ [`borderColor-${COMP$i}--disabled`]: "$borderColor--disabled",
41589
+ [`textColor-${COMP$i}--disabled`]: "$textColor--disabled"
41351
41590
  }
41352
41591
  });
41353
41592
  const autoCompleteComponentRenderer = createComponentRenderer(
@@ -41391,8 +41630,8 @@ const autoCompleteComponentRenderer = createComponentRenderer(
41391
41630
  MemoizedItem,
41392
41631
  {
41393
41632
  node: node.props.optionTemplate,
41394
- item: item2,
41395
- context: {
41633
+ contextVars: {
41634
+ $item: item2,
41396
41635
  $selectedValue: val,
41397
41636
  $inTrigger: inTrigger
41398
41637
  },
@@ -43481,7 +43720,10 @@ const ColorPickerMd = createMetadata({
43481
43720
  }
43482
43721
  }
43483
43722
  },
43484
- themeVars: parseScssVar(styles$v.themeVars)
43723
+ themeVars: parseScssVar(styles$v.themeVars),
43724
+ defaultThemeVars: {
43725
+ [`width-${COMP$g}`]: "48px"
43726
+ }
43485
43727
  });
43486
43728
  const colorPickerComponentRenderer = createComponentRenderer(
43487
43729
  "ColorPicker",
@@ -44419,7 +44661,6 @@ const areaChartComponentRenderer = createComponentRenderer(
44419
44661
  MemoizedItem,
44420
44662
  {
44421
44663
  node: node.props.tooltipTemplate,
44422
- item: tooltipData,
44423
44664
  contextVars: {
44424
44665
  $tooltip: tooltipData
44425
44666
  },
@@ -44888,7 +45129,6 @@ const barChartComponentRenderer = createComponentRenderer(
44888
45129
  MemoizedItem,
44889
45130
  {
44890
45131
  node: node.props.tooltipTemplate,
44891
- item: tooltipData,
44892
45132
  contextVars: {
44893
45133
  $tooltip: tooltipData
44894
45134
  },
@@ -45669,7 +45909,6 @@ const lineChartComponentRenderer = createComponentRenderer(
45669
45909
  MemoizedItem,
45670
45910
  {
45671
45911
  node: node.props.tooltipTemplate,
45672
- item: tooltipData,
45673
45912
  contextVars: {
45674
45913
  $tooltip: tooltipData
45675
45914
  },
@@ -45970,7 +46209,6 @@ const radarChartComponentRenderer = createComponentRenderer(
45970
46209
  MemoizedItem,
45971
46210
  {
45972
46211
  node: node.props.tooltipTemplate,
45973
- item: tooltipData,
45974
46212
  contextVars: {
45975
46213
  $tooltip: tooltipData
45976
46214
  },
@@ -46357,8 +46595,6 @@ const toastComponentRenderer = createComponentRenderer(
46357
46595
  MemoizedItem,
46358
46596
  {
46359
46597
  node: template || node.children,
46360
- itemKey: "$_TEMP",
46361
- contextKey: "$_TEMP",
46362
46598
  contextVars: {
46363
46599
  $param: context
46364
46600
  },
@@ -47895,7 +48131,7 @@ function IconProvider({ children }) {
47895
48131
  /* @__PURE__ */ jsx("svg", { style: { display: "none" }, ref: spriteRootRef })
47896
48132
  ] });
47897
48133
  }
47898
- const version = "0.11.19";
48134
+ const version = "0.11.21";
47899
48135
  const miscellaneousUtils = {
47900
48136
  capitalize,
47901
48137
  pluralize: pluralize$1,
@@ -51201,7 +51437,7 @@ const ComponentAdapter = forwardRef(function ComponentAdapter2({
51201
51437
  memoedLookupEventHandler,
51202
51438
  descriptor?.nonVisual || isApiBound || isCompoundComponent
51203
51439
  );
51204
- const { getResourceUrl } = useTheme();
51440
+ const { getResourceUrl, disableInlineStyle: themeDisableInlineStyle } = useTheme();
51205
51441
  const extractResourceUrl = useCallback(
51206
51442
  (url) => {
51207
51443
  const extractedUrl = valueExtractor(url);
@@ -51219,10 +51455,14 @@ const ComponentAdapter = forwardRef(function ComponentAdapter2({
51219
51455
  resolvedLayoutProps[key] = valueExtractor(safeNode.props[key], true);
51220
51456
  }
51221
51457
  });
51222
- return resolveLayoutProps(resolvedLayoutProps, {
51223
- ...layoutContextRef?.current,
51224
- mediaSize: appContext.mediaSize
51225
- });
51458
+ return resolveLayoutProps(
51459
+ resolvedLayoutProps,
51460
+ {
51461
+ ...layoutContextRef?.current,
51462
+ mediaSize: appContext.mediaSize
51463
+ },
51464
+ themeDisableInlineStyle ?? appContext.appGlobals?.disableInlineStyle
51465
+ );
51226
51466
  }, [appContext.mediaSize, layoutContextRef, safeNode.props, valueExtractor]);
51227
51467
  const stableLayoutCss = useShallowCompareMemoize(cssProps);
51228
51468
  const className = useComponentStyle(stableLayoutCss);
@@ -52815,7 +53055,7 @@ const DataSourceMd = createMetadata({
52815
53055
  valueType: "string"
52816
53056
  },
52817
53057
  errorNotificationMessage: {
52818
- description: "Set the message to display when the there is an error. You can use the `$error` context value in an expression to refer to the original error message.",
53058
+ description: "",
52819
53059
  valueType: "string"
52820
53060
  },
52821
53061
  resultSelector: {