@maggioli-design-system/mds-input-select 1.0.2 → 2.0.1

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 (87) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  2. package/dist/cjs/index-9a5feb6d.js +1253 -0
  3. package/dist/cjs/loader.cjs.js +5 -3
  4. package/dist/cjs/mds-input-select.cjs.entry.js +35 -6
  5. package/dist/cjs/mds-input-select.cjs.js +13 -11
  6. package/dist/collection/collection-manifest.json +2 -2
  7. package/dist/collection/common/locale.js +50 -0
  8. package/dist/collection/components/mds-input-select/mds-input-select.css +432 -131
  9. package/dist/collection/components/mds-input-select/mds-input-select.js +149 -5
  10. package/dist/collection/components/mds-input-select/test/mds-input-select.stories.js +39 -0
  11. package/dist/collection/type/preference.js +1 -0
  12. package/dist/collection/type/variant-file-format.js +20 -11
  13. package/dist/components/mds-input-select.js +42 -6
  14. package/dist/documentation.d.ts +34 -0
  15. package/dist/documentation.json +188 -6
  16. package/dist/esm/app-globals-0f993ce5.js +3 -0
  17. package/dist/esm/index-27f9b67f.js +1224 -0
  18. package/dist/esm/loader.js +6 -4
  19. package/dist/esm/mds-input-select.entry.js +35 -6
  20. package/dist/esm/mds-input-select.js +14 -12
  21. package/dist/esm-es5/app-globals-0f993ce5.js +1 -0
  22. package/dist/esm-es5/index-27f9b67f.js +1 -0
  23. package/dist/esm-es5/loader.js +1 -1
  24. package/dist/esm-es5/mds-input-select.entry.js +1 -1
  25. package/dist/esm-es5/mds-input-select.js +1 -1
  26. package/dist/mds-input-select/mds-input-select.esm.js +1 -1
  27. package/dist/mds-input-select/mds-input-select.js +1 -1
  28. package/dist/mds-input-select/p-56ba5cbf.system.js +1 -0
  29. package/dist/mds-input-select/p-5a0746e7.system.js +2 -0
  30. package/dist/mds-input-select/p-750f66cc.system.js +1 -0
  31. package/dist/mds-input-select/p-ad1eb960.system.entry.js +1 -0
  32. package/dist/mds-input-select/p-b7cb51b4.entry.js +1 -0
  33. package/dist/mds-input-select/p-babc558f.js +2 -0
  34. package/dist/mds-input-select/p-e1255160.js +1 -0
  35. package/dist/stats.json +343 -48
  36. package/dist/types/common/locale.d.ts +15 -0
  37. package/dist/types/components/mds-input-select/mds-input-select.d.ts +67 -0
  38. package/dist/types/components/mds-input-select/test/mds-input-select.stories.d.ts +43 -0
  39. package/dist/types/components.d.ts +52 -2
  40. package/dist/types/stencil-public-runtime.d.ts +3 -10
  41. package/dist/types/type/preference.d.ts +2 -0
  42. package/documentation.json +236 -28
  43. package/loader/cdn.js +1 -2
  44. package/loader/index.cjs.js +1 -2
  45. package/loader/index.d.ts +3 -0
  46. package/loader/index.es2017.js +1 -2
  47. package/loader/index.js +1 -2
  48. package/package.json +4 -3
  49. package/readme.md +35 -6
  50. package/src/common/locale.ts +66 -0
  51. package/src/components/mds-input-select/css/mds-input-select-pref-animation.css +22 -0
  52. package/src/components/mds-input-select/css/mds-input-select-pref-contrast.css +27 -0
  53. package/src/components/mds-input-select/css/mds-input-select-pref-theme.css +38 -0
  54. package/src/components/mds-input-select/css/mds-input-select-variant.css +89 -0
  55. package/src/components/mds-input-select/mds-input-select.css +68 -13
  56. package/src/components/mds-input-select/mds-input-select.tsx +79 -4
  57. package/src/components/mds-input-select/readme.md +19 -6
  58. package/src/components/mds-input-select/test/mds-input-select.stories.tsx +42 -0
  59. package/src/components.d.ts +52 -2
  60. package/src/fixtures/icons.json +18 -0
  61. package/src/fixtures/iconsauce.json +9 -0
  62. package/src/tailwind/components.css +71 -0
  63. package/src/type/preference.ts +10 -0
  64. package/src/type/variant-file-format.ts +20 -11
  65. package/www/build/mds-input-select.esm.js +1 -1
  66. package/www/build/mds-input-select.js +1 -1
  67. package/www/build/p-56ba5cbf.system.js +1 -0
  68. package/www/build/p-5a0746e7.system.js +2 -0
  69. package/www/build/p-750f66cc.system.js +1 -0
  70. package/www/build/p-ad1eb960.system.entry.js +1 -0
  71. package/www/build/p-b7cb51b4.entry.js +1 -0
  72. package/www/build/p-babc558f.js +2 -0
  73. package/www/build/p-e1255160.js +1 -0
  74. package/dist/cjs/index-de20f095.js +0 -1746
  75. package/dist/collection/components/mds-input-select/test/mds-input-select.e2e.js +0 -10
  76. package/dist/esm/index-635ef000.js +0 -1717
  77. package/dist/esm-es5/index-635ef000.js +0 -1
  78. package/dist/mds-input-select/p-14820a52.js +0 -2
  79. package/dist/mds-input-select/p-a14abcd4.system.js +0 -2
  80. package/dist/mds-input-select/p-dce0cce7.system.entry.js +0 -1
  81. package/dist/mds-input-select/p-de98024b.entry.js +0 -1
  82. package/dist/mds-input-select/p-f24e4812.system.js +0 -1
  83. package/www/build/p-14820a52.js +0 -2
  84. package/www/build/p-a14abcd4.system.js +0 -2
  85. package/www/build/p-dce0cce7.system.entry.js +0 -1
  86. package/www/build/p-de98024b.entry.js +0 -1
  87. package/www/build/p-f24e4812.system.js +0 -1
