@cupra/ui-kit 2.0.0-canary.82 → 2.0.0-canary.83

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 (69) hide show
  1. package/dist/cjs/components/ds-calendar/ds-calendar.cjs +7 -15
  2. package/dist/cjs/components/ds-calendar-day/ds-calendar-day.cjs +3 -3
  3. package/dist/cjs/components/ds-date-picker/ds-date-picker.cjs +20 -0
  4. package/dist/cjs/components/ds-date-picker/styles/common.styles.cjs +5 -0
  5. package/dist/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
  6. package/dist/cjs/index.cjs +1 -1
  7. package/dist/cjs/utils/IconsManager.cjs +1 -1
  8. package/dist/cjs/utils/PubSub.cjs +1 -1
  9. package/dist/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
  10. package/dist/cjs/utils/componentFactory.cjs +24 -2
  11. package/dist/cjs/utils/cssWithTokens.cjs +1 -1
  12. package/dist/cjs/utils/htmlWithTokens.cjs +1 -1
  13. package/dist/esm/components/ds-calendar/ds-calendar.js +89 -83
  14. package/dist/esm/components/ds-calendar-day/ds-calendar-day.js +13 -9
  15. package/dist/esm/components/ds-date-picker/ds-date-picker.js +137 -0
  16. package/dist/esm/components/ds-date-picker/styles/common.styles.js +12 -0
  17. package/dist/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
  18. package/dist/esm/index.js +3 -2
  19. package/dist/esm/utils/IconsManager.js +1 -1
  20. package/dist/esm/utils/PubSub.js +1 -1
  21. package/dist/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
  22. package/dist/esm/utils/componentFactory.js +26 -2
  23. package/dist/esm/utils/cssWithTokens.js +1 -1
  24. package/dist/esm/utils/htmlWithTokens.js +1 -1
  25. package/dist/types/components/ds-calendar/ds-calendar.d.ts +3 -1
  26. package/dist/types/components/ds-calendar/ds-calendar.types.d.ts +3 -0
  27. package/dist/types/components/ds-calendar-day/ds-calendar-day.d.ts +3 -1
  28. package/dist/types/components/ds-calendar-day/ds-calendar-day.types.d.ts +2 -0
  29. package/dist/types/components/ds-date-picker/ds-date-picker.d.ts +29 -0
  30. package/dist/types/components/ds-date-picker/ds-date-picker.test.d.ts +9 -0
  31. package/dist/types/components/ds-date-picker/ds-date-picker.types.d.ts +9 -0
  32. package/dist/types/components/ds-date-picker/styles/common.styles.d.ts +1 -0
  33. package/dist/types/components/index.d.ts +1 -0
  34. package/dist/types/utils/componentFactory.d.ts +2 -0
  35. package/dist-react/cjs/components/ds-calendar/ds-calendar.cjs +7 -15
  36. package/dist-react/cjs/components/ds-calendar-day/ds-calendar-day.cjs +3 -3
  37. package/dist-react/cjs/components/ds-date-picker/ds-date-picker.cjs +20 -0
  38. package/dist-react/cjs/components/ds-date-picker/styles/common.styles.cjs +5 -0
  39. package/dist-react/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
  40. package/dist-react/cjs/index.cjs +1 -1
  41. package/dist-react/cjs/utils/IconsManager.cjs +1 -1
  42. package/dist-react/cjs/utils/PubSub.cjs +1 -1
  43. package/dist-react/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
  44. package/dist-react/cjs/utils/componentFactory.cjs +13 -2
  45. package/dist-react/cjs/utils/cssWithTokens.cjs +1 -1
  46. package/dist-react/cjs/utils/htmlWithTokens.cjs +1 -1
  47. package/dist-react/esm/components/ds-calendar/ds-calendar.js +89 -83
  48. package/dist-react/esm/components/ds-calendar-day/ds-calendar-day.js +13 -9
  49. package/dist-react/esm/components/ds-date-picker/ds-date-picker.js +137 -0
  50. package/dist-react/esm/components/ds-date-picker/styles/common.styles.js +12 -0
  51. package/dist-react/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
  52. package/dist-react/esm/index.js +3 -2
  53. package/dist-react/esm/utils/IconsManager.js +1 -1
  54. package/dist-react/esm/utils/PubSub.js +1 -1
  55. package/dist-react/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
  56. package/dist-react/esm/utils/componentFactory.js +14 -2
  57. package/dist-react/esm/utils/cssWithTokens.js +1 -1
  58. package/dist-react/esm/utils/htmlWithTokens.js +1 -1
  59. package/dist-react/types/components/ds-calendar/ds-calendar.d.ts +3 -1
  60. package/dist-react/types/components/ds-calendar/ds-calendar.types.d.ts +3 -0
  61. package/dist-react/types/components/ds-calendar-day/ds-calendar-day.d.ts +3 -1
  62. package/dist-react/types/components/ds-calendar-day/ds-calendar-day.types.d.ts +2 -0
  63. package/dist-react/types/components/ds-date-picker/ds-date-picker.d.ts +29 -0
  64. package/dist-react/types/components/ds-date-picker/ds-date-picker.test.d.ts +9 -0
  65. package/dist-react/types/components/ds-date-picker/ds-date-picker.types.d.ts +9 -0
  66. package/dist-react/types/components/ds-date-picker/styles/common.styles.d.ts +1 -0
  67. package/dist-react/types/components/index.d.ts +1 -0
  68. package/dist-react/types/utils/componentFactory.d.ts +2 -0
  69. package/package.json +1 -1
@@ -1,24 +1,25 @@
1
- import { UiKitElement as c } from "../base/UiKitElement.js";
2
- import { customUiKitElement as h } from "../../decorators/customUiKitElement.js";
1
+ import { UiKitElement as h } from "../base/UiKitElement.js";
2
+ import { customUiKitElement as c } from "../../decorators/customUiKitElement.js";
3
3
  import { booleanConverter as l } from "../../utils/booleanConverter.js";
4
4
  import "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
5
5
  import { html as y } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
6
6
  import "../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
7
7
  import { property as o } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
8
8
  import { classMap as u } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.js";
