@limetech/lime-elements 38.21.2 → 38.21.3

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 (53) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/{checkbox.template-882253c2.js → checkbox.template-d2c0b7fc.js} +4 -3
  3. package/dist/cjs/checkbox.template-d2c0b7fc.js.map +1 -0
  4. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +13 -14
  5. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js.map +1 -1
  6. package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
  7. package/dist/cjs/limel-checkbox.cjs.entry.js.map +1 -1
  8. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/limel-dynamic-label_3.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-dynamic-label_3.cjs.entry.js.map +1 -1
  12. package/dist/collection/components/checkbox/checkbox.css +72 -37
  13. package/dist/collection/components/checkbox/checkbox.template.js +2 -1
  14. package/dist/collection/components/checkbox/checkbox.template.js.map +1 -1
  15. package/dist/collection/components/chip-set/chip-set.css +2 -0
  16. package/dist/collection/components/input-field/input-field.css +9 -0
  17. package/dist/collection/components/list/list.css +282 -430
  18. package/dist/collection/components/list/radio-button/radio-button.template.js +6 -4
  19. package/dist/collection/components/list/radio-button/radio-button.template.js.map +1 -1
  20. package/dist/collection/components/menu-list/menu-list.css +282 -430
  21. package/dist/collection/components/notched-outline/notched-outline.css +1 -0
  22. package/dist/collection/style/internal/boolean-input.scss +178 -0
  23. package/dist/collection/style/internal/shared_input-select-picker.scss +3 -168
  24. package/dist/esm/{checkbox.template-0a54ff6e.js → checkbox.template-04a31caa.js} +4 -3
  25. package/dist/esm/checkbox.template-04a31caa.js.map +1 -0
  26. package/dist/esm/limel-breadcrumbs_7.entry.js +13 -14
  27. package/dist/esm/limel-breadcrumbs_7.entry.js.map +1 -1
  28. package/dist/esm/limel-checkbox.entry.js +2 -2
  29. package/dist/esm/limel-checkbox.entry.js.map +1 -1
  30. package/dist/esm/limel-chip_2.entry.js +1 -1
  31. package/dist/esm/limel-chip_2.entry.js.map +1 -1
  32. package/dist/esm/limel-dynamic-label_3.entry.js +1 -1
  33. package/dist/esm/limel-dynamic-label_3.entry.js.map +1 -1
  34. package/dist/lime-elements/lime-elements.esm.js +1 -1
  35. package/dist/lime-elements/{p-2869405b.entry.js → p-576a290b.entry.js} +2 -2
  36. package/dist/lime-elements/{p-2869405b.entry.js.map → p-576a290b.entry.js.map} +1 -1
  37. package/dist/lime-elements/{p-3fab45c9.entry.js → p-cc6195a9.entry.js} +7 -7
  38. package/dist/lime-elements/{p-3fab45c9.entry.js.map → p-cc6195a9.entry.js.map} +1 -1
  39. package/dist/lime-elements/p-d5b1f00e.js +2 -0
  40. package/dist/lime-elements/p-d5b1f00e.js.map +1 -0
  41. package/dist/lime-elements/{p-84f3deba.entry.js → p-e5ae9af8.entry.js} +2 -2
  42. package/dist/lime-elements/{p-84f3deba.entry.js.map → p-e5ae9af8.entry.js.map} +1 -1
  43. package/dist/lime-elements/p-e80040b7.entry.js +266 -0
  44. package/dist/lime-elements/p-e80040b7.entry.js.map +1 -0
  45. package/dist/lime-elements/style/internal/boolean-input.scss +178 -0
  46. package/dist/lime-elements/style/internal/shared_input-select-picker.scss +3 -168
  47. package/package.json +1 -1
  48. package/dist/cjs/checkbox.template-882253c2.js.map +0 -1
  49. package/dist/esm/checkbox.template-0a54ff6e.js.map +0 -1
  50. package/dist/lime-elements/p-6b746479.js +0 -2
  51. package/dist/lime-elements/p-6b746479.js.map +0 -1
  52. package/dist/lime-elements/p-6e698e38.entry.js +0 -266
  53. package/dist/lime-elements/p-6e698e38.entry.js.map +0 -1
@@ -73,20 +73,15 @@
73
73
  * Media query mixins for responsive design based on screen width.
74
74
  * Note that these mixins do not detect the device type!
