@cupra/ui-kit 2.0.0-canary.81 → 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.
- package/dist/cjs/components/ds-calendar/ds-calendar.cjs +7 -15
- package/dist/cjs/components/ds-calendar-day/ds-calendar-day.cjs +3 -3
- package/dist/cjs/components/ds-date-picker/ds-date-picker.cjs +20 -0
- package/dist/cjs/components/ds-date-picker/styles/common.styles.cjs +5 -0
- package/dist/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/utils/IconsManager.cjs +1 -1
- package/dist/cjs/utils/PubSub.cjs +1 -1
- package/dist/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
- package/dist/cjs/utils/componentFactory.cjs +24 -2
- package/dist/cjs/utils/cssWithTokens.cjs +1 -1
- package/dist/cjs/utils/htmlWithTokens.cjs +1 -1
- package/dist/esm/components/ds-calendar/ds-calendar.js +89 -83
- package/dist/esm/components/ds-calendar-day/ds-calendar-day.js +13 -9
- package/dist/esm/components/ds-date-picker/ds-date-picker.js +137 -0
- package/dist/esm/components/ds-date-picker/styles/common.styles.js +12 -0
- package/dist/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/utils/IconsManager.js +1 -1
- package/dist/esm/utils/PubSub.js +1 -1
- package/dist/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
- package/dist/esm/utils/componentFactory.js +26 -2
- package/dist/esm/utils/cssWithTokens.js +1 -1
- package/dist/esm/utils/htmlWithTokens.js +1 -1
- package/dist/types/components/ds-calendar/ds-calendar.d.ts +3 -1
- package/dist/types/components/ds-calendar/ds-calendar.types.d.ts +3 -0
- package/dist/types/components/ds-calendar-day/ds-calendar-day.d.ts +3 -1
- package/dist/types/components/ds-calendar-day/ds-calendar-day.types.d.ts +2 -0
- package/dist/types/components/ds-date-picker/ds-date-picker.d.ts +29 -0
- package/dist/types/components/ds-date-picker/ds-date-picker.test.d.ts +9 -0
- package/dist/types/components/ds-date-picker/ds-date-picker.types.d.ts +9 -0
- package/dist/types/components/ds-date-picker/styles/common.styles.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/utils/componentFactory.d.ts +2 -0
- package/dist-react/cjs/components/ds-calendar/ds-calendar.cjs +7 -15
- package/dist-react/cjs/components/ds-calendar-day/ds-calendar-day.cjs +3 -3
- package/dist-react/cjs/components/ds-date-picker/ds-date-picker.cjs +20 -0
- package/dist-react/cjs/components/ds-date-picker/styles/common.styles.cjs +5 -0
- package/dist-react/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
- package/dist-react/cjs/index.cjs +1 -1
- package/dist-react/cjs/utils/IconsManager.cjs +1 -1
- package/dist-react/cjs/utils/PubSub.cjs +1 -1
- package/dist-react/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
- package/dist-react/cjs/utils/componentFactory.cjs +13 -2
- package/dist-react/cjs/utils/cssWithTokens.cjs +1 -1
- package/dist-react/cjs/utils/htmlWithTokens.cjs +1 -1
- package/dist-react/esm/components/ds-calendar/ds-calendar.js +89 -83
- package/dist-react/esm/components/ds-calendar-day/ds-calendar-day.js +13 -9
- package/dist-react/esm/components/ds-date-picker/ds-date-picker.js +137 -0
- package/dist-react/esm/components/ds-date-picker/styles/common.styles.js +12 -0
- package/dist-react/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
- package/dist-react/esm/index.js +3 -2
- package/dist-react/esm/utils/IconsManager.js +1 -1
- package/dist-react/esm/utils/PubSub.js +1 -1
- package/dist-react/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
- package/dist-react/esm/utils/componentFactory.js +14 -2
- package/dist-react/esm/utils/cssWithTokens.js +1 -1
- package/dist-react/esm/utils/htmlWithTokens.js +1 -1
- package/dist-react/types/components/ds-calendar/ds-calendar.d.ts +3 -1
- package/dist-react/types/components/ds-calendar/ds-calendar.types.d.ts +3 -0
- package/dist-react/types/components/ds-calendar-day/ds-calendar-day.d.ts +3 -1
- package/dist-react/types/components/ds-calendar-day/ds-calendar-day.types.d.ts +2 -0
- package/dist-react/types/components/ds-date-picker/ds-date-picker.d.ts +29 -0
- package/dist-react/types/components/ds-date-picker/ds-date-picker.test.d.ts +9 -0
- package/dist-react/types/components/ds-date-picker/ds-date-picker.types.d.ts +9 -0
- package/dist-react/types/components/ds-date-picker/styles/common.styles.d.ts +1 -0
- package/dist-react/types/components/index.d.ts +1 -0
- package/dist-react/types/utils/componentFactory.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { UiKitElement as
|
|
2
|
-
import { customUiKitElement as
|
|
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
|
|
10
|
-
var
|
|
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 &&
|
|
13
|
+
return i && r && m(a, d, r), r;
|
|
14
14
|
};
|
|
15
|
-
let t = class extends
|
|
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 = [
|
|
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
|
-
|
|
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.
|
|
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
|
|
84
|
+
import { iconNames as Fo } from "./components/ds-icon/iconNames.js";
|
|
84
85
|
export {
|
|
85
|
-
|
|
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.
|
|
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,
|
package/dist/esm/utils/PubSub.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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,
|
|
260
|
+
function i(t, d) {
|
|
237
261
|
try {
|
|
238
|
-
typeof window < "u" && typeof customElements < "u" && !customElements.get(t) &&
|
|
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-
|
|
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-
|
|
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
|
|
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=>
|
|
3
|
+
${this.weekdayNames.map(e=>y.html`<div class="weekday">${e}</div>`)}
|
|
4
4
|
</div>
|
|
5
|
-
`}get daysTemplate(){return
|
|
5
|
+
`}get daysTemplate(){return y.html`
|
|
6
6
|
<div class="days-grid" @ds-calendar-day-change=${this.handleDayChange}>
|
|
7
|
-
${this.calendarDays.map(e=>
|
|
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
|
|
18
|
-
<div class=${
|
|
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];
|
|
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
|
|
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=${
|
|
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;
|