9
- import { commonStyles as m } from "./styles/common.styles.js";
10
- var f = Object.defineProperty, b = Object.getOwnPropertyDescriptor, s = (e, a, d, i) => {
9
+ import { commonStyles as f } from "./styles/common.styles.js";
10
+ var m = Object.defineProperty, b = Object.getOwnPropertyDescriptor, s = (e, a, d, i) => {
11
11
  for (var r = i > 1 ? void 0 : i ? b(a, d) : a, n = e.length - 1, p; n >= 0; n--)
12
12
  (p = e[n]) && (r = (i ? p(a, d, r) : p(r)) || r);
13
- return i && r && f(a, d, r), r;
13
+ return i && r && m(a, d, r), r;
14
14
  };
15
- let t = class extends c {
15
+ let t = class extends h {
16
16
  constructor() {
17
- super(...arguments), this.disabled = !1, this.selected = !1, this.today = !1, this.outsideMonth = !1;
17
+ super(...arguments), this.size = "large", this.disabled = !1, this.selected = !1, this.today = !1, this.outsideMonth = !1;
18
18
  }
19
19
  get classes() {
20
20
  return {
21
21
  day: !0,
22
+ [this.size]: !0,
22
23
  disabled: this.disabled,
23
24
  selected: this.selected,
24
25
  today: this.today,
@@ -60,10 +61,13 @@ let t = class extends c {
60
61
  `;
61
62
  }
62
63
  };
63
- t.styles = [m];
64
+ t.styles = [f];
64
65
  s([
65
66
  o({ type: Number, reflect: !0 })
66
67
  ], t.prototype, "day", 2);
68
+ s([
69
+ o({ type: String, reflect: !0 })
70
+ ], t.prototype, "size", 2);
67
71
  s([
68
72
  o({ type: Boolean, converter: l, reflect: !0 })
69
73
  ], t.prototype, "disabled", 2);
@@ -77,7 +81,7 @@ s([
77
81
  o({ type: Boolean, converter: l, reflect: !0, attribute: "outside-month" })
78
82
  ], t.prototype, "outsideMonth", 2);
79
83
  t = s([
80
- h("ds-calendar-day")
84
+ c("ds-calendar-day")
81
85
  ], t);
82
86
  export {
83
87
  t as DsCalendarDay
@@ -0,0 +1,137 @@
1
+ import { UiKitElement as h } from "../base/UiKitElement.js";
2
+ import { customUiKitElement as u } from "../../decorators/customUiKitElement.js";
3
+ import { inputStatesMixin as m } from "../../mixins/inputStatesMixin.js";
4
+ import "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
5
+ import { html as n, nothing as o } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
6
+ import "../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
7
+ import { property as s } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
8
+ import { state as v } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.js";
9
+ import { classMap as y } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.js";
10
+ import { commonStyles as f } from "./styles/common.styles.js";
11
+ var x = Object.defineProperty, E = Object.getOwnPropertyDescriptor, r = (t, a, l, d) => {
12
+ for (var i = d > 1 ? void 0 : d ? E(a, l) : a, p = t.length - 1, c; p >= 0; p--)
13
+ (c = t[p]) && (i = (d ? c(a, l, i) : c(i)) || i);
14
+ return d && i && x(a, l, i), i;
15
+ };
16
+ let e = class extends m(h) {
17
+ constructor() {
18
+ super(...arguments), this.size = "large", this.helperText = "", this.forcedError = "", this.invalidError = "", this.readonlyText = "", this.dataAriaLabelCalendarButton = "", this.isExpanded = !1, this.handleCalendarButtonClick = () => {
19
+ this.inputStates.disabled || this.inputStates.readonly || (this.isExpanded = !this.isExpanded);
20
+ }, this.handleCalendarChange = (t) => {
21
+ t.stopPropagation();
22
+ const a = t.detail.value;
23
+ this.nativeInput && (this.nativeInput.value = a, this.nativeInput.dispatchEvent(new Event("input", { bubbles: !0 }))), this.isExpanded = !1;
24
+ }, this.handleDocumentClick = (t) => {
25
+ this.isExpanded && !this.contains(t.target) && (this.isExpanded = !1);
26
+ };
27
+ }
28
+ connectedCallback() {
29
+ super.connectedCallback(), document.addEventListener("click", this.handleDocumentClick), this.addEventListener("ds-calendar-change", this.handleCalendarChange), e.injectNativeInputStyles();
30
+ }
31
+ static injectNativeInputStyles() {
32
+ if (e.nativeStylesInjected) return;
33
+ e.nativeStylesInjected = !0;
34
+ const t = document.createElement("style");
35
+ t.setAttribute("data-ds-date-picker", ""), t.textContent = [
36
+ 'ds-date-picker input[type="date"]::-webkit-calendar-picker-indicator { display: none !important; }',
37
+ 'ds-date-picker input[type="date"]::-webkit-inner-spin-button { display: none !important; }',
38
+ 'ds-date-picker-react input[type="date"]::-webkit-calendar-picker-indicator { display: none !important; }',
39
+ 'ds-date-picker-react input[type="date"]::-webkit-inner-spin-button { display: none !important; }'
40
+ ].join(`
41
+ `), document.head.appendChild(t);
42
+ }
43
+ disconnectedCallback() {
44
+ super.disconnectedCallback(), document.removeEventListener("click", this.handleDocumentClick), this.removeEventListener("ds-calendar-change", this.handleCalendarChange);
45
+ }
46
+ get classes() {
47
+ return {
48
+ container: !0,
49
+ error: !!this.forcedError,
50
+ [this.size]: !!this.size,
51
+ disabled: this.inputStates.disabled,
52
+ readonly: this.inputStates.readonly,
53
+ filled: this.inputStates.filled,
54
+ invalid: this.inputStates.invalid,
55
+ focus: this.inputStates.focus,
56
+ "focus-visible": this.inputStates.focusVisible,
57
+ expanded: this.isExpanded
58
+ };
59
+ }
60
+ render() {
61
+ return n`
62
+ <div class=${y(this.classes)}>
63
+ <div class="input-container">
64
+ <div><slot></slot></div>
65
+ ${this.calendarButtonTemplate}
66
+ </div>
67
+ ${this.calendarDropdownTemplate}
68
+ <div class="footer">
69
+ ${this.readonlyTextTemplate}
70
+ ${this.helperTextTemplate}
71
+ ${this.forcedErrorTemplate}
72
+ ${this.invalidErrorTemplate}
73
+ </div>
74
+ </div>
75
+ `;
76
+ }
77
+ get calendarDropdownTemplate() {
78
+ return n`
79
+ <div class="calendar-dropdown" ?hidden=${!this.isExpanded}>
80
+ <slot name="calendar"></slot>
81
+ </div>
82
+ `;
83
+ }
84
+ get calendarButtonTemplate() {
85
+ var t;
86
+ return this.componentFactory.createIconButton({
87
+ class: "calendar-button",
88
+ "icon-name": "calendar",
89
+ size: this.size,
90
+ disabled: !!((t = this.nativeInput) != null && t.disabled),
91
+ variant: "naked",
92
+ "@click": this.handleCalendarButtonClick,
93
+ "data-aria-label": this.dataAriaLabelCalendarButton || "open calendar"
94
+ });
95
+ }
96
+ get helperTextTemplate() {
97
+ return this.inputStates.readonly || this.forcedError || this.inputStates.invalid && this.invalidError ? o : n`<span class="support-text helper-text">${this.helperText}</span>`;
98
+ }
99
+ get forcedErrorTemplate() {
100
+ return this.inputStates.readonly || !this.forcedError ? o : n`<span class="support-text error-text forced-error">${this.forcedError}</span>`;
101
+ }
102
+ get readonlyTextTemplate() {
103
+ return !this.inputStates.readonly || !this.readonlyText ? o : n`<span class="support-text readonly-text">${this.readonlyText}</span>`;
104
+ }
105
+ get invalidErrorTemplate() {
106
+ return this.inputStates.readonly || this.forcedError || !this.inputStates.invalid || !this.invalidError ? o : n`<span class="support-text error-text invalid-error">${this.invalidError}</span>`;
107
+ }
108
+ };
109
+ e.styles = [f];
110
+ e.nativeStylesInjected = !1;
111
+ r([
112
+ s({ type: String })
113
+ ], e.prototype, "size", 2);
114
+ r([
115
+ s({ type: String, attribute: "helper-text" })
116
+ ], e.prototype, "helperText", 2);
117
+ r([
118
+ s({ type: String, attribute: "forced-error" })
119
+ ], e.prototype, "forcedError", 2);
120
+ r([
121
+ s({ type: String, attribute: "invalid-error" })
122
+ ], e.prototype, "invalidError", 2);
123
+ r([
124
+ s({ type: String, attribute: "readonly-text" })
125
+ ], e.prototype, "readonlyText", 2);
126
+ r([
127
+ s({ type: String, attribute: "data-aria-label-calendar-button" })
128
+ ], e.prototype, "dataAriaLabelCalendarButton", 2);
129
+ r([
130
+ v()
131
+ ], e.prototype, "isExpanded", 2);
132
+ e = r([
133
+ u("ds-date-picker")
134
+ ], e);
135
+ export {
136
+ e as DsDatePicker
137
+ };
@@ -0,0 +1,12 @@
1
+ import "../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
2
+ import "../../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
3
+ import "../../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
4
+ import { css as o } from "../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js";
5
+ const p = o`
6
+ :host {
7
+ display: contents;
8
+ }
9
+ `;
10
+ export {
11
+ p as commonStyles
12
+ };
@@ -54,7 +54,7 @@ let m = class extends v {
54
54
  }
55
55
  loadThemeStyles() {
56
56
  return this.loadStyles ? new Promise((t, o) => {
57
- const s = "/2.0.0-canary.82", r = `https://ds-assets.cupra.com${s}/styles/${this.theme}/theme.css`;
57
+ const s = "/2.0.0-canary.83", r = `https://ds-assets.cupra.com${s}/styles/${this.theme}/theme.css`;
58
58
  if (document.head.querySelector(`link[href="${r}"]`)) t();
59
59
  else {
60
60
  const e = `ui-kit-theme-${s}`, a = document.getElementById(e), n = document.createElement("link");
package/dist/esm/index.js CHANGED
@@ -17,6 +17,7 @@ import "./components/ds-checkbox-group/ds-checkbox-group.js";
17
17
  import "./components/ds-chip/ds-chip.js";
18
18
  import "./components/ds-chips/ds-chips.js";
19
19
  import "./components/ds-currency/ds-currency.js";
20
+ import "./components/ds-date-picker/ds-date-picker.js";
20
21
  import "./components/ds-dialog/ds-dialog.js";
21
22
  import "./components/ds-dialog-body/ds-dialog-body.js";
22
23
  import "./components/ds-dialog-footer/ds-dialog-footer.js";
@@ -80,7 +81,7 @@ import "./components/ds-navigation-controls/ds-navigation-controls.js";
80
81
  import "./components/ds-table/ds-table.js";
81
82
  import "./components/ds-table-row/ds-table-row.js";
82
83
  import "./components/ds-table-cell/ds-table-cell.js";
83
- import { iconNames as Eo } from "./components/ds-icon/iconNames.js";
84
+ import { iconNames as Fo } from "./components/ds-icon/iconNames.js";
84
85
  export {
85
- Eo as iconNames
86
+ Fo as iconNames
86
87
  };
@@ -25,7 +25,7 @@ class l {
25
25
  }), f.subscribe("theme", this.handleChangeTheme);
26
26
  }
27
27
  }
28
- const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.82"), h = globalThis;
28
+ const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.83"), h = globalThis;
29
29
  let i = h[c];
30
30
  i || (i = new l(), Object.defineProperty(h, c, {
31
31
  value: i,
@@ -18,7 +18,7 @@ class e {
18
18
  });
19
19
  }
20
20
  }
21
- const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.82"), t = globalThis;
21
+ const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.83"), t = globalThis;
22
22
  let b = t[u];
23
23
  b || (b = new e(), Object.defineProperty(t, u, {
24
24
  value: b,
@@ -7,7 +7,7 @@ class s {
7
7
  theme: t
8
8
  }) => {
9
9
  if (!t || !e) return;
10
- const c = `https://ds-assets.cupra.com/2.0.0-canary.82/styles/${t}/components/${e}.css`, r = this.getCachedStyleSheetPromise({ url: c });
10
+ const c = `https://ds-assets.cupra.com/2.0.0-canary.83/styles/${t}/components/${e}.css`, r = this.getCachedStyleSheetPromise({ url: c });
11
11
  if (r) return r;
12
12
  const i = h(() => this.fetchStyle({ url: c })).then((n) => (n || this.stylePromises.delete(c), n));
13
13
  return this.stylePromises.set(c, i), this.stylePromises.get(c);
@@ -21,6 +21,18 @@ const m = {
21
21
  ${t.children}
22
22
  </ds-icon>
23
23
  `),
24
+ createCalendarDay: (t = {}) => (i("ds-calendar-day", () => import("../components/ds-calendar-day/ds-calendar-day.js")), a`
25
+ <ds-calendar-day
26
+ class=${e(t == null ? void 0 : t.class)}
27
+ day=${e(t == null ? void 0 : t.day)}
28
+ size=${e(t == null ? void 0 : t.size)}
29
+ ?disabled=${t == null ? void 0 : t.disabled}
30
+ ?selected=${t == null ? void 0 : t.selected}
31
+ ?today=${t == null ? void 0 : t.today}
32
+ ?outside-month=${t == null ? void 0 : t["outside-month"]}
33
+ data-testid=${e(t == null ? void 0 : t["data-testid"])}
34
+ ></ds-calendar-day>
35
+ `),
24
36
  createButton: (t = {}) => (i("ds-button", () => import("../components/ds-button/ds-button.js")), a`
25
37
  <ds-button
26
38
  class=${t == null ? void 0 : t.class}
@@ -136,6 +148,18 @@ const m = {
136
148
  ${t.children}
137
149
  </ds-icon-react>
138
150
  `),
151
+ createCalendarDay: (t = {}) => (i("ds-calendar-day-react", () => import("../components/ds-calendar-day/ds-calendar-day.js")), a`
152
+ <ds-calendar-day-react
153
+ class=${e(t == null ? void 0 : t.class)}
154
+ day=${e(t == null ? void 0 : t.day)}
155
+ size=${e(t == null ? void 0 : t.size)}
156
+ ?disabled=${t == null ? void 0 : t.disabled}
157
+ ?selected=${t == null ? void 0 : t.selected}
158
+ ?today=${t == null ? void 0 : t.today}
159
+ ?outside-month=${t == null ? void 0 : t["outside-month"]}
160
+ data-testid=${e(t == null ? void 0 : t["data-testid"])}
161
+ ></ds-calendar-day-react>
162
+ `),
139
163
  createButton: (t = {}) => (i("ds-button-react", () => import("../components/ds-button/ds-button.js")), a`
140
164
  <ds-button-react
141
165
  class=${t == null ? void 0 : t.class}
@@ -233,9 +257,9 @@ const m = {
233
257
  </ds-tooltip-react>
234
258
  `)
235
259
  };
236
- function i(t, n) {
260
+ function i(t, d) {
237
261
  try {
238
- typeof window < "u" && typeof customElements < "u" && !customElements.get(t) && n();
262
+ typeof window < "u" && typeof customElements < "u" && !customElements.get(t) && d();
239
263
  } catch {
240
264
  }
241
265
  }
@@ -3,7 +3,7 @@ import "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
3
3
  import "../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
4
4
  import { unsafeCSS as n, css as o } from "../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js";
5
5
  function x(t, ...r) {
6
- const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-82"), i = n(e);
6
+ const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-83"), i = n(e);
7
7
  return o`${i}`;
8
8
  }
9
9
  export {
@@ -3,7 +3,7 @@ import { html as n } from "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit
3
3
  import "../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
4
4
  import { unsafeHTML as i } from "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.js";
5
5
  function x(t, ...r) {
6
- const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-82"), e = i(o);
6
+ const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-83"), e = i(o);
7
7
  return n`${e}`;
8
8
  }
9
9
  export {
@@ -1,10 +1,11 @@
1
1
  import { UiKitElement } from '../base/UiKitElement.ts';
2
2
  import '../ds-calendar-day/ds-calendar-day.ts';
3
- import type { DsCalendarAttrs, DsCalendarVariant, WeekDay } from './ds-calendar.types';
3
+ import type { DsCalendarAttrs, DsCalendarSize, DsCalendarVariant, WeekDay } from './ds-calendar.types';
4
4
  export declare class DsCalendar extends UiKitElement {
5
5
  static styles: import("lit").CSSResult[];
6
6
  value: DsCalendarAttrs['value'];
7
7
  variant: DsCalendarVariant;
8
+ size: DsCalendarSize;
8
9
  locale: DsCalendarAttrs['locale'];
9
10
  firstDayOfWeek: WeekDay;
10
11
  minDate: DsCalendarAttrs['min-date'];
@@ -34,6 +35,7 @@ export declare class DsCalendar extends UiKitElement {
34
35
  private handlePrevMonth;
35
36
  private handleNextMonth;
36
37
  private handleDayChange;
38
+ private get navButtonSize();
37
39
  private get prevButtonTemplate();
38
40
  private get nextButtonTemplate();
39
41
  private get weekdaysTemplate();
@@ -1,11 +1,14 @@
1
1
  import type { CommonAttrs } from '../../types/types';
2
2
  export type DsCalendarVariant = 'plane' | 'elevated';
3
+ export type DsCalendarSize = 'large' | 'medium';
3
4
  export type WeekDay = 0 | 1 | 2 | 3 | 4 | 5 | 6;
4
5
  export interface DsCalendarAttrs extends CommonAttrs {
5
6
  /** Selected date in ISO format (YYYY-MM-DD) */
6
7
  value?: string;
7
8
  /** Visual style variant */
8
9
  variant?: DsCalendarVariant;
10
+ /** Size variant */
11
+ size?: DsCalendarSize;
9
12
  /** BCP 47 locale for formatting (e.g., 'es-ES', 'en-US') */
10
13
  locale?: string;
11
14
  /** First day of week (0=Sunday, 1=Monday, etc.) */
@@ -1,13 +1,15 @@
1
1
  import { UiKitElement } from '../base/UiKitElement.ts';
2
- import type { DsCalendarDayAttrs } from './ds-calendar-day.types';
2
+ import type { DsCalendarDayAttrs, DsCalendarDaySize } from './ds-calendar-day.types';
3
3
  export declare class DsCalendarDay extends UiKitElement {
4
4
  static styles: import("lit").CSSResult[];
5
5
  day: DsCalendarDayAttrs['day'];
6
+ size: DsCalendarDaySize;
6
7
  disabled: DsCalendarDayAttrs['disabled'];
7
8
  selected: DsCalendarDayAttrs['selected'];
8
9
  today: DsCalendarDayAttrs['today'];
9
10
  outsideMonth: DsCalendarDayAttrs['outside-month'];
10
11
  protected get classes(): {
12
+ [x: string]: boolean;
11
13
  day: boolean;
12
14
  disabled: boolean;
13
15
  selected: boolean;
@@ -1,8 +1,10 @@
1
1
  import type { CommonAttrs } from '../../types/types';
2
2
  export type DsCalendarDayState = 'default' | 'hover' | 'pressed' | 'disabled' | 'selected' | 'today';
3
+ export type DsCalendarDaySize = 'large' | 'medium';
3
4
  export interface DsCalendarDayAttrs extends CommonAttrs {
4
5
  day?: number;
5
6
  state?: DsCalendarDayState;
7
+ size?: DsCalendarDaySize;
6
8
  disabled?: boolean;
7
9
  selected?: boolean;
8
10
  today?: boolean;
@@ -0,0 +1,29 @@
1
+ import { UiKitElement } from '../base/UiKitElement.ts';
2
+ import type { DsDatePickerAttrs } from './ds-date-picker.types.ts';
3
+ declare const DsDatePicker_base: (new (...args: any[]) => import("../../mixins/inputStatesMixin.ts").InputStatesInterface) & typeof UiKitElement;
4
+ export declare class DsDatePicker extends DsDatePicker_base {
5
+ static styles: import("lit").CSSResult[];
6
+ size: DsDatePickerAttrs['size'];
7
+ helperText: DsDatePickerAttrs['helper-text'];
8
+ forcedError: DsDatePickerAttrs['forced-error'];
9
+ invalidError: DsDatePickerAttrs['invalid-error'];
10
+ readonlyText: DsDatePickerAttrs['readonly-text'];
11
+ dataAriaLabelCalendarButton: DsDatePickerAttrs['data-aria-label-calendar-button'];
12
+ private isExpanded;
13
+ private handleCalendarButtonClick;
14
+ private handleCalendarChange;
15
+ private handleDocumentClick;
16
+ private static nativeStylesInjected;
17
+ connectedCallback(): void;
18
+ private static injectNativeInputStyles;
19
+ disconnectedCallback(): void;
20
+ private get classes();
21
+ render(): import("lit").TemplateResult<1>;
22
+ private get calendarDropdownTemplate();
23
+ private get calendarButtonTemplate();
24
+ private get helperTextTemplate();
25
+ private get forcedErrorTemplate();
26
+ private get readonlyTextTemplate();
27
+ private get invalidErrorTemplate();
28
+ }
29
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { DsDatePicker } from './ds-date-picker.ts';
2
+ import './ds-date-picker.ts';
3
+ import '../ds-theme-provider/ds-theme-provider.ts';
4
+ import '../ds-icon-button/ds-icon-button.ts';
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ 'ds-date-picker': DsDatePicker;
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { CommonAttrs } from '../../types/types';
2
+ export type DsDatePickerAttrs = {
3
+ size?: 'large' | 'medium';
4
+ 'helper-text'?: string;
5
+ 'forced-error'?: string;
6
+ 'invalid-error'?: string;
7
+ 'readonly-text'?: string;
8
+ 'data-aria-label-calendar-button'?: string;
9
+ } & CommonAttrs;
@@ -0,0 +1 @@
1
+ export declare const commonStyles: import("lit").CSSResult;
@@ -17,6 +17,7 @@ import './ds-checkbox-group/ds-checkbox-group.ts';
17
17
  import './ds-chip/ds-chip.ts';
18
18
  import './ds-chips/ds-chips.ts';
19
19
  import './ds-currency/ds-currency.ts';
20
+ import './ds-date-picker/ds-date-picker.ts';
20
21
  import './ds-dialog/ds-dialog.ts';
21
22
  import './ds-dialog-body/ds-dialog-body.ts';
22
23
  import './ds-dialog-footer/ds-dialog-footer.ts';
@@ -1,4 +1,5 @@
1
1
  import type { DsButtonAttrs } from '../components/ds-button/ds-button.types.ts';
2
+ import type { DsCalendarDayAttrs } from '../components/ds-calendar-day/ds-calendar-day.types.ts';
2
3
  import { DsDividerAttrs } from '../components/ds-divider/ds-divider.types';
3
4
  import type { DsIconButtonAttrs } from '../components/ds-icon-button/ds-icon-button.types.ts';
4
5
  import type { DsIconAttrs } from '../components/ds-icon/ds-icon.types.ts';
@@ -11,6 +12,7 @@ type GetAttributes<T> = (props?: T) => any;
11
12
  export type ComponentFactory = {
12
13
  createIcon: GetAttributes<DsIconAttrs>;
13
14
  createButton: GetAttributes<DsButtonAttrs>;
15
+ createCalendarDay: GetAttributes<DsCalendarDayAttrs>;
14
16
  createDivider: GetAttributes<DsDividerAttrs>;
15
17
  createIconButton: GetAttributes<DsIconButtonAttrs>;
16
18
  createLoaderSpinner: GetAttributes<DsLoaderSpinnerAttrs>;
@@ -1,21 +1,13 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../base/UiKitElement.cjs");require("../ds-calendar-day/ds-calendar-day.cjs");const _=require("../../decorators/customUiKitElement.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const p=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const o=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),m=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs"),C=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),M=require("./styles/common.styles.cjs");var S=Object.defineProperty,k=Object.getOwnPropertyDescriptor,n=(f,e,t,s)=>{for(var r=s>1?void 0:s?k(e,t):e,i=f.length-1,a;i>=0;i--)(a=f[i])&&(r=(s?a(e,t,r):a(r))||r);return s&&r&&S(e,t,r),r};exports.DsCalendar=class extends b.UiKitElement{constructor(){super(...arguments),this.variant="plane",this.locale="en-US",this.firstDayOfWeek=1,this.disabledDates=[],this.disabledWeekdays=[],this._viewDate=new Date,this._value=null,this._initialValueApplied=!1}get selectedDate(){if(this.value){const e=this.parseDate(this.value);if(e)return e}return this._value}get viewDate(){return this._viewDate}connectedCallback(){super.connectedCallback(),this.applyInitialValue(),this.initializeViewDate()}updated(e){super.updated(e),(e.has("value")||e.has("viewDateAttr"))&&this.initializeViewDate()}applyInitialValue(){if(!this._initialValueApplied&&(this._initialValueApplied=!0,this.initialValue)){const e=this.parseDate(this.initialValue);e&&(this._value=e)}}initializeViewDate(){if(this.viewDateAttr){const e=this.parseDate(this.viewDateAttr);e&&(this._viewDate=e)}else if(this.value){const e=this.parseDate(this.value);e&&(this._viewDate=new Date(e))}else this._value?this._viewDate=new Date(this._value):this._viewDate=new Date}parseDate(e){const t=e.split("-");if(t.length>=2){const s=Number.parseInt(t[0],10),r=Number.parseInt(t[1],10)-1,i=t.length>=3?Number.parseInt(t[2],10):1,a=new Date(s,r,i);if(!Number.isNaN(a.getTime()))return a}return null}get calendarClasses(){return{calendar:!0,[this.variant]:!0}}get weekdayNames(){const e=new Intl.DateTimeFormat(this.locale,{weekday:"short"}),t=[],s=new Date(2024,0,1);for(;s.getDay()!==this.firstDayOfWeek;)s.setDate(s.getDate()+1);for(let r=0;r<7;r++){const i=new Date(s);i.setDate(s.getDate()+r);const a=e.format(i);t.push(a.slice(0,2))}return t}get monthYearLabel(){return new Intl.DateTimeFormat(this.locale,{month:"long",year:"numeric"}).format(this._viewDate)}getDaysInMonth(e,t){return new Date(e,t+1,0).getDate()}getFirstDayOfMonth(e,t){return new Date(e,t,1).getDay()}get calendarDays(){const e=this._viewDate.getFullYear(),t=this._viewDate.getMonth(),s=new Date;s.setHours(0,0,0,0);const r=this.getDaysInMonth(e,t);let a=this.getFirstDayOfMonth(e,t)-this.firstDayOfWeek;a<0&&(a+=7);const d=[],c=t===0?11:t-1,h=t===0?e-1:e,u=this.getDaysInMonth(h,c);for(let l=a-1;l>=0;l--){const D=u-l,w=new Date(h,c,D);d.push(this.createCalendarDay(w,!1,s))}for(let l=1;l<=r;l++){const D=new Date(e,t,l);d.push(this.createCalendarDay(D,!0,s))}const y=42-d.length,v=t===11?0:t+1,g=t===11?e+1:e;for(let l=1;l<=y;l++){const D=new Date(g,v,l);d.push(this.createCalendarDay(D,!1,s))}return d}createCalendarDay(e,t,s){e.setHours(0,0,0,0);const r=e.getDate(),i=e.getMonth(),a=e.getFullYear(),d=r===s.getDate()&&i===s.getMonth()&&a===s.getFullYear(),c=this.selectedDate,h=c?r===c.getDate()&&i===c.getMonth()&&a===c.getFullYear():!1,u=!t||this.isDateDisabled(e);return{day:r,month:i,year:a,date:e,isCurrentMonth:t,isToday:d,isSelected:h,isDisabled:u}}isDateDisabled(e){if(this.minDate){const t=new Date(this.minDate);if(t.setHours(0,0,0,0),e<t)return!0}if(this.maxDate){const t=new Date(this.maxDate);if(t.setHours(0,0,0,0),e>t)return!0}if(this.disabledWeekdays&&this.disabledWeekdays.length>0){const t=e.getDay();if(this.disabledWeekdays.includes(t))return!0}if(this.disabledDates&&this.disabledDates.length>0){const t=e.toISOString().split("T")[0];if(this.disabledDates.includes(t))return!0}return!1}handlePrevMonth(){const e=new Date(this._viewDate);e.setMonth(e.getMonth()-1),this._viewDate=e}handleNextMonth(){const e=new Date(this._viewDate);e.setMonth(e.getMonth()+1),this._viewDate=e}handleDayChange(e){var y;e.stopPropagation();const t=e.target;if(!t||!t.tagName.toLowerCase().startsWith("ds-calendar-day"))return;const r=Array.from(((y=this.shadowRoot)==null?void 0:y.querySelectorAll("ds-calendar-day"))||[]).indexOf(t);if(r===-1)return;const a=this.calendarDays[r];if(!a||a.isDisabled)return;this._value=a.date,this._viewDate=new Date(a.date);const d=a.date.getFullYear(),c=String(a.date.getMonth()+1).padStart(2,"0"),h=String(a.date.getDate()).padStart(2,"0"),u=`${d}-${c}-${h}`;this.dispatchEvent(new CustomEvent("ds-calendar-change",{bubbles:!0,composed:!0,detail:{value:u,date:a.date}}))}get prevButtonTemplate(){return this.componentFactory.createIconButton({class:"nav-button","icon-name":"arrow-left","data-aria-label":"Previous month","@click":this.handlePrevMonth,variant:"naked",size:"medium",color:"var(--ds-icon-button-icon-color-standard-default, #fafafa)"})}get nextButtonTemplate(){return this.componentFactory.createIconButton({class:"nav-button","icon-name":"arrow-right","data-aria-label":"Next month","@click":this.handleNextMonth,variant:"naked",size:"medium",color:"var(--ds-icon-button-icon-color-standard-default, #fafafa)"})}get weekdaysTemplate(){return p.html`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../base/UiKitElement.cjs");require("../ds-calendar-day/ds-calendar-day.cjs");const C=require("../../decorators/customUiKitElement.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const y=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const d=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),v=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs"),_=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),M=require("./styles/common.styles.cjs");var S=Object.defineProperty,k=Object.getOwnPropertyDescriptor,l=(m,e,t,a)=>{for(var s=a>1?void 0:a?k(e,t):e,i=m.length-1,r;i>=0;i--)(r=m[i])&&(s=(a?r(e,t,s):r(s))||s);return a&&s&&S(e,t,s),s};exports.DsCalendar=class extends b.UiKitElement{constructor(){super(...arguments),this.variant="plane",this.size="large",this.locale="en-US",this.firstDayOfWeek=1,this.disabledDates=[],this.disabledWeekdays=[],this._viewDate=new Date,this._value=null,this._initialValueApplied=!1}get selectedDate(){if(this.value){const e=this.parseDate(this.value);if(e)return e}return this._value}get viewDate(){return this._viewDate}connectedCallback(){super.connectedCallback(),this.applyInitialValue(),this.initializeViewDate()}updated(e){super.updated(e),(e.has("value")||e.has("viewDateAttr"))&&this.initializeViewDate()}applyInitialValue(){if(!this._initialValueApplied&&(this._initialValueApplied=!0,this.initialValue)){const e=this.parseDate(this.initialValue);e&&(this._value=e)}}initializeViewDate(){if(this.viewDateAttr){const e=this.parseDate(this.viewDateAttr);e&&(this._viewDate=e)}else if(this.value){const e=this.parseDate(this.value);e&&(this._viewDate=new Date(e))}else this._value?this._viewDate=new Date(this._value):this._viewDate=new Date}parseDate(e){const t=e.split("-");if(t.length>=2){const a=Number.parseInt(t[0],10),s=Number.parseInt(t[1],10)-1,i=t.length>=3?Number.parseInt(t[2],10):1,r=new Date(a,s,i);if(!Number.isNaN(r.getTime()))return r}return null}get calendarClasses(){return{calendar:!0,[this.variant]:!0,[this.size]:!0}}get weekdayNames(){const e=new Intl.DateTimeFormat(this.locale,{weekday:"short"}),t=[],a=new Date(2024,0,1);for(;a.getDay()!==this.firstDayOfWeek;)a.setDate(a.getDate()+1);for(let s=0;s<7;s++){const i=new Date(a);i.setDate(a.getDate()+s);const r=e.format(i);t.push(r.slice(0,2))}return t}get monthYearLabel(){return new Intl.DateTimeFormat(this.locale,{month:"long",year:"numeric"}).format(this._viewDate)}getDaysInMonth(e,t){return new Date(e,t+1,0).getDate()}getFirstDayOfMonth(e,t){return new Date(e,t,1).getDay()}get calendarDays(){const e=this._viewDate.getFullYear(),t=this._viewDate.getMonth(),a=new Date;a.setHours(0,0,0,0);const s=this.getDaysInMonth(e,t);let r=this.getFirstDayOfMonth(e,t)-this.firstDayOfWeek;r<0&&(r+=7);const n=[],h=t===0?11:t-1,c=t===0?e-1:e,u=this.getDaysInMonth(c,h);for(let o=r-1;o>=0;o--){const p=u-o,w=new Date(c,h,p);n.push(this.createCalendarDay(w,!1,a))}for(let o=1;o<=s;o++){const p=new Date(e,t,o);n.push(this.createCalendarDay(p,!0,a))}const f=42-n.length,D=t===11?0:t+1,g=t===11?e+1:e;for(let o=1;o<=f;o++){const p=new Date(g,D,o);n.push(this.createCalendarDay(p,!1,a))}return n}createCalendarDay(e,t,a){e.setHours(0,0,0,0);const s=e.getDate(),i=e.getMonth(),r=e.getFullYear(),n=s===a.getDate()&&i===a.getMonth()&&r===a.getFullYear(),h=this.selectedDate,c=h?s===h.getDate()&&i===h.getMonth()&&r===h.getFullYear():!1,u=!t||this.isDateDisabled(e);return{day:s,month:i,year:r,date:e,isCurrentMonth:t,isToday:n,isSelected:c,isDisabled:u}}isDateDisabled(e){if(this.minDate){const t=new Date(this.minDate);if(t.setHours(0,0,0,0),e<t)return!0}if(this.maxDate){const t=new Date(this.maxDate);if(t.setHours(0,0,0,0),e>t)return!0}if(this.disabledWeekdays&&this.disabledWeekdays.length>0){const t=e.getDay();if(this.disabledWeekdays.includes(t))return!0}if(this.disabledDates&&this.disabledDates.length>0){const t=e.toISOString().split("T")[0];if(this.disabledDates.includes(t))return!0}return!1}handlePrevMonth(){const e=new Date(this._viewDate);e.setMonth(e.getMonth()-1),this._viewDate=e}handleNextMonth(){const e=new Date(this._viewDate);e.setMonth(e.getMonth()+1),this._viewDate=e}handleDayChange(e){var D;e.stopPropagation();const t=e.target;if(!t||!t.tagName.toLowerCase().startsWith("ds-calendar-day"))return;const a=t.tagName.toLowerCase(),i=Array.from(((D=this.shadowRoot)==null?void 0:D.querySelectorAll(a))||[]).indexOf(t);if(i===-1)return;const n=this.calendarDays[i];if(!n||n.isDisabled)return;this._value=n.date,this._viewDate=new Date(n.date);const h=n.date.getFullYear(),c=String(n.date.getMonth()+1).padStart(2,"0"),u=String(n.date.getDate()).padStart(2,"0"),f=`${h}-${c}-${u}`;this.dispatchEvent(new CustomEvent("ds-calendar-change",{bubbles:!0,composed:!0,detail:{value:f,date:n.date}}))}get navButtonSize(){return this.size==="medium"?"small":"medium"}get prevButtonTemplate(){return this.componentFactory.createIconButton({class:"nav-button","icon-name":"arrow-left","data-aria-label":"Previous month","@click":this.handlePrevMonth,variant:"naked",size:this.navButtonSize,color:"var(--ds-icon-button-icon-color-standard-default, #fafafa)"})}get nextButtonTemplate(){return this.componentFactory.createIconButton({class:"nav-button","icon-name":"arrow-right","data-aria-label":"Next month","@click":this.handleNextMonth,variant:"naked",size:this.navButtonSize,color:"var(--ds-icon-button-icon-color-standard-default, #fafafa)"})}get weekdaysTemplate(){return y.html`
2
2
  <div class="weekdays">
3
- ${this.weekdayNames.map(e=>p.html`<div class="weekday">${e}</div>`)}
3
+ ${this.weekdayNames.map(e=>y.html`<div class="weekday">${e}</div>`)}
4
4
  </div>
5
- `}get daysTemplate(){return p.html`
5
+ `}get daysTemplate(){return y.html`
6
6
  <div class="days-grid" @ds-calendar-day-change=${this.handleDayChange}>
7
- ${this.calendarDays.map(e=>p.html`
8
- <ds-calendar-day
9
- day=${e.day}
10
- ?disabled=${e.isDisabled}
11
- ?selected=${e.isSelected}
12
- ?today=${e.isToday}
13
- ?outside-month=${!e.isCurrentMonth}
14
- ></ds-calendar-day>
15
- `)}
7
+ ${this.calendarDays.map(e=>this.componentFactory.createCalendarDay({day:e.day,size:this.size,disabled:e.isDisabled,selected:e.isSelected,today:e.isToday,"outside-month":!e.isCurrentMonth}))}
16
8
  </div>
17
- `}render(){return p.html`
18
- <div class=${C.classMap(this.calendarClasses)} role="application" aria-label="Calendar">
9
+ `}render(){return y.html`
10
+ <div class=${_.classMap(this.calendarClasses)} role="application" aria-label="Calendar">
19
11
  <div class="header">
20
12
  ${this.prevButtonTemplate}
21
13
  <div class="month-year" aria-live="polite">${this.monthYearLabel}</div>
@@ -23,4 +15,4 @@
23
15
  </div>
24
16
  ${this.weekdaysTemplate} ${this.daysTemplate}
25
17
  </div>
26
- `}};exports.DsCalendar.styles=[M.commonStyles];n([o.property({type:String,reflect:!0})],exports.DsCalendar.prototype,"value",2);n([o.property({type:String,reflect:!0})],exports.DsCalendar.prototype,"variant",2);n([o.property({type:String,reflect:!0})],exports.DsCalendar.prototype,"locale",2);n([o.property({type:Number,reflect:!0,attribute:"first-day-of-week"})],exports.DsCalendar.prototype,"firstDayOfWeek",2);n([o.property({type:String,reflect:!0,attribute:"min-date"})],exports.DsCalendar.prototype,"minDate",2);n([o.property({type:String,reflect:!0,attribute:"max-date"})],exports.DsCalendar.prototype,"maxDate",2);n([o.property({type:Array,attribute:"disabled-dates"})],exports.DsCalendar.prototype,"disabledDates",2);n([o.property({type:Array,attribute:"disabled-weekdays"})],exports.DsCalendar.prototype,"disabledWeekdays",2);n([o.property({type:String,reflect:!0,attribute:"view-date"})],exports.DsCalendar.prototype,"viewDateAttr",2);n([o.property({type:String,attribute:"initial-value"})],exports.DsCalendar.prototype,"initialValue",2);n([m.state()],exports.DsCalendar.prototype,"_viewDate",2);n([m.state()],exports.DsCalendar.prototype,"_value",2);exports.DsCalendar=n([_.customUiKitElement("ds-calendar")],exports.DsCalendar);
18
+ `}};exports.DsCalendar.styles=[M.commonStyles];l([d.property({type:String,reflect:!0})],exports.DsCalendar.prototype,"value",2);l([d.property({type:String,reflect:!0})],exports.DsCalendar.prototype,"variant",2);l([d.property({type:String,reflect:!0})],exports.DsCalendar.prototype,"size",2);l([d.property({type:String,reflect:!0})],exports.DsCalendar.prototype,"locale",2);l([d.property({type:Number,reflect:!0,attribute:"first-day-of-week"})],exports.DsCalendar.prototype,"firstDayOfWeek",2);l([d.property({type:String,reflect:!0,attribute:"min-date"})],exports.DsCalendar.prototype,"minDate",2);l([d.property({type:String,reflect:!0,attribute:"max-date"})],exports.DsCalendar.prototype,"maxDate",2);l([d.property({type:Array,attribute:"disabled-dates"})],exports.DsCalendar.prototype,"disabledDates",2);l([d.property({type:Array,attribute:"disabled-weekdays"})],exports.DsCalendar.prototype,"disabledWeekdays",2);l([d.property({type:String,reflect:!0,attribute:"view-date"})],exports.DsCalendar.prototype,"viewDateAttr",2);l([d.property({type:String,attribute:"initial-value"})],exports.DsCalendar.prototype,"initialValue",2);l([v.state()],exports.DsCalendar.prototype,"_viewDate",2);l([v.state()],exports.DsCalendar.prototype,"_value",2);exports.DsCalendar=l([C.customUiKitElement("ds-calendar")],exports.DsCalendar);
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("../base/UiKitElement.cjs"),c=require("../../decorators/customUiKitElement.cjs"),o=require("../../utils/booleanConverter.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const u=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const a=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),p=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),h=require("./styles/common.styles.cjs");var b=Object.defineProperty,D=Object.getOwnPropertyDescriptor,r=(l,e,n,s)=>{for(var t=s>1?void 0:s?D(e,n):e,i=l.length-1,d;i>=0;i--)(d=l[i])&&(t=(s?d(e,n,t):d(t))||t);return s&&t&&b(e,n,t),t};exports.DsCalendarDay=class extends y.UiKitElement{constructor(){super(...arguments),this.disabled=!1,this.selected=!1,this.today=!1,this.outsideMonth=!1}get classes(){return{day:!0,disabled:this.disabled,selected:this.selected,today:this.today,"outside-month":this.outsideMonth}}handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}this.dispatchEvent(new CustomEvent("ds-calendar-day-change",{bubbles:!0,composed:!0,detail:{day:this.day}}))}handleKeyDown(e){this.disabled||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.handleClick(e))}render(){return u.html`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("../base/UiKitElement.cjs"),c=require("../../decorators/customUiKitElement.cjs"),o=require("../../utils/booleanConverter.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const p=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const a=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),u=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),h=require("./styles/common.styles.cjs");var D=Object.defineProperty,b=Object.getOwnPropertyDescriptor,r=(l,e,i,s)=>{for(var t=s>1?void 0:s?b(e,i):e,n=l.length-1,d;n>=0;n--)(d=l[n])&&(t=(s?d(e,i,t):d(t))||t);return s&&t&&D(e,i,t),t};exports.DsCalendarDay=class extends y.UiKitElement{constructor(){super(...arguments),this.size="large",this.disabled=!1,this.selected=!1,this.today=!1,this.outsideMonth=!1}get classes(){return{day:!0,[this.size]:!0,disabled:this.disabled,selected:this.selected,today:this.today,"outside-month":this.outsideMonth}}handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}this.dispatchEvent(new CustomEvent("ds-calendar-day-change",{bubbles:!0,composed:!0,detail:{day:this.day}}))}handleKeyDown(e){this.disabled||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.handleClick(e))}render(){return p.html`
2
2
  <button
3
- class=${p.classMap(this.classes)}
3
+ class=${u.classMap(this.classes)}
4
4
  ?disabled=${this.disabled}
5
5
  aria-label=${this.day?`Day ${this.day}`:""}
6
6
  aria-selected=${this.selected}
@@ -11,4 +11,4 @@
11
11
  >
12
12
  ${this.day}
13
13
  </button>
14
- `}};exports.DsCalendarDay.styles=[h.commonStyles];r([a.property({type:Number,reflect:!0})],exports.DsCalendarDay.prototype,"day",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0})],exports.DsCalendarDay.prototype,"disabled",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0})],exports.DsCalendarDay.prototype,"selected",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0})],exports.DsCalendarDay.prototype,"today",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0,attribute:"outside-month"})],exports.DsCalendarDay.prototype,"outsideMonth",2);exports.DsCalendarDay=r([c.customUiKitElement("ds-calendar-day")],exports.DsCalendarDay);
14
+ `}};exports.DsCalendarDay.styles=[h.commonStyles];r([a.property({type:Number,reflect:!0})],exports.DsCalendarDay.prototype,"day",2);r([a.property({type:String,reflect:!0})],exports.DsCalendarDay.prototype,"size",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0})],exports.DsCalendarDay.prototype,"disabled",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0})],exports.DsCalendarDay.prototype,"selected",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0})],exports.DsCalendarDay.prototype,"today",2);r([a.property({type:Boolean,converter:o.booleanConverter,reflect:!0,attribute:"outside-month"})],exports.DsCalendarDay.prototype,"outsideMonth",2);exports.DsCalendarDay=r([c.customUiKitElement("ds-calendar-day")],exports.DsCalendarDay);
@@ -0,0 +1,20 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../base/UiKitElement.cjs"),c=require("../../decorators/customUiKitElement.cjs"),u=require("../../mixins/inputStatesMixin.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const e=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const a=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),h=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs"),y=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),v=require("./styles/common.styles.cjs");var m=Object.defineProperty,D=Object.getOwnPropertyDescriptor,r=(l,t,n,s)=>{for(var i=s>1?void 0:s?D(t,n):t,d=l.length-1,o;d>=0;d--)(o=l[d])&&(i=(s?o(t,n,i):o(i))||i);return s&&i&&m(t,n,i),i};exports.DsDatePicker=class extends u.inputStatesMixin(p.UiKitElement){constructor(){super(...arguments),this.size="large",this.helperText="",this.forcedError="",this.invalidError="",this.readonlyText="",this.dataAriaLabelCalendarButton="",this.isExpanded=!1,this.handleCalendarButtonClick=()=>{this.inputStates.disabled||this.inputStates.readonly||(this.isExpanded=!this.isExpanded)},this.handleCalendarChange=t=>{t.stopPropagation();const n=t.detail.value;this.nativeInput&&(this.nativeInput.value=n,this.nativeInput.dispatchEvent(new Event("input",{bubbles:!0}))),this.isExpanded=!1},this.handleDocumentClick=t=>{this.isExpanded&&!this.contains(t.target)&&(this.isExpanded=!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.handleDocumentClick),this.addEventListener("ds-calendar-change",this.handleCalendarChange),exports.DsDatePicker.injectNativeInputStyles()}static injectNativeInputStyles(){if(exports.DsDatePicker.nativeStylesInjected)return;exports.DsDatePicker.nativeStylesInjected=!0;const t=document.createElement("style");t.setAttribute("data-ds-date-picker",""),t.textContent=['ds-date-picker input[type="date"]::-webkit-calendar-picker-indicator { display: none !important; }','ds-date-picker input[type="date"]::-webkit-inner-spin-button { display: none !important; }','ds-date-picker-react input[type="date"]::-webkit-calendar-picker-indicator { display: none !important; }','ds-date-picker-react input[type="date"]::-webkit-inner-spin-button { display: none !important; }'].join(`
2
+ `),document.head.appendChild(t)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.handleDocumentClick),this.removeEventListener("ds-calendar-change",this.handleCalendarChange)}get classes(){return{container:!0,error:!!this.forcedError,[this.size]:!!this.size,disabled:this.inputStates.disabled,readonly:this.inputStates.readonly,filled:this.inputStates.filled,invalid:this.inputStates.invalid,focus:this.inputStates.focus,"focus-visible":this.inputStates.focusVisible,expanded:this.isExpanded}}render(){return e.html`
3
+ <div class=${y.classMap(this.classes)}>
4
+ <div class="input-container">
5
+ <div><slot></slot></div>
6
+ ${this.calendarButtonTemplate}
7
+ </div>
8
+ ${this.calendarDropdownTemplate}
9
+ <div class="footer">
10
+ ${this.readonlyTextTemplate}
11
+ ${this.helperTextTemplate}
12
+ ${this.forcedErrorTemplate}
13
+ ${this.invalidErrorTemplate}
14
+ </div>
15
+ </div>
16
+ `}get calendarDropdownTemplate(){return e.html`
17
+ <div class="calendar-dropdown" ?hidden=${!this.isExpanded}>
18
+ <slot name="calendar"></slot>
19
+ </div>
20
+ `}get calendarButtonTemplate(){var t;return this.componentFactory.createIconButton({class:"calendar-button","icon-name":"calendar",size:this.size,disabled:!!((t=this.nativeInput)!=null&&t.disabled),variant:"naked","@click":this.handleCalendarButtonClick,"data-aria-label":this.dataAriaLabelCalendarButton||"open calendar"})}get helperTextTemplate(){return this.inputStates.readonly||this.forcedError||this.inputStates.invalid&&this.invalidError?e.nothing:e.html`<span class="support-text helper-text">${this.helperText}</span>`}get forcedErrorTemplate(){return this.inputStates.readonly||!this.forcedError?e.nothing:e.html`<span class="support-text error-text forced-error">${this.forcedError}</span>`}get readonlyTextTemplate(){return!this.inputStates.readonly||!this.readonlyText?e.nothing:e.html`<span class="support-text readonly-text">${this.readonlyText}</span>`}get invalidErrorTemplate(){return this.inputStates.readonly||this.forcedError||!this.inputStates.invalid||!this.invalidError?e.nothing:e.html`<span class="support-text error-text invalid-error">${this.invalidError}</span>`}};exports.DsDatePicker.styles=[v.commonStyles];exports.DsDatePicker.nativeStylesInjected=!1;r([a.property({type:String})],exports.DsDatePicker.prototype,"size",2);r([a.property({type:String,attribute:"helper-text"})],exports.DsDatePicker.prototype,"helperText",2);r([a.property({type:String,attribute:"forced-error"})],exports.DsDatePicker.prototype,"forcedError",2);r([a.property({type:String,attribute:"invalid-error"})],exports.DsDatePicker.prototype,"invalidError",2);r([a.property({type:String,attribute:"readonly-text"})],exports.DsDatePicker.prototype,"readonlyText",2);r([a.property({type:String,attribute:"data-aria-label-calendar-button"})],exports.DsDatePicker.prototype,"dataAriaLabelCalendarButton",2);r([h.state()],exports.DsDatePicker.prototype,"isExpanded",2);exports.DsDatePicker=r([c.customUiKitElement("ds-date-picker")],exports.DsDatePicker);
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");require("../../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const e=require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.cjs"),s=e.css`
2
+ :host {
3
+ display: contents;
4
+ }
5
+ `;exports.commonStyles=s;