75
75
  */
76
- /**
77
- * @prop --checkbox-unchecked-border-color: Affects the border color of the default state of the checkbox (when it is not checked). Defaults to `--contrast-900`.
78
- */
79
- :host(limel-checkbox) {
80
- min-height: var(--limel-checkbox-min-height, 2.5rem);
81
- }
82
-
83
76
  *,
84
77
  *:before,
85
78
  *:after {
86
79
  box-sizing: border-box;
87
80
  }
88
81
 
89
- .checkbox {
82
+ .boolean-input {
83
+ --limel-boolean-input-box-size: 1.25rem;
84
+ --limel-boolean-input-gap-size: 0.5rem;
90
85
  position: relative;
91
86
  isolation: isolate;
92
87
  display: flex;
@@ -94,8 +89,8 @@
94
89
  min-height: var(--limel-checkbox-min-height, 2.5rem);
95
90
  width: 100%;
96
91
  }
97
-
98
- input[type=checkbox] {
92
+ .boolean-input input[type=checkbox],
93
+ .boolean-input input[type=radio] {
99
94
  position: absolute;
100
95
  width: 0;
101
96
  height: 0;
@@ -111,34 +106,34 @@ input[type=checkbox] {
111
106
  appearance: none;
112
107
  }
113
108
 
114
- label {
115
- min-width: 1.25rem;
116
- min-height: 1.25rem;
109
+ label.boolean-input-label {
110
+ min-width: var(--limel-boolean-input-box-size);
111
+ min-height: var(--limel-boolean-input-box-size);
117
112
  padding-top: 0.125rem;
118
113
  cursor: pointer;
119
114
  position: relative;
120
115
  width: 100%;
121
116
  font-size: var(--limel-theme-default-small-font-size);
122
117
  color: var(--limel-theme-text-primary-on-background-color);
123
- padding-left: 1.75rem;
118
+ padding-left: calc(var(--limel-boolean-input-box-size) + var(--limel-boolean-input-gap-size));
124
119
  }
125
- .disabled:not([readonly]):not([readonly=true]) label {
120
+ .disabled:not([readonly]):not([readonly=true]) label.boolean-input-label {
126
121
  cursor: not-allowed;
127
122
  color: var(--limel-theme-text-disabled-color);
128
123
  }
129
- .required label:after {
124
+ .required label.boolean-input-label:after {
130
125
  margin-left: 0.0625rem;
131
126
  content: "*";
132
127
  }
133
- .invalid:not(.readonly) label {
128
+ .invalid:not(.readonly) label.boolean-input-label {
134
129
  color: var(--limel-theme-error-text-color);
135
130
  }
136
- :host(limel-checkbox.hide-label) label, .hide-label label {
131
+ :host(limel-checkbox.hide-label) label.boolean-input-label, .hide-label label.boolean-input-label {
137
132
  overflow: hidden;
138
133
  white-space: nowrap;
139
134
  text-overflow: ellipsis;
140
135
  opacity: 0;
141
- width: 1.25rem;
136
+ width: var(--limel-boolean-input-box-size);
142
137
  }
143
138
 
144
139
  .box {
@@ -147,26 +142,26 @@ label {
147
142
  transition: border-color 0.4s ease 0.2s, background-color 0.2s ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease;
148
143
  display: inline-block;
149
144
  vertical-align: middle;
150
- width: 1.25rem;
151
- height: 1.25rem;
152
- margin-right: 0.5rem;
153
- border-radius: 0.25rem;
145
+ width: var(--limel-boolean-input-box-size);
146
+ height: var(--limel-boolean-input-box-size);
147
+ margin-right: var(--limel-boolean-input-gap-size);
148
+ border-radius: var(--limel-boolean-input-box-border-radius);
154
149
  border: 0.125rem solid;
155
150
  border-color: var(--checkbox-unchecked-border-color, rgb(var(--contrast-900)));
156
151
  background-color: var(--limel-checkbox-background-color, rgb(var(--contrast-300)));
157
152
  }
158
- .checked .box, .checkbox:has(input[type=checkbox]:checked) .box {
153
+ .checked .box, .boolean-input:has(input[type=checkbox]:checked) .box, .boolean-input:has(input[type=radio]:checked) .box {
159
154
  background-color: var(--lime-primary-color, var(--limel-theme-primary-color));
160
155
  border-color: var(--lime-primary-color, var(--limel-theme-primary-color));
161
156
  }
162
157
  .disabled .box {
163
158
  opacity: 0.4;
164
159
  }
165
- .checkbox:not(.disabled):has(label:hover) .box {
160
+ .boolean-input:not(.disabled):has(label.boolean-input-label:hover) .box {
166
161
  will-change: box-shadow;
167
162
  box-shadow: var(--button-shadow-hovered);
168
163
  }
169
- .checkbox:not(.disabled):has(label:active) .box {
164
+ .boolean-input:not(.disabled):has(label.boolean-input-label:active) .box {
170
165
  will-change: box-shadow;
171
166
  box-shadow: var(--button-shadow-pressed);
172
167
  }
@@ -177,34 +172,74 @@ label {
177
172
  inset: -0.1875rem;
178
173
  border-radius: inherit;
179
174
  }
180
- .checkbox:has(input[type=checkbox]:focus-visible) .box:before {
175
+ .boolean-input:has(input[type=checkbox]:focus-visible) .box:before, .boolean-input:has(input[type=radio]:focus-visible) .box:before {
181
176
  will-change: box-shadow;
182
177
  box-shadow: var(--shadow-depth-8-focused);
183
178
  }
184
179
  .box:after {
185
- transition: opacity 0.2s ease, width 0.4s ease;
180
+ transition: opacity 0.2s ease, width 0.4s ease, box-shadow 0.6s cubic-bezier(0.68, -0.55, 0, 1.87), transform 0.6s cubic-bezier(0.68, -0.55, 0, 1.87);
186
181
  content: "";
187
182
  position: absolute;
188
183
  inset: 0;
189
184
  margin: auto;
190
- height: 0.125rem;
191
- width: 0.25rem;
192
185
  border-radius: 1rem;
193
186
  opacity: 0;
194
187
  background-color: rgb(var(--color-white));
195
188
  }
189
+ .boolean-input:not(.disabled):has(label.boolean-input-label:hover) .box:after {
190
+ will-change: opacity, box-shadow, transform, width;
191
+ }
192
+
193
+ /**
194
+ * :::important
195
+ * The `CheckboxTemplate` can be imported and used in the HTML of
196
+ * other components, to render a non-functional and decorative checkbox in
197
+ * their UI. An example of this is the list component.
198
+ * This means the content of `CheckboxTemplate` will become a part of the
199
+ * consumer's DOM structure.
200
+ *
201
+ * Additionally, the consumer components' also need to import the current `.scss`
202
+ * file into their own styles file, for the checkbox to be rendered correctly!
203
+ * This means, if the styles in this file are not "specific" enough,
204
+ * there is a risk that the consumer component's styles are affected by
205
+ * our styles here.
206
+ *
207
+ * For instance if the consumer has a `<label>` or `<svg>` element,
208
+ * it might unintentionally inherit styles from the checkbox; unless we
209
+ * make the such styles more specific here.
210
+ *
211
+ * Naturally, we cannot mitigate all sorts of potential styling problems.
212
+ * The consumer component should be aware of this issue too.
213
+ * But we can ensure that our styles here both make sense,
214
+ * are readable, and are as specific as possible to avoid unintended side effects.
215
+ * :::
216
+ */
217
+ /**
218
+ * @prop --checkbox-unchecked-border-color: Affects the border color of the default state of the checkbox (when it is not checked). Defaults to `--contrast-900`.
219
+ */
220
+ :host(limel-checkbox) {
221
+ min-height: var(--limel-checkbox-min-height, 2.5rem);
222
+ }
223
+
224
+ .box:after {
225
+ height: 0.125rem;
226
+ width: 0.25rem;
227
+ }
196
228
  .indeterminate .box:after {
197
229
  opacity: 1;
198
- width: 0.75rem;
230
+ width: calc(var(--limel-boolean-input-box-size) - 0.5rem);
199
231
  }
200
232
 
201
- svg {
233
+ .checkbox {
234
+ --limel-boolean-input-box-border-radius: 0.25rem;
235
+ }
236
+ .checkbox svg.check-mark {
202
237
  position: absolute;
203
238
  z-index: 1;
204
239
  inset: 0;
205
240
  transform: translate3d(-0.125rem, -0.125rem, 0);
206
- width: 1.25rem;
207
- height: 1.25rem;
241
+ width: var(--limel-boolean-input-box-size);
242
+ height: var(--limel-boolean-input-box-size);
208
243
  padding: 0.25rem;
209
244
  color: rgb(var(--color-white));
210
245
  opacity: 0;
@@ -213,15 +248,15 @@ svg {
213
248
  stroke-linecap: round;
214
249
  stroke-linejoin: round;
215
250
  }
216
- svg path {
251
+ .checkbox svg.check-mark path {
217
252
  stroke-dashoffset: 29.7833;
218
253
  stroke-dasharray: 29.7833;
219
254
  transition: stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);
220
255
  }
221
- .checkbox:not(.indeterminate):has(input[type=checkbox]:checked) svg {
256
+ .checkbox:not(.indeterminate):has(input[type=checkbox]:checked) svg.check-mark {
222
257
  opacity: 1;
223
258
  }
224
- .checkbox:not(.indeterminate):has(input[type=checkbox]:checked) svg path {
259
+ .checkbox:not(.indeterminate):has(input[type=checkbox]:checked) svg.check-mark path {
225
260
  stroke-dashoffset: 0;
226
261
  }
227
262
 
@@ -21,6 +21,7 @@ export const CheckboxTemplate = (props) => {
21
21
  h("div", { class: {
22
22
  'mdc-form-field': true,
23
23
  'mdc-checkbox': true,
24
+ 'boolean-input': true,
24
25
  checkbox: true,
25
26
  checked: props.checked,
26
27
  invalid: props.invalid,
@@ -30,7 +31,7 @@ export const CheckboxTemplate = (props) => {
30
31
  readonly: props.readonly,
31
32
  } }, h("input", Object.assign({ type: "checkbox", class: "mdc-checkbox__native-control" // required by MDC to work
32
33
  ,
33
- id: props.id, checked: props.checked, disabled: props.disabled || props.readonly, required: props.required, onChange: props.onChange, "aria-controls": props.helperTextId, "aria-describedby": props.helperTextId }, inputProps)), h("div", { class: "box" }, h("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false" }, h("path", { fill: "none", d: "M1.73,12.91 8.1,19.28 22.79,4.59" }))), h("label", { htmlFor: props.id }, props.label)),
34
+ id: props.id, checked: props.checked, disabled: props.disabled || props.readonly, required: props.required, onChange: props.onChange, "aria-controls": props.helperTextId, "aria-describedby": props.helperTextId }, inputProps)), h("div", { class: "box" }, h("svg", { class: "check-mark", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false" }, h("path", { fill: "none", d: "M1.73,12.91 8.1,19.28 22.79,4.59" }))), h("label", { class: "boolean-input-label", htmlFor: props.id }, props.label)),
34
35
  h(HelperText, { text: props.helperText, helperTextId: props.helperTextId, invalid: props.invalid }),
35
36
  ];
36
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.template.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAmBvD,MAAM,CAAC,MAAM,gBAAgB,GAA+C,CACxE,KAAK,EACP,EAAE;EACA,MAAM,UAAU,GAAG,EAAE,CAAC;EACtB,IAAI,KAAK,CAAC,QAAQ,EAAE;IAChB,IAAI,IAAI,GAAkB,OAAO,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,EAAE;MACf,IAAI,GAAG;QACH,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,6DAA6D;OACvE,CAAC;KACL;IAED,OAAO;MACH,2BACI,KAAK,EAAE,KAAK,CAAC,OAAO,mBACL,KAAK,CAAC,YAAY,EACjC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAC/C,MAAM,EAAE,KAAK,CAAC,cAAc,GAC9B;MACF,EAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;KACL,CAAC;GACL;EAED,IAAI,KAAK,CAAC,aAAa,EAAE;IACrB,UAAU,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;GAC7C;EAED,OAAO;IACH,WACI,KAAK,EAAE;QACH,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;OAC3B;MAED,2BACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,8BAA8B,CAAC,0BAA0B;UAC/D,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,mBACT,KAAK,CAAC,YAAY,sBACf,KAAK,CAAC,YAAY,IAChC,UAAU,EAChB;MACF,WAAK,KAAK,EAAC,KAAK;QACZ,WAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO;UACzD,YAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,kCAAkC,GAAG,CACvD,CACJ;MACN,aAAO,OAAO,EAAE,KAAK,CAAC,EAAE,IAAG,KAAK,CAAC,KAAK,CAAS,CAC7C;IACN,EAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;GACL,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,UAAU,GAIX,CAAC,KAAK,EAAE,EAAE;EACX,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO;GACV;EAED,OAAO,CACH,yBACI,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { Label } from '../dynamic-label/label.types';\nimport { Icon } from '../../interface';\n\ninterface CheckboxTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n readonly?: boolean;\n indeterminate?: boolean;\n required?: boolean;\n invalid?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n helperText?: string;\n helperTextId?: string;\n readonlyLabels?: Array<Label<boolean>>;\n}\n\nexport const CheckboxTemplate: FunctionalComponent<CheckboxTemplateProps> = (\n props\n) => {\n const inputProps = {};\n if (props.readonly) {\n let icon: string | Icon = 'minus';\n if (props.checked) {\n icon = {\n name: 'ok',\n color: 'var(--lime-primary-color, var(--limel-theme-primary-color))',\n };\n }\n\n return [\n <limel-dynamic-label\n value={props.checked}\n aria-controls={props.helperTextId}\n defaultLabel={{ text: props.label, icon: icon }}\n labels={props.readonlyLabels}\n />,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n }\n\n if (props.indeterminate) {\n inputProps['data-indeterminate'] = 'true';\n }\n\n return [\n <div\n class={{\n 'mdc-form-field': true, // required by MDC to work\n 'mdc-checkbox': true, // required by MDC to work\n checkbox: true,\n checked: props.checked,\n invalid: props.invalid,\n disabled: props.disabled,\n required: props.required,\n indeterminate: props.indeterminate,\n readonly: props.readonly,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\" // required by MDC to work\n id={props.id}\n checked={props.checked}\n disabled={props.disabled || props.readonly}\n required={props.required}\n onChange={props.onChange}\n aria-controls={props.helperTextId}\n aria-describedby={props.helperTextId}\n {...inputProps}\n />\n <div class=\"box\">\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"none\" d=\"M1.73,12.91 8.1,19.28 22.79,4.59\" />\n </svg>\n </div>\n <label htmlFor={props.id}>{props.label}</label>\n </div>,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{\n helperTextId: string;\n text: string;\n invalid?: boolean;\n}> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={props.text.trim()}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"checkbox.template.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAmBvD,MAAM,CAAC,MAAM,gBAAgB,GAA+C,CACxE,KAAK,EACP,EAAE;EACA,MAAM,UAAU,GAAG,EAAE,CAAC;EACtB,IAAI,KAAK,CAAC,QAAQ,EAAE;IAChB,IAAI,IAAI,GAAkB,OAAO,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,EAAE;MACf,IAAI,GAAG;QACH,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,6DAA6D;OACvE,CAAC;KACL;IAED,OAAO;MACH,2BACI,KAAK,EAAE,KAAK,CAAC,OAAO,mBACL,KAAK,CAAC,YAAY,EACjC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAC/C,MAAM,EAAE,KAAK,CAAC,cAAc,GAC9B;MACF,EAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;KACL,CAAC;GACL;EAED,IAAI,KAAK,CAAC,aAAa,EAAE;IACrB,UAAU,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;GAC7C;EAED,OAAO;IACH,WACI,KAAK,EAAE;QACH,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;OAC3B;MAED,2BACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,8BAA8B,CAAC,0BAA0B;UAC/D,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,mBACT,KAAK,CAAC,YAAY,sBACf,KAAK,CAAC,YAAY,IAChC,UAAU,EAChB;MACF,WAAK,KAAK,EAAC,KAAK;QACZ,WACI,KAAK,EAAC,YAAY,EAClB,OAAO,EAAC,WAAW,iBACP,MAAM,EAClB,SAAS,EAAC,OAAO;UAEjB,YAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,kCAAkC,GAAG,CACvD,CACJ;MACN,aAAO,KAAK,EAAC,qBAAqB,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE,IAC/C,KAAK,CAAC,KAAK,CACR,CACN;IACN,EAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;GACL,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,UAAU,GAIX,CAAC,KAAK,EAAE,EAAE;EACX,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO;GACV;EAED,OAAO,CACH,yBACI,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { Label } from '../dynamic-label/label.types';\nimport { Icon } from '../../interface';\n\ninterface CheckboxTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n readonly?: boolean;\n indeterminate?: boolean;\n required?: boolean;\n invalid?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n helperText?: string;\n helperTextId?: string;\n readonlyLabels?: Array<Label<boolean>>;\n}\n\nexport const CheckboxTemplate: FunctionalComponent<CheckboxTemplateProps> = (\n props\n) => {\n const inputProps = {};\n if (props.readonly) {\n let icon: string | Icon = 'minus';\n if (props.checked) {\n icon = {\n name: 'ok',\n color: 'var(--lime-primary-color, var(--limel-theme-primary-color))',\n };\n }\n\n return [\n <limel-dynamic-label\n value={props.checked}\n aria-controls={props.helperTextId}\n defaultLabel={{ text: props.label, icon: icon }}\n labels={props.readonlyLabels}\n />,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n }\n\n if (props.indeterminate) {\n inputProps['data-indeterminate'] = 'true';\n }\n\n return [\n <div\n class={{\n 'mdc-form-field': true, // required by MDC to work\n 'mdc-checkbox': true, // required by MDC to work\n 'boolean-input': true,\n checkbox: true,\n checked: props.checked,\n invalid: props.invalid,\n disabled: props.disabled,\n required: props.required,\n indeterminate: props.indeterminate,\n readonly: props.readonly,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\" // required by MDC to work\n id={props.id}\n checked={props.checked}\n disabled={props.disabled || props.readonly}\n required={props.required}\n onChange={props.onChange}\n aria-controls={props.helperTextId}\n aria-describedby={props.helperTextId}\n {...inputProps}\n />\n <div class=\"box\">\n <svg\n class=\"check-mark\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path fill=\"none\" d=\"M1.73,12.91 8.1,19.28 22.79,4.59\" />\n </svg>\n </div>\n <label class=\"boolean-input-label\" htmlFor={props.id}>\n {props.label}\n </label>\n </div>,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{\n helperTextId: string;\n text: string;\n invalid?: boolean;\n}> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={props.text.trim()}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />\n );\n};\n"]}
@@ -1628,6 +1628,8 @@
1628
1628
  }
1629
1629
  .mdc-text-field .mdc-text-field__input::placeholder {
1630
1630
  color: rgb(var(--contrast-900)) !important;
1631
+ font-size: var(--limel-theme-default-font-size) !important;
1632
+ font-family: inherit !important;
1631
1633
  }
1632
1634
  .mdc-text-field .mdc-text-field__input.hidden {
1633
1635
  transition: all 0s;
@@ -107,6 +107,8 @@
107
107
  }
108
108
  :host([type=textarea]) .mdc-text-field.mdc-text-field--textarea .mdc-text-field__input::placeholder {
109
109
  color: rgb(var(--contrast-900)) !important;
110
+ font-size: var(--limel-theme-default-font-size) !important;
111
+ font-family: inherit !important;
110
112
  }
111
113
 
112
114
  :host(limel-input-field:focus),
@@ -1700,6 +1702,7 @@
1700
1702
  color: rgba(var(--contrast-1400), 1);
1701
1703
  font-size: var(--limel-theme-default-font-size);
1702
1704
  font-weight: 400;
1705
+ font-family: inherit;
1703
1706
  letter-spacing: 0.009375em;
1704
1707
  }
1705
1708
  .mdc-text-field--disabled .lime-looks-like-input-value {
@@ -1773,6 +1776,10 @@ limel-notched-outline[has-value] .mdc-text-field__affix, limel-notched-outline:f
1773
1776
  cursor: pointer;
1774
1777
  }
1775
1778
 
1779
+ .mdc-text-field__input {
1780
+ font-size: var(--limel-theme-default-font-size) !important;
1781
+ font-family: inherit !important;
1782
+ }
1776
1783
  .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {
1777
1784
  color: rgba(var(--contrast-1400), 1);
1778
1785
  }
@@ -1782,6 +1789,8 @@ limel-notched-outline[has-value] .mdc-text-field__affix, limel-notched-outline:f
1782
1789
 
1783
1790
  input.mdc-text-field__input::placeholder {
1784
1791
  color: rgb(var(--contrast-900)) !important;
1792
+ font-size: var(--limel-theme-default-font-size) !important;
1793
+ font-family: inherit !important;
1785
1794
  }
1786
1795
  input.mdc-text-field__input::-webkit-search-cancel-button {
1787
1796
  transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);