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

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 (31) hide show
  1. package/bundle-stats.html +1 -1
  2. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  3. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  4. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  5. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  6. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  8. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  9. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  10. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  11. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  12. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  13. package/external/prop-types/external/react-is/index.es.js +1 -1
  14. package/index.css +1 -1
  15. package/package.json +1 -1
  16. package/src/tedi/components/content/calendar/calendar.cjs.js +1 -1
  17. package/src/tedi/components/content/calendar/calendar.d.ts +39 -3
  18. package/src/tedi/components/content/calendar/calendar.es.js +121 -101
  19. package/src/tedi/components/content/calendar/calendar.module.scss.cjs.js +1 -1
  20. package/src/tedi/components/content/calendar/calendar.module.scss.es.js +5 -2
  21. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.cjs.js +1 -1
  22. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.d.ts +4 -2
  23. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.es.js +42 -42
  24. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.module.scss.cjs.js +1 -1
  25. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.module.scss.es.js +1 -0
  26. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  27. package/src/tedi/components/form/date-field/date-field.d.ts +10 -1
  28. package/src/tedi/components/form/date-field/date-field.es.js +221 -218
  29. package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.cjs.js +1 -1
  30. package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.d.ts +3 -0
  31. package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.es.js +41 -39
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),G=require("../../../../../../external/classnames/index.cjs.js"),d=require("react"),J=require("../../../base/typography/heading/heading.cjs.js"),C=require("../../../buttons/button/button.cjs.js"),Q=require("../../../buttons/closing-button/closing-button.cjs.js"),U=require("../../../content/calendar/calendar.cjs.js"),W=require("../date-field-helpers.cjs.js"),u=require("./date-picker-modal.module.scss.cjs.js"),X=require("../../../../providers/label-provider/use-labels.cjs.js"),c=require("../../../overlays/modal/modal.cjs.js"),Z=require("../../../overlays/modal/modal-context.cjs.js"),D=(e,a)=>e instanceof Date?e:Array.isArray(e)&&e.length>0?[...e].sort((o,l)=>o.getTime()-l.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:a??new Date,$=({title:e})=>{const{labelId:a,onOpenChange:o}=Z.useModal();return t.jsxs("div",{className:u.default["tedi-date-picker-modal__header"],children:[t.jsx(J.Heading,{element:"h2",modifiers:"h4",id:a,className:u.default["tedi-date-picker-modal__title"],children:e}),t.jsx(Q.ClosingButton,{size:"small",onClick:()=>o(!1)})]})},q=e=>{const{open:a,onOpenChange:o,value:l,onConfirm:S,mode:n="single",numberOfMonths:T,locale:_,localeCode:w,showOutsideDays:N=!0,disabledMatchers:A,required:p,availableDays:B,footer:O,monthYearSelectType:H,showNavigation:L,selectionLevel:f="days",initialView:g,initialMonth:y,modalProps:i,title:P,...R}=e,{getLabel:b}=X.useLabels(),[r,m]=d.useState(l),[V,M]=d.useState(g??f),[F,j]=d.useState(()=>D(l,y));d.useEffect(()=>{a&&(m(l),M(g??f),j(D(l,y)))},[a,l,f,g,y]);const I=d.useCallback((s,h)=>{m(n==="range"?Y=>W.resolveRangeSelection(s,Y,h):s)},[n]),K=d.useCallback(s=>{m(h=>n==="range"?{from:s,to:void 0}:n==="multiple"?[...Array.isArray(h)?h:[],s]:s)},[n]),z=n==="multiple"?Array.isArray(r)&&r.length>0:n==="range"?!!r&&typeof r=="object"&&"from"in r&&r.from instanceof Date:r instanceof Date,k=p===!0&&!z,E=()=>{k||(S(r),o(!1))},x=P??b(n==="range"?"date-field.modal-title-range":n==="multiple"?"date-field.modal-title-multiple":"date-field.modal-title");return t.jsx(c.Modal,{open:a,onToggle:o,children:t.jsxs(c.Modal.Content,{position:"center","aria-label":x,...i,md:{width:"max-content",...i==null?void 0:i.md},sm:{width:"full",...i==null?void 0:i.sm},className:G.default(u.default["tedi-date-picker-modal"],i==null?void 0:i.className),children:[t.jsx(c.Modal.Header,{children:t.jsx($,{title:x})}),t.jsx(c.Modal.Body,{className:u.default["tedi-date-picker-modal__body"],children:t.jsx(U.Calendar,{...R,numberOfMonths:T,view:V,selectionLevel:f,currentMonth:F,setCurrentMonth:j,setView:M,mode:n,value:r,locale:_,localeCode:w,showOutsideDays:N,disabledMatchers:A,required:p,availableDays:B,footer:O,monthYearSelectType:H,showNavigation:L,handleSelect:I,applyValue:K,className:u.default["tedi-date-picker-modal__calendar"],bordered:!1})}),t.jsxs(c.Modal.Footer,{children:[t.jsx(C.Button,{visualType:"secondary",onClick:()=>o(!1),children:b("date-field.cancel")}),t.jsx(C.Button,{onClick:E,disabled:k,children:b("date-field.confirm")})]})]})})};q.displayName="DatePickerModal";exports.DatePickerModal=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),J=require("../../../../../../external/classnames/index.cjs.js"),d=require("react"),Q=require("../../../base/typography/heading/heading.cjs.js"),C=require("../../../buttons/button/button.cjs.js"),U=require("../../../buttons/closing-button/closing-button.cjs.js"),W=require("../../../content/calendar/calendar.cjs.js"),X=require("../date-field-helpers.cjs.js"),u=require("./date-picker-modal.module.scss.cjs.js"),Z=require("../../../../providers/label-provider/use-labels.cjs.js"),c=require("../../../overlays/modal/modal.cjs.js"),$=require("../../../overlays/modal/modal-context.cjs.js"),D=(e,r)=>e instanceof Date?e:Array.isArray(e)&&e.length>0?[...e].sort((o,l)=>o.getTime()-l.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:r??new Date,v=({title:e})=>{const{labelId:r,onOpenChange:o}=$.useModal();return t.jsxs("div",{className:u.default["tedi-date-picker-modal__header"],children:[t.jsx(Q.Heading,{element:"h2",modifiers:"h4",id:r,className:u.default["tedi-date-picker-modal__title"],children:e}),t.jsx(U.ClosingButton,{size:"small",onClick:()=>o(!1)})]})},q=e=>{const{open:r,onOpenChange:o,value:l,onConfirm:S,mode:n="single",numberOfMonths:T,locale:_,localeCode:w,showOutsideDays:N=!0,disabledMatchers:A,required:p,availableDays:B,footer:O,monthYearSelectType:H,dayStatus:L,showNavigation:P,selectionLevel:f="days",initialView:y,initialMonth:g,modalProps:i,title:R,...V}=e,{getLabel:b}=Z.useLabels(),[a,m]=d.useState(l),[F,M]=d.useState(y??f),[I,j]=d.useState(()=>D(l,g));d.useEffect(()=>{r&&(m(l),M(y??f),j(D(l,g)))},[r,l,f,y,g]);const K=d.useCallback((s,h)=>{m(n==="range"?G=>X.resolveRangeSelection(s,G,h):s)},[n]),z=d.useCallback(s=>{m(h=>n==="range"?{from:s,to:void 0}:n==="multiple"?[...Array.isArray(h)?h:[],s]:s)},[n]),E=n==="multiple"?Array.isArray(a)&&a.length>0:n==="range"?!!a&&typeof a=="object"&&"from"in a&&a.from instanceof Date:a instanceof Date,k=p===!0&&!E,Y=()=>{k||(S(a),o(!1))},x=R??b(n==="range"?"date-field.modal-title-range":n==="multiple"?"date-field.modal-title-multiple":"date-field.modal-title");return t.jsx(c.Modal,{open:r,onToggle:o,children:t.jsxs(c.Modal.Content,{position:"center","aria-label":x,...i,md:{width:"max-content",...i==null?void 0:i.md},sm:{width:"full",...i==null?void 0:i.sm},className:J.default(u.default["tedi-date-picker-modal"],i==null?void 0:i.className),children:[t.jsx(c.Modal.Header,{children:t.jsx(v,{title:x})}),t.jsx(c.Modal.Body,{className:u.default["tedi-date-picker-modal__body"],children:t.jsx(W.Calendar,{...V,numberOfMonths:T,view:F,selectionLevel:f,currentMonth:I,setCurrentMonth:j,setView:M,mode:n,value:a,locale:_,localeCode:w,showOutsideDays:N,disabledMatchers:A,required:p,availableDays:B,footer:O,monthYearSelectType:H,dayStatus:L,showNavigation:P,handleSelect:K,applyValue:z,className:u.default["tedi-date-picker-modal__calendar"],bordered:!1})}),t.jsxs(c.Modal.Footer,{children:[t.jsx(C.Button,{visualType:"secondary",onClick:()=>o(!1),children:b("date-field.cancel")}),t.jsx(C.Button,{onClick:Y,disabled:k,children:b("date-field.confirm")})]})]})})};q.displayName="DatePickerModal";exports.DatePickerModal=q;
@@ -1,5 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { DateRange, DayPickerProps, Locale, Matcher } from 'react-day-picker';
3
+ import { DayStatusFn } from '../../../content/calendar/calendar';
3
4
  import { ModalContentProps } from '../../../overlays/modal';
4
5
  import { CalendarView } from '../date-field';
5
6
  type DateFieldMode = 'single' | 'multiple' | 'range';
@@ -27,6 +28,8 @@ export interface DatePickerModalProps extends Omit<DayPickerProps, 'mode' | 'sel
27
28
  availableDays?: Date[] | ((date: Date) => boolean);
28
29
  footer?: React.ReactNode;
29
30
  monthYearSelectType?: 'dropdown' | 'grid';
31
+ /** Per-day status overlay forwarded to `Calendar`. */
32
+ dayStatus?: DayStatusFn;
30
33
  showNavigation?: boolean;
31
34
  selectionLevel?: CalendarView;
32
35
  /** Grid the calendar opens on, independent of `selectionLevel`. Defaults to `selectionLevel`. */
@@ -1,30 +1,30 @@
1
1
  import { jsx as o, jsxs as b } from "react/jsx-runtime";
2
- import P from "../../../../../../external/classnames/index.es.js";
3
- import { useState as g, useEffect as Q, useCallback as w } from "react";
4
- import { Heading as U } from "../../../base/typography/heading/heading.es.js";
2
+ import Q from "../../../../../../external/classnames/index.es.js";
3
+ import { useState as g, useEffect as U, useCallback as w } from "react";
4
+ import { Heading as W } from "../../../base/typography/heading/heading.es.js";
5
5
  import { Button as T } from "../../../buttons/button/button.es.js";
6
- import { ClosingButton as W } from "../../../buttons/closing-button/closing-button.es.js";
7
- import { Calendar as X } from "../../../content/calendar/calendar.es.js";
8
- import { resolveRangeSelection as Z } from "../date-field-helpers.es.js";
6
+ import { ClosingButton as X } from "../../../buttons/closing-button/closing-button.es.js";
7
+ import { Calendar as Z } from "../../../content/calendar/calendar.es.js";
8
+ import { resolveRangeSelection as $ } from "../date-field-helpers.es.js";
9
9
  import c from "./date-picker-modal.module.scss.es.js";
10
- import { useLabels as $ } from "../../../../providers/label-provider/use-labels.es.js";
10
+ import { useLabels as v } from "../../../../providers/label-provider/use-labels.es.js";
11
11
  import { Modal as d } from "../../../overlays/modal/modal.es.js";
12
- import { useModal as v } from "../../../overlays/modal/modal-context.es.js";
13
- const _ = (e, n) => e instanceof Date ? e : Array.isArray(e) && e.length > 0 ? [...e].sort((a, l) => a.getTime() - l.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 : n ?? /* @__PURE__ */ new Date(), ee = ({ title: e }) => {
14
- const { labelId: n, onOpenChange: a } = v();
12
+ import { useModal as ee } from "../../../overlays/modal/modal-context.es.js";
13
+ const _ = (e, n) => e instanceof Date ? e : Array.isArray(e) && e.length > 0 ? [...e].sort((a, l) => a.getTime() - l.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 : n ?? /* @__PURE__ */ new Date(), te = ({ title: e }) => {
14
+ const { labelId: n, onOpenChange: a } = ee();
15
15
  return /* @__PURE__ */ b("div", { className: c["tedi-date-picker-modal__header"], children: [
16
- /* @__PURE__ */ o(U, { element: "h2", modifiers: "h4", id: n, className: c["tedi-date-picker-modal__title"], children: e }),
17
- /* @__PURE__ */ o(W, { size: "small", onClick: () => a(!1) })
16
+ /* @__PURE__ */ o(W, { element: "h2", modifiers: "h4", id: n, className: c["tedi-date-picker-modal__title"], children: e }),
17
+ /* @__PURE__ */ o(X, { size: "small", onClick: () => a(!1) })
18
18
  ] });
19
- }, te = (e) => {
19
+ }, ie = (e) => {
20
20
  const {
21
21
  open: n,
22
22
  onOpenChange: a,
23
23
  value: l,
24
24
  onConfirm: A,
25
25
  mode: t = "single",
26
- numberOfMonths: j,
27
- locale: S,
26
+ numberOfMonths: S,
27
+ locale: j,
28
28
  localeCode: x,
29
29
  showOutsideDays: O = !0,
30
30
  disabledMatchers: B,
@@ -32,30 +32,31 @@ const _ = (e, n) => e instanceof Date ? e : Array.isArray(e) && e.length > 0 ? [
32
32
  availableDays: H,
33
33
  footer: L,
34
34
  monthYearSelectType: V,
35
- showNavigation: I,
35
+ dayStatus: I,
36
+ showNavigation: K,
36
37
  selectionLevel: m = "days",
37
38
  initialView: h,
38
39
  initialMonth: p,
39
40
  modalProps: i,
40
- title: K,
41
- ...q
42
- } = e, { getLabel: y } = $(), [r, f] = g(l), [z, C] = g(h ?? m), [E, D] = g(() => _(l, p));
43
- Q(() => {
41
+ title: q,
42
+ ...z
43
+ } = e, { getLabel: y } = v(), [r, f] = g(l), [E, C] = g(h ?? m), [F, D] = g(() => _(l, p));
44
+ U(() => {
44
45
  n && (f(l), C(h ?? m), D(_(l, p)));
45
46
  }, [n, l, m, h, p]);
46
- const F = w(
47
+ const R = w(
47
48
  (s, u) => {
48
- f(t === "range" ? (J) => Z(s, J, u) : s);
49
+ f(t === "range" ? (P) => $(s, P, u) : s);
49
50
  },
50
51
  [t]
51
- ), R = w(
52
+ ), Y = w(
52
53
  (s) => {
53
54
  f((u) => t === "range" ? { from: s, to: void 0 } : t === "multiple" ? [...Array.isArray(u) ? u : [], s] : s);
54
55
  },
55
56
  [t]
56
- ), Y = t === "multiple" ? Array.isArray(r) && r.length > 0 : t === "range" ? !!r && typeof r == "object" && "from" in r && r.from instanceof Date : r instanceof Date, M = k === !0 && !Y, G = () => {
57
+ ), G = t === "multiple" ? Array.isArray(r) && r.length > 0 : t === "range" ? !!r && typeof r == "object" && "from" in r && r.from instanceof Date : r instanceof Date, M = k === !0 && !G, J = () => {
57
58
  M || (A(r), a(!1));
58
- }, N = K ?? y(t === "range" ? "date-field.modal-title-range" : t === "multiple" ? "date-field.modal-title-multiple" : "date-field.modal-title");
59
+ }, N = q ?? y(t === "range" ? "date-field.modal-title-range" : t === "multiple" ? "date-field.modal-title-multiple" : "date-field.modal-title");
59
60
  return /* @__PURE__ */ o(d, { open: n, onToggle: a, children: /* @__PURE__ */ b(
60
61
  d.Content,
61
62
  {
@@ -64,22 +65,22 @@ const _ = (e, n) => e instanceof Date ? e : Array.isArray(e) && e.length > 0 ? [
64
65
  ...i,
65
66
  md: { width: "max-content", ...i == null ? void 0 : i.md },
66
67
  sm: { width: "full", ...i == null ? void 0 : i.sm },
67
- className: P(c["tedi-date-picker-modal"], i == null ? void 0 : i.className),
68
+ className: Q(c["tedi-date-picker-modal"], i == null ? void 0 : i.className),
68
69
  children: [
69
- /* @__PURE__ */ o(d.Header, { children: /* @__PURE__ */ o(ee, { title: N }) }),
70
+ /* @__PURE__ */ o(d.Header, { children: /* @__PURE__ */ o(te, { title: N }) }),
70
71
  /* @__PURE__ */ o(d.Body, { className: c["tedi-date-picker-modal__body"], children: /* @__PURE__ */ o(
71
- X,
72
+ Z,
72
73
  {
73
- ...q,
74
- numberOfMonths: j,
75
- view: z,
74
+ ...z,
75
+ numberOfMonths: S,
76
+ view: E,
76
77
  selectionLevel: m,
77
- currentMonth: E,
78
+ currentMonth: F,
78
79
  setCurrentMonth: D,
79
80
  setView: C,
80
81
  mode: t,
81
82
  value: r,
82
- locale: S,
83
+ locale: j,
83
84
  localeCode: x,
84
85
  showOutsideDays: O,
85
86
  disabledMatchers: B,
@@ -87,22 +88,23 @@ const _ = (e, n) => e instanceof Date ? e : Array.isArray(e) && e.length > 0 ? [
87
88
  availableDays: H,
88
89
  footer: L,
89
90
  monthYearSelectType: V,
90
- showNavigation: I,
91
- handleSelect: F,
92
- applyValue: R,
91
+ dayStatus: I,
92
+ showNavigation: K,
93
+ handleSelect: R,
94
+ applyValue: Y,
93
95
  className: c["tedi-date-picker-modal__calendar"],
94
96
  bordered: !1
95
97
  }
96
98
  ) }),
97
99
  /* @__PURE__ */ b(d.Footer, { children: [
98
100
  /* @__PURE__ */ o(T, { visualType: "secondary", onClick: () => a(!1), children: y("date-field.cancel") }),
99
- /* @__PURE__ */ o(T, { onClick: G, disabled: M, children: y("date-field.confirm") })
101
+ /* @__PURE__ */ o(T, { onClick: J, disabled: M, children: y("date-field.confirm") })
100
102
  ] })
101
103
  ]
102
104
  }
103
105
  ) });
104
106
  };
105
- te.displayName = "DatePickerModal";
107
+ ie.displayName = "DatePickerModal";
106
108
  export {
107
- te as DatePickerModal
109
+ ie as DatePickerModal
108
110
  };