@@ -1,16 +1,23 @@
1
1
  import clsx from "clsx";
2
2
  import miBaselineKeyboardArrowDown from "@icon/mi/baseline/keyboard-arrow-down.svg";
3
3
  import { Host, h } from "@stencil/core";
4
+ /**
5
+ * @part select - The select HTML element
6
+ */
4
7
  export class MdsInputSelect {
5
8
  constructor() {
6
9
  this.onInput = (ev) => {
7
10
  const input = ev.target;
8
11
  if (input) {
9
- this.selected = input.value !== '';
10
12
  this.value = input.value;
11
- // this.internals.setFormValue(input.value)
12
13
  }
13
14
  };
15
+ this.onBlur = () => {
16
+ this.hasFocus = false;
17
+ };
18
+ this.onFocus = () => {
19
+ this.hasFocus = true;
20
+ };
14
21
  this.emptyOptions = () => {
15
22
  var _a;
16
23
  const select = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('select');
@@ -44,23 +51,47 @@ export class MdsInputSelect {
44
51
  elements === null || elements === void 0 ? void 0 : elements.forEach((element) => {
45
52
  select === null || select === void 0 ? void 0 : select.appendChild(element.cloneNode(true));
46
53
  });
54
+ /**
55
+ * I found only this way to make the `select` element SEE the
56
+ * selected option that we wanted as a default
57
+ */
58
+ if (this.value) {
59
+ select === null || select === void 0 ? void 0 : select.querySelectorAll('option').forEach((element) => {
60
+ element.selected = element.value === this.value;
61
+ });
62
+ }
47
63
  };
48
64
  this.selected = undefined;
65
+ this.hasFocus = false;
49
66
  this.autocomplete = undefined;
50
67
  this.autoFocus = undefined;
51
68
  this.placeholder = undefined;
69
+ this.name = undefined;
70
+ this.disabled = false;
71
+ this.required = false;
72
+ this.multiple = false;
73
+ this.size = 0;
52
74
  this.value = '';
75
+ this.variant = undefined;
53
76
  }
54
77
  /**
55
78
  * Emits the change event when the component value changes
56
79
  */
57
80
  valueChanged() {
58
81
  var _a;
82
+ this.selected = this.value !== '';
59
83
  this.changeEvent.emit({ value: this.value });
60
84
  this.internals.setFormValue((_a = this.value) !== null && _a !== void 0 ? _a : null);
61
85
  }
86
+ componentDidLoad() {
87
+ if (this.value) {
88
+ this.selected = true;
89
+ this.internals.setFormValue(this.value);
90
+ }
91
+ }
62
92
  render() {
63
- return (h(Host, null, h("select", { class: clsx('input', this.selected && 'input--selected'), onInput: this.onInput.bind(this) }, this.placeholder && h("option", { value: "", disabled: true, selected: true }, this.placeholder)), h("div", { class: "icon-container" }, h("i", { class: "svg icon", innerHTML: miBaselineKeyboardArrowDown })), h("div", { class: "option-container" }, h("slot", { onSlotchange: this.onSlotChangeHandler }))));
93
+ return (h(Host, { key: 'ea2542be96ac1e1fb7df7f0ed57341842827fcde' }, h("select", { key: 'ebd4810a2eb6b85b85feca18037b0419905276e4', class: clsx('input', this.selected && 'input--selected'), onInput: this.onInput.bind(this), onBlur: this.onBlur, onFocus: this.onFocus, name: this.name, required: this.required, disabled: this.disabled, multiple: this.multiple, size: this.size, part: "select" }, this.placeholder && h("option", { key: '8e071e326a0e46f19931616099d6114ff5453609', value: "", disabled: true, selected: true }, this.placeholder)), h("div", { key: 'e081b71128730e9c2396e9ff5f4fae5c8f3707fb', class: "icon-container" }, h("i", { key: '24c6ff4d6d6dcb1cadfe66666a971e8cef8835b9', class: "svg icon", innerHTML: miBaselineKeyboardArrowDown })), h("div", { key: 'f21d4aeca656dd95081fe37e963e10de42cddc2a', class: "option-container" }, h("slot", { key: '5e2d5bce08d8e8b0283c866956873092c6e0f715', onSlotchange: this.onSlotChangeHandler })), h("mds-input-tip", { key: 'd4f14b01158d9aef1b3c4c7319d3077a8ad5a154', position: "top", active: this.hasFocus }, this.disabled && h("mds-input-tip-item", { key: 'e3a21178db5726df5f91bf9213836f4388baf51e', expanded: true, variant: "disabled" }), this.required &&
94
+ h("mds-input-tip-item", { key: '614d37e64de08213f58a89d4f9e02508341614f3', expanded: this.hasFocus, variant: this.value === '' ? 'required' : 'required-success' }))));
64
95
  }
65
96
  static get is() { return "mds-input-select"; }
66
97
  static get encapsulation() { return "shadow"; }
@@ -128,6 +159,95 @@ export class MdsInputSelect {
128
159
  "attribute": "placeholder",
129
160
  "reflect": true
130
161
  },
162
+ "name": {
163
+ "type": "string",
164
+ "mutable": false,
165
+ "complexType": {
166
+ "original": "string",
167
+ "resolved": "string | undefined",
168
+ "references": {}
169
+ },
170
+ "required": false,
171
+ "optional": true,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": "Is needed to reference the form data after the form is submitted"
175
+ },
176
+ "attribute": "name",
177
+ "reflect": true
178
+ },
179
+ "disabled": {
180
+ "type": "boolean",
181
+ "mutable": false,
182
+ "complexType": {
183
+ "original": "boolean",
184
+ "resolved": "boolean | undefined",
185
+ "references": {}
186
+ },
187
+ "required": false,
188
+ "optional": true,
189
+ "docs": {
190
+ "tags": [],
191
+ "text": "If true, the element is displayed as disabled"
192
+ },
193
+ "attribute": "disabled",
194
+ "reflect": true,
195
+ "defaultValue": "false"
196
+ },
197
+ "required": {
198
+ "type": "boolean",
199
+ "mutable": false,
200
+ "complexType": {
201
+ "original": "boolean",
202
+ "resolved": "boolean | undefined",
203
+ "references": {}
204
+ },
205
+ "required": false,
206
+ "optional": true,
207
+ "docs": {
208
+ "tags": [],
209
+ "text": "Specifies that the element must be filled out before submitting the form"
210
+ },
211
+ "attribute": "required",
212
+ "reflect": true,
213
+ "defaultValue": "false"
214
+ },
215
+ "multiple": {
216
+ "type": "boolean",
217
+ "mutable": false,
218
+ "complexType": {
219
+ "original": "boolean",
220
+ "resolved": "boolean | undefined",
221
+ "references": {}
222
+ },
223
+ "required": false,
224
+ "optional": true,
225
+ "docs": {
226
+ "tags": [],
227
+ "text": "Specifies if the select should allow multiple options to be selected in the list"
228
+ },
229
+ "attribute": "multiple",
230
+ "reflect": true,
231
+ "defaultValue": "false"
232
+ },
233
+ "size": {
234
+ "type": "number",
235
+ "mutable": false,
236
+ "complexType": {
237
+ "original": "number",
238
+ "resolved": "number | undefined",
239
+ "references": {}
240
+ },
241
+ "required": false,
242
+ "optional": true,
243
+ "docs": {
244
+ "tags": [],
245
+ "text": "When `multiple` is set to `true`, represents the number or rows in the list that should be visible"
246
+ },
247
+ "attribute": "size",
248
+ "reflect": true,
249
+ "defaultValue": "0"
250
+ },
131
251
  "value": {
132
252
  "type": "any",
133
253
  "mutable": false,
@@ -140,17 +260,41 @@ export class MdsInputSelect {
140
260
  "optional": true,
141
261
  "docs": {
142
262
  "tags": [],
143
- "text": "Specifies the value of the element"
263
+ "text": "Specifies the value of the component"
144
264
  },
145
265
  "attribute": "value",
146
266
  "reflect": true,
147
267
  "defaultValue": "''"
268
+ },
269
+ "variant": {
270
+ "type": "string",
271
+ "mutable": false,
272
+ "complexType": {
273
+ "original": "ThemeStatusVariantType",
274
+ "resolved": "\"error\" | \"info\" | \"success\" | \"warning\" | undefined",
275
+ "references": {
276
+ "ThemeStatusVariantType": {
277
+ "location": "import",
278
+ "path": "@type/variant",
279
+ "id": "src/type/variant.ts::ThemeStatusVariantType"
280
+ }
281
+ }
282
+ },
283
+ "required": false,
284
+ "optional": true,
285
+ "docs": {
286
+ "tags": [],
287
+ "text": "Sets the variant of the component"
288
+ },
289
+ "attribute": "variant",
290
+ "reflect": true
148
291
  }
149
292
  };
150
293
  }
