@material/web 1.5.1 → 1.5.2-nightly.5b73f4c.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.
Files changed (271) hide show
  1. package/button/internal/_elevated-button.scss +1 -3
  2. package/button/internal/_elevation.scss +2 -2
  3. package/button/internal/_filled-button.scss +1 -3
  4. package/button/internal/_filled-tonal-button.scss +1 -3
  5. package/button/internal/_icon.scss +1 -1
  6. package/button/internal/_outlined-button.scss +4 -6
  7. package/button/internal/_shared.scss +4 -4
  8. package/button/internal/_text-button.scss +1 -3
  9. package/button/internal/button.d.ts +11 -2
  10. package/button/internal/button.js +33 -13
  11. package/button/internal/button.js.map +1 -1
  12. package/button/internal/elevated-styles.css.map +1 -1
  13. package/button/internal/filled-styles.css.map +1 -1
  14. package/button/internal/filled-tonal-styles.css.map +1 -1
  15. package/button/internal/outlined-styles.css +1 -1
  16. package/button/internal/outlined-styles.css.map +1 -1
  17. package/button/internal/outlined-styles.js +1 -1
  18. package/button/internal/outlined-styles.js.map +1 -1
  19. package/button/internal/shared-elevation-styles.css +1 -1
  20. package/button/internal/shared-elevation-styles.css.map +1 -1
  21. package/button/internal/shared-elevation-styles.js +1 -1
  22. package/button/internal/shared-elevation-styles.js.map +1 -1
  23. package/button/internal/shared-styles.css +1 -1
  24. package/button/internal/shared-styles.css.map +1 -1
  25. package/button/internal/shared-styles.js +1 -1
  26. package/button/internal/shared-styles.js.map +1 -1
  27. package/button/internal/text-styles.css.map +1 -1
  28. package/checkbox/internal/_checkbox.scss +1 -3
  29. package/checkbox/internal/checkbox-styles.css.map +1 -1
  30. package/checkbox/internal/checkbox.d.ts +1 -1
  31. package/checkbox/internal/checkbox.js +2 -5
  32. package/checkbox/internal/checkbox.js.map +1 -1
  33. package/chips/internal/_assist-chip.scss +1 -3
  34. package/chips/internal/_filter-chip.scss +1 -3
  35. package/chips/internal/_input-chip.scss +1 -3
  36. package/chips/internal/_shared.scss +17 -4
  37. package/chips/internal/_suggestion-chip.scss +1 -3
  38. package/chips/internal/assist-chip.js +3 -2
  39. package/chips/internal/assist-chip.js.map +1 -1
  40. package/chips/internal/assist-styles.css.map +1 -1
  41. package/chips/internal/chip.d.ts +18 -1
  42. package/chips/internal/chip.js +49 -16
  43. package/chips/internal/chip.js.map +1 -1
  44. package/chips/internal/filter-chip.d.ts +1 -1
  45. package/chips/internal/filter-chip.js +5 -4
  46. package/chips/internal/filter-chip.js.map +1 -1
  47. package/chips/internal/filter-styles.css.map +1 -1
  48. package/chips/internal/input-chip.js +4 -3
  49. package/chips/internal/input-chip.js.map +1 -1
  50. package/chips/internal/input-styles.css.map +1 -1
  51. package/chips/internal/multi-action-chip.d.ts +1 -1
  52. package/chips/internal/multi-action-chip.js +5 -1
  53. package/chips/internal/multi-action-chip.js.map +1 -1
  54. package/chips/internal/shared-styles.css +1 -1
  55. package/chips/internal/shared-styles.css.map +1 -1
  56. package/chips/internal/shared-styles.js +1 -1
  57. package/chips/internal/shared-styles.js.map +1 -1
  58. package/chips/internal/suggestion-styles.css.map +1 -1
  59. package/chips/internal/trailing-icons.d.ts +1 -1
  60. package/chips/internal/trailing-icons.js +7 -2
  61. package/chips/internal/trailing-icons.js.map +1 -1
  62. package/dialog/internal/_dialog.scss +1 -3
  63. package/dialog/internal/dialog-styles.css.map +1 -1
  64. package/dialog/internal/dialog.d.ts +3 -1
  65. package/dialog/internal/dialog.js +12 -6
  66. package/dialog/internal/dialog.js.map +1 -1
  67. package/divider/internal/_divider.scss +1 -3
  68. package/divider/internal/divider-styles.css.map +1 -1
  69. package/elevation/internal/_elevation.scss +1 -3
  70. package/elevation/internal/elevation-styles.css.map +1 -1
  71. package/fab/internal/_fab-branded.scss +1 -3
  72. package/fab/internal/_fab.scss +1 -3
  73. package/fab/internal/fab-branded-styles.css.map +1 -1
  74. package/fab/internal/fab-styles.css.map +1 -1
  75. package/fab/internal/shared-styles.css.map +1 -1
  76. package/fab/internal/shared.d.ts +3 -1
  77. package/fab/internal/shared.js +4 -5
  78. package/fab/internal/shared.js.map +1 -1
  79. package/field/internal/_filled-field.scss +1 -3
  80. package/field/internal/_outlined-field.scss +1 -3
  81. package/field/internal/field.js +2 -2
  82. package/field/internal/field.js.map +1 -1
  83. package/field/internal/filled-styles.css.map +1 -1
  84. package/field/internal/outlined-styles.css.map +1 -1
  85. package/focus/internal/_focus-ring.scss +1 -3
  86. package/focus/internal/focus-ring-styles.css.map +1 -1
  87. package/icon/internal/_icon.scss +1 -3
  88. package/icon/internal/icon-styles.css.map +1 -1
  89. package/iconbutton/internal/_filled-icon-button.scss +8 -10
  90. package/iconbutton/internal/_filled-tonal-icon-button.scss +8 -12
  91. package/iconbutton/internal/_icon-button.scss +4 -6
  92. package/iconbutton/internal/_outlined-icon-button.scss +8 -10
  93. package/iconbutton/internal/_shared.scss +3 -2
  94. package/iconbutton/internal/filled-styles.css +1 -1
  95. package/iconbutton/internal/filled-styles.css.map +1 -1
  96. package/iconbutton/internal/filled-styles.js +1 -1
  97. package/iconbutton/internal/filled-styles.js.map +1 -1
  98. package/iconbutton/internal/filled-tonal-styles.css +1 -1
  99. package/iconbutton/internal/filled-tonal-styles.css.map +1 -1
  100. package/iconbutton/internal/filled-tonal-styles.js +1 -1
  101. package/iconbutton/internal/filled-tonal-styles.js.map +1 -1
  102. package/iconbutton/internal/icon-button.d.ts +16 -4
  103. package/iconbutton/internal/icon-button.js +62 -30
  104. package/iconbutton/internal/icon-button.js.map +1 -1
  105. package/iconbutton/internal/outlined-styles.css +1 -1
  106. package/iconbutton/internal/outlined-styles.css.map +1 -1
  107. package/iconbutton/internal/outlined-styles.js +1 -1
  108. package/iconbutton/internal/outlined-styles.js.map +1 -1
  109. package/iconbutton/internal/shared-styles.css +1 -1
  110. package/iconbutton/internal/shared-styles.css.map +1 -1
  111. package/iconbutton/internal/shared-styles.js +1 -1
  112. package/iconbutton/internal/shared-styles.js.map +1 -1
  113. package/iconbutton/internal/standard-styles.css +1 -1
  114. package/iconbutton/internal/standard-styles.css.map +1 -1
  115. package/iconbutton/internal/standard-styles.js +1 -1
  116. package/iconbutton/internal/standard-styles.js.map +1 -1
  117. package/internal/aria/aria.js +1 -1
  118. package/internal/aria/aria.js.map +1 -1
  119. package/internal/aria/delegate.d.ts +34 -17
  120. package/internal/aria/delegate.js +149 -26
  121. package/internal/aria/delegate.js.map +1 -1
  122. package/labs/badge/internal/badge-styles.css +1 -1
  123. package/labs/badge/internal/badge-styles.css.map +1 -1
  124. package/labs/badge/internal/badge-styles.js +1 -1
  125. package/labs/badge/internal/badge-styles.js.map +1 -1
  126. package/labs/card/internal/_elevated-card.scss +1 -3
  127. package/labs/card/internal/_filled-card.scss +1 -3
  128. package/labs/card/internal/_outlined-card.scss +1 -3
  129. package/labs/card/internal/elevated-styles.css.map +1 -1
  130. package/labs/card/internal/filled-styles.css.map +1 -1
  131. package/labs/card/internal/outlined-styles.css.map +1 -1
  132. package/labs/navigationbar/internal/navigation-bar-styles.css +1 -1
  133. package/labs/navigationbar/internal/navigation-bar-styles.css.map +1 -1
  134. package/labs/navigationbar/internal/navigation-bar-styles.js +1 -1
  135. package/labs/navigationbar/internal/navigation-bar-styles.js.map +1 -1
  136. package/labs/navigationbar/internal/navigation-bar.d.ts +3 -1
  137. package/labs/navigationbar/internal/navigation-bar.js +4 -5
  138. package/labs/navigationbar/internal/navigation-bar.js.map +1 -1
  139. package/labs/navigationdrawer/internal/navigation-drawer-modal.d.ts +3 -1
  140. package/labs/navigationdrawer/internal/navigation-drawer-modal.js +4 -5
  141. package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -1
  142. package/labs/navigationdrawer/internal/navigation-drawer.d.ts +3 -1
  143. package/labs/navigationdrawer/internal/navigation-drawer.js +4 -5
  144. package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -1
  145. package/labs/navigationtab/internal/navigation-tab-styles.css +1 -1
  146. package/labs/navigationtab/internal/navigation-tab-styles.css.map +1 -1
  147. package/labs/navigationtab/internal/navigation-tab-styles.js +1 -1
  148. package/labs/navigationtab/internal/navigation-tab-styles.js.map +1 -1
  149. package/labs/navigationtab/internal/navigation-tab.d.ts +3 -1
  150. package/labs/navigationtab/internal/navigation-tab.js +4 -5
  151. package/labs/navigationtab/internal/navigation-tab.js.map +1 -1
  152. package/labs/segmentedbutton/internal/outlined-styles.css +1 -1
  153. package/labs/segmentedbutton/internal/outlined-styles.css.map +1 -1
  154. package/labs/segmentedbutton/internal/outlined-styles.js +1 -1
  155. package/labs/segmentedbutton/internal/outlined-styles.js.map +1 -1
  156. package/labs/segmentedbutton/internal/segmented-button.d.ts +3 -1
  157. package/labs/segmentedbutton/internal/segmented-button.js +4 -5
  158. package/labs/segmentedbutton/internal/segmented-button.js.map +1 -1
  159. package/labs/segmentedbuttonset/internal/_outlined-segmented-button-set.scss +1 -3
  160. package/labs/segmentedbuttonset/internal/outlined-styles.css.map +1 -1
  161. package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +3 -1
  162. package/labs/segmentedbuttonset/internal/segmented-button-set.js +4 -5
  163. package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -1
  164. package/list/internal/_list.scss +1 -3
  165. package/list/internal/list-styles.css.map +1 -1
  166. package/list/internal/listitem/_list-item.scss +1 -3
  167. package/list/internal/listitem/list-item-styles.css.map +1 -1
  168. package/list/internal/listitem/list-item.d.ts +3 -1
  169. package/list/internal/listitem/list-item.js +4 -5
  170. package/list/internal/listitem/list-item.js.map +1 -1
  171. package/menu/internal/_menu.scss +1 -3
  172. package/menu/internal/menu-styles.css.map +1 -1
  173. package/menu/internal/menuitem/_menu-item.scss +1 -3
  174. package/menu/internal/menuitem/menu-item-styles.css.map +1 -1
  175. package/menu/internal/menuitem/menu-item.d.ts +3 -1
  176. package/menu/internal/menuitem/menu-item.js +4 -5
  177. package/menu/internal/menuitem/menu-item.js.map +1 -1
  178. package/migrations/v2/query-selector-aria.d.ts +22 -0
  179. package/migrations/v2/query-selector-aria.js +30 -0
  180. package/migrations/v2/query-selector-aria.js.map +1 -0
  181. package/package.json +1 -1
  182. package/progress/internal/_circular-progress.scss +1 -3
  183. package/progress/internal/_linear-progress.scss +1 -3
  184. package/progress/internal/circular-progress-styles.css.map +1 -1
  185. package/progress/internal/linear-progress-styles.css.map +1 -1
  186. package/progress/internal/progress.d.ts +3 -1
  187. package/progress/internal/progress.js +4 -5
  188. package/progress/internal/progress.js.map +1 -1
  189. package/radio/internal/_radio.scss +1 -3
  190. package/radio/internal/radio-styles.css.map +1 -1
  191. package/ripple/internal/_ripple.scss +1 -3
  192. package/ripple/internal/ripple-styles.css.map +1 -1
  193. package/select/internal/_filled-select.scss +1 -3
  194. package/select/internal/_outlined-select.scss +1 -3
  195. package/select/internal/filled-select-styles.css.map +1 -1
  196. package/select/internal/outlined-select-styles.css.map +1 -1
  197. package/select/internal/select.d.ts +1 -1
  198. package/select/internal/select.js +2 -5
  199. package/select/internal/select.js.map +1 -1
  200. package/select/internal/selectoption/select-option.d.ts +2 -1
  201. package/select/internal/selectoption/select-option.js +4 -5
  202. package/select/internal/selectoption/select-option.js.map +1 -1
  203. package/slider/internal/_slider.scss +1 -3
  204. package/slider/internal/slider-styles.css.map +1 -1
  205. package/slider/internal/slider.d.ts +1 -1
  206. package/slider/internal/slider.js +3 -6
  207. package/slider/internal/slider.js.map +1 -1
  208. package/switch/internal/_switch.scss +1 -3
  209. package/switch/internal/switch-styles.css.map +1 -1
  210. package/switch/internal/switch.d.ts +1 -1
  211. package/switch/internal/switch.js +2 -5
  212. package/switch/internal/switch.js.map +1 -1
  213. package/tabs/internal/_primary-tab.scss +1 -3
  214. package/tabs/internal/_secondary-tab.scss +1 -3
  215. package/tabs/internal/primary-tab-styles.css.map +1 -1
  216. package/tabs/internal/secondary-tab-styles.css.map +1 -1
  217. package/tabs/internal/tabs.js +1 -1
  218. package/tabs/internal/tabs.js.map +1 -1
  219. package/textfield/internal/_filled-text-field.scss +1 -3
  220. package/textfield/internal/_outlined-text-field.scss +1 -3
  221. package/textfield/internal/filled-styles.css.map +1 -1
  222. package/textfield/internal/outlined-styles.css.map +1 -1
  223. package/textfield/internal/text-field.d.ts +1 -1
  224. package/textfield/internal/text-field.js +2 -5
  225. package/textfield/internal/text-field.js.map +1 -1
  226. package/tokens/_md-comp-assist-chip.scss +1 -3
  227. package/tokens/_md-comp-badge.scss +1 -3
  228. package/tokens/_md-comp-checkbox.scss +1 -3
  229. package/tokens/_md-comp-circular-progress.scss +1 -3
  230. package/tokens/_md-comp-dialog.scss +1 -3
  231. package/tokens/_md-comp-divider.scss +1 -3
  232. package/tokens/_md-comp-elevated-button.scss +1 -3
  233. package/tokens/_md-comp-elevated-card.scss +1 -3
  234. package/tokens/_md-comp-elevation.scss +1 -3
  235. package/tokens/_md-comp-fab-branded.scss +1 -3
  236. package/tokens/_md-comp-fab.scss +1 -3
  237. package/tokens/_md-comp-filled-button.scss +1 -3
  238. package/tokens/_md-comp-filled-card.scss +1 -3
  239. package/tokens/_md-comp-filled-field.scss +1 -3
  240. package/tokens/_md-comp-filled-icon-button.scss +1 -3
  241. package/tokens/_md-comp-filled-select.scss +1 -3
  242. package/tokens/_md-comp-filled-text-field.scss +1 -3
  243. package/tokens/_md-comp-filled-tonal-button.scss +1 -3
  244. package/tokens/_md-comp-filled-tonal-icon-button.scss +1 -3
  245. package/tokens/_md-comp-filter-chip.scss +1 -3
  246. package/tokens/_md-comp-focus-ring.scss +1 -3
  247. package/tokens/_md-comp-icon-button.scss +1 -3
  248. package/tokens/_md-comp-icon.scss +1 -3
  249. package/tokens/_md-comp-input-chip.scss +1 -3
  250. package/tokens/_md-comp-linear-progress.scss +1 -3
  251. package/tokens/_md-comp-list-item.scss +1 -3
  252. package/tokens/_md-comp-list.scss +1 -3
  253. package/tokens/_md-comp-menu-item.scss +3 -4
  254. package/tokens/_md-comp-menu.scss +1 -3
  255. package/tokens/_md-comp-navigation-bar.scss +1 -3
  256. package/tokens/_md-comp-navigation-drawer.scss +1 -3
  257. package/tokens/_md-comp-outlined-button.scss +1 -3
  258. package/tokens/_md-comp-outlined-card.scss +1 -3
  259. package/tokens/_md-comp-outlined-field.scss +1 -3
  260. package/tokens/_md-comp-outlined-icon-button.scss +1 -3
  261. package/tokens/_md-comp-outlined-segmented-button.scss +1 -3
  262. package/tokens/_md-comp-outlined-select.scss +1 -3
  263. package/tokens/_md-comp-outlined-text-field.scss +1 -3
  264. package/tokens/_md-comp-primary-tab.scss +1 -3
  265. package/tokens/_md-comp-radio.scss +1 -3
  266. package/tokens/_md-comp-ripple.scss +1 -3
  267. package/tokens/_md-comp-secondary-tab.scss +1 -3
  268. package/tokens/_md-comp-slider.scss +1 -3
  269. package/tokens/_md-comp-suggestion-chip.scss +1 -3
  270. package/tokens/_md-comp-switch.scss +1 -3
  271. package/tokens/_md-comp-text-button.scss +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.js","sourceRoot":"","sources":["text-field.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {LitElement, PropertyValues, html, nothing} from 'lit';\nimport {property, query, queryAssignedElements, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {live} from 'lit/directives/live.js';\nimport {StyleInfo, styleMap} from 'lit/directives/style-map.js';\nimport {StaticValue, html as staticHtml} from 'lit/static-html.js';\n\nimport {Field} from '../../field/internal/field.js';\nimport {ARIAMixinStrict} from '../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../internal/aria/delegate.js';\nimport {stringConverter} from '../../internal/controller/string-converter.js';\nimport {redispatchEvent} from '../../internal/events/redispatch-event.js';\nimport {\n createValidator,\n getValidityAnchor,\n mixinConstraintValidation,\n} from '../../labs/behaviors/constraint-validation.js';\nimport {mixinElementInternals} from '../../labs/behaviors/element-internals.js';\nimport {\n getFormValue,\n mixinFormAssociated,\n} from '../../labs/behaviors/form-associated.js';\nimport {\n mixinOnReportValidity,\n onReportValidity,\n} from '../../labs/behaviors/on-report-validity.js';\nimport {TextFieldValidator} from '../../labs/behaviors/validators/text-field-validator.js';\nimport {Validator} from '../../labs/behaviors/validators/validator.js';\n\n/**\n * Input types that are compatible with the text field.\n */\nexport type TextFieldType =\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'url'\n | 'textarea';\n\n/**\n * Input types that are not fully supported for the text field.\n */\nexport type UnsupportedTextFieldType =\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'file'\n | 'month'\n | 'time'\n | 'week';\n\n/**\n * Input types that are incompatible with the text field.\n */\nexport type InvalidTextFieldType =\n | 'button'\n | 'checkbox'\n | 'hidden'\n | 'image'\n | 'radio'\n | 'range'\n | 'reset'\n | 'submit';\n\n// Separate variable needed for closure.\nconst textFieldBaseClass = mixinOnReportValidity(\n mixinConstraintValidation(\n mixinFormAssociated(mixinElementInternals(LitElement)),\n ),\n);\n\n/**\n * A text field component.\n *\n * @fires select {Event} The native `select` event on\n * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select_event)\n * --bubbles\n * @fires change {Event} The native `change` event on\n * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event)\n * --bubbles\n * @fires input {InputEvent} The native `input` event on\n * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)\n * --bubbles --composed\n */\nexport abstract class TextField extends textFieldBaseClass {\n static {\n requestUpdateOnAriaChange(TextField);\n }\n\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Gets or sets whether or not the text field is in a visually invalid state.\n *\n * This error state overrides the error state controlled by\n * `reportValidity()`.\n */\n @property({type: Boolean, reflect: true}) error = false;\n\n /**\n * The error message that replaces supporting text when `error` is true. If\n * `errorText` is an empty string, then the supporting text will continue to\n * show.\n *\n * This error message overrides the error message displayed by\n * `reportValidity()`.\n */\n @property({attribute: 'error-text'}) errorText = '';\n\n /**\n * The floating Material label of the textfield component. It informs the user\n * about what information is requested for a text field. It is aligned with\n * the input text, is always visible, and it floats when focused or when text\n * is entered into the textfield. This label also sets accessibilty labels,\n * but the accessible label is overriden by `aria-label`.\n *\n * Learn more about floating labels from the Material Design guidelines:\n * https://m3.material.io/components/text-fields/guidelines\n */\n @property() label = '';\n\n /**\n * Disables the asterisk on the floating label, when the text field is\n * required.\n */\n @property({type: Boolean, attribute: 'no-asterisk'}) noAsterisk = false;\n\n /**\n * Indicates that the user must specify a value for the input before the\n * owning form can be submitted and will render an error state when\n * `reportValidity()` is invoked when value is empty. Additionally the\n * floating label will render an asterisk `\"*\"` when true.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/required\n */\n @property({type: Boolean, reflect: true}) required = false;\n\n /**\n * The current value of the text field. It is always a string.\n */\n @property() value = '';\n\n /**\n * An optional prefix to display before the input value.\n */\n @property({attribute: 'prefix-text'}) prefixText = '';\n\n /**\n * An optional suffix to display after the input value.\n */\n @property({attribute: 'suffix-text'}) suffixText = '';\n\n /**\n * Whether or not the text field has a leading icon. Used for SSR.\n */\n @property({type: Boolean, attribute: 'has-leading-icon'})\n hasLeadingIcon = false;\n\n /**\n * Whether or not the text field has a trailing icon. Used for SSR.\n */\n @property({type: Boolean, attribute: 'has-trailing-icon'})\n hasTrailingIcon = false;\n\n /**\n * Conveys additional information below the text field, such as how it should\n * be used.\n */\n @property({attribute: 'supporting-text'}) supportingText = '';\n\n /**\n * Override the input text CSS `direction`. Useful for RTL languages that use\n * LTR notation for fractions.\n */\n @property({attribute: 'text-direction'}) textDirection = '';\n\n /**\n * The number of rows to display for a `type=\"textarea\"` text field.\n * Defaults to 2.\n */\n @property({type: Number}) rows = 2;\n\n /**\n * The number of cols to display for a `type=\"textarea\"` text field.\n * Defaults to 20.\n */\n @property({type: Number}) cols = 20;\n\n // <input> properties\n @property({reflect: true}) override inputMode = '';\n\n /**\n * Defines the greatest value in the range of permitted values.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#max\n */\n @property() max = '';\n\n /**\n * The maximum number of characters a user can enter into the text field. Set\n * to -1 for none.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength\n */\n @property({type: Number}) maxLength = -1;\n\n /**\n * Defines the most negative value in the range of permitted values.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#min\n */\n @property() min = '';\n\n /**\n * The minimum number of characters a user can enter into the text field. Set\n * to -1 for none.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength\n */\n @property({type: Number}) minLength = -1;\n\n /**\n * When true, hide the spinner for `type=\"number\"` text fields.\n */\n @property({type: Boolean, attribute: 'no-spinner'}) noSpinner = false;\n\n /**\n * A regular expression that the text field's value must match to pass\n * constraint validation.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#pattern\n */\n @property() pattern = '';\n\n /**\n * Defines the text displayed in the textfield when it has no value. Provides\n * a brief hint to the user as to the expected type of data that should be\n * entered into the control. Unlike `label`, the placeholder is not visible\n * and does not float when the textfield has a value.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/placeholder\n */\n @property({reflect: true, converter: stringConverter}) placeholder = '';\n\n /**\n * Indicates whether or not a user should be able to edit the text field's\n * value.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#readonly\n */\n @property({type: Boolean, reflect: true}) readOnly = false;\n\n /**\n * Indicates that input accepts multiple email addresses.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#multiple\n */\n @property({type: Boolean, reflect: true}) multiple = false;\n\n /**\n * Gets or sets the direction in which selection occurred.\n */\n get selectionDirection() {\n return this.getInputOrTextarea().selectionDirection;\n }\n set selectionDirection(value: 'forward' | 'backward' | 'none' | null) {\n this.getInputOrTextarea().selectionDirection = value;\n }\n\n /**\n * Gets or sets the end position or offset of a text selection.\n */\n get selectionEnd() {\n return this.getInputOrTextarea().selectionEnd;\n }\n set selectionEnd(value: number | null) {\n this.getInputOrTextarea().selectionEnd = value;\n }\n\n /**\n * Gets or sets the starting position or offset of a text selection.\n */\n get selectionStart() {\n return this.getInputOrTextarea().selectionStart;\n }\n set selectionStart(value: number | null) {\n this.getInputOrTextarea().selectionStart = value;\n }\n\n /**\n * Returns or sets the element's step attribute, which works with min and max\n * to limit the increments at which a numeric or date-time value can be set.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n @property() step = '';\n\n /**\n * The `<input>` type to use, defaults to \"text\". The type greatly changes how\n * the text field behaves.\n *\n * Text fields support a limited number of `<input>` types:\n *\n * - text\n * - textarea\n * - email\n * - number\n * - password\n * - search\n * - tel\n * - url\n *\n * See\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n * for more details on each input type.\n */\n @property({reflect: true})\n type: TextFieldType | UnsupportedTextFieldType = 'text';\n\n /**\n * Describes what, if any, type of autocomplete functionality the input\n * should provide.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\n @property({reflect: true}) autocomplete = '';\n\n /**\n * The text field's value as a number.\n */\n get valueAsNumber() {\n const input = this.getInput();\n if (!input) {\n return NaN;\n }\n\n return input.valueAsNumber;\n }\n set valueAsNumber(value: number) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.valueAsNumber = value;\n this.value = input.value;\n }\n\n /**\n * The text field's value as a Date.\n */\n get valueAsDate() {\n const input = this.getInput();\n if (!input) {\n return null;\n }\n\n return input.valueAsDate;\n }\n set valueAsDate(value: Date | null) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.valueAsDate = value;\n this.value = input.value;\n }\n\n protected abstract readonly fieldTag: StaticValue;\n\n /**\n * Returns true when the text field has been interacted with. Native\n * validation errors only display in response to user interactions.\n */\n @state() private dirty = false;\n @state() private focused = false;\n /**\n * Whether or not a native error has been reported via `reportValidity()`.\n */\n @state() private nativeError = false;\n /**\n * The validation message displayed from a native error via\n * `reportValidity()`.\n */\n @state() private nativeErrorText = '';\n\n private get hasError() {\n return this.error || this.nativeError;\n }\n\n @query('.input')\n private readonly inputOrTextarea!:\n | HTMLInputElement\n | HTMLTextAreaElement\n | null;\n @query('.field') private readonly field!: Field | null;\n @queryAssignedElements({slot: 'leading-icon'})\n private readonly leadingIcons!: Element[];\n @queryAssignedElements({slot: 'trailing-icon'})\n private readonly trailingIcons!: Element[];\n\n /**\n * Selects all the text in the text field.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select\n */\n select() {\n this.getInputOrTextarea().select();\n }\n\n /**\n * Replaces a range of text with a new string.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setRangeText\n */\n setRangeText(replacement: string): void;\n setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectionMode?: SelectionMode,\n ): void;\n setRangeText(...args: unknown[]) {\n // Calling setRangeText with 1 vs 3-4 arguments has different behavior.\n // Use spread syntax and type casting to ensure correct usage.\n this.getInputOrTextarea().setRangeText(\n ...(args as Parameters<HTMLInputElement['setRangeText']>),\n );\n this.value = this.getInputOrTextarea().value;\n }\n\n /**\n * Sets the start and end positions of a selection in the text field.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n *\n * @param start The offset into the text field for the start of the selection.\n * @param end The offset into the text field for the end of the selection.\n * @param direction The direction in which the selection is performed.\n */\n setSelectionRange(\n start: number | null,\n end: number | null,\n direction?: 'forward' | 'backward' | 'none',\n ) {\n this.getInputOrTextarea().setSelectionRange(start, end, direction);\n }\n\n /**\n * Decrements the value of a numeric type text field by `step` or `n` `step`\n * number of times.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepDown\n *\n * @param stepDecrement The number of steps to decrement, defaults to 1.\n */\n stepDown(stepDecrement?: number) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.stepDown(stepDecrement);\n this.value = input.value;\n }\n\n /**\n * Increments the value of a numeric type text field by `step` or `n` `step`\n * number of times.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepUp\n *\n * @param stepIncrement The number of steps to increment, defaults to 1.\n */\n stepUp(stepIncrement?: number) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.stepUp(stepIncrement);\n this.value = input.value;\n }\n\n /**\n * Reset the text field to its default value.\n */\n reset() {\n this.dirty = false;\n this.value = this.getAttribute('value') ?? '';\n this.nativeError = false;\n this.nativeErrorText = '';\n }\n\n override attributeChangedCallback(\n attribute: string,\n newValue: string | null,\n oldValue: string | null,\n ) {\n if (attribute === 'value' && this.dirty) {\n // After user input, changing the value attribute no longer updates the\n // text field's value (until reset). This matches native <input> behavior.\n return;\n }\n\n super.attributeChangedCallback(attribute, newValue, oldValue);\n }\n\n protected override render() {\n const classes = {\n 'disabled': this.disabled,\n 'error': !this.disabled && this.hasError,\n 'textarea': this.type === 'textarea',\n 'no-spinner': this.noSpinner,\n };\n\n return html`\n <span class=\"text-field ${classMap(classes)}\">\n ${this.renderField()}\n </span>\n `;\n }\n\n protected override updated(changedProperties: PropertyValues) {\n // Keep changedProperties arg so that subclasses may call it\n\n // If a property such as `type` changes and causes the internal <input>\n // value to change without dispatching an event, re-sync it.\n const value = this.getInputOrTextarea().value;\n if (this.value !== value) {\n // Note this is typically inefficient in updated() since it schedules\n // another update. However, it is needed for the <input> to fully render\n // before checking its value.\n this.value = value;\n }\n }\n\n private renderField() {\n return staticHtml`<${this.fieldTag}\n class=\"field\"\n count=${this.value.length}\n ?disabled=${this.disabled}\n ?error=${this.hasError}\n error-text=${this.getErrorText()}\n ?focused=${this.focused}\n ?has-end=${this.hasTrailingIcon}\n ?has-start=${this.hasLeadingIcon}\n label=${this.label}\n ?no-asterisk=${this.noAsterisk}\n max=${this.maxLength}\n ?populated=${!!this.value}\n ?required=${this.required}\n ?resizable=${this.type === 'textarea'}\n supporting-text=${this.supportingText}\n >\n ${this.renderLeadingIcon()}\n ${this.renderInputOrTextarea()}\n ${this.renderTrailingIcon()}\n <div id=\"description\" slot=\"aria-describedby\"></div>\n </${this.fieldTag}>`;\n }\n\n private renderLeadingIcon() {\n return html`\n <span class=\"icon leading\" slot=\"start\">\n <slot name=\"leading-icon\" @slotchange=${this.handleIconChange}></slot>\n </span>\n `;\n }\n\n private renderTrailingIcon() {\n return html`\n <span class=\"icon trailing\" slot=\"end\">\n <slot name=\"trailing-icon\" @slotchange=${this.handleIconChange}></slot>\n </span>\n `;\n }\n\n private renderInputOrTextarea() {\n const style: StyleInfo = {'direction': this.textDirection};\n const ariaLabel =\n (this as ARIAMixinStrict).ariaLabel || this.label || nothing;\n // lit-anaylzer `autocomplete` types are too strict\n // tslint:disable-next-line:no-any\n const autocomplete = this.autocomplete as any;\n\n // These properties may be set to null if the attribute is removed, and\n // `null > -1` is incorrectly `true`.\n const hasMaxLength = (this.maxLength ?? -1) > -1;\n const hasMinLength = (this.minLength ?? -1) > -1;\n if (this.type === 'textarea') {\n return html`\n <textarea\n class=\"input\"\n style=${styleMap(style)}\n aria-describedby=\"description\"\n aria-invalid=${this.hasError}\n aria-label=${ariaLabel}\n autocomplete=${autocomplete || nothing}\n name=${this.name || nothing}\n ?disabled=${this.disabled}\n maxlength=${hasMaxLength ? this.maxLength : nothing}\n minlength=${hasMinLength ? this.minLength : nothing}\n placeholder=${this.placeholder || nothing}\n ?readonly=${this.readOnly}\n ?required=${this.required}\n rows=${this.rows}\n cols=${this.cols}\n .value=${live(this.value)}\n @change=${this.redispatchEvent}\n @focus=${this.handleFocusChange}\n @blur=${this.handleFocusChange}\n @input=${this.handleInput}\n @select=${this.redispatchEvent}></textarea>\n `;\n }\n\n const prefix = this.renderPrefix();\n const suffix = this.renderSuffix();\n\n // TODO(b/243805848): remove `as unknown as number` and `as any` once lit\n // analyzer is fixed\n // tslint:disable-next-line:no-any\n const inputMode = this.inputMode as any;\n return html`\n <div class=\"input-wrapper\">\n ${prefix}\n <input\n class=\"input\"\n style=${styleMap(style)}\n aria-describedby=\"description\"\n aria-invalid=${this.hasError}\n aria-label=${ariaLabel}\n autocomplete=${autocomplete || nothing}\n name=${this.name || nothing}\n ?disabled=${this.disabled}\n inputmode=${inputMode || nothing}\n max=${(this.max || nothing) as unknown as number}\n maxlength=${hasMaxLength ? this.maxLength : nothing}\n min=${(this.min || nothing) as unknown as number}\n minlength=${hasMinLength ? this.minLength : nothing}\n pattern=${this.pattern || nothing}\n placeholder=${this.placeholder || nothing}\n ?readonly=${this.readOnly}\n ?required=${this.required}\n ?multiple=${this.multiple}\n step=${(this.step || nothing) as unknown as number}\n type=${this.type}\n .value=${live(this.value)}\n @change=${this.redispatchEvent}\n @focus=${this.handleFocusChange}\n @blur=${this.handleFocusChange}\n @input=${this.handleInput}\n @select=${this.redispatchEvent} />\n ${suffix}\n </div>\n `;\n }\n\n private renderPrefix() {\n return this.renderAffix(this.prefixText, /* isSuffix */ false);\n }\n\n private renderSuffix() {\n return this.renderAffix(this.suffixText, /* isSuffix */ true);\n }\n\n private renderAffix(text: string, isSuffix: boolean) {\n if (!text) {\n return nothing;\n }\n\n const classes = {\n 'suffix': isSuffix,\n 'prefix': !isSuffix,\n };\n\n return html`<span class=\"${classMap(classes)}\">${text}</span>`;\n }\n\n private getErrorText() {\n return this.error ? this.errorText : this.nativeErrorText;\n }\n\n private handleFocusChange() {\n // When calling focus() or reportValidity() during change, it's possible\n // for blur to be called after the new focus event. Rather than set\n // `this.focused` to true/false on focus/blur, we always set it to whether\n // or not the input itself is focused.\n this.focused = this.inputOrTextarea?.matches(':focus') ?? false;\n }\n\n private handleInput(event: InputEvent) {\n this.dirty = true;\n this.value = (event.target as HTMLInputElement).value;\n }\n\n private redispatchEvent(event: Event) {\n redispatchEvent(this, event);\n }\n\n private getInputOrTextarea() {\n if (!this.inputOrTextarea) {\n // If the input is not yet defined, synchronously render.\n // e.g.\n // const textField = document.createElement('md-outlined-text-field');\n // document.body.appendChild(textField);\n // textField.focus(); // synchronously render\n this.connectedCallback();\n this.scheduleUpdate();\n }\n\n if (this.isUpdatePending) {\n // If there are pending updates, synchronously perform them. This ensures\n // that constraint validation properties (like `required`) are synced\n // before interacting with input APIs that depend on them.\n this.scheduleUpdate();\n }\n\n return this.inputOrTextarea!;\n }\n\n private getInput() {\n if (this.type === 'textarea') {\n return null;\n }\n\n return this.getInputOrTextarea() as HTMLInputElement;\n }\n\n private handleIconChange() {\n this.hasLeadingIcon = this.leadingIcons.length > 0;\n this.hasTrailingIcon = this.trailingIcons.length > 0;\n }\n\n // Writable mixin properties for lit-html binding, needed for lit-analyzer\n declare disabled: boolean;\n declare name: string;\n\n override [getFormValue]() {\n return this.value;\n }\n\n override formResetCallback() {\n this.reset();\n }\n\n override formStateRestoreCallback(state: string) {\n this.value = state;\n }\n\n override focus() {\n // Required for the case that the user slots a focusable element into the\n // leading icon slot such as an iconbutton due to how delegatesFocus works.\n this.getInputOrTextarea().focus();\n }\n\n [createValidator](): Validator<unknown> {\n return new TextFieldValidator(() => ({\n state: this,\n renderedControl: this.inputOrTextarea,\n }));\n }\n\n [getValidityAnchor](): HTMLElement | null {\n return this.inputOrTextarea;\n }\n\n [onReportValidity](invalidEvent: Event | null) {\n // Prevent default pop-up behavior.\n invalidEvent?.preventDefault();\n\n const prevMessage = this.getErrorText();\n this.nativeError = !!invalidEvent;\n this.nativeErrorText = this.validationMessage;\n\n if (prevMessage === this.getErrorText()) {\n this.field?.reannounceError();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"text-field.js","sourceRoot":"","sources":["text-field.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {LitElement, PropertyValues, html, nothing} from 'lit';\nimport {property, query, queryAssignedElements, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {live} from 'lit/directives/live.js';\nimport {StyleInfo, styleMap} from 'lit/directives/style-map.js';\nimport {StaticValue, html as staticHtml} from 'lit/static-html.js';\n\nimport {Field} from '../../field/internal/field.js';\nimport {ARIAMixinStrict} from '../../internal/aria/aria.js';\nimport {mixinDelegatesAria} from '../../internal/aria/delegate.js';\nimport {stringConverter} from '../../internal/controller/string-converter.js';\nimport {redispatchEvent} from '../../internal/events/redispatch-event.js';\nimport {\n createValidator,\n getValidityAnchor,\n mixinConstraintValidation,\n} from '../../labs/behaviors/constraint-validation.js';\nimport {mixinElementInternals} from '../../labs/behaviors/element-internals.js';\nimport {\n getFormValue,\n mixinFormAssociated,\n} from '../../labs/behaviors/form-associated.js';\nimport {\n mixinOnReportValidity,\n onReportValidity,\n} from '../../labs/behaviors/on-report-validity.js';\nimport {TextFieldValidator} from '../../labs/behaviors/validators/text-field-validator.js';\nimport {Validator} from '../../labs/behaviors/validators/validator.js';\n\n/**\n * Input types that are compatible with the text field.\n */\nexport type TextFieldType =\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'url'\n | 'textarea';\n\n/**\n * Input types that are not fully supported for the text field.\n */\nexport type UnsupportedTextFieldType =\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'file'\n | 'month'\n | 'time'\n | 'week';\n\n/**\n * Input types that are incompatible with the text field.\n */\nexport type InvalidTextFieldType =\n | 'button'\n | 'checkbox'\n | 'hidden'\n | 'image'\n | 'radio'\n | 'range'\n | 'reset'\n | 'submit';\n\n// Separate variable needed for closure.\nconst textFieldBaseClass = mixinDelegatesAria(\n mixinOnReportValidity(\n mixinConstraintValidation(\n mixinFormAssociated(mixinElementInternals(LitElement)),\n ),\n ),\n);\n\n/**\n * A text field component.\n *\n * @fires select {Event} The native `select` event on\n * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select_event)\n * --bubbles\n * @fires change {Event} The native `change` event on\n * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event)\n * --bubbles\n * @fires input {InputEvent} The native `input` event on\n * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)\n * --bubbles --composed\n */\nexport abstract class TextField extends textFieldBaseClass {\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Gets or sets whether or not the text field is in a visually invalid state.\n *\n * This error state overrides the error state controlled by\n * `reportValidity()`.\n */\n @property({type: Boolean, reflect: true}) error = false;\n\n /**\n * The error message that replaces supporting text when `error` is true. If\n * `errorText` is an empty string, then the supporting text will continue to\n * show.\n *\n * This error message overrides the error message displayed by\n * `reportValidity()`.\n */\n @property({attribute: 'error-text'}) errorText = '';\n\n /**\n * The floating Material label of the textfield component. It informs the user\n * about what information is requested for a text field. It is aligned with\n * the input text, is always visible, and it floats when focused or when text\n * is entered into the textfield. This label also sets accessibilty labels,\n * but the accessible label is overriden by `aria-label`.\n *\n * Learn more about floating labels from the Material Design guidelines:\n * https://m3.material.io/components/text-fields/guidelines\n */\n @property() label = '';\n\n /**\n * Disables the asterisk on the floating label, when the text field is\n * required.\n */\n @property({type: Boolean, attribute: 'no-asterisk'}) noAsterisk = false;\n\n /**\n * Indicates that the user must specify a value for the input before the\n * owning form can be submitted and will render an error state when\n * `reportValidity()` is invoked when value is empty. Additionally the\n * floating label will render an asterisk `\"*\"` when true.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/required\n */\n @property({type: Boolean, reflect: true}) required = false;\n\n /**\n * The current value of the text field. It is always a string.\n */\n @property() value = '';\n\n /**\n * An optional prefix to display before the input value.\n */\n @property({attribute: 'prefix-text'}) prefixText = '';\n\n /**\n * An optional suffix to display after the input value.\n */\n @property({attribute: 'suffix-text'}) suffixText = '';\n\n /**\n * Whether or not the text field has a leading icon. Used for SSR.\n */\n @property({type: Boolean, attribute: 'has-leading-icon'})\n hasLeadingIcon = false;\n\n /**\n * Whether or not the text field has a trailing icon. Used for SSR.\n */\n @property({type: Boolean, attribute: 'has-trailing-icon'})\n hasTrailingIcon = false;\n\n /**\n * Conveys additional information below the text field, such as how it should\n * be used.\n */\n @property({attribute: 'supporting-text'}) supportingText = '';\n\n /**\n * Override the input text CSS `direction`. Useful for RTL languages that use\n * LTR notation for fractions.\n */\n @property({attribute: 'text-direction'}) textDirection = '';\n\n /**\n * The number of rows to display for a `type=\"textarea\"` text field.\n * Defaults to 2.\n */\n @property({type: Number}) rows = 2;\n\n /**\n * The number of cols to display for a `type=\"textarea\"` text field.\n * Defaults to 20.\n */\n @property({type: Number}) cols = 20;\n\n // <input> properties\n @property({reflect: true}) override inputMode = '';\n\n /**\n * Defines the greatest value in the range of permitted values.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#max\n */\n @property() max = '';\n\n /**\n * The maximum number of characters a user can enter into the text field. Set\n * to -1 for none.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength\n */\n @property({type: Number}) maxLength = -1;\n\n /**\n * Defines the most negative value in the range of permitted values.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#min\n */\n @property() min = '';\n\n /**\n * The minimum number of characters a user can enter into the text field. Set\n * to -1 for none.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength\n */\n @property({type: Number}) minLength = -1;\n\n /**\n * When true, hide the spinner for `type=\"number\"` text fields.\n */\n @property({type: Boolean, attribute: 'no-spinner'}) noSpinner = false;\n\n /**\n * A regular expression that the text field's value must match to pass\n * constraint validation.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#pattern\n */\n @property() pattern = '';\n\n /**\n * Defines the text displayed in the textfield when it has no value. Provides\n * a brief hint to the user as to the expected type of data that should be\n * entered into the control. Unlike `label`, the placeholder is not visible\n * and does not float when the textfield has a value.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/placeholder\n */\n @property({reflect: true, converter: stringConverter}) placeholder = '';\n\n /**\n * Indicates whether or not a user should be able to edit the text field's\n * value.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#readonly\n */\n @property({type: Boolean, reflect: true}) readOnly = false;\n\n /**\n * Indicates that input accepts multiple email addresses.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#multiple\n */\n @property({type: Boolean, reflect: true}) multiple = false;\n\n /**\n * Gets or sets the direction in which selection occurred.\n */\n get selectionDirection() {\n return this.getInputOrTextarea().selectionDirection;\n }\n set selectionDirection(value: 'forward' | 'backward' | 'none' | null) {\n this.getInputOrTextarea().selectionDirection = value;\n }\n\n /**\n * Gets or sets the end position or offset of a text selection.\n */\n get selectionEnd() {\n return this.getInputOrTextarea().selectionEnd;\n }\n set selectionEnd(value: number | null) {\n this.getInputOrTextarea().selectionEnd = value;\n }\n\n /**\n * Gets or sets the starting position or offset of a text selection.\n */\n get selectionStart() {\n return this.getInputOrTextarea().selectionStart;\n }\n set selectionStart(value: number | null) {\n this.getInputOrTextarea().selectionStart = value;\n }\n\n /**\n * Returns or sets the element's step attribute, which works with min and max\n * to limit the increments at which a numeric or date-time value can be set.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n @property() step = '';\n\n /**\n * The `<input>` type to use, defaults to \"text\". The type greatly changes how\n * the text field behaves.\n *\n * Text fields support a limited number of `<input>` types:\n *\n * - text\n * - textarea\n * - email\n * - number\n * - password\n * - search\n * - tel\n * - url\n *\n * See\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n * for more details on each input type.\n */\n @property({reflect: true})\n type: TextFieldType | UnsupportedTextFieldType = 'text';\n\n /**\n * Describes what, if any, type of autocomplete functionality the input\n * should provide.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\n @property({reflect: true}) autocomplete = '';\n\n /**\n * The text field's value as a number.\n */\n get valueAsNumber() {\n const input = this.getInput();\n if (!input) {\n return NaN;\n }\n\n return input.valueAsNumber;\n }\n set valueAsNumber(value: number) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.valueAsNumber = value;\n this.value = input.value;\n }\n\n /**\n * The text field's value as a Date.\n */\n get valueAsDate() {\n const input = this.getInput();\n if (!input) {\n return null;\n }\n\n return input.valueAsDate;\n }\n set valueAsDate(value: Date | null) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.valueAsDate = value;\n this.value = input.value;\n }\n\n protected abstract readonly fieldTag: StaticValue;\n\n /**\n * Returns true when the text field has been interacted with. Native\n * validation errors only display in response to user interactions.\n */\n @state() private dirty = false;\n @state() private focused = false;\n /**\n * Whether or not a native error has been reported via `reportValidity()`.\n */\n @state() private nativeError = false;\n /**\n * The validation message displayed from a native error via\n * `reportValidity()`.\n */\n @state() private nativeErrorText = '';\n\n private get hasError() {\n return this.error || this.nativeError;\n }\n\n @query('.input')\n private readonly inputOrTextarea!:\n | HTMLInputElement\n | HTMLTextAreaElement\n | null;\n @query('.field') private readonly field!: Field | null;\n @queryAssignedElements({slot: 'leading-icon'})\n private readonly leadingIcons!: Element[];\n @queryAssignedElements({slot: 'trailing-icon'})\n private readonly trailingIcons!: Element[];\n\n /**\n * Selects all the text in the text field.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select\n */\n select() {\n this.getInputOrTextarea().select();\n }\n\n /**\n * Replaces a range of text with a new string.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setRangeText\n */\n setRangeText(replacement: string): void;\n setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectionMode?: SelectionMode,\n ): void;\n setRangeText(...args: unknown[]) {\n // Calling setRangeText with 1 vs 3-4 arguments has different behavior.\n // Use spread syntax and type casting to ensure correct usage.\n this.getInputOrTextarea().setRangeText(\n ...(args as Parameters<HTMLInputElement['setRangeText']>),\n );\n this.value = this.getInputOrTextarea().value;\n }\n\n /**\n * Sets the start and end positions of a selection in the text field.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n *\n * @param start The offset into the text field for the start of the selection.\n * @param end The offset into the text field for the end of the selection.\n * @param direction The direction in which the selection is performed.\n */\n setSelectionRange(\n start: number | null,\n end: number | null,\n direction?: 'forward' | 'backward' | 'none',\n ) {\n this.getInputOrTextarea().setSelectionRange(start, end, direction);\n }\n\n /**\n * Decrements the value of a numeric type text field by `step` or `n` `step`\n * number of times.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepDown\n *\n * @param stepDecrement The number of steps to decrement, defaults to 1.\n */\n stepDown(stepDecrement?: number) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.stepDown(stepDecrement);\n this.value = input.value;\n }\n\n /**\n * Increments the value of a numeric type text field by `step` or `n` `step`\n * number of times.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepUp\n *\n * @param stepIncrement The number of steps to increment, defaults to 1.\n */\n stepUp(stepIncrement?: number) {\n const input = this.getInput();\n if (!input) {\n return;\n }\n\n input.stepUp(stepIncrement);\n this.value = input.value;\n }\n\n /**\n * Reset the text field to its default value.\n */\n reset() {\n this.dirty = false;\n this.value = this.getAttribute('value') ?? '';\n this.nativeError = false;\n this.nativeErrorText = '';\n }\n\n override attributeChangedCallback(\n attribute: string,\n newValue: string | null,\n oldValue: string | null,\n ) {\n if (attribute === 'value' && this.dirty) {\n // After user input, changing the value attribute no longer updates the\n // text field's value (until reset). This matches native <input> behavior.\n return;\n }\n\n super.attributeChangedCallback(attribute, newValue, oldValue);\n }\n\n protected override render() {\n const classes = {\n 'disabled': this.disabled,\n 'error': !this.disabled && this.hasError,\n 'textarea': this.type === 'textarea',\n 'no-spinner': this.noSpinner,\n };\n\n return html`\n <span class=\"text-field ${classMap(classes)}\">\n ${this.renderField()}\n </span>\n `;\n }\n\n protected override updated(changedProperties: PropertyValues) {\n // Keep changedProperties arg so that subclasses may call it\n\n // If a property such as `type` changes and causes the internal <input>\n // value to change without dispatching an event, re-sync it.\n const value = this.getInputOrTextarea().value;\n if (this.value !== value) {\n // Note this is typically inefficient in updated() since it schedules\n // another update. However, it is needed for the <input> to fully render\n // before checking its value.\n this.value = value;\n }\n }\n\n private renderField() {\n return staticHtml`<${this.fieldTag}\n class=\"field\"\n count=${this.value.length}\n ?disabled=${this.disabled}\n ?error=${this.hasError}\n error-text=${this.getErrorText()}\n ?focused=${this.focused}\n ?has-end=${this.hasTrailingIcon}\n ?has-start=${this.hasLeadingIcon}\n label=${this.label}\n ?no-asterisk=${this.noAsterisk}\n max=${this.maxLength}\n ?populated=${!!this.value}\n ?required=${this.required}\n ?resizable=${this.type === 'textarea'}\n supporting-text=${this.supportingText}\n >\n ${this.renderLeadingIcon()}\n ${this.renderInputOrTextarea()}\n ${this.renderTrailingIcon()}\n <div id=\"description\" slot=\"aria-describedby\"></div>\n </${this.fieldTag}>`;\n }\n\n private renderLeadingIcon() {\n return html`\n <span class=\"icon leading\" slot=\"start\">\n <slot name=\"leading-icon\" @slotchange=${this.handleIconChange}></slot>\n </span>\n `;\n }\n\n private renderTrailingIcon() {\n return html`\n <span class=\"icon trailing\" slot=\"end\">\n <slot name=\"trailing-icon\" @slotchange=${this.handleIconChange}></slot>\n </span>\n `;\n }\n\n private renderInputOrTextarea() {\n const style: StyleInfo = {'direction': this.textDirection};\n const ariaLabel =\n (this as ARIAMixinStrict).ariaLabel || this.label || nothing;\n // lit-anaylzer `autocomplete` types are too strict\n // tslint:disable-next-line:no-any\n const autocomplete = this.autocomplete as any;\n\n // These properties may be set to null if the attribute is removed, and\n // `null > -1` is incorrectly `true`.\n const hasMaxLength = (this.maxLength ?? -1) > -1;\n const hasMinLength = (this.minLength ?? -1) > -1;\n if (this.type === 'textarea') {\n return html`\n <textarea\n class=\"input\"\n style=${styleMap(style)}\n aria-describedby=\"description\"\n aria-invalid=${this.hasError}\n aria-label=${ariaLabel}\n autocomplete=${autocomplete || nothing}\n name=${this.name || nothing}\n ?disabled=${this.disabled}\n maxlength=${hasMaxLength ? this.maxLength : nothing}\n minlength=${hasMinLength ? this.minLength : nothing}\n placeholder=${this.placeholder || nothing}\n ?readonly=${this.readOnly}\n ?required=${this.required}\n rows=${this.rows}\n cols=${this.cols}\n .value=${live(this.value)}\n @change=${this.redispatchEvent}\n @focus=${this.handleFocusChange}\n @blur=${this.handleFocusChange}\n @input=${this.handleInput}\n @select=${this.redispatchEvent}></textarea>\n `;\n }\n\n const prefix = this.renderPrefix();\n const suffix = this.renderSuffix();\n\n // TODO(b/243805848): remove `as unknown as number` and `as any` once lit\n // analyzer is fixed\n // tslint:disable-next-line:no-any\n const inputMode = this.inputMode as any;\n return html`\n <div class=\"input-wrapper\">\n ${prefix}\n <input\n class=\"input\"\n style=${styleMap(style)}\n aria-describedby=\"description\"\n aria-invalid=${this.hasError}\n aria-label=${ariaLabel}\n autocomplete=${autocomplete || nothing}\n name=${this.name || nothing}\n ?disabled=${this.disabled}\n inputmode=${inputMode || nothing}\n max=${(this.max || nothing) as unknown as number}\n maxlength=${hasMaxLength ? this.maxLength : nothing}\n min=${(this.min || nothing) as unknown as number}\n minlength=${hasMinLength ? this.minLength : nothing}\n pattern=${this.pattern || nothing}\n placeholder=${this.placeholder || nothing}\n ?readonly=${this.readOnly}\n ?required=${this.required}\n ?multiple=${this.multiple}\n step=${(this.step || nothing) as unknown as number}\n type=${this.type}\n .value=${live(this.value)}\n @change=${this.redispatchEvent}\n @focus=${this.handleFocusChange}\n @blur=${this.handleFocusChange}\n @input=${this.handleInput}\n @select=${this.redispatchEvent} />\n ${suffix}\n </div>\n `;\n }\n\n private renderPrefix() {\n return this.renderAffix(this.prefixText, /* isSuffix */ false);\n }\n\n private renderSuffix() {\n return this.renderAffix(this.suffixText, /* isSuffix */ true);\n }\n\n private renderAffix(text: string, isSuffix: boolean) {\n if (!text) {\n return nothing;\n }\n\n const classes = {\n 'suffix': isSuffix,\n 'prefix': !isSuffix,\n };\n\n return html`<span class=\"${classMap(classes)}\">${text}</span>`;\n }\n\n private getErrorText() {\n return this.error ? this.errorText : this.nativeErrorText;\n }\n\n private handleFocusChange() {\n // When calling focus() or reportValidity() during change, it's possible\n // for blur to be called after the new focus event. Rather than set\n // `this.focused` to true/false on focus/blur, we always set it to whether\n // or not the input itself is focused.\n this.focused = this.inputOrTextarea?.matches(':focus') ?? false;\n }\n\n private handleInput(event: InputEvent) {\n this.dirty = true;\n this.value = (event.target as HTMLInputElement).value;\n }\n\n private redispatchEvent(event: Event) {\n redispatchEvent(this, event);\n }\n\n private getInputOrTextarea() {\n if (!this.inputOrTextarea) {\n // If the input is not yet defined, synchronously render.\n // e.g.\n // const textField = document.createElement('md-outlined-text-field');\n // document.body.appendChild(textField);\n // textField.focus(); // synchronously render\n this.connectedCallback();\n this.scheduleUpdate();\n }\n\n if (this.isUpdatePending) {\n // If there are pending updates, synchronously perform them. This ensures\n // that constraint validation properties (like `required`) are synced\n // before interacting with input APIs that depend on them.\n this.scheduleUpdate();\n }\n\n return this.inputOrTextarea!;\n }\n\n private getInput() {\n if (this.type === 'textarea') {\n return null;\n }\n\n return this.getInputOrTextarea() as HTMLInputElement;\n }\n\n private handleIconChange() {\n this.hasLeadingIcon = this.leadingIcons.length > 0;\n this.hasTrailingIcon = this.trailingIcons.length > 0;\n }\n\n // Writable mixin properties for lit-html binding, needed for lit-analyzer\n declare disabled: boolean;\n declare name: string;\n\n override [getFormValue]() {\n return this.value;\n }\n\n override formResetCallback() {\n this.reset();\n }\n\n override formStateRestoreCallback(state: string) {\n this.value = state;\n }\n\n override focus() {\n // Required for the case that the user slots a focusable element into the\n // leading icon slot such as an iconbutton due to how delegatesFocus works.\n this.getInputOrTextarea().focus();\n }\n\n [createValidator](): Validator<unknown> {\n return new TextFieldValidator(() => ({\n state: this,\n renderedControl: this.inputOrTextarea,\n }));\n }\n\n [getValidityAnchor](): HTMLElement | null {\n return this.inputOrTextarea;\n }\n\n [onReportValidity](invalidEvent: Event | null) {\n // Prevent default pop-up behavior.\n invalidEvent?.preventDefault();\n\n const prevMessage = this.getErrorText();\n this.nativeError = !!invalidEvent;\n this.nativeErrorText = this.validationMessage;\n\n if (prevMessage === this.getErrorText()) {\n this.field?.reannounceError();\n }\n }\n}\n"]}
@@ -94,7 +94,7 @@ $_default: (
94
94
  @function values(
95
95
  $deps: $_default,
96
96
  $exclude-hardcoded-values: false,
97
- $exclude-custom-properties: true
97
+ $exclude-custom-properties: false
98
98
  ) {
99
99
  $tokens: md-comp-assist-chip.values($deps, $exclude-hardcoded-values);
100
100
  $new-tokens: map.merge(
@@ -134,8 +134,6 @@ $_default: (
134
134
  )
135
135
  );
136
136
 
137
- // Default to `$exclude-custom-properties: false` in the next breaking change.
138
- // See b/321816473.
139
137
  @if not $exclude-custom-properties {
140
138
  @each $token, $value in $tokens {
141
139
  @if string.index($token, 'container-shape-') == 1 {
@@ -24,13 +24,11 @@ $_unsupported-tokens: ('large-label-text-tracking', 'large-label-text-type');
24
24
  @function values(
25
25
  $deps: $_default,
26
26
  $exclude-hardcoded-values: false,
27
- $exclude-custom-properties: true
27
+ $exclude-custom-properties: false
28
28
  ) {
29
29
  $tokens: md-comp-badge.values($deps, $exclude-hardcoded-values);
30
30
  $tokens: map.remove($tokens, $_unsupported-tokens...);
31
31
 
32
- // Default to `$exclude-custom-properties: false` in the next breaking change.
33
- // See b/321816473.
34
32
  @if not $exclude-custom-properties {
35
33
  @each $token, $value in $tokens {
36
34
  $tokens: map.set($tokens, $token, var(--md-badge-#{$token}, #{$value}));
@@ -101,7 +101,7 @@ $_default: (
101
101
  @function values(
102
102
  $deps: $_default,
103
103
  $exclude-hardcoded-values: false,
104
- $exclude-custom-properties: true
104
+ $exclude-custom-properties: false
105
105
  ) {
106
106
  $tokens: md-comp-checkbox.values($deps, $exclude-hardcoded-values);
107
107
  $new-tokens: shape.get-new-logical-shape-tokens($tokens, 'container-shape');
@@ -137,8 +137,6 @@ $_default: (
137
137
  )
138
138
  );
139
139
 
140
- // Default to `$exclude-custom-properties: false` in the next breaking change.
141
- // See b/321816473.
142
140
  @if not $exclude-custom-properties {
143
141
  @each $token, $value in $tokens {
144
142
  @if string.index($token, 'container-shape-') == 1 {
@@ -41,7 +41,7 @@ $_default: (
41
41
  @function values(
42
42
  $deps: $_default,
43
43
  $exclude-hardcoded-values: false,
44
- $exclude-custom-properties: true
44
+ $exclude-custom-properties: false
45
45
  ) {
46
46
  $tokens: validate.values(
47
47
  md-comp-circular-progress-indicator.values(
@@ -65,8 +65,6 @@ $_default: (
65
65
  );
66
66
  }
67
67
 
68
- // Default to `$exclude-custom-properties: false` in the next breaking change.
69
- // See b/321816473.
70
68
  @if not $exclude-custom-properties {
71
69
  @each $token, $value in $tokens {
72
70
  $tokens: map.set(
@@ -81,7 +81,7 @@ $unsupported-tokens: (
81
81
  @function values(
82
82
  $deps: $_default,
83
83
  $exclude-hardcoded-values: false,
84
- $exclude-custom-properties: true
84
+ $exclude-custom-properties: false
85
85
  ) {
86
86
  $tokens: md-comp-dialog.values($deps, $exclude-hardcoded-values);
87
87
  $new-tokens: shape.get-new-logical-shape-tokens($tokens, 'container-shape');
@@ -97,8 +97,6 @@ $unsupported-tokens: (
97
97
  )
98
98
  );
99
99
 
100
- // Default to `$exclude-custom-properties: false` in the next breaking change.
101
- // See b/321816473.
102
100
  @if not $exclude-custom-properties {
103
101
  @each $token, $value in $tokens {
104
102
  @if string.index($token, 'container-shape-') == 1 {
@@ -26,15 +26,13 @@ $_default: (
26
26
  @function values(
27
27
  $deps: $_default,
28
28
  $exclude-hardcoded-values: false,
29
- $exclude-custom-properties: true
29
+ $exclude-custom-properties: false
30
30
  ) {
31
31
  $tokens: validate.values(
32
32
  md-comp-divider.values($deps, $exclude-hardcoded-values),
33
33
  $supported-tokens: $supported-tokens
34
34
  );
35
35
 
36
- // Default to `$exclude-custom-properties: false` in the next breaking change.
37
- // See b/321816473.
38
36
  @if not $exclude-custom-properties {
39
37
  @each $token, $value in $tokens {
40
38
  $tokens: map.set($tokens, $token, var(--md-divider-#{$token}, #{$value}));
@@ -85,7 +85,7 @@ $_default: (
85
85
  @function values(
86
86
  $deps: $_default,
87
87
  $exclude-hardcoded-values: false,
88
- $exclude-custom-properties: true
88
+ $exclude-custom-properties: false
89
89
  ) {
90
90
  $tokens: md-comp-elevated-button.values($deps, $exclude-hardcoded-values);
91
91
  $new-tokens: map.merge(
@@ -124,8 +124,6 @@ $_default: (
124
124
  )
125
125
  );
126
126
 
127
- // Default to `$exclude-custom-properties: false` in the next breaking change.
128
- // See b/321816473.
129
127
  @if not $exclude-custom-properties {
130
128
  @each $token, $value in $tokens {
131
129
  @if string.index($token, 'container-shape-') == 1 {
@@ -58,7 +58,7 @@ $_default: (
58
58
  @function values(
59
59
  $deps: $_default,
60
60
  $exclude-hardcoded-values: false,
61
- $exclude-custom-properties: true
61
+ $exclude-custom-properties: false
62
62
  ) {
63
63
  $tokens: validate.values(
64
64
  md-comp-elevated-card.values($deps, $exclude-hardcoded-values),
@@ -66,8 +66,6 @@ $_default: (
66
66
  $unsupported-tokens: $unsupported-tokens
67
67
  );
68
68
 
69
- // Default to `$exclude-custom-properties: false` in the next breaking change.
70
- // See b/321816473.
71
69
  @if not $exclude-custom-properties {
72
70
  @each $token, $value in $tokens {
73
71
  $tokens: map.set(
@@ -27,15 +27,13 @@ $_default: (
27
27
  @function values(
28
28
  $deps: $_default,
29
29
  $exclude-hardcoded-values: false,
30
- $exclude-custom-properties: true
30
+ $exclude-custom-properties: false
31
31
  ) {
32
32
  $tokens: (
33
33
  'level': map.get($deps, 'md-sys-elevation', 'level0'),
34
34
  'shadow-color': map.get($deps, 'md-sys-color', 'shadow'),
35
35
  );
36
36
 
37
- // Default to `$exclude-custom-properties: false` in the next breaking change.
38
- // See b/321816473.
39
37
  @if not $exclude-custom-properties {
40
38
  @each $token, $value in $tokens {
41
39
  $tokens: map.set(
@@ -112,7 +112,7 @@ $_default: (
112
112
  @function values(
113
113
  $deps: $_default,
114
114
  $exclude-hardcoded-values: false,
115
- $exclude-custom-properties: true
115
+ $exclude-custom-properties: false
116
116
  ) {
117
117
  $tokens: md-comp-fab-branded.values($deps, $exclude-hardcoded-values);
118
118
  $new-tokens: _get-new-tokens($deps, $exclude-hardcoded-values);
@@ -133,8 +133,6 @@ $_default: (
133
133
  $new-tokens: $new-tokens
134
134
  );
135
135
 
136
- // Default to `$exclude-custom-properties: false` in the next breaking change.
137
- // See b/321816473.
138
136
  @if not $exclude-custom-properties {
139
137
  @each $token, $value in $tokens {
140
138
  $shape-tokens: ('container-shape', 'large-container-shape');
@@ -248,7 +248,7 @@ $_default: (
248
248
  @function values(
249
249
  $deps: $_default,
250
250
  $exclude-hardcoded-values: false,
251
- $exclude-custom-properties: true
251
+ $exclude-custom-properties: false
252
252
  ) {
253
253
  $tokens: md-comp-fab-surface.values($deps, $exclude-hardcoded-values);
254
254
  $new-tokens: _get-new-tokens($deps, $exclude-hardcoded-values);
@@ -273,8 +273,6 @@ $_default: (
273
273
  $new-tokens: $new-tokens
274
274
  );
275
275
 
276
- // Default to `$exclude-custom-properties: false` in the next breaking change.
277
- // See b/321816473.
278
276
  @if not $exclude-custom-properties {
279
277
  @each $token, $value in $tokens {
280
278
  $shape-tokens: (
@@ -85,7 +85,7 @@ $_default: (
85
85
  @function values(
86
86
  $deps: $_default,
87
87
  $exclude-hardcoded-values: false,
88
- $exclude-custom-properties: true
88
+ $exclude-custom-properties: false
89
89
  ) {
90
90
  $tokens: md-comp-filled-button.values($deps, $exclude-hardcoded-values);
91
91
  $new-tokens: map.merge(
@@ -124,8 +124,6 @@ $_default: (
124
124
  )
125
125
  );
126
126
 
127
- // Default to `$exclude-custom-properties: false` in the next breaking change.
128
- // See b/321816473.
129
127
  @if not $exclude-custom-properties {
130
128
  @each $token, $value in $tokens {
131
129
  @if string.index($token, 'container-shape-') == 1 {
@@ -58,7 +58,7 @@ $_default: (
58
58
  @function values(
59
59
  $deps: $_default,
60
60
  $exclude-hardcoded-values: false,
61
- $exclude-custom-properties: true
61
+ $exclude-custom-properties: false
62
62
  ) {
63
63
  $tokens: validate.values(
64
64
  md-comp-filled-card.values($deps, $exclude-hardcoded-values),
@@ -66,8 +66,6 @@ $_default: (
66
66
  $unsupported-tokens: $unsupported-tokens
67
67
  );
68
68
 
69
- // Default to `$exclude-custom-properties: false` in the next breaking change.
70
- // See b/321816473.
71
69
  @if not $exclude-custom-properties {
72
70
  @each $token, $value in $tokens {
73
71
  $tokens: map.set(
@@ -119,7 +119,7 @@ $_default: (
119
119
  @function values(
120
120
  $deps: $_default,
121
121
  $exclude-hardcoded-values: false,
122
- $exclude-custom-properties: true
122
+ $exclude-custom-properties: false
123
123
  ) {
124
124
  $text-field: md-comp-filled-text-field.values(
125
125
  $deps,
@@ -266,8 +266,6 @@ $_default: (
266
266
  $new-tokens: $new-tokens
267
267
  );
268
268
 
269
- // Default to `$exclude-custom-properties: false` in the next breaking change.
270
- // See b/321816473.
271
269
  @if not $exclude-custom-properties {
272
270
  @each $token, $value in $tokens {
273
271
  @if string.index($token, 'container-shape-') == 1 {
@@ -76,7 +76,7 @@ $_default: (
76
76
  @function values(
77
77
  $deps: $_default,
78
78
  $exclude-hardcoded-values: false,
79
- $exclude-custom-properties: true
79
+ $exclude-custom-properties: false
80
80
  ) {
81
81
  $tokens: md-comp-filled-icon-button.values($deps, $exclude-hardcoded-values);
82
82
  $new-tokens: shape.get-new-logical-shape-tokens($tokens, 'container-shape');
@@ -100,8 +100,6 @@ $_default: (
100
100
  )
101
101
  );
102
102
 
103
- // Default to `$exclude-custom-properties: false` in the next breaking change.
104
- // See b/321816473.
105
103
  @if not $exclude-custom-properties {
106
104
  @each $token, $value in $tokens {
107
105
  @if string.index($token, 'container-shape-') == 1 {
@@ -157,7 +157,7 @@ $_default: (
157
157
  @function values(
158
158
  $deps: $_default,
159
159
  $exclude-hardcoded-values: false,
160
- $exclude-custom-properties: true
160
+ $exclude-custom-properties: false
161
161
  ) {
162
162
  $original-tokens: md-comp-filled-select.values(
163
163
  $deps,
@@ -179,8 +179,6 @@ $_default: (
179
179
  $new-tokens: $new-tokens
180
180
  );
181
181
 
182
- // Default to `$exclude-custom-properties: false` in the next breaking change.
183
- // See b/321816473.
184
182
  @if not $exclude-custom-properties {
185
183
  @each $token, $value in $tokens {
186
184
  @if string.index($token, 'text-field-container-shape-') == 1 {
@@ -137,7 +137,7 @@ $_default: (
137
137
  @function values(
138
138
  $deps: $_default,
139
139
  $exclude-hardcoded-values: false,
140
- $exclude-custom-properties: true
140
+ $exclude-custom-properties: false
141
141
  ) {
142
142
  $tokens: md-comp-filled-text-field.values($deps, $exclude-hardcoded-values);
143
143
  $new-tokens: map.merge(
@@ -173,8 +173,6 @@ $_default: (
173
173
  )
174
174
  );
175
175
 
176
- // Default to `$exclude-custom-properties: false` in the next breaking change.
177
- // See b/321816473.
178
176
  @if not $exclude-custom-properties {
179
177
  @each $token, $value in $tokens {
180
178
  @if string.index($token, 'container-shape-') == 1 {
@@ -85,7 +85,7 @@ $_default: (
85
85
  @function values(
86
86
  $deps: $_default,
87
87
  $exclude-hardcoded-values: false,
88
- $exclude-custom-properties: true
88
+ $exclude-custom-properties: false
89
89
  ) {
90
90
  $tokens: md-comp-filled-tonal-button.values($deps, $exclude-hardcoded-values);
91
91
  $new-tokens: map.merge(
@@ -124,8 +124,6 @@ $_default: (
124
124
  )
125
125
  );
126
126
 
127
- // Default to `$exclude-custom-properties: false` in the next breaking change.
128
- // See b/321816473.
129
127
  @if not $exclude-custom-properties {
130
128
  @each $token, $value in $tokens {
131
129
  @if string.index($token, 'container-shape-') == 1 {
@@ -76,7 +76,7 @@ $_default: (
76
76
  @function values(
77
77
  $deps: $_default,
78
78
  $exclude-hardcoded-values: false,
79
- $exclude-custom-properties: true
79
+ $exclude-custom-properties: false
80
80
  ) {
81
81
  $tokens: md-comp-filled-tonal-icon-button.values(
82
82
  $deps,
@@ -104,8 +104,6 @@ $_default: (
104
104
  )
105
105
  );
106
106
 
107
- // Default to `$exclude-custom-properties: false` in the next breaking change.
108
- // See b/321816473.
109
107
  @if not $exclude-custom-properties {
110
108
  @each $token, $value in $tokens {
111
109
  @if string.index($token, 'container-shape-') == 1 {
@@ -136,7 +136,7 @@ $_default: (
136
136
  @function values(
137
137
  $deps: $_default,
138
138
  $exclude-hardcoded-values: false,
139
- $exclude-custom-properties: true
139
+ $exclude-custom-properties: false
140
140
  ) {
141
141
  $tokens: md-comp-filter-chip.values($deps, $exclude-hardcoded-values);
142
142
  $new-tokens: map.merge(
@@ -246,8 +246,6 @@ $_default: (
246
246
  )
247
247
  );
248
248
 
249
- // Default to `$exclude-custom-properties: false` in the next breaking change.
250
- // See b/321816473.
251
249
  @if not $exclude-custom-properties {
252
250
  @each $token, $value in $tokens {
253
251
  @if string.index($token, 'container-shape-') == 1 {
@@ -40,7 +40,7 @@ $_default: (
40
40
  @function values(
41
41
  $deps: $_default,
42
42
  $exclude-hardcoded-values: false,
43
- $exclude-custom-properties: true
43
+ $exclude-custom-properties: false
44
44
  ) {
45
45
  $tokens: (
46
46
  'active-width': if($exclude-hardcoded-values, null, 8px),
@@ -59,8 +59,6 @@ $_default: (
59
59
  $new-tokens: $new-tokens
60
60
  );
61
61
 
62
- // Default to `$exclude-custom-properties: false` in the next breaking change.
63
- // See b/321816473.
64
62
  @if not $exclude-custom-properties {
65
63
  @each $token, $value in $tokens {
66
64
  @if string.index($token, 'shape-') == 1 {
@@ -59,7 +59,7 @@ $_default: (
59
59
  @function values(
60
60
  $deps: $_default,
61
61
  $exclude-hardcoded-values: false,
62
- $exclude-custom-properties: true
62
+ $exclude-custom-properties: false
63
63
  ) {
64
64
  $tokens: validate.values(
65
65
  md-comp-icon-button.values($deps, $exclude-hardcoded-values),
@@ -80,8 +80,6 @@ $_default: (
80
80
  )
81
81
  );
82
82
 
83
- // Default to `$exclude-custom-properties: false` in the next breaking change.
84
- // See b/321816473.
85
83
  @if not $exclude-custom-properties {
86
84
  @each $token, $value in $tokens {
87
85
  $tokens: map.set(
@@ -28,7 +28,7 @@ $supported-tokens: (
28
28
 
29
29
  @function values(
30
30
  $exclude-hardcoded-values: false,
31
- $exclude-custom-properties: true
31
+ $exclude-custom-properties: false
32
32
  ) {
33
33
  $tokens: validate.values(
34
34
  (),
@@ -36,8 +36,6 @@ $supported-tokens: (
36
36
  $new-tokens: _get-new-tokens($exclude-hardcoded-values)
37
37
  );
38
38
 
39
- // Default to `$exclude-custom-properties: false` in the next breaking change.
40
- // See b/321816473.
41
39
  @if not $exclude-custom-properties {
42
40
  @each $token, $value in $tokens {
43
41
  $tokens: map.set($tokens, $token, var(--md-icon-#{$token}, #{$value}));
@@ -124,7 +124,7 @@ $_default: (
124
124
  @function values(
125
125
  $deps: $_default,
126
126
  $exclude-hardcoded-values: false,
127
- $exclude-custom-properties: true
127
+ $exclude-custom-properties: false
128
128
  ) {
129
129
  $tokens: md-comp-input-chip.values($deps, $exclude-hardcoded-values);
130
130
  $new-tokens: map.merge(
@@ -228,8 +228,6 @@ $_default: (
228
228
  map.get($deps, 'md-sys-color', 'primary')
229
229
  );
230
230
 
231
- // Default to `$exclude-custom-properties: false` in the next breaking change.
232
- // See b/321816473.
233
231
  @if not $exclude-custom-properties {
234
232
  @each $token, $value in $tokens {
235
233
  @if string.index($token, 'container-shape-') == 1 {