@viasat/beam-react 2.68.0 → 2.69.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.
Files changed (72) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/chunks/DateField.Segment.BP4uMe6e.js +1 -0
  3. package/chunks/{DateField.Segment.-XomLz51.js → DateField.Segment.Dtgriddw.js} +1 -1
  4. package/index.cjs.js +1 -1
  5. package/index.es.js +28 -26
  6. package/lib/DateField/DateField.Segment.cjs.js +1 -0
  7. package/lib/DateField/DateField.Segment.es.js +9 -0
  8. package/lib/DateField/DateField.Segments.cjs.js +1 -0
  9. package/lib/{wip/DateField → DateField}/DateField.Segments.es.js +1 -1
  10. package/lib/DateField/DateField.cjs.js +1 -0
  11. package/lib/{wip/DateField → DateField}/DateField.es.js +10 -10
  12. package/lib/{wip/DateField → DateField}/DateField.types.d.ts +25 -46
  13. package/lib/DateField/DateField.utils.cjs.js +1 -0
  14. package/lib/{wip/DateField → DateField}/DateField.utils.d.ts +10 -22
  15. package/lib/{wip/DateField → DateField}/DateField.utils.es.js +3 -5
  16. package/lib/{wip/DateField → DateField}/DateField.validation.d.ts +2 -2
  17. package/lib/DateField/useDateFieldFocus.cjs.js +1 -0
  18. package/lib/DateField/useDateFieldForm.cjs.js +1 -0
  19. package/lib/{wip/DateField → DateField}/useDateFieldForm.d.ts +1 -1
  20. package/lib/{wip/DateField → DateField}/useDateFieldForm.es.js +5 -5
  21. package/lib/{wip/DateField → DateField}/useDateFieldKeyboard.d.ts +2 -5
  22. package/lib/{wip/DateField → DateField}/useDateFieldValue.cjs.js +1 -1
  23. package/lib/DateField/useDateFieldValue.d.ts +44 -0
  24. package/lib/{wip/DateField → DateField}/useInvalidState.d.ts +5 -4
  25. package/lib/index.cjs.js +1 -1
  26. package/lib/index.d.ts +1 -0
  27. package/lib/index.es.js +20 -18
  28. package/lib/wip/index.cjs.js +1 -1
  29. package/lib/wip/index.d.ts +0 -2
  30. package/lib/wip/index.es.js +15 -19
  31. package/package.json +7 -7
  32. package/chunks/DateField.Segment.Dc_nlh4y.js +0 -1
  33. package/lib/wip/DateField/DateField.Segment.cjs.js +0 -1
  34. package/lib/wip/DateField/DateField.Segment.es.js +0 -9
  35. package/lib/wip/DateField/DateField.Segments.cjs.js +0 -1
  36. package/lib/wip/DateField/DateField.cjs.js +0 -1
  37. package/lib/wip/DateField/DateField.utils.cjs.js +0 -1
  38. package/lib/wip/DateField/useDateFieldFocus.cjs.js +0 -1
  39. package/lib/wip/DateField/useDateFieldForm.cjs.js +0 -1
  40. package/lib/wip/DateField/useDateFieldValue.d.ts +0 -80
  41. /package/lib/{wip/DateField → DateField}/DateField.Segment.d.ts +0 -0
  42. /package/lib/{wip/DateField → DateField}/DateField.Segments.d.ts +0 -0
  43. /package/lib/{wip/DateField → DateField}/DateField.d.ts +0 -0
  44. /package/lib/{wip/DateField → DateField}/DateField.devWarnings.cjs.js +0 -0
  45. /package/lib/{wip/DateField → DateField}/DateField.devWarnings.d.ts +0 -0
  46. /package/lib/{wip/DateField → DateField}/DateField.devWarnings.es.js +0 -0
  47. /package/lib/{wip/DateField → DateField}/DateField.types.cjs.js +0 -0
  48. /package/lib/{wip/DateField → DateField}/DateField.types.es.js +0 -0
  49. /package/lib/{wip/DateField → DateField}/DateField.validation.cjs.js +0 -0
  50. /package/lib/{wip/DateField → DateField}/DateField.validation.es.js +0 -0
  51. /package/lib/{wip/DateField → DateField}/index.cjs.js +0 -0
  52. /package/lib/{wip/DateField → DateField}/index.d.ts +0 -0
  53. /package/lib/{wip/DateField → DateField}/index.es.js +0 -0
  54. /package/lib/{wip/DateField → DateField}/useDateFieldFocus.d.ts +0 -0
  55. /package/lib/{wip/DateField → DateField}/useDateFieldFocus.es.js +0 -0
  56. /package/lib/{wip/DateField → DateField}/useDateFieldKeyboard.cjs.js +0 -0
  57. /package/lib/{wip/DateField → DateField}/useDateFieldKeyboard.es.js +0 -0
  58. /package/lib/{wip/DateField → DateField}/useDateFieldSegments.cjs.js +0 -0
  59. /package/lib/{wip/DateField → DateField}/useDateFieldSegments.d.ts +0 -0
  60. /package/lib/{wip/DateField → DateField}/useDateFieldSegments.es.js +0 -0
  61. /package/lib/{wip/DateField → DateField}/useDateFieldValidity.cjs.js +0 -0
  62. /package/lib/{wip/DateField → DateField}/useDateFieldValidity.d.ts +0 -0
  63. /package/lib/{wip/DateField → DateField}/useDateFieldValidity.es.js +0 -0
  64. /package/lib/{wip/DateField → DateField}/useDateFieldValue.es.js +0 -0
  65. /package/lib/{wip/DateField → DateField}/useInvalidState.cjs.js +0 -0
  66. /package/lib/{wip/DateField → DateField}/useInvalidState.es.js +0 -0
  67. /package/lib/{wip/ErrorBoundary → _ErrorBoundary}/ErrorBoundary.cjs.js +0 -0
  68. /package/lib/{wip/ErrorBoundary → _ErrorBoundary}/ErrorBoundary.d.ts +0 -0
  69. /package/lib/{wip/ErrorBoundary → _ErrorBoundary}/ErrorBoundary.es.js +0 -0
  70. /package/lib/{wip/ErrorBoundary → _ErrorBoundary}/index.cjs.js +0 -0
  71. /package/lib/{wip/ErrorBoundary → _ErrorBoundary}/index.d.ts +0 -0
  72. /package/lib/{wip/ErrorBoundary → _ErrorBoundary}/index.es.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## 2.69.0 (2026-09-11)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **DateField:** Alpha promotion ([#1431](https://git.viasat.com/vega/Beam/pull/1431))
6
+
7
+ ### ❤️ Thank You
8
+
9
+ - Roman-Ionita, Alin
10
+
1
11
  ## 2.68.0 (2026-09-11)
2
12
 
3
13
  ### 🚀 Features
