@carbon/web-components 2.60.0 → 2.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1401 -361
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js.map +1 -1
- package/es/components/date-picker/date-picker-input.d.ts +13 -1
- package/es/components/date-picker/date-picker-input.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input.js +36 -16
- package/es/components/date-picker/date-picker-input.js.map +1 -1
- package/es/components/date-picker/date-picker.d.ts +6 -0
- package/es/components/date-picker/date-picker.d.ts.map +1 -1
- package/es/components/date-picker/date-picker.js +10 -2
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/date-picker.scss.js +1 -1
- package/es/components/date-picker/date-picker.scss.js.map +1 -1
- package/es/components/date-picker/defs.d.ts +18 -1
- package/es/components/date-picker/defs.d.ts.map +1 -1
- package/es/components/date-picker/defs.js +19 -1
- package/es/components/date-picker/defs.js.map +1 -1
- package/es/components/date-picker/next/adapters/web-component-adapter.d.ts +143 -0
- package/es/components/date-picker/next/adapters/web-component-adapter.d.ts.map +1 -0
- package/es/components/date-picker/next/adapters/web-component-adapter.js +215 -0
- package/es/components/date-picker/next/adapters/web-component-adapter.js.map +1 -0
- package/es/components/date-picker/next/components/calendar-renderer.d.ts +136 -0
- package/es/components/date-picker/next/components/calendar-renderer.d.ts.map +1 -0
- package/es/components/date-picker/next/components/calendar-renderer.js +278 -0
- package/es/components/date-picker/next/components/calendar-renderer.js.map +1 -0
- package/es/components/date-picker/next/components/date-picker-input-skeleton.d.ts +35 -0
- package/es/components/date-picker/next/components/date-picker-input-skeleton.d.ts.map +1 -0
- package/es/components/date-picker/next/components/date-picker-input-skeleton.js +73 -0
- package/es/components/date-picker/next/components/date-picker-input-skeleton.js.map +1 -0
- package/es/components/date-picker/next/components/date-picker-input.d.ts +196 -0
- package/es/components/date-picker/next/components/date-picker-input.d.ts.map +1 -0
- package/es/components/date-picker/next/components/date-picker-input.js +334 -0
- package/es/components/date-picker/next/components/date-picker-input.js.map +1 -0
- package/es/components/date-picker/next/components/date-picker.d.ts +329 -0
- package/es/components/date-picker/next/components/date-picker.d.ts.map +1 -0
- package/es/components/date-picker/next/components/date-picker.js +621 -0
- package/es/components/date-picker/next/components/date-picker.js.map +1 -0
- package/es/components/date-picker/next/components/date-picker.scss.js +14 -0
- package/es/components/date-picker/next/components/date-picker.scss.js.map +1 -0
- package/es/components/date-picker/next/index.d.ts +11 -0
- package/es/components/date-picker/next/index.d.ts.map +1 -0
- package/es/components/date-picker/next/index.js +11 -0
- package/es/components/dropdown/dropdown.d.ts +8 -0
- package/es/components/dropdown/dropdown.d.ts.map +1 -1
- package/es/components/dropdown/dropdown.js +4 -2
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/fluid-date-picker/fluid-date-picker-input.d.ts +39 -0
- package/es/components/fluid-date-picker/fluid-date-picker-input.d.ts.map +1 -0
- package/es/components/fluid-date-picker/fluid-date-picker-input.js +59 -0
- package/es/components/fluid-date-picker/fluid-date-picker-input.js.map +1 -0
- package/es/components/fluid-date-picker/fluid-date-picker-skeleton.d.ts +20 -0
- package/es/components/fluid-date-picker/fluid-date-picker-skeleton.d.ts.map +1 -0
- package/es/components/fluid-date-picker/fluid-date-picker-skeleton.js +74 -0
- package/es/components/fluid-date-picker/fluid-date-picker-skeleton.js.map +1 -0
- package/es/components/fluid-date-picker/fluid-date-picker.d.ts +24 -0
- package/es/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -0
- package/es/components/fluid-date-picker/fluid-date-picker.js +51 -0
- package/es/components/fluid-date-picker/fluid-date-picker.js.map +1 -0
- package/es/components/fluid-date-picker/fluid-date-picker.scss.js +14 -0
- package/es/components/fluid-date-picker/fluid-date-picker.scss.js.map +1 -0
- package/es/components/fluid-date-picker/index.d.ts +10 -0
- package/es/components/fluid-date-picker/index.d.ts.map +1 -0
- package/es/components/fluid-date-picker/index.js +10 -0
- package/es/components/pagination/pagination.scss.js +1 -1
- package/es/components/password-input/password-input.d.ts.map +1 -1
- package/es/components/password-input/password-input.js +3 -2
- package/es/components/password-input/password-input.js.map +1 -1
- package/es/components/radio-button/radio-button.js +1 -1
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/select/select.d.ts +8 -0
- package/es/components/select/select.d.ts.map +1 -1
- package/es/components/select/select.js +4 -2
- package/es/components/select/select.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es/components/text-input/text-input.d.ts +17 -0
- package/es/components/text-input/text-input.d.ts.map +1 -1
- package/es/components/text-input/text-input.js +28 -6
- package/es/components/text-input/text-input.js.map +1 -1
- package/es/components/textarea/textarea.d.ts.map +1 -1
- package/es/components/textarea/textarea.js +2 -1
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/ui-shell/header.scss.js +1 -1
- package/es/components/ui-shell/header.scss.js.map +1 -1
- package/es/index.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input.d.ts +13 -1
- package/es-custom/components/date-picker/date-picker-input.d.ts.map +1 -1
- package/es-custom/components/date-picker/date-picker-input.js +36 -16
- package/es-custom/components/date-picker/date-picker-input.js.map +1 -1
- package/es-custom/components/date-picker/date-picker.d.ts +6 -0
- package/es-custom/components/date-picker/date-picker.d.ts.map +1 -1
- package/es-custom/components/date-picker/date-picker.js +10 -2
- package/es-custom/components/date-picker/date-picker.js.map +1 -1
- package/es-custom/components/date-picker/date-picker.scss.js +1 -1
- package/es-custom/components/date-picker/date-picker.scss.js.map +1 -1
- package/es-custom/components/date-picker/defs.d.ts +18 -1
- package/es-custom/components/date-picker/defs.d.ts.map +1 -1
- package/es-custom/components/date-picker/defs.js +19 -1
- package/es-custom/components/date-picker/defs.js.map +1 -1
- package/es-custom/components/date-picker/next/adapters/web-component-adapter.d.ts +143 -0
- package/es-custom/components/date-picker/next/adapters/web-component-adapter.d.ts.map +1 -0
- package/es-custom/components/date-picker/next/adapters/web-component-adapter.js +215 -0
- package/es-custom/components/date-picker/next/adapters/web-component-adapter.js.map +1 -0
- package/es-custom/components/date-picker/next/components/calendar-renderer.d.ts +136 -0
- package/es-custom/components/date-picker/next/components/calendar-renderer.d.ts.map +1 -0
- package/es-custom/components/date-picker/next/components/calendar-renderer.js +278 -0
- package/es-custom/components/date-picker/next/components/calendar-renderer.js.map +1 -0
- package/es-custom/components/date-picker/next/components/date-picker-input-skeleton.d.ts +35 -0
- package/es-custom/components/date-picker/next/components/date-picker-input-skeleton.d.ts.map +1 -0
- package/es-custom/components/date-picker/next/components/date-picker-input-skeleton.js +73 -0
- package/es-custom/components/date-picker/next/components/date-picker-input-skeleton.js.map +1 -0
- package/es-custom/components/date-picker/next/components/date-picker-input.d.ts +196 -0
- package/es-custom/components/date-picker/next/components/date-picker-input.d.ts.map +1 -0
- package/es-custom/components/date-picker/next/components/date-picker-input.js +334 -0
- package/es-custom/components/date-picker/next/components/date-picker-input.js.map +1 -0
- package/es-custom/components/date-picker/next/components/date-picker.d.ts +329 -0
- package/es-custom/components/date-picker/next/components/date-picker.d.ts.map +1 -0
- package/es-custom/components/date-picker/next/components/date-picker.js +621 -0
- package/es-custom/components/date-picker/next/components/date-picker.js.map +1 -0
- package/es-custom/components/date-picker/next/components/date-picker.scss.js +14 -0
- package/es-custom/components/date-picker/next/components/date-picker.scss.js.map +1 -0
- package/es-custom/components/date-picker/next/index.d.ts +11 -0
- package/es-custom/components/date-picker/next/index.d.ts.map +1 -0
- package/es-custom/components/date-picker/next/index.js +11 -0
- package/es-custom/components/dropdown/dropdown.d.ts +8 -0
- package/es-custom/components/dropdown/dropdown.d.ts.map +1 -1
- package/es-custom/components/dropdown/dropdown.js +4 -2
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/fluid-date-picker/fluid-date-picker-input.d.ts +39 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker-input.d.ts.map +1 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker-input.js +59 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker-input.js.map +1 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker-skeleton.d.ts +20 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker-skeleton.d.ts.map +1 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker-skeleton.js +74 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker-skeleton.js.map +1 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker.d.ts +24 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker.js +51 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker.js.map +1 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js +14 -0
- package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js.map +1 -0
- package/es-custom/components/fluid-date-picker/index.d.ts +10 -0
- package/es-custom/components/fluid-date-picker/index.d.ts.map +1 -0
- package/es-custom/components/fluid-date-picker/index.js +10 -0
- package/es-custom/components/pagination/pagination.scss.js +1 -1
- package/es-custom/components/password-input/password-input.d.ts.map +1 -1
- package/es-custom/components/password-input/password-input.js +3 -2
- package/es-custom/components/password-input/password-input.js.map +1 -1
- package/es-custom/components/radio-button/radio-button.js +1 -1
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/select/select.d.ts +8 -0
- package/es-custom/components/select/select.d.ts.map +1 -1
- package/es-custom/components/select/select.js +4 -2
- package/es-custom/components/select/select.js.map +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es-custom/components/text-input/text-input.d.ts +17 -0
- package/es-custom/components/text-input/text-input.d.ts.map +1 -1
- package/es-custom/components/text-input/text-input.js +28 -6
- package/es-custom/components/text-input/text-input.js.map +1 -1
- package/es-custom/components/textarea/textarea.d.ts.map +1 -1
- package/es-custom/components/textarea/textarea.js +2 -1
- package/es-custom/components/textarea/textarea.js.map +1 -1
- package/es-custom/components/ui-shell/header.scss.js +1 -1
- package/es-custom/components/ui-shell/header.scss.js.map +1 -1
- package/es-custom/index.js +1 -1
- package/lib/components/date-picker/date-picker-input.d.ts +13 -1
- package/lib/components/date-picker/date-picker-input.d.ts.map +1 -1
- package/lib/components/date-picker/date-picker.d.ts +6 -0
- package/lib/components/date-picker/date-picker.d.ts.map +1 -1
- package/lib/components/date-picker/defs.d.ts +18 -1
- package/lib/components/date-picker/defs.d.ts.map +1 -1
- package/lib/components/date-picker/defs.js +19 -0
- package/lib/components/date-picker/defs.js.map +1 -1
- package/lib/components/date-picker/next/adapters/web-component-adapter.d.ts +143 -0
- package/lib/components/date-picker/next/adapters/web-component-adapter.d.ts.map +1 -0
- package/lib/components/date-picker/next/components/calendar-renderer.d.ts +136 -0
- package/lib/components/date-picker/next/components/calendar-renderer.d.ts.map +1 -0
- package/lib/components/date-picker/next/components/date-picker-input-skeleton.d.ts +35 -0
- package/lib/components/date-picker/next/components/date-picker-input-skeleton.d.ts.map +1 -0
- package/lib/components/date-picker/next/components/date-picker-input.d.ts +196 -0
- package/lib/components/date-picker/next/components/date-picker-input.d.ts.map +1 -0
- package/lib/components/date-picker/next/components/date-picker.d.ts +329 -0
- package/lib/components/date-picker/next/components/date-picker.d.ts.map +1 -0
- package/lib/components/date-picker/next/index.d.ts +11 -0
- package/lib/components/date-picker/next/index.d.ts.map +1 -0
- package/lib/components/dropdown/dropdown.d.ts +8 -0
- package/lib/components/dropdown/dropdown.d.ts.map +1 -1
- package/lib/components/fluid-date-picker/fluid-date-picker-input.d.ts +39 -0
- package/lib/components/fluid-date-picker/fluid-date-picker-input.d.ts.map +1 -0
- package/lib/components/fluid-date-picker/fluid-date-picker-skeleton.d.ts +20 -0
- package/lib/components/fluid-date-picker/fluid-date-picker-skeleton.d.ts.map +1 -0
- package/lib/components/fluid-date-picker/fluid-date-picker.d.ts +24 -0
- package/lib/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -0
- package/lib/components/fluid-date-picker/index.d.ts +10 -0
- package/lib/components/fluid-date-picker/index.d.ts.map +1 -0
- package/lib/components/password-input/password-input.d.ts.map +1 -1
- package/lib/components/select/select.d.ts +8 -0
- package/lib/components/select/select.d.ts.map +1 -1
- package/lib/components/text-input/text-input.d.ts +17 -0
- package/lib/components/text-input/text-input.d.ts.map +1 -1
- package/lib/components/textarea/textarea.d.ts.map +1 -1
- package/package.json +10 -10
- package/scss/components/breadcrumb/breadcrumb.scss +4 -2
- package/scss/components/date-picker/date-picker.scss +6 -0
- package/scss/components/date-picker/next/components/date-picker.scss +124 -0
- package/scss/components/fluid-date-picker/fluid-date-picker.scss +282 -0
- package/scss/components/ui-shell/header.scss +14 -8
- package/telemetry.yml +29 -11
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import "../../../../globals/settings.js";
|
|
9
|
+
import { carbonElement } from "../../../../globals/decorators/carbon-element.js";
|
|
10
|
+
import __decorate from "../../../../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/decorate.js";
|
|
11
|
+
import iconLoader from "../../../../globals/internal/icon-loader.js";
|
|
12
|
+
import FocusMixin from "../../../../globals/mixins/focus.js";
|
|
13
|
+
import { FORM_ELEMENT_COLOR_SCHEME } from "../../../../globals/shared-enums.js";
|
|
14
|
+
import { DATE_PICKER_INPUT_KIND } from "../../defs.js";
|
|
15
|
+
import date_picker_default from "./date-picker.scss.js";
|
|
16
|
+
import { LitElement, html } from "lit";
|
|
17
|
+
import { property, query, state } from "lit/decorators.js";
|
|
18
|
+
import { classMap } from "lit/directives/class-map.js";
|
|
19
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
20
|
+
import WarningFilled16 from "@carbon/icons/es/warning--filled/16.js";
|
|
21
|
+
import WarningAltFilled16 from "@carbon/icons/es/warning--alt--filled/16.js";
|
|
22
|
+
import Calendar16 from "@carbon/icons/es/calendar/16.js";
|
|
23
|
+
//#region src/components/date-picker/next/components/date-picker-input.ts
|
|
24
|
+
/**
|
|
25
|
+
* Copyright IBM Corp. 2026
|
|
26
|
+
*
|
|
27
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
28
|
+
* LICENSE file in the root directory of this source tree.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* The input box for date picker.
|
|
32
|
+
*
|
|
33
|
+
* @element cds-preview-date-picker-input
|
|
34
|
+
*/
|
|
35
|
+
let CDSDatePickerInput = class CDSDatePickerInput extends FocusMixin(LitElement) {
|
|
36
|
+
constructor(..._args) {
|
|
37
|
+
super(..._args);
|
|
38
|
+
this._hasAILabel = false;
|
|
39
|
+
this._handleInputClick = () => {
|
|
40
|
+
this.dispatchEvent(new CustomEvent(`cds-preview-date-picker-input-click`, {
|
|
41
|
+
bubbles: true,
|
|
42
|
+
composed: true,
|
|
43
|
+
detail: { inputType: this.kind || "from" }
|
|
44
|
+
}));
|
|
45
|
+
};
|
|
46
|
+
this._handleFocus = () => {
|
|
47
|
+
this.dispatchEvent(new CustomEvent(`cds-preview-date-picker-input-focus`, {
|
|
48
|
+
bubbles: true,
|
|
49
|
+
composed: true,
|
|
50
|
+
detail: { inputType: this.kind || "from" }
|
|
51
|
+
}));
|
|
52
|
+
};
|
|
53
|
+
this._handleBlur = () => {
|
|
54
|
+
this.dispatchEvent(new CustomEvent(`cds-preview-date-picker-input-blur`, {
|
|
55
|
+
bubbles: true,
|
|
56
|
+
composed: true,
|
|
57
|
+
detail: { inputType: this.kind || "from" }
|
|
58
|
+
}));
|
|
59
|
+
};
|
|
60
|
+
this._hasHelperText = false;
|
|
61
|
+
this.colorScheme = "";
|
|
62
|
+
this.disabled = false;
|
|
63
|
+
this.hideLabel = false;
|
|
64
|
+
this.invalid = false;
|
|
65
|
+
this.invalidText = "";
|
|
66
|
+
this.kind = "simple";
|
|
67
|
+
this.readonly = false;
|
|
68
|
+
this.required = false;
|
|
69
|
+
this.short = false;
|
|
70
|
+
this.size = "md";
|
|
71
|
+
this.warn = false;
|
|
72
|
+
this.warnText = "";
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Handles `slotchange` event.
|
|
76
|
+
*
|
|
77
|
+
* @param {object} root0 - Event object
|
|
78
|
+
* @param {EventTarget} root0.target - The event target
|
|
79
|
+
*/
|
|
80
|
+
_handleAILabelSlotChange({ target }) {
|
|
81
|
+
const hasContent = target.assignedNodes().filter((elem) => elem.matches !== void 0 ? elem.matches(this.constructor.aiLabelItem) || elem.matches(this.constructor.slugItem) : false);
|
|
82
|
+
this._hasAILabel = Boolean(hasContent);
|
|
83
|
+
hasContent[0].setAttribute("size", "mini");
|
|
84
|
+
this.requestUpdate();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Handles `click` event on the calendar icon button.
|
|
88
|
+
* Dispatches a custom event and does NOT move focus to the text input,
|
|
89
|
+
* matching the React implementation where the icon is a separate button.
|
|
90
|
+
*
|
|
91
|
+
* @param {MouseEvent} event - The click event.
|
|
92
|
+
*/
|
|
93
|
+
_handleIconButtonClick(event) {
|
|
94
|
+
event.stopPropagation();
|
|
95
|
+
this.dispatchEvent(new CustomEvent(`cds-preview-date-picker-icon-click`, {
|
|
96
|
+
bubbles: true,
|
|
97
|
+
composed: true
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Handles `input` event on `<input>` in the shadow DOM.
|
|
102
|
+
*
|
|
103
|
+
* @param {Event} event - The event.
|
|
104
|
+
* @param {HTMLInputElement} event.target - The event target.
|
|
105
|
+
*/
|
|
106
|
+
_handleInput({ target }) {
|
|
107
|
+
const { value } = target;
|
|
108
|
+
this.value = value;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* @returns The template for the calendar icon button.
|
|
112
|
+
* Rendered as a focusable-false button (tabindex="-1") so clicking it does
|
|
113
|
+
* not move focus to the text input — matching the React implementation.
|
|
114
|
+
*/
|
|
115
|
+
_renderIcon() {
|
|
116
|
+
if (this.kind === "simple") return;
|
|
117
|
+
return html`<button
|
|
118
|
+
type="button"
|
|
119
|
+
class="${"cds"}--date-picker__icon"
|
|
120
|
+
?disabled="${this.disabled || this.readonly}"
|
|
121
|
+
aria-label="Open calendar"
|
|
122
|
+
tabindex="-1"
|
|
123
|
+
@click="${this._handleIconButtonClick}">
|
|
124
|
+
${iconLoader(Calendar16, {
|
|
125
|
+
focusable: "false",
|
|
126
|
+
"aria-hidden": "true"
|
|
127
|
+
})}
|
|
128
|
+
</button>`;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Handles `slotchange` event on the default `<slot>`.
|
|
132
|
+
*
|
|
133
|
+
* @param {object} root0 - Event object
|
|
134
|
+
* @param {EventTarget} root0.target - The event target
|
|
135
|
+
*/
|
|
136
|
+
_handleSlotChange({ target }) {
|
|
137
|
+
if (!target.name) {
|
|
138
|
+
const hasContent = target.assignedNodes().some((node) => node.nodeType !== Node.TEXT_NODE || node.textContent.trim());
|
|
139
|
+
this._hasHelperText = hasContent;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Renders the component template.
|
|
144
|
+
*
|
|
145
|
+
* @returns {TemplateResult} The template result
|
|
146
|
+
*/
|
|
147
|
+
render() {
|
|
148
|
+
const constructor = this.constructor;
|
|
149
|
+
const { disabled, _hasHelperText: hasHelperText, hideLabel, invalid, invalidText, labelText, pattern = constructor.defaultPattern, placeholder, readonly, size, type = constructor.defaultType, value, warn, warnText, _handleInput: handleInput, _handleFocus: handleFocus, _handleBlur: handleBlur, _handleInputClick: handleInputClick, _hasAILabel: hasAILabel } = this;
|
|
150
|
+
const invalidIcon = iconLoader(WarningFilled16, { class: `cds--date-picker__icon cds--date-picker__icon--invalid` });
|
|
151
|
+
const warnIcon = iconLoader(WarningAltFilled16, { class: `cds--date-picker__icon cds--date-picker__icon--warn` });
|
|
152
|
+
const normalizedProps = {
|
|
153
|
+
disabled: disabled && !readonly,
|
|
154
|
+
invalid: invalid && !readonly && !disabled,
|
|
155
|
+
warn: warn && !readonly && !disabled && !invalid,
|
|
156
|
+
"slot-name": "",
|
|
157
|
+
"slot-text": "",
|
|
158
|
+
icon: null
|
|
159
|
+
};
|
|
160
|
+
if (normalizedProps.invalid) {
|
|
161
|
+
normalizedProps.icon = invalidIcon;
|
|
162
|
+
normalizedProps["slot-name"] = "invalid-text";
|
|
163
|
+
normalizedProps["slot-text"] = invalidText;
|
|
164
|
+
} else if (normalizedProps.warn) {
|
|
165
|
+
normalizedProps.icon = warnIcon;
|
|
166
|
+
normalizedProps["slot-name"] = "warn-text";
|
|
167
|
+
normalizedProps["slot-text"] = warnText;
|
|
168
|
+
}
|
|
169
|
+
const labelClasses = classMap({
|
|
170
|
+
[`cds--label`]: true,
|
|
171
|
+
[`cds--visually-hidden`]: hideLabel,
|
|
172
|
+
[`cds--label--disabled`]: disabled
|
|
173
|
+
});
|
|
174
|
+
const inputClasses = classMap({
|
|
175
|
+
[`cds--date-picker__input`]: true,
|
|
176
|
+
[`cds--date-picker__input--invalid`]: normalizedProps.invalid,
|
|
177
|
+
[`cds--date-picker__input--warn`]: normalizedProps.warn,
|
|
178
|
+
[`cds--date-picker__input--${size}`]: size,
|
|
179
|
+
[`cds--date-picker__input--decorator`]: hasAILabel
|
|
180
|
+
});
|
|
181
|
+
const inputWrapperClasses = classMap({
|
|
182
|
+
[`cds--date-picker-input__wrapper`]: true,
|
|
183
|
+
[`cds--date-picker-input__wrapper--invalid`]: normalizedProps.invalid,
|
|
184
|
+
[`cds--date-picker-input__wrapper--warn`]: normalizedProps.warn
|
|
185
|
+
});
|
|
186
|
+
const helperTextClasses = classMap({
|
|
187
|
+
[`cds--form__helper-text`]: true,
|
|
188
|
+
[`cds--form__helper-text--disabled`]: disabled
|
|
189
|
+
});
|
|
190
|
+
return html`
|
|
191
|
+
<label for="input" class="${labelClasses}">
|
|
192
|
+
<slot name="label-text">${labelText}</slot>
|
|
193
|
+
</label>
|
|
194
|
+
<div class="${inputWrapperClasses}">
|
|
195
|
+
<span>
|
|
196
|
+
<input
|
|
197
|
+
id="input"
|
|
198
|
+
type="${type}"
|
|
199
|
+
class="${inputClasses}"
|
|
200
|
+
?disabled="${normalizedProps.disabled}"
|
|
201
|
+
pattern="${pattern}"
|
|
202
|
+
placeholder="${ifDefined(placeholder)}"
|
|
203
|
+
.value="${ifDefined(value)}"
|
|
204
|
+
?data-invalid="${normalizedProps.invalid}"
|
|
205
|
+
@input="${handleInput}"
|
|
206
|
+
@focus="${handleFocus}"
|
|
207
|
+
@blur="${handleBlur}"
|
|
208
|
+
@click="${handleInputClick}"
|
|
209
|
+
?readonly="${readonly}" />
|
|
210
|
+
${normalizedProps.icon || this._renderIcon()}
|
|
211
|
+
<slot
|
|
212
|
+
name="ai-label"
|
|
213
|
+
@slotchange="${this._handleAILabelSlotChange}"></slot>
|
|
214
|
+
<slot
|
|
215
|
+
name="slug"
|
|
216
|
+
@slotchange="${this._handleAILabelSlotChange}"></slot>
|
|
217
|
+
</span>
|
|
218
|
+
</div>
|
|
219
|
+
<div
|
|
220
|
+
class="${"cds"}--form-requirement"
|
|
221
|
+
?hidden="${!normalizedProps.invalid && !normalizedProps.warn}">
|
|
222
|
+
<slot name="${normalizedProps["slot-name"]}">
|
|
223
|
+
${normalizedProps["slot-text"]}
|
|
224
|
+
</slot>
|
|
225
|
+
</div>
|
|
226
|
+
<div ?hidden="${!hasHelperText}" class="${helperTextClasses}">
|
|
227
|
+
<slot name="helper-text" @slotchange="${this._handleSlotChange}"></slot>
|
|
228
|
+
</div>
|
|
229
|
+
`;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Lifecycle method called after component updates.
|
|
233
|
+
*/
|
|
234
|
+
updated() {
|
|
235
|
+
this.toggleAttribute("ai-label", this._hasAILabel);
|
|
236
|
+
const label = this.shadowRoot?.querySelector("slot[name='ai-label']");
|
|
237
|
+
if (label) label?.classList.toggle(`cds--slug--revert`, this.querySelector(`cds-ai-label`)?.hasAttribute("revert-active"));
|
|
238
|
+
else this.shadowRoot?.querySelector("slot[name='slug']")?.classList.toggle(`cds--slug--revert`, this.querySelector(`cds-slug`)?.hasAttribute("revert-active"));
|
|
239
|
+
}
|
|
240
|
+
static {
|
|
241
|
+
this.defaultPattern = "\\d{1,2}\\/\\d{1,2}\\/\\d{4}";
|
|
242
|
+
}
|
|
243
|
+
static {
|
|
244
|
+
this.defaultType = "text";
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* A selector that will return the parent date picker.
|
|
248
|
+
*/
|
|
249
|
+
static get selectorParent() {
|
|
250
|
+
return `cds-preview-date-picker`;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* A selector that will return the slug item.
|
|
254
|
+
*
|
|
255
|
+
* remove in v12
|
|
256
|
+
*/
|
|
257
|
+
static get slugItem() {
|
|
258
|
+
return `cds-slug`;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* A selector that will return the AI Label item.
|
|
262
|
+
*/
|
|
263
|
+
static get aiLabelItem() {
|
|
264
|
+
return `cds-ai-label`;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* The name of the custom event fired when the input is clicked.
|
|
268
|
+
*/
|
|
269
|
+
static get inputClickEventName() {
|
|
270
|
+
return `cds-preview-date-picker-input-click`;
|
|
271
|
+
}
|
|
272
|
+
static {
|
|
273
|
+
this.shadowRootOptions = {
|
|
274
|
+
...LitElement.shadowRootOptions,
|
|
275
|
+
delegatesFocus: true
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
static {
|
|
279
|
+
this.styles = date_picker_default;
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
__decorate([state()], CDSDatePickerInput.prototype, "_hasHelperText", void 0);
|
|
283
|
+
__decorate([query("input")], CDSDatePickerInput.prototype, "input", void 0);
|
|
284
|
+
__decorate([property({
|
|
285
|
+
attribute: "color-scheme",
|
|
286
|
+
reflect: true
|
|
287
|
+
})], CDSDatePickerInput.prototype, "colorScheme", void 0);
|
|
288
|
+
__decorate([property({
|
|
289
|
+
type: Boolean,
|
|
290
|
+
reflect: true
|
|
291
|
+
})], CDSDatePickerInput.prototype, "disabled", void 0);
|
|
292
|
+
__decorate([property({
|
|
293
|
+
type: Boolean,
|
|
294
|
+
reflect: true,
|
|
295
|
+
attribute: "hide-label"
|
|
296
|
+
})], CDSDatePickerInput.prototype, "hideLabel", void 0);
|
|
297
|
+
__decorate([property({
|
|
298
|
+
type: Boolean,
|
|
299
|
+
reflect: true
|
|
300
|
+
})], CDSDatePickerInput.prototype, "invalid", void 0);
|
|
301
|
+
__decorate([property({ attribute: "invalid-text" })], CDSDatePickerInput.prototype, "invalidText", void 0);
|
|
302
|
+
__decorate([property({ reflect: true })], CDSDatePickerInput.prototype, "kind", void 0);
|
|
303
|
+
__decorate([property({ attribute: "label-text" })], CDSDatePickerInput.prototype, "labelText", void 0);
|
|
304
|
+
__decorate([property()], CDSDatePickerInput.prototype, "pattern", void 0);
|
|
305
|
+
__decorate([property()], CDSDatePickerInput.prototype, "placeholder", void 0);
|
|
306
|
+
__decorate([property({
|
|
307
|
+
type: Boolean,
|
|
308
|
+
reflect: true
|
|
309
|
+
})], CDSDatePickerInput.prototype, "readonly", void 0);
|
|
310
|
+
__decorate([property({
|
|
311
|
+
type: Boolean,
|
|
312
|
+
reflect: true
|
|
313
|
+
})], CDSDatePickerInput.prototype, "required", void 0);
|
|
314
|
+
__decorate([property({
|
|
315
|
+
type: Boolean,
|
|
316
|
+
reflect: true
|
|
317
|
+
})], CDSDatePickerInput.prototype, "short", void 0);
|
|
318
|
+
__decorate([property({
|
|
319
|
+
attribute: "size",
|
|
320
|
+
reflect: true
|
|
321
|
+
})], CDSDatePickerInput.prototype, "size", void 0);
|
|
322
|
+
__decorate([property()], CDSDatePickerInput.prototype, "type", void 0);
|
|
323
|
+
__decorate([property()], CDSDatePickerInput.prototype, "value", void 0);
|
|
324
|
+
__decorate([property({
|
|
325
|
+
type: Boolean,
|
|
326
|
+
reflect: true
|
|
327
|
+
})], CDSDatePickerInput.prototype, "warn", void 0);
|
|
328
|
+
__decorate([property({ attribute: "warn-text" })], CDSDatePickerInput.prototype, "warnText", void 0);
|
|
329
|
+
CDSDatePickerInput = __decorate([carbonElement(`cds-preview-date-picker-input`)], CDSDatePickerInput);
|
|
330
|
+
var date_picker_input_default = CDSDatePickerInput;
|
|
331
|
+
//#endregion
|
|
332
|
+
export { FORM_ELEMENT_COLOR_SCHEME as DATE_PICKER_INPUT_COLOR_SCHEME, DATE_PICKER_INPUT_KIND, date_picker_input_default as default };
|
|
333
|
+
|
|
334
|
+
//# sourceMappingURL=date-picker-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker-input.js","names":["styles","customElement"],"sources":["../../../../../src/components/date-picker/next/components/date-picker-input.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { prefix } from '../../../../globals/settings';\nimport FocusMixin from '../../../../globals/mixins/focus';\nimport {\n INPUT_SIZE,\n DATE_PICKER_INPUT_COLOR_SCHEME,\n DATE_PICKER_INPUT_KIND,\n} from '../../defs';\nimport styles from './date-picker.scss?lit';\nimport Calendar16 from '@carbon/icons/es/calendar/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { carbonElement as customElement } from '../../../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../../../globals/internal/icon-loader';\n\nexport { DATE_PICKER_INPUT_COLOR_SCHEME, DATE_PICKER_INPUT_KIND };\n\n/**\n * The input box for date picker.\n *\n * @element cds-preview-date-picker-input\n */\n@customElement(`${prefix}-preview-date-picker-input`)\nclass CDSDatePickerInput extends FocusMixin(LitElement) {\n /**\n * `true` if there is an AI Label.\n */\n private _hasAILabel = false;\n\n /**\n * Handles `slotchange` event.\n *\n * @param {object} root0 - Event object\n * @param {EventTarget} root0.target - The event target\n */\n protected _handleAILabelSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSDatePickerInput).aiLabelItem\n ) ||\n // remove reference to slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSDatePickerInput).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n (hasContent[0] as HTMLElement).setAttribute('size', 'mini');\n this.requestUpdate();\n }\n\n /**\n * Handles `click` event on the calendar icon button.\n * Dispatches a custom event and does NOT move focus to the text input,\n * matching the React implementation where the icon is a separate button.\n *\n * @param {MouseEvent} event - The click event.\n */\n private _handleIconButtonClick(event: MouseEvent) {\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent(`${prefix}-preview-date-picker-icon-click`, {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n /**\n * Handles `click` event on `<input>` in the shadow DOM.\n * Dispatches a custom event so the parent date picker can reopen the calendar\n * when the input already has focus (clicking a focused input does not fire\n * a new `focus` event, so a dedicated click event is required).\n */\n private _handleInputClick = () => {\n this.dispatchEvent(\n new CustomEvent(`${prefix}-preview-date-picker-input-click`, {\n bubbles: true,\n composed: true,\n detail: {\n inputType: this.kind || 'from',\n },\n })\n );\n };\n\n /**\n * Handles `input` event on `<input>` in the shadow DOM.\n *\n * @param {Event} event - The event.\n * @param {HTMLInputElement} event.target - The event target.\n */\n private _handleInput({ target }: Event) {\n const { value } = target as HTMLInputElement;\n this.value = value;\n }\n\n /**\n * Handles `focus` event on `<input>` in the shadow DOM.\n */\n private _handleFocus = () => {\n // Dispatch custom event for input focus\n this.dispatchEvent(\n new CustomEvent(`${prefix}-preview-date-picker-input-focus`, {\n bubbles: true,\n composed: true,\n detail: {\n inputType: this.kind || 'from',\n },\n })\n );\n };\n\n /**\n * Handles `blur` event on `<input>` in the shadow DOM.\n */\n private _handleBlur = () => {\n // Dispatch custom event for input blur\n this.dispatchEvent(\n new CustomEvent(`${prefix}-preview-date-picker-input-blur`, {\n bubbles: true,\n composed: true,\n detail: {\n inputType: this.kind || 'from',\n },\n })\n );\n };\n\n /**\n * @returns The template for the calendar icon button.\n * Rendered as a focusable-false button (tabindex=\"-1\") so clicking it does\n * not move focus to the text input — matching the React implementation.\n */\n private _renderIcon() {\n if (this.kind === DATE_PICKER_INPUT_KIND.SIMPLE) {\n return undefined;\n }\n return html`<button\n type=\"button\"\n class=\"${prefix}--date-picker__icon\"\n ?disabled=\"${this.disabled || this.readonly}\"\n aria-label=\"Open calendar\"\n tabindex=\"-1\"\n @click=\"${this._handleIconButtonClick}\">\n ${iconLoader(Calendar16, { focusable: 'false', 'aria-hidden': 'true' })}\n </button>`;\n }\n\n /**\n * `true` if there is helper text content.\n */\n @state()\n protected _hasHelperText = false;\n\n /**\n * Handles `slotchange` event on the default `<slot>`.\n *\n * @param {object} root0 - Event object\n * @param {EventTarget} root0.target - The event target\n */\n protected _handleSlotChange({ target }: Event) {\n if (!(target as HTMLSlotElement).name) {\n const hasContent = (target as HTMLSlotElement).assignedNodes().some(\n (node) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this._hasHelperText = hasContent;\n }\n }\n\n /**\n * The `<input>`, used for Flatpickr to grab.\n */\n @query('input')\n input!: HTMLInputElement;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = DATE_PICKER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the label should be hidden.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Controls the invalid state and visibility of the `validityMessage`.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Message which is displayed if the value is invalid.\n */\n @property({ attribute: 'invalid-text' })\n invalidText = '';\n\n /**\n * Date picker input kind.\n */\n @property({ reflect: true })\n kind = DATE_PICKER_INPUT_KIND.SIMPLE;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText!: string;\n\n /**\n * The `pattern` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n pattern!: string;\n\n /**\n * The placeholder text.\n */\n @property()\n placeholder!: string;\n\n /**\n * Specify if the component should be read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * `true` if the value is required.\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * true to use the short version.\n */\n @property({ type: Boolean, reflect: true })\n short = false;\n\n /**\n * Vertical size of this date picker input.\n */\n @property({ attribute: 'size', reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n /**\n * The `type` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n type!: string;\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n /**\n * Specify whether the control is currently in warning state\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Provide the text that is displayed when the control is in warning state\n */\n @property({ attribute: 'warn-text' })\n warnText = '';\n\n /**\n * Renders the component template.\n *\n * @returns {TemplateResult} The template result\n */\n render() {\n const constructor = this.constructor as typeof CDSDatePickerInput;\n const {\n disabled,\n _hasHelperText: hasHelperText,\n hideLabel,\n invalid,\n invalidText,\n labelText,\n pattern = constructor.defaultPattern,\n placeholder,\n readonly,\n size,\n type = constructor.defaultType,\n value,\n warn,\n warnText,\n _handleInput: handleInput,\n _handleFocus: handleFocus,\n _handleBlur: handleBlur,\n _handleInputClick: handleInputClick,\n _hasAILabel: hasAILabel,\n } = this;\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--date-picker__icon ${prefix}--date-picker__icon--invalid`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--date-picker__icon ${prefix}--date-picker__icon--warn`,\n });\n\n const normalizedProps: {\n disabled: boolean;\n invalid: boolean;\n warn: boolean;\n 'slot-name': string;\n 'slot-text': string;\n icon: ReturnType<typeof iconLoader>;\n } = {\n disabled: disabled && !readonly,\n invalid: invalid && !readonly && !disabled,\n warn: warn && !readonly && !disabled && !invalid,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n };\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = warnText;\n }\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: disabled,\n });\n const inputClasses = classMap({\n [`${prefix}--date-picker__input`]: true,\n [`${prefix}--date-picker__input--invalid`]: normalizedProps.invalid,\n [`${prefix}--date-picker__input--warn`]: normalizedProps.warn,\n [`${prefix}--date-picker__input--${size}`]: size,\n [`${prefix}--date-picker__input--decorator`]: hasAILabel,\n });\n\n const inputWrapperClasses = classMap({\n [`${prefix}--date-picker-input__wrapper`]: true,\n [`${prefix}--date-picker-input__wrapper--invalid`]:\n normalizedProps.invalid,\n [`${prefix}--date-picker-input__wrapper--warn`]: normalizedProps.warn,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: disabled,\n });\n\n return html`\n <label for=\"input\" class=\"${labelClasses}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div class=\"${inputWrapperClasses}\">\n <span>\n <input\n id=\"input\"\n type=\"${type}\"\n class=\"${inputClasses}\"\n ?disabled=\"${normalizedProps.disabled}\"\n pattern=\"${pattern}\"\n placeholder=\"${ifDefined(placeholder)}\"\n .value=\"${ifDefined(value)}\"\n ?data-invalid=\"${normalizedProps.invalid}\"\n @input=\"${handleInput}\"\n @focus=\"${handleFocus}\"\n @blur=\"${handleBlur}\"\n @click=\"${handleInputClick}\"\n ?readonly=\"${readonly}\" />\n ${normalizedProps.icon || this._renderIcon()}\n <slot\n name=\"ai-label\"\n @slotchange=\"${this._handleAILabelSlotChange}\"></slot>\n <slot\n name=\"slug\"\n @slotchange=\"${this._handleAILabelSlotChange}\"></slot>\n </span>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!normalizedProps.invalid && !normalizedProps.warn}\">\n <slot name=\"${normalizedProps['slot-name']}\">\n ${normalizedProps['slot-text']}\n </slot>\n </div>\n <div ?hidden=\"${!hasHelperText}\" class=\"${helperTextClasses}\">\n <slot name=\"helper-text\" @slotchange=\"${this._handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n /**\n * Lifecycle method called after component updates.\n */\n updated() {\n this.toggleAttribute('ai-label', this._hasAILabel);\n const label = this.shadowRoot?.querySelector(\"slot[name='ai-label']\");\n\n if (label) {\n label?.classList.toggle(\n `${prefix}--slug--revert`,\n this.querySelector(`${prefix}-ai-label`)?.hasAttribute('revert-active')\n );\n } else {\n this.shadowRoot\n ?.querySelector(\"slot[name='slug']\")\n ?.classList.toggle(\n `${prefix}--slug--revert`,\n this.querySelector(`${prefix}-slug`)?.hasAttribute('revert-active')\n );\n }\n }\n\n /**\n * The default value for `pattern` property.\n */\n static defaultPattern = '\\\\d{1,2}\\\\/\\\\d{1,2}\\\\/\\\\d{4}';\n\n /**\n * The default value for `type` property.\n */\n static defaultType = 'text';\n\n /**\n * A selector that will return the parent date picker.\n */\n static get selectorParent() {\n return `${prefix}-preview-date-picker`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n /**\n * The name of the custom event fired when the input is clicked.\n */\n static get inputClickEventName() {\n return `${prefix}-preview-date-picker-input-click`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSDatePickerInput;\n"],"mappings":"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"}
|