xmlui 0.11.11 → 0.11.13

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.
@@ -12,8 +12,7 @@ import { formatDistanceToNow, parse, format, parseISO, isValid, isToday, isYeste
12
12
  import classnames from "classnames";
13
13
  import { c as PART_LABELED_ITEM, d as PART_LABEL, b as PART_INPUT, P as PART_START_ADORNMENT, a as PART_END_ADORNMENT, x as xmlUiMarkupToComponent, e as errReportComponent, f as errReportMessage, g as errReportScriptError, h as errReportModuleErrors } from "./xmlui-parser-CW8YmGjO.js";
14
14
  import Color from "color";
15
- import * as ReactDropdownMenu 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";
15
+ import { Popover, PopoverTrigger, Portal, PopoverContent, PopoverPortal } from "@radix-ui/react-popover";
17
16
  import * as VisuallyHidden$1 from "@radix-ui/react-visually-hidden";
18
17
  import { VisuallyHidden as VisuallyHidden$2 } from "@radix-ui/react-visually-hidden";
19
18
  import TextareaAutosize from "react-textarea-autosize";
@@ -23,13 +22,13 @@ import * as SheetPrimitive from "@radix-ui/react-dialog";
23
22
  import { useContextSelector, createContext as createContext$1 } from "use-context-selector";
24
23
  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";
25
24
  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, PopoverContent, PopoverPortal } from "@radix-ui/react-popover";
33
32
  import * as InnerRadioGroup from "@radix-ui/react-radio-group";
34
33
  import { DayPicker } from "react-day-picker";
35
34
  import { Root, Track, Range, Thumb } from "@radix-ui/react-slider";
@@ -1824,6 +1823,9 @@ const Button = React__default.forwardRef(function Button2({
1824
1823
  }, 0);
1825
1824
  }
1826
1825
  }, [autoFocus]);
1826
+ if (variant === "") {
1827
+ variant = defaultProps$1f.variant;
1828
+ }
1827
1829
  const iconToLeft = iconPosition === "start";
1828
1830
  if (!isSizeType(size)) {
1829
1831
  size = defaultProps$1f.size;
@@ -3360,6 +3362,11 @@ function useFindIconRenderer(name, fallback) {
3360
3362
  }
3361
3363
  return { iconRenderer: null, iconName: null };
3362
3364
  }
3365
+ const DropdownMenuContext = createContext(null);
3366
+ const useDropdownMenuContext = () => {
3367
+ const context = useContext(DropdownMenuContext);
3368
+ return context;
3369
+ };
3363
3370
  const defaultDropdownMenuProps = {
3364
3371
  alignment: "start",
3365
3372
  triggerButtonVariant: "ghost",
@@ -3400,11 +3407,44 @@ const DropdownMenu = forwardRef(function DropdownMenu2({
3400
3407
  }
3401
3408
  };
3402
3409
  }, []);
3403
- return /* @__PURE__ */ jsxs(
3404
- ReactDropdownMenu.Root,
3410
+ const closeMenu = useCallback(() => {
3411
+ setOpen(false);
3412
+ }, []);
3413
+ const contentRef = useRef(null);
3414
+ const handleKeyDown = useCallback((event) => {
3415
+ if (event.key === "Escape") {
3416
+ setOpen(false);
3417
+ return;
3418
+ }
3419
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
3420
+ event.preventDefault();
3421
+ const content2 = contentRef.current;
3422
+ if (!content2) return;
3423
+ const menuItems = Array.from(
3424
+ content2.querySelectorAll('[role="menuitem"]:not([class*="disabled"])')
3425
+ );
3426
+ if (menuItems.length === 0) return;
3427
+ const currentIndex = menuItems.findIndex((item2) => item2 === document.activeElement);
3428
+ let nextIndex;
3429
+ if (currentIndex === -1) {
3430
+ nextIndex = event.key === "ArrowDown" ? 0 : menuItems.length - 1;
3431
+ } else if (event.key === "ArrowDown") {
3432
+ nextIndex = currentIndex < menuItems.length - 1 ? currentIndex + 1 : 0;
3433
+ } else {
3434
+ nextIndex = currentIndex > 0 ? currentIndex - 1 : menuItems.length - 1;
3435
+ }
3436
+ menuItems[nextIndex]?.focus();
3437
+ }
3438
+ if (event.key === "Enter" || event.key === " ") {
3439
+ return;
3440
+ }
3441
+ }, []);
3442
+ return /* @__PURE__ */ jsx(DropdownMenuContext.Provider, { value: { closeMenu }, children: /* @__PURE__ */ jsxs(
3443
+ Popover,
3405
3444
  {
3406
3445
  open,
3407
3446
  onOpenChange: async (isOpen) => {
3447
+ if (disabled2) return;
3408
3448
  if (isOpen) {
3409
3449
  if (closeTimeoutRef.current) {
3410
3450
  clearTimeout(closeTimeoutRef.current);
@@ -3422,31 +3462,51 @@ const DropdownMenu = forwardRef(function DropdownMenu2({
3422
3462
  }, 0);
3423
3463
  }
3424
3464
  },
3465
+ modal: false,
3425
3466
  children: [
3426
- /* @__PURE__ */ jsx(ReactDropdownMenu.Trigger, { ...rest, asChild: true, disabled: disabled2, ref, children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx(
3427
- Button,
3467
+ /* @__PURE__ */ jsx(
3468
+ PopoverTrigger,
3428
3469
  {
3429
- icon: /* @__PURE__ */ jsx(Icon, { name: triggerButtonIcon, fallback: "chevrondown" }),
3430
- iconPosition: triggerButtonIconPosition,
3431
- type: "button",
3432
- variant: triggerButtonVariant,
3433
- themeColor: triggerButtonThemeColor,
3470
+ ...rest,
3471
+ asChild: true,
3434
3472
  disabled: disabled2,
3435
- children: label2
3473
+ ref,
3474
+ "aria-haspopup": "menu",
3475
+ "aria-expanded": open,
3476
+ children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx(
3477
+ Button,
3478
+ {
3479
+ icon: /* @__PURE__ */ jsx(Icon, { name: triggerButtonIcon, fallback: "chevrondown" }),
3480
+ iconPosition: triggerButtonIconPosition,
3481
+ type: "button",
3482
+ variant: triggerButtonVariant,
3483
+ themeColor: triggerButtonThemeColor,
3484
+ disabled: disabled2,
3485
+ children: label2
3486
+ }
3487
+ )
3436
3488
  }
3437
- ) }),
3438
- /* @__PURE__ */ jsx(ReactDropdownMenu.Portal, { container: root2, children: /* @__PURE__ */ jsx(
3439
- ReactDropdownMenu.Content,
3489
+ ),
3490
+ /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
3491
+ PopoverContent,
3440
3492
  {
3493
+ ref: contentRef,
3441
3494
  align: alignment,
3442
3495
  style: style2,
3443
3496
  className: classnames(styles$1h.DropdownMenuContent, className),
3497
+ onOpenAutoFocus: (e) => {
3498
+ e.preventDefault();
3499
+ contentRef.current?.focus();
3500
+ },
3501
+ onKeyDownCapture: handleKeyDown,
3502
+ role: "menu",
3503
+ tabIndex: -1,
3444
3504
  children
3445
3505
  }
3446
3506
  ) })
3447
3507
  ]
3448
3508
  }
3449
- );
3509
+ ) });
3450
3510
  });
