@tedi-design-system/react 18.2.0-rc.4 → 19.0.0-rc.10

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 (103) hide show
  1. package/README.md +27 -1
  2. package/_virtual/index.es13.js +2 -2
  3. package/_virtual/index.es14.js +2 -2
  4. package/bundle-stats.html +1 -1
  5. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  6. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  8. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  9. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  10. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  11. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  12. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  13. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  14. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  15. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  16. package/external/prop-types/external/react-is/index.es.js +1 -1
  17. package/external/react-is/index.cjs.js +1 -1
  18. package/external/react-is/index.es.js +1 -1
  19. package/external/toposort/index.cjs.js +1 -1
  20. package/external/toposort/index.es.js +1 -1
  21. package/fonts/material-symbols-outlined.woff2 +0 -0
  22. package/fonts/material-symbols-rounded.woff2 +0 -0
  23. package/fonts/material-symbols-sharp.woff2 +0 -0
  24. package/index.css +1 -1
  25. package/package.json +6 -4
  26. package/src/tedi/components/content/calendar/calendar.cjs.js +1 -1
  27. package/src/tedi/components/content/calendar/calendar.d.ts +12 -0
  28. package/src/tedi/components/content/calendar/calendar.es.js +39 -35
  29. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.cjs.js +1 -1
  30. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.d.ts +13 -1
  31. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.es.js +40 -35
  32. package/src/tedi/components/content/table/table.cjs.js +1 -1
  33. package/src/tedi/components/content/table/table.d.ts +6 -0
  34. package/src/tedi/components/content/table/table.es.js +431 -413
  35. package/src/tedi/components/content/table/table.module.scss.cjs.js +1 -1
  36. package/src/tedi/components/content/table/table.module.scss.es.js +3 -0
  37. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  38. package/src/tedi/components/form/date-field/date-field.d.ts +10 -0
  39. package/src/tedi/components/form/date-field/date-field.es.js +176 -170
  40. package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.cjs.js +1 -1
  41. package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.d.ts +4 -0
  42. package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.es.js +47 -43
  43. package/src/tedi/components/form/date-time-field/date-time-field.cjs.js +1 -1
  44. package/src/tedi/components/form/date-time-field/date-time-field.d.ts +10 -0
  45. package/src/tedi/components/form/date-time-field/date-time-field.es.js +92 -88
  46. package/src/tedi/components/form/file-upload/file-upload.cjs.js +1 -1
  47. package/src/tedi/components/form/file-upload/file-upload.es.js +11 -11
  48. package/src/tedi/components/form/select/components/select-multi-option.cjs.js +1 -1
  49. package/src/tedi/components/form/select/components/select-multi-option.es.js +24 -23
  50. package/src/tedi/components/form/select/components/select-single-option.cjs.js +1 -1
  51. package/src/tedi/components/form/select/components/select-single-option.es.js +11 -10
  52. package/src/tedi/components/form/select/select.module.scss.cjs.js +1 -1
  53. package/src/tedi/components/form/select/select.module.scss.es.js +2 -1
  54. package/src/tedi/components/form/textarea/textarea.cjs.js +1 -1
  55. package/src/tedi/components/form/textarea/textarea.d.ts +3 -3
  56. package/src/tedi/components/form/textarea/textarea.es.js +12 -12
  57. package/src/tedi/components/misc/ellipsis/ellipsis.cjs.js +1 -1
  58. package/src/tedi/components/misc/ellipsis/ellipsis.es.js +20 -19
  59. package/src/tedi/components/misc/timeline/components/timeline-description/timeline-description.cjs.js +1 -0
  60. package/src/tedi/components/misc/timeline/components/timeline-description/timeline-description.d.ts +23 -0
  61. package/src/tedi/components/misc/timeline/components/timeline-description/timeline-description.es.js +12 -0
  62. package/src/tedi/components/misc/timeline/components/timeline-item/timeline-item.cjs.js +1 -0
  63. package/src/tedi/components/misc/timeline/components/timeline-item/timeline-item.d.ts +34 -0
  64. package/src/tedi/components/misc/timeline/components/timeline-item/timeline-item.es.js +63 -0
  65. package/src/tedi/components/misc/timeline/components/timeline-title/timeline-title.cjs.js +1 -0
  66. package/src/tedi/components/misc/timeline/components/timeline-title/timeline-title.d.ts +24 -0
  67. package/src/tedi/components/misc/timeline/components/timeline-title/timeline-title.es.js +8 -0
  68. package/src/tedi/components/misc/timeline/index.d.ts +4 -0
  69. package/src/tedi/components/misc/timeline/timeline.cjs.js +1 -0
  70. package/src/tedi/components/misc/timeline/timeline.d.ts +48 -0
  71. package/src/tedi/components/misc/timeline/timeline.es.js +38 -0
  72. package/src/tedi/components/misc/timeline/timeline.module.scss.cjs.js +1 -0
  73. package/src/tedi/components/misc/timeline/timeline.module.scss.es.js +18 -0
  74. package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.cjs.js +1 -1
  75. package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.es.js +35 -32
  76. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.cjs.js +1 -1
  77. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.d.ts +1 -1
  78. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.es.js +33 -33
  79. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-item/table-of-contents-item.d.ts +0 -10
  80. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-list/table-of-contents-list.cjs.js +1 -1
  81. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-list/table-of-contents-list.es.js +27 -18
  82. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.cjs.js +1 -1
  83. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.es.js +21 -35
  84. package/src/tedi/components/navigation/table-of-contents/table-of-contents.cjs.js +1 -1
  85. package/src/tedi/components/navigation/table-of-contents/table-of-contents.d.ts +17 -10
  86. package/src/tedi/components/navigation/table-of-contents/table-of-contents.es.js +51 -52
  87. package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.cjs.js +1 -1
  88. package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.es.js +0 -1
  89. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.cjs.js +1 -1
  90. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.d.ts +8 -4
  91. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.es.js +85 -54
  92. package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
  93. package/src/tedi/components/overlays/overlay/overlay-content.d.ts +6 -1
  94. package/src/tedi/components/overlays/overlay/overlay-content.es.js +28 -27
  95. package/src/tedi/components/overlays/popover/popover-content.cjs.js +1 -1
  96. package/src/tedi/components/overlays/popover/popover-content.d.ts +7 -0
  97. package/src/tedi/components/overlays/popover/popover-content.es.js +47 -36
  98. package/src/tedi/index.d.ts +1 -0
  99. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  100. package/src/tedi/providers/label-provider/labels-map.d.ts +0 -21
  101. package/src/tedi/providers/label-provider/labels-map.es.js +2 -23
  102. package/tedi.cjs.js +1 -1
  103. package/tedi.es.js +90 -82
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-table":"tedi-table-f4707778","tedi-table__toolbar":"tedi-table__toolbar-7ccf8a04","tedi-table__scroll":"tedi-table__scroll-a9c9ce5f","tedi-table__table":"tedi-table__table-0c156cdb","tedi-table__caption":"tedi-table__caption-378edbc2","tedi-table__head":"tedi-table__head-549b3a97","tedi-table__header-cell":"tedi-table__header-cell-31f2955e","tedi-table__row":"tedi-table__row-bcd5867d","tedi-table__cell":"tedi-table__cell-95d3876c","tedi-table__cell--align-left":"tedi-table__cell--align-left-2fbf07e9","tedi-table__cell--align-center":"tedi-table__cell--align-center-7aae1b56","tedi-table__cell--align-right":"tedi-table__cell--align-right-ec62c9b8","tedi-table__cell--valign-top":"tedi-table__cell--valign-top-af74bcaa","tedi-table__cell--valign-middle":"tedi-table__cell--valign-middle-86b5d5c3","tedi-table__cell--valign-bottom":"tedi-table__cell--valign-bottom-17cd68db","tedi-table__cell--placeholder":"tedi-table__cell--placeholder-c015ed76","tedi-table--small":"tedi-table--small-63dad8b3","tedi-table__foot":"tedi-table__foot-81a5fd8a","tedi-table__cell--footer":"tedi-table__cell--footer-6db3119e","tedi-table__row--selected":"tedi-table__row--selected-4e592b36","tedi-table__row--dragging":"tedi-table__row--dragging-a5ef9418","tedi-table__row--drag-over":"tedi-table__row--drag-over-6d93e8b7","tedi-table__row--drag-preview":"tedi-table__row--drag-preview-47e2dd99","tedi-table__header-cell--dragging":"tedi-table__header-cell--dragging-06a46b18","tedi-table__header-cell--drag-over":"tedi-table__header-cell--drag-over-f252af8e","tedi-table__cell--drag-over":"tedi-table__cell--drag-over-cbc1dbfb","tedi-table__header-cell--drag-preview":"tedi-table__header-cell--drag-preview-9bb286ec","tedi-table__row--picked-up":"tedi-table__row--picked-up-d3b1dea5","tedi-table__header-cell--picked-up":"tedi-table__header-cell--picked-up-15995295","tedi-table__drag-handle--picked-up":"tedi-table__drag-handle--picked-up-f844be33","tedi-table__sr-only":"tedi-table__sr-only-63bcee78","tedi-table__header-cell-inner":"tedi-table__header-cell-inner-56364d8d","tedi-table__cell--drag-handle":"tedi-table__cell--drag-handle-d53d19c1","tedi-table__drag-handle":"tedi-table__drag-handle-9672fabe","tedi-table__row--clickable":"tedi-table__row--clickable-05139b72","tedi-table__row--sub-component":"tedi-table__row--sub-component-effed53b","tedi-table__row--sub-row":"tedi-table__row--sub-row-3d164bb0","tedi-table__cell--sub-component":"tedi-table__cell--sub-component-39f49de2","tedi-table__row--filter":"tedi-table__row--filter-549a00f2","tedi-table--striped":"tedi-table--striped-213db29e","tedi-table__body":"tedi-table__body-622a274c","tedi-table--row-hover":"tedi-table--row-hover-399b73a2","tedi-table__row--active":"tedi-table__row--active-3d6fa5fc","tedi-table--vertical-borders":"tedi-table--vertical-borders-7daec7da","tedi-table--borderless":"tedi-table--borderless-32051e6f","tedi-table--has-pagination":"tedi-table--has-pagination-1eb2a663","tedi-table__pagination":"tedi-table__pagination-2bb8beb7","tedi-table--sticky-first-column":"tedi-table--sticky-first-column-0b93c772","tedi-table--sticky-header":"tedi-table--sticky-header-d8ee7437"};exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-table":"tedi-table-f4707778","tedi-table__toolbar":"tedi-table__toolbar-7ccf8a04","tedi-table__scroll":"tedi-table__scroll-a9c9ce5f","tedi-table__table":"tedi-table__table-0c156cdb","tedi-table__caption":"tedi-table__caption-378edbc2","tedi-table__head":"tedi-table__head-549b3a97","tedi-table__header-cell":"tedi-table__header-cell-31f2955e","tedi-table__row":"tedi-table__row-bcd5867d","tedi-table__cell":"tedi-table__cell-95d3876c","tedi-table__cell--align-left":"tedi-table__cell--align-left-2fbf07e9","tedi-table__cell--align-center":"tedi-table__cell--align-center-7aae1b56","tedi-table__cell--align-right":"tedi-table__cell--align-right-ec62c9b8","tedi-table__cell--valign-top":"tedi-table__cell--valign-top-af74bcaa","tedi-table__cell--valign-middle":"tedi-table__cell--valign-middle-86b5d5c3","tedi-table__cell--valign-bottom":"tedi-table__cell--valign-bottom-17cd68db","tedi-table__cell--placeholder":"tedi-table__cell--placeholder-c015ed76","tedi-table--small":"tedi-table--small-63dad8b3","tedi-table__foot":"tedi-table__foot-81a5fd8a","tedi-table__cell--footer":"tedi-table__cell--footer-6db3119e","tedi-table__row--selected":"tedi-table__row--selected-4e592b36","tedi-table__row--dragging":"tedi-table__row--dragging-a5ef9418","tedi-table__row--drag-over":"tedi-table__row--drag-over-6d93e8b7","tedi-table__row--drag-preview":"tedi-table__row--drag-preview-47e2dd99","tedi-table__header-cell--dragging":"tedi-table__header-cell--dragging-06a46b18","tedi-table__header-cell--drag-over":"tedi-table__header-cell--drag-over-f252af8e","tedi-table__cell--drag-over":"tedi-table__cell--drag-over-cbc1dbfb","tedi-table__header-cell--drag-preview":"tedi-table__header-cell--drag-preview-9bb286ec","tedi-table__row--picked-up":"tedi-table__row--picked-up-d3b1dea5","tedi-table__header-cell--picked-up":"tedi-table__header-cell--picked-up-15995295","tedi-table__drag-handle--picked-up":"tedi-table__drag-handle--picked-up-f844be33","tedi-table__sr-only":"tedi-table__sr-only-63bcee78","tedi-table__header-cell-inner":"tedi-table__header-cell-inner-56364d8d","tedi-table__cell--drag-handle":"tedi-table__cell--drag-handle-d53d19c1","tedi-table__drag-handle":"tedi-table__drag-handle-9672fabe","tedi-table__row--clickable":"tedi-table__row--clickable-05139b72","tedi-table__row--sub-component":"tedi-table__row--sub-component-effed53b","tedi-table__row--sub-row":"tedi-table__row--sub-row-3d164bb0","tedi-table__cell--sub-component":"tedi-table__cell--sub-component-39f49de2","tedi-table__row--filter":"tedi-table__row--filter-549a00f2","tedi-table--striped":"tedi-table--striped-213db29e","tedi-table__body":"tedi-table__body-622a274c","tedi-table--row-hover":"tedi-table--row-hover-399b73a2","tedi-table__row--active":"tedi-table__row--active-3d6fa5fc","tedi-table--vertical-borders":"tedi-table--vertical-borders-7daec7da","tedi-table--borderless":"tedi-table--borderless-32051e6f","tedi-table--has-pagination":"tedi-table--has-pagination-1eb2a663","tedi-table__pagination":"tedi-table__pagination-2bb8beb7","tedi-table--sticky-first-column":"tedi-table--sticky-first-column-0b93c772","tedi-table--sticky-last-column":"tedi-table--sticky-last-column-1e1e93cd","tedi-table--overflow-left":"tedi-table--overflow-left-763eb5b6","tedi-table--overflow-right":"tedi-table--overflow-right-5e21491a","tedi-table--sticky-header":"tedi-table--sticky-header-d8ee7437"};exports.default=e;
@@ -47,6 +47,9 @@ const e = {
47
47
  "tedi-table--has-pagination": "tedi-table--has-pagination-1eb2a663",
48
48
  "tedi-table__pagination": "tedi-table__pagination-2bb8beb7",
49
49
  "tedi-table--sticky-first-column": "tedi-table--sticky-first-column-0b93c772",
50
+ "tedi-table--sticky-last-column": "tedi-table--sticky-last-column-1e1e93cd",
51
+ "tedi-table--overflow-left": "tedi-table--overflow-left-763eb5b6",
52
+ "tedi-table--overflow-right": "tedi-table--overflow-right-5e21491a",
50
53
  "tedi-table--sticky-header": "tedi-table--sticky-header-d8ee7437"
51
54
  };
