@viasat/beam-react 2.53.0 → 2.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## 2.54.0 (2026-08-12)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **DateField:** Segment locale based order ([#1392](https://git.viasat.com/vega/Beam/pull/1392))
6
+
7
+ ### ❤️ Thank You
8
+
9
+ - Roman-Ionita, Alin
10
+
1
11
  ## 2.53.0 (2026-08-10)
2
12
 
3
13
  ### 🚀 Features
@@ -1 +1 @@
1
- :root,:host,.bm-light,.bm-dark .bm-inverse,.bm-dark.bm-inverse,[data-bm-theme~=bm-dark] .bm-inverse,[data-bm-theme~=bm-dark].bm-inverse,.bm-enterprise,.bm-consumer,[data-bm-theme~=bm-light]{--bm-comp-input-color-bg:var(--bm-sem-color-surface-01,#fff);--bm-comp-input-color-bg-disabled:var(--bm-sem-color-surface-highlight,#9fafbc29);--bm-comp-input-color-border:var(--bm-sem-color-border-strong,#8697a5);--bm-comp-input-color-border-error:var(--bm-sem-color-border-negative-strong,#cc2429);--bm-comp-input-color-border-disabled:#8697a566;--bm-comp-input-color-text:var(--bm-sem-color-text-primary,#141d24);--bm-comp-input-color-text-placeholder:var(--bm-sem-color-text-secondary,#576775);--bm-comp-input-color-text-disabled:var(--bm-sem-color-text-disabled,#57677566);--bm-comp-input-color-icon-disabled:var(--bm-sem-color-text-disabled,#57677566);--bm-comp-input-color-icon:var(--bm-sem-color-icon-secondary,#576775);--bm-comp-input-color-icon-error:var(--bm-sem-color-icon-negative-strong,#cc2429);--bm-comp-input-color-divider:var(--bm-sem-color-border-02,#d1dae0);--bm-comp-input-color-choice-checkbox-selected-bg:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-checkbox-selected-icon:var(--bm-sem-color-icon-primary-inverse,#fff);--bm-comp-input-color-choice-checkbox-selected-bg-error:var(--bm-sem-color-surface-negative-strong,#cc2429);--bm-comp-input-color-choice-checkbox-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-switch-selected-bg:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-switch-selected-icon:var(--bm-sem-color-icon-primary-inverse,#fff);--bm-comp-input-color-choice-switch-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-radio-selected-bg:var(--bm-sem-color-surface-01,#fff);--bm-comp-input-color-choice-radio-selected-border:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-radio-selected-inner-circle:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-radio-selected-bg-error:var(--bm-sem-color-surface-01,#fff);--bm-comp-input-color-choice-radio-selected-border-error:var(--bm-sem-color-surface-negative-strong,#cc2429);--bm-comp-input-color-choice-radio-selected-inner-circle-error:var(--bm-sem-color-surface-negative-strong,#cc2429);--bm-comp-input-typo-sm:var(--bm-sem-typo-compact-body-sm,400 .875rem/1rem "Source Sans Pro");--bm-comp-input-typo-md:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-lg:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-character-count:var(--bm-sem-typo-body-sm,400 .875rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-label-choice:var(--bm-sem-typo-body-md,400 1rem/1.5rem "Source Sans Pro");--bm-comp-input-space-field-x-sm:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-x-md:var(--bm-sem-space-100,1rem);--bm-comp-input-space-field-x-lg:var(--bm-sem-space-125,1.25rem);--bm-comp-input-space-field-y-sm:var(--bm-sem-space-25,.25rem);--bm-comp-input-space-field-y-md:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-field-y-lg:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-gap:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-inside:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-y:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-x:var(--bm-sem-space-100,1rem);--bm-comp-input-space-choice-nudge:var(--bm-primitive-dimension-12,.125rem);--bm-comp-input-size-field-height-sm:var(--bm-sem-size-height-sm,2rem);--bm-comp-input-size-field-height-md:var(--bm-sem-size-height-md,2.5rem);--bm-comp-input-size-field-height-lg:var(--bm-sem-size-height-lg,3rem);--bm-comp-input-size-field-width:var(--bm-primitive-dimension-1800,18rem);--bm-comp-input-size-field-icon-sm:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-field-icon-md:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-icon-lg:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-text-area-height:var(--bm-primitive-dimension-475,4.75rem);--bm-comp-input-size-choice-checkbox:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio-inside:var(--bm-primitive-dimension-50,.5rem);--bm-comp-input-size-choice-switch-height:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-choice-switch-width:var(--bm-primitive-dimension-250,2.5rem);--bm-comp-input-size-choice-switch-knob:var(--bm-primitive-dimension-87,.875rem);--bm-comp-input-radius-field:var(--bm-sem-radius-input-md,.25rem);--bm-comp-input-radius-choice-checkbox:var(--bm-sem-radius-input-sm,.125rem);--bm-comp-input-radius-choice-radio:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-radius-choice-switch:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-border-width-field-default:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-border-width-field-error:var(--bm-sem-border-width-lg,.125rem);--bm-comp-input-border-width-choice:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-shadow-field:var(--bm-sem-shadow-none,0 0 0 0 #0000)}:host,.bm-dark,.bm-light .bm-inverse,.bm-light.bm-inverse,[data-bm-theme~=bm-light] .bm-inverse,[data-bm-theme~=bm-light].bm-inverse,.bm-enterprise,.bm-consumer,[data-bm-theme~=bm-dark]{--bm-comp-input-color-bg:var(--bm-sem-color-surface-01,#202e39);--bm-comp-input-color-bg-disabled:var(--bm-sem-color-surface-highlight,#8697a529);--bm-comp-input-color-border:var(--bm-sem-color-border-strong,#9fafbc);--bm-comp-input-color-border-error:var(--bm-sem-color-border-negative-strong,#f67378);--bm-comp-input-color-border-disabled:#9fafbc66;--bm-comp-input-color-text:var(--bm-sem-color-text-primary,#fff);--bm-comp-input-color-text-placeholder:var(--bm-sem-color-text-secondary,#c3cdd5);--bm-comp-input-color-text-disabled:var(--bm-sem-color-text-disabled,#c3cdd566);--bm-comp-input-color-icon-disabled:var(--bm-sem-color-text-disabled,#c3cdd566);--bm-comp-input-color-icon:var(--bm-sem-color-icon-secondary,#c3cdd5);--bm-comp-input-color-icon-error:var(--bm-sem-color-icon-negative-strong,#f67378);--bm-comp-input-color-divider:var(--bm-sem-color-border-02,#465967);--bm-comp-input-color-choice-checkbox-selected-bg:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-checkbox-selected-icon:var(--bm-sem-color-icon-primary-inverse,#141d24);--bm-comp-input-color-choice-checkbox-selected-bg-error:var(--bm-sem-color-surface-negative-strong,#f67378);--bm-comp-input-color-choice-checkbox-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-switch-selected-bg:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-switch-selected-icon:var(--bm-sem-color-icon-primary-inverse,#141d24);--bm-comp-input-color-choice-switch-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-radio-selected-bg:var(--bm-sem-color-surface-01,#202e39);--bm-comp-input-color-choice-radio-selected-border:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-radio-selected-inner-circle:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-radio-selected-bg-error:var(--bm-sem-color-surface-01,#202e39);--bm-comp-input-color-choice-radio-selected-border-error:var(--bm-sem-color-surface-negative-strong,#f67378);--bm-comp-input-color-choice-radio-selected-inner-circle-error:var(--bm-sem-color-surface-negative-strong,#f67378);--bm-comp-input-typo-sm:var(--bm-sem-typo-compact-body-sm,400 .875rem/1rem "Source Sans Pro");--bm-comp-input-typo-md:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-lg:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-character-count:var(--bm-sem-typo-body-sm,400 .875rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-label-choice:var(--bm-sem-typo-body-md,400 1rem/1.5rem "Source Sans Pro");--bm-comp-input-space-field-x-sm:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-x-md:var(--bm-sem-space-100,1rem);--bm-comp-input-space-field-x-lg:var(--bm-sem-space-125,1.25rem);--bm-comp-input-space-field-y-sm:var(--bm-sem-space-25,.25rem);--bm-comp-input-space-field-y-md:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-field-y-lg:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-gap:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-inside:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-y:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-x:var(--bm-sem-space-100,1rem);--bm-comp-input-space-choice-nudge:var(--bm-primitive-dimension-12,.125rem);--bm-comp-input-size-field-height-sm:var(--bm-sem-size-height-sm,2rem);--bm-comp-input-size-field-height-md:var(--bm-sem-size-height-md,2.5rem);--bm-comp-input-size-field-height-lg:var(--bm-sem-size-height-lg,3rem);--bm-comp-input-size-field-width:var(--bm-primitive-dimension-1800,18rem);--bm-comp-input-size-field-icon-sm:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-field-icon-md:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-icon-lg:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-text-area-height:var(--bm-primitive-dimension-475,4.75rem);--bm-comp-input-size-choice-checkbox:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio-inside:var(--bm-primitive-dimension-50,.5rem);--bm-comp-input-size-choice-switch-height:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-choice-switch-width:var(--bm-primitive-dimension-250,2.5rem);--bm-comp-input-size-choice-switch-knob:var(--bm-primitive-dimension-87,.875rem);--bm-comp-input-radius-field:var(--bm-sem-radius-input-md,.25rem);--bm-comp-input-radius-choice-checkbox:var(--bm-sem-radius-input-sm,.125rem);--bm-comp-input-radius-choice-radio:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-radius-choice-switch:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-border-width-field-default:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-border-width-field-error:var(--bm-sem-border-width-lg,.125rem);--bm-comp-input-border-width-choice:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-shadow-field:var(--bm-sem-shadow-none,0 0 0 0 #0000)}.bm-date-field{--bm-label-cursor:pointer;max-width:var(--bm-comp-input-size-field-width);--bm-label-space-bottom:var(--bm-comp-label-space-bottom);--bm-helper-text-space-top:var(--bm-comp-helper-text-space-top)}.bm-date-field--disabled{--bm-label-cursor:not-allowed;--bm-label-pointer-events:auto;--bm-text-field-cursor:not-allowed;--bm-text-field-input-cursor:not-allowed}.bm-date-field--error .bm-date-field__field{border-color:var(--bm-comp-input-color-border-error);background-color:var(--bm-comp-input-color-bg);outline-offset:calc(0px - var(--bm-comp-input-border-width-field-error));outline:var(--bm-comp-input-border-width-field-error)solid var(--bm-comp-input-color-border-error)}.bm-date-field--error .bm-date-field__field .bm-date-field__segment{color:var(--bm-comp-input-color-text)}.bm-date-field--error .bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-placeholder)}.bm-date-field--read-only .bm-date-field__field{border-color:var(--bm-comp-input-color-border-disabled);background-color:var(--bm-comp-input-color-bg-disabled)}.bm-date-field--read-only .bm-date-field__field .bm-date-field__segment{color:var(--bm-comp-input-color-text)}.bm-date-field--read-only .bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-placeholder)}.bm-date-field--disabled .bm-date-field__field{border-color:var(--bm-comp-input-color-border-disabled);background-color:var(--bm-comp-input-color-bg-disabled)}.bm-date-field--disabled .bm-date-field__field .bm-date-field__segment,.bm-date-field--disabled .bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-disabled)}.bm-date-field--fluid{max-width:100%}.bm-date-field__field{box-sizing:border-box;border-style:solid;border-color:var(--bm-comp-input-color-border);border-radius:var(--bm-comp-input-radius-field);border-width:var(--bm-comp-input-border-width-field-default);align-items:center;gap:var(--bm-comp-input-space-field-gap);box-shadow:var(--bm-comp-input-shadow-field);background-color:var(--bm-comp-input-color-bg);height:var(--bm-comp-input-size-field-height-md);padding-block:var(--bm-comp-input-space-field-y-md);padding-inline:var(--bm-comp-input-space-field-x-md);flex-wrap:nowrap;display:flex;position:relative}.bm-date-field__field:focus-within{outline-offset:calc(0px - var(--bm-sem-size-focus-offset));outline:var(--bm-sem-border-width-focus)solid var(--bm-sem-color-border-focus)}.bm-date-field__field .bm-date-field__segments{color:var(--bm-comp-input-color-text);font:var(--bm-comp-input-typo-md);font-variant-numeric:tabular-nums;align-items:baseline;gap:var(--bm-sem-space-12);display:inline-flex}.bm-date-field__field .bm-date-field__segment{box-sizing:border-box;text-align:center;border-bottom:var(--bm-sem-border-width-focus)solid transparent;outline:none;min-inline-size:2ch;display:inline-block}.bm-date-field__field .bm-date-field__segment[data-segment=year]{min-inline-size:4ch}.bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-placeholder)}.bm-date-field__field .bm-date-field__segment[data-active=true]{border-bottom-color:var(--bm-sem-color-border-focus)}.bm-date-field__field .bm-date-field__segment:focus-visible{border-bottom-color:var(--bm-sem-color-border-focus)}.bm-date-field__field .bm-date-field__segment::selection{background-color:var(--bm-sem-color-surface-info-primary)}.bm-date-field__field .bm-date-field__separator{color:var(--bm-comp-input-color-text);font:var(--bm-comp-input-typo-md);-webkit-user-select:none;user-select:none}.bm-date-field__sr-status{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
1
+ :root,:host,.bm-light,.bm-dark .bm-inverse,.bm-dark.bm-inverse,[data-bm-theme~=bm-dark] .bm-inverse,[data-bm-theme~=bm-dark].bm-inverse,.bm-enterprise,.bm-consumer,[data-bm-theme~=bm-light]{--bm-comp-input-color-bg:var(--bm-sem-color-surface-01,#fff);--bm-comp-input-color-bg-disabled:var(--bm-sem-color-surface-highlight,#9fafbc29);--bm-comp-input-color-border:var(--bm-sem-color-border-strong,#8697a5);--bm-comp-input-color-border-error:var(--bm-sem-color-border-negative-strong,#cc2429);--bm-comp-input-color-border-disabled:#8697a566;--bm-comp-input-color-text:var(--bm-sem-color-text-primary,#141d24);--bm-comp-input-color-text-placeholder:var(--bm-sem-color-text-secondary,#576775);--bm-comp-input-color-text-disabled:var(--bm-sem-color-text-disabled,#57677566);--bm-comp-input-color-icon-disabled:var(--bm-sem-color-text-disabled,#57677566);--bm-comp-input-color-icon:var(--bm-sem-color-icon-secondary,#576775);--bm-comp-input-color-icon-error:var(--bm-sem-color-icon-negative-strong,#cc2429);--bm-comp-input-color-divider:var(--bm-sem-color-border-02,#d1dae0);--bm-comp-input-color-choice-checkbox-selected-bg:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-checkbox-selected-icon:var(--bm-sem-color-icon-primary-inverse,#fff);--bm-comp-input-color-choice-checkbox-selected-bg-error:var(--bm-sem-color-surface-negative-strong,#cc2429);--bm-comp-input-color-choice-checkbox-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-switch-selected-bg:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-switch-selected-icon:var(--bm-sem-color-icon-primary-inverse,#fff);--bm-comp-input-color-choice-switch-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-radio-selected-bg:var(--bm-sem-color-surface-01,#fff);--bm-comp-input-color-choice-radio-selected-border:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-radio-selected-inner-circle:var(--bm-alias-color-brand-primary-default,#00768f);--bm-comp-input-color-choice-radio-selected-bg-error:var(--bm-sem-color-surface-01,#fff);--bm-comp-input-color-choice-radio-selected-border-error:var(--bm-sem-color-surface-negative-strong,#cc2429);--bm-comp-input-color-choice-radio-selected-inner-circle-error:var(--bm-sem-color-surface-negative-strong,#cc2429);--bm-comp-input-typo-sm:var(--bm-sem-typo-compact-body-sm,400 .875rem/1rem "Source Sans Pro");--bm-comp-input-typo-md:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-lg:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-character-count:var(--bm-sem-typo-body-sm,400 .875rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-label-choice:var(--bm-sem-typo-body-md,400 1rem/1.5rem "Source Sans Pro");--bm-comp-input-space-field-x-sm:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-x-md:var(--bm-sem-space-100,1rem);--bm-comp-input-space-field-x-lg:var(--bm-sem-space-125,1.25rem);--bm-comp-input-space-field-y-sm:var(--bm-sem-space-25,.25rem);--bm-comp-input-space-field-y-md:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-field-y-lg:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-gap:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-inside:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-y:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-x:var(--bm-sem-space-100,1rem);--bm-comp-input-space-choice-nudge:var(--bm-primitive-dimension-12,.125rem);--bm-comp-input-size-field-height-sm:var(--bm-sem-size-height-sm,2rem);--bm-comp-input-size-field-height-md:var(--bm-sem-size-height-md,2.5rem);--bm-comp-input-size-field-height-lg:var(--bm-sem-size-height-lg,3rem);--bm-comp-input-size-field-width:var(--bm-primitive-dimension-1800,18rem);--bm-comp-input-size-field-icon-sm:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-field-icon-md:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-icon-lg:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-text-area-height:var(--bm-primitive-dimension-475,4.75rem);--bm-comp-input-size-choice-checkbox:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio-inside:var(--bm-primitive-dimension-50,.5rem);--bm-comp-input-size-choice-switch-height:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-choice-switch-width:var(--bm-primitive-dimension-250,2.5rem);--bm-comp-input-size-choice-switch-knob:var(--bm-primitive-dimension-87,.875rem);--bm-comp-input-radius-field:var(--bm-sem-radius-input-md,.25rem);--bm-comp-input-radius-choice-checkbox:var(--bm-sem-radius-input-sm,.125rem);--bm-comp-input-radius-choice-radio:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-radius-choice-switch:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-border-width-field-default:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-border-width-field-error:var(--bm-sem-border-width-lg,.125rem);--bm-comp-input-border-width-choice:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-shadow-field:var(--bm-sem-shadow-none,0 0 0 0 #0000)}:host,.bm-dark,.bm-light .bm-inverse,.bm-light.bm-inverse,[data-bm-theme~=bm-light] .bm-inverse,[data-bm-theme~=bm-light].bm-inverse,.bm-enterprise,.bm-consumer,[data-bm-theme~=bm-dark]{--bm-comp-input-color-bg:var(--bm-sem-color-surface-01,#202e39);--bm-comp-input-color-bg-disabled:var(--bm-sem-color-surface-highlight,#8697a529);--bm-comp-input-color-border:var(--bm-sem-color-border-strong,#9fafbc);--bm-comp-input-color-border-error:var(--bm-sem-color-border-negative-strong,#f67378);--bm-comp-input-color-border-disabled:#9fafbc66;--bm-comp-input-color-text:var(--bm-sem-color-text-primary,#fff);--bm-comp-input-color-text-placeholder:var(--bm-sem-color-text-secondary,#c3cdd5);--bm-comp-input-color-text-disabled:var(--bm-sem-color-text-disabled,#c3cdd566);--bm-comp-input-color-icon-disabled:var(--bm-sem-color-text-disabled,#c3cdd566);--bm-comp-input-color-icon:var(--bm-sem-color-icon-secondary,#c3cdd5);--bm-comp-input-color-icon-error:var(--bm-sem-color-icon-negative-strong,#f67378);--bm-comp-input-color-divider:var(--bm-sem-color-border-02,#465967);--bm-comp-input-color-choice-checkbox-selected-bg:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-checkbox-selected-icon:var(--bm-sem-color-icon-primary-inverse,#141d24);--bm-comp-input-color-choice-checkbox-selected-bg-error:var(--bm-sem-color-surface-negative-strong,#f67378);--bm-comp-input-color-choice-checkbox-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-switch-selected-bg:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-switch-selected-icon:var(--bm-sem-color-icon-primary-inverse,#141d24);--bm-comp-input-color-choice-switch-selected-border:var(--bm-sem-color-none,#fff0);--bm-comp-input-color-choice-radio-selected-bg:var(--bm-sem-color-surface-01,#202e39);--bm-comp-input-color-choice-radio-selected-border:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-radio-selected-inner-circle:var(--bm-alias-color-brand-primary-default,#43bfd6);--bm-comp-input-color-choice-radio-selected-bg-error:var(--bm-sem-color-surface-01,#202e39);--bm-comp-input-color-choice-radio-selected-border-error:var(--bm-sem-color-surface-negative-strong,#f67378);--bm-comp-input-color-choice-radio-selected-inner-circle-error:var(--bm-sem-color-surface-negative-strong,#f67378);--bm-comp-input-typo-sm:var(--bm-sem-typo-compact-body-sm,400 .875rem/1rem "Source Sans Pro");--bm-comp-input-typo-md:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-lg:var(--bm-sem-typo-compact-body-md,400 1rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-character-count:var(--bm-sem-typo-body-sm,400 .875rem/1.25rem "Source Sans Pro");--bm-comp-input-typo-label-choice:var(--bm-sem-typo-body-md,400 1rem/1.5rem "Source Sans Pro");--bm-comp-input-space-field-x-sm:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-x-md:var(--bm-sem-space-100,1rem);--bm-comp-input-space-field-x-lg:var(--bm-sem-space-125,1.25rem);--bm-comp-input-space-field-y-sm:var(--bm-sem-space-25,.25rem);--bm-comp-input-space-field-y-md:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-field-y-lg:var(--bm-sem-space-75,.75rem);--bm-comp-input-space-field-gap:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-inside:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-y:var(--bm-sem-space-50,.5rem);--bm-comp-input-space-choice-gap-items-x:var(--bm-sem-space-100,1rem);--bm-comp-input-space-choice-nudge:var(--bm-primitive-dimension-12,.125rem);--bm-comp-input-size-field-height-sm:var(--bm-sem-size-height-sm,2rem);--bm-comp-input-size-field-height-md:var(--bm-sem-size-height-md,2.5rem);--bm-comp-input-size-field-height-lg:var(--bm-sem-size-height-lg,3rem);--bm-comp-input-size-field-width:var(--bm-primitive-dimension-1800,18rem);--bm-comp-input-size-field-icon-sm:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-field-icon-md:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-icon-lg:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-field-text-area-height:var(--bm-primitive-dimension-475,4.75rem);--bm-comp-input-size-choice-checkbox:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio:var(--bm-sem-size-icon-sm,1rem);--bm-comp-input-size-choice-radio-inside:var(--bm-primitive-dimension-50,.5rem);--bm-comp-input-size-choice-switch-height:var(--bm-sem-size-icon-md,1.25rem);--bm-comp-input-size-choice-switch-width:var(--bm-primitive-dimension-250,2.5rem);--bm-comp-input-size-choice-switch-knob:var(--bm-primitive-dimension-87,.875rem);--bm-comp-input-radius-field:var(--bm-sem-radius-input-md,.25rem);--bm-comp-input-radius-choice-checkbox:var(--bm-sem-radius-input-sm,.125rem);--bm-comp-input-radius-choice-radio:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-radius-choice-switch:var(--bm-sem-radius-input-lg,624.938rem);--bm-comp-input-border-width-field-default:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-border-width-field-error:var(--bm-sem-border-width-lg,.125rem);--bm-comp-input-border-width-choice:var(--bm-sem-border-width-input,.063rem);--bm-comp-input-shadow-field:var(--bm-sem-shadow-none,0 0 0 0 #0000)}.bm-date-field{--bm-label-cursor:pointer;max-width:var(--bm-comp-input-size-field-width);--bm-label-space-bottom:var(--bm-comp-label-space-bottom);--bm-helper-text-space-top:var(--bm-comp-helper-text-space-top)}.bm-date-field--disabled{--bm-label-cursor:not-allowed;--bm-label-pointer-events:auto;--bm-text-field-cursor:not-allowed;--bm-text-field-input-cursor:not-allowed}.bm-date-field--error .bm-date-field__field{border-color:var(--bm-comp-input-color-border-error);background-color:var(--bm-comp-input-color-bg);outline-offset:calc(0px - var(--bm-comp-input-border-width-field-error));outline:var(--bm-comp-input-border-width-field-error)solid var(--bm-comp-input-color-border-error)}.bm-date-field--error .bm-date-field__field .bm-date-field__segment{color:var(--bm-comp-input-color-text)}.bm-date-field--error .bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-placeholder)}.bm-date-field--read-only .bm-date-field__field{border-color:var(--bm-comp-input-color-border-disabled);background-color:var(--bm-comp-input-color-bg-disabled)}.bm-date-field--read-only .bm-date-field__field .bm-date-field__segment{color:var(--bm-comp-input-color-text)}.bm-date-field--read-only .bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-placeholder)}.bm-date-field--disabled .bm-date-field__field{border-color:var(--bm-comp-input-color-border-disabled);background-color:var(--bm-comp-input-color-bg-disabled)}.bm-date-field--disabled .bm-date-field__field .bm-date-field__segment,.bm-date-field--disabled .bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-disabled)}.bm-date-field--fluid{max-width:100%}.bm-date-field__field{box-sizing:border-box;border-style:solid;border-color:var(--bm-comp-input-color-border);border-radius:var(--bm-comp-input-radius-field);border-width:var(--bm-comp-input-border-width-field-default);align-items:center;gap:var(--bm-comp-input-space-field-gap);box-shadow:var(--bm-comp-input-shadow-field);background-color:var(--bm-comp-input-color-bg);height:var(--bm-comp-input-size-field-height-md);padding-block:var(--bm-comp-input-space-field-y-md);padding-inline:var(--bm-comp-input-space-field-x-md);flex-wrap:nowrap;display:flex;position:relative}.bm-date-field__field:focus-within{outline-offset:calc(0px - var(--bm-sem-size-focus-offset));outline:var(--bm-sem-border-width-focus)solid var(--bm-sem-color-border-focus)}.bm-date-field__field .bm-date-field__segments{color:var(--bm-comp-input-color-text);font:var(--bm-comp-input-typo-md);font-variant-numeric:tabular-nums;align-items:baseline;gap:var(--bm-sem-space-12);display:inline-flex}.bm-date-field__field .bm-date-field__segment{box-sizing:border-box;text-align:center;border-block:var(--bm-sem-border-width-focus)solid transparent;outline:none;min-inline-size:2ch;display:inline-block}.bm-date-field__field .bm-date-field__segment[data-segment=year]{min-inline-size:4ch}.bm-date-field__field .bm-date-field__segment[data-placeholder=true]{color:var(--bm-comp-input-color-text-placeholder)}.bm-date-field__field .bm-date-field__segment[data-active=true]{border-bottom-color:var(--bm-sem-color-border-focus)}.bm-date-field__field .bm-date-field__segment:focus-visible{border-bottom-color:var(--bm-sem-color-border-focus)}.bm-date-field__field .bm-date-field__segment::selection{background-color:var(--bm-sem-color-surface-info-primary)}.bm-date-field__field .bm-date-field__separator{color:var(--bm-comp-input-color-text);font:var(--bm-comp-input-typo-md);-webkit-user-select:none;user-select:none}.bm-date-field__sr-status{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("../../../chunks/DateField.Segment.CqFLhMYA.js"),t=require("./DateField.utils.cjs.js"),o=[{type:"month",value:""},{type:"literal",value:"/"},{type:"day",value:""},{type:"literal",value:"/"},{type:"year",value:""}],N={month:"MM",day:"DD",year:"YYYY"},E=t.getSegmentOrder(o),T=({segmentText:r,segmentValues:a,focusedSegment:m,disabled:c,readOnly:y,invalid:d,role:u,onSegmentFocus:p,onSegmentBlur:D,onSegmentInput:_,onSegmentKeyDown:h,registerSegmentRef:M})=>{const S={day:{min:1,max:t.getDaysInMonth(a.year,a.month)},month:{min:1,max:t.MONTH_MAX},year:{min:t.YEAR_MIN,max:t.YEAR_MAX}};return s.jsx("span",{className:n.styles[n.staticDateFieldClassNames.segments],children:o.map((l,g)=>{if(l.type==="literal")return s.jsx("span",{"aria-hidden":"true",className:n.styles[n.staticDateFieldClassNames.separator],children:l.value},`literal-${g}`);const e=l.type,v=N[e],{displayValue:i,isPlaceholder:x}=t.getSegmentDisplay(e,r[e],v),{min:R,max:F}=S[e],A=e==="month"&&a.month!=null?t.getMonthName(a.month):i;return s.jsx(n.DateFieldSegment,{type:e,value:a[e],valueMin:R,valueMax:F,displayValue:i,isPlaceholder:x,valueText:A,invalid:d,role:u,isActive:m===e,disabled:c,readOnly:y,onFocus:()=>p(e),onBlur:D,onInput:_,onKeyDown:h,segmentRef:M(e)},e)})})};exports.DateFieldSegments=T;exports.PARTS_ORDER=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),n=require("../../../chunks/DateField.Segment.CqFLhMYA.js"),t=require("./DateField.utils.cjs.js"),Y={month:"MM",day:"DD",year:"YYYY"},j=({parts:o,segmentText:r,segmentValues:a,focusedSegment:m,disabled:c,readOnly:d,invalid:u,role:y,onSegmentFocus:D,onSegmentBlur:h,onSegmentInput:p,onSegmentKeyDown:M,registerSegmentRef:x})=>{const _={day:{min:1,max:t.getDaysInMonth(a.year,a.month)},month:{min:1,max:t.MONTH_MAX},year:{min:t.YEAR_MIN,max:t.YEAR_MAX}};return i.jsx("span",{className:n.styles[n.staticDateFieldClassNames.segments],children:o.map((s,g)=>{if(s.type==="literal")return i.jsx("span",{"aria-hidden":"true",className:n.styles[n.staticDateFieldClassNames.separator],children:s.value},`literal-${g}`);const e=s.type,F=Y[e],{displayValue:l,isPlaceholder:S}=t.getSegmentDisplay(e,r[e],F),{min:v,max:N}=_[e],A=e==="month"&&a.month!=null?t.getMonthName(a.month):l;return i.jsx(n.DateFieldSegment,{type:e,value:a[e],valueMin:v,valueMax:N,displayValue:l,isPlaceholder:S,valueText:A,invalid:u,role:y,isActive:m===e,disabled:c,readOnly:d,onFocus:()=>D(e),onBlur:h,onInput:p,onKeyDown:M,segmentRef:x(e)},e)})})};exports.DateFieldSegments=j;
@@ -1,7 +1,8 @@
1
1
  import { FocusEvent, KeyboardEvent } from 'react';
2
- import { FocusTarget, SegmentRole, SegmentText, SegmentType, SegmentValues } from './DateField.types';
3
- export declare const PARTS_ORDER: ReadonlyArray<SegmentType>;
2
+ import { DateFieldPart, FocusTarget, SegmentRole, SegmentText, SegmentType, SegmentValues } from './DateField.types';
4
3
  export interface DateFieldSegmentsProps {
4
+ /** Locale-derived ordered parts (segments + literal separators) to render. */
5
+ parts: ReadonlyArray<DateFieldPart>;
5
6
  /** Per-segment raw strings — the single source of truth for display. */
6
7
  segmentText: SegmentText;
7
8
  /** Derived per-segment numbers for `aria-valuenow`. */
@@ -23,4 +24,4 @@ export interface DateFieldSegmentsProps {
23
24
  onSegmentKeyDown: (segment: SegmentType, event: KeyboardEvent<HTMLSpanElement>) => void;
24
25
  registerSegmentRef: (segment: SegmentType) => (element: HTMLSpanElement | null) => void;
25
26
  }
26
- export declare const DateFieldSegments: ({ segmentText, segmentValues, focusedSegment, disabled, readOnly, invalid, role, onSegmentFocus, onSegmentBlur, onSegmentInput, onSegmentKeyDown, registerSegmentRef, }: DateFieldSegmentsProps) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const DateFieldSegments: ({ parts, segmentText, segmentValues, focusedSegment, disabled, readOnly, invalid, role, onSegmentFocus, onSegmentBlur, onSegmentInput, onSegmentKeyDown, registerSegmentRef, }: DateFieldSegmentsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,70 +1,65 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { s, a as l, D as Y } from "../../../chunks/DateField.Segment.CwhRnhtq.js";
3
- import { getSegmentOrder as _, getDaysInMonth as f, getSegmentDisplay as T, YEAR_MAX as F, YEAR_MIN as O, MONTH_MAX as P, getMonthName as I } from "./DateField.utils.es.js";
4
- const m = [
5
- { type: "month", value: "" },
6
- { type: "literal", value: "/" },
7
- { type: "day", value: "" },
8
- { type: "literal", value: "/" },
9
- { type: "year", value: "" }
10
- ], B = {
2
+ import { s, a as m, D as F } from "../../../chunks/DateField.Segment.CwhRnhtq.js";
3
+ import { getDaysInMonth as R, getSegmentDisplay as S, YEAR_MAX as I, YEAR_MIN as T, MONTH_MAX as _, getMonthName as B } from "./DateField.utils.es.js";
4
+ const C = {
11
5
  month: "MM",
12
6
  day: "DD",
13
7
  year: "YYYY"
14
- }, j = _(m), w = ({
15
- segmentText: r,
8
+ }, X = ({
9
+ parts: r,
10
+ segmentText: i,
16
11
  segmentValues: t,
17
- focusedSegment: i,
18
- disabled: y,
19
- readOnly: c,
20
- invalid: p,
21
- role: d,
22
- onSegmentFocus: u,
23
- onSegmentBlur: h,
24
- onSegmentInput: M,
25
- onSegmentKeyDown: v,
12
+ focusedSegment: l,
13
+ disabled: c,
14
+ readOnly: y,
15
+ invalid: d,
16
+ role: p,
17
+ onSegmentFocus: h,
18
+ onSegmentBlur: M,
19
+ onSegmentInput: u,
20
+ onSegmentKeyDown: x,
26
21
  registerSegmentRef: D
27
22
  }) => {
28
- const x = {
29
- day: { min: 1, max: f(t.year, t.month) },
30
- month: { min: 1, max: P },
31
- year: { min: O, max: F }
23
+ const g = {
24
+ day: { min: 1, max: R(t.year, t.month) },
25
+ month: { min: 1, max: _ },
26
+ year: { min: T, max: I }
32
27
  };
33
- return /* @__PURE__ */ n("span", { className: s[l.segments], children: m.map((a, g) => {
28
+ return /* @__PURE__ */ n("span", { className: s[m.segments], children: r.map((a, v) => {
34
29
  if (a.type === "literal")
35
30
  return /* @__PURE__ */ n(
36
31
  "span",
37
32
  {
38
33
  "aria-hidden": "true",
39
- className: s[l.separator],
34
+ className: s[m.separator],
40
35
  children: a.value
41
36
  },
42
- `literal-${g}`
37
+ `literal-${v}`
43
38
  );
44
- const e = a.type, A = B[e], { displayValue: o, isPlaceholder: R } = T(
39
+ const e = a.type, A = C[e], { displayValue: o, isPlaceholder: N } = S(
45
40
  e,
46
- r[e],
41
+ i[e],
47
42
  A
48
- ), { min: S, max: N } = x[e], E = e === "month" && t.month != null ? I(t.month) : o;
43
+ ), { min: Y, max: f } = g[e], E = e === "month" && t.month != null ? B(t.month) : o;
49
44
  return /* @__PURE__ */ n(
50
- Y,
45
+ F,
51
46
  {
52
47
  type: e,
53
48
  value: t[e],
54
- valueMin: S,
55
- valueMax: N,
49
+ valueMin: Y,
50
+ valueMax: f,
56
51
  displayValue: o,
57
- isPlaceholder: R,
52
+ isPlaceholder: N,
58
53
  valueText: E,
59
- invalid: p,
60
- role: d,
61
- isActive: i === e,
62
- disabled: y,
63
- readOnly: c,
64
- onFocus: () => u(e),
65
- onBlur: h,
66
- onInput: M,
67
- onKeyDown: v,
54
+ invalid: d,
55
+ role: p,
56
+ isActive: l === e,
57
+ disabled: c,
58
+ readOnly: y,
59
+ onFocus: () => h(e),
60
+ onBlur: M,
61
+ onInput: u,
62
+ onKeyDown: x,
68
63
  segmentRef: D(e)
69
64
  },
70
65
  e
@@ -72,6 +67,5 @@ const m = [
72
67
  }) });
73
68
  };
74
69
  export {
75
- w as DateFieldSegments,
76
- j as PARTS_ORDER
70
+ X as DateFieldSegments
77
71
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),ye=require("clsx"),w=require("react"),e=require("../../../chunks/DateField.Segment.CqFLhMYA.js"),Se=require("../../../chunks/constants.CgMu0_1M.js"),he=require("../../../chunks/helpers.BIckGIbP.js"),qe=require("../../../chunks/form.context.CkC0TwMb.js"),we=require("../../Form/contexts/label.context.cjs.js"),Ie=require("../../Form/contexts/helperText.context.cjs.js"),Me=require("../../Form/hooks/useUniversalRef.hook.cjs.js"),Re=require("../../../utils/hooks/useIsMounted.cjs.js"),u=require("./DateField.Segments.cjs.js"),t=require("./DateField.utils.cjs.js"),Ne=require("./useDateFieldFocus.cjs.js"),Oe=require("./useDateFieldForm.cjs.js"),Pe=require("./useDateFieldKeyboard.cjs.js"),Te=require("./useDateFieldSegments.cjs.js"),Ve=require("./useDateFieldValidity.cjs.js"),je=require("./useDateFieldValue.cjs.js"),Ce=require("./useInvalidState.cjs.js"),Be=w.forwardRef(function({value:I,defaultValue:M,onChange:R,minDate:r,maxDate:d,getClampAnnouncement:N,label:c=null,helperText:b=null,error:F,hideRequiredMarker:O=!1,validationRules:P,width:T,theme:_,fluid:V=!1,disabled:j=!1,readOnly:C=!1,required:B=!1,name:f,id:E,className:K,style:H,"aria-label":L,"aria-describedby":$,"aria-labelledby":k,...A},U){const{disabled:s,readOnly:n,required:D,invalid:W,errorMessageProvided:m,defaultValue:z,errorId:p,helperTextId:G,validationErrorsId:J,labelId:x,ariaDescribedBy:Q,ariaLabelledBy:X,showErrors:Y}=Oe.useDateFieldForm({name:f,disabled:j,readOnly:C,required:B,defaultValue:M,error:F,hasHelperText:!!b,hasLabel:!!c,validationRules:P,ariaDescribedBy:$,ariaLabelledBy:k});w.useEffect(()=>{process.env.NODE_ENV!=="production"&&t.isMinMaxMisconfigured(r,d)&&console.warn("DateField: `minDate` is after `maxDate` — no date satisfies both, so the blur clamp is disabled and values are left as typed.")},[t.dateKeyOrNull(r),t.dateKeyOrNull(d)]);const{refFn:Z,ref:g}=Me.useUniversalRef(U),{segmentRefs:ee,registerSegmentRef:se}=Te.useDateFieldSegments(),{segmentText:ie,segmentValues:v,currentValue:y,wasTouched:ae,appendDigit:le,adjustSegment:te,clearSegment:re,beginSegmentEdit:de,commitOnBlur:ne,clampAnnouncement:oe}=je.useDateFieldValue({value:I,defaultValue:z,onChange:R,minDate:r,maxDate:d,getClampAnnouncement:N}),{focusedSegment:S,fieldTabIndex:ue,handleSegmentFocus:h,handleFieldFocus:ce,handleFieldBlur:be,handleFieldMouseDown:Fe,focusNext:q,focusPrevious:_e}=Ne.useDateFieldFocus({disabled:s,fieldRef:g,segmentRefs:ee,partsOrder:u.PARTS_ORDER,onSegmentFocusChange:de,onFieldBlur:ne}),fe=Pe.useDateFieldKeyboard({disabled:s,readOnly:n,fieldRef:g,focusNext:q,focusPrevious:_e,adjustSegment:te,clearSegment:re}),{isInvalid:De}=Ve.useDateFieldValidity({segments:v,currentValue:y,wasTouched:ae,isFocused:S!==null}),me=(a,l)=>{const{advanced:ve}=le(a,l);ve&&q(a)},o=Ce.useInvalidState({formInvalid:W,valueInvalid:De}),pe=Re.useIsMounted()&&he.isIOS()?"textbox":"spinbutton",xe=a=>{if(s)return;const l=a.target.closest("label");!l||l.id!==x||(a.preventDefault(),h(u.PARTS_ORDER[0]))},ge=ye(e.styles[e.baseClassNamePrefix],_&&Se.themeClassName(_),V&&e.styles[`${e.classModifierPrefix}fluid`],o&&e.styles[`${e.classModifierPrefix}error`],s&&e.styles[`${e.classModifierPrefix}disabled`],n&&e.styles[`${e.classModifierPrefix}read-only`],K);return i.jsxs("div",{className:ge,style:{...H,maxWidth:T},onMouseDownCapture:xe,children:[i.jsx(we.LabelProvider,{ctxId:x,ctxDisabled:s,ctxRequired:D&&!O,children:c}),i.jsx("div",{...A,ref:Z,id:E,role:"group","aria-label":L,"aria-labelledby":X,"aria-disabled":s||void 0,"aria-required":D||void 0,"aria-invalid":o||void 0,"aria-describedby":Q,"aria-errormessage":m?p:void 0,tabIndex:ue,className:e.styles[e.staticDateFieldClassNames.field],onMouseDown:Fe,onFocus:ce,children:i.jsx(u.DateFieldSegments,{segmentText:ie,segmentValues:v,focusedSegment:S,disabled:s,readOnly:n,invalid:o,role:pe,onSegmentFocus:h,onSegmentBlur:be,onSegmentInput:me,onSegmentKeyDown:fe,registerSegmentRef:se})}),i.jsx("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:e.styles[e.staticDateFieldClassNames.srStatus],children:oe}),i.jsx("input",{type:"hidden",name:f,value:t.toISODateString(y),disabled:s}),i.jsxs(Ie.HelperTextProvider,{ctxId:G,ctxDisabled:s,children:[b,m&&i.jsx(qe.HelperText,{id:p,appearance:"negative",children:F})]}),Y(J)]})});exports.DateField=Be;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),qe=require("clsx"),r=require("react"),e=require("../../../chunks/DateField.Segment.CqFLhMYA.js"),we=require("../../../chunks/constants.CgMu0_1M.js"),Ie=require("../../../chunks/helpers.BIckGIbP.js"),Me=require("../../../chunks/form.context.CkC0TwMb.js"),Ne=require("../../Form/contexts/label.context.cjs.js"),Oe=require("../../Form/contexts/helperText.context.cjs.js"),Ve=require("../../Form/hooks/useUniversalRef.hook.cjs.js"),je=require("../../../utils/hooks/useIsMounted.cjs.js"),Pe=require("./DateField.Segments.cjs.js"),i=require("./DateField.utils.cjs.js"),Re=require("./useDateFieldFocus.cjs.js"),Ce=require("./useDateFieldForm.cjs.js"),Te=require("./useDateFieldKeyboard.cjs.js"),Be=require("./useDateFieldSegments.cjs.js"),Ee=require("./useDateFieldValidity.cjs.js"),Ke=require("./useDateFieldValue.cjs.js"),He=require("./useInvalidState.cjs.js"),Le=r.forwardRef(function({value:N,defaultValue:O,onChange:V,minDate:d,maxDate:n,getClampAnnouncement:j,locale:P,label:F=null,helperText:f=null,error:_,hideRequiredMarker:R=!1,validationRules:C,width:T,theme:m,fluid:B=!1,disabled:E=!1,readOnly:K=!1,required:H=!1,name:D,id:L,className:k,style:$,"aria-label":U,"aria-describedby":W,"aria-labelledby":A,...z},G){const{disabled:s,readOnly:o,required:p,invalid:J,errorMessageProvided:g,defaultValue:Q,errorId:x,helperTextId:X,validationErrorsId:Y,labelId:v,ariaDescribedBy:Z,ariaLabelledBy:ee,showErrors:se}=Ce.useDateFieldForm({name:D,disabled:E,readOnly:K,required:H,defaultValue:O,error:_,hasHelperText:!!f,hasLabel:!!F,validationRules:C,ariaDescribedBy:W,ariaLabelledBy:A});r.useEffect(()=>{process.env.NODE_ENV!=="production"&&i.isMinMaxMisconfigured(d,n)&&console.warn("DateField: `minDate` is after `maxDate` — no date satisfies both, so the blur clamp is disabled and values are left as typed.")},[i.dateKeyOrNull(d),i.dateKeyOrNull(n)]);const{refFn:ae,ref:y}=Ve.useUniversalRef(G),{segmentRefs:ie,registerSegmentRef:le}=Be.useDateFieldSegments(),te=P??"en-US",u=i.getDateParts(te),S=r.useMemo(()=>i.getSegmentOrder(u),[u]),{segmentText:re,segmentValues:h,currentValue:q,wasTouched:de,appendDigit:w,adjustSegment:ne,clearSegment:oe,beginSegmentEdit:ue,commitOnBlur:ce,clampAnnouncement:be}=Ke.useDateFieldValue({value:N,defaultValue:Q,onChange:V,minDate:d,maxDate:n,getClampAnnouncement:j}),{focusedSegment:I,fieldTabIndex:Fe,handleSegmentFocus:M,handleFieldFocus:fe,handleFieldBlur:_e,handleFieldMouseDown:me,focusNext:c,focusPrevious:De}=Re.useDateFieldFocus({disabled:s,fieldRef:y,segmentRefs:ie,partsOrder:S,onSegmentFocusChange:ue,onFieldBlur:ce}),pe=Te.useDateFieldKeyboard({disabled:s,readOnly:o,fieldRef:y,focusNext:c,focusPrevious:De,adjustSegment:ne,clearSegment:oe}),{isInvalid:ge}=Ee.useDateFieldValidity({segments:h,currentValue:q,wasTouched:de,isFocused:I!==null}),xe=r.useCallback((l,t)=>{const{advanced:he}=w(l,t);he&&c(l)},[w,c]),b=He.useInvalidState({formInvalid:J,valueInvalid:ge}),ve=je.useIsMounted()&&Ie.isIOS()?"textbox":"spinbutton",ye=l=>{if(s)return;const t=l.target.closest("label");!t||t.id!==v||(l.preventDefault(),M(S[0]))},Se=qe(e.styles[e.baseClassNamePrefix],m&&we.themeClassName(m),B&&e.styles[`${e.classModifierPrefix}fluid`],b&&e.styles[`${e.classModifierPrefix}error`],s&&e.styles[`${e.classModifierPrefix}disabled`],o&&e.styles[`${e.classModifierPrefix}read-only`],k);return a.jsxs("div",{className:Se,style:{...$,maxWidth:T},onMouseDownCapture:ye,children:[a.jsx(Ne.LabelProvider,{ctxId:v,ctxDisabled:s,ctxRequired:p&&!R,children:F}),a.jsx("div",{...z,ref:ae,id:L,role:"group","aria-label":U,"aria-labelledby":ee,"aria-disabled":s||void 0,"aria-required":p||void 0,"aria-invalid":b||void 0,"aria-describedby":Z,"aria-errormessage":g?x:void 0,tabIndex:Fe,className:e.styles[e.staticDateFieldClassNames.field],onMouseDown:me,onFocus:fe,children:a.jsx(Pe.DateFieldSegments,{parts:u,segmentText:re,segmentValues:h,focusedSegment:I,disabled:s,readOnly:o,invalid:b,role:ve,onSegmentFocus:M,onSegmentBlur:_e,onSegmentInput:xe,onSegmentKeyDown:pe,registerSegmentRef:le})}),a.jsx("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:e.styles[e.staticDateFieldClassNames.srStatus],children:be}),a.jsx("input",{type:"hidden",name:D,value:i.toISODateString(q),disabled:s}),a.jsxs(Oe.HelperTextProvider,{ctxId:X,ctxDisabled:s,children:[f,g&&a.jsx(Me.HelperText,{id:x,appearance:"negative",children:_})]}),se(Y)]})});exports.DateField=Le;
@@ -1,198 +1,203 @@
1
- import { jsxs as N, jsx as r } from "react/jsx-runtime";
2
- import Ie from "clsx";
3
- import { forwardRef as Ne, useEffect as Me } from "react";
4
- import { s as a, b as we, c as l, a as M } from "../../../chunks/DateField.Segment.CwhRnhtq.js";
1
+ import { jsxs as O, jsx as r } from "react/jsx-runtime";
2
+ import Ne from "clsx";
3
+ import { forwardRef as we, useEffect as Oe, useMemo as Ve, useCallback as Ce } from "react";
4
+ import { s as a, b as Be, c as i, a as V } from "../../../chunks/DateField.Segment.CwhRnhtq.js";
5
5
  import { t as Re } from "../../../chunks/constants.Cruz2A1w.js";
6
- import { i as Oe } from "../../../chunks/helpers.CiQfGwdc.js";
7
- import { H as Ve } from "../../../chunks/form.context.BDYA2JQs.js";
8
- import { LabelProvider as Be } from "../../Form/contexts/label.context.es.js";
9
- import { HelperTextProvider as Ce } from "../../Form/contexts/helperText.context.es.js";
10
- import { useUniversalRef as Ee } from "../../Form/hooks/useUniversalRef.hook.es.js";
11
- import { useIsMounted as Pe } from "../../../utils/hooks/useIsMounted.es.js";
12
- import { DateFieldSegments as Te, PARTS_ORDER as w } from "./DateField.Segments.es.js";
13
- import { isMinMaxMisconfigured as qe, dateKeyOrNull as R, toISODateString as He } from "./DateField.utils.es.js";
14
- import { useDateFieldFocus as Ke } from "./useDateFieldFocus.es.js";
15
- import { useDateFieldForm as Le } from "./useDateFieldForm.es.js";
16
- import { useDateFieldKeyboard as $e } from "./useDateFieldKeyboard.es.js";
17
- import { useDateFieldSegments as je } from "./useDateFieldSegments.es.js";
18
- import { useDateFieldValidity as Ae } from "./useDateFieldValidity.es.js";
19
- import { useDateFieldValue as We } from "./useDateFieldValue.es.js";
20
- import { useInvalidState as _e } from "./useInvalidState.es.js";
21
- const fa = Ne(
6
+ import { i as Pe } from "../../../chunks/helpers.CiQfGwdc.js";
7
+ import { H as Ee } from "../../../chunks/form.context.BDYA2JQs.js";
8
+ import { LabelProvider as Le } from "../../Form/contexts/label.context.es.js";
9
+ import { HelperTextProvider as Te } from "../../Form/contexts/helperText.context.es.js";
10
+ import { useUniversalRef as qe } from "../../Form/hooks/useUniversalRef.hook.es.js";
11
+ import { useIsMounted as He } from "../../../utils/hooks/useIsMounted.es.js";
12
+ import { DateFieldSegments as Ke } from "./DateField.Segments.es.js";
13
+ import { isMinMaxMisconfigured as $e, dateKeyOrNull as C, getDateParts as je, getSegmentOrder as Ue, toISODateString as We } from "./DateField.utils.es.js";
14
+ import { useDateFieldFocus as ke } from "./useDateFieldFocus.es.js";
15
+ import { useDateFieldForm as Ae } from "./useDateFieldForm.es.js";
16
+ import { useDateFieldKeyboard as _e } from "./useDateFieldKeyboard.es.js";
17
+ import { useDateFieldSegments as ze } from "./useDateFieldSegments.es.js";
18
+ import { useDateFieldValidity as Ge } from "./useDateFieldValidity.es.js";
19
+ import { useDateFieldValue as Je } from "./useDateFieldValue.es.js";
20
+ import { useInvalidState as Qe } from "./useInvalidState.es.js";
21
+ const ha = we(
22
22
  function({
23
- value: O,
24
- defaultValue: V,
25
- onChange: B,
26
- minDate: t,
23
+ value: B,
24
+ defaultValue: R,
25
+ onChange: P,
26
+ minDate: l,
27
27
  maxDate: o,
28
- getClampAnnouncement: C,
29
- label: u = null,
30
- helperText: m = null,
31
- error: c,
32
- hideRequiredMarker: E = !1,
33
- validationRules: P,
34
- width: T,
35
- theme: f,
36
- fluid: q = !1,
37
- disabled: H = !1,
38
- readOnly: K = !1,
39
- required: L = !1,
40
- name: p,
41
- id: $,
42
- className: j,
28
+ getClampAnnouncement: E,
29
+ locale: L,
30
+ label: c = null,
31
+ helperText: f = null,
32
+ error: p,
33
+ hideRequiredMarker: T = !1,
34
+ validationRules: q,
35
+ width: H,
36
+ theme: b,
37
+ fluid: K = !1,
38
+ disabled: $ = !1,
39
+ readOnly: j = !1,
40
+ required: U = !1,
41
+ name: g,
42
+ id: W,
43
+ className: k,
43
44
  style: A,
44
- "aria-label": W,
45
- "aria-describedby": _,
46
- "aria-labelledby": U,
47
- ...k
48
- }, z) {
45
+ "aria-label": _,
46
+ "aria-describedby": z,
47
+ "aria-labelledby": G,
48
+ ...J
49
+ }, Q) {
49
50
  const {
50
51
  disabled: e,
51
52
  readOnly: d,
52
- required: b,
53
- invalid: G,
54
- errorMessageProvided: g,
55
- defaultValue: J,
56
- errorId: v,
57
- helperTextId: Q,
58
- validationErrorsId: X,
59
- labelId: F,
60
- ariaDescribedBy: Y,
61
- ariaLabelledBy: Z,
62
- showErrors: ee
63
- } = Le({
64
- name: p,
65
- disabled: H,
66
- readOnly: K,
67
- required: L,
68
- defaultValue: V,
69
- error: c,
70
- hasHelperText: !!m,
71
- hasLabel: !!u,
72
- validationRules: P,
73
- ariaDescribedBy: _,
74
- ariaLabelledBy: U
53
+ required: v,
54
+ invalid: X,
55
+ errorMessageProvided: F,
56
+ defaultValue: Y,
57
+ errorId: D,
58
+ helperTextId: Z,
59
+ validationErrorsId: ee,
60
+ labelId: h,
61
+ ariaDescribedBy: ae,
62
+ ariaLabelledBy: re,
63
+ showErrors: se
64
+ } = Ae({
65
+ name: g,
66
+ disabled: $,
67
+ readOnly: j,
68
+ required: U,
69
+ defaultValue: R,
70
+ error: p,
71
+ hasHelperText: !!f,
72
+ hasLabel: !!c,
73
+ validationRules: q,
74
+ ariaDescribedBy: z,
75
+ ariaLabelledBy: G
75
76
  });
76
- Me(() => {
77
- process.env.NODE_ENV !== "production" && qe(t, o) && console.warn(
77
+ Oe(() => {
78
+ process.env.NODE_ENV !== "production" && $e(l, o) && console.warn(
78
79
  "DateField: `minDate` is after `maxDate` — no date satisfies both, so the blur clamp is disabled and values are left as typed."
79
80
  );
80
- }, [R(t), R(o)]);
81
- const { refFn: ae, ref: D } = Ee(z), { segmentRefs: re, registerSegmentRef: ie } = je(), {
82
- segmentText: se,
83
- segmentValues: h,
84
- currentValue: x,
85
- wasTouched: le,
86
- appendDigit: te,
87
- adjustSegment: oe,
88
- clearSegment: de,
89
- beginSegmentEdit: ne,
90
- commitOnBlur: ue,
91
- clampAnnouncement: me
92
- } = We({
93
- value: O,
94
- defaultValue: J,
95
- onChange: B,
96
- minDate: t,
81
+ }, [C(l), C(o)]);
82
+ const { refFn: te, ref: S } = qe(Q), { segmentRefs: ie, registerSegmentRef: le } = ze(), n = je(L ?? "en-US"), x = Ve(() => Ue(n), [n]), {
83
+ segmentText: oe,
84
+ segmentValues: y,
85
+ currentValue: I,
86
+ wasTouched: de,
87
+ appendDigit: M,
88
+ adjustSegment: ne,
89
+ clearSegment: ue,
90
+ beginSegmentEdit: me,
91
+ commitOnBlur: ce,
92
+ clampAnnouncement: fe
93
+ } = Je({
94
+ value: B,
95
+ defaultValue: Y,
96
+ onChange: P,
97
+ minDate: l,
97
98
  maxDate: o,
98
- getClampAnnouncement: C
99
+ getClampAnnouncement: E
99
100
  }), {
100
- focusedSegment: y,
101
- fieldTabIndex: ce,
102
- handleSegmentFocus: S,
103
- handleFieldFocus: fe,
104
- handleFieldBlur: pe,
105
- handleFieldMouseDown: be,
106
- focusNext: I,
107
- focusPrevious: ge
108
- } = Ke({
101
+ focusedSegment: N,
102
+ fieldTabIndex: pe,
103
+ handleSegmentFocus: w,
104
+ handleFieldFocus: be,
105
+ handleFieldBlur: ge,
106
+ handleFieldMouseDown: ve,
107
+ focusNext: u,
108
+ focusPrevious: Fe
109
+ } = ke({
109
110
  disabled: e,
110
- fieldRef: D,
111
- segmentRefs: re,
112
- partsOrder: w,
113
- onSegmentFocusChange: ne,
114
- onFieldBlur: ue
115
- }), ve = $e({
111
+ fieldRef: S,
112
+ segmentRefs: ie,
113
+ partsOrder: x,
114
+ onSegmentFocusChange: me,
115
+ onFieldBlur: ce
116
+ }), De = _e({
116
117
  disabled: e,
117
118
  readOnly: d,
118
- fieldRef: D,
119
- focusNext: I,
120
- focusPrevious: ge,
121
- adjustSegment: oe,
122
- clearSegment: de
123
- }), { isInvalid: Fe } = Ae({
124
- segments: h,
125
- currentValue: x,
126
- wasTouched: le,
127
- isFocused: y !== null
128
- }), De = (i, s) => {
129
- const { advanced: Se } = te(i, s);
130
- Se && I(i);
131
- }, n = _e({
132
- formInvalid: G,
133
- valueInvalid: Fe
134
- }), he = Pe() && Oe() ? "textbox" : "spinbutton", xe = (i) => {
119
+ fieldRef: S,
120
+ focusNext: u,
121
+ focusPrevious: Fe,
122
+ adjustSegment: ne,
123
+ clearSegment: ue
124
+ }), { isInvalid: he } = Ge({
125
+ segments: y,
126
+ currentValue: I,
127
+ wasTouched: de,
128
+ isFocused: N !== null
129
+ }), Se = Ce(
130
+ (s, t) => {
131
+ const { advanced: Me } = M(s, t);
132
+ Me && u(s);
133
+ },
134
+ [M, u]
135
+ ), m = Qe({
136
+ formInvalid: X,
137
+ valueInvalid: he
138
+ }), xe = He() && Pe() ? "textbox" : "spinbutton", ye = (s) => {
135
139
  if (e) return;
136
- const s = i.target.closest("label");
137
- !s || s.id !== F || (i.preventDefault(), S(w[0]));
138
- }, ye = Ie(
139
- a[we],
140
- f && Re(f),
141
- q && a[`${l}fluid`],
142
- n && a[`${l}error`],
143
- e && a[`${l}disabled`],
144
- d && a[`${l}read-only`],
145
- j
140
+ const t = s.target.closest("label");
141
+ !t || t.id !== h || (s.preventDefault(), w(x[0]));
142
+ }, Ie = Ne(
143
+ a[Be],
144
+ b && Re(b),
145
+ K && a[`${i}fluid`],
146
+ m && a[`${i}error`],
147
+ e && a[`${i}disabled`],
148
+ d && a[`${i}read-only`],
149
+ k
146
150
  );
147
- return /* @__PURE__ */ N(
151
+ return /* @__PURE__ */ O(
148
152
  "div",
149
153
  {
150
- className: ye,
151
- style: { ...A, maxWidth: T },
152
- onMouseDownCapture: xe,
154
+ className: Ie,
155
+ style: { ...A, maxWidth: H },
156
+ onMouseDownCapture: ye,
153
157
  children: [
154
158
  /* @__PURE__ */ r(
155
- Be,
159
+ Le,
156
160
  {
157
- ctxId: F,
161
+ ctxId: h,
158
162
  ctxDisabled: e,
159
- ctxRequired: b && !E,
160
- children: u
163
+ ctxRequired: v && !T,
164
+ children: c
161
165
  }
162
166
  ),
163
167
  /* @__PURE__ */ r(
164
168
  "div",
165
169
  {
166
- ...k,
167
- ref: ae,
168
- id: $,
170
+ ...J,
171
+ ref: te,
172
+ id: W,
169
173
  role: "group",
170
- "aria-label": W,
171
- "aria-labelledby": Z,
174
+ "aria-label": _,
175
+ "aria-labelledby": re,
172
176
  "aria-disabled": e || void 0,
173
- "aria-required": b || void 0,
174
- "aria-invalid": n || void 0,
175
- "aria-describedby": Y,
176
- "aria-errormessage": g ? v : void 0,
177
- tabIndex: ce,
178
- className: a[M.field],
179
- onMouseDown: be,
180
- onFocus: fe,
177
+ "aria-required": v || void 0,
178
+ "aria-invalid": m || void 0,
179
+ "aria-describedby": ae,
180
+ "aria-errormessage": F ? D : void 0,
181
+ tabIndex: pe,
182
+ className: a[V.field],
183
+ onMouseDown: ve,
184
+ onFocus: be,
181
185
  children: /* @__PURE__ */ r(
182
- Te,
186
+ Ke,
183
187
  {
184
- segmentText: se,
185
- segmentValues: h,
186
- focusedSegment: y,
188
+ parts: n,
189
+ segmentText: oe,
190
+ segmentValues: y,
191
+ focusedSegment: N,
187
192
  disabled: e,
188
193
  readOnly: d,
189
- invalid: n,
190
- role: he,
191
- onSegmentFocus: S,
192
- onSegmentBlur: pe,
193
- onSegmentInput: De,
194
- onSegmentKeyDown: ve,
195
- registerSegmentRef: ie
194
+ invalid: m,
195
+ role: xe,
196
+ onSegmentFocus: w,
197
+ onSegmentBlur: ge,
198
+ onSegmentInput: Se,
199
+ onSegmentKeyDown: De,
200
+ registerSegmentRef: le
196
201
  }
197
202
  )
198
203
  }
@@ -203,29 +208,29 @@ const fa = Ne(
203
208
  role: "status",
204
209
  "aria-live": "polite",
205
210
  "aria-atomic": "true",
206
- className: a[M.srStatus],
207
- children: me
211
+ className: a[V.srStatus],
212
+ children: fe
208
213
  }
209
214
  ),
210
215
  /* @__PURE__ */ r(
211
216
  "input",
212
217
  {
213
218
  type: "hidden",
214
- name: p,
215
- value: He(x),
219
+ name: g,
220
+ value: We(I),
216
221
  disabled: e
217
222
  }
218
223
  ),
219
- /* @__PURE__ */ N(Ce, { ctxId: Q, ctxDisabled: e, children: [
220
- m,
221
- g && /* @__PURE__ */ r(Ve, { id: v, appearance: "negative", children: c })
224
+ /* @__PURE__ */ O(Te, { ctxId: Z, ctxDisabled: e, children: [
225
+ f,
226
+ F && /* @__PURE__ */ r(Ee, { id: D, appearance: "negative", children: p })
222
227
  ] }),
223
- ee(X)
228
+ se(ee)
224
229
  ]
225
230
  }
226
231
  );
227
232
  }
228
233
  );
229
234
  export {
230
- fa as DateField
235
+ ha as DateField
231
236
  };
@@ -26,7 +26,7 @@ export interface AppendDigitResult {
26
26
  /** True when the digit was refused (invalid char, out-of-range, or full). */
27
27
  rejected: boolean;
28
28
  }
29
- /** Shape mirrors `Intl.DateTimeFormatPart` so DF-8 can swap in locale-derived parts directly. */
29
+ /** Shape mirrors `Intl.DateTimeFormatPart`; `getDateParts` derives this directly from `formatToParts()`. */
30
30
  export type DateFieldPart = {
31
31
  type: SegmentType | 'literal';
32
32
  value: string;
@@ -106,6 +106,13 @@ export interface DateFieldProps extends DateFieldInputAttributes {
106
106
  * message announced politely to screen readers. Omit → no announcement.
107
107
  */
108
108
  getClampAnnouncement?: (clampedDate: Date) => string;
109
+ /**
110
+ * BCP-47 locale tag driving segment order + separators (e.g. `en-GB` →
111
+ * DD/MM/YYYY, `de-DE` → DD.MM.YYYY). A future `DatesProvider` will supply the
112
+ * default.
113
+ * @default en-US
114
+ */
115
+ locale?: string;
109
116
  }
110
117
  /**
111
118
  * Internal props for the segment subcomponent. Not part of the public API.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/constants.CgMu0_1M.js");const N=require("../../../chunks/helpers.BIckGIbP.js"),g=require("./DateField.validation.cjs.js"),T=new Intl.DateTimeFormat("en-US",{month:"long"}),h=e=>T.format(new Date(2e3,e-1,1)),u=31,s=12,c=1,d=9999,y=(e,t,n)=>Math.min(n,Math.max(t,e)),m=(e,t)=>((e-1)%t+t)%t+1,_=2024,A=(e,t)=>t==null?31:new Date(e??_,t,0).getDate(),E=()=>{const e=new Date;return{day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}},l=e=>e instanceof Date&&!Number.isNaN(e.getTime()),p=(e,t,n,r)=>{if(n==="min")return e==="year"?null:1;if(n==="max")return e==="year"?null:e==="day"?r.daysInMonth:s;if(t==null){if(e==="year")return r.today.year;const f=e==="day"?u:s;return n>0?1:f}if(e==="year")return y(t+n,c,d);const o=e==="day"?u:s;return m(t+n,o)},D={day:"",month:"",year:""},S=e=>{const{day:t,month:n,year:r}=e;if(t==null||n==null||r==null)return null;const o=new Date(r,n-1,t);return o.setFullYear(r),Number.isNaN(o.getTime())||o.getFullYear()!==r||o.getMonth()!==n-1||o.getDate()!==t?null:o},R=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.getTime()===t.getTime(),a=N.dateToDayKey,F=e=>l(e)?a(e):null,I=(e,t,n)=>{const r=a(e);return!(l(t)&&r<a(t)||l(n)&&r>a(n))},M=(e,t)=>l(e)&&l(t)&&a(e)>a(t),Y=(e,t,n)=>{if(M(t,n))return e;const r=a(e);return l(t)&&r<a(t)?new Date(t.getFullYear(),t.getMonth(),t.getDate()):l(n)&&r>a(n)?new Date(n.getFullYear(),n.getMonth(),n.getDate()):e},w=e=>{if(!l(e))return"";const t=String(e.getFullYear()).padStart(4,"0"),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${t}-${n}-${r}`},V=e=>e.filter(t=>t.type!=="literal").map(t=>t.type),O=e=>l(e)?{day:String(e.getDate()).padStart(2,"0"),month:String(e.getMonth()+1).padStart(2,"0"),year:String(e.getFullYear()).padStart(4,"0")}:D,i=(e,t)=>{if(t===""||e==="year"&&t.length<g.SEGMENT_MAX_LENGTH.year)return null;const n=parseInt(t,10);return Number.isNaN(n)||n===0?null:n},X=e=>S({day:i("day",e.day),month:i("month",e.month),year:i("year",e.year)}),P=(e,t)=>t===""?"":t.padStart(g.SEGMENT_MAX_LENGTH[e],"0"),b=(e,t,n)=>t===""?{displayValue:n,isPlaceholder:!0}:{displayValue:t.padStart(g.SEGMENT_MAX_LENGTH[e],"0"),isPlaceholder:!1},G=e=>{const t=window.getSelection();if(!t)return;const n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)},H=e=>{var n;if(!e)return;const t=(n=window.getSelection)==null?void 0:n.call(window);t&&t.rangeCount>0&&e.contains(t.anchorNode)&&t.removeAllRanges()};exports.DAY_SPIN_MAX=u;exports.MONTH_MAX=s;exports.YEAR_MAX=d;exports.YEAR_MIN=c;exports.adjustSegmentValue=p;exports.clamp=y;exports.clampDateToRange=Y;exports.clearSelectionWithin=H;exports.dateKeyOrNull=F;exports.deriveValue=S;exports.deriveValueFromText=X;exports.getDaysInMonth=A;exports.getMonthName=h;exports.getSegmentDisplay=b;exports.getSegmentOrder=V;exports.isDateInRange=I;exports.isMinMaxMisconfigured=M;exports.isSameDateValue=R;exports.normalizeSegmentText=P;exports.segmentNumber=i;exports.segmentTextFromValue=O;exports.selectElementContents=G;exports.toISODateString=w;exports.todayParts=E;exports.wrapInRange=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/constants.CgMu0_1M.js");const D=require("../../../chunks/helpers.BIckGIbP.js"),g=require("./DateField.validation.cjs.js"),E=new Intl.DateTimeFormat("en-US",{month:"long"}),p=e=>E.format(new Date(2e3,e-1,1)),c=31,l=12,S=1,m=9999,M=(e,t,n)=>Math.min(n,Math.max(t,e)),T=(e,t)=>((e-1)%t+t)%t+1,w=2024,P=(e,t)=>t==null?31:new Date(e??w,t,0).getDate(),R=()=>{const e=new Date;return{day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}},o=e=>e instanceof Date&&!Number.isNaN(e.getTime()),I=(e,t,n,r)=>{if(n==="min")return e==="year"?null:1;if(n==="max")return e==="year"?null:e==="day"?r.daysInMonth:l;if(t==null){if(e==="year")return r.today.year;const A=e==="day"?c:l;return n>0?1:A}if(e==="year")return M(t+n,S,m);const s=e==="day"?c:l;return T(t+n,s)},F={day:"",month:"",year:""},f=e=>{const{day:t,month:n,year:r}=e;if(t==null||n==null||r==null)return null;const s=new Date(r,n-1,t);return s.setFullYear(r),Number.isNaN(s.getTime())||s.getFullYear()!==r||s.getMonth()!==n-1||s.getDate()!==t?null:s},Y=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.getTime()===t.getTime(),a=D.dateToDayKey,V=e=>o(e)?a(e):null,O=(e,t,n)=>{const r=a(e);return!(o(t)&&r<a(t)||o(n)&&r>a(n))},h=(e,t)=>o(e)&&o(t)&&a(e)>a(t),C=(e,t,n)=>{if(h(t,n))return e;const r=a(e);return o(t)&&r<a(t)?new Date(t.getFullYear(),t.getMonth(),t.getDate()):o(n)&&r>a(n)?new Date(n.getFullYear(),n.getMonth(),n.getDate()):e},L=e=>{if(!o(e))return"";const t=String(e.getFullYear()).padStart(4,"0"),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${t}-${n}-${r}`},_=e=>e.type==="literal",N=e=>e.filter(t=>!_(t)).map(t=>t.type),X=new Date(2020,0,2),b=new Set([8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),G=e=>[...e].filter(t=>!b.has(t.codePointAt(0)??-1)).join(""),H=new Set(["day","month","year","literal"]),d=3,y=e=>{try{const t=new Intl.DateTimeFormat(e,{year:"numeric",month:"2-digit",day:"2-digit",calendar:"gregory"}).formatToParts(X).filter(r=>H.has(r.type)).map(r=>({type:r.type,value:r.type==="literal"?G(r.value):""})),n=N(t);return n.length===d&&new Set(n).size===d?t:null}catch{return null}},u=new Map,K=e=>{let t=e;try{t=new Intl.Locale(e).toString()}catch{t=e.toLowerCase()}const n=u.get(t);if(n)return n;const r=y(e)??y("en-US");if(!r)throw new Error("DateField: Intl cannot resolve en-US date parts");return u.set(t,r),r},j=()=>u.clear(),k=e=>o(e)?{day:String(e.getDate()).padStart(2,"0"),month:String(e.getMonth()+1).padStart(2,"0"),year:String(e.getFullYear()).padStart(4,"0")}:F,i=(e,t)=>{if(t===""||e==="year"&&t.length<g.SEGMENT_MAX_LENGTH.year)return null;const n=parseInt(t,10);return Number.isNaN(n)||n===0?null:n},U=e=>f({day:i("day",e.day),month:i("month",e.month),year:i("year",e.year)}),q=(e,t)=>t===""?"":t.padStart(g.SEGMENT_MAX_LENGTH[e],"0"),z=(e,t,n)=>t===""?{displayValue:n,isPlaceholder:!0}:{displayValue:t.padStart(g.SEGMENT_MAX_LENGTH[e],"0"),isPlaceholder:!1},B=e=>{const t=window.getSelection();if(!t)return;const n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)},$=e=>{var n;if(!e)return;const t=(n=window.getSelection)==null?void 0:n.call(window);t&&t.rangeCount>0&&e.contains(t.anchorNode)&&t.removeAllRanges()};exports.DAY_SPIN_MAX=c;exports.MONTH_MAX=l;exports.YEAR_MAX=m;exports.YEAR_MIN=S;exports.__clearDatePartsCache=j;exports.adjustSegmentValue=I;exports.clamp=M;exports.clampDateToRange=C;exports.clearSelectionWithin=$;exports.dateKeyOrNull=V;exports.deriveValue=f;exports.deriveValueFromText=U;exports.getDateParts=K;exports.getDaysInMonth=P;exports.getMonthName=p;exports.getSegmentDisplay=z;exports.getSegmentOrder=N;exports.isDateInRange=O;exports.isLiteralPart=_;exports.isMinMaxMisconfigured=h;exports.isSameDateValue=Y;exports.normalizeSegmentText=q;exports.segmentNumber=i;exports.segmentTextFromValue=k;exports.selectElementContents=B;exports.toISODateString=L;exports.todayParts=R;exports.wrapInRange=T;
@@ -116,8 +116,23 @@ export declare const isMinMaxMisconfigured: (minDate?: Nullable<Date>, maxDate?:
116
116
  */
117
117
  export declare const clampDateToRange: (value: Date, minDate?: Nullable<Date>, maxDate?: Nullable<Date>) => Date;
118
118
  export declare const toISODateString: (value: Nullable<Date>) => string;
119
+ /** Type guard: a literal separator (`/`, `.`, `年`, …) rather than a segment. */
120
+ export declare const isLiteralPart: (part: DateFieldPart) => part is DateFieldPart & {
121
+ type: "literal";
122
+ };
119
123
  /** Ordered segment types from a parts array (literals stripped). */
120
124
  export declare const getSegmentOrder: (parts: ReadonlyArray<DateFieldPart>) => ReadonlyArray<SegmentType>;
125
+ /**
126
+ * Locale-derived segment order + separators (DF-8), memoized per locale. Falls
127
+ * back to en-US for any locale Intl can't resolve to the three date segments —
128
+ * en-US being the ECMAScript-guaranteed baseline (Intl's own ultimate fallback).
129
+ * Resolved lazily on first use, so a broken Intl (which can't render the field
130
+ * anyway — `getMonthName` needs it too) surfaces at render, catchable by an
131
+ * error boundary, instead of crashing the bundle at import.
132
+ */
133
+ export declare const getDateParts: (locale: string) => ReadonlyArray<DateFieldPart>;
134
+ /** @internal — test-only. Clears the per-locale parts cache for Intl isolation. */
135
+ export declare const __clearDatePartsCache: () => void;
121
136
  /** Per-segment zero-padded strings from a Date. All-empty for null/invalid. */
122
137
  export declare const segmentTextFromValue: (value: Nullable<Date>) => SegmentText;
123
138
  /** The number a segment string contributes to the date / `aria-valuenow`, or
@@ -1,89 +1,132 @@
1
1
  import "../../../chunks/constants.Cruz2A1w.js";
2
- import { a as d } from "../../../chunks/helpers.CiQfGwdc.js";
2
+ import { a as S } from "../../../chunks/helpers.CiQfGwdc.js";
3
3
  import { SEGMENT_MAX_LENGTH as u } from "./DateField.validation.es.js";
4
- const y = new Intl.DateTimeFormat("en-US", { month: "long" }), R = (e) => y.format(new Date(2e3, e - 1, 1)), c = 31, s = 12, f = 1, m = 9999, S = (e, t, n) => Math.min(n, Math.max(t, e)), M = (e, t) => ((e - 1) % t + t) % t + 1, h = 2024, Y = (e, t) => t == null ? 31 : new Date(e ?? h, t, 0).getDate(), E = () => {
5
- const e = /* @__PURE__ */ new Date();
6
- return { day: e.getDate(), month: e.getMonth() + 1, year: e.getFullYear() };
7
- }, o = (e) => e instanceof Date && !Number.isNaN(e.getTime()), _ = (e, t, n, r) => {
8
- if (n === "min") return e === "year" ? null : 1;
4
+ const m = new Intl.DateTimeFormat("en-US", { month: "long" }), L = (t) => m.format(new Date(2e3, t - 1, 1)), g = 31, l = 12, h = 1, T = 9999, M = (t, e, n) => Math.min(n, Math.max(e, t)), p = (t, e) => ((t - 1) % e + e) % e + 1, w = 2024, O = (t, e) => e == null ? 31 : new Date(t ?? w, e, 0).getDate(), K = () => {
5
+ const t = /* @__PURE__ */ new Date();
6
+ return { day: t.getDate(), month: t.getMonth() + 1, year: t.getFullYear() };
7
+ }, o = (t) => t instanceof Date && !Number.isNaN(t.getTime()), X = (t, e, n, r) => {
8
+ if (n === "min") return t === "year" ? null : 1;
9
9
  if (n === "max")
10
- return e === "year" ? null : e === "day" ? r.daysInMonth : s;
11
- if (t == null) {
12
- if (e === "year") return r.today.year;
13
- const g = e === "day" ? c : s;
14
- return n > 0 ? 1 : g;
10
+ return t === "year" ? null : t === "day" ? r.daysInMonth : l;
11
+ if (e == null) {
12
+ if (t === "year") return r.today.year;
13
+ const f = t === "day" ? g : l;
14
+ return n > 0 ? 1 : f;
15
15
  }
16
- if (e === "year") return S(t + n, f, m);
17
- const l = e === "day" ? c : s;
18
- return M(t + n, l);
19
- }, N = { day: "", month: "", year: "" }, T = (e) => {
20
- const { day: t, month: n, year: r } = e;
21
- if (t == null || n == null || r == null) return null;
22
- const l = new Date(r, n - 1, t);
23
- return l.setFullYear(r), Number.isNaN(l.getTime()) || l.getFullYear() !== r || l.getMonth() !== n - 1 || l.getDate() !== t ? null : l;
24
- }, D = (e, t) => e == null && t == null ? !0 : e == null || t == null ? !1 : e.getTime() === t.getTime(), a = d, I = (e) => o(e) ? a(e) : null, V = (e, t, n) => {
25
- const r = a(e);
26
- return !(o(t) && r < a(t) || o(n) && r > a(n));
27
- }, p = (e, t) => o(e) && o(t) && a(e) > a(t), O = (e, t, n) => {
28
- if (p(t, n)) return e;
29
- const r = a(e);
30
- return o(t) && r < a(t) ? new Date(t.getFullYear(), t.getMonth(), t.getDate()) : o(n) && r > a(n) ? new Date(n.getFullYear(), n.getMonth(), n.getDate()) : e;
31
- }, P = (e) => {
32
- if (!o(e)) return "";
33
- const t = String(e.getFullYear()).padStart(4, "0"), n = String(e.getMonth() + 1).padStart(2, "0"), r = String(e.getDate()).padStart(2, "0");
34
- return `${t}-${n}-${r}`;
35
- }, X = (e) => e.filter(
36
- (t) => t.type !== "literal"
37
- ).map((t) => t.type), C = (e) => o(e) ? {
38
- day: String(e.getDate()).padStart(2, "0"),
39
- month: String(e.getMonth() + 1).padStart(2, "0"),
40
- year: String(e.getFullYear()).padStart(4, "0")
41
- } : N, i = (e, t) => {
42
- if (t === "" || e === "year" && t.length < u.year) return null;
43
- const n = parseInt(t, 10);
16
+ if (t === "year") return M(e + n, h, T);
17
+ const s = t === "day" ? g : l;
18
+ return p(e + n, s);
19
+ }, A = { day: "", month: "", year: "" }, N = (t) => {
20
+ const { day: e, month: n, year: r } = t;
21
+ if (e == null || n == null || r == null) return null;
22
+ const s = new Date(r, n - 1, e);
23
+ return s.setFullYear(r), Number.isNaN(s.getTime()) || s.getFullYear() !== r || s.getMonth() !== n - 1 || s.getDate() !== e ? null : s;
24
+ }, k = (t, e) => t == null && e == null ? !0 : t == null || e == null ? !1 : t.getTime() === e.getTime(), a = S, H = (t) => o(t) ? a(t) : null, U = (t, e, n) => {
25
+ const r = a(t);
26
+ return !(o(e) && r < a(e) || o(n) && r > a(n));
27
+ }, _ = (t, e) => o(t) && o(e) && a(t) > a(e), b = (t, e, n) => {
28
+ if (_(e, n)) return t;
29
+ const r = a(t);
30
+ return o(e) && r < a(e) ? new Date(e.getFullYear(), e.getMonth(), e.getDate()) : o(n) && r > a(n) ? new Date(n.getFullYear(), n.getMonth(), n.getDate()) : t;
31
+ }, B = (t) => {
32
+ if (!o(t)) return "";
33
+ const e = String(t.getFullYear()).padStart(4, "0"), n = String(t.getMonth() + 1).padStart(2, "0"), r = String(t.getDate()).padStart(2, "0");
34
+ return `${e}-${n}-${r}`;
35
+ }, E = (t) => t.type === "literal", D = (t) => t.filter(
36
+ (e) => !E(e)
37
+ ).map((e) => e.type), P = new Date(2020, 0, 2), R = /* @__PURE__ */ new Set([
38
+ 8206,
39
+ 8207,
40
+ 8234,
41
+ 8235,
42
+ 8236,
43
+ 8237,
44
+ 8238,
45
+ 8294,
46
+ 8295,
47
+ 8296,
48
+ 8297
49
+ ]), F = (t) => [...t].filter((e) => !R.has(e.codePointAt(0) ?? -1)).join(""), I = /* @__PURE__ */ new Set(["day", "month", "year", "literal"]), d = 3, y = (t) => {
50
+ try {
51
+ const e = new Intl.DateTimeFormat(t, {
52
+ year: "numeric",
53
+ month: "2-digit",
54
+ day: "2-digit",
55
+ calendar: "gregory"
56
+ }).formatToParts(P).filter((r) => I.has(r.type)).map((r) => ({
57
+ type: r.type,
58
+ value: r.type === "literal" ? F(r.value) : ""
59
+ })), n = D(e);
60
+ return n.length === d && new Set(n).size === d ? e : null;
61
+ } catch {
62
+ return null;
63
+ }
64
+ }, c = /* @__PURE__ */ new Map(), G = (t) => {
65
+ let e = t;
66
+ try {
67
+ e = new Intl.Locale(t).toString();
68
+ } catch {
69
+ e = t.toLowerCase();
70
+ }
71
+ const n = c.get(e);
72
+ if (n) return n;
73
+ const r = y(t) ?? y("en-US");
74
+ if (!r)
75
+ throw new Error("DateField: Intl cannot resolve en-US date parts");
76
+ return c.set(e, r), r;
77
+ }, $ = () => c.clear(), j = (t) => o(t) ? {
78
+ day: String(t.getDate()).padStart(2, "0"),
79
+ month: String(t.getMonth() + 1).padStart(2, "0"),
80
+ year: String(t.getFullYear()).padStart(4, "0")
81
+ } : A, i = (t, e) => {
82
+ if (e === "" || t === "year" && e.length < u.year) return null;
83
+ const n = parseInt(e, 10);
44
84
  return Number.isNaN(n) || n === 0 ? null : n;
45
- }, K = (e) => T({
46
- day: i("day", e.day),
47
- month: i("month", e.month),
48
- year: i("year", e.year)
49
- }), L = (e, t) => t === "" ? "" : t.padStart(u[e], "0"), H = (e, t, n) => t === "" ? { displayValue: n, isPlaceholder: !0 } : {
50
- displayValue: t.padStart(u[e], "0"),
85
+ }, z = (t) => N({
86
+ day: i("day", t.day),
87
+ month: i("month", t.month),
88
+ year: i("year", t.year)
89
+ }), W = (t, e) => e === "" ? "" : e.padStart(u[t], "0"), q = (t, e, n) => e === "" ? { displayValue: n, isPlaceholder: !0 } : {
90
+ displayValue: e.padStart(u[t], "0"),
51
91
  isPlaceholder: !1
52
- }, $ = (e) => {
53
- const t = window.getSelection();
54
- if (!t) return;
92
+ }, J = (t) => {
93
+ const e = window.getSelection();
94
+ if (!e) return;
55
95
  const n = document.createRange();
56
- n.selectNodeContents(e), t.removeAllRanges(), t.addRange(n);
57
- }, b = (e) => {
96
+ n.selectNodeContents(t), e.removeAllRanges(), e.addRange(n);
97
+ }, Q = (t) => {
58
98
  var n;
59
- if (!e) return;
60
- const t = (n = window.getSelection) == null ? void 0 : n.call(window);
61
- t && t.rangeCount > 0 && e.contains(t.anchorNode) && t.removeAllRanges();
99
+ if (!t) return;
100
+ const e = (n = window.getSelection) == null ? void 0 : n.call(window);
101
+ e && e.rangeCount > 0 && t.contains(e.anchorNode) && e.removeAllRanges();
62
102
  };
63
103
  export {
64
- c as DAY_SPIN_MAX,
65
- s as MONTH_MAX,
66
- m as YEAR_MAX,
67
- f as YEAR_MIN,
68
- _ as adjustSegmentValue,
69
- S as clamp,
70
- O as clampDateToRange,
71
- b as clearSelectionWithin,
72
- I as dateKeyOrNull,
73
- T as deriveValue,
74
- K as deriveValueFromText,
75
- Y as getDaysInMonth,
76
- R as getMonthName,
77
- H as getSegmentDisplay,
78
- X as getSegmentOrder,
79
- V as isDateInRange,
80
- p as isMinMaxMisconfigured,
81
- D as isSameDateValue,
82
- L as normalizeSegmentText,
104
+ g as DAY_SPIN_MAX,
105
+ l as MONTH_MAX,
106
+ T as YEAR_MAX,
107
+ h as YEAR_MIN,
108
+ $ as __clearDatePartsCache,
109
+ X as adjustSegmentValue,
110
+ M as clamp,
111
+ b as clampDateToRange,
112
+ Q as clearSelectionWithin,
113
+ H as dateKeyOrNull,
114
+ N as deriveValue,
115
+ z as deriveValueFromText,
116
+ G as getDateParts,
117
+ O as getDaysInMonth,
118
+ L as getMonthName,
119
+ q as getSegmentDisplay,
120
+ D as getSegmentOrder,
121
+ U as isDateInRange,
122
+ E as isLiteralPart,
123
+ _ as isMinMaxMisconfigured,
124
+ k as isSameDateValue,
125
+ W as normalizeSegmentText,
83
126
  i as segmentNumber,
84
- C as segmentTextFromValue,
85
- $ as selectElementContents,
86
- P as toISODateString,
87
- E as todayParts,
88
- M as wrapInRange
127
+ j as segmentTextFromValue,
128
+ J as selectElementContents,
129
+ B as toISODateString,
130
+ K as todayParts,
131
+ p as wrapInRange
89
132
  };
@@ -4,7 +4,7 @@ export interface UseDateFieldFocusArgs {
4
4
  disabled: boolean;
5
5
  fieldRef: RefObject<HTMLDivElement>;
6
6
  segmentRefs: MutableRefObject<Map<SegmentType, HTMLSpanElement>>;
7
- /** Ordered segment types (literals stripped). En-US hardcoded; DF-8 derives from locale. */
7
+ /** Ordered segment types (literals stripped), derived from the active locale. */
8
8
  partsOrder: ReadonlyArray<SegmentType>;
9
9
  /** Called when focus enters a segment (any path). */
10
10
  onSegmentFocusChange?: (segment: SegmentType) => void;
@@ -28,9 +28,9 @@ export interface UseDateFieldKeyboardArgs {
28
28
  readOnly: boolean;
29
29
  /** Field root ref, used to detect RTL direction. */
30
30
  fieldRef: RefObject<HTMLDivElement>;
31
- /** Move focus to the next segment in `PARTS_ORDER`. */
31
+ /** Move focus to the next segment in the locale-derived `partsOrder`. */
32
32
  focusNext: (segment: SegmentType) => void;
33
- /** Move focus to the previous segment in `PARTS_ORDER`. */
33
+ /** Move focus to the previous segment in the locale-derived `partsOrder`. */
34
34
  focusPrevious: (segment: SegmentType) => void;
35
35
  /**
36
36
  * Increment, decrement, or jump a segment to its min/max boundary.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viasat/beam-react",
3
- "version": "2.53.0",
3
+ "version": "2.54.0",
4
4
  "description": "React component library for the Beam design system",
5
5
  "license": "MIT",
6
6
  "author": "Viasat",
@@ -60,12 +60,12 @@
60
60
  "access": "public"
61
61
  },
62
62
  "dependencies": {
63
- "@viasat/beam-fonts": "2.53.0",
64
- "@viasat/beam-shared": "2.53.0",
65
- "@viasat/beam-styles": "2.53.0",
66
- "@viasat/beam-tokens": "2.53.0",
67
- "@viasat/beam-icons": "2.53.0",
68
- "@viasat/beam-react-claude-plugin": "2.53.0",
63
+ "@viasat/beam-fonts": "2.54.0",
64
+ "@viasat/beam-shared": "2.54.0",
65
+ "@viasat/beam-styles": "2.54.0",
66
+ "@viasat/beam-tokens": "2.54.0",
67
+ "@viasat/beam-icons": "2.54.0",
68
+ "@viasat/beam-react-claude-plugin": "2.54.0",
69
69
  "clsx": "^1.2.1",
70
70
  "@floating-ui/react": "^0.26.18",
71
71
  "@stepperize/react": "^5.1.5",