@@ -0,0 +1 @@
1
+ var z=require("../assets/DateField.css");const R=require("react/jsx-runtime"),$=require("clsx"),u=require("react"),k=require("./use-isomorphic-layout-effect.browser.esm.CkGv31zs.js"),y=require("./classNames.BFQUGnCN.js"),S=require("../lib/DateField/DateField.utils.cjs.js"),w="date-field",{baseClassNamePrefix:B,classModifierPrefix:L,subElementClassPrefix:s}=y.getBEMClassNames(w),c={field:`${s}field`,segments:`${s}segments`,segment:`${s}segment`,separator:`${s}separator`,srStatus:`${s}sr-status`},_={"bm-light":"bm-light","bm-dark":"bm-dark","bm-inverse":"bm-inverse","bm-enterprise":"bm-enterprise","bm-consumer":"bm-consumer","bm-date-field":"bm-date-field","bm-date-field--disabled":"bm-date-field--disabled","bm-date-field--sm":"bm-date-field--sm","bm-date-field__field":"bm-date-field__field","bm-date-field--md":"bm-date-field--md","bm-date-field--lg":"bm-date-field--lg","bm-date-field--error":"bm-date-field--error","bm-date-field__segment":"bm-date-field__segment","bm-date-field__separator":"bm-date-field__separator","bm-date-field--read-only":"bm-date-field--read-only","bm-date-field--fluid":"bm-date-field--fluid","bm-date-field__segments":"bm-date-field__segments","bm-date-field__sr-status":"bm-date-field__sr-status"},j={day:"day",month:"month",year:"year"},T=({type:i,value:g,valueMin:p,valueMax:C,displayValue:d,isPlaceholder:x,valueText:v,invalid:E,role:n,isActive:t,disabled:l,readOnly:m,required:h,onFocus:D,onBlur:N,onInput:q,onKeyDown:F,segmentRef:o})=>{const a=!l&&!m,f=u.useRef(null),M=u.useCallback(e=>{f.current=e,o(e)},[o]),I=e=>{if(!a)return;const b=e.currentTarget,r=e.nativeEvent.data;r!=null&&r.length===1&&q(i,r),b.textContent!==d&&(b.textContent=d)};k.index(()=>{if(!t||!a)return;const e=f.current;e&&S.selectElementContents(e)},[d,t,a]);const P=n==="spinbutton"?{"aria-valuenow":g??void 0,"aria-valuemin":p,"aria-valuemax":C,"aria-valuetext":v}:{"aria-multiline":!1};return R.jsx("span",{ref:M,role:n,"aria-label":j[i],...P,"aria-disabled":l||void 0,"aria-readonly":m||void 0,"aria-required":h||void 0,"aria-invalid":E||void 0,contentEditable:a&&t,suppressContentEditableWarning:!0,tabIndex:t?0:-1,inputMode:a?"numeric":void 0,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off","data-segment":i,"data-active":t,"data-placeholder":x,onFocus:D,onBlur:N,onInput:I,onKeyDown:e=>F(i,e),onMouseUp:e=>e.preventDefault(),className:$(_[c.segment]),children:d})};exports.DateFieldSegment=T;exports.baseClassNamePrefix=B;exports.classModifierPrefix=L;exports.staticDateFieldClassNames=c;exports.styles=_;
@@ -4,7 +4,7 @@ import I from "clsx";
4
4
  import { useRef as B, useCallback as P } from "react";
5
5
  import { i as R } from "./use-isomorphic-layout-effect.browser.esm.DERp5kr6.js";
6
6
  import { g as S } from "./classNames.CA_0DokS.js";
7
- import { selectElementContents as w } from "../lib/wip/DateField/DateField.utils.es.js";
7
+ import { selectElementContents as w } from "../lib/DateField/DateField.utils.es.js";
8
8
  const y = "date-field", { baseClassNamePrefix: A, classModifierPrefix: H, subElementClassPrefix: d } = S(y), F = {
9
9
  field: `${d}field`,
10
10
  segments: `${d}segments`,
package/index.cjs.js CHANGED
@@ -1 +1 @@
1
- var qe=require("./assets/index.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./lib/Accordion/Accordion.cjs.js"),s=require("./lib/Accordion/AccordionGroup.cjs.js"),c=require("./lib/Alert/Alert.cjs.js"),d=require("./lib/Autocomplete/Autocomplete.cjs.js"),b=require("./lib/Avatar/index.cjs.js"),p=require("./lib/CloseButton/CloseButton.cjs.js"),o=require("./lib/Button/Button.cjs.js"),S=require("./lib/Dialog/Dialog.cjs.js"),q=require("./lib/Breadcrumbs/Breadcrumbs.cjs.js"),A=require("./chunks/BreadcrumbsItem.BU74Md4d.js"),T=require("./lib/EmptyState/EmptyState.cjs.js"),B=require("./lib/Badge/Badge.cjs.js"),C=require("./lib/BadgeDot/BadgeDot.cjs.js"),P=require("./lib/Box/Box.cjs.js"),g=require("./lib/Checkbox/Checkbox.cjs.js"),L=require("./lib/Chips/Chip.cjs.js"),v=require("./lib/Chips/ChipGroup.cjs.js"),m=require("./lib/Divider/Divider.cjs.js"),h=require("./lib/FileUpload/FileUpload.cjs.js"),x=require("./lib/Flag/Flag.cjs.js"),N=require("./lib/Form/Form.cjs.js"),H=require("./chunks/form.context.CkC0TwMb.js"),G=require("./lib/Icon/Icon.cjs.js"),R=require("./lib/InputChoiceGroup/SwitchGroup/SwitchGroup.cjs.js"),D=require("./lib/InputChoiceGroup/CheckboxGroup/CheckboxGroup.cjs.js"),I=require("./lib/InputChoiceGroup/RadioButtonGroup/RadioButtonGroup.cjs.js"),O=require("./lib/Label/Label.cjs.js"),E=require("./lib/Link/Link.cjs.js"),y=require("./lib/List/List.cjs.js"),M=require("./lib/ActionList/ActionList.cjs.js"),F=require("./lib/Logo/Logo.cjs.js"),k=require("./lib/Menu/Menu.cjs.js"),U=require("./lib/Menu/Menu.context.cjs.js"),w=require("./lib/NativeSelect/NativeSelect.cjs.js"),Y=require("./lib/Pagination/Pagination.cjs.js"),W=require("./lib/ProgressBar/ProgressBar.cjs.js"),V=require("./lib/RadioButton/RadioButton.cjs.js"),e=require("./lib/SideNav/SideNav.cjs.js"),t=require("./lib/SideNav/SideNavContext.cjs.js"),f=require("./lib/SegmentedControl/SegmentedControl.cjs.js"),K=require("./lib/Select/Select.cjs.js"),Q=require("./lib/Spinner/Spinner.cjs.js"),j=require("./lib/StateLayer/StateLayer.cjs.js"),z=require("./lib/Stepper/Stepper.cjs.js"),i=require("./lib/Stepper/useBeamStepper.cjs.js"),J=require("./lib/Switch/Switch.cjs.js"),X=require("./lib/Tabs/Tabs.cjs.js"),Z=require("./lib/Text/Text.cjs.js"),$=require("./lib/TextArea/TextArea.cjs.js"),ee=require("./lib/TextField/TextField.cjs.js"),re=require("./lib/Toasts/Toast.cjs.js"),a=require("./chunks/ToastContext.DVb2CKcX.js"),oe=require("./lib/Toasts/ToastContainer.cjs.js"),n=require("./lib/Tooltip/Tooltip.cjs.js"),_=require("./lib/Header/Header.cjs.js"),te=require("./lib/Header/HeaderMasthead.cjs.js"),ie=require("./lib/Header/HeaderActionGroup.cjs.js"),ae=require("./lib/Header/HeaderNavigation.cjs.js"),u=require("./lib/PortalProvider/PortalContext.cjs.js"),ne=require("./lib/PortalProvider/PortalProvider.cjs.js"),_e=require("./lib/Popover/Popover.cjs.js"),ue=require("./lib/PageHeader/PageHeader.cjs.js"),le=require("./lib/PageLayout/PageLayout.cjs.js"),se=require("./lib/Panel/Panel.cjs.js"),ce=require("./lib/Slider/Slider.cjs.js"),de=require("./lib/Card/Card.cjs.js"),be=require("./lib/Card/CardGroup.cjs.js"),pe=require("./lib/Search/Search.cjs.js"),r=require("./utils/theming/useBeamTheme.cjs.js"),Se=require("./chunks/useFormValidator.hook.CbrwDKcG.js");exports.Accordion=l.Accordion;exports.AccordionGroup=s.AccordionGroup;exports.Alert=c.Alert;exports.Autocomplete=d.Autocomplete;exports.Avatar=b.Avatar;exports.CloseButton=p.CloseButton;exports.Button=o.Button;exports.ButtonIconWrap=o.ButtonIconWrap;exports.Dialog=S.Dialog;exports.Breadcrumb=q.Breadcrumb;exports.BreadcrumbItem=A.BreadcrumbItem;exports.EmptyState=T.EmptyState;exports.Badge=B.Badge;exports.BadgeDot=C.BadgeDot;exports.Box=P.Box;exports.Checkbox=g.Checkbox;exports.Chip=L.Chip;exports.ChipGroup=v.ChipGroup;exports.Divider=m.Divider;exports.FileUpload=h.default;exports.Flag=x.Flag;exports.Form=N.Form;exports.HelperText=H.HelperText;exports.Icon=G.Icon;exports.SwitchGroup=R.SwitchGroup;exports.CheckboxGroup=D.CheckboxGroup;exports.RadioButtonGroup=I.RadioButtonGroup;exports.Label=O.Label;exports.Link=E.Link;exports.List=y.List;exports.ActionList=M.ActionList;exports.Logo=F.Logo;exports.Menu=k.Menu;exports.useMenuContext=U.useMenuContext;exports.NativeSelect=w.NativeSelect;exports.Pagination=Y.Pagination;exports.ProgressBar=W.ProgressBar;exports.RadioButton=V.RadioButton;exports.DRAWER_LAYOUT=e.DRAWER_LAYOUT;exports.HIDDEN_LAYOUT=e.HIDDEN_LAYOUT;exports.LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME=e.LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME;exports.NO_LAYOUT=e.NO_LAYOUT;exports.OPAQUE_BACKDROP=e.OPAQUE_BACKDROP;exports.RAIL_LAYOUT=e.RAIL_LAYOUT;exports.Root=e.Root;exports.SideNav=e.SideNav;exports.SideNavBackdrops=e.SideNavBackdrops;exports.SideNavClosedLayouts=e.SideNavClosedLayouts;exports.SideNavOpenLayouts=e.SideNavOpenLayouts;exports.TRANSPARENT_BACKDROP=e.TRANSPARENT_BACKDROP;exports.SideNavProvider=t.SideNavProvider;exports.useSideNavContext=t.useSideNavContext;exports.SegmentedControl=f.SegmentedControl;exports.Select=K.Select;exports.Spinner=Q.Spinner;exports.StateLayer=j.StateLayer;exports.Stepper=z.Stepper;exports.processMetadata=i.processMetadata;exports.useBeamStepper=i.useBeamStepper;exports.Switch=J.Switch;exports.Tabs=X.Tabs;exports.Text=Z.Text;exports.TextArea=$.TextArea;exports.TextField=ee.TextField;exports.Toast=re.Toast;exports.ToastProvider=a.ToastProvider;exports.useToast=a.useToast;exports.ToastContainer=oe.ToastContainer;exports.Tooltip=n.Tooltip;exports.TooltipIconTrigger=n.TooltipIconTrigger;exports.Header=_.Header;exports.InternalHeader=_.InternalHeader;exports.HeaderMasthead=te.HeaderMasthead;exports.HeaderActionGroup=ie.HeaderActionGroup;exports.HeaderNavigation=ae.HeaderNavigation;exports.PortalContext=u.PortalContext;exports.usePortal=u.usePortal;exports.PortalProvider=ne.PortalProvider;exports.Popover=_e.Popover;exports.PageHeader=ue.PageHeader;exports.PageLayout=le.PageLayout;exports.Panel=se.Panel;exports.Slider=ce.Slider;exports.Card=de.Card;exports.CardGroup=be.CardGroup;exports.Search=pe.Search;exports.ALL_THEMES=r.ALL_THEMES;exports.BeamThemeProvider=r.BeamThemeProvider;exports.fromAttr=r.fromAttr;exports.toAttr=r.toAttr;exports.useBeamTheme=r.useBeamTheme;exports.validators=Se.validators;
1
+ var Ae=require("./assets/index.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./lib/Accordion/Accordion.cjs.js"),s=require("./lib/Accordion/AccordionGroup.cjs.js"),c=require("./lib/Alert/Alert.cjs.js"),d=require("./lib/Autocomplete/Autocomplete.cjs.js"),b=require("./lib/Avatar/index.cjs.js"),p=require("./lib/CloseButton/CloseButton.cjs.js"),o=require("./lib/Button/Button.cjs.js"),S=require("./lib/Dialog/Dialog.cjs.js"),q=require("./lib/Breadcrumbs/Breadcrumbs.cjs.js"),A=require("./chunks/BreadcrumbsItem.BU74Md4d.js"),T=require("./lib/EmptyState/EmptyState.cjs.js"),B=require("./lib/Badge/Badge.cjs.js"),C=require("./lib/BadgeDot/BadgeDot.cjs.js"),P=require("./lib/Box/Box.cjs.js"),g=require("./lib/Checkbox/Checkbox.cjs.js"),L=require("./lib/Chips/Chip.cjs.js"),v=require("./lib/Chips/ChipGroup.cjs.js"),m=require("./lib/Divider/Divider.cjs.js"),h=require("./lib/FileUpload/FileUpload.cjs.js"),x=require("./lib/Flag/Flag.cjs.js"),N=require("./lib/Form/Form.cjs.js"),H=require("./chunks/form.context.CkC0TwMb.js"),D=require("./lib/Icon/Icon.cjs.js"),G=require("./lib/InputChoiceGroup/SwitchGroup/SwitchGroup.cjs.js"),R=require("./lib/InputChoiceGroup/CheckboxGroup/CheckboxGroup.cjs.js"),I=require("./lib/InputChoiceGroup/RadioButtonGroup/RadioButtonGroup.cjs.js"),O=require("./lib/Label/Label.cjs.js"),E=require("./lib/Link/Link.cjs.js"),F=require("./lib/List/List.cjs.js"),y=require("./lib/ActionList/ActionList.cjs.js"),M=require("./lib/Logo/Logo.cjs.js"),k=require("./lib/Menu/Menu.cjs.js"),U=require("./lib/Menu/Menu.context.cjs.js"),w=require("./lib/NativeSelect/NativeSelect.cjs.js"),Y=require("./lib/Pagination/Pagination.cjs.js"),W=require("./lib/ProgressBar/ProgressBar.cjs.js"),V=require("./lib/RadioButton/RadioButton.cjs.js"),e=require("./lib/SideNav/SideNav.cjs.js"),t=require("./lib/SideNav/SideNavContext.cjs.js"),f=require("./lib/SegmentedControl/SegmentedControl.cjs.js"),K=require("./lib/Select/Select.cjs.js"),Q=require("./lib/Spinner/Spinner.cjs.js"),j=require("./lib/StateLayer/StateLayer.cjs.js"),z=require("./lib/Stepper/Stepper.cjs.js"),i=require("./lib/Stepper/useBeamStepper.cjs.js"),J=require("./lib/Switch/Switch.cjs.js"),X=require("./lib/Tabs/Tabs.cjs.js"),Z=require("./lib/Text/Text.cjs.js"),$=require("./lib/TextArea/TextArea.cjs.js"),ee=require("./lib/TextField/TextField.cjs.js"),re=require("./lib/Toasts/Toast.cjs.js"),a=require("./chunks/ToastContext.DVb2CKcX.js"),oe=require("./lib/Toasts/ToastContainer.cjs.js"),n=require("./lib/Tooltip/Tooltip.cjs.js"),_=require("./lib/Header/Header.cjs.js"),te=require("./lib/Header/HeaderMasthead.cjs.js"),ie=require("./lib/Header/HeaderActionGroup.cjs.js"),ae=require("./lib/Header/HeaderNavigation.cjs.js"),u=require("./lib/PortalProvider/PortalContext.cjs.js"),ne=require("./lib/PortalProvider/PortalProvider.cjs.js"),_e=require("./lib/Popover/Popover.cjs.js"),ue=require("./lib/PageHeader/PageHeader.cjs.js"),le=require("./lib/PageLayout/PageLayout.cjs.js"),se=require("./lib/Panel/Panel.cjs.js"),ce=require("./lib/Slider/Slider.cjs.js"),de=require("./lib/Card/Card.cjs.js"),be=require("./lib/Card/CardGroup.cjs.js"),pe=require("./lib/Search/Search.cjs.js"),Se=require("./lib/DateField/DateField.cjs.js"),r=require("./utils/theming/useBeamTheme.cjs.js"),qe=require("./chunks/useFormValidator.hook.CbrwDKcG.js");exports.Accordion=l.Accordion;exports.AccordionGroup=s.AccordionGroup;exports.Alert=c.Alert;exports.Autocomplete=d.Autocomplete;exports.Avatar=b.Avatar;exports.CloseButton=p.CloseButton;exports.Button=o.Button;exports.ButtonIconWrap=o.ButtonIconWrap;exports.Dialog=S.Dialog;exports.Breadcrumb=q.Breadcrumb;exports.BreadcrumbItem=A.BreadcrumbItem;exports.EmptyState=T.EmptyState;exports.Badge=B.Badge;exports.BadgeDot=C.BadgeDot;exports.Box=P.Box;exports.Checkbox=g.Checkbox;exports.Chip=L.Chip;exports.ChipGroup=v.ChipGroup;exports.Divider=m.Divider;exports.FileUpload=h.default;exports.Flag=x.Flag;exports.Form=N.Form;exports.HelperText=H.HelperText;exports.Icon=D.Icon;exports.SwitchGroup=G.SwitchGroup;exports.CheckboxGroup=R.CheckboxGroup;exports.RadioButtonGroup=I.RadioButtonGroup;exports.Label=O.Label;exports.Link=E.Link;exports.List=F.List;exports.ActionList=y.ActionList;exports.Logo=M.Logo;exports.Menu=k.Menu;exports.useMenuContext=U.useMenuContext;exports.NativeSelect=w.NativeSelect;exports.Pagination=Y.Pagination;exports.ProgressBar=W.ProgressBar;exports.RadioButton=V.RadioButton;exports.DRAWER_LAYOUT=e.DRAWER_LAYOUT;exports.HIDDEN_LAYOUT=e.HIDDEN_LAYOUT;exports.LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME=e.LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME;exports.NO_LAYOUT=e.NO_LAYOUT;exports.OPAQUE_BACKDROP=e.OPAQUE_BACKDROP;exports.RAIL_LAYOUT=e.RAIL_LAYOUT;exports.Root=e.Root;exports.SideNav=e.SideNav;exports.SideNavBackdrops=e.SideNavBackdrops;exports.SideNavClosedLayouts=e.SideNavClosedLayouts;exports.SideNavOpenLayouts=e.SideNavOpenLayouts;exports.TRANSPARENT_BACKDROP=e.TRANSPARENT_BACKDROP;exports.SideNavProvider=t.SideNavProvider;exports.useSideNavContext=t.useSideNavContext;exports.SegmentedControl=f.SegmentedControl;exports.Select=K.Select;exports.Spinner=Q.Spinner;exports.StateLayer=j.StateLayer;exports.Stepper=z.Stepper;exports.processMetadata=i.processMetadata;exports.useBeamStepper=i.useBeamStepper;exports.Switch=J.Switch;exports.Tabs=X.Tabs;exports.Text=Z.Text;exports.TextArea=$.TextArea;exports.TextField=ee.TextField;exports.Toast=re.Toast;exports.ToastProvider=a.ToastProvider;exports.useToast=a.useToast;exports.ToastContainer=oe.ToastContainer;exports.Tooltip=n.Tooltip;exports.TooltipIconTrigger=n.TooltipIconTrigger;exports.Header=_.Header;exports.InternalHeader=_.InternalHeader;exports.HeaderMasthead=te.HeaderMasthead;exports.HeaderActionGroup=ie.HeaderActionGroup;exports.HeaderNavigation=ae.HeaderNavigation;exports.PortalContext=u.PortalContext;exports.usePortal=u.usePortal;exports.PortalProvider=ne.PortalProvider;exports.Popover=_e.Popover;exports.PageHeader=ue.PageHeader;exports.PageLayout=le.PageLayout;exports.Panel=se.Panel;exports.Slider=ce.Slider;exports.Card=de.Card;exports.CardGroup=be.CardGroup;exports.Search=pe.Search;exports.DateField=Se.DateField;exports.ALL_THEMES=r.ALL_THEMES;exports.BeamThemeProvider=r.BeamThemeProvider;exports.fromAttr=r.fromAttr;exports.toAttr=r.toAttr;exports.useBeamTheme=r.useBeamTheme;exports.validators=qe.validators;
package/index.es.js CHANGED
@@ -11,13 +11,13 @@ import { Breadcrumb as L } from "./lib/Breadcrumbs/Breadcrumbs.es.js";
11
11
  import { B as P } from "./chunks/BreadcrumbsItem.DC3CIyBO.js";
12
12
  import { EmptyState as N } from "./lib/EmptyState/EmptyState.es.js";
13
13
  import { Badge as _ } from "./lib/Badge/Badge.es.js";
14
- import { BadgeDot as H } from "./lib/BadgeDot/BadgeDot.es.js";
15
- import { Box as h } from "./lib/Box/Box.es.js";
14
+ import { BadgeDot as D } from "./lib/BadgeDot/BadgeDot.es.js";
15
+ import { Box as O } from "./lib/Box/Box.es.js";
16
16
  import { Checkbox as E } from "./lib/Checkbox/Checkbox.es.js";
17
17
  import { Chip as G } from "./lib/Chips/Chip.es.js";
18
18
  import { ChipGroup as M } from "./lib/Chips/ChipGroup.es.js";
19
19
  import { Divider as y } from "./lib/Divider/Divider.es.js";
20
- import { default as F } from "./lib/FileUpload/FileUpload.es.js";
20
+ import { default as k } from "./lib/FileUpload/FileUpload.es.js";
21
21
  import { Flag as W } from "./lib/Flag/Flag.es.js";
22
22
  import { Form as K } from "./lib/Form/Form.es.js";
23
23
  import { H as Q } from "./chunks/form.context.BDYA2JQs.js";
@@ -36,8 +36,8 @@ import { NativeSelect as So } from "./lib/NativeSelect/NativeSelect.es.js";
36
36
  import { Pagination as Bo } from "./lib/Pagination/Pagination.es.js";
37
37
  import { ProgressBar as vo } from "./lib/ProgressBar/ProgressBar.es.js";
38
38
  import { RadioButton as Co } from "./lib/RadioButton/RadioButton.es.js";
39
- import { DRAWER_LAYOUT as go, HIDDEN_LAYOUT as _o, LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME as Ro, NO_LAYOUT as Ho, OPAQUE_BACKDROP as Oo, RAIL_LAYOUT as ho, Root as Do, SideNav as Eo, SideNavBackdrops as Io, SideNavClosedLayouts as Go, SideNavOpenLayouts as bo, TRANSPARENT_BACKDROP as Mo } from "./lib/SideNav/SideNav.es.js";
40
- import { SideNavProvider as yo, useSideNavContext as ko } from "./lib/SideNav/SideNavContext.es.js";
39
+ import { DRAWER_LAYOUT as go, HIDDEN_LAYOUT as _o, LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME as Ro, NO_LAYOUT as Do, OPAQUE_BACKDROP as Ho, RAIL_LAYOUT as Oo, Root as ho, SideNav as Eo, SideNavBackdrops as Io, SideNavClosedLayouts as Go, SideNavOpenLayouts as bo, TRANSPARENT_BACKDROP as Mo } from "./lib/SideNav/SideNav.es.js";
40
+ import { SideNavProvider as yo, useSideNavContext as Fo } from "./lib/SideNav/SideNavContext.es.js";
41
41
  import { SegmentedControl as Yo } from "./lib/SegmentedControl/SegmentedControl.es.js";
42
42
  import { Select as wo } from "./lib/Select/Select.es.js";
43
43
  import { Spinner as Vo } from "./lib/Spinner/Spinner.es.js";
@@ -57,20 +57,21 @@ import { Header as Lr, InternalHeader as vr } from "./lib/Header/Header.es.js";
57
57
  import { HeaderMasthead as Cr } from "./lib/Header/HeaderMasthead.es.js";
58
58
  import { HeaderActionGroup as gr } from "./lib/Header/HeaderActionGroup.es.js";
59
59
  import { HeaderNavigation as Rr } from "./lib/Header/HeaderNavigation.es.js";
60
- import { PortalContext as Or, usePortal as hr } from "./lib/PortalProvider/PortalContext.es.js";
60
+ import { PortalContext as Hr, usePortal as Or } from "./lib/PortalProvider/PortalContext.es.js";
61
61
  import { PortalProvider as Er } from "./lib/PortalProvider/PortalProvider.es.js";
62
62
  import { Popover as Gr } from "./lib/Popover/Popover.es.js";
63
63
  import { PageHeader as Mr } from "./lib/PageHeader/PageHeader.es.js";
64
64
  import { PageLayout as yr } from "./lib/PageLayout/PageLayout.es.js";
65
- import { Panel as Fr } from "./lib/Panel/Panel.es.js";
65
+ import { Panel as kr } from "./lib/Panel/Panel.es.js";
66
66
  import { Slider as Wr } from "./lib/Slider/Slider.es.js";
67
67
  import { Card as Kr } from "./lib/Card/Card.es.js";
68
68
  import { CardGroup as Qr } from "./lib/Card/CardGroup.es.js";
69
69
  import { Search as qr } from "./lib/Search/Search.es.js";
70
- import { ALL_THEMES as Jr, BeamThemeProvider as Xr, fromAttr as Zr, toAttr as $r, useBeamTheme as oe } from "./utils/theming/useBeamTheme.es.js";
71
- import { v as ee } from "./chunks/useFormValidator.hook.BM-e4j8b.js";
70
+ import { DateField as Jr } from "./lib/DateField/DateField.es.js";
71
+ import { ALL_THEMES as Zr, BeamThemeProvider as $r, fromAttr as oe, toAttr as re, useBeamTheme as ee } from "./utils/theming/useBeamTheme.es.js";
72
+ import { v as pe } from "./chunks/useFormValidator.hook.BM-e4j8b.js";
72
73
  export {
73
- Jr as ALL_THEMES,
74
+ Zr as ALL_THEMES,
74
75
  t as Accordion,
75
76
  m as AccordionGroup,
76
77
  fo as ActionList,
@@ -78,9 +79,9 @@ export {
78
79
  i as Autocomplete,
79
80
  n as Avatar,
80
81
  _ as Badge,
81
- H as BadgeDot,
82
- Xr as BeamThemeProvider,
83
- h as Box,
82
+ D as BadgeDot,
83
+ $r as BeamThemeProvider,
84
+ O as Box,
84
85
  L as Breadcrumb,
85
86
  P as BreadcrumbItem,
86
87
  l as Button,
@@ -93,10 +94,11 @@ export {
93
94
  M as ChipGroup,
94
95
  u as CloseButton,
95
96
  go as DRAWER_LAYOUT,
97
+ Jr as DateField,
96
98
  c as Dialog,
97
99
  y as Divider,
98
100
  N as EmptyState,
99
- F as FileUpload,
101
+ k as FileUpload,
100
102
  W as Flag,
101
103
  K as Form,
102
104
  _o as HIDDEN_LAYOUT,
@@ -113,21 +115,21 @@ export {
113
115
  xo as List,
114
116
  no as Logo,
115
117
  uo as Menu,
116
- Ho as NO_LAYOUT,
118
+ Do as NO_LAYOUT,
117
119
  So as NativeSelect,
118
- Oo as OPAQUE_BACKDROP,
120
+ Ho as OPAQUE_BACKDROP,
119
121
  Mr as PageHeader,
120
122
  yr as PageLayout,
121
123
  Bo as Pagination,
122
- Fr as Panel,
124
+ kr as Panel,
123
125
  Gr as Popover,
124
- Or as PortalContext,
126
+ Hr as PortalContext,
125
127
  Er as PortalProvider,
126
128
  vo as ProgressBar,
127
- ho as RAIL_LAYOUT,
129
+ Oo as RAIL_LAYOUT,
128
130
  Co as RadioButton,
129
131
  oo as RadioButtonGroup,
130
- Do as Root,
132
+ ho as Root,
131
133
  qr as Search,
132
134
  Yo as SegmentedControl,
133
135
  wo as Select,
@@ -152,14 +154,14 @@ export {
152
154
  sr as ToastProvider,
153
155
  Sr as Tooltip,
154
156
  cr as TooltipIconTrigger,
155
- Zr as fromAttr,
157
+ oe as fromAttr,
156
158
  Xo as processMetadata,
157
- $r as toAttr,
159
+ re as toAttr,
158
160
  Zo as useBeamStepper,
159
- oe as useBeamTheme,
161
+ ee as useBeamTheme,
160
162
  lo as useMenuContext,
161
- hr as usePortal,
162
- ko as useSideNavContext,
163
+ Or as usePortal,
164
+ Fo as useSideNavContext,
163
165
  ur as useToast,
164
- ee as validators
166
+ pe as validators
165
167
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("clsx");require("react");require("../../chunks/use-isomorphic-layout-effect.browser.esm.CkGv31zs.js");const e=require("../../chunks/DateField.Segment.BP4uMe6e.js");require("./DateField.utils.cjs.js");exports.DateFieldSegment=e.DateFieldSegment;
@@ -0,0 +1,9 @@
1
+ import "react/jsx-runtime";
2
+ import "clsx";
3
+ import "react";
4
+ import "../../chunks/use-isomorphic-layout-effect.browser.esm.DERp5kr6.js";
5
+ import { D as a } from "../../chunks/DateField.Segment.Dtgriddw.js";
6
+ import "./DateField.utils.es.js";
7
+ export {
8
+ a as DateFieldSegment
9
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),s=require("../../chunks/DateField.Segment.BP4uMe6e.js"),t=require("./DateField.utils.cjs.js"),b={month:"MM",day:"DD",year:"YYYY"},R=({parts:r,segmentText:i,segmentValues:a,focusedSegment:c,disabled:d,readOnly:m,required:u,invalid:y,role:h,onSegmentFocus:D,onSegmentBlur:M,onSegmentInput:p,onSegmentKeyDown:x,registerSegmentRef:F})=>{const g={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}},v=Object.values(i).every(n=>n==="");return l.jsx("span",{className:s.styles[s.staticDateFieldClassNames.segments],children:r.map((n,_)=>{if(n.type==="literal")return l.jsx("span",{"aria-hidden":"true","data-placeholder":v,className:s.styles[s.staticDateFieldClassNames.separator],children:n.value},`literal-${_}`);const e=n.type,S=b[e],{displayValue:o,isPlaceholder:N}=t.getSegmentDisplay(e,i[e],S),{min:j,max:A}=g[e],Y=e==="month"&&a.month!=null?t.getMonthName(a.month):o;return l.jsx(s.DateFieldSegment,{type:e,value:a[e],valueMin:j,valueMax:A,displayValue:o,isPlaceholder:N,valueText:Y,invalid:y,role:h,isActive:c===e,disabled:d,readOnly:m,required:u,onFocus:()=>D(e),onBlur:M,onInput:p,onKeyDown:x,segmentRef:F(e)},e)})})};exports.DateFieldSegments=R;
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { s as l, a as r, D as S } from "../../../chunks/DateField.Segment.-XomLz51.js";
2
+ import { s as l, a as r, D as S } from "../../chunks/DateField.Segment.Dtgriddw.js";
3
3
  import { getDaysInMonth as I, getSegmentDisplay as O, YEAR_MAX as P, YEAR_MIN as _, MONTH_MAX as j, getMonthName as B } from "./DateField.utils.es.js";
4
4
  const C = {
5
5
  month: "MM",
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),Te=require("clsx"),l=require("react"),e=require("../../chunks/DateField.Segment.BP4uMe6e.js"),Be=require("../../chunks/input.Dq5mx3KB.js"),Ve=require("../../chunks/constants.CgMu0_1M.js"),we=require("../../chunks/helpers.BIckGIbP.js"),Pe=require("../../chunks/form.context.CkC0TwMb.js"),Ae=require("../Form/contexts/label.context.cjs.js"),ke=require("../Form/contexts/helperText.context.cjs.js"),He=require("../../utils/hooks/useIsMounted.cjs.js"),Ke=require("../../utils/functions.cjs.js"),$e=require("../_ErrorBoundary/ErrorBoundary.cjs.js"),We=require("./DateField.Segments.cjs.js"),k=require("./DateField.devWarnings.cjs.js"),o=require("./DateField.utils.cjs.js"),Ye=require("./useDateFieldFocus.cjs.js"),Ue=require("./useDateFieldForm.cjs.js"),ze=require("./useDateFieldKeyboard.cjs.js"),Ge=require("./useDateFieldSegments.cjs.js"),Je=require("./useDateFieldValidity.cjs.js"),Qe=require("./useDateFieldValue.cjs.js"),Xe=require("./useInvalidState.cjs.js"),Ze="MM/DD/YYYY",es=()=>{process.env.NODE_ENV!=="production"&&console.warn("DateField: segments failed to render; showing a static fallback.")},ss=l.forwardRef(function({value:D,defaultValue:m,onChange:H,minDate:_,maxDate:g,getClampAnnouncement:K,locale:$,label:x=null,helperText:v=null,error:p,hideRequiredMarker:W=!1,validationRules:Y,width:U,theme:y,fluid:z=!1,size:G=Be.defaultInputSize,disabled:J=!1,readOnly:Q=!1,required:X=!1,name:S,id:Z,className:ee,style:se,"aria-label":te,"aria-describedby":le,"aria-labelledby":ae,...re},h){const{disabled:s,readOnly:i,required:q,invalid:ie,errorMessageProvided:I,defaultValue:ne,errorId:M,helperTextId:oe,validationErrorsId:de,labelId:R,ariaDescribedBy:ue,ariaLabelledBy:ce,showErrors:be}=Ue.useDateFieldForm({name:S,disabled:J,readOnly:Q,required:X,defaultValue:m,error:p,hasHelperText:!!v,hasLabel:!!x,validationRules:Y,ariaDescribedBy:le,ariaLabelledBy:ae});k.useDevMinMaxWarning(_,g),k.useDevInvalidValueWarning(D,m);const n=l.useRef(null),{segmentRefs:fe,registerSegmentRef:Fe}=Ge.useDateFieldSegments(),De=$??o.DEFAULT_LOCALE,C=He.useIsMounted(),c=o.getDateParts(C?De:o.DEFAULT_LOCALE),d=l.useMemo(()=>o.getSegmentOrder(c),[c]),{segmentText:me,segmentValues:E,currentValue:N,wasTouched:_e,appendDigit:j,adjustSegment:ge,clearSegment:xe,clearAll:L,beginSegmentEdit:ve,commitOnBlur:pe,clampAnnouncement:ye}=Qe.useDateFieldValue({value:D,defaultValue:ne,onChange:H,minDate:_,maxDate:g,getClampAnnouncement:K}),{focusedSegment:O,fieldTabIndex:Se,handleSegmentFocus:u,handleFieldFocus:he,handleFieldBlur:qe,handleFieldMouseDown:Ie,focusNext:b,focusPrevious:Me}=Ye.useDateFieldFocus({disabled:s,fieldRef:n,segmentRefs:fe,partsOrder:d,onSegmentFocusChange:ve,onFieldBlur:pe}),Re=ze.useDateFieldKeyboard({disabled:s,readOnly:i,fieldRef:n,focusNext:b,focusPrevious:Me,adjustSegment:ge,clearSegment:xe}),{isInvalid:Ce}=Je.useDateFieldValidity({segments:E,currentValue:N,wasTouched:_e,isFocused:O!==null}),Ee=l.useCallback((t,r)=>{const{advanced:F}=j(t,r);F&&b(t)},[j,b]),f=Xe.useInvalidState({formInvalid:ie,valueInvalid:Ce}),Ne=C&&we.isIOS()?"textbox":"spinbutton",T=l.useCallback(t=>{s||u(d[0],t)},[s,u,d]),B=l.useCallback(()=>{var r;if(s)return;const t=document.activeElement;t instanceof HTMLElement&&t!==n.current&&((r=n.current)!=null&&r.contains(t))&&t.blur()},[s]),V=l.useCallback(()=>{s||i||L()},[s,i,L]),w=l.useRef(T),P=l.useRef(B),A=l.useRef(V);w.current=T,P.current=B,A.current=V;const je=l.useCallback(t=>{const r=t?Object.assign(t,{focus:F=>w.current(F),blur:()=>P.current(),clear:()=>A.current()}):null;Ke.mergeRefs(n,h)(r)},[h]),Le=t=>{if(s)return;const r=t.target.closest("label");!r||r.id!==R||(t.preventDefault(),u(d[0]))},Oe=Te(e.styles[e.baseClassNamePrefix],y&&Ve.themeClassName(y),e.styles[`${e.classModifierPrefix}${G}`],z&&e.styles[`${e.classModifierPrefix}fluid`],f&&e.styles[`${e.classModifierPrefix}error`],s&&e.styles[`${e.classModifierPrefix}disabled`],i&&e.styles[`${e.classModifierPrefix}read-only`],ee);return a.jsxs("div",{className:Oe,style:{...se,maxWidth:U},onMouseDownCapture:Le,children:[a.jsx(Ae.LabelProvider,{ctxId:R,ctxDisabled:s,ctxRequired:q&&!W,children:x}),a.jsx("div",{...re,ref:je,id:Z,role:"group","aria-label":te,"aria-labelledby":ce,"aria-disabled":s||void 0,"aria-invalid":f||void 0,"aria-describedby":ue,"aria-errormessage":I?M:void 0,tabIndex:Se,className:e.styles[e.staticDateFieldClassNames.field],onMouseDown:Ie,onFocus:he,children:a.jsx($e.ErrorBoundary,{fallback:a.jsx("span",{className:e.styles[e.staticDateFieldClassNames.segments],children:Ze}),onError:es,children:a.jsx(We.DateFieldSegments,{parts:c,segmentText:me,segmentValues:E,focusedSegment:O,disabled:s,readOnly:i,required:q,invalid:f,role:Ne,onSegmentFocus:u,onSegmentBlur:qe,onSegmentInput:Ee,onSegmentKeyDown:Re,registerSegmentRef:Fe})})}),a.jsx("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:e.styles[e.staticDateFieldClassNames.srStatus],children:ye}),a.jsx("input",{type:"hidden",name:S,value:o.toISODateString(N),disabled:s}),a.jsxs(ke.HelperTextProvider,{ctxId:oe,ctxDisabled:s,children:[v,I&&a.jsx(Pe.HelperText,{id:M,appearance:"negative",children:p})]}),be(de)]})});exports.DateField=ss;
@@ -1,16 +1,16 @@
1
1
  import { jsxs as W, jsx as s } from "react/jsx-runtime";
2
2
  import $e from "clsx";
3
3
  import { forwardRef as He, useRef as u, useMemo as Ke, useCallback as o } from "react";
4
- import { s as t, b as je, c as i, a as g } from "../../../chunks/DateField.Segment.-XomLz51.js";
5
- import { d as qe } from "../../../chunks/input.f81KzcGZ.js";
6
- import { t as We } from "../../../chunks/constants.Cruz2A1w.js";
7
- import { i as Ye } from "../../../chunks/helpers.CiQfGwdc.js";
8
- import { H as _e } from "../../../chunks/form.context.BDYA2JQs.js";
9
- import { LabelProvider as ke } from "../../Form/contexts/label.context.es.js";
10
- import { HelperTextProvider as ze } from "../../Form/contexts/helperText.context.es.js";
11
- import { useIsMounted as Ue } from "../../../utils/hooks/useIsMounted.es.js";
12
- import { mergeRefs as Ge } from "../../../utils/functions.es.js";
13
- import { ErrorBoundary as Je } from "../ErrorBoundary/ErrorBoundary.es.js";
4
+ import { s as t, b as je, c as i, a as g } from "../../chunks/DateField.Segment.Dtgriddw.js";
5
+ import { d as qe } from "../../chunks/input.f81KzcGZ.js";
6
+ import { t as We } from "../../chunks/constants.Cruz2A1w.js";
7
+ import { i as Ye } from "../../chunks/helpers.CiQfGwdc.js";
8
+ import { H as _e } from "../../chunks/form.context.BDYA2JQs.js";
9
+ import { LabelProvider as ke } from "../Form/contexts/label.context.es.js";
10
+ import { HelperTextProvider as ze } from "../Form/contexts/helperText.context.es.js";
11
+ import { useIsMounted as Ue } from "../../utils/hooks/useIsMounted.es.js";
12
+ import { mergeRefs as Ge } from "../../utils/functions.es.js";
13
+ import { ErrorBoundary as Je } from "../_ErrorBoundary/ErrorBoundary.es.js";
14
14
  import { DateFieldSegments as Qe } from "./DateField.Segments.es.js";
15
15
  import { useDevMinMaxWarning as Xe, useDevInvalidValueWarning as Ze } from "./DateField.devWarnings.es.js";
16
16
  import { getDateParts as er, getSegmentOrder as rr, toISODateString as ar, DEFAULT_LOCALE as Y } from "./DateField.utils.es.js";
@@ -33,18 +33,11 @@ export type DateFieldPart = {
33
33
  value: string;
34
34
  };
35
35
  /**
36
- * The DateField `ref` value (DF-16): the field's **root DOM element**
37
- * (`role="group"`) augmented with a `clear()` method. Keeping the ref a real
38
- * element (not a separate handle object) means it works anywhere a DOM node is
39
- * expected — a `Popover` / `FloatingUI` trigger, measuring, `scrollIntoView` —
40
- * while also carrying the field's imperative API.
41
- *
42
- * `focus()` and `blur()` are field-aware overrides of the native element methods:
43
- * `focus()` moves to the first segment; `blur()` exits the field (running the
44
- * same commit / normalize / clamp as a user blur). Both no-op when the field is
45
- * disabled. `clear()` empties every segment and fires `onChange(null)` (only
46
- * when a value was present), and no-ops when disabled or read-only.
47
- * (`selectAll()` is reserved for DF-13.)
36
+ * The DateField `ref`: the field's root element augmented with `clear()`. It
37
+ * stays a real DOM node so it works anywhere one is expected — a `Popover`
38
+ * trigger, measuring, `scrollIntoView` — while `focus()` and `blur()` become
39
+ * field-aware overrides that move to the first segment and exit the field.
40
+ * All three no-op when disabled; `clear()` also no-ops when read-only.
48
41
  */
49
42
  export type DateFieldHandle = HTMLDivElement & {
50
43
  clear(): void;
@@ -105,35 +98,36 @@ export interface DateFieldProps extends DateFieldInputAttributes {
105
98
  */
106
99
  validationRules?: Array<FormValidator>;
107
100
  /**
108
- * Controlled date value; pass `null` to clear
101
+ * Specify the controlled date value of DateField; pass `null` to clear
109
102
  */
110
103
  value?: Nullable<Date>;
111
104
  /**
112
- * Uncontrolled initial date value; ignored when `value` is provided
105
+ * Specify the initial date value of an uncontrolled DateField
113
106
  */
114
107
  defaultValue?: Nullable<Date>;
115
108
  /**
116
- * Fires when the derived `Date | null` value transitions
109
+ * Specify the handler called when the date value changes
117
110
  */
118
111
  onChange?: (value: Nullable<Date>) => void;
119
112
  /**
120
- * Lower bound; on blur, a touched value springs up to it. Use `validationRules` for validation
113
+ * Specify the earliest date; a touched value springs up to it on blur
114
+ * (add a `validationRules` entry to block submit)
121
115
  */
122
116
  minDate?: Date;
123
117
  /**
124
- * Upper bound; on blur, a touched value springs down to it. Use `validationRules` for validation
118
+ * Specify the latest date; a touched value springs down to it on blur
119
+ * (add a `validationRules` entry to block submit)
125
120
  */
126
121
  maxDate?: Date;
127
122
  /**
128
- * Called when a touched value springs to a bound on blur; return a localized
129
- * message announced politely to screen readers. Omit → no announcement
123
+ * Specify a localized message, announced politely to screen readers when a
124
+ * touched value springs to a bound; omit for no announcement
130
125
  */
131
126
  getClampAnnouncement?: (clampedDate: Date) => string;
132
127
  /**
133
- * BCP-47 locale tag driving segment order + separators (e.g. `en-GB` →
134
- * DD/MM/YYYY, `de-DE` → DD.MM.YYYY). A future `DatesProvider` will supply the
135
- * default
136
- * @default en-US
128
+ * Specify the BCP-47 locale tag driving segment order and separators
129
+ * (e.g. `en-GB` → DD/MM/YYYY, `de-DE` → DD.MM.YYYY)
130
+ * @default 'en-US'
137
131
  */
138
132
  locale?: string;
139
133
  }
@@ -146,17 +140,11 @@ export interface DateFieldSegmentProps {
146
140
  type: SegmentType;
147
141
  /** Numeric segment value — used for `aria-valuenow`. `null` when the segment has no committed value. */
148
142
  value: Nullable<number>;
149
- /**
150
- * The lower bound announced as `aria-valuemin` — an intrinsic calendar
151
- * range, NOT the `minDate` prop (day/month: always 1; year: always 1).
152
- * Computed by `DateField.Segments` so the segment itself stays a pure renderer.
153
- */
143
+ /** `aria-valuemin` — the intrinsic calendar floor, not the `minDate` prop. */
154
144
  valueMin: number;
155
145
  /**
156
- * The upper bound announced as `aria-valuemax` — an intrinsic calendar
157
- * range, NOT the `maxDate` prop (day: month-aware, e.g. 28 for Feb
158
- * non-leap; month: 12; year: always 9999).
159
- * Computed by `DateField.Segments` so the segment itself stays a pure renderer.
146
+ * `aria-valuemax` — the intrinsic calendar ceiling, not the `maxDate` prop:
147
+ * month-aware for day (28 for a non-leap February), 12 for month, 9999 for year.
160
148
  */
161
149
  valueMax: number;
162
150
  /** Pre-computed text to render inside the segment (buffer, formatted value, or placeholder). */
@@ -173,27 +161,18 @@ export interface DateFieldSegmentProps {
173
161
  disabled: boolean;
174
162
  readOnly: boolean;
175
163
  /**
176
- * Drives `aria-required` on the segment. It lives here, not on the field root:
177
- * `aria-required` is role-specific and `role="group"` doesn't support it, while
178
- * both segment roles (`spinbutton` / `textbox`) do.
164
+ * Drives `aria-required`, which lives on the segments rather than the field
165
+ * root: it is role-specific, and `group` does not support it while
166
+ * `spinbutton` and `textbox` do.
179
167
  */
180
168
  required: boolean;
181
169
  /** Fires when the segment gains focus (Tab, click, or programmatic). */
182
170
  onFocus: () => void;
183
171
  /** Fires when focus leaves the segment; `relatedTarget` drives field-exit detection. */
184
172
  onBlur: (event: FocusEvent<HTMLSpanElement>) => void;
185
- /**
186
- * Single-character input callback. DF-2 single-digit typing path. The
187
- * orchestrator routes this into `appendDigit` and (on advance) `focusNext`.
188
- * Multi-character input (paste, IME composition commit) is ignored here —
189
- * DF-13 will add a paste-aware branch for whole-value parsing.
190
- */
173
+ /** Fires per typed character; multi-character input (paste, IME commit) is ignored. */
191
174
  onInput: (type: SegmentType, char: string) => void;
192
- /**
193
- * Fires on segment keydown. The orchestrator routes it into
194
- * `useDateFieldKeyboard` (DF-3: ArrowLeft/Right segment nav, RTL-aware;
195
- * DF-4/DF-5 extend with increment/clear).
196
- */
175
+ /** Fires on segment keydown; the orchestrator routes it into `useDateFieldKeyboard`. */
197
176
  onKeyDown: (type: SegmentType, event: KeyboardEvent<HTMLSpanElement>) => void;
198
177
  segmentRef: (element: HTMLSpanElement | null) => void;
199
178
  }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../chunks/constants.CgMu0_1M.js");const A=require("../../chunks/helpers.BIckGIbP.js"),d=require("./DateField.validation.cjs.js"),l="en-US",N=new Intl.DateTimeFormat("en-US",{month:"long"}),w=e=>N.format(new Date(2e3,e-1,1)),u=31,i=12,m=1,f=9999,M=(e,t,n)=>Math.min(n,Math.max(t,e)),T=(e,t)=>((e-1)%t+t)%t+1,F=2024,P=(e,t)=>t==null?31:new Date(e??F,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:i;if(t==null){if(e==="year")return r.today.year;const E=e==="day"?u:i;return n>0?1:E}if(e==="year")return M(t+n,m,f);const a=e==="day"?u:i;return T(t+n,a)},L={day:"",month:"",year:""},h=e=>{const{day:t,month:n,year:r}=e;if(t==null||n==null||r==null)return null;const a=new Date(r,n-1,t);return a.setFullYear(r),Number.isNaN(a.getTime())||a.getFullYear()!==r||a.getMonth()!==n-1||a.getDate()!==t?null:a},Y=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.getTime()===t.getTime(),s=A.dateToDayKey,O=e=>o(e)?s(e):null,V=(e,t,n)=>{const r=s(e);return!(o(t)&&r<s(t)||o(n)&&r>s(n))},_=(e,t)=>o(e)&&o(t)&&s(e)>s(t),C=(e,t,n)=>{if(_(t,n))return e;const r=s(e);return o(t)&&r<s(t)?new Date(t.getFullYear(),t.getMonth(),t.getDate()):o(n)&&r>s(n)?new Date(n.getFullYear(),n.getMonth(),n.getDate()):e},X=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}`},p=e=>e.type==="literal",D=e=>e.filter(t=>!p(t)).map(t=>t.type),b=new Date(2020,0,2),G=new Set([8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),H=e=>[...e].filter(t=>!G.has(t.codePointAt(0)??-1)).join(""),K=new Set(["day","month","year","literal"]),y=3,S=e=>{try{const t=new Intl.DateTimeFormat(e,{year:"numeric",month:"2-digit",day:"2-digit",calendar:"gregory"}).formatToParts(b).filter(r=>K.has(r.type)).map(r=>({type:r.type,value:r.type==="literal"?H(r.value):""})),n=D(t);return n.length===y&&new Set(n).size===y?t:null}catch{return null}},g=new Map,$=e=>{try{return new Intl.Locale(e).toString()}catch{return e.toLowerCase()}},k=e=>{try{return Intl.DateTimeFormat.supportedLocalesOf([e]).length>0}catch{return!1}},U=e=>{const t=$(e),n=g.get(t);if(n)return n;const r=k(e);!r&&process.env.NODE_ENV!=="production"&&console.warn(`DateField: locale "${e}" is not supported; falling back to ${l}.`);const a=(r?S(e):null)??S(l);if(!a)throw new Error(`DateField: Intl cannot resolve ${l} date parts`);return g.set(t,a),a},j=()=>g.clear(),q=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")}:L,c=(e,t)=>{if(t===""||e==="year"&&t.length<d.SEGMENT_MAX_LENGTH.year)return null;const n=parseInt(t,10);return Number.isNaN(n)||n===0?null:n},v=e=>h({day:c("day",e.day),month:c("month",e.month),year:c("year",e.year)}),z=(e,t)=>t===""?"":t.padStart(d.SEGMENT_MAX_LENGTH[e],"0"),B=(e,t,n)=>t===""?{displayValue:n,isPlaceholder:!0}:{displayValue:t.padStart(d.SEGMENT_MAX_LENGTH[e],"0"),isPlaceholder:!1},W=e=>{const t=window.getSelection();if(!t)return;const n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)},J=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.DEFAULT_LOCALE=l;exports.MONTH_MAX=i;exports.YEAR_MAX=f;exports.YEAR_MIN=m;exports.__clearDatePartsCache=j;exports.adjustSegmentValue=I;exports.clamp=M;exports.clampDateToRange=C;exports.clearSelectionWithin=J;exports.dateKeyOrNull=O;exports.deriveValue=h;exports.deriveValueFromText=v;exports.getDateParts=U;exports.getDaysInMonth=P;exports.getMonthName=w;exports.getSegmentDisplay=B;exports.getSegmentOrder=D;exports.isDateInRange=V;exports.isLiteralPart=p;exports.isMinMaxMisconfigured=_;exports.isSameDateValue=Y;exports.isValidDate=o;exports.normalizeSegmentText=z;exports.segmentNumber=c;exports.segmentTextFromValue=q;exports.selectElementContents=W;exports.toISODateString=X;exports.todayParts=R;exports.wrapInRange=T;
@@ -18,9 +18,8 @@ export declare const DAY_SPIN_MAX = 31;
18
18
  /** Absolute maximum for month (1-based). */
19
19
  export declare const MONTH_MAX = 12;
20
20
  /**
21
- * Absolute floor/ceiling for the free-spinning year segment. `minDate`/
22
- * `maxDate` no longer bound the year directly (DF-10: the whole date clamps
23
- * to those bounds on blur instead — see `commitOnBlur`).
21
+ * Absolute floor/ceiling for the free-spinning year segment. `minDate`/`maxDate`
22
+ * don't bound the year directly — the whole date clamps to them on blur instead.
24
23
  */
25
24
  export declare const YEAR_MIN = 1;
26
25
  export declare const YEAR_MAX = 9999;
@@ -40,10 +39,7 @@ export declare const wrapInRange: (n: number, max: number) => number;
40
39
  * so February correctly reports 29 days (leap-safe fallback).
41
40
  */
42
41
  export declare const getDaysInMonth: (year: Nullable<number>, month: Nullable<number>) => number;
43
- /**
44
- * Returns today's date parts as a plain object.
45
- * Extracted so callers in the value hook and DF-8 can share the same helper.
46
- */
42
+ /** Returns today's date parts as a plain object. */
47
43
  export declare const todayParts: () => {
48
44
  day: number;
49
45
  month: number;
@@ -70,20 +66,12 @@ export interface AdjustSegmentContext {
70
66
  * Computes the next numeric value for a date segment after an increment,
71
67
  * decrement, or boundary jump.
72
68
  *
73
- * Day and month wrap modularly within their absolute ranges (day:
74
- * `[1, DAY_SPIN_MAX]`; month: `[1, MONTH_MAX]`); out-of-range dates (e.g. Feb
75
- * 31) are flagged by the validity layer, not clamped here. Year clamps (no
76
- * wrap) within `[YEAR_MIN, YEAR_MAX]` and spins free of `minDate`/`maxDate`
77
- * (DF-10: those clamp the whole date on blur instead — see `commitOnBlur`);
78
- * year `'min'`/`'max'` (Home/End) are a no-op (`null`). An empty segment seeds
79
- * on the first numeric press: day/month to a direction-based first/last valid
80
- * value (positive amount → `1`, negative → `DAY_SPIN_MAX`/`MONTH_MAX`;
81
- * EPTOOLS-2766), year to `ctx.today.year`.
82
- *
83
- * @param type - Segment kind (`'day'`, `'month'`, or `'year'`).
84
- * @param current - Current numeric value of the segment, or `null` when empty.
85
- * @param amount - Numeric delta (e.g. ±1, ±5) or `'min'`/`'max'` for Home/End.
86
- * @param ctx - Pure context: days-in-month and today's date parts.
69
+ * Day and month wrap modularly within their absolute ranges; an impossible
70
+ * combination such as Feb 31 is left for the validity layer rather than clamped
71
+ * here. The year clamps without wrapping and spins free of `minDate`/`maxDate`,
72
+ * which bound the whole date on blur instead, so year `'min'`/`'max'` returns
73
+ * `null`. An empty segment seeds on the first press: day and month follow the
74
+ * direction of travel, the year starts at today.
87
75
  */
88
76
  export declare const adjustSegmentValue: (type: SegmentType, current: Nullable<number>, amount: SegmentAdjustment, ctx: AdjustSegmentContext) => Nullable<number>;
89
77
  export declare const deriveValue: (segments: SegmentValues) => Nullable<Date>;
@@ -126,7 +114,7 @@ export declare const isLiteralPart: (part: DateFieldPart) => part is DateFieldPa
126
114
  /** Ordered segment types from a parts array (literals stripped). */
127
115
  export declare const getSegmentOrder: (parts: ReadonlyArray<DateFieldPart>) => ReadonlyArray<SegmentType>;
128
116
  /**
129
- * Locale-derived segment order + separators (DF-8), memoized per locale. Falls
117
+ * Locale-derived segment order and separators, memoized per locale. Falls
130
118
  * back to {@link DEFAULT_LOCALE} for any locale Intl can't resolve to the three
131
119
  * date segments. Resolved lazily on first use, so a broken Intl (which can't
132
120
  * render the field anyway — `getMonthName` needs it too) surfaces at render,
@@ -1,5 +1,5 @@
1
- import "../../../chunks/constants.Cruz2A1w.js";
2
- import { a as S } from "../../../chunks/helpers.CiQfGwdc.js";
1
+ import "../../chunks/constants.Cruz2A1w.js";
2
+ import { a as S } from "../../chunks/helpers.CiQfGwdc.js";
3
3
  import { SEGMENT_MAX_LENGTH as g } from "./DateField.validation.es.js";
4
4
  const l = "en-US", h = new Intl.DateTimeFormat("en-US", { month: "long" }), $ = (t) => h.format(new Date(2e3, t - 1, 1)), d = 31, c = 12, p = 1, T = 9999, M = (t, e, n) => Math.min(n, Math.max(e, t)), A = (t, e) => ((t - 1) % e + e) % e + 1, E = 2024, k = (t, e) => e == null ? 31 : new Date(t ?? E, e, 0).getDate(), X = () => {
5
5
  const t = /* @__PURE__ */ new Date();
@@ -82,9 +82,7 @@ const l = "en-US", h = new Intl.DateTimeFormat("en-US", { month: "long" }), $ =
82
82
  );
83
83
  const a = (r ? f(t) : null) ?? f(l);
84
84
  if (!a)
85
- throw new Error(
86
- `DateField: Intl cannot resolve ${l} date parts`
87
- );
85
+ throw new Error(`DateField: Intl cannot resolve ${l} date parts`);
88
86
  return u.set(e, a), a;
89
87
  }, W = () => u.clear(), q = (t) => s(t) ? {
90
88
  day: String(t.getDate()).padStart(2, "0"),
@@ -17,8 +17,8 @@ export interface TryAppendDigitResult {
17
17
  *
18
18
  * - Day uses a fixed max of 31; month-dependent day max is intentionally
19
19
  * deferred — invalid combinations surface as cross-segment errors.
20
- * - Year accepts any 4-digit value 0000-9999; min/max range tightening lands
21
- * in DF-10 via dedicated `minDate` / `maxDate` props.
20
+ * - Year accepts any 4-digit value 0000-9999; `minDate`/`maxDate` narrow the
21
+ * date as a whole on blur, not the digits accepted here.
22
22
  */
23
23
  export declare const tryAppendDigit: (type: SegmentType, buffer: string, digit: string) => TryAppendDigitResult;
24
24
  /** Re-export so `formatSegment` and `tryAppendDigit` share the same max-length
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),j=require("./DateField.utils.cjs.js");function w({disabled:l,fieldRef:a,segmentRefs:v,partsOrder:b,onSegmentFocusChange:D,onFieldBlur:x}){const[n,o]=e.useState(null),i=b[0],y=e.useRef(n);y.current=n;const r=e.useRef(D),d=e.useRef(x);e.useEffect(()=>{r.current=D,d.current=x},[D,x]);const T=e.useRef(void 0);e.useEffect(()=>{if(n===null||n==="all")return;const t=v.current.get(n);t&&(document.activeElement!==t&&t.focus(T.current),T.current=void 0)},[n,v]);const E=e.useCallback((t,c)=>{var u;l||(T.current=c,o(t),(u=r.current)==null||u.call(r,t))},[l]),_=e.useCallback(t=>{var c;l||t.target===a.current&&(o(i),(c=r.current)==null||c.call(r,i))},[l,a,i]),q=e.useCallback(t=>{var u,s,f,p;if((u=a.current)!=null&&u.contains(t.relatedTarget))return;const c=(f=(s=t.target)==null?void 0:s.getAttribute)==null?void 0:f.call(s,"data-segment");c&&c!==y.current||(o(null),(p=d.current)==null||p.call(d),j.clearSelectionWithin(a.current))},[a]),I=e.useCallback(t=>{var u;if(l){t.preventDefault();return}t.target.closest("[data-segment]")||(t.preventDefault(),o(i),(u=r.current)==null||u.call(r,i))},[l,i]),k=e.useCallback((t,c)=>{var f;const u=b.indexOf(t);if(u===-1)return;const s=b[u+c];s!=null&&(o(s),(f=r.current)==null||f.call(r,s))},[b]),M=e.useCallback(t=>{k(t,1)},[k]),P=e.useCallback(t=>{k(t,-1)},[k]);return{focusedSegment:n,fieldTabIndex:l?-1:n===null?0:-1,handleSegmentFocus:E,handleFieldFocus:_,handleFieldBlur:q,handleFieldMouseDown:I,focusNext:M,focusPrevious:P}}exports.useDateFieldFocus=w;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("clsx"),T=require("react"),u=require("../../chunks/form.context.CkC0TwMb.js");require("../Form/contexts/label.context.cjs.js");require("../Form/contexts/helperText.context.cjs.js");const s=require("../Form/hooks/useAccessibleId.hook.cjs.js");require("../../chunks/constants.CgMu0_1M.js");require("react/jsx-runtime");function L({name:i,disabled:b=!1,readOnly:q=!1,required:y=!1,defaultValue:I,error:e,hasHelperText:p,hasLabel:h,validationRules:F=[],ariaDescribedBy:f,ariaLabelledBy:m}){const{showErrors:v,isInvalid:x,errorShown:g,disabled:B,readOnly:_,required:A}=u.useFormField({name:i,validationRules:F,disabledProp:b,readOnlyProp:q,requiredProp:y}),{ctxInitialValues:D}=T.useContext(u.FormContext),{id:r}=s.useAccessibleId(),{id:d}=s.useAccessibleId(),{id:l}=s.useAccessibleId(),{id:o}=s.useAccessibleId(),t=!!(e!=null&&e.length),P=!!e||x,O=I??D[i],a=n(p&&d,t&&r,g&&l,f),c=n(h&&o,m);return{disabled:B,readOnly:_,required:A,invalid:P,errorMessageProvided:t,defaultValue:O,errorId:r,helperTextId:d,validationErrorsId:l,labelId:o,ariaDescribedBy:a.length>0?a:void 0,ariaLabelledBy:c.length>0?c:void 0,showErrors:v}}exports.useDateFieldForm=L;
@@ -1,6 +1,6 @@
1
1
  import { FormValidator } from '@viasat/beam-shared/components/form';
2
2
  import { Nullable } from '@viasat/beam-shared/utils/types';
3
- import { useFormField } from '../../Form/contexts';
3
+ import { useFormField } from '../Form/contexts';
4
4
  export interface UseDateFieldFormArgs {
5
5
  name?: string;
6
6
  disabled?: boolean;
@@ -1,10 +1,10 @@
1
1
  import c from "clsx";
2
2
  import { useContext as V } from "react";
3
- import { b as w, F as C } from "../../../chunks/form.context.BDYA2JQs.js";
4
- import "../../Form/contexts/label.context.es.js";
5
- import "../../Form/contexts/helperText.context.es.js";
6
- import { useAccessibleId as o } from "../../Form/hooks/useAccessibleId.hook.es.js";
7
- import "../../../chunks/constants.Cruz2A1w.js";
3
+ import { b as w, F as C } from "../../chunks/form.context.BDYA2JQs.js";
4
+ import "../Form/contexts/label.context.es.js";
5
+ import "../Form/contexts/helperText.context.es.js";
6
+ import { useAccessibleId as o } from "../Form/hooks/useAccessibleId.hook.es.js";
7
+ import "../../chunks/constants.Cruz2A1w.js";
8
8
  import "react/jsx-runtime";
9
9
  function G({
10
10
  name: d,
@@ -33,11 +33,8 @@ export interface UseDateFieldKeyboardArgs {
33
33
  /** Move focus to the previous segment in the locale-derived `partsOrder`. */
34
34
  focusPrevious: (segment: SegmentType) => void;
35
35
  /**
36
- * Increment, decrement, or jump a segment to its min/max boundary.
37
- * Provided by `useDateFieldValue`. Numeric `amount` wraps day/month and
38
- * clamps year; `'min'`/`'max'` map to Home/End respectively. Returns `false`
39
- * on a no-op (year `'min'`/`'max'` until DF-10 adds year bounds) so the
40
- * dispatcher leaves the key to native page scroll.
36
+ * Steps a segment, or jumps it to a boundary for Home/End. Returns `false` on
37
+ * a no-op so the dispatcher leaves the key to native page scroll.
41
38
  */
42
39
  adjustSegment: (type: SegmentType, amount: SegmentAdjustment) => boolean;
43
40
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),t=require("./DateField.utils.cjs.js"),A=require("./DateField.validation.cjs.js");function K({value:a,defaultValue:j,onChange:R,minDate:V,maxDate:y,getClampAnnouncement:F}){const k=r.useRef(a!==void 0),h=k.current,[d,S]=r.useState(()=>t.segmentTextFromValue(h?a??null:j??null)),[D,E]=r.useState(!1),[C,M]=r.useState(""),s=r.useRef(d),f=r.useRef(new Set),g=r.useRef(!1),l=r.useRef(null),v={day:t.segmentNumber("day",d.day),month:t.segmentNumber("month",d.month),year:t.segmentNumber("year",d.year)},p=t.deriveValue(v),N=r.useRef(p),_=r.useRef(h?a??null:null),b=r.useRef(R),x=r.useRef(F);r.useEffect(()=>{b.current=R,x.current=F},[R,F]),r.useEffect(()=>()=>{l.current!=null&&cancelAnimationFrame(l.current)},[]),r.useEffect(()=>{if(!k.current||g.current||t.isSameDateValue(a??null,_.current))return;_.current=a??null;const e=t.segmentTextFromValue(a??null);s.current=e,S(e),N.current=t.deriveValueFromText(e)},[a]);const o=r.useCallback(e=>{var n;const c=t.deriveValueFromText(e);t.isSameDateValue(c,N.current)||(N.current=c,(n=b.current)==null||n.call(b,c))},[]),i=r.useCallback((e,c,{replace:n})=>{const u={...s.current,[e]:c};s.current=u,S(u),E(!0),o(u),n?f.current.add(e):f.current.delete(e)},[o]),q=r.useCallback((e,c)=>{const n=f.current.has(e)?"":s.current[e],u=A.tryAppendDigit(e,n,c);return u.rejected?{advanced:!1,rejected:!0}:(i(e,u.newBuffer,{replace:u.shouldAdvance}),{advanced:u.shouldAdvance,rejected:!1})},[i]),z=r.useCallback((e,c)=>{const n=s.current,u=t.segmentNumber(e,n[e]),T=t.getDaysInMonth(t.segmentNumber("year",n.year),t.segmentNumber("month",n.month)),m=t.adjustSegmentValue(e,u,c,{daysInMonth:T,today:t.todayParts()});return m==null?!1:(g.current=!0,i(e,String(m).padStart(A.SEGMENT_MAX_LENGTH[e],"0"),{replace:!0}),!0)},[i]),I=r.useCallback(e=>s.current[e]===""?{wasEmpty:!0}:(g.current=!0,i(e,"",{replace:!1}),{wasEmpty:!1}),[i]),O=r.useCallback(()=>{const e=t.segmentTextFromValue(null);s.current=e,S(e),E(!0),f.current.clear(),_.current=null,o(e)},[o]),B=r.useCallback(e=>{g.current=!0,f.current.add(e)},[]),G=r.useCallback(()=>{var T;g.current=!1;const e=s.current,c={day:t.normalizeSegmentText("day",e.day),month:t.normalizeSegmentText("month",e.month),year:t.normalizeSegmentText("year",e.year)},n=t.deriveValueFromText(c);let u=c;if(n!=null&&D&&!t.isDateInRange(n,V,y)){const m=t.clampDateToRange(n,V,y);if(u=t.segmentTextFromValue(m),!t.isSameDateValue(m,n)){const w=((T=x.current)==null?void 0:T.call(x,m))??"";w&&(l.current!=null&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(()=>{l.current=null,M(w)}))}}s.current=u,S(u),E(!0),o(u)},[o,D,t.dateKeyOrNull(V),t.dateKeyOrNull(y)]);return{segmentText:d,segmentValues:v,currentValue:p,isControlled:h,wasTouched:D,appendDigit:q,adjustSegment:z,clearSegment:I,clearAll:O,beginSegmentEdit:B,commitOnBlur:G,clampAnnouncement:C}}exports.useDateFieldValue=K;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),t=require("./DateField.utils.cjs.js"),C=require("./DateField.validation.cjs.js");function K({value:a,defaultValue:p,onChange:R,minDate:V,maxDate:y,getClampAnnouncement:F}){const v=r.useRef(a!==void 0),h=v.current,[d,S]=r.useState(()=>t.segmentTextFromValue(h?a??null:p??null)),[D,E]=r.useState(!1),[w,M]=r.useState(""),s=r.useRef(d),f=r.useRef(new Set),g=r.useRef(!1),l=r.useRef(null),_={day:t.segmentNumber("day",d.day),month:t.segmentNumber("month",d.month),year:t.segmentNumber("year",d.year)},A=t.deriveValue(_),N=r.useRef(A),k=r.useRef(h?a??null:null),b=r.useRef(R),x=r.useRef(F);r.useEffect(()=>{b.current=R,x.current=F},[R,F]),r.useEffect(()=>()=>{l.current!=null&&cancelAnimationFrame(l.current)},[]),r.useEffect(()=>{if(!v.current||g.current||t.isSameDateValue(a??null,k.current))return;k.current=a??null;const e=t.segmentTextFromValue(a??null);s.current=e,S(e),N.current=t.deriveValueFromText(e)},[a]);const o=r.useCallback(e=>{var n;const c=t.deriveValueFromText(e);t.isSameDateValue(c,N.current)||(N.current=c,(n=b.current)==null||n.call(b,c))},[]),i=r.useCallback((e,c,{replace:n})=>{const u={...s.current,[e]:c};s.current=u,S(u),E(!0),o(u),n?f.current.add(e):f.current.delete(e)},[o]),q=r.useCallback((e,c)=>{const n=f.current.has(e)?"":s.current[e],u=C.tryAppendDigit(e,n,c);return u.rejected?{advanced:!1,rejected:!0}:(i(e,u.newBuffer,{replace:u.shouldAdvance}),{advanced:u.shouldAdvance,rejected:!1})},[i]),z=r.useCallback((e,c)=>{const n=s.current,u=t.segmentNumber(e,n[e]),T=t.getDaysInMonth(t.segmentNumber("year",n.year),t.segmentNumber("month",n.month)),m=t.adjustSegmentValue(e,u,c,{daysInMonth:T,today:t.todayParts()});return m==null?!1:(g.current=!0,i(e,String(m).padStart(C.SEGMENT_MAX_LENGTH[e],"0"),{replace:!0}),!0)},[i]),I=r.useCallback(e=>s.current[e]===""?{wasEmpty:!0}:(g.current=!0,i(e,"",{replace:!1}),{wasEmpty:!1}),[i]),O=r.useCallback(()=>{const e=t.segmentTextFromValue(null);s.current=e,S(e),E(!0),f.current.clear(),k.current=null,o(e)},[o]),B=r.useCallback(e=>{g.current=!0,f.current.add(e)},[]),G=r.useCallback(()=>{var T;g.current=!1;const e=s.current,c={day:t.normalizeSegmentText("day",e.day),month:t.normalizeSegmentText("month",e.month),year:t.normalizeSegmentText("year",e.year)},n=t.deriveValueFromText(c);let u=c;if(n!=null&&D&&!t.isDateInRange(n,V,y)){const m=t.clampDateToRange(n,V,y);if(u=t.segmentTextFromValue(m),!t.isSameDateValue(m,n)){const j=((T=x.current)==null?void 0:T.call(x,m))??"";j&&(l.current!=null&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(()=>{l.current=null,M(j)}))}}s.current=u,S(u),E(!0),o(u)},[o,D,t.dateKeyOrNull(V),t.dateKeyOrNull(y)]);return{segmentText:d,segmentValues:_,currentValue:A,isControlled:h,wasTouched:D,appendDigit:q,adjustSegment:z,clearSegment:I,clearAll:O,beginSegmentEdit:B,commitOnBlur:G,clampAnnouncement:w}}exports.useDateFieldValue=K;