52
55
  export {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),A=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),I=require("../../../../../external/classnames/index.cjs.js"),a=require("react"),xt=require("../../content/calendar/calendar.cjs.js"),Mt=require("../multi-value-field/multi-value-field.cjs.js"),Ct=require("../textfield/textfield.cjs.js"),D=require("./date-field.module.scss.cjs.js"),v=require("./date-field-helpers.cjs.js"),At=require("./date-picker-modal/date-picker-modal.cjs.js"),Ft=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),kt=require("../../../providers/label-provider/use-labels.cjs.js"),vt=require("../../../../../external/react-day-picker/dist/esm/locale/et.cjs.js"),me=require("../../../helpers/hooks/use-breakpoint.cjs.js"),Pt=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),G=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),wt=require("../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs.js"),je=a.forwardRef((P,w)=>{const{getCurrentBreakpointProps:Se}=Ft.useBreakpointProps(P.defaultServerBreakpoint),{getLabel:z}=kt.useLabels(),{useNativePicker:Le=!1,enableCalendar:h=!0,calendarTrigger:T="button",numberOfMonths:X}=Se(P),{id:pe,mode:l="single",label:he,selected:j,onSelect:i,disabled:N,disabledMatchers:E,placeholder:$e,className:He,formatDate:c,required:S,showOutsideDays:ge=!0,parseDate:Ue,monthYearSelectType:be,dayStatus:ye,tagsDirection:We,showNavigation:De=!0,selectionLevel:O="days",initialView:L,locale:_e=vt.et,localeCode:$="et-EE",initialMonth:H,closeOnSelect:Ye,footer:xe,defaultValue:U,minDate:J,maxDate:K,disablePast:Me,disableFuture:Ce,shouldDisableMonth:Q,shouldDisableYear:Z,readOnly:R,availableDays:Ae,inputProps:n,modal:ee=!1,modalProps:Ge,modalTitle:ze,disabledDateErrorMessage:Xe=z("dateField.disabledDateError"),invalidDateErrorMessage:Je=z("dateField.invalidDateError"),useNativePicker:Nt,enableCalendar:Et,calendarTrigger:Ot,numberOfMonths:Rt,defaultServerBreakpoint:Vt,sm:qt,md:Bt,lg:It,xl:Tt,xxl:jt,...Fe}=P,f=Le&&l==="single",ke=me.default(P.defaultServerBreakpoint),F=me.isBreakpointBelow(ke,"md"),[Ke,g]=a.useState(j??U),[b,V]=a.useState(!1),[te,ve]=a.useState(!1),[Qe,Pe]=a.useState(L??O),[re,_]=a.useState(""),[we,m]=a.useState(!1),[Ne,ae]=a.useState(!1),y=h&&!f&&!R&&(ee===!0||typeof ee=="string"&&me.isBreakpointBelow(ke,ee)),Ee=F&&!y&&typeof X=="number"&&X>1?1:X,{current:u}=a.useRef("selected"in P),s=u?j:Ke,ie=a.useRef(null),Oe=a.useRef(null),Ze=a.useCallback(e=>{ie.current=e,typeof w=="function"?w(e):w&&(w.current=e)},[w]),et=e=>{if(!e)return"";const t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${o}`},tt=f&&s instanceof Date?et(s):"",ne=a.useCallback((e,t)=>e instanceof Date?e:Array.isArray(e)&&e.length>0?[...e].sort((r,o)=>r.getTime()-o.getTime())[0]:e&&typeof e=="object"&&"from"in e&&e.from instanceof Date?e.from:e&&typeof e=="object"&&"to"in e&&e.to instanceof Date?e.to:t??new Date,[]),[rt,se]=a.useState(()=>ne(s,H));a.useEffect(()=>{b||se(ne(s,H))},[s,H,b,ne]),a.useEffect(()=>{b&&Pe(L??O)},[b,O,L]),a.useEffect(()=>{u&&g(j)},[j,u]);const x=a.useMemo(()=>new Intl.DateTimeFormat($,{day:"2-digit",month:"2-digit",year:"numeric"}),[$]),M=a.useCallback(e=>{if(!e)return"";if(e instanceof Date)return x.format(e);if(Array.isArray(e))return e.map(t=>x.format(t)).join(", ");if(e.from){const t=x.format(e.from);return e.to?`${t} – ${x.format(e.to)}`:t}return""},[x]),oe=Ye??l==="single",Re=l==="multiple"&&Array.isArray(s)?s.map((e,t)=>({id:t,label:c?c(e):M(e),date:e})):[],W=a.useMemo(()=>{const e=[];return N&&(Array.isArray(N)?e.push(...N):e.push(N)),E&&(Array.isArray(E)?e.push(...E):e.push(E)),J&&e.push({before:J}),K&&e.push({after:K}),Me&&e.push({before:new Date}),Ce&&e.push({after:new Date}),Q&&e.push(t=>Q(t)),Z&&e.push(t=>Z(t)),e},[N,E,J,K,Me,Ce,Q,Z]),k=a.useCallback(e=>wt.dateMatchModifiers(e,W),[W]),at=(e,t,r,o)=>{const d=l==="range"?v.resolveRangeSelection(e,s,t):e;if(m(!1),u||g(d),i==null||i(d,t,r,o),d){const C=c?c(d):M(d);_(C)}else _("");oe&&V(!1)},it=e=>{if(k(e))return;const t=l==="range"?{from:e,to:void 0}:l==="multiple"?[...Array.isArray(s)?s:[],e]:e;m(!1),u||g(t),i==null||i(t,e,{},{});const r=c?c(t):M(t);_(r),oe&&V(!1)},nt=a.useMemo(()=>{const e=v.getLocaleDateParts(x),t=new RegExp(`^${v.buildDateRegexSource(e)}$`),{fieldOrder:r}=e;return o=>{const d=o.match(t);if(!d)return;const C={};r.forEach((Dt,_t)=>{C[Dt]=Number(d[_t+1])});const{day:ue,month:ce,year:fe}=C;if(ue===void 0||ce===void 0||fe===void 0)return;const B=new Date(fe,ce-1,ue);if(!(isNaN(B.getTime())||B.getFullYear()!==fe||B.getMonth()!==ce-1||B.getDate()!==ue))return B}},[x]),Ve=e=>(Ue??(l==="single"?nt:()=>{}))(e),qe=e=>l==="single"&&e instanceof Date||l==="multiple"&&Array.isArray(e)||l==="range"&&!!e&&!Array.isArray(e)&&"from"in e,st=e=>{if(_(e),ae(!1),e.trim()===""){m(!1),s!==void 0&&(u||g(void 0),i==null||i(void 0,void 0,{},{}));return}const t=Ve(e);if(!qe(t)){m(!1);return}const o=t&&!Array.isArray(t)&&"from"in t?t:null;if(t instanceof Date&&k(t)||Array.isArray(t)&&t.some(C=>C instanceof Date&&k(C))||!!o&&(o.from&&k(o.from)||o.to&&k(o.to))){m(!0);return}m(!1),u||g(t),i==null||i(t,t,{},{}),t instanceof Date&&se(t),oe&&V(!1)},ot=()=>{if(re.trim()===""){ae(!1);return}ae(!qe(Ve(re)))};a.useEffect(()=>{if(u){const e=c?c(s):M(s);_(e)}},[s,u,c,M]),a.useEffect(()=>{if(!u&&U){const e=c?c(U):M(U);_(e)}},[]);const lt=A.useFloating({open:b,onOpenChange:V,placement:T==="input"?"bottom-start":"bottom-end",middleware:[G.offset(v.CALENDAR_POPOVER_OFFSET),G.flip(),G.shift({padding:v.CALENDAR_POPOVER_PADDING}),G.size({padding:v.CALENDAR_POPOVER_PADDING,apply({availableWidth:e,elements:t}){const r=t.floating;if(r.style.width="",r.style.maxWidth="",r.style.overflowX="",F)return;r.style.width="max-content",r.getBoundingClientRect().width>e&&(r.style.width="min-content",r.style.maxWidth=`${e}px`)}})],whileElementsMounted:Pt.autoUpdate}),{refs:q,context:Y,x:dt,y:ut,strategy:ct}=lt,ft=A.useClick(Y),Be=A.useInteractions([...h&&!f&&T==="input"&&!y?[ft]:[],A.useDismiss(Y,{outsidePress:e=>{const t=e.target;return!(t!=null&&t.closest('[role="menu"], [role="listbox"]'))}}),A.useRole(Y,{role:"dialog"})]);a.useEffect(()=>{var t,r;const e=l==="multiple"?((t=Oe.current)==null?void 0:t.wrapper)??null:((r=ie.current)==null?void 0:r.input)??null;q.setPositionReference(e??q.reference.current)},[l,b,q]);const mt=()=>{var t;const e=(t=ie.current)==null?void 0:t.input;if(e){if(typeof e.showPicker=="function")try{e.showPicker();return}catch{}e.focus()}},le=()=>{!h||R||(f?mt():y?ve(!0):V(e=>!e))},pt=e=>{if(m(!1),u||g(e),i==null||i(e,e,{},{}),e){const t=c?c(e):M(e);_(t)}else _("")},ht=e=>{if(!e){m(!1),u||g(void 0),i==null||i(void 0,void 0,{},{});return}const[t,r,o]=e.split("-").map(Number);if(!t||!r||!o)return;const d=new Date(t,r-1,o);if(!Number.isNaN(d.getTime())){if(k(d)){m(!0);return}m(!1),u||g(d),i==null||i(d,d,{},{})}},gt=Be.getReferenceProps(y&&T==="input"?{onClick:()=>le()}:void 0),{role:St,"aria-expanded":Lt,"aria-haspopup":$t,"aria-controls":bt,...yt}=gt,Ie=y?void 0:bt,de=z("dateField.openCalendar"),Te={"aria-label":de,"aria-expanded":y?te:b,"aria-haspopup":"dialog","aria-controls":Ie};return p.jsxs(p.Fragment,{children:[p.jsx("div",{className:I.default(D.default["tedi-date-field__container"],He),...yt,ref:q.setReference,children:l==="multiple"?p.jsx(Mt.MultiValueField,{...n,ref:Oe,id:pe,label:he,tagsDirection:We,values:Re.map(e=>e.label),icon:"calendar_today",onIconClick:le,iconButtonProps:h?Te:{"aria-label":de},isClearable:!0,required:S,onChange:e=>{if(!Array.isArray(s))return;const t=Re.filter(r=>e.includes(r.label)).map(r=>r.date);u||g(t),i==null||i(t,{},{},{})},className:I.default(D.default["tedi-date-field__textfield"],{[D.default["tedi-date-field__icon--disabled"]]:!h||R})}):p.jsx(Ct.TextField,{...n,ref:Ze,id:pe,label:he,readOnly:R,value:f?tt:re,placeholder:$e,icon:"calendar_today",isClearable:!0,onIconClick:le,iconButtonProps:h&&!f?Te:{"aria-label":de},onChange:e=>f?ht(e):st(e),onBlur:e=>{var t;f||ot(),(t=n==null?void 0:n.onBlur)==null||t.call(n,e)},required:S,invalid:we||Ne||(n==null?void 0:n.invalid),helper:(()=>{const e=n==null?void 0:n.helper,t=we?Xe:Ne?Je:null,r=t?{text:t,type:"error"}:null;return r?e?Array.isArray(e)?[...e,r]:[e,r]:r:e})(),className:I.default(D.default["tedi-date-field__textfield"],{[D.default["tedi-date-field__textfield--disabled"]]:n==null?void 0:n.disabled,[D.default["tedi-date-field__icon--disabled"]]:!h||R}),input:{...n==null?void 0:n.input,...f&&{type:"date"},...h&&!f&&T==="input"?{role:"combobox","aria-haspopup":"dialog","aria-expanded":y?te:b,"aria-controls":Ie}:{}}})}),y&&p.jsx(At.DatePickerModal,{open:te,onOpenChange:ve,value:s,onConfirm:pt,mode:l,numberOfMonths:Ee,locale:_e,localeCode:$,showOutsideDays:ge,disabledMatchers:W,required:S,availableDays:Ae,footer:xe,monthYearSelectType:be,dayStatus:ye,showNavigation:De,selectionLevel:O,initialView:L,initialMonth:H,modalProps:Ge,...Fe,title:ze}),h&&!f&&!y&&p.jsx(A.FloatingPortal,{children:b&&p.jsx(A.FloatingFocusManager,{context:Y,modal:!1,initialFocus:-1,children:p.jsx("div",{ref:q.setFloating,className:I.default({[D.default["tedi-date-field__calendar-popover--fullwidth"]]:F}),...Be.getFloatingProps({style:{position:ct,top:ut??0,left:F?0:dt??0,right:F?0:void 0}}),children:p.jsx(xt.Calendar,{...Fe,numberOfMonths:Ee,view:Qe,selectionLevel:O,currentMonth:rt,setCurrentMonth:se,setView:Pe,mode:l,value:s,locale:_e,localeCode:$,showOutsideDays:ge,disabledMatchers:W,required:S,availableDays:Ae,footer:xe,monthYearSelectType:be,dayStatus:ye,showNavigation:De,handleSelect:at,applyValue:it,className:I.default(D.default["tedi-date-field__calendar"],{[D.default["tedi-date-field__calendar--fullwidth"]]:F})})})})})]})});je.displayName="DateField";exports.DateField=je;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),A=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),I=require("../../../../../external/classnames/index.cjs.js"),a=require("react"),Ct=require("../../content/calendar/calendar.cjs.js"),At=require("../multi-value-field/multi-value-field.cjs.js"),Ft=require("../textfield/textfield.cjs.js"),D=require("./date-field.module.scss.cjs.js"),v=require("./date-field-helpers.cjs.js"),kt=require("./date-picker-modal/date-picker-modal.cjs.js"),vt=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),Pt=require("../../../providers/label-provider/use-labels.cjs.js"),wt=require("../../../../../external/react-day-picker/dist/esm/locale/et.cjs.js"),me=require("../../../helpers/hooks/use-breakpoint.cjs.js"),Nt=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),G=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),Et=require("../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs.js"),Le=a.forwardRef((P,w)=>{const{getCurrentBreakpointProps:$e}=vt.useBreakpointProps(P.defaultServerBreakpoint),{getLabel:z}=Pt.useLabels(),{useNativePicker:He=!1,enableCalendar:h=!0,calendarTrigger:T="button",numberOfMonths:X}=$e(P),{id:pe,mode:l="single",label:he,selected:j,onSelect:i,disabled:N,disabledMatchers:E,placeholder:Ye,className:Ue,formatDate:c,required:S,showOutsideDays:ge=!0,parseDate:We,monthYearSelectType:be,minYear:ye,maxYear:De,dayStatus:_e,tagsDirection:Ge,showNavigation:xe=!0,selectionLevel:O="days",initialView:L,locale:Me=wt.et,localeCode:$="et-EE",initialMonth:H,closeOnSelect:ze,footer:Ce,defaultValue:Y,minDate:J,maxDate:K,disablePast:Ae,disableFuture:Fe,shouldDisableMonth:Q,shouldDisableYear:Z,readOnly:R,availableDays:ke,inputProps:n,modal:ee=!1,modalProps:Xe,modalTitle:Je,disabledDateErrorMessage:Ke=z("dateField.disabledDateError"),invalidDateErrorMessage:Qe=z("dateField.invalidDateError"),useNativePicker:Ot,enableCalendar:Rt,calendarTrigger:Vt,numberOfMonths:qt,defaultServerBreakpoint:Bt,sm:It,md:Tt,lg:jt,xl:St,xxl:Lt,...ve}=P,f=He&&l==="single",Pe=me.default(P.defaultServerBreakpoint),F=me.isBreakpointBelow(Pe,"md"),[Ze,g]=a.useState(j??Y),[b,V]=a.useState(!1),[te,we]=a.useState(!1),[et,Ne]=a.useState(L??O),[re,_]=a.useState(""),[Ee,m]=a.useState(!1),[Oe,ae]=a.useState(!1),y=h&&!f&&!R&&(ee===!0||typeof ee=="string"&&me.isBreakpointBelow(Pe,ee)),Re=F&&!y&&typeof X=="number"&&X>1?1:X,{current:u}=a.useRef("selected"in P),s=u?j:Ze,ie=a.useRef(null),Ve=a.useRef(null),tt=a.useCallback(e=>{ie.current=e,typeof w=="function"?w(e):w&&(w.current=e)},[w]),rt=e=>{if(!e)return"";const t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${o}`},at=f&&s instanceof Date?rt(s):"",ne=a.useCallback((e,t)=>e instanceof Date?e:Array.isArray(e)&&e.length>0?[...e].sort((r,o)=>r.getTime()-o.getTime())[0]:e&&typeof e=="object"&&"from"in e&&e.from instanceof Date?e.from:e&&typeof e=="object"&&"to"in e&&e.to instanceof Date?e.to:t??new Date,[]),[it,se]=a.useState(()=>ne(s,H));a.useEffect(()=>{b||se(ne(s,H))},[s,H,b,ne]),a.useEffect(()=>{b&&Ne(L??O)},[b,O,L]),a.useEffect(()=>{u&&g(j)},[j,u]);const x=a.useMemo(()=>new Intl.DateTimeFormat($,{day:"2-digit",month:"2-digit",year:"numeric"}),[$]),M=a.useCallback(e=>{if(!e)return"";if(e instanceof Date)return x.format(e);if(Array.isArray(e))return e.map(t=>x.format(t)).join(", ");if(e.from){const t=x.format(e.from);return e.to?`${t} – ${x.format(e.to)}`:t}return""},[x]),oe=ze??l==="single",qe=l==="multiple"&&Array.isArray(s)?s.map((e,t)=>({id:t,label:c?c(e):M(e),date:e})):[],U=a.useMemo(()=>{const e=[];return N&&(Array.isArray(N)?e.push(...N):e.push(N)),E&&(Array.isArray(E)?e.push(...E):e.push(E)),J&&e.push({before:J}),K&&e.push({after:K}),Ae&&e.push({before:new Date}),Fe&&e.push({after:new Date}),Q&&e.push(t=>Q(t)),Z&&e.push(t=>Z(t)),e},[N,E,J,K,Ae,Fe,Q,Z]),k=a.useCallback(e=>Et.dateMatchModifiers(e,U),[U]),nt=(e,t,r,o)=>{const d=l==="range"?v.resolveRangeSelection(e,s,t):e;if(m(!1),u||g(d),i==null||i(d,t,r,o),d){const C=c?c(d):M(d);_(C)}else _("");oe&&V(!1)},st=e=>{if(k(e))return;const t=l==="range"?{from:e,to:void 0}:l==="multiple"?[...Array.isArray(s)?s:[],e]:e;m(!1),u||g(t),i==null||i(t,e,{},{});const r=c?c(t):M(t);_(r),oe&&V(!1)},ot=a.useMemo(()=>{const e=v.getLocaleDateParts(x),t=new RegExp(`^${v.buildDateRegexSource(e)}$`),{fieldOrder:r}=e;return o=>{const d=o.match(t);if(!d)return;const C={};r.forEach((xt,Mt)=>{C[xt]=Number(d[Mt+1])});const{day:ue,month:ce,year:fe}=C;if(ue===void 0||ce===void 0||fe===void 0)return;const B=new Date(fe,ce-1,ue);if(!(isNaN(B.getTime())||B.getFullYear()!==fe||B.getMonth()!==ce-1||B.getDate()!==ue))return B}},[x]),Be=e=>(We??(l==="single"?ot:()=>{}))(e),Ie=e=>l==="single"&&e instanceof Date||l==="multiple"&&Array.isArray(e)||l==="range"&&!!e&&!Array.isArray(e)&&"from"in e,lt=e=>{if(_(e),ae(!1),e.trim()===""){m(!1),s!==void 0&&(u||g(void 0),i==null||i(void 0,void 0,{},{}));return}const t=Be(e);if(!Ie(t)){m(!1);return}const o=t&&!Array.isArray(t)&&"from"in t?t:null;if(t instanceof Date&&k(t)||Array.isArray(t)&&t.some(C=>C instanceof Date&&k(C))||!!o&&(o.from&&k(o.from)||o.to&&k(o.to))){m(!0);return}m(!1),u||g(t),i==null||i(t,t,{},{}),t instanceof Date&&se(t),oe&&V(!1)},dt=()=>{if(re.trim()===""){ae(!1);return}ae(!Ie(Be(re)))};a.useEffect(()=>{if(u){const e=c?c(s):M(s);_(e)}},[s,u,c,M]),a.useEffect(()=>{if(!u&&Y){const e=c?c(Y):M(Y);_(e)}},[]);const ut=A.useFloating({open:b,onOpenChange:V,placement:T==="input"?"bottom-start":"bottom-end",middleware:[G.offset(v.CALENDAR_POPOVER_OFFSET),G.flip(),G.shift({padding:v.CALENDAR_POPOVER_PADDING}),G.size({padding:v.CALENDAR_POPOVER_PADDING,apply({availableWidth:e,elements:t}){const r=t.floating;if(r.style.width="",r.style.maxWidth="",r.style.overflowX="",F)return;r.style.width="max-content",r.getBoundingClientRect().width>e&&(r.style.width="min-content",r.style.maxWidth=`${e}px`)}})],whileElementsMounted:Nt.autoUpdate}),{refs:q,context:W,x:ct,y:ft,strategy:mt}=ut,pt=A.useClick(W),Te=A.useInteractions([...h&&!f&&T==="input"&&!y?[pt]:[],A.useDismiss(W,{outsidePress:e=>{const t=e.target;return!(t!=null&&t.closest('[role="menu"], [role="listbox"]'))}}),A.useRole(W,{role:"dialog"})]);a.useEffect(()=>{var t,r;const e=l==="multiple"?((t=Ve.current)==null?void 0:t.wrapper)??null:((r=ie.current)==null?void 0:r.input)??null;q.setPositionReference(e??q.reference.current)},[l,b,q]);const ht=()=>{var t;const e=(t=ie.current)==null?void 0:t.input;if(e){if(typeof e.showPicker=="function")try{e.showPicker();return}catch{}e.focus()}},le=()=>{!h||R||(f?ht():y?we(!0):V(e=>!e))},gt=e=>{if(m(!1),u||g(e),i==null||i(e,e,{},{}),e){const t=c?c(e):M(e);_(t)}else _("")},bt=e=>{if(!e){m(!1),u||g(void 0),i==null||i(void 0,void 0,{},{});return}const[t,r,o]=e.split("-").map(Number);if(!t||!r||!o)return;const d=new Date(t,r-1,o);if(!Number.isNaN(d.getTime())){if(k(d)){m(!0);return}m(!1),u||g(d),i==null||i(d,d,{},{})}},yt=Te.getReferenceProps(y&&T==="input"?{onClick:()=>le()}:void 0),{role:$t,"aria-expanded":Ht,"aria-haspopup":Yt,"aria-controls":Dt,..._t}=yt,je=y?void 0:Dt,de=z("dateField.openCalendar"),Se={"aria-label":de,"aria-expanded":y?te:b,"aria-haspopup":"dialog","aria-controls":je};return p.jsxs(p.Fragment,{children:[p.jsx("div",{className:I.default(D.default["tedi-date-field__container"],Ue),..._t,ref:q.setReference,children:l==="multiple"?p.jsx(At.MultiValueField,{...n,ref:Ve,id:pe,label:he,tagsDirection:Ge,values:qe.map(e=>e.label),icon:"calendar_today",onIconClick:le,iconButtonProps:h?Se:{"aria-label":de},isClearable:!0,required:S,onChange:e=>{if(!Array.isArray(s))return;const t=qe.filter(r=>e.includes(r.label)).map(r=>r.date);u||g(t),i==null||i(t,{},{},{})},className:I.default(D.default["tedi-date-field__textfield"],{[D.default["tedi-date-field__icon--disabled"]]:!h||R})}):p.jsx(Ft.TextField,{...n,ref:tt,id:pe,label:he,readOnly:R,value:f?at:re,placeholder:Ye,icon:"calendar_today",isClearable:!0,onIconClick:le,iconButtonProps:h&&!f?Se:{"aria-label":de},onChange:e=>f?bt(e):lt(e),onBlur:e=>{var t;f||dt(),(t=n==null?void 0:n.onBlur)==null||t.call(n,e)},required:S,invalid:Ee||Oe||(n==null?void 0:n.invalid),helper:(()=>{const e=n==null?void 0:n.helper,t=Ee?Ke:Oe?Qe:null,r=t?{text:t,type:"error"}:null;return r?e?Array.isArray(e)?[...e,r]:[e,r]:r:e})(),className:I.default(D.default["tedi-date-field__textfield"],{[D.default["tedi-date-field__textfield--disabled"]]:n==null?void 0:n.disabled,[D.default["tedi-date-field__icon--disabled"]]:!h||R}),input:{...n==null?void 0:n.input,...f&&{type:"date"},...h&&!f&&T==="input"?{role:"combobox","aria-haspopup":"dialog","aria-expanded":y?te:b,"aria-controls":je}:{}}})}),y&&p.jsx(kt.DatePickerModal,{open:te,onOpenChange:we,value:s,onConfirm:gt,mode:l,numberOfMonths:Re,locale:Me,localeCode:$,showOutsideDays:ge,disabledMatchers:U,required:S,availableDays:ke,footer:Ce,monthYearSelectType:be,minYear:ye,maxYear:De,dayStatus:_e,showNavigation:xe,selectionLevel:O,initialView:L,initialMonth:H,modalProps:Xe,...ve,title:Je}),h&&!f&&!y&&p.jsx(A.FloatingPortal,{children:b&&p.jsx(A.FloatingFocusManager,{context:W,modal:!1,initialFocus:-1,children:p.jsx("div",{ref:q.setFloating,className:I.default({[D.default["tedi-date-field__calendar-popover--fullwidth"]]:F}),...Te.getFloatingProps({style:{position:mt,top:ft??0,left:F?0:ct??0,right:F?0:void 0}}),children:p.jsx(Ct.Calendar,{...ve,numberOfMonths:Re,view:et,selectionLevel:O,currentMonth:it,setCurrentMonth:se,setView:Ne,mode:l,value:s,locale:Me,localeCode:$,showOutsideDays:ge,disabledMatchers:U,required:S,availableDays:ke,footer:Ce,monthYearSelectType:be,minYear:ye,maxYear:De,dayStatus:_e,showNavigation:xe,handleSelect:nt,applyValue:st,className:I.default(D.default["tedi-date-field__calendar"],{[D.default["tedi-date-field__calendar--fullwidth"]]:F})})})})})]})});Le.displayName="DateField";exports.DateField=Le;
@@ -139,6 +139,16 @@ export interface DateFieldProps extends BreakpointSupport<DateFieldBreakpointPro
139
139
  * day's `aria-label`), or `null` / `undefined` for no status.
140
140
  */
141
141
  dayStatus?: DayStatusFn;
142
+ /**
143
+ * Earliest year offered in the calendar header's year dropdown.
144
+ * @default currentYear - 100
145
+ */
146
+ minYear?: number;
147
+ /**
148
+ * Latest year offered in the calendar header's year dropdown.
149
+ * @default currentYear + 20
150
+ */
151
+ maxYear?: number;
142
152
  /**
143
153
  * Show or hide the calendar header's previous/next navigation. When hidden, the month/year header
144
154
  * also becomes a static, non-interactive label (no dropdown / grid jumping) — so the calendar is