3451
3511
  const defaultMenuItemProps = {
3452
3512
  iconPosition: "start",
@@ -3464,26 +3524,45 @@ const MenuItem = forwardRef(function MenuItem2({
3464
3524
  enabled: enabled2 = true
3465
3525
  }, ref) {
3466
3526
  const iconToStart = iconPosition === "start";
3527
+ const context = useDropdownMenuContext();
3528
+ const handleClick = useCallback(
3529
+ (event) => {
3530
+ if (!enabled2) return;
3531
+ onClick(event);
3532
+ context?.closeMenu();
3533
+ },
3534
+ [enabled2, onClick, context]
3535
+ );
3536
+ const handleKeyDown = useCallback(
3537
+ (event) => {
3538
+ if (!enabled2) return;
3539
+ if (event.key === "Enter") {
3540
+ event.preventDefault();
3541
+ event.stopPropagation();
3542
+ onClick(event);
3543
+ context?.closeMenu();
3544
+ } else if (event.key === " ") {
3545
+ event.preventDefault();
3546
+ event.stopPropagation();
3547
+ onClick(event);
3548
+ context?.closeMenu();
3549
+ }
3550
+ },
3551
+ [enabled2, onClick, context]
3552
+ );
3467
3553
  return /* @__PURE__ */ jsxs(
3468
- ReactDropdownMenu.Item,
3554
+ "div",
3469
3555
  {
3470
3556
  style: style2,
3471
3557
  className: classnames(className, styles$1h.DropdownMenuItem, {
3472
3558
  [styles$1h.active]: active2,
3473
3559
  [styles$1h.disabled]: !enabled2
3474
3560
  }),
3475
- onClick: (event) => {
3476
- if (!enabled2) {
3477
- event.preventDefault();
3478
- event.stopPropagation();
3479
- return;
3480
- }
3481
- event.stopPropagation();
3482
- if (enabled2) {
3483
- onClick(event);
3484
- }
3485
- },
3486
3561
  ref,
3562
+ onClick: handleClick,
3563
+ onKeyDown: handleKeyDown,
3564
+ role: "menuitem",
3565
+ tabIndex: enabled2 ? 0 : -1,
3487
3566
  children: [
3488
3567
  iconToStart && icon2,
3489
3568
  /* @__PURE__ */ jsx("div", { className: styles$1h.wrapper, children: label2 ?? children }),
@@ -3492,17 +3571,38 @@ const MenuItem = forwardRef(function MenuItem2({
3492
3571
  }
3493
3572
  );
3494
3573
  });
3495
- const SubMenuItem = forwardRef(
3496
- function SubMenuItem2({ children, label: label2, triggerTemplate }, ref) {
3497
- const { root: root2 } = useTheme();
3498
- return /* @__PURE__ */ jsxs(ReactDropdownMenu.Sub, { children: [
3499
- /* @__PURE__ */ jsx(ReactDropdownMenu.SubTrigger, { className: styles$1h.DropdownMenuSubTrigger, asChild: true, ref, children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx("div", { children: label2 }) }),
3500
- /* @__PURE__ */ jsx(ReactDropdownMenu.Portal, { container: root2, children: /* @__PURE__ */ jsx(ReactDropdownMenu.SubContent, { className: styles$1h.DropdownMenuSubContent, children }) })
3501
- ] });
3502
- }
3503
- );
3574
+ const SubMenuItem = forwardRef(function SubMenuItem2({ children, label: label2, triggerTemplate }, ref) {
3575
+ const { root: root2 } = useTheme();
3576
+ const [open, setOpen] = useState(false);
3577
+ return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, modal: false, children: [
3578
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
3579
+ "div",
3580
+ {
3581
+ className: styles$1h.DropdownMenuSubTrigger,
3582
+ role: "menuitem",
3583
+ tabIndex: 0,
3584
+ ref,
3585
+ onMouseEnter: () => setOpen(true),
3586
+ onMouseLeave: () => setOpen(false),
3587
+ children: triggerTemplate ? triggerTemplate : /* @__PURE__ */ jsx("div", { children: label2 })
3588
+ }
3589
+ ) }),
3590
+ /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
3591
+ PopoverContent,
3592
+ {
3593
+ className: styles$1h.DropdownMenuSubContent,
3594
+ side: "right",
3595
+ align: "start",
3596
+ onMouseEnter: () => setOpen(true),
3597
+ onMouseLeave: () => setOpen(false),
3598
+ onOpenAutoFocus: (e) => e.preventDefault(),
3599
+ children
3600
+ }
3601
+ ) })
3602
+ ] });
3603
+ });
3504
3604
  const MenuSeparator = forwardRef(function MenuSeparator2(props, ref) {
3505
- return /* @__PURE__ */ jsx(ReactDropdownMenu.Separator, { ref, className: styles$1h.DropdownMenuSeparator, ...props });
3605
+ return /* @__PURE__ */ jsx("div", { ref, className: styles$1h.DropdownMenuSeparator, role: "separator", ...props });
3506
3606
  });