151
294
  static get states() {
152
295
  return {
153
- "selected": {}
296
+ "selected": {},
297
+ "hasFocus": {}
154
298
  };
155
299
  }
156
300
  static get events() {
@@ -1,11 +1,16 @@
1
1
  import { citiesDictionary } from "../../../fixtures/cities";
2
2
  import { autoCompleteDictionary } from "../../../dictionary/autocomplete";
3
+ import { themeStatusVariantDictionary } from "../../../dictionary/variant";
3
4
  import { h } from "@stencil/core";
4
5
  const cities = {};
5
6
  citiesDictionary.map((element, index) => { cities[index] = element; });
6
7
  export default {
7
8
  title: 'Form / Select',
8
9
  argTypes: {
10
+ value: {
11
+ type: { name: 'string' },
12
+ description: 'The selected value of the select',
13
+ },
9
14
  autocomplete: {
10
15
  description: 'Specifies whether the element should have autocomplete enabled',
11
16
  options: autoCompleteDictionary,
@@ -19,6 +24,28 @@ export default {
19
24
  type: { name: 'string' },
20
25
  description: 'Specifies a short hint that describes the expected value of the element',
21
26
  },
27
+ required: {
28
+ type: { name: 'boolean' },
29
+ description: 'Specifies that the element must be filled out before submitting the form',
30
+ },
31
+ disabled: {
32
+ type: { name: 'boolean' },
33
+ description: 'If true, the element is displayed as disabled',
34
+ },
35
+ multiple: {
36
+ type: { name: 'boolean' },
37
+ description: 'If true, the element allows multiple options to be selected in the list',
38
+ },
39
+ size: {
40
+ type: { name: 'number' },
41
+ description: 'When multiple is set to true, represents the number of rows in the list that should be visible',
42
+ },
43
+ variant: {
44
+ type: { name: 'string' },
45
+ options: themeStatusVariantDictionary,
46
+ control: { type: 'select' },
47
+ description: 'Sets the variant of the component',
48
+ },
22
49
  },
23
50
  };
24
51
  const Template = args => h("mds-input-select", Object.assign({}, args), h("option", { value: "1" }, "First contact"), h("option", { value: "2" }, "Second impact"), h("option", { value: "3" }, "The Third Man"), h("option", { value: "4" }, "The Fourth Emendament"));
@@ -26,3 +53,15 @@ export const Default = Template.bind({});
26
53
  Default.args = {
27
54
  placeholder: 'Seleziona un film...',
28
55
  };
56
+ export const Multiple = Template.bind({});
57
+ Multiple.args = {
58
+ multiple: true,
59
+ };
60
+ export const Required = Template.bind({});
61
+ Required.args = {
62
+ required: true,
63
+ };
64
+ export const Disabled = Template.bind({});
65
+ Disabled.args = {
66
+ disabled: true,
67
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -4,6 +4,15 @@ import baselineAudiotrack from "@icon/mi/baseline/audiotrack.svg";
4
4
  import baselineTerminal from "@icon/mi/baseline/terminal.svg";
5
5
  import baselineInsertDriveFile from "@icon/mi/baseline/insert-drive-file.svg";
6
6
  import mdiHardDisk from "@icon/mdi/harddisk.svg";
7
+ import baselineEmail from "@icon/mi/baseline/email.svg";
8
+ import baselineWysiwyg from "@icon/mi/baseline/wysiwyg.svg";
9
+ import baselinePanorama from "@icon/mi/baseline/panorama.svg";
10
+ import baselineWeb from "@icon/mi/baseline/web.svg";
11
+ import baselineTV from "@icon/mi/baseline/tv.svg";
12
+ import baselineBorderAll from "@icon/mi/baseline/border-all.svg";
13
+ import baselineDescription from "@icon/mi/baseline/description.svg";
14
+ import mdiVectorCurve from "@icon/mdi/vector-curve.svg";
15
+ import baselineVideocam from "@icon/mi/baseline/videocam.svg";
7
16
  const fileFormatsVariant = {
8
17
  archive: {
9
18
  color: 'fill-label-amaranth-04 text-label-amaranth-04',
@@ -43,67 +52,67 @@ const fileFormatsVariant = {
43
52
  },
44
53
  email: {
45
54
  color: 'fill-label-blue-04 text-label-blue-04',
46
- icon: 'mi/baseline/email',
55
+ icon: baselineEmail,
47
56
  iconBackground: 'bg-label-blue-10',
48
57
  variant: 'blue',
49
58
  },
50
59
  executable: {
51
60
  color: 'fill-label-amaranth-04 text-label-amaranth-04',
52
- icon: 'mi/baseline/wysiwyg',
61
+ icon: baselineWysiwyg,
53
62
  iconBackground: 'bg-label-amaranth-10',
54
63
  variant: 'amaranth',
55
64
  },
56
65
  image: {
57
66
  color: 'fill-label-green-04 text-label-green-04',
58
- icon: 'mi/baseline/panorama',
67
+ icon: baselinePanorama,
59
68
  iconBackground: 'bg-label-green-10',
60
69
  variant: 'green',
61
70
  },
62
71
  imageRaster: {
63
72
  color: 'fill-label-green-04 text-label-green-04',
64
- icon: 'mi/baseline/panorama',
73
+ icon: baselinePanorama,
65
74
  iconBackground: 'bg-label-green-10',
66
75
  variant: 'green',
67
76
  },
68
77
  markup: {
69
78
  color: 'fill-label-yellow-04 text-label-yellow-04',
70
- icon: 'mi/baseline/web',
79
+ icon: baselineWeb,
71
80
  iconBackground: 'bg-label-yellow-10',
72
81
  variant: 'yellow',
73
82
  },
74
83
  slide: {
75
84
  color: 'fill-label-orchid-04 text-label-orchid-04',
76
- icon: 'mi/baseline/tv',
85
+ icon: baselineTV,
77
86
  iconBackground: 'bg-label-orchid-10',
78
87
  variant: 'orchid',
79
88
  },
80
89
  spreadsheet: {
81
90
  color: 'fill-label-lime-04 text-label-lime-04',
82
- icon: 'mi/baseline/border-all',
91
+ icon: baselineBorderAll,
83
92
  iconBackground: 'bg-label-lime-10',
84
93
  variant: 'lime',
85
94
  },
86
95
  text: {
87
96
  color: 'fill-label-blue-04 text-label-blue-04',
88
- icon: 'mi/baseline/description',
97
+ icon: baselineDescription,
89
98
  iconBackground: 'bg-label-blue-10',
90
99
  variant: 'blue',
91
100
  },
92
101
  vectorImage: {
93
102
  color: 'fill-label-aqua-04 text-label-aqua-04',
94
- icon: 'mdi/vector-curve',
103
+ icon: mdiVectorCurve,
95
104
  iconBackground: 'bg-label-aqua-10',
96
105
  variant: 'aqua',
97
106
  },
98
107
  vector: {
99
108
  color: 'fill-label-aqua-04 text-label-aqua-04',
100
- icon: 'mdi/vector-curve',
109
+ icon: mdiVectorCurve,
101
110
  iconBackground: 'bg-label-aqua-10',
102
111
  variant: 'aqua',
103
112
  },
104
113
  video: {
105
114
  color: 'fill-label-violet-04 text-label-violet-04',
106
- icon: 'mi/baseline/videocam',
115
+ icon: baselineVideocam,
107
116
  iconBackground: 'bg-label-violet-10',
108
117
  variant: 'violet',
109
118
  },
@@ -4,7 +4,8 @@ function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else i
4
4
 
5
5
  const miBaselineKeyboardArrowDown = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6l-6-6l1.41-1.41z"/></svg>`;
6
6
 
7
- const mdsInputSelectCss = "@tailwind components; *,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::-ms-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.svg{display:-ms-flexbox;display:flex}.svg svg{aspect-ratio:1/1;height:100%;width:100%}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.border{border-width:1px}.bg-label-amaranth-10{--tw-bg-opacity:1;background-color:rgb(var(--label-amaranth-10) / var(--tw-bg-opacity))}.bg-label-aqua-10{--tw-bg-opacity:1;background-color:rgb(var(--label-aqua-10) / var(--tw-bg-opacity))}.bg-label-blue-10{--tw-bg-opacity:1;background-color:rgb(var(--label-blue-10) / var(--tw-bg-opacity))}.bg-label-green-10{--tw-bg-opacity:1;background-color:rgb(var(--label-green-10) / var(--tw-bg-opacity))}.bg-label-lime-10{--tw-bg-opacity:1;background-color:rgb(var(--label-lime-10) / var(--tw-bg-opacity))}.bg-label-orange-10{--tw-bg-opacity:1;background-color:rgb(var(--label-orange-10) / var(--tw-bg-opacity))}.bg-label-orchid-10{--tw-bg-opacity:1;background-color:rgb(var(--label-orchid-10) / var(--tw-bg-opacity))}.bg-label-violet-10{--tw-bg-opacity:1;background-color:rgb(var(--label-violet-10) / var(--tw-bg-opacity))}.bg-label-yellow-10{--tw-bg-opacity:1;background-color:rgb(var(--label-yellow-10) / var(--tw-bg-opacity))}.bg-tone-neutral-10{--tw-bg-opacity:1;background-color:rgb(var(--tone-neutral-10) / var(--tw-bg-opacity))}.fill-label-amaranth-04{fill:rgb(var(--label-amaranth-04))}.fill-label-aqua-04{fill:rgb(var(--label-aqua-04))}.fill-label-blue-04{fill:rgb(var(--label-blue-04))}.fill-label-green-04{fill:rgb(var(--label-green-04))}.fill-label-lime-04{fill:rgb(var(--label-lime-04))}.fill-label-orange-04{fill:rgb(var(--label-orange-04))}.fill-label-orchid-04{fill:rgb(var(--label-orchid-04))}.fill-label-violet-04{fill:rgb(var(--label-violet-04))}.fill-label-yellow-04{fill:rgb(var(--label-yellow-04))}.fill-tone-neutral-04{fill:rgb(var(--tone-neutral-04))}.text-label-amaranth-04{--tw-text-opacity:1;color:rgb(var(--label-amaranth-04) / var(--tw-text-opacity))}.text-label-aqua-04{--tw-text-opacity:1;color:rgb(var(--label-aqua-04) / var(--tw-text-opacity))}.text-label-blue-04{--tw-text-opacity:1;color:rgb(var(--label-blue-04) / var(--tw-text-opacity))}.text-label-green-04{--tw-text-opacity:1;color:rgb(var(--label-green-04) / var(--tw-text-opacity))}.text-label-lime-04{--tw-text-opacity:1;color:rgb(var(--label-lime-04) / var(--tw-text-opacity))}.text-label-orange-04{--tw-text-opacity:1;color:rgb(var(--label-orange-04) / var(--tw-text-opacity))}.text-label-orchid-04{--tw-text-opacity:1;color:rgb(var(--label-orchid-04) / var(--tw-text-opacity))}.text-label-violet-04{--tw-text-opacity:1;color:rgb(var(--label-violet-04) / var(--tw-text-opacity))}.text-label-yellow-04{--tw-text-opacity:1;color:rgb(var(--label-yellow-04) / var(--tw-text-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgb(var(--tone-neutral-04) / var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host{min-height:1.5rem;font-family:Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:1rem;line-height:1.5rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--mds-input-select-variant-color:var(--tone-neutral-01);--mds-input-select-ring:0 0 0 1px rgb(var(--mds-input-select-variant-color) / 0.1);--mds-input-select-shadow:0 1px 3px 0 rgb(var(--mds-input-select-variant-color) / 0.1), 0 1px 2px 0 rgb(var(--mds-input-select-variant-color) / 0.06);color:rgb(var(--tone-neutral-02));display:-ms-flexbox;display:flex;position:relative}.input{font-family:Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:1rem;line-height:1.5rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0rem;min-height:3rem;width:100%;border-radius:0.5rem;padding-top:0.75rem;padding-bottom:0.75rem;padding-left:1rem;padding-right:3rem;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgb(var(--tone-neutral));border:0;-webkit-box-shadow:var(--mds-input-select-ring), var(--mds-input-select-shadow);box-shadow:var(--mds-input-select-ring), var(--mds-input-select-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:rgb(var(--tone-neutral-05));cursor:pointer;overflow:hidden;text-overflow:ellipsis}.input:hover,.input:focus{outline:2px solid transparent;outline-offset:2px;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);--mds-input-select-variant-color:var(--brand-maggioli-04);--mds-input-select-ring:0 0 0 3px rgb(var(--mds-input-select-variant-color) / 1);--mds-input-select-shadow:0 4px 6px -1px rgb(var(--mds-input-select-variant-color) / 0.1), 0 2px 4px -1px rgb(var(--mds-input-select-variant-color) / 0.06);color:rgb(var(--tone-neutral-03))}:host([value]:not([value=\"\"])) .input{color:rgb(var(--tone-neutral-03))}.input--mds-input-select-selected{color:rgb(var(--tone-neutral-02))}.icon-container{right:1rem;height:3rem;-ms-flex-align:center;align-items:center;color:inherit;display:-ms-flexbox;display:flex;pointer-events:none;position:absolute}.icon{border-radius:9999px;-webkit-transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:200ms;transition-duration:200ms;background-color:transparent;fill:rgb(var(--brand-maggioli-04))}.input:focus+.icon-container .icon,.input:hover+.icon-container .icon{background-color:rgb(var(--tone-neutral-09));fill:rgb(var(--brand-maggioli-02))}.option-container{display:none}";
7
+ const mdsInputSelectCss = "@tailwind components;\n@tailwind utilities;\n\n\n\n*, ::before, ::after{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: ;\n\n --tw-contain-size: ;\n\n --tw-contain-layout: ;\n\n --tw-contain-paint: ;\n\n --tw-contain-style: ;\n}\n\n\n\n::-webkit-backdrop{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: ;\n\n --tw-contain-size: ;\n\n --tw-contain-layout: ;\n\n --tw-contain-paint: ;\n\n --tw-contain-style: ;\n}\n\n\n\n::-ms-backdrop{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: ;\n\n --tw-contain-size: ;\n\n --tw-contain-layout: ;\n\n --tw-contain-paint: ;\n\n --tw-contain-style: ;\n}\n\n\n\n::backdrop{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: ;\n\n --tw-contain-size: ;\n\n --tw-contain-layout: ;\n\n --tw-contain-paint: ;\n\n --tw-contain-style: ;\n}\n.svg{\n\n display: -ms-flexbox;\n\n display: flex;\n}\n.svg svg{\n\n aspect-ratio: 1/1;\n\n height: 100%;\n\n width: 100%;\n}\n@tailwind utilities;\n\n\n:host{\n\n min-height: 1.5rem;\n\n font-family: Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n font-size: 1rem;\n\n line-height: 1.5rem;\n\n -webkit-font-smoothing: antialiased;\n\n -moz-osx-font-smoothing: grayscale;\n\n --mds-input-select-variant-color: var(--tone-neutral-01);\n --mds-input-select-ring: 0 0 0 1px rgb(var(--mds-input-select-variant-color) / 0.1);\n --mds-input-select-shadow: 0 1px 3px 0 rgb(var(--mds-input-select-variant-color) / 0.1), 0 1px 2px 0 rgb(var(--mds-input-select-variant-color) / 0.06);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: transparent;\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color) / 0.5);\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color) / 0.5);\n --mds-input-select-arrow-icon-hover-color: rgb(var(--mds-input-select-variant-color));\n\n color: rgb(var(--tone-neutral-02));\n display: -ms-flexbox;\n display: flex;\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n:host( [required]:not([required=\"false\"]):focus-within ) .icon{\n\n --tw-translate-y: 0.375rem;\n\n --tw-translate-x: 0.375rem;\n\n -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n:host( :hover ),\n:host( :focus-within ) {\n\n --mds-input-select-variant-color: var(--brand-maggioli-03);\n --mds-input-select-ring: 0 0 0 3px rgb(var(--mds-input-select-variant-color) / 1);\n --mds-input-select-shadow: 0 4px 6px -1px rgb(var(--mds-input-select-variant-color) / 0.1), 0 2px 4px -1px rgb(var(--mds-input-select-variant-color) / 0.06);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-hover-background-color);\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-hover-color);\n}\n\n.input{\n\n font-family: Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n font-size: 1rem;\n\n line-height: 1.5rem;\n\n -webkit-font-smoothing: antialiased;\n\n -moz-osx-font-smoothing: grayscale;\n\n margin: 0rem;\n\n min-height: 3rem;\n\n width: 100%;\n\n border-radius: 0.5rem;\n\n padding-top: 0.75rem;\n\n padding-bottom: 0.75rem;\n\n padding-left: 1rem;\n\n padding-right: 3rem;\n\n -webkit-transition-property: background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;\n\n transition-property: background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;\n\n transition-property: background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;\n\n transition-property: background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;\n\n -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n -webkit-transition-duration: 300ms;\n\n transition-duration: 300ms;\n\n -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n background-color: rgb(var(--tone-neutral));\n border: 0;\n -webkit-box-shadow: var(--mds-input-select-ring), var(--mds-input-select-shadow);\n box-shadow: var(--mds-input-select-ring), var(--mds-input-select-shadow);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: rgb(var(--tone-neutral-05));\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.input:hover,\n.input:focus{\n\n outline: 2px solid transparent;\n\n outline-offset: 2px;\n\n -webkit-transition-property: background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;\n\n transition-property: background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;\n\n transition-property: background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;\n\n transition-property: background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;\n\n -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n -webkit-transition-duration: 300ms;\n\n transition-duration: 300ms;\n\n -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n color: rgb(var(--tone-neutral-03));\n}\n\n:host([value]:not([value=\"\"])) .input {\n color: rgb(var(--tone-neutral-03));\n}\n\n.input--mds-input-select-selected {\n color: rgb(var(--tone-neutral-02));\n}\n\n.input:disabled {\n background-color: rgb(var(--tone-neutral-09));\n opacity: 1;\n}\n\n:host([disabled]:not([disabled=\"false\"])) {\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) .input {\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) .icon{\n\n --tw-translate-y: 0.5rem;\n\n --tw-translate-x: 0.625rem;\n\n -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n\n fill: rgb(var(--tone-neutral-06));\n}\n\n.icon-container{\n\n right: 1rem;\n\n height: 3rem;\n\n -ms-flex-align: center;\n\n align-items: center;\n color: inherit;\n display: -ms-flexbox;\n display: flex;\n pointer-events: none;\n position: absolute;\n}\n\n.icon{\n\n border-radius: 9999px;\n\n -webkit-transition-property: background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;\n\n transition-property: background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;\n\n transition-property: background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;\n\n transition-property: background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;\n\n -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n -webkit-transition-duration: 200ms;\n\n transition-duration: 200ms;\n\n background-color: var(--mds-input-select-arrow-icon-background-color, rgb(var(--brand-maggioli-09)));\n fill: var(--mds-input-select-arrow-icon-color, rgb(var(--brand-maggioli-04)));\n}\n\n.option-container {\n display: none;\n}\n\n@container (max-width: 210px) {\n :host .tip__content,\n :host(:focus-within) .tip__content {\n grid-template-columns: 0fr;\n opacity: 0;\n }\n\n :host .tip {\n padding-left: 0;\n padding-right: 0;\n }\n\n :host {\n\n --mds-input-select-background: rgb(var(--brand-maggioli-07));\n }\n}\n\n@tailwind utilities;\n\n:host {\n\n --mds-input-select-icon-color: var(--brand-maggioli-03);\n --mds-input-select-variant-color: 0 0 0;\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--brand-maggioli-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--brand-maggioli-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--brand-maggioli-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--brand-maggioli-04));\n}\n\n:host( :hover ),\n:host( :focus-within ) {\n\n --mds-input-select-variant-color: var(--brand-maggioli-04);\n}\n\n:host( [variant=\"info\"] ) {\n\n --mds-input-select-icon-color: var(--status-info-05);\n --mds-input-select-tip-background: var(--status-info-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-info-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-info-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-info-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-info-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"info\"]:hover ),\n:host( [variant=\"info\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-info-04);\n --mds-input-select-variant-color: var(--status-info-05);\n}\n\n:host( [variant=\"success\"] ) {\n\n --mds-input-select-icon-color: var(--status-success-05);\n --mds-input-select-tip-background: var(--status-success-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-success-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-success-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-success-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-success-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"success\"]:hover ),\n:host( [variant=\"success\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-success-04);\n --mds-input-select-variant-color: var(--status-success-05);\n}\n\n:host( [variant=\"warning\"] ) {\n\n --mds-input-select-icon-color: var(--status-warning-05);\n --mds-input-select-tip-background: var(--status-warning-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-warning-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-warning-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-warning-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-warning-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"warning\"]:hover ),\n:host( [variant=\"warning\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-warning-04);\n --mds-input-select-variant-color: var(--status-warning-05);\n}\n\n:host( [variant=\"error\"] ) {\n\n --mds-input-select-icon-color: var(--status-error-05);\n --mds-input-select-tip-background: var(--status-error-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-error-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-error-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-error-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-error-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"error\"]:hover ),\n:host( [variant=\"error\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-error-04);\n --mds-input-select-variant-color: var(--status-error-05);\n}\n\n@container style(--magma-pref-animation: reduce) {\n :host,\n .input,\n .input:hover,\n .input:focus,\n .icon {\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n\n@container style(--magma-pref-animation: system) {\n\n @media (prefers-reduced-motion) {\n :host,\n .input,\n .input:hover,\n .input:focus,\n .icon {\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n }\n}\n\n@tailwind utilities;\n\n@container style(--magma-pref-theme: dark) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.3);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--brand-maggioli-05));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--tone-neutral-10));\n }\n\n .input {\n color: rgb(var(--tone-neutral-03));\n }\n}\n\n@container style(--magma-pref-theme: system) {\n\n @media (prefers-color-scheme: dark) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.3);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--brand-maggioli-05));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--tone-neutral-10));\n }\n\n .input {\n color: rgb(var(--tone-neutral-03));\n }\n }\n}\n\n.visible{\n\n visibility: visible;\n}\n\n.static{\n\n position: static;\n}\n\n.fixed{\n\n position: fixed;\n}\n\n.absolute{\n\n position: absolute;\n}\n\n.border{\n\n border-width: 1px;\n}\n\n.bg-label-amaranth-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-amaranth-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-aqua-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-aqua-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-blue-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-blue-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-green-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-green-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-lime-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-lime-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-orange-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-orange-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-orchid-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-orchid-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-violet-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-violet-10) / var(--tw-bg-opacity));\n}\n\n.bg-label-yellow-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--label-yellow-10) / var(--tw-bg-opacity));\n}\n\n.bg-tone-neutral-10{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(var(--tone-neutral-10) / var(--tw-bg-opacity));\n}\n\n.fill-label-amaranth-04{\n\n fill: rgb(var(--label-amaranth-04));\n}\n\n.fill-label-aqua-04{\n\n fill: rgb(var(--label-aqua-04));\n}\n\n.fill-label-blue-04{\n\n fill: rgb(var(--label-blue-04));\n}\n\n.fill-label-green-04{\n\n fill: rgb(var(--label-green-04));\n}\n\n.fill-label-lime-04{\n\n fill: rgb(var(--label-lime-04));\n}\n\n.fill-label-orange-04{\n\n fill: rgb(var(--label-orange-04));\n}\n\n.fill-label-orchid-04{\n\n fill: rgb(var(--label-orchid-04));\n}\n\n.fill-label-violet-04{\n\n fill: rgb(var(--label-violet-04));\n}\n\n.fill-label-yellow-04{\n\n fill: rgb(var(--label-yellow-04));\n}\n\n.fill-tone-neutral-04{\n\n fill: rgb(var(--tone-neutral-04));\n}\n\n.text-label-amaranth-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-amaranth-04) / var(--tw-text-opacity));\n}\n\n.text-label-aqua-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-aqua-04) / var(--tw-text-opacity));\n}\n\n.text-label-blue-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-blue-04) / var(--tw-text-opacity));\n}\n\n.text-label-green-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-green-04) / var(--tw-text-opacity));\n}\n\n.text-label-lime-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-lime-04) / var(--tw-text-opacity));\n}\n\n.text-label-orange-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-orange-04) / var(--tw-text-opacity));\n}\n\n.text-label-orchid-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-orchid-04) / var(--tw-text-opacity));\n}\n\n.text-label-violet-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-violet-04) / var(--tw-text-opacity));\n}\n\n.text-label-yellow-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--label-yellow-04) / var(--tw-text-opacity));\n}\n\n.text-tone-neutral-04{\n\n --tw-text-opacity: 1;\n\n color: rgb(var(--tone-neutral-04) / var(--tw-text-opacity));\n}\n\n.shadow{\n\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n\n -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n@container style(--magma-pref-contrast: more) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.6);\n }\n\n .input {\n color: rgb(var(--tone-neutral-01));\n }\n}\n\n@container style(--magma-pref-contrast: system) {\n\n @media (prefers-contrast: more) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.6);\n }\n\n .input {\n color: rgb(var(--tone-neutral-01));\n }\n }\n}\n\n\n";
8
+ const MdsInputSelectStyle0 = mdsInputSelectCss;
8
9
 
9
10
  const MdsInputSelect$1 = /*@__PURE__*/ proxyCustomElement(class MdsInputSelect extends HTMLElement {
10
11
  constructor() {
@@ -16,11 +17,15 @@ const MdsInputSelect$1 = /*@__PURE__*/ proxyCustomElement(class MdsInputSelect e
16
17
  this.onInput = (ev) => {
17
18
  const input = ev.target;
18
19
  if (input) {
19
- this.selected = input.value !== '';
20
20
  this.value = input.value;
21
- // this.internals.setFormValue(input.value)
22
21
  }
23
22
  };
23
+ this.onBlur = () => {
24
+ this.hasFocus = false;
25
+ };
26
+ this.onFocus = () => {
27
+ this.hasFocus = true;
28
+ };
24
29
  this.emptyOptions = () => {
25
30
  var _a;
26
31
  const select = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('select');
@@ -54,36 +59,67 @@ const MdsInputSelect$1 = /*@__PURE__*/ proxyCustomElement(class MdsInputSelect e
54
59
  elements === null || elements === void 0 ? void 0 : elements.forEach((element) => {
55
60
  select === null || select === void 0 ? void 0 : select.appendChild(element.cloneNode(true));
56
61
  });
62
+ /**
63
+ * I found only this way to make the `select` element SEE the
64
+ * selected option that we wanted as a default
65
+ */
66
+ if (this.value) {
67
+ select === null || select === void 0 ? void 0 : select.querySelectorAll('option').forEach((element) => {
68
+ element.selected = element.value === this.value;
69
+ });
70
+ }
57
71
  };
58
72
  this.selected = undefined;
73
+ this.hasFocus = false;
59
74
  this.autocomplete = undefined;
60
75
  this.autoFocus = undefined;
61
76
  this.placeholder = undefined;
77
+ this.name = undefined;
78
+ this.disabled = false;
79
+ this.required = false;
80
+ this.multiple = false;
81
+ this.size = 0;
62
82
  this.value = '';
83
+ this.variant = undefined;
63
84
  }
64
85
  /**
65
86
  * Emits the change event when the component value changes
66
87
  */
67
88
  valueChanged() {
68
89
  var _a;
90
+ this.selected = this.value !== '';
69
91
  this.changeEvent.emit({ value: this.value });
70
92
  this.internals.setFormValue((_a = this.value) !== null && _a !== void 0 ? _a : null);
71
93
  }
94
+ componentDidLoad() {
95
+ if (this.value) {
96
+ this.selected = true;
97
+ this.internals.setFormValue(this.value);
98
+ }
99
+ }
72
100
  render() {
73
- return (h(Host, null, h("select", { class: clsx('input', this.selected && 'input--selected'), onInput: this.onInput.bind(this) }, this.placeholder && h("option", { value: "", disabled: true, selected: true }, this.placeholder)), h("div", { class: "icon-container" }, h("i", { class: "svg icon", innerHTML: miBaselineKeyboardArrowDown })), h("div", { class: "option-container" }, h("slot", { onSlotchange: this.onSlotChangeHandler }))));
101
+ return (h(Host, { key: 'ea2542be96ac1e1fb7df7f0ed57341842827fcde' }, h("select", { key: 'ebd4810a2eb6b85b85feca18037b0419905276e4', class: clsx('input', this.selected && 'input--selected'), onInput: this.onInput.bind(this), onBlur: this.onBlur, onFocus: this.onFocus, name: this.name, required: this.required, disabled: this.disabled, multiple: this.multiple, size: this.size, part: "select" }, this.placeholder && h("option", { key: '8e071e326a0e46f19931616099d6114ff5453609', value: "", disabled: true, selected: true }, this.placeholder)), h("div", { key: 'e081b71128730e9c2396e9ff5f4fae5c8f3707fb', class: "icon-container" }, h("i", { key: '24c6ff4d6d6dcb1cadfe66666a971e8cef8835b9', class: "svg icon", innerHTML: miBaselineKeyboardArrowDown })), h("div", { key: 'f21d4aeca656dd95081fe37e963e10de42cddc2a', class: "option-container" }, h("slot", { key: '5e2d5bce08d8e8b0283c866956873092c6e0f715', onSlotchange: this.onSlotChangeHandler })), h("mds-input-tip", { key: 'd4f14b01158d9aef1b3c4c7319d3077a8ad5a154', position: "top", active: this.hasFocus }, this.disabled && h("mds-input-tip-item", { key: 'e3a21178db5726df5f91bf9213836f4388baf51e', expanded: true, variant: "disabled" }), this.required &&
102
+ h("mds-input-tip-item", { key: '614d37e64de08213f58a89d4f9e02508341614f3', expanded: this.hasFocus, variant: this.value === '' ? 'required' : 'required-success' }))));
74
103
  }
75
104
  static get formAssociated() { return true; }
76
105
  get host() { return this; }
77
106
  static get watchers() { return {
78
107
  "value": ["valueChanged"]
79
108
  }; }
80
- static get style() { return mdsInputSelectCss; }
109
+ static get style() { return MdsInputSelectStyle0; }
81
110
  }, [65, "mds-input-select", {
82
111
  "autocomplete": [513],
83
112
  "autoFocus": [516, "auto-focus"],
84
113
  "placeholder": [513],
114
+ "name": [513],
115
+ "disabled": [516],
116
+ "required": [516],
117
+ "multiple": [516],
118
+ "size": [514],
85
119
  "value": [520],
86
- "selected": [32]
120
+ "variant": [513],
121
+ "selected": [32],
122
+ "hasFocus": [32]
87
123
  }, undefined, {
88
124
  "value": ["valueChanged"]
89
125
  }]);
@@ -347,10 +347,26 @@ export interface JsonDocsEvent {
347
347
  deprecation?: string;
348
348
  detail: string;
349
349
  }
350
+ /**
351
+ * Type describing a CSS Style, as described by a JSDoc-style comment
352
+ */
350
353
  export interface JsonDocsStyle {
354
+ /**
355
+ * The name of the style
356
+ */
351
357
  name: string;
358
+ /**
359
+ * The type/description associated with the style
360
+ */
352
361
  docs: string;
362
+ /**
363
+ * The annotation used in the JSDoc of the style (e.g. `@prop`)
364
+ */
353
365
  annotation: string;
366
+ /**
367
+ * The mode associated with the style
368
+ */
369
+ mode: string | undefined;
354
370
  }
355
371
  export interface JsonDocsListener {
356
372
  event: string;
@@ -389,10 +405,28 @@ export interface JsonDocsPart {
389
405
  */
390
406
  docs: string;
391
407
  }
408
+ /**
409
+ * Represents a parsed block comment in a CSS, Sass, etc. file for a custom property.
410
+ */
392
411
  export interface StyleDoc {
412
+ /**
413
+ * The name of the CSS property
414
+ */
393
415
  name: string;
416
+ /**
417
+ * The user-defined description of the CSS property
418
+ */
394
419
  docs: string;
420
+ /**
421
+ * The JSDoc-style annotation (e.g. `@prop`) that was used in the block comment to detect the comment.
422
+ * Used to inform Stencil where the start of a new property's description starts (and where the previous description
423
+ * ends).
424
+ */
395
425
  annotation: "prop";
426
+ /**
427
+ * The Stencil style-mode that is associated with this property.
428
+ */
429
+ mode: string | undefined;
396
430
  }
397
431
 
398
432
  export {};