xmlui 0.11.15 → 0.11.17

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.
@@ -499,6 +499,9 @@ const styles$1j = {
499
499
  "lds-ring": "_lds-ring_b1pgc_14",
500
500
  fullScreenSpinnerWrapper
501
501
  };
502
+ const Part = ({ children, partId }) => {
503
+ return /* @__PURE__ */ jsx(Slot, { "data-part-id": partId, children });
504
+ };
502
505
  const PART_RING = "ring";
503
506
  const defaultProps$1i = {
504
507
  delay: 400,
@@ -538,7 +541,7 @@ const Spinner = forwardRef(function Spinner2({
538
541
  style: style2,
539
542
  ref: forwardedRef,
540
543
  children: [
541
- /* @__PURE__ */ jsx("div", { "data-part-id": PART_RING }),
544
+ /* @__PURE__ */ jsx(Part, { partId: PART_RING, children: /* @__PURE__ */ jsx("div", {}) }),
542
545
  /* @__PURE__ */ jsx("div", {}),
543
546
  /* @__PURE__ */ jsx("div", {}),
544
547
  /* @__PURE__ */ jsx("div", {})
@@ -558,7 +561,7 @@ const Spinner = forwardRef(function Spinner2({
558
561
  style: style2,
559
562
  ref: forwardedRef,
560
563
  children: [
561
- /* @__PURE__ */ jsx("div", { "data-part-id": PART_RING }),
564
+ /* @__PURE__ */ jsx(Part, { partId: PART_RING, children: /* @__PURE__ */ jsx("div", {}) }),
562
565
  /* @__PURE__ */ jsx("div", {}),
563
566
  /* @__PURE__ */ jsx("div", {}),
564
567
  /* @__PURE__ */ jsx("div", {})
@@ -572,6 +575,7 @@ const PART_LABELED_ITEM = "labeledItem";
572
575
  const PART_INPUT = "input";
573
576
  const PART_START_ADORNMENT = "startAdornment";
574
577
  const PART_END_ADORNMENT = "endAdornment";
578
+ const PART_ICON = "icon";
575
579
  const defaultProps$1h = {
576
580
  labelBreak: true
577
581
  };
@@ -601,18 +605,17 @@ const ItemWithLabel = forwardRef(function ItemWithLabel2({
601
605
  const generatedId2 = useId();
602
606
  const inputId = id || generatedId2;
603
607
  if (label2 === void 0 && !validationResult) {
604
- return /* @__PURE__ */ jsx(
608
+ return /* @__PURE__ */ jsx(Part, { partId: PART_LABELED_ITEM, children: /* @__PURE__ */ jsx(
605
609
  Slot,
606
610
  {
607
611
  ...rest,
608
- "data-part-id": PART_LABELED_ITEM,
609
612
  style: style2,
610
613
  className,
611
614
  id: inputId,
612
615
  ref,
613
616
  children
614
617
  }
615
- );
618
+ ) });
616
619
  }
617
620
  return /* @__PURE__ */ jsxs("div", { ...rest, ref, style: style2, className: classnames(className, styles$1k.itemWithLabel), children: [
618
621
  /* @__PURE__ */ jsxs(
@@ -626,10 +629,9 @@ const ItemWithLabel = forwardRef(function ItemWithLabel2({
626
629
  [styles$1k.shrinkToLabel]: shrinkToLabel2
627
630
  }),
628
631
  children: [
629
- label2 && /* @__PURE__ */ jsxs(
632
+ label2 && /* @__PURE__ */ jsx(Part, { partId: PART_LABEL, children: /* @__PURE__ */ jsxs(
630
633
  "label",
631
634
  {
632
- "data-part-id": PART_LABEL,
633
635
  htmlFor: inputId,
634
636
  onClick: onLabelClick || (() => document.getElementById(inputId)?.focus()),
635
637
  style: {
@@ -654,13 +656,12 @@ const ItemWithLabel = forwardRef(function ItemWithLabel2({
654
656
  )
655
657
  ]
656
658
  }
657
- ),
658
- cloneElement(children, {
659
+ ) }),
660
+ /* @__PURE__ */ jsx(Part, { partId: PART_LABELED_ITEM, children: cloneElement(children, {
659
661
  id: !isInputTemplateUsed ? inputId : void 0,
660
662
  style: void 0,
661
- className: void 0,
662
- "data-part-id": PART_LABELED_ITEM
663
- })
663
+ className: void 0
664
+ }) })
664
665
  ]
665
666
  }
666
667
  ),
@@ -3025,6 +3026,11 @@ const COMP$1x = "Button";
3025
3026
  const ButtonMd = createMetadata({
3026
3027
  status: "stable",
3027
3028
  description: "`Button` is the primary interactive component for triggering actions like form submissions, navigation, opening modals, and API calls. It supports multiple visual styles and sizes to match different UI contexts and importance levels.",
3029
+ parts: {
3030
+ icon: {
3031
+ description: "The icon displayed within the button, if any."
3032
+ }
3033
+ },
3028
3034
  props: {
3029
3035
  autoFocus: {
3030
3036
  description: "Indicates if the button should receive focus when the page loads.",
@@ -4600,21 +4606,12 @@ const TextBox = forwardRef(function TextBox2({
4600
4606
  onFocus: focus,
4601
4607
  style: { ...style2, gap },
4602
4608
  children: [
4603
- /* @__PURE__ */ jsx(
4604
- Adornment,
4605
- {
4606
- "data-part-id": PART_START_ADORNMENT,
4607
- text: startText,
4608
- iconName: startIcon,
4609
- className: classnames(styles$1g.adornment)
4610
- }
4611
- ),
4612
- /* @__PURE__ */ jsx(
4609
+ /* @__PURE__ */ jsx(Part, { partId: PART_START_ADORNMENT, children: /* @__PURE__ */ jsx(Adornment, { text: startText, iconName: startIcon, className: classnames(styles$1g.adornment) }) }),
4610
+ /* @__PURE__ */ jsx(Part, { partId: PART_INPUT, children: /* @__PURE__ */ jsx(
4613
4611
  "input",
4614
4612
  {
4615
4613
  id,
4616
4614
  ref: inputRef,
4617
- "data-part-id": PART_INPUT,
4618
4615
  type: actualType,
4619
4616
  className: classnames(styles$1g.input, {
4620
4617
  [styles$1g.readOnly]: readOnly2
@@ -4632,33 +4629,23 @@ const TextBox = forwardRef(function TextBox2({
4632
4629
  tabIndex: enabled2 ? tabIndex : -1,
4633
4630
  required: required2
4634
4631
  }
4635
- ),
4636
- !readOnly2 && enabled2 && type == "search" && localValue?.length > 0 && /* @__PURE__ */ jsx(
4632
+ ) }),
4633
+ !readOnly2 && enabled2 && type == "search" && localValue?.length > 0 && /* @__PURE__ */ jsx(Part, { partId: PART_END_ADORNMENT, children: /* @__PURE__ */ jsx(
4637
4634
  Adornment,
4638
4635
  {
4639
- "data-part-id": PART_END_ADORNMENT,
4640
4636
  iconName: "close",
4641
4637
  className: styles$1g.adornment,
4642
4638
  onClick: () => updateValue("")
4643
4639
  }
4644
- ),
4645
- type === "password" && showPasswordToggle ? /* @__PURE__ */ jsx(
4640
+ ) }),
4641
+ type === "password" && showPasswordToggle ? /* @__PURE__ */ jsx(Part, { partId: PART_END_ADORNMENT, children: /* @__PURE__ */ jsx(
4646
4642
  Adornment,
4647
4643
  {
4648
- "data-part-id": PART_END_ADORNMENT,
4649
4644
  iconName: showPassword ? passwordVisibleIcon : passwordHiddenIcon,
4650
4645
  className: classnames(styles$1g.adornment, styles$1g.passwordToggle),
4651
4646
  onClick: togglePasswordVisibility
4652
4647
  }
4653
- ) : /* @__PURE__ */ jsx(
4654
- Adornment,
4655
- {
4656
- "data-part-id": PART_END_ADORNMENT,
4657
- text: endText,
4658
- iconName: endIcon,
4659
- className: styles$1g.adornment
4660
- }
4661
- )
4648
+ ) }) : /* @__PURE__ */ jsx(Part, { partId: PART_END_ADORNMENT, children: /* @__PURE__ */ jsx(Adornment, { text: endText, iconName: endIcon, className: styles$1g.adornment }) })
4662
4649
  ]
4663
4650
  }
4664
4651
  );
@@ -6841,7 +6828,16 @@ const XmlUiBlogThemeDefinition = {
6841
6828
  id: "xmlui-blog",
6842
6829
  extends: "xmlui",
6843
6830
  color: "$color-primary-500",
6844
- themeVars: {}
6831
+ themeVars: {
6832
+ // --- App layout
6833
+ "maxWidth-content-App": "800px",
6834
+ // --- Fundamental colors & typography
6835
+ backgroundColor: "$color-surface-0",
6836
+ "fontWeight-Text": "400",
6837
+ "fontWeight-bold": "700",
6838
+ "textColor-primary": "$color-surface-800",
6839
+ "textColor-NavLink--active": "$color-primary"
6840
+ }
6845
6841
  };
6846
6842
  const XmlUiWebThemeDefinition = {
6847
6843
  id: "xmlui-web",
@@ -8442,17 +8438,16 @@ const AppHeader = ({
8442
8438
  [styles$1a.full]: !canRestrictContentWidth
8443
8439
  }),
8444
8440
  children: [
8445
- hasRegisteredNavPanel && /* @__PURE__ */ jsx(
8441
+ hasRegisteredNavPanel && /* @__PURE__ */ jsx(Part, { partId: PART_HAMBURGER, children: /* @__PURE__ */ jsx(
8446
8442
  Button,
8447
8443
  {
8448
- "data-part-id": PART_HAMBURGER,
8449
8444
  onClick: toggleDrawer,
8450
8445
  icon: /* @__PURE__ */ jsx(Icon$l, { name: "hamburger" }),
8451
8446
  variant: "ghost",
8452
8447
  className: styles$1a.drawerToggle,
8453
8448
  style: { color: "inherit", flexShrink: 0 }
8454
8449
  }
8455
- ),
8450
+ ) }),
8456
8451
  /* @__PURE__ */ jsx("div", { className: styles$1a.logoAndTitle, children: (showLogo || !effectiveNavPanelVisible) && (logoContent ? /* @__PURE__ */ jsxs(Fragment, { children: [
8457
8452
  /* @__PURE__ */ jsx("div", { className: styles$1a.customLogoContainer, children: logoContent }),
8458
8453
  safeLogoTitle
@@ -16968,16 +16963,16 @@ const LinkNative = forwardRef(function LinkNative2(props, forwardedRef) {
16968
16963
  [styles$12.disabled]: disabled2
16969
16964
  }),
16970
16965
  children: [
16971
- icon2 && /* @__PURE__ */ jsx("div", { className: styles$12.iconWrapper, children: /* @__PURE__ */ jsx(Icon$l, { name: icon2 }) }),
16966
+ icon2 && /* @__PURE__ */ jsx(Part, { partId: PART_ICON, children: /* @__PURE__ */ jsx("div", { className: styles$12.iconWrapper, children: /* @__PURE__ */ jsx(Icon$l, { name: icon2 }) }) }),
16972
16967
  children
16973
16968
  ]
16974
16969
  }
16975
16970
  );
16976
16971
  });
16977
16972
  function specifyTypes(props) {
16978
- const { target: target2, referrerPolicy } = props;
16973
+ const { target: target2, referrerPolicy, ...rest } = props;
16979
16974
  return {
16980
- ...props,
16975
+ ...rest,
16981
16976
  target: target2,
16982
16977
  referrerPolicy
16983
16978
  };
@@ -17173,6 +17168,17 @@ const COMP$1n = "Card";
17173
17168
  const CardMd = createMetadata({
17174
17169
  status: "stable",
17175
17170
  description: "`Card` is a versatile container that groups related content with a visual boundary, typically featuring background color, padding, borders, and rounded corners. It's ideal for organizing information, creating sections, and establishing visual hierarchy in your interface.",
17171
+ parts: {
17172
+ avatar: {
17173
+ description: "The avatar displayed within the card, if any."
17174
+ },
17175
+ title: {
17176
+ description: "The title of the card."
17177
+ },
17178
+ subtitle: {
17179
+ description: "The subtitle of the card."
17180
+ }
17181
+ },
17176
17182
  props: {
17177
17183
  avatarUrl: {
17178
17184
  description: `The url for an avarar image. If not specified, but [\`showAvatar\`](#showAvatar) is true, ${COMP$1n} will show the first letters of the [\`title\`](#title).`,
@@ -17434,12 +17440,11 @@ const Toggle = forwardRef(function Toggle2({
17434
17440
  }, [focus, registerComponentApi, setValue]);
17435
17441
  const input2 = useMemo(() => {
17436
17442
  const legitValue = transformToLegitValue(value);
17437
- return /* @__PURE__ */ jsx(
17443
+ return /* @__PURE__ */ jsx(Part, { partId: PART_INPUT, children: /* @__PURE__ */ jsx(
17438
17444
  "input",
17439
17445
  {
17440
17446
  ...rest,
17441
17447
  id,
17442
- "data-part-id": PART_INPUT,
17443
17448
  ref,
17444
17449
  type: "checkbox",
17445
17450
  role: variant,
@@ -17466,7 +17471,7 @@ const Toggle = forwardRef(function Toggle2({
17466
17471
  [styles$10.forceHover]: forceHover2
17467
17472
  })
17468
17473
  }
17469
- );
17474
+ ) });
17470
17475
  }, [
17471
17476
  rest,
17472
17477
  className,
@@ -18410,15 +18415,15 @@ const datePickerComponentRenderer = createComponentRenderer(
18410
18415
  }
18411
18416
  );
18412
18417
  const themeVars$I = `'{"backgroundColor-DropdownMenu": "var(--xmlui-backgroundColor-DropdownMenu)", "borderRadius-DropdownMenu": "var(--xmlui-borderRadius-DropdownMenu)", "boxShadow-DropdownMenu": "var(--xmlui-boxShadow-DropdownMenu)", "borderColor-DropdownMenu-content": "var(--xmlui-borderColor-DropdownMenu-content)", "borderWidth-DropdownMenu-content": "var(--xmlui-borderWidth-DropdownMenu-content)", "borderStyle-DropdownMenu-content": "var(--xmlui-borderStyle-DropdownMenu-content)", "minWidth-DropdownMenu": "var(--xmlui-minWidth-DropdownMenu)", "backgroundColor-MenuItem": "var(--xmlui-backgroundColor-MenuItem)", "color-MenuItem": "var(--xmlui-color-MenuItem)", "fontFamily-MenuItem": "var(--xmlui-fontFamily-MenuItem)", "gap-MenuItem": "var(--xmlui-gap-MenuItem)", "fontSize-MenuItem": "var(--xmlui-fontSize-MenuItem)", "paddingVertical-MenuItem": "var(--xmlui-paddingVertical-MenuItem)", "paddingHorizontal-MenuItem": "var(--xmlui-paddingHorizontal-MenuItem)", "backgroundColor-MenuItem--hover": "var(--xmlui-backgroundColor-MenuItem--hover)", "backgroundColor-MenuItem--active": "var(--xmlui-backgroundColor-MenuItem--active)", "backgroundColor-MenuItem--active--hover": "var(--xmlui-backgroundColor-MenuItem--active--hover)", "color-MenuItem--hover": "var(--xmlui-color-MenuItem--hover)", "color-MenuItem--active": "var(--xmlui-color-MenuItem--active)", "color-MenuItem--active--hover": "var(--xmlui-color-MenuItem--active--hover)", "color-MenuItem--disabled": "var(--xmlui-color-MenuItem--disabled)", "marginTop-MenuSeparator": "var(--xmlui-marginTop-MenuSeparator)", "marginBottom-MenuSeparator": "var(--xmlui-marginBottom-MenuSeparator)", "width-MenuSeparator": "var(--xmlui-width-MenuSeparator)", "height-MenuSeparator": "var(--xmlui-height-MenuSeparator)", "color-MenuSeparator": "var(--xmlui-color-MenuSeparator)"}'`;
18413
- const DropdownMenuContent = "_DropdownMenuContent_tklrk_14";
18414
- const compact = "_compact_tklrk_18";
18415
- const DropdownMenuSubContent = "_DropdownMenuSubContent_tklrk_22";
18416
- const DropdownMenuItem = "_DropdownMenuItem_tklrk_32";
18417
- const DropdownMenuSubTrigger = "_DropdownMenuSubTrigger_tklrk_33";
18418
- const active$2 = "_active_tklrk_56";
18419
- const disabled$8 = "_disabled_tklrk_66";
18420
- const wrapper$h = "_wrapper_tklrk_81";
18421
- const DropdownMenuSeparator = "_DropdownMenuSeparator_tklrk_85";
18418
+ const DropdownMenuContent = "_DropdownMenuContent_wsn5i_14";
18419
+ const compact = "_compact_wsn5i_19";
18420
+ const DropdownMenuSubContent = "_DropdownMenuSubContent_wsn5i_23";
18421
+ const DropdownMenuItem = "_DropdownMenuItem_wsn5i_33";
18422
+ const DropdownMenuSubTrigger = "_DropdownMenuSubTrigger_wsn5i_34";
18423
+ const active$2 = "_active_wsn5i_57";
18424
+ const disabled$8 = "_disabled_wsn5i_67";
18425
+ const wrapper$h = "_wrapper_wsn5i_82";
18426
+ const DropdownMenuSeparator = "_DropdownMenuSeparator_wsn5i_86";
18422
18427
  const styles$Z = {
18423
18428
  themeVars: themeVars$I,
18424
18429
  DropdownMenuContent,
@@ -18563,7 +18568,9 @@ const DropdownMenu = forwardRef(function DropdownMenu2({
18563
18568
  ref: contentRef,
18564
18569
  align: alignment,
18565
18570
  style: style2,
18566
- className: classnames(styles$Z.DropdownMenuContent, className, { [styles$Z.compact]: compact2 }),
18571
+ className: classnames(styles$Z.DropdownMenuContent, className, {
18572
+ [styles$Z.compact]: compact2
18573
+ }),
18567
18574
  onOpenAutoFocus: (e) => {
18568
18575
  e.preventDefault();
18569
18576
  contentRef.current?.focus();
@@ -18680,6 +18687,11 @@ const DDMCOMP = "DropdownMenu";
18680
18687
  const DropdownMenuMd = createMetadata({
18681
18688
  status: "stable",
18682
18689
  description: "`DropdownMenu` provides a space-efficient way to present multiple options or actions through a collapsible interface. When clicked, the trigger button reveals a menu that can include items, separators, and nested submenus, making it ideal for navigation, action lists, or any situation requiring many options without permanent screen space.",
18690
+ parts: {
18691
+ content: {
18692
+ description: "The content area of the DropdownMenu where menu items are displayed."
18693
+ }
18694
+ },
18683
18695
  props: {
18684
18696
  label: dLabel(),
18685
18697
  triggerTemplate: dTriggerTemplate(DDMCOMP),
@@ -19138,6 +19150,14 @@ const DEFAULT_ICON = "browse:FileInput";
19138
19150
  const FileInputMd = createMetadata({
19139
19151
  status: "stable",
19140
19152
  description: "`FileInput` enables users to select files from their device's file system for upload or processing. It combines a text field displaying selected files with a customizable button that opens the system file browser. Use it for forms, media uploads, and document processing workflows.",
19153
+ parts: {
19154
+ label: {
19155
+ description: "The label displayed for the file input."
19156
+ },
19157
+ input: {
19158
+ description: "The file input area displaying selected file names."
19159
+ }
19160
+ },
19141
19161
  props: {
19142
19162
  placeholder: dPlaceholder(),
19143
19163
  initialValue: dInitialValue(),
@@ -19999,11 +20019,10 @@ const ModalDialog = React__default.forwardRef(
19999
20019
  if (!root2) {
20000
20020
  return null;
20001
20021
  }
20002
- const Content2 = /* @__PURE__ */ jsxs(
20022
+ const Content2 = /* @__PURE__ */ jsx(Part, { partId: PART_CONTENT, children: /* @__PURE__ */ jsxs(
20003
20023
  SheetPrimitive.Content,
20004
20024
  {
20005
20025
  ...rest,
20006
- "data-part-id": PART_CONTENT,
20007
20026
  className: classnames(
20008
20027
  {
20009
20028
  [styles$T.contentAnimation]: !externalAnimation
@@ -20019,7 +20038,7 @@ const ModalDialog = React__default.forwardRef(
20019
20038
  ref: composedRef,
20020
20039
  style: { ...style2, gap: void 0 },
20021
20040
  children: [
20022
- !!title2 && /* @__PURE__ */ jsx(SheetPrimitive.Title, { style: { marginTop: 0 }, children: /* @__PURE__ */ jsx("header", { id: "dialogTitle", className: styles$T.dialogTitle, "data-part-id": PART_TITLE, children: title2 }) }),
20041
+ !!title2 && /* @__PURE__ */ jsx(Part, { partId: PART_TITLE, children: /* @__PURE__ */ jsx(SheetPrimitive.Title, { style: { marginTop: 0 }, children: /* @__PURE__ */ jsx("header", { id: "dialogTitle", className: styles$T.dialogTitle, children: title2 }) }) }),
20023
20042
  /* @__PURE__ */ jsx("div", { className: styles$T.innerContent, style: { gap: style2?.gap }, children: /* @__PURE__ */ jsx(ModalVisibilityContext.Provider, { value: modalVisibilityContextValue, children }) }),
20024
20043
  closeButtonVisible && /* @__PURE__ */ jsx(SheetPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx(
20025
20044
  Button,
@@ -20034,7 +20053,7 @@ const ModalDialog = React__default.forwardRef(
20034
20053
  ) })
20035
20054
  ]
20036
20055
  }
20037
- );
20056
+ ) });
20038
20057
  return /* @__PURE__ */ jsx(SheetPrimitive.Root, { open: isOpen, onOpenChange: (open) => open ? doOpen() : doClose(), children: /* @__PURE__ */ jsxs(SheetPrimitive.Portal, { container: root2, children: [
20039
20058
  isDialogRootInShadowDom && /*
20040
20059
  In the Shadow DOM we can omit the Dialog.Overlay,
@@ -21407,10 +21426,9 @@ const Form = forwardRef(function({
21407
21426
  });
21408
21427
  });
21409
21428
  });
21410
- const cancelButton = cancelLabel === "" ? null : /* @__PURE__ */ jsx(
21429
+ const cancelButton = cancelLabel === "" ? null : /* @__PURE__ */ jsx(Part, { partId: PART_CANCEL_BUTTON, children: /* @__PURE__ */ jsx(
21411
21430
  Button,
21412
21431
  {
21413
- "data-part-id": PART_CANCEL_BUTTON,
21414
21432
  type: "button",
21415
21433
  themeColor: "secondary",
21416
21434
  variant: "ghost",
@@ -21418,18 +21436,9 @@ const Form = forwardRef(function({
21418
21436
  children: cancelLabel
21419
21437
  },
21420
21438
  "cancel"
21421
- );
21439
+ ) });
21422
21440
  const submitButton = useMemo(
21423
- () => /* @__PURE__ */ jsx(
21424
- Button,
21425
- {
21426
- "data-part-id": PART_SUBMIT_BUTTON,
21427
- type: "submit",
21428
- disabled: !isEnabled2 || !enableSubmit,
21429
- children: formState.submitInProgress ? saveInProgressLabel : saveLabel
21430
- },
21431
- "submit"
21432
- ),
21441
+ () => /* @__PURE__ */ jsx(Part, { partId: PART_SUBMIT_BUTTON, children: /* @__PURE__ */ jsx(Button, { type: "submit", disabled: !isEnabled2 || !enableSubmit, children: formState.submitInProgress ? saveInProgressLabel : saveLabel }, "submit") }),
21433
21442
  [isEnabled2, enableSubmit, formState.submitInProgress, saveInProgressLabel, saveLabel]
21434
21443
  );
21435
21444
  useEffect(() => {
@@ -21594,6 +21603,15 @@ const COMP$1d = "Form";
21594
21603
  const FormMd = createMetadata({
21595
21604
  status: "stable",
21596
21605
  description: "`Form` provides a structured container for collecting and validating user input, with built-in data binding, validation, and submission handling. It automatically manages form state and provides context for nested form controls to work together.",
21606
+ parts: {
21607
+ buttonRow: {
21608
+ description: "The container for the form action buttons (e.g., Save, Cancel)."
21609
+ },
21610
+ // NOTE: There is a ValidationSummary in the form and also one in the modal dialog.
21611
+ validationSummary: {
21612
+ description: "The area displaying validation summary messages for the form."
21613
+ }
21614
+ },
21597
21615
  props: {
21598
21616
  buttonRowTemplate: dComponent(
21599
21617
  `This property allows defining a custom component to display the buttons at the bottom of the form.`
@@ -22188,20 +22206,11 @@ const NumberBox = forwardRef(function NumberBox2({
22188
22206
  },
22189
22207
  style: { ...style2, gap },
22190
22208
  children: [
22191
- /* @__PURE__ */ jsx(
22192
- Adornment,
22193
- {
22194
- "data-part-id": PART_START_ADORNMENT,
22195
- text: startText,
22196
- iconName: startIcon,
22197
- className: classnames(styles$Q.adornment)
22198
- }
22199
- ),
22200
- /* @__PURE__ */ jsx(
22209
+ /* @__PURE__ */ jsx(Part, { partId: PART_START_ADORNMENT, children: /* @__PURE__ */ jsx(Adornment, { text: startText, iconName: startIcon, className: classnames(styles$Q.adornment) }) }),
22210
+ /* @__PURE__ */ jsx(Part, { partId: PART_INPUT, children: /* @__PURE__ */ jsx(
22201
22211
  "input",
22202
22212
  {
22203
22213
  id,
22204
- "data-part-id": PART_INPUT,
22205
22214
  type: "text",
22206
22215
  inputMode: "numeric",
22207
22216
  className: classnames(styles$Q.input, {
@@ -22223,21 +22232,12 @@ const NumberBox = forwardRef(function NumberBox2({
22223
22232
  maxLength,
22224
22233
  required: required2
22225
22234
  }
22226
- ),
22227
- /* @__PURE__ */ jsx(
22228
- Adornment,
22229
- {
22230
- "data-part-id": PART_END_ADORNMENT,
22231
- text: endText,
22232
- iconName: endIcon,
22233
- className: classnames(styles$Q.adornment)
22234
- }
22235
- ),
22235
+ ) }),
22236
+ /* @__PURE__ */ jsx(Part, { partId: PART_END_ADORNMENT, children: /* @__PURE__ */ jsx(Adornment, { text: endText, iconName: endIcon, className: classnames(styles$Q.adornment) }) }),
22236
22237
  hasSpinBox && /* @__PURE__ */ jsxs("div", { className: styles$Q.spinnerBox, children: [
22237
- /* @__PURE__ */ jsx(
22238
+ /* @__PURE__ */ jsx(Part, { partId: PART_SPINNER_UP, children: /* @__PURE__ */ jsx(
22238
22239
  Button,
22239
22240
  {
22240
- "data-part-id": PART_SPINNER_UP,
22241
22241
  "data-spinner": "up",
22242
22242
  type: "button",
22243
22243
  role: "spinbutton",
@@ -22249,11 +22249,10 @@ const NumberBox = forwardRef(function NumberBox2({
22249
22249
  ref: upButton,
22250
22250
  children: /* @__PURE__ */ jsx(Icon$l, { name: spinnerUpIcon || "spinnerUp:NumberBox", fallback: "chevronup", size: "sm" })
22251
22251
  }
22252
- ),
22253
- /* @__PURE__ */ jsx(
22252
+ ) }),
22253
+ /* @__PURE__ */ jsx(Part, { partId: PART_SPINNER_DOWN, children: /* @__PURE__ */ jsx(
22254
22254
  Button,
22255
22255
  {
22256
- "data-part-id": PART_SPINNER_DOWN,
22257
22256
  "data-spinner": "down",
22258
22257
  type: "button",
22259
22258
  role: "spinbutton",
@@ -22272,7 +22271,7 @@ const NumberBox = forwardRef(function NumberBox2({
22272
22271
  }
22273
22272
  )
22274
22273
  }
22275
- )
22274
+ ) })
22276
22275
  ] })
22277
22276
  ]
22278
22277
  }
@@ -22456,7 +22455,7 @@ function HiddenOption(option) {
22456
22455
  return /* @__PURE__ */ jsx("div", { ref: (el) => setNode(el), style: { display: "none" }, children: option.children });
22457
22456
  }
22458
22457
  const PART_LIST_WRAPPER$1 = "listWrapper";
22459
- const PART_CLEAR_BUTTON$2 = "clearButton";
22458
+ const PART_CLEAR_BUTTON$1 = "clearButton";
22460
22459
  const defaultProps$L = {
22461
22460
  enabled: true,
22462
22461
  placeholder: "",
@@ -22522,10 +22521,9 @@ const SelectTriggerActions = ({
22522
22521
  }) => {
22523
22522
  const hasValue = multiSelect ? Array.isArray(value) && value.length > 0 : value !== void 0 && value !== null && value !== "";
22524
22523
  return /* @__PURE__ */ jsxs("div", { className: styles$P.actions, children: [
22525
- hasValue && enabled2 && !readOnly2 && clearable && /* @__PURE__ */ jsx(
22524
+ hasValue && enabled2 && !readOnly2 && clearable && /* @__PURE__ */ jsx(Part, { partId: PART_CLEAR_BUTTON$1, children: /* @__PURE__ */ jsx(
22526
22525
  "span",
22527
22526
  {
22528
- "data-part-id": PART_CLEAR_BUTTON$2,
22529
22527
  className: styles$P.action,
22530
22528
  onClick: (event) => {
22531
22529
  event.stopPropagation();
@@ -22533,7 +22531,7 @@ const SelectTriggerActions = ({
22533
22531
  },
22534
22532
  children: /* @__PURE__ */ jsx(Icon$l, { name: "close" })
22535
22533
  }
22536
- ),
22534
+ ) }),
22537
22535
  showChevron && /* @__PURE__ */ jsx("span", { className: styles$P.action, children: /* @__PURE__ */ jsx(Icon$l, { name: "chevrondown" }) })
22538
22536
  ] });
22539
22537
  };
@@ -22801,7 +22799,7 @@ const Select = forwardRef(function Select2({
22801
22799
  },
22802
22800
  modal: false,
22803
22801
  children: [
22804
- /* @__PURE__ */ jsxs(
22802
+ /* @__PURE__ */ jsx(Part, { partId: PART_LIST_WRAPPER$1, children: /* @__PURE__ */ jsxs(
22805
22803
  PopoverTrigger,
22806
22804
  {
22807
22805
  ...rest,
@@ -22813,7 +22811,6 @@ const Select = forwardRef(function Select2({
22813
22811
  onBlur,
22814
22812
  disabled: !enabled2,
22815
22813
  "aria-expanded": open,
22816
- "data-part-id": PART_LIST_WRAPPER$1,
22817
22814
  className: classnames(className, styles$P.selectTrigger, styles$P[validationStatus], {
22818
22815
  [styles$P.disabled]: !enabled2,
22819
22816
  [styles$P.multi]: multiSelect
@@ -22866,7 +22863,7 @@ const Select = forwardRef(function Select2({
22866
22863
  )
22867
22864
  ]
22868
22865
  }
22869
- ),
22866
+ ) }),
22870
22867
  open && /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
22871
22868
  PopoverContent,
22872
22869
  {
@@ -23560,42 +23557,32 @@ const TextArea = forwardRef(function TextArea2({
23560
23557
  autoComplete: "off"
23561
23558
  };
23562
23559
  if (resize2 === "both" || resize2 === "horizontal" || resize2 === "vertical") {
23563
- return /* @__PURE__ */ jsx(
23560
+ return /* @__PURE__ */ jsx(Part, { partId: PART_INPUT, children: /* @__PURE__ */ jsx(
23564
23561
  TextAreaResizable$1,
23565
23562
  {
23566
23563
  ...textareaProps,
23567
- "data-part-id": PART_INPUT,
23568
23564
  style: style2,
23569
23565
  className: classnames(classes),
23570
23566
  maxRows,
23571
23567
  minRows,
23572
23568
  rows
23573
23569
  }
23574
- );
23570
+ ) });
23575
23571
  }
23576
23572
  if (autoSize || !isNil(maxRows) || !isNil(minRows)) {
23577
- return /* @__PURE__ */ jsx(
23573
+ return /* @__PURE__ */ jsx(Part, { partId: PART_INPUT, children: /* @__PURE__ */ jsx(
23578
23574
  TextareaAutosize,
23579
23575
  {
23580
23576
  ...textareaProps,
23581
- "data-part-id": PART_INPUT,
23582
23577
  style: style2,
23583
23578
  className: classnames(classes),
23584
23579
  maxRows,
23585
23580
  minRows,
23586
23581
  rows
23587
23582
  }
23588
- );
23583
+ ) });
23589
23584
  }
23590
- return /* @__PURE__ */ jsx(
23591
- "textarea",
23592
- {
23593
- ...textareaProps,
23594
- "data-part-id": PART_INPUT,
23595
- rows,
23596
- className: classnames(classes)
23597
- }
23598
- );
23585
+ return /* @__PURE__ */ jsx(Part, { partId: PART_INPUT, children: /* @__PURE__ */ jsx("textarea", { ...textareaProps, rows, className: classnames(classes) }) });
23599
23586
  });
23600
23587
  const themeVars$w = `'{"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)"}'`;
23601
23588
  const command = "_command_17r5s_14";
@@ -23996,12 +23983,11 @@ const AutoComplete = forwardRef(function AutoComplete2({
23996
23983
  },
23997
23984
  modal: false,
23998
23985
  children: [
23999
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, ref: setReferenceElement, children: /* @__PURE__ */ jsxs(
23986
+ /* @__PURE__ */ jsx(Part, { partId: PART_LIST_WRAPPER, children: /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, ref: setReferenceElement, children: /* @__PURE__ */ jsxs(
24000
23987
  "div",
24001
23988
  {
24002
23989
  ref: forwardedRef,
24003
23990
  style: style2,
24004
- "data-part-id": PART_LIST_WRAPPER,
24005
23991
  className: classnames(
24006
23992
  className,
24007
23993
  styles$M.badgeListWrapper,
@@ -24036,7 +24022,7 @@ const AutoComplete = forwardRef(function AutoComplete2({
24036
24022
  )
24037
24023
  ] }, index)) }),
24038
24024
  /* @__PURE__ */ jsxs("div", { className: styles$M.inputWrapper, children: [
24039
- /* @__PURE__ */ jsx(
24025
+ /* @__PURE__ */ jsx(Part, { partId: PART_INPUT, children: /* @__PURE__ */ jsx(
24040
24026
  "input",
24041
24027
  {
24042
24028
  ...rest,
@@ -24072,7 +24058,6 @@ const AutoComplete = forwardRef(function AutoComplete2({
24072
24058
  setOpen(true);
24073
24059
  }
24074
24060
  },
24075
- "data-part-id": PART_INPUT,
24076
24061
  readOnly: readOnly2,
24077
24062
  autoFocus,
24078
24063
  "aria-autocomplete": "list",
@@ -24086,7 +24071,7 @@ const AutoComplete = forwardRef(function AutoComplete2({
24086
24071
  placeholder: !readOnly2 ? placeholder2 : "",
24087
24072
  className: styles$M.commandInput
24088
24073
  }
24089
- ),
24074
+ ) }),
24090
24075
  /* @__PURE__ */ jsxs("div", { className: styles$M.actions, children: [
24091
24076
  value?.length > 0 && enabled2 && !readOnly2 && /* @__PURE__ */ jsx(
24092
24077
  "span",
@@ -24115,7 +24100,7 @@ const AutoComplete = forwardRef(function AutoComplete2({
24115
24100
  ] })
24116
24101
  ]
24117
24102
  }
24118
- ) }),
24103
+ ) }) }),
24119
24104
  open && /* @__PURE__ */ jsx(Portal, { container: root2, children: /* @__PURE__ */ jsx(
24120
24105
  PopoverContent,
24121
24106
  {
@@ -25294,7 +25279,7 @@ const ResponsiveBarDropdown = ({
25294
25279
  className,
25295
25280
  onWillOpen,
25296
25281
  registerComponentApi
25297
- }) => /* @__PURE__ */ jsx("div", { className, "data-part-id": PART_OVERFLOW, children: /* @__PURE__ */ jsx(
25282
+ }) => /* @__PURE__ */ jsx(Part, { partId: PART_OVERFLOW, children: /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(
25298
25283
  DropdownMenu,
25299
25284
  {
25300
25285
  label: dropdownText,
@@ -25306,7 +25291,7 @@ const ResponsiveBarDropdown = ({
25306
25291
  registerComponentApi,
25307
25292
  children
25308
25293
  }
25309
- ) });
25294
+ ) }) });
25310
25295
  const defaultResponsiveBarProps = {
25311
25296
  overflowIcon: "ellipsisHorizontal:ResponsiveBar",
25312
25297
  dropdownText: "More options",
@@ -25903,6 +25888,11 @@ const COMP$19 = "NavLink";
25903
25888
  const NavLinkMd = createMetadata({
25904
25889
  status: "stable",
25905
25890
  description: "`NavLink` creates interactive navigation items that connect users to different destinations within an app or external URLs. It automatically indicates active states, supports custom icons and labels, and can execute custom actions instead of navigation when needed.",
25891
+ parts: {
25892
+ indicator: {
25893
+ description: "The active indicator within the NavLink component."
25894
+ }
25895
+ },
25906
25896
  props: {
25907
25897
  to: d(`This property defines the URL of the link.`),
25908
25898
  enabled: dEnabled(),
@@ -25992,6 +25982,11 @@ const COMP$18 = "Link";
25992
25982
  const LinkMd = createMetadata({
25993
25983
  status: "stable",
25994
25984
  description: "`Link` creates clickable navigation elements for internal app routes or external URLs. You can use the `label` and `icon` properties for simple text links, or embed custom components like buttons, cards, or complex layouts for rich interactive link presentations.",
25985
+ parts: {
25986
+ icon: {
25987
+ description: "The icon within the Link component."
25988
+ }
25989
+ },
25995
25990
  props: {
25996
25991
  to: d(
25997
25992
  "This property defines the URL of the link. If the value is not defined, the link cannot be activated."
@@ -29118,10 +29113,9 @@ const PaginationNative = forwardRef(function PaginationNative2({
29118
29113
  const visiblePages = getVisiblePages();
29119
29114
  const isFirstPage = currentPage === 0;
29120
29115
  const isLastPage = currentPage === totalPages - 1;
29121
- const buttonRow2 = /* @__PURE__ */ jsxs(
29116
+ const buttonRow2 = /* @__PURE__ */ jsx(Part, { partId: "pagination-controls", children: /* @__PURE__ */ jsxs(
29122
29117
  "ul",
29123
29118
  {
29124
- "data-component": `pagination-controls`,
29125
29119
  className: classnames(styles$C.buttonRow, {
29126
29120
  [styles$C.paginationListVertical]: orientation === "vertical"
29127
29121
  // layout is already horizontal by default
@@ -29231,37 +29225,30 @@ const PaginationNative = forwardRef(function PaginationNative2({
29231
29225
  ) })
29232
29226
  ]
29233
29227
  }
29234
- );
29235
- const pageSizeSelector = showPageSizeSelector && pageSizeOptions && pageSizeOptions.length > 1 && /* @__PURE__ */ jsx(
29236
- "div",
29228
+ ) });
29229
+ const pageSizeSelector = showPageSizeSelector && pageSizeOptions && pageSizeOptions.length > 1 && /* @__PURE__ */ jsx(Part, { partId: "page-size-selector-container", children: /* @__PURE__ */ jsx("div", { className: classnames(styles$C.selectorContainer), children: /* @__PURE__ */ jsx(
29230
+ ItemWithLabel,
29237
29231
  {
29238
- "data-component": `page-size-selector-container`,
29239
- className: classnames(styles$C.selectorContainer),
29232
+ id: `${id}-page-size-selector`,
29233
+ label: "Items per page",
29234
+ enabled: enabled2,
29235
+ style: style2,
29236
+ className,
29237
+ labelPosition: orientation === "vertical" ? "top" : "start",
29240
29238
  children: /* @__PURE__ */ jsx(
29241
- ItemWithLabel,
29239
+ "select",
29242
29240
  {
29243
29241
  id: `${id}-page-size-selector`,
29244
- label: "Items per page",
29245
- enabled: enabled2,
29246
- style: style2,
29247
- className,
29248
- labelPosition: orientation === "vertical" ? "top" : "start",
29249
- children: /* @__PURE__ */ jsx(
29250
- "select",
29251
- {
29252
- id: `${id}-page-size-selector`,
29253
- value: pageSize,
29254
- onChange: (e) => handlePageSizeChange(Number(e.target.value)),
29255
- disabled: !enabled2,
29256
- className: styles$C.pageSizeSelect,
29257
- children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx("option", { value: size, children: size }, size))
29258
- }
29259
- )
29242
+ value: pageSize,
29243
+ onChange: (e) => handlePageSizeChange(Number(e.target.value)),
29244
+ disabled: !enabled2,
29245
+ className: styles$C.pageSizeSelect,
29246
+ children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx("option", { value: size, children: size }, size))
29260
29247
  }
29261
29248
  )
29262
29249
  }
29263
- );
29264
- const pageInfo = showPageInfo && /* @__PURE__ */ jsx("div", { "data-component": `page-info`, className: classnames(styles$C.pageInfo), children: /* @__PURE__ */ jsxs(Text, { variant: "secondary", children: [
29250
+ ) }) });
29251
+ const pageInfo = showPageInfo && /* @__PURE__ */ jsx(Part, { partId: "page-info", children: /* @__PURE__ */ jsx("div", { className: classnames(styles$C.pageInfo), children: /* @__PURE__ */ jsxs(Text, { variant: "secondary", children: [
29265
29252
  "Page ",
29266
29253
  currentPageNumber,
29267
29254
  " of ",
@@ -29269,7 +29256,7 @@ const PaginationNative = forwardRef(function PaginationNative2({
29269
29256
  " (",
29270
29257
  itemCount,
29271
29258
  " items)"
29272
- ] }) });
29259
+ ] }) }) });
29273
29260
  return /* @__PURE__ */ jsxs(
29274
29261
  "nav",
29275
29262
  {
@@ -30082,6 +30069,15 @@ const COMP$12 = "Table";
30082
30069
  const TableMd = createMetadata({
30083
30070
  status: "stable",
30084
30071
  description: "`Table` presents structured data for viewing, sorting, selection, and interaction.",
30072
+ // NOTE: let's leave it like this for now, we'll expand later when the need arises
30073
+ parts: {
30074
+ table: {
30075
+ description: "The main table container."
30076
+ },
30077
+ pagination: {
30078
+ description: "The pagination controls container."
30079
+ }
30080
+ },
30085
30081
  props: {
30086
30082
  items: dInternal(
30087
30083
  `You can use \`items\` as an alias for the \`data\` property. When you bind the table to a data source (e.g. an API endpoint), the \`data\` acts as the property that accepts a URL to fetch information from an API. When both \`items\` and \`data\` are used, \`items\` has priority.`
@@ -31397,6 +31393,14 @@ const COMP$T = "Splitter";
31397
31393
  const baseSplitterMd = createMetadata({
31398
31394
  status: "stable",
31399
31395
  description: "`Splitter` component divides a container into two resizable sections. These are are identified by their names: primary and secondary. They have a draggable bar between them. When only a single child is visible (due to conditional rendering with `when` attributes), the splitter bar is not displayed and the single panel stretches to fill the entire viewport of the splitter container.",
31396
+ parts: {
31397
+ primaryPanel: {
31398
+ description: "The primary section/panel of the `Splitter` component."
31399
+ },
31400
+ secondaryPanel: {
31401
+ description: "The secondary section/panel of the `Splitter` component."
31402
+ }
31403
+ },
31400
31404
  props: {
31401
31405
  swapped: {
31402
31406
  description: `This optional booelan property indicates whether the \`${COMP$T}\` sections are layed out as primary and secondary (\`false\`) or secondary and primary (\`true\`) from left to right.`,
@@ -31453,7 +31457,7 @@ const SplitterMd = {
31453
31457
  const HSplitterMd = { ...baseSplitterMd, specializedFrom: COMP$T };
31454
31458
  const VSplitterMd = { ...baseSplitterMd, specializedFrom: COMP$T };
31455
31459
  const DEFAULT_ORIENTATION = "vertical";
31456
- function renderSplitter({
31460
+ function SplitterRenderer({
31457
31461
  node,
31458
31462
  extractValue,
31459
31463
  className,
@@ -31469,7 +31473,7 @@ function renderSplitter({
31469
31473
  const rendered = renderChild2(node.children);
31470
31474
  return rendered ? [rendered] : [];
31471
31475
  }
31472
- return node.children.map((child, index) => renderChild2(child)).filter((child) => child !== null && child !== void 0).map((child, index) => React__default.cloneElement(child, { key: index }));
31476
+ return node.children.map((child) => renderChild2(child)).filter((child) => child !== null && child !== void 0).map((child, index) => React__default.cloneElement(child, { key: index }));
31473
31477
  }, [node.children, renderChild2]);
31474
31478
  const visibleChildCount = renderedChildren.length;
31475
31479
  return /* @__PURE__ */ jsx(
@@ -31493,7 +31497,7 @@ const splitterComponentRenderer = createComponentRenderer(
31493
31497
  COMP$T,
31494
31498
  SplitterMd,
31495
31499
  ({ node, extractValue, renderChild: renderChild2, className, lookupEventHandler }) => {
31496
- return renderSplitter({
31500
+ return SplitterRenderer({
31497
31501
  node,
31498
31502
  extractValue,
31499
31503
  className,
@@ -31506,7 +31510,7 @@ const vSplitterComponentRenderer = createComponentRenderer(
31506
31510
  "VSplitter",
31507
31511
  VSplitterMd,
31508
31512
  ({ node, extractValue, renderChild: renderChild2, className, lookupEventHandler }) => {
31509
- return renderSplitter({
31513
+ return SplitterRenderer({
31510
31514
  node,
31511
31515
  extractValue,
31512
31516
  className,
@@ -31520,7 +31524,7 @@ const hSplitterComponentRenderer = createComponentRenderer(
31520
31524
  "HSplitter",
31521
31525
  HSplitterMd,
31522
31526
  ({ node, extractValue, renderChild: renderChild2, className, lookupEventHandler }) => {
31523
- return renderSplitter({
31527
+ return SplitterRenderer({
31524
31528
  node,
31525
31529
  extractValue,
31526
31530
  className,
@@ -33402,6 +33406,12 @@ const NumberBoxMd = createMetadata({
33402
33406
  },
33403
33407
  input: {
33404
33408
  description: "The text box input area."
33409
+ },
33410
+ spinnerButtonUp: {
33411
+ description: "The spinner button for incrementing the value."
33412
+ },
33413
+ spinnerButtonDown: {
33414
+ description: "The spinner button for decrementing the value."
33405
33415
  }
33406
33416
  },
33407
33417
  props: {
@@ -33559,6 +33569,14 @@ const COMP$M = "NavPanel";
33559
33569
  const NavPanelMd = createMetadata({
33560
33570
  status: "stable",
33561
33571
  description: "`NavPanel` defines the navigation structure within an App, serving as a container for NavLink and NavGroup components that create your application's primary navigation menu. Its appearance and behavior automatically adapt based on the App's layout configuration.",
33572
+ parts: {
33573
+ logo: {
33574
+ description: "The logo area within the NavPanel component."
33575
+ },
33576
+ content: {
33577
+ description: "The content area within the NavPanel component."
33578
+ }
33579
+ },
33562
33580
  props: {
33563
33581
  logoTemplate: dComponent(
33564
33582
  `This property defines the logo template to display in the navigation panel with the \`vertical\` and \`vertical-sticky\` layout.`
@@ -33867,6 +33885,11 @@ const RGOption = `RadioGroupOption`;
33867
33885
  const RadioGroupMd = createMetadata({
33868
33886
  status: "stable",
33869
33887
  description: "`RadioGroup` creates a mutually exclusive selection interface where users can choose only one option from a group of radio buttons. It manages the selection state and ensures that selecting one option automatically deselects all others in the group.Radio options store their values as strings. Numbers and booleans are converted to strings when assigned, while objects, functions and arrays default to an empty string unless resolved via binding expressions.",
33888
+ parts: {
33889
+ label: {
33890
+ description: "The label displayed for the radio group."
33891
+ }
33892
+ },
33870
33893
  props: {
33871
33894
  initialValue: {
33872
33895
  ...dInitialValue(),
@@ -34035,6 +34058,12 @@ const SelectMd = createMetadata({
34035
34058
  parts: {
34036
34059
  clearButton: {
34037
34060
  description: "The button to clear the selected value(s)."
34061
+ },
34062
+ item: {
34063
+ description: "Each option item within the Select component."
34064
+ },
34065
+ menu: {
34066
+ description: "The dropdown menu within the Select component."
34038
34067
  }
34039
34068
  },
34040
34069
  props: {
@@ -34483,6 +34512,11 @@ const COMP$C = "ExpandableItem";
34483
34512
  const ExpandableItemMd = createMetadata({
34484
34513
  status: "stable",
34485
34514
  description: "`ExpandableItem` creates expandable/collapsible section, similar to the HTML details disclosure element. When the user clicks on the `summary` the content expands or collapses.",
34515
+ parts: {
34516
+ summary: {
34517
+ description: "The summary section that is always visible and acts as the trigger."
34518
+ }
34519
+ },
34486
34520
  props: {
34487
34521
  summary: dComponent("The summary content that is always visible and acts as the trigger."),
34488
34522
  initiallyExpanded: {
@@ -36861,7 +36895,7 @@ function InputDivider({
36861
36895
  const PART_DAY = "day";
36862
36896
  const PART_MONTH = "month";
36863
36897
  const PART_YEAR = "year";
36864
- const PART_CLEAR_BUTTON$1 = "clearButton";
36898
+ const PART_CLEAR_BUTTON = "clearButton";
36865
36899
  const MIN_YEAR = 1900;
36866
36900
  const MAX_YEAR = 2100;
36867
36901
  const dateFormats = [
@@ -37094,7 +37128,7 @@ const DateInput = forwardRef(function DateInputNative({
37094
37128
  }
37095
37129
  }
37096
37130
  },
37097
- [day2, month2, year2, handleChange, onInvalidChange]
37131
+ [day2, month2, year2, handleChange, onInvalidChange, formatDateValue]
37098
37132
  );
37099
37133
  const handleDayChange = useMemo(
37100
37134
  () => createInputChangeHandler(
@@ -37399,21 +37433,17 @@ const DateInput = forwardRef(function DateInputNative({
37399
37433
  startAdornment,
37400
37434
  /* @__PURE__ */ jsxs("div", { className: styles$t.wrapper, children: [
37401
37435
  /* @__PURE__ */ jsx("div", { className: styles$t.inputGroup, children: createDateInputs() }),
37402
- clearable && /* @__PURE__ */ jsx(
37436
+ clearable && /* @__PURE__ */ jsx(Part, { partId: PART_CLEAR_BUTTON, children: /* @__PURE__ */ jsx(
37403
37437
  "button",
37404
37438
  {
37405
- "data-part-id": PART_CLEAR_BUTTON$1,
37406
- className: classnames(
37407
- styles$t.clearButton,
37408
- styles$t.button
37409
- ),
37439
+ className: classnames(styles$t.clearButton, styles$t.button),
37410
37440
  disabled: !enabled2,
37411
37441
  onClick: clear,
37412
37442
  onFocus: stopPropagation,
37413
37443
  type: "button",
37414
37444
  children: clearIconElement
37415
37445
  }
37416
- )
37446
+ ) })
37417
37447
  ] }),
37418
37448
  endAdornment
37419
37449
  ]
@@ -37441,10 +37471,9 @@ function DayInput({
37441
37471
  }
37442
37472
  return 31;
37443
37473
  }, [month2, year2]);
37444
- return /* @__PURE__ */ jsx(
37474
+ return /* @__PURE__ */ jsx(Part, { partId: PART_DAY, children: /* @__PURE__ */ jsx(
37445
37475
  PartialInput,
37446
37476
  {
37447
- "data-part-id": PART_DAY,
37448
37477
  id: otherProps.id,
37449
37478
  value,
37450
37479
  emptyCharacter,
@@ -37473,7 +37502,7 @@ function DayInput({
37473
37502
  ariaLabel: otherProps.ariaLabel,
37474
37503
  isInvalid
37475
37504
  }
37476
- );
37505
+ ) });
37477
37506
  }
37478
37507
  function MonthInput({
37479
37508
  minValue,
@@ -37484,10 +37513,9 @@ function MonthInput({
37484
37513
  emptyCharacter = "-",
37485
37514
  ...otherProps
37486
37515
  }) {
37487
- return /* @__PURE__ */ jsx(
37516
+ return /* @__PURE__ */ jsx(Part, { partId: PART_MONTH, children: /* @__PURE__ */ jsx(
37488
37517
  PartialInput,
37489
37518
  {
37490
- "data-part-id": PART_MONTH,
37491
37519
  id: otherProps.id,
37492
37520
  max: 12,
37493
37521
  min: 1,
@@ -37516,7 +37544,7 @@ function MonthInput({
37516
37544
  nextInputRef: otherProps.nextInputRef,
37517
37545
  ariaLabel: otherProps.ariaLabel
37518
37546
  }
37519
- );
37547
+ ) });
37520
37548
  }
37521
37549
  function YearInput({
37522
37550
  minValue,
@@ -37533,10 +37561,9 @@ function YearInput({
37533
37561
  const min = 1900;
37534
37562
  const max = currentYear + 100;
37535
37563
  const { className: originalClassName, ...restProps } = otherProps;
37536
- return /* @__PURE__ */ jsx(
37564
+ return /* @__PURE__ */ jsx(Part, { partId: PART_YEAR, children: /* @__PURE__ */ jsx(
37537
37565
  PartialInput,
37538
37566
  {
37539
- "data-part-id": PART_YEAR,
37540
37567
  id: otherProps.id,
37541
37568
  max,
37542
37569
  min,
@@ -37557,7 +37584,7 @@ function YearInput({
37557
37584
  },
37558
37585
  ...restProps
37559
37586
  }
37560
- );
37587
+ ) });
37561
37588
  }
37562
37589
  function parseDateString(dateString, dateFormat) {
37563
37590
  if (typeof dateString !== "string" || dateString === null || dateString === void 0) {
@@ -38025,11 +38052,6 @@ function safeMin(...args) {
38025
38052
  function safeMax(...args) {
38026
38053
  return Math.max(...args.filter(isValidNumber));
38027
38054
  }
38028
- const PART_HOUR = "hour";
38029
- const PART_MINUTE = "minute";
38030
- const PART_SECOND = "second";
38031
- const PART_AMPM = "ampm";
38032
- const PART_CLEAR_BUTTON = "clearButton";
38033
38055
  const defaultProps$n = {
38034
38056
  enabled: true,
38035
38057
  validationStatus: "none",
@@ -38560,10 +38582,9 @@ const TimeInputNative = forwardRef(function TimeInputNative2({
38560
38582
  }
38561
38583
  )
38562
38584
  ] }),
38563
- clearable && /* @__PURE__ */ jsx(
38585
+ clearable && /* @__PURE__ */ jsx(Part, { partId: "clearButton", children: /* @__PURE__ */ jsx(
38564
38586
  "button",
38565
38587
  {
38566
- "data-part-id": PART_CLEAR_BUTTON,
38567
38588
  className: classnames(styles$q.clearButton, styles$q.button),
38568
38589
  disabled: !enabled2,
38569
38590
  onClick: clear,
@@ -38571,7 +38592,7 @@ const TimeInputNative = forwardRef(function TimeInputNative2({
38571
38592
  type: "button",
38572
38593
  children: clearIconElement
38573
38594
  }
38574
- )
38595
+ ) })
38575
38596
  ] }),
38576
38597
  endAdornment
38577
38598
  ]
@@ -38614,11 +38635,10 @@ function AmPmButton({
38614
38635
  },
38615
38636
  [onKeyDown, disabled2, onAmPmSet, value, amDisabled, pmDisabled]
38616
38637
  );
38617
- return /* @__PURE__ */ jsx(
38638
+ return /* @__PURE__ */ jsx(Part, { partId: "ampm", children: /* @__PURE__ */ jsx(
38618
38639
  "button",
38619
38640
  {
38620
38641
  type: "button",
38621
- "data-part-id": PART_AMPM,
38622
38642
  "aria-label": ariaLabel || "Toggle AM/PM (Press A for AM, P for PM)",
38623
38643
  autoFocus,
38624
38644
  className: classnames(styles$q.amPmButton, styles$q.button, className),
@@ -38628,7 +38648,7 @@ function AmPmButton({
38628
38648
  ref: buttonRef,
38629
38649
  children: /* @__PURE__ */ jsx("span", { className: styles$q.amPmValue, children: value ? value === "am" ? amLabel : pmLabel : "--" })
38630
38650
  }
38631
- );
38651
+ ) });
38632
38652
  }
38633
38653
  function HourInput({
38634
38654
  id,
@@ -38676,11 +38696,10 @@ function HourInput({
38676
38696
  }
38677
38697
  })();
38678
38698
  const displayValue = value || "";
38679
- return /* @__PURE__ */ jsx(
38699
+ return /* @__PURE__ */ jsx(Part, { partId: "hour", children: /* @__PURE__ */ jsx(
38680
38700
  PartialInput,
38681
38701
  {
38682
38702
  id,
38683
- "data-part-id": PART_HOUR,
38684
38703
  value: displayValue,
38685
38704
  emptyCharacter,
38686
38705
  placeholderLength: 2,
@@ -38708,7 +38727,7 @@ function HourInput({
38708
38727
  ariaLabel: otherProps.ariaLabel,
38709
38728
  isInvalid
38710
38729
  }
38711
- );
38730
+ ) });
38712
38731
  }
38713
38732
  function MinuteInput({
38714
38733
  hour: hour2,
@@ -38725,10 +38744,9 @@ function MinuteInput({
38725
38744
  }
38726
38745
  const maxMinute = safeMin(59, maxTime && isSameHour(maxTime) && getMinutes(maxTime));
38727
38746
  const minMinute = safeMax(0, minTime && isSameHour(minTime) && getMinutes(minTime));
38728
- return /* @__PURE__ */ jsx(
38747
+ return /* @__PURE__ */ jsx(Part, { partId: "minute", children: /* @__PURE__ */ jsx(
38729
38748
  PartialInput,
38730
38749
  {
38731
- "data-part-id": PART_MINUTE,
38732
38750
  max: maxMinute,
38733
38751
  min: minMinute,
38734
38752
  name: "minute",
@@ -38756,7 +38774,7 @@ function MinuteInput({
38756
38774
  ariaLabel: otherProps.ariaLabel,
38757
38775
  isInvalid
38758
38776
  }
38759
- );
38777
+ ) });
38760
38778
  }
38761
38779
  function SecondInput({
38762
38780
  hour: hour2,
@@ -38774,10 +38792,9 @@ function SecondInput({
38774
38792
  }
38775
38793
  const maxSecond = safeMin(59, maxTime && isSameMinute(maxTime) && getSeconds(maxTime));
38776
38794
  const minSecond = safeMax(0, minTime && isSameMinute(minTime) && getSeconds(minTime));
38777
- return /* @__PURE__ */ jsx(
38795
+ return /* @__PURE__ */ jsx(Part, { partId: "second", children: /* @__PURE__ */ jsx(
38778
38796
  PartialInput,
38779
38797
  {
38780
- "data-part-id": PART_SECOND,
38781
38798
  max: maxSecond,
38782
38799
  min: minSecond,
38783
38800
  name: "second",
@@ -38805,7 +38822,7 @@ function SecondInput({
38805
38822
  ariaLabel: otherProps.ariaLabel,
38806
38823
  isInvalid
38807
38824
  }
38808
- );
38825
+ ) });
38809
38826
  }
38810
38827
  function parseTimeString(timeValue, targetIs12Hour = false) {
38811
38828
  if (timeValue == null || timeValue === void 0) {
@@ -40413,6 +40430,17 @@ const COMP$r = "Slider";
40413
40430
  const SliderMd = createMetadata({
40414
40431
  status: "stable",
40415
40432
  description: "`Slider` provides an interactive control for selecting numeric values within a defined range, supporting both single value selection and range selection with multiple thumbs. It offers precise control through customizable steps and visual feedback with formatted value display.Hover over the component to see the tooltip with the current value. On mobile, tap the thumb to see the tooltip.",
40433
+ parts: {
40434
+ label: {
40435
+ description: "The label displayed for the slider."
40436
+ },
40437
+ track: {
40438
+ description: "The track element of the slider."
40439
+ },
40440
+ thumb: {
40441
+ description: "The thumb elements of the slider."
40442
+ }
40443
+ },
40416
40444
  props: {
40417
40445
  initialValue: dInitialValue(),
40418
40446
  minValue: {
@@ -43713,7 +43741,6 @@ const ColorPicker = forwardRef(
43713
43741
  [styles$h.warning]: validationStatus === "warning",
43714
43742
  [styles$h.valid]: validationStatus === "valid"
43715
43743
  }),
43716
- "data-part-id": PART_INPUT,
43717
43744
  style: style2,
43718
43745
  disabled: !enabled2,
43719
43746
  onFocus: handleOnFocus,
@@ -44443,6 +44470,14 @@ const COMP$d = "CodeBlock";
44443
44470
  const CodeBlockMd = createMetadata({
44444
44471
  status: "stable",
44445
44472
  description: `The \`${COMP$d}\` component displays code with optional syntax highlighting and meta information.`,
44473
+ parts: {
44474
+ header: {
44475
+ description: "The header section of the CodeBlock, typically displaying the filename."
44476
+ },
44477
+ content: {
44478
+ description: "The main content area of the CodeBlock where the code is displayed."
44479
+ }
44480
+ },
44446
44481
  props: {},
44447
44482
  themeVars: parseScssVar(styles$I.themeVars),
44448
44483
  defaultThemeVars: {
@@ -46382,6 +46417,17 @@ const COMP$4 = "Pagination";
46382
46417
  const PaginationMd = createMetadata({
46383
46418
  status: "experimental",
46384
46419
  description: "`Pagination` enables navigation through large datasets by dividing content into pages. It provides controls for page navigation and can display current page information.",
46420
+ parts: {
46421
+ buttonRow: {
46422
+ description: "The container for pagination buttons."
46423
+ },
46424
+ pageInfo: {
46425
+ description: "The container for page information display."
46426
+ },
46427
+ pageSizeSelector: {
46428
+ description: "The container for the page size selector dropdown."
46429
+ }
46430
+ },
46385
46431
  props: {
46386
46432
  enabled: dEnabled(),
46387
46433
  itemCount: d(
@@ -48248,7 +48294,7 @@ function IconProvider({ children }) {
48248
48294
  /* @__PURE__ */ jsx("svg", { style: { display: "none" }, ref: spriteRootRef })
48249
48295
  ] });
48250
48296
  }
48251
- const version = "0.11.15";
48297
+ const version = "0.11.17";
48252
48298
  const miscellaneousUtils = {
48253
48299
  capitalize,
48254
48300
  pluralize: pluralize$1,
@@ -48526,21 +48572,21 @@ function createContainerReducer(debugView) {
48526
48572
  case ContainerActionKind.EVENT_HANDLER_STARTED: {
48527
48573
  const { eventName } = action2.payload;
48528
48574
  const inProgressFlagName = `${eventName}InProgress`;
48529
- state[uid] = state[uid] ? { ...state[uid], [inProgressFlagName]: true } : { [inProgressFlagName]: true };
48575
+ state[uid] = { ...state[uid], [inProgressFlagName]: true };
48530
48576
  storeNextValue(state[uid]);
48531
48577
  break;
48532
48578
  }
48533
48579
  case ContainerActionKind.EVENT_HANDLER_COMPLETED: {
48534
48580
  const { eventName } = action2.payload;
48535
48581
  const inProgressFlagName = `${eventName}InProgress`;
48536
- state[uid] = state[uid] ? { ...state[uid], [inProgressFlagName]: false } : { [inProgressFlagName]: false };
48582
+ state[uid] = { ...state[uid], [inProgressFlagName]: false };
48537
48583
  storeNextValue(state[uid]);
48538
48584
  break;
48539
48585
  }
48540
48586
  case ContainerActionKind.EVENT_HANDLER_ERROR: {
48541
48587
  const { eventName } = action2.payload;
48542
48588
  const inProgressFlagName = `${eventName}InProgress`;
48543
- state[uid] = state[uid] ? { ...state[uid], [inProgressFlagName]: false } : { [inProgressFlagName]: false };
48589
+ state[uid] = { ...state[uid], [inProgressFlagName]: false };
48544
48590
  storeNextValue(state[uid]);
48545
48591
  break;
48546
48592
  }
@@ -50761,9 +50807,7 @@ const StateContainer = memo(
50761
50807
  const routingParams = useRoutingParams();
50762
50808
  const memoedVars = useRef(/* @__PURE__ */ new Map());
50763
50809
  const stateFromOutside = useShallowCompareMemoize(
50764
- useMemo(() => {
50765
- return extractScopedState(parentState, node.uses);
50766
- }, [node.uses, parentState])
50810
+ useMemo(() => extractScopedState(parentState, node.uses), [node.uses, parentState])
50767
50811
  );
50768
50812
  const debugView = useDebugView();
50769
50813
  const containerReducer = createContainerReducer(debugView);
@@ -50772,15 +50816,10 @@ const StateContainer = memo(
50772
50816
  const componentStateWithApis = useShallowCompareMemoize(
50773
50817
  useMemo(() => {
50774
50818
  const ret = { ...componentState };
50775
- const registeredApiKeys = new Set(
50776
- Object.getOwnPropertySymbols(componentApis).map((s) => s.description).filter((d2) => d2 !== void 0)
50777
- );
50778
50819
  for (const stateKey of Object.getOwnPropertySymbols(componentState)) {
50779
50820
  const value = componentState[stateKey];
50780
50821
  if (stateKey.description) {
50781
- if (registeredApiKeys.has(stateKey.description)) {
50782
- ret[stateKey.description] = value;
50783
- }
50822
+ ret[stateKey.description] = value;
50784
50823
  }
50785
50824
  }
50786
50825
  if (Reflect.ownKeys(componentApis).length === 0) {
@@ -50844,11 +50883,8 @@ const StateContainer = memo(
50844
50883
  const mergedWithVars = useMergedState(resolvedLocalVars, componentStateWithApis);
50845
50884
  const combinedState = useCombinedState(
50846
50885
  stateFromOutside,
50847
- // Parent state (lower priority) - allows local vars to shadow
50848
50886
  node.contextVars,
50849
- // Context vars like $item
50850
50887
  mergedWithVars,
50851
- // Local vars and component state (higher priority) - enables shadowing
50852
50888
  routingParams
50853
50889
  );
50854
50890
  const registerComponentApi = useCallback((uid, api) => {
@@ -55898,7 +55934,7 @@ function ApiInterceptorProvider({
55898
55934
  return;
55899
55935
  }
55900
55936
  void (async () => {
55901
- const { initMock } = await import("./initMock-DROjRCvI.js");
55937
+ const { initMock } = await import("./initMock-CLejPJkl.js");
55902
55938
  const apiInstance2 = await initMock(interceptor);
55903
55939
  setApiInstance(apiInstance2);
55904
55940
  setInitialized(true);
@@ -55915,7 +55951,7 @@ function ApiInterceptorProvider({
55915
55951
  if (define_process_env_default.VITE_MOCK_ENABLED) {
55916
55952
  const [{ createApiInterceptorWorker }, { initMock }] = await Promise.all([
55917
55953
  useWorker ? import("./apiInterceptorWorker-Wgm2_zjg.js") : Promise.resolve({ createApiInterceptorWorker: () => null }),
55918
- import("./initMock-DROjRCvI.js")
55954
+ import("./initMock-CLejPJkl.js")
55919
55955
  ]);
55920
55956
  if (interceptor || forceInitialize) {
55921
55957
  const apiInstance2 = await initMock(interceptor || {});
@@ -55952,7 +55988,7 @@ function ApiInterceptorProvider({
55952
55988
  void (async () => {
55953
55989
  const [{ createApiInterceptorWorker }, { initMock }] = await Promise.all([
55954
55990
  import("./apiInterceptorWorker-Wgm2_zjg.js"),
55955
- import("./initMock-DROjRCvI.js")
55991
+ import("./initMock-CLejPJkl.js")
55956
55992
  ]);
55957
55993
  const apiInstance2 = await initMock(interceptor);
55958
55994
  await createApiInterceptorWorker(apiInstance2, parentInterceptorWorker);