3507
3607
  const ResponsiveBarDropdown = ({
3508
3608
  overflowIcon,
@@ -8072,9 +8172,16 @@ const DropDownNavGroup = forwardRef(function DropDownNavGroup2({
8072
8172
  Trigger2 = DropdownMenuSubTrigger$1;
8073
8173
  Content2 = DropdownMenuSubContent$1;
8074
8174
  }
8075
- const [expanded2, setExpanded] = useState(initiallyExpanded);
8175
+ const [expanded2, setExpanded] = useState(false);
8076
8176
  const [renderCount, setRenderCount] = useState(false);
8077
- useEffect(() => setRenderCount(true), []);
8177
+ useEffect(() => {
8178
+ setRenderCount(true);
8179
+ if (initiallyExpanded) {
8180
+ requestAnimationFrame(() => {
8181
+ setExpanded(true);
8182
+ });
8183
+ }
8184
+ }, [initiallyExpanded]);
8078
8185
  return /* @__PURE__ */ jsxs(
8079
8186
  Wrapper,
8080
8187
  {
@@ -8284,8 +8391,6 @@ const NavLinkMd = createMetadata({
8284
8391
  [`fontFamily-${COMP$1t}`]: "$fontFamily",
8285
8392
  [`textColor-${COMP$1t}`]: "$textColor-primary",
8286
8393
  [`textColor-${COMP$1t}--active`]: "$color-primary-500",
8287
- [`fontWeight-${COMP$1t}--active`]: "$fontWeight-bold",
8288
- [`fontWeight-${COMP$1t}--pressed`]: "$fontWeight-bold",
8289
8394
  [`thickness-indicator-${COMP$1t}`]: "$space-0_5",
8290
8395
  [`outlineColor-${COMP$1t}--focus`]: "$outlineColor--focus",
8291
8396
  [`outlineWidth-${COMP$1t}--focus`]: "$outlineWidth--focus",
@@ -19896,9 +20001,10 @@ const TextBox = forwardRef(function TextBox2({
19896
20001
  useEffect(() => {
19897
20002
  setLocalValue(value);
19898
20003
  }, [value]);
20004
+ const normalizedInitialValue = initialValue ?? "";
19899
20005
  useEffect(() => {
19900
- updateState({ value: initialValue }, { initial: true });
19901
- }, [initialValue, updateState]);
20006
+ updateState({ value: normalizedInitialValue }, { initial: true });
20007
+ }, [normalizedInitialValue, updateState]);
19902
20008
  const updateValue = useCallback(
19903
20009
  (value2) => {
19904
20010
  setLocalValue(value2);
@@ -19980,6 +20086,15 @@ const TextBox = forwardRef(function TextBox2({
19980
20086
  required: required2
19981
20087
  }
19982
20088
  ),
20089
+ !readOnly2 && enabled2 && type == "search" && localValue?.length > 0 && /* @__PURE__ */ jsx(
20090
+ Adornment,
20091
+ {
20092
+ "data-part-id": PART_END_ADORNMENT,
20093
+ iconName: "close",
20094
+ className: styles$N.adornment,
20095
+ onClick: () => updateValue("")
20096
+ }
20097
+ ),
19983
20098
  type === "password" && showPasswordToggle ? /* @__PURE__ */ jsx(
19984
20099
  Adornment,
19985
20100
  {
@@ -24408,7 +24523,7 @@ function ApiInterceptorProvider({
24408
24523
  return;
24409
24524
  }
24410
24525
  void (async () => {
24411
- const { initMock } = await import("./initMock-DK8FL64P.js");
24526
+ const { initMock } = await import("./initMock-BuPNXouY.js");
24412
24527
  const apiInstance2 = await initMock(interceptor);
24413
24528
  setApiInstance(apiInstance2);
24414
24529
  setInitialized(true);
@@ -24425,7 +24540,7 @@ function ApiInterceptorProvider({
24425
24540
  if (process.env.VITE_MOCK_ENABLED) {
24426
24541
  const [{ createApiInterceptorWorker }, { initMock }] = await Promise.all([
24427
24542
  useWorker ? import("./apiInterceptorWorker-dwrAyq6l.js") : Promise.resolve({ createApiInterceptorWorker: () => null }),
24428
- import("./initMock-DK8FL64P.js")
24543
+ import("./initMock-BuPNXouY.js")
24429
24544
  ]);
24430
24545
  if (interceptor || forceInitialize) {
24431
24546
  const apiInstance2 = await initMock(interceptor || {});
@@ -24462,7 +24577,7 @@ function ApiInterceptorProvider({
24462
24577
  void (async () => {
24463
24578
  const [{ createApiInterceptorWorker }, { initMock }] = await Promise.all([
24464
24579
  import("./apiInterceptorWorker-dwrAyq6l.js"),
24465
- import("./initMock-DK8FL64P.js")
24580
+ import("./initMock-BuPNXouY.js")
24466
24581
  ]);
24467
24582
  const apiInstance2 = await initMock(interceptor);
24468
24583
  await createApiInterceptorWorker(apiInstance2, parentInterceptorWorker);
@@ -24564,29 +24679,30 @@ function useComponentRegistry() {
24564
24679
  return useContext(ComponentRegistryContext);
24565
24680
  }
24566
24681
  const themeVars$f = `'{"padding-NestedApp": "var(--xmlui-padding-NestedApp)", "paddingHorizontal-NestedApp": "var(--xmlui-paddingHorizontal-NestedApp, var(--xmlui-padding-NestedApp))", "paddingVertical-NestedApp": "var(--xmlui-paddingVertical-NestedApp, var(--xmlui-padding-NestedApp))", "paddingLeft-NestedApp": "var(--xmlui-paddingLeft-NestedApp, var(--xmlui-paddingHorizontal-NestedApp, var(--xmlui-padding-NestedApp)))", "paddingRight-NestedApp": "var(--xmlui-paddingRight-NestedApp, var(--xmlui-paddingHorizontal-NestedApp, var(--xmlui-padding-NestedApp)))", "paddingTop-NestedApp": "var(--xmlui-paddingTop-NestedApp, var(--xmlui-paddingVertical-NestedApp, var(--xmlui-padding-NestedApp)))", "paddingBottom-NestedApp": "var(--xmlui-paddingBottom-NestedApp, var(--xmlui-paddingVertical-NestedApp, var(--xmlui-padding-NestedApp)))", "border-NestedApp": "var(--xmlui-border-NestedApp)", "borderHorizontal-NestedApp": "var(--xmlui-borderHorizontal-NestedApp, var(--xmlui-border-NestedApp))", "borderVertical-NestedApp": "var(--xmlui-borderVertical-NestedApp, var(--xmlui-border-NestedApp))", "borderLeft-NestedApp": "var(--xmlui-borderLeft-NestedApp, var(--xmlui-borderHorizontal-NestedApp, var(--xmlui-border-NestedApp)))", "borderRight-NestedApp": "var(--xmlui-borderRight-NestedApp, var(--xmlui-borderHorizontal-NestedApp, var(--xmlui-border-NestedApp)))", "borderTop-NestedApp": "var(--xmlui-borderTop-NestedApp, var(--xmlui-borderVertical-NestedApp, var(--xmlui-border-NestedApp)))", "borderBottom-NestedApp": "var(--xmlui-borderBottom-NestedApp, var(--xmlui-borderVertical-NestedApp, var(--xmlui-border-NestedApp)))", "borderWidth-NestedApp": "var(--xmlui-borderWidth-NestedApp)", "borderHorizontalWidth-NestedApp": "var(--xmlui-borderHorizontalWidth-NestedApp, var(--xmlui-borderWidth-NestedApp))", "borderLeftWidth-NestedApp": "var(--xmlui-borderLeftWidth-NestedApp, var(--xmlui-borderHorizontalWidth-NestedApp, var(--xmlui-borderWidth-NestedApp)))", "borderRightWidth-NestedApp": "var(--xmlui-borderRightWidth-NestedApp, var(--xmlui-borderHorizontalWidth-NestedApp, var(--xmlui-borderWidth-NestedApp)))", "borderVerticalWidth-NestedApp": "var(--xmlui-borderVerticalWidth-NestedApp, var(--xmlui-borderWidth-NestedApp))", "borderTopWidth-NestedApp": "var(--xmlui-borderTopWidth-NestedApp, var(--xmlui-borderVerticalWidth-NestedApp, var(--xmlui-borderWidth-NestedApp)))", "borderBottomWidth-NestedApp": "var(--xmlui-borderBottomWidth-NestedApp, var(--xmlui-borderVerticalWidth-NestedApp, var(--xmlui-borderWidth-NestedApp)))", "borderStyle-NestedApp": "var(--xmlui-borderStyle-NestedApp)", "borderHorizontalStyle-NestedApp": "var(--xmlui-borderHorizontalStyle-NestedApp, var(--xmlui-borderStyle-NestedApp))", "borderLeftStyle-NestedApp": "var(--xmlui-borderLeftStyle-NestedApp, var(--xmlui-borderHorizontalStyle-NestedApp, var(--xmlui-borderStyle-NestedApp)))", "borderRightStyle-NestedApp": "var(--xmlui-borderRightStyle-NestedApp, var(--xmlui-borderHorizontalStyle-NestedApp, var(--xmlui-borderStyle-NestedApp)))", "borderVerticalStyle-NestedApp": "var(--xmlui-borderVerticalStyle-NestedApp, var(--xmlui-borderStyle-NestedApp))", "borderTopStyle-NestedApp": "var(--xmlui-borderTopStyle-NestedApp, var(--xmlui-borderVerticalStyle-NestedApp, var(--xmlui-borderStyle-NestedApp)))", "borderBottomStyle-NestedApp": "var(--xmlui-borderBottomStyle-NestedApp, var(--xmlui-borderVerticalStyle-NestedApp, var(--xmlui-borderStyle-NestedApp)))", "borderColor-NestedApp": "var(--xmlui-borderColor-NestedApp)", "borderHorizontalColor-NestedApp": "var(--xmlui-borderHorizontalColor-NestedApp, var(--xmlui-borderColor-NestedApp))", "borderLeftColor-NestedApp": "var(--xmlui-borderLeftColor-NestedApp, var(--xmlui-borderHorizontalColor-NestedApp, var(--xmlui-borderColor-NestedApp)))", "borderRightColor-NestedApp": "var(--xmlui-borderRightColor-NestedApp, var(--xmlui-borderHorizontalColor-NestedApp, var(--xmlui-borderColor-NestedApp)))", "borderVerticalColor-NestedApp": "var(--xmlui-borderVerticalColor-NestedApp, var(--xmlui-borderColor-NestedApp))", "borderTopColor-NestedApp": "var(--xmlui-borderTopColor-NestedApp, var(--xmlui-borderVerticalColor-NestedApp, var(--xmlui-borderColor-NestedApp)))", "borderBottomColor-NestedApp": "var(--xmlui-borderBottomColor-NestedApp, var(--xmlui-borderVerticalColor-NestedApp, var(--xmlui-borderColor-NestedApp)))", "borderStartStartRadius-NestedApp": "var(--xmlui-borderStartStartRadius-NestedApp, var(--xmlui-borderRadius-NestedApp))", "borderStartEndRadius-NestedApp": "var(--xmlui-borderStartEndRadius-NestedApp, var(--xmlui-borderRadius-NestedApp))", "borderEndStartRadius-NestedApp": "var(--xmlui-borderEndStartRadius-NestedApp, var(--xmlui-borderRadius-NestedApp))", "borderEndEndRadius-NestedApp": "var(--xmlui-borderEndEndRadius-NestedApp, var(--xmlui-borderRadius-NestedApp))", "textColor-header-NestedApp": "var(--xmlui-textColor-header-NestedApp)", "fontFamily-header-NestedApp": "var(--xmlui-fontFamily-header-NestedApp)", "fontSize-header-NestedApp": "var(--xmlui-fontSize-header-NestedApp)", "fontStyle-header-NestedApp": "var(--xmlui-fontStyle-header-NestedApp)", "fontVariant-header-NestedApp": "var(--xmlui-fontVariant-header-NestedApp)", "fontWeight-header-NestedApp": "var(--xmlui-fontWeight-header-NestedApp)", "fontStretch-header-NestedApp": "var(--xmlui-fontStretch-header-NestedApp)", "textDecorationLine-header-NestedApp": "var(--xmlui-textDecorationLine-header-NestedApp)", "textDecorationColor-header-NestedApp": "var(--xmlui-textDecorationColor-header-NestedApp)", "textDecorationStyle-header-NestedApp": "var(--xmlui-textDecorationStyle-header-NestedApp)", "textDecorationThickness-header-NestedApp": "var(--xmlui-textDecorationThickness-header-NestedApp)", "textUnderlineOffset-header-NestedApp": "var(--xmlui-textUnderlineOffset-header-NestedApp)", "lineHeight-header-NestedApp": "var(--xmlui-lineHeight-header-NestedApp)", "backgroundColor-header-NestedApp": "var(--xmlui-backgroundColor-header-NestedApp)", "textTransform-header-NestedApp": "var(--xmlui-textTransform-header-NestedApp)", "letterSpacing-header-NestedApp": "var(--xmlui-letterSpacing-header-NestedApp)", "wordSpacing-header-NestedApp": "var(--xmlui-wordSpacing-header-NestedApp)", "textShadow-header-NestedApp": "var(--xmlui-textShadow-header-NestedApp)", "textIndent-header-NestedApp": "var(--xmlui-textIndent-header-NestedApp)", "textAlign-header-NestedApp": "var(--xmlui-textAlign-header-NestedApp)", "textAlignLast-header-NestedApp": "var(--xmlui-textAlignLast-header-NestedApp)", "wordBreak-header-NestedApp": "var(--xmlui-wordBreak-header-NestedApp)", "wordWrap-header-NestedApp": "var(--xmlui-wordWrap-header-NestedApp)", "direction-header-NestedApp": "var(--xmlui-direction-header-NestedApp)", "writingMode-header-NestedApp": "var(--xmlui-writingMode-header-NestedApp)", "lineBreak-header-NestedApp": "var(--xmlui-lineBreak-header-NestedApp)", "backgroundColor-frame-NestedApp": "var(--xmlui-backgroundColor-frame-NestedApp)", "gap-frame-NestedApp": "var(--xmlui-gap-frame-NestedApp)", "marginTop-NestedApp": "var(--xmlui-marginTop-NestedApp)", "marginBottom-NestedApp": "var(--xmlui-marginBottom-NestedApp)", "boxShadow-NestedApp": "var(--xmlui-boxShadow-NestedApp)", "backgroundColor-viewControls-NestedApp": "var(--xmlui-backgroundColor-viewControls-NestedApp)", "borderRadius-viewControls-NestedApp": "var(--xmlui-borderRadius-viewControls-NestedApp)", "padding-viewControls-NestedApp": "var(--xmlui-padding-viewControls-NestedApp)", "paddingVertical-viewControls-button-NestedApp": "var(--xmlui-paddingVertical-viewControls-button-NestedApp)", "paddingHorizontal-viewControls-button-NestedApp": "var(--xmlui-paddingHorizontal-viewControls-button-NestedApp)", "borderRadius-NestedApp": "var(--xmlui-borderRadius-NestedApp)", "borderBottom-header-NestedApp": "var(--xmlui-borderBottom-header-NestedApp)", "height-logo-splitView-NestedApp": "var(--xmlui-height-logo-splitView-NestedApp)", "width-logo-splitView-NestedApp": "var(--xmlui-width-logo-splitView-NestedApp)", "width-controls-NestedApp": "var(--xmlui-width-controls-NestedApp)", "padding-button-splitView-NestedApp": "var(--xmlui-padding-button-splitView-NestedApp)", "width-button-splitView-NestedApp": "var(--xmlui-width-button-splitView-NestedApp)", "height-button-splitView-NestedApp": "var(--xmlui-height-button-splitView-NestedApp)", "backgroundColor-code-splitView-NestedApp": "var(--xmlui-backgroundColor-code-splitView-NestedApp)", "backgroundColor-button-splitView-NestedApp--active": "var(--xmlui-backgroundColor-button-splitView-NestedApp--active)", "color-button-splitView-NestedApp": "var(--xmlui-color-button-splitView-NestedApp)", "color-button-splitView-NestedApp--active": "var(--xmlui-color-button-splitView-NestedApp--active)", "borderRadius-button-splitView-NestedApp": "var(--xmlui-borderRadius-button-splitView-NestedApp)", "borderColor-button-splitView-NestedApp": "var(--xmlui-borderColor-button-splitView-NestedApp)", "color-loadingText-NestedApp": "var(--xmlui-color-loadingText-NestedApp)"}'`;
24567
- const nestedAppPlaceholder = "_nestedAppPlaceholder_2bz33_14";
24568
- const loadingContainer = "_loadingContainer_2bz33_21";
24569
- const logoWrapper = "_logoWrapper_2bz33_34";
24570
- const animatedLogoPath = "_animatedLogoPath_2bz33_39";
24571
- const loadingText = "_loadingText_2bz33_47";
24572
- const nestedAppRoot = "_nestedAppRoot_2bz33_71";
24573
- const shouldAnimate = "_shouldAnimate_2bz33_79";
24574
- const initialized = "_initialized_2bz33_83";
24575
- const nestedAppContainer = "_nestedAppContainer_2bz33_90";
24576
- const contentContainer = "_contentContainer_2bz33_109";
24577
- const splitViewMarkdown = "_splitViewMarkdown_2bz33_116";
24578
- const hidden = "_hidden_2bz33_125";
24579
- const viewControls = "_viewControls_2bz33_134";
24580
- const logo = "_logo_2bz33_34";
24581
- const splitViewButton = "_splitViewButton_2bz33_146";
24582
- const show = "_show_2bz33_154";
24583
- const hide = "_hide_2bz33_161";
24584
- const header$1 = "_header_2bz33_167";
24585
- const headerText = "_headerText_2bz33_175";
24586
- const headerButton = "_headerButton_2bz33_204";
24587
- const wrapper$9 = "_wrapper_2bz33_211";
24588
- const shadowRoot = "_shadowRoot_2bz33_214";
24589
- const content$2 = "_content_2bz33_109";
24682
+ const nestedAppPlaceholder = "_nestedAppPlaceholder_1n7j8_14";
24683
+ const loadingContainer = "_loadingContainer_1n7j8_21";
24684
+ const logoWrapper = "_logoWrapper_1n7j8_34";
24685
+ const animatedLogoPath = "_animatedLogoPath_1n7j8_39";
24686
+ const loadingText = "_loadingText_1n7j8_47";
24687
+ const nestedAppRoot = "_nestedAppRoot_1n7j8_71";
24688
+ const shouldAnimate = "_shouldAnimate_1n7j8_79";
24689
+ const initialized = "_initialized_1n7j8_83";
24690
+ const nestedAppContainer = "_nestedAppContainer_1n7j8_90";
24691
+ const contentContainer = "_contentContainer_1n7j8_109";
24692
+ const splitViewMarkdown = "_splitViewMarkdown_1n7j8_116";
24693
+ const hidden = "_hidden_1n7j8_125";
24694
+ const viewControls = "_viewControls_1n7j8_134";
24695
+ const logo = "_logo_1n7j8_34";
24696
+ const splitViewButton = "_splitViewButton_1n7j8_146";
24697
+ const show = "_show_1n7j8_154";
24698
+ const hide = "_hide_1n7j8_161";
24699
+ const header$1 = "_header_1n7j8_167";
24700
+ const headerText = "_headerText_1n7j8_175";
24701
+ const headerButton = "_headerButton_1n7j8_204";
24702
+ const wrapper$9 = "_wrapper_1n7j8_211";
24703
+ const controlWrapper = "_controlWrapper_1n7j8_214";
24704
+ const shadowRoot = "_shadowRoot_1n7j8_219";
24705
+ const content$2 = "_content_1n7j8_109";
24590
24706
  const styles$x = {
24591
24707
  themeVars: themeVars$f,
24592
24708
  nestedAppPlaceholder,
@@ -24610,6 +24726,7 @@ const styles$x = {
24610
24726
  headerText,
24611
24727
  headerButton,
24612
24728
  wrapper: wrapper$9,
24729
+ controlWrapper,
24613
24730
  shadowRoot,
24614
24731
  content: content$2
24615
24732
  };
@@ -24984,6 +25101,7 @@ function AppWithCodeViewNative({
24984
25101
  markdown: markdown2,
24985
25102
  splitView,
24986
25103
  withFrame = true,
25104
+ allowReset = true,
24987
25105
  noHeader = false,
24988
25106
  initiallyShowCode = false,
24989
25107
  popOutUrl,
@@ -25066,7 +25184,7 @@ function AppWithCodeViewNative({
25066
25184
  )
25067
25185
  ] })
25068
25186
  ] }),
25069
- /* @__PURE__ */ jsxs("div", { className: styles$x.wrapper, style: { width: controlsWidth }, children: [
25187
+ /* @__PURE__ */ jsxs("div", { className: styles$x.controlWrapper, style: { width: controlsWidth }, children: [
25070
25188
  allowPlaygroundPopup && /* @__PURE__ */ jsx(
25071
25189
  Tooltip$1,
25072
25190
  {
@@ -25083,7 +25201,7 @@ function AppWithCodeViewNative({
25083
25201
  label: "View and edit in new full-width window"
25084
25202
  }
25085
25203
  ),
25086
- /* @__PURE__ */ jsx(
25204
+ allowReset && /* @__PURE__ */ jsx(
25087
25205
  Tooltip$1,
25088
25206
  {
25089
25207
  trigger: /* @__PURE__ */ jsx(
@@ -31925,6 +32043,7 @@ const XmlUiThemeDefinition = {
31925
32043
  resources: {
31926
32044
  // "font.inter": "https://rsms.me/inter/inter.css",
31927
32045
  },
32046
+ color: "$color-primary-500",
31928
32047
  themeVars: {
31929
32048
  "font-size": "15px",
31930
32049
  "boxShadow-Input": "$boxShadow-sm"
@@ -31946,46 +32065,55 @@ const XmlUiThemeDefinition = {
31946
32065
  const XmlUiGreenThemeDefinition = {
31947
32066
  id: "xmlui-green",
31948
32067
  extends: "xmlui",
32068
+ color: "$color-primary-500",
31949
32069
  themeVars: { ...greenThemeColors }
31950
32070
  };
31951
32071
  const XmlUiGrayThemeDefinition = {
31952
32072
  id: "xmlui-gray",
31953
32073
  extends: "xmlui",
32074
+ color: "$color-primary-500",
31954
32075
  themeVars: { ...grayThemeColors }
31955
32076
  };
31956
32077
  const XmlUiOrangeThemeDefinition = {
31957
32078
  id: "xmlui-orange",
31958
32079
  extends: "xmlui",
32080
+ color: "$color-primary-500",
31959
32081
  themeVars: { ...orangeThemeColors }
31960
32082
  };
31961
32083
  const XmlUiPurpleThemeDefinition = {
31962
32084
  id: "xmlui-purple",
31963
32085
  extends: "xmlui",
32086
+ color: "$color-primary-500",
31964
32087
  themeVars: { ...purpleThemeColors }
31965
32088
  };
31966
32089
  const XmlUiCyanThemeDefinition = {
31967
32090
  id: "xmlui-cyan",
31968
32091
  extends: "xmlui",
32092
+ color: "$color-primary-500",
31969
32093
  themeVars: { ...cyanThemeColors }
31970
32094
  };
31971
32095
  const XmlUiRedThemeDefinition = {
31972
32096
  id: "xmlui-red",
31973
32097
  extends: "xmlui",
32098
+ color: "$color-primary-500",
31974
32099
  themeVars: { ...redThemeColors }
31975
32100
  };
31976
32101
  const XmlUiDocsThemeDefinition = {
31977
32102
  id: "xmlui-docs",
31978
32103
  extends: "xmlui",
32104
+ color: "$color-primary-500",
31979
32105
  themeVars: {}
31980
32106
  };
31981
32107
  const XmlUiBlogThemeDefinition = {
31982
32108
  id: "xmlui-blog",
31983
32109
  extends: "xmlui",
32110
+ color: "$color-primary-500",
31984
32111
  themeVars: {}
31985
32112
  };
31986
32113
  const XmlUiWebThemeDefinition = {
31987
32114
  id: "xmlui-web",
31988
32115
  extends: "xmlui",
32116
+ color: "$color-primary-500",
31989
32117
  themeVars: {
31990
32118
  // --- Fundamental colors & typography
31991
32119
  "maxWidth-content-AppHeader": "1280px",
@@ -33581,9 +33709,10 @@ function isMediaBreakpoint(value) {
33581
33709
  }
33582
33710
  const tooltipBehavior = {
33583
33711
  name: "tooltip",
33584
- canAttach: (node) => {
33585
- const tooltipText = node.props?.tooltip;
33586
- const tooltipMarkdown = node.props?.tooltipMarkdown;
33712
+ canAttach: (context, node) => {
33713
+ const { extractValue } = context;
33714
+ const tooltipText = extractValue(node.props?.tooltip, true);
33715
+ const tooltipMarkdown = extractValue(node.props?.tooltipMarkdown, true);
33587
33716
  return !!tooltipText || !!tooltipMarkdown;
33588
33717
  },
33589
33718
  attach: (context, node, metadata) => {
@@ -33597,8 +33726,10 @@ const tooltipBehavior = {
33597
33726
  };
33598
33727
  const animationBehavior = {
33599
33728
  name: "animation",
33600
- canAttach: (node) => {
33601
- return !!node.props?.animation;
33729
+ canAttach: (context, node) => {
33730
+ const { extractValue } = context;
33731
+ const animation = extractValue(node.props?.animation, true);
33732
+ return !!animation;
33602
33733
  },
33603
33734
  attach: (context, node, metadata) => {
33604
33735
  const { extractValue } = context;
@@ -33612,10 +33743,13 @@ const animationBehavior = {
33612
33743
  };
33613
33744
  const labelBehavior = {
33614
33745
  name: "label",
33615
- canAttach: (node, metadata) => {
33746
+ canAttach: (context, node, metadata) => {
33616
33747
  if (metadata?.props?.label) {
33617
33748
  return false;
33618
- } else if (!node.props?.label) {
33749
+ }
33750
+ const { extractValue } = context;
33751
+ const label2 = extractValue(node.props?.label, true);
33752
+ if (!label2) {
33619
33753
  return false;
33620
33754
  }
33621
33755
  return true;
@@ -33652,14 +33786,15 @@ const labelBehavior = {
33652
33786
  };
33653
33787
  const variantBehavior = {
33654
33788
  name: "variant",
33655
- canAttach: (node) => {
33656
- const variant = node.props?.variant;
33789
+ canAttach: (context, node) => {
33790
+ const { extractValue } = context;
33791
+ const variant = extractValue(node.props?.variant, true);
33657
33792
  if (!variant) {
33658
33793
  return false;
33659
33794
  }
33660
33795
  if (node.type === "Button") {
33661
33796
  const variantStr = typeof variant === "string" ? variant : String(variant);
33662
- return !buttonVariantValues.includes(variantStr);
33797
+ return variantStr != void 0 && variantStr !== "" && !buttonVariantValues.includes(variantStr);
33663
33798
  }
33664
33799
  if (node.type === "Badge") {
33665
33800
  const variantStr = typeof variant === "string" ? variant : String(variant);
@@ -35045,7 +35180,7 @@ const defaultProps$k = {
35045
35180
  weekStartsOn: 0,
35046
35181
  inline: true,
35047
35182
  clearable: false,
35048
- clearToInitialValue: true,
35183
+ clearToInitialValue: false,
35049
35184
  required: false,
35050
35185
  readOnly: false,
35051
35186
  autoFocus: false,
@@ -36187,7 +36322,7 @@ const defaultProps$j = {
36187
36322
  hour24: true,
36188
36323
  seconds: false,
36189
36324
  clearable: false,
36190
- clearToInitialValue: true,
36325
+ clearToInitialValue: false,
36191
36326
  required: false,
36192
36327
  readOnly: false,
36193
36328
  autoFocus: false,
@@ -42383,6 +42518,7 @@ const inspectButtonComponentRenderer = createComponentRenderer(
42383
42518
  const defaultProps$7 = {
42384
42519
  allowPlaygroundPopup: true,
42385
42520
  withFrame: true,
42521
+ allowReset: true,
42386
42522
  components: EMPTY_ARRAY
42387
42523
  };
42388
42524
  const COMP$d = "NestedApp";
@@ -42523,6 +42659,11 @@ It supports both side-by-side and stacked layouts.`,
42523
42659
  description: "This property defines whether the nested app should be displayed with a frame.",
42524
42660
  valueType: "boolean",
42525
42661
  defaultValue: defaultProps$7.withFrame
42662
+ },
42663
+ allowReset: {
42664
+ description: "This property defines whether the reset button should be displayed in the header.",
42665
+ valueType: "boolean",
42666
+ defaultValue: defaultProps$7.allowReset
42526
42667
  }
42527
42668
  },
42528
42669
  themeVars: parseScssVar(styles$a.themeVars),
@@ -42562,7 +42703,8 @@ const appWithCodeViewComponentRenderer = createComponentRenderer(
42562
42703
  title: extractValue(node.props?.title),
42563
42704
  height: extractValue(node.props?.height),
42564
42705
  allowPlaygroundPopup: extractValue.asOptionalBoolean(node.props?.allowPlaygroundPopup),
42565
- withFrame: extractValue.asOptionalBoolean(node.props?.withFrame)
42706
+ withFrame: extractValue.asOptionalBoolean(node.props?.withFrame),
42707
+ allowReset: extractValue.asOptionalBoolean(node.props?.allowReset)
42566
42708
  }
42567
42709
  );
42568
42710
  }
@@ -46337,7 +46479,7 @@ function IconProvider({ children }) {
46337
46479
  /* @__PURE__ */ jsx("svg", { style: { display: "none" }, ref: spriteRootRef })
46338
46480
  ] });
46339
46481
  }
46340
- const version = "0.11.11";
46482
+ const version = "0.11.13";
46341
46483
  const miscellaneousUtils = {
46342
46484
  capitalize,
46343
46485
  pluralize: pluralize$1,
@@ -49722,7 +49864,7 @@ const ComponentAdapter = forwardRef(function ComponentAdapter2({
49722
49864
  const behaviors = componentRegistry.getBehaviors();
49723
49865
  if (!isCompoundComponent) {
49724
49866
  for (const behavior of behaviors) {
49725
- if (behavior.canAttach(rendererContext.node, descriptor)) {
49867
+ if (behavior.canAttach(rendererContext, rendererContext.node, descriptor)) {
49726
49868
  renderedNode = behavior.attach(rendererContext, renderedNode, descriptor);
49727
49869
  }
49728
49870
  }
@@ -50766,7 +50908,7 @@ const ComponentViewer = () => {
50766
50908
  return "";
50767
50909
  }
50768
50910
  const { start: start2, end: end2, fileId } = compSrc;
50769
- const slicedSrc = sources[fileId].slice(start2, end2);
50911
+ const slicedSrc = sources[fileId].slice(start2, end2).replace(/inspect[\s\n]*=[\s\n]*"true"[\s\n]*/g, "");
50770
50912
  let dropEmptyLines = true;
50771
50913
  const prunedLines = [];
50772
50914
  let trimBeginCount = void 0;
@@ -50782,7 +50924,7 @@ const ComponentViewer = () => {
50782
50924
  }
50783
50925
  }
50784
50926
  });
50785
- return prunedLines.map((line2) => line2.slice(trimBeginCount).replace(/inspect="true"/g, "")).join("\n");
50927
+ return prunedLines.map((line2) => line2.slice(trimBeginCount)).join("\n");
50786
50928
  }, [inspectedNode2, sources]);
50787
50929
  return process.env.VITE_USER_COMPONENTS_Inspect !== "false" && isOpen && inspectedNode2 !== null ? /* @__PURE__ */ jsx(InspectorDialog, { isOpen, setIsOpen, clickPosition, children: /* @__PURE__ */ jsx(
50788
50930
  AppWithCodeViewNative,
@@ -50792,6 +50934,7 @@ const ComponentViewer = () => {
50792
50934
  initiallyShowCode: appGlobals?.initiallyShowCode ?? true,
50793
50935
  splitView: true,
50794
50936
  controlsWidth: "120px",
50937
+ allowReset: false,
50795
50938
  closeButton: /* @__PURE__ */ jsx(
50796
50939
  Tooltip$1,
50797
50940
  {