@m3e/web 2.1.0 → 2.1.2

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 (263) hide show
  1. package/dist/all.js +636 -1299
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +54 -114
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/app-bar.js +2 -34
  6. package/dist/app-bar.js.map +1 -1
  7. package/dist/app-bar.min.js +1 -1
  8. package/dist/app-bar.min.js.map +1 -1
  9. package/dist/autocomplete.js +17 -40
  10. package/dist/autocomplete.js.map +1 -1
  11. package/dist/autocomplete.min.js +1 -1
  12. package/dist/autocomplete.min.js.map +1 -1
  13. package/dist/avatar.js +1 -28
  14. package/dist/avatar.js.map +1 -1
  15. package/dist/avatar.min.js +1 -1
  16. package/dist/avatar.min.js.map +1 -1
  17. package/dist/badge.js +1 -39
  18. package/dist/badge.js.map +1 -1
  19. package/dist/badge.min.js +1 -1
  20. package/dist/badge.min.js.map +1 -1
  21. package/dist/bottom-sheet.js +22 -58
  22. package/dist/bottom-sheet.js.map +1 -1
  23. package/dist/bottom-sheet.min.js +1 -1
  24. package/dist/bottom-sheet.min.js.map +1 -1
  25. package/dist/button-group.js +2 -34
  26. package/dist/button-group.js.map +1 -1
  27. package/dist/button-group.min.js +1 -1
  28. package/dist/button-group.min.js.map +1 -1
  29. package/dist/button.js +2 -34
  30. package/dist/button.js.map +1 -1
  31. package/dist/button.min.js +1 -1
  32. package/dist/button.min.js.map +1 -1
  33. package/dist/card.js +4 -34
  34. package/dist/card.js.map +1 -1
  35. package/dist/card.min.js +1 -1
  36. package/dist/card.min.js.map +1 -1
  37. package/dist/checkbox.js +2 -34
  38. package/dist/checkbox.js.map +1 -1
  39. package/dist/checkbox.min.js +1 -1
  40. package/dist/checkbox.min.js.map +1 -1
  41. package/dist/chips.js +2 -40
  42. package/dist/chips.js.map +1 -1
  43. package/dist/chips.min.js +1 -1
  44. package/dist/chips.min.js.map +1 -1
  45. package/dist/core-a11y.js +1 -39
  46. package/dist/core-a11y.js.map +1 -1
  47. package/dist/core-a11y.min.js +4 -4
  48. package/dist/core-a11y.min.js.map +1 -1
  49. package/dist/core-anchoring.js +164 -177
  50. package/dist/core-anchoring.js.map +1 -1
  51. package/dist/core-anchoring.min.js +1 -1
  52. package/dist/core-anchoring.min.js.map +1 -1
  53. package/dist/core-bidi.js +1 -31
  54. package/dist/core-bidi.js.map +1 -1
  55. package/dist/core-bidi.min.js +2 -3
  56. package/dist/core-bidi.min.js.map +1 -1
  57. package/dist/core.js +84 -43
  58. package/dist/core.js.map +1 -1
  59. package/dist/core.min.js +1 -1
  60. package/dist/core.min.js.map +1 -1
  61. package/dist/css-custom-data.json +492 -487
  62. package/dist/custom-elements.json +6233 -4722
  63. package/dist/dialog.js +3 -41
  64. package/dist/dialog.js.map +1 -1
  65. package/dist/dialog.min.js +1 -1
  66. package/dist/dialog.min.js.map +1 -1
  67. package/dist/divider.js +1 -28
  68. package/dist/divider.js.map +1 -1
  69. package/dist/divider.min.js +1 -1
  70. package/dist/divider.min.js.map +1 -1
  71. package/dist/drawer-container.js +18 -48
  72. package/dist/drawer-container.js.map +1 -1
  73. package/dist/drawer-container.min.js +1 -1
  74. package/dist/drawer-container.min.js.map +1 -1
  75. package/dist/expansion-panel.js +8 -41
  76. package/dist/expansion-panel.js.map +1 -1
  77. package/dist/expansion-panel.min.js +1 -1
  78. package/dist/expansion-panel.min.js.map +1 -1
  79. package/dist/fab-menu.js +3 -47
  80. package/dist/fab-menu.js.map +1 -1
  81. package/dist/fab-menu.min.js +1 -1
  82. package/dist/fab-menu.min.js.map +1 -1
  83. package/dist/fab.js +1 -33
  84. package/dist/fab.js.map +1 -1
  85. package/dist/fab.min.js +1 -1
  86. package/dist/fab.min.js.map +1 -1
  87. package/dist/form-field.js +19 -49
  88. package/dist/form-field.js.map +1 -1
  89. package/dist/form-field.min.js +3 -4
  90. package/dist/form-field.min.js.map +1 -1
  91. package/dist/heading.js +1 -28
  92. package/dist/heading.js.map +1 -1
  93. package/dist/heading.min.js +1 -1
  94. package/dist/heading.min.js.map +1 -1
  95. package/dist/html-custom-data.json +223 -202
  96. package/dist/icon-button.js +2 -34
  97. package/dist/icon-button.js.map +1 -1
  98. package/dist/icon-button.min.js +1 -1
  99. package/dist/icon-button.min.js.map +1 -1
  100. package/dist/icon.js +1 -28
  101. package/dist/icon.js.map +1 -1
  102. package/dist/icon.min.js +1 -1
  103. package/dist/icon.min.js.map +1 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/index.min.js +7 -0
  106. package/dist/index.min.js.map +1 -0
  107. package/dist/list.js +17 -46
  108. package/dist/list.js.map +1 -1
  109. package/dist/list.min.js +1 -1
  110. package/dist/list.min.js.map +1 -1
  111. package/dist/loading-indicator.js +8 -31
  112. package/dist/loading-indicator.js.map +1 -1
  113. package/dist/loading-indicator.min.js +1 -1
  114. package/dist/loading-indicator.min.js.map +1 -1
  115. package/dist/menu.js +3 -47
  116. package/dist/menu.js.map +1 -1
  117. package/dist/menu.min.js +1 -1
  118. package/dist/menu.min.js.map +1 -1
  119. package/dist/nav-bar.js +3 -41
  120. package/dist/nav-bar.js.map +1 -1
  121. package/dist/nav-bar.min.js +1 -1
  122. package/dist/nav-bar.min.js.map +1 -1
  123. package/dist/nav-menu.js +2 -40
  124. package/dist/nav-menu.js.map +1 -1
  125. package/dist/nav-menu.min.js +1 -1
  126. package/dist/nav-menu.min.js.map +1 -1
  127. package/dist/nav-rail.js +1 -33
  128. package/dist/nav-rail.js.map +1 -1
  129. package/dist/nav-rail.min.js +1 -1
  130. package/dist/nav-rail.min.js.map +1 -1
  131. package/dist/option.js +3 -59
  132. package/dist/option.js.map +1 -1
  133. package/dist/option.min.js +1 -1
  134. package/dist/option.min.js.map +1 -1
  135. package/dist/paginator.js +2 -34
  136. package/dist/paginator.js.map +1 -1
  137. package/dist/paginator.min.js +2 -3
  138. package/dist/paginator.min.js.map +1 -1
  139. package/dist/progress-indicator.js +41 -63
  140. package/dist/progress-indicator.js.map +1 -1
  141. package/dist/progress-indicator.min.js +32 -32
  142. package/dist/progress-indicator.min.js.map +1 -1
  143. package/dist/radio-group.js +1 -39
  144. package/dist/radio-group.js.map +1 -1
  145. package/dist/radio-group.min.js +1 -1
  146. package/dist/radio-group.min.js.map +1 -1
  147. package/dist/segmented-button.js +2 -40
  148. package/dist/segmented-button.js.map +1 -1
  149. package/dist/segmented-button.min.js +1 -1
  150. package/dist/segmented-button.min.js.map +1 -1
  151. package/dist/select.js +16 -40
  152. package/dist/select.js.map +1 -1
  153. package/dist/select.min.js +1 -1
  154. package/dist/select.min.js.map +1 -1
  155. package/dist/shape.js +1 -28
  156. package/dist/shape.js.map +1 -1
  157. package/dist/shape.min.js +1 -1
  158. package/dist/shape.min.js.map +1 -1
  159. package/dist/slide-group.js +9 -42
  160. package/dist/slide-group.js.map +1 -1
  161. package/dist/slide-group.min.js +1 -1
  162. package/dist/slide-group.min.js.map +1 -1
  163. package/dist/slider.js +1 -39
  164. package/dist/slider.js.map +1 -1
  165. package/dist/slider.min.js +1 -1
  166. package/dist/slider.min.js.map +1 -1
  167. package/dist/snackbar.js +2 -40
  168. package/dist/snackbar.js.map +1 -1
  169. package/dist/snackbar.min.js +1 -1
  170. package/dist/snackbar.min.js.map +1 -1
  171. package/dist/split-button.js +1 -39
  172. package/dist/split-button.js.map +1 -1
  173. package/dist/split-button.min.js +1 -1
  174. package/dist/split-button.min.js.map +1 -1
  175. package/dist/src/autocomplete/AutocompleteElement.d.ts +6 -0
  176. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
  177. package/dist/src/bottom-sheet/BottomSheetElement.d.ts +3 -3
  178. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
  179. package/dist/src/card/CardElement.d.ts +1 -0
  180. package/dist/src/card/CardElement.d.ts.map +1 -1
  181. package/dist/src/card/styles/CardVariantToken.d.ts +1 -1
  182. package/dist/src/card/styles/CardVariantToken.d.ts.map +1 -1
  183. package/dist/src/core/anchoring/FloatingPanelElement.d.ts +6 -3
  184. package/dist/src/core/anchoring/FloatingPanelElement.d.ts.map +1 -1
  185. package/dist/src/core/anchoring/FloatingPanelScrollStrategy.d.ts +3 -0
  186. package/dist/src/core/anchoring/FloatingPanelScrollStrategy.d.ts.map +1 -0
  187. package/dist/src/core/anchoring/index.d.ts +1 -0
  188. package/dist/src/core/anchoring/index.d.ts.map +1 -1
  189. package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -1
  190. package/dist/src/core/shared/mixins/ReconnectedCallback.d.ts +15 -0
  191. package/dist/src/core/shared/mixins/ReconnectedCallback.d.ts.map +1 -0
  192. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts +11 -0
  193. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts.map +1 -0
  194. package/dist/src/core/shared/mixins/index.d.ts +2 -0
  195. package/dist/src/core/shared/mixins/index.d.ts.map +1 -1
  196. package/dist/src/drawer-container/DrawerContainerElement.d.ts +4 -2
  197. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  198. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts +3 -1
  199. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
  200. package/dist/src/fab-menu/FabMenuElement.d.ts +1 -3
  201. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  202. package/dist/src/form-field/FormFieldElement.d.ts +4 -2
  203. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  204. package/dist/src/list/ActionListElement.d.ts.map +1 -1
  205. package/dist/src/list/ListItemElement.d.ts +3 -1
  206. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  207. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts +3 -1
  208. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts.map +1 -1
  209. package/dist/src/menu/MenuElement.d.ts +1 -3
  210. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  211. package/dist/src/nav-bar/NavBarElement.d.ts +1 -1
  212. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  213. package/dist/src/option/OptionPanelElement.d.ts +0 -4
  214. package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
  215. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts +2 -0
  216. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -1
  217. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts +2 -0
  218. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts.map +1 -1
  219. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts +1 -1
  220. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts.map +1 -1
  221. package/dist/src/select/SelectElement.d.ts +6 -0
  222. package/dist/src/select/SelectElement.d.ts.map +1 -1
  223. package/dist/src/slide-group/SlideGroupElement.d.ts +5 -1
  224. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
  225. package/dist/src/stepper/StepperElement.d.ts +1 -1
  226. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  227. package/dist/src/toc/TocElement.d.ts +1 -1
  228. package/dist/src/toc/TocElement.d.ts.map +1 -1
  229. package/dist/src/tooltip/TooltipElementBase.d.ts +3 -1
  230. package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -1
  231. package/dist/stepper.js +3 -41
  232. package/dist/stepper.js.map +1 -1
  233. package/dist/stepper.min.js +1 -1
  234. package/dist/stepper.min.js.map +1 -1
  235. package/dist/switch.js +1 -33
  236. package/dist/switch.js.map +1 -1
  237. package/dist/switch.min.js +1 -1
  238. package/dist/switch.min.js.map +1 -1
  239. package/dist/tabs.js +1 -39
  240. package/dist/tabs.js.map +1 -1
  241. package/dist/tabs.min.js +1 -1
  242. package/dist/tabs.min.js.map +1 -1
  243. package/dist/textarea-autosize.js +1 -39
  244. package/dist/textarea-autosize.js.map +1 -1
  245. package/dist/textarea-autosize.min.js +2 -3
  246. package/dist/textarea-autosize.min.js.map +1 -1
  247. package/dist/theme.js +1 -39
  248. package/dist/theme.js.map +1 -1
  249. package/dist/theme.min.js +19 -19
  250. package/dist/theme.min.js.map +1 -1
  251. package/dist/toc.js +4 -42
  252. package/dist/toc.js.map +1 -1
  253. package/dist/toc.min.js +1 -1
  254. package/dist/toc.min.js.map +1 -1
  255. package/dist/toolbar.js +1 -39
  256. package/dist/toolbar.js.map +1 -1
  257. package/dist/toolbar.min.js +1 -1
  258. package/dist/toolbar.min.js.map +1 -1
  259. package/dist/tooltip.js +15 -46
  260. package/dist/tooltip.js.map +1 -1
  261. package/dist/tooltip.min.js +1 -1
  262. package/dist/tooltip.min.js.map +1 -1
  263. package/package.json +3 -2
package/dist/chips.min.js CHANGED
@@ -3,5 +3,5 @@
3
3
  * Copyright (c) 2025 matraic
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
- import{LitElement as e,nothing as t,html as i,unsafeCSS as o,css as a}from"lit";import{AttachInternals as s,isDisabledMixin as n,isDisabledInteractiveMixin as l,isLinkButtonMixin as r,renderPseudoLink as c,DesignToken as d,customElement as h,setCustomState as p,hasAssignedNodes as v,getTextContent as m,FormSubmitter as u,LinkButton as b,KeyboardClick as f,Focusable as g,DisabledInteractive as w,Disabled as y,Role as $,Vertical as x,Selected as k,Labelled as S,Dirty as C,Touched as E,FormAssociated as I,formValue as A,EventAttribute as L,RequiredConstraintValidation as W,Required as z,ConstraintValidation as T}from"@m3e/web/core";import{query as _,property as M}from"lit/decorators.js";import{selectionManager as P,SelectionManager as B,ListManager as j,ListKeyManager as D}from"@m3e/web/core/a11y";import{M3eDirectionality as O}from"@m3e/web/core/bidi";import{ifDefined as R}from"lit/directives/if-defined.js";function U(e,t,i,o){var a,s=arguments.length,n=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(n=(s<3?a(n):s>3?a(t,i,n):a(t,i))||n);return s>3&&n&&Object.defineProperty(t,i,n),n}function V(e,t,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(e):o?o.value:t.get(e)}function q(e,t,i,o,a){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?a.call(e,i):a?a.value=i:t.set(e,i),i}var F,H,G,K,N,Z,J;"function"==typeof SuppressedError&&SuppressedError;let Q=class extends(s(e)){constructor(){super(...arguments),F.add(this),H.set(this,void 0),G.set(this,""),this.variant="outlined"}get value(){return V(this,H,"f")??V(this,G,"f")}set value(e){q(this,H,e,"f")}get label(){return V(this,G,"f")}firstUpdated(e){super.firstUpdated(e),"listitem"===this.role&&this.removeAttribute("tabindex"),[this._elevation,this._focusRing,this._stateLayer,this._ripple].forEach(e=>{e?.htmlFor||e?.attach(this)})}render(){const e=!n(this)||this.disabled,o=l(this)&&this.disabledInteractive;return i`<div class="base"><m3e-elevation class="elevation" ?disabled="${e||o}"></m3e-elevation><m3e-state-layer class="state-layer" ?disabled="${e||o}"></m3e-state-layer><m3e-focus-ring class="focus-ring" ?disabled="${e}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${e||o}"></m3e-ripple><div class="touch" aria-hidden="true"></div>${r(this)?this[c]():t}<div class="wrapper">${V(this,F,"m",K).call(this)}</div></div>`}_renderIcon(){return i`<slot name="icon" aria-hidden="true" @slotchange="${V(this,F,"m",N)}"></slot>`}_renderTrailingIcon(){return i`<slot name="trailing-icon" aria-hidden="true" @slotchange="${V(this,F,"m",Z)}"></slot>`}_renderSlot(){return i`<slot @slotchange="${V(this,F,"m",J)}"></slot>`}};H=new WeakMap,G=new WeakMap,F=new WeakSet,K=function(){return i`${this._renderIcon()}<div class="label">${this._renderSlot()}</div>${this._renderTrailingIcon()}`},N=function(e){p(this,"-with-icon",v(e.target))},Z=function(e){p(this,"-with-trailing-icon",v(e.target))},J=function(e){q(this,G,m(e.target),"f")},Q.styles=a`:host { display: inline-block; vertical-align: middle; outline: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${o(`background-color ${d.motion.duration.short4} ${d.motion.easing.standard}`)}; border-radius: var(--m3e-chip-container-shape, ${d.shape.corner.small}); height: calc(var(--m3e-chip-container-height, 2rem) + ${d.density.calc(-2)}); font-size: var(--m3e-chip-label-text-font-size, ${d.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-chip-label-text-font-weight, ${d.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-chip-label-text-line-height, ${d.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-chip-label-text-tracking, ${d.typescale.standard.label.large.tracking}); } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host(:not(m3e-chip):not(:disabled)[disabled-interactive]) { cursor: not-allowed; } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) .base { user-select: none; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; column-gap: var(--m3e-chip-spacing, 0.5rem); } .label { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host([variant="elevated"]) .base { background-color: var(--m3e-elevated-chip-container-color, ${d.color.surfaceContainerLow}); --m3e-elevation-level: var(--m3e-elevated-chip-elevation, ${d.elevation.level1}); --m3e-elevation-hover-level: var(--m3e-elevated-chip-hover-elevation, ${d.elevation.level2}); --m3e-elevation-focus-level: var(--m3e-elevated-chip-elevation, ${d.elevation.level1}); --m3e-elevation-pressed-level: var(--m3e-elevated-chip-elevation, ${d.elevation.level1}); } :host([variant="outlined"]) .base { outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-style: solid; outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: var(--m3e-outlined-chip-outline-color, ${d.color.outlineVariant}); } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: color-mix( in srgb, var(--m3e-outlined-chip-disabled-outline-color, ${d.color.onSurface}) var(--m3e-outlined-chip-disabled-outline-opacity, 12%), transparent ); } :host(:state(-with-icon)) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } :host(:not(:state(-with-icon))) .wrapper { padding-inline-start: var(--m3e-chip-padding-start, 1rem); } :host(:state(-with-trailing-icon)) .wrapper { padding-inline-end: var(--m3e-chip-with-icon-padding-end, 0.5rem); } :host(:not(:state(-with-trailing-icon))) .wrapper { padding-inline-end: var(--m3e-chip-padding-end, 1rem); } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]) { flex: none; width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem) !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-label-text-color, ${d.color.onSurface}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-icon-color, ${d.color.primary}); } :host(:disabled) .base, :host([disabled-interactive]) .base { color: color-mix( in srgb, var(--m3e-chip-disabled-label-text-color, ${d.color.onSurface}) var(--m3e-chip-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-chip-disabled-icon-color, ${d.color.onSurface}) var(--m3e-chip-disabled-icon-opacity, 38%), transparent ); } :host([variant="elevated"]:disabled) .base, :host([variant="elevated"][disabled-interactive]) .base { background-color: color-mix( in srgb, var(--m3e-elevated-chip-disabled-container-color, ${d.color.onSurface}) var(--m3e-elevated-chip-disabled-container-opacity, 12%), transparent ); --m3e-elevation-level: var(--m3e-elevated-chip-disabled-elevation, ${d.elevation.level0}); } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { transition: none; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: CanvasText; } :host(:disabled) .base, :host([disabled-interactive]) .base, :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: GrayText; } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: GrayText; } }`,U([_(".elevation")],Q.prototype,"_elevation",void 0),U([_(".focus-ring")],Q.prototype,"_focusRing",void 0),U([_(".state-layer")],Q.prototype,"_stateLayer",void 0),U([_(".ripple")],Q.prototype,"_ripple",void 0),U([M({reflect:!0})],Q.prototype,"variant",void 0),U([M()],Q.prototype,"value",null),Q=U([h("m3e-chip")],Q);let X=class extends(u(b(f(g(w(y($(Q,"button")))))))){_renderTrailingIcon(){return t}};X.formAssociated=!0,X=U([h("m3e-assist-chip")],X);let Y=class extends(x(e)){render(){return i`<slot></slot>`}};var ee,te,ie;Y.styles=a`:host { display: inline-flex; flex-wrap: wrap; vertical-align: middle; gap: var(--m3e-chip-set-spacing, 0.5rem); outline: none; } :host([vertical]) { flex-direction: column; }`,Y=U([h("m3e-chip-set")],Y);let oe=class extends(k(f(g(w(y($(Q,"radio"))))))){constructor(){super(...arguments),ee.add(this),te.set(this,e=>V(this,ee,"m",ie).call(this,e))}connectedCallback(){super.connectedCallback(),this.addEventListener("click",V(this,te,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",V(this,te,"f"))}update(e){super.update(e),e.has("selected")&&this.closest("m3e-filter-chip-set")?.[P].notifySelectionChange(this)}_renderIcon(){return i`<div class="icon" aria-hidden="true"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg> ${super._renderIcon()}</div>`}};var ae,se,ne,le,re,ce,de;te=new WeakMap,ee=new WeakSet,ie=function(e){if(e.defaultPrevented)return;const t=this.selected;this.selected=!this.selected,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?(this.closest("m3e-filter-chip-set")?.[P].notifySelectionChange(this),this.dispatchEvent(new Event("change",{bubbles:!0}))):this.selected=t},oe.formAssociated=!0,oe.styles=[Q.styles,a`:host([selected]:not(:state(-hide-selection))) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } .icon { display: flex; align-items: center; justify-content: center; } .check { width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem); } :host(:not(:disabled):not([disabled-interactive])) .check { color: var(--m3e-chip-selected-leading-icon-color, ${d.color.onSecondaryContainer}); } :host(:not([selected])) .check, :host(:state(-hide-selection)) .check, :host(:state(-hide-selection):not(:state(-with-icon))) .icon { display: none; } :host(:not(:state(-with-icon))) .icon { margin-inline-start: calc(0px - var(--m3e-chip-with-icon-padding-start, 0.5rem)); transition: margin-inline-start ${d.motion.spring.fastEffects}; } :host([selected]) .icon { margin-inline-start: 0; } :host([selected]:not(:state(-hide-selection))) ::slotted([slot="icon"]) { display: none !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-unselected-label-text-color, ${d.color.onSurfaceVariant}); --m3e-ripple-color: var(--m3e-chip-unselected-ripple-color, ${d.color.onSurfaceVariant}); --m3e-state-layer-focus-color: var( --m3e-chip-unselected-state-layer-focus-color, ${d.color.onSurfaceVariant} ); --m3e-state-layer-hover-color: var( --m3e-chip-unselected-state-layer-hover-color, ${d.color.onSurfaceVariant} ); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]) { color: var(--m3e-chip-unselected-leading-icon-color, ${d.color.primary}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-unselected-trailing-icon-color, ${d.color.onSurfaceVariant}); } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: unset; outline-width: var(--m3e-chip-selected-outline-thickness, 0); color: var(--m3e-chip-selected-label-text-color, ${d.color.onSecondaryContainer}); background-color: var(--m3e-chip-selected-container-color, ${d.color.secondaryContainer}); --m3e-state-layer-hover-color: var( --m3e-chip-selected-container-hover-color, ${d.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-chip-selected-container-focus-color, ${d.color.onSecondaryContainer} ); --m3e-elevation-hover-level: var(--m3e-chip-selected-hover-elevation, ${d.elevation.level1}); --m3e-ripple-color: var(--m3e-chip-selected-ripple-color, ${d.color.onSecondaryContainer}); --m3e-state-layer-focus-color: var( --m3e-chip-selected-state-layer-focus-color, ${d.color.onSecondaryContainer} ); --m3e-state-layer-hover-color: var( --m3e-chip-selected-state-layer-hover-color, ${d.color.onSecondaryContainer} ); } :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]) { color: var(--m3e-chip-selected-leading-icon-color, ${d.color.onSecondaryContainer}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-selected-trailing-icon-color, ${d.color.onSecondaryContainer}); } @media (prefers-reduced-motion) { .base, :host(:not(:state(-with-icon))) .icon { transition: none; } } @media (forced-colors: active) { :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base, :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="trailing-icon"]), :host(:not(:disabled):not([disabled-interactive])) .check { color: ButtonText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-color: ButtonText; } }`],oe=U([h("m3e-filter-chip")],oe);let he=class extends(S(C(E(I(y(s($(Y,"radiogroup")))))))){constructor(){super(...arguments),ae.add(this),se.set(this,void 0),this[de]=(new B).onActiveItemChange(()=>this[P].activeItem?.focus()).withWrap().withDirectionality(O.current),this.multi=!1,this.hideSelectionIndicator=!1}get chips(){return this[P]?.items??[]}get selected(){return this[P]?.selectedItems??[]}get value(){const e=this.selected.filter(e=>!e.disabled).map(e=>e.value);switch(e.length){case 0:return null;case 1:return e[0];default:return e}}get[(se=new WeakMap,ae=new WeakSet,de=P,A)](){const e=this.value;if(Array.isArray(e)){const t=new FormData;for(const i of e)t.append(this.name,i);return t}return e}connectedCallback(){super.connectedCallback(),q(this,se,O.observe(()=>this[P].directionality=O.current),"f")}disconnectedCallback(){super.disconnectedCallback(),V(this,se,"f")?.call(this)}update(e){super.update(e),e.has("vertical")&&(this[P].vertical=this.vertical),e.has("disabled")&&(void 0!==e.get("disabled")||this.disabled)&&(this[P].disabled=this.disabled),e.has("multi")&&(this.role=this.multi?"group":"radiogroup",V(this,ae,"m",ce).call(this),this[P].multi=this.multi,this[P].disableRovingTabIndex(this.multi)),(e.has("multi")||e.has("disabled"))&&(this.ariaDisabled=this.multi&&this.disabled?"true":null),e.has("hideSelectionIndicator")&&this.chips.forEach(e=>p(e,"-hide-selection",this.hideSelectionIndicator))}render(){return i`<slot @slotchange="${V(this,ae,"m",ne)}" @keydown="${V(this,ae,"m",le)}" @change="${V(this,ae,"m",re)}"></slot>`}};var pe,ve,me,ue;ne=function(){const{added:e}=this[P].setItems([...this.querySelectorAll("m3e-filter-chip")]);e.forEach(e=>p(e,"-hide-selection",this.hideSelectionIndicator)),V(this,ae,"m",ce).call(this)},le=function(e){this.multi||this[P].onKeyDown(e)},re=function(e){e.stopPropagation(),this.dispatchEvent(new Event("change",{bubbles:!0}))},ce=function(){this.chips.forEach(e=>e.role=this.multi?"button":"radio")},U([M({type:Boolean})],he.prototype,"multi",void 0),U([M({attribute:"hide-selection-indicator",type:Boolean})],he.prototype,"hideSelectionIndicator",void 0),he=U([h("m3e-filter-chip-set")],he);let be=class extends(L(w(y($(Q,"row"))),"remove")){constructor(){super(...arguments),pe.add(this),this.removable=!1,this.removeLabel="Remove"}connectedCallback(){super.connectedCallback(),this.removeAttribute("tabindex")}update(e){super.update(e),this.removeAttribute("tabindex"),e.has("removable")&&p(this,"-with-trailing-icon",this.removable)}render(){return i`<div class="base"><m3e-elevation class="elevation" for="cell" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-elevation><m3e-state-layer class="state-layer" for="cell" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-state-layer><m3e-focus-ring class="focus-ring" for="cell" ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" for="cell" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-ripple><div class="wrapper"><div id="cell" class="cell" role="gridcell" tabindex="${R(this.disabled?void 0:"-1")}" @keydown="${V(this,pe,"m",ue)}"><slot name="avatar" @slotchange="${V(this,pe,"m",ve)}"></slot>${this._renderIcon()}<div class="label">${this._renderSlot()}</div><div class="touch" aria-hidden="true"></div></div>${this._renderTrailingIcon()}</div></div>`}_renderTrailingIcon(){return this.removable?i`<span role="gridcell" class="remove"><m3e-icon-button class="remove-button" aria-label="${this.removeLabel}" size="extra-small" tabindex="-1" ?disabled="${this.disabled}" ?disabled-interactive="${this.disabledInteractive}" @click="${V(this,pe,"m",me)}"><slot name="remove-icon"><svg class="remove-icon" viewBox="0 -960 960 960" fill="currentColor"><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg></slot></m3e-icon-button></span>`:t}};var fe,ge,we,ye,$e,xe,ke,Se,Ce,Ee,Ie,Ae,Le,We,ze,Te,_e,Me,Pe,Be,je,De,Oe,Re;pe=new WeakSet,ve=function(e){p(this,"-with-avatar",v(e.target))},me=function(e){e.stopPropagation(),this.dispatchEvent(new Event("remove"))},ue=function(e){if(this.removable)switch(e.key){case"Backspace":case"Delete":this.dispatchEvent(new Event("remove"))}},be.formAssociated=!0,be.styles=[Q.styles,a`.cell { display: inline-flex; align-items: center; outline: none; column-gap: var(--m3e-chip-spacing, 0.5rem); min-width: 0; } .remove-button { --m3e-icon-button-extra-small-container-height: 1.5rem; --m3e-icon-button-extra-small-icon-size: var(--m3e-chip-icon-size, 1.125rem); width: 1.5rem; } .remove-icon { flex: none; width: var(--m3e-chip-icon-size, 1.125rem); height: var(--m3e-chip-icon-size, 1.125rem); } .touch { top: calc( 0px - calc(calc(3rem - calc(var(--m3e-chip-container-height, 2rem) + ${d.density.calc(-2)})) / 2) ); } .wrapper { height: 100%; overflow: visible; min-width: 0; } ::slotted([slot="avatar"]) { flex: none; font-size: var(--m3e-chip-avatar-size, 1.5rem); } ::slotted(m3e-avatar[slot="avatar"]) { --m3e-icon-size: var(--m3e-chip-avatar-icon-size, 1.125rem); --m3e-avatar-size: var(--m3e-chip-avatar-size, 1.5rem); --m3e-avatar-font-size: var( --m3e-chip-avatar-font-size, ${d.typescale.standard.title.small.fontSize} ); --m3e-avatar-font-weight: var( --m3e-chip-avatar-font-height, ${d.typescale.standard.title.small.fontWeight} ); --m3e-avatar-line-height: var( --m3e-chip-avatar-line-height, ${d.typescale.standard.title.small.lineHeight} ); --m3e-avatar-tracking: var(--m3e-chip-avatar-tracking, ${d.typescale.standard.title.small.tracking}); } :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { opacity: var(--m3e-chip-disabled-avatar-opacity, 38%); color: var(--m3e-chip-disabled-icon-color, ${d.color.onSurface}); } :host(:state(-with-avatar)) ::slotted([slot="icon"]) { display: none; } :host(:state(-with-avatar)) .wrapper { padding-inline-start: var(--m3e-chip-with-avatar-padding-start, 0.25rem); } @media (forced-colors: active) { :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { color: CanvasText; } }`],U([_(".cell")],be.prototype,"cell",void 0),U([_(".remove-button")],be.prototype,"removeButton",void 0),U([M({type:Boolean})],be.prototype,"removable",void 0),U([M({attribute:"remove-label"})],be.prototype,"removeLabel",void 0),be=U([h("m3e-input-chip")],be);let Ue=class extends(W(z(T(C(E(I(y(s($(Y,"grid")))))))))){constructor(){super(...arguments),fe.add(this),ge.set(this,void 0),we.set(this,()=>V(this,fe,"m",Oe).call(this)),ye.set(this,e=>V(this,fe,"m",Re).call(this,e)),$e.set(this,()=>V(this,fe,"m",Me).call(this)),xe.set(this,()=>V(this,fe,"m",Pe).call(this)),ke.set(this,()=>V(this,fe,"m",Be).call(this)),Se.set(this,e=>V(this,fe,"m",je).call(this,e)),Ce.set(this,e=>V(this,fe,"m",De).call(this,e)),Ee.set(this,new j),Ie.set(this,(new D).onActiveItemChange(()=>V(this,Ie,"f").activeItem?.focus()).withHomeAndEnd().withSkipPredicate(e=>!e.hasAttribute("tabindex")).withDirectionality(O.current)),Ae.set(this,!1),Le.set(this,null),We.set(this,0)}get chips(){return[...this.querySelectorAll("m3e-input-chip")]}get value(){const e=this.chips.filter(e=>!e.disabled).map(e=>e.value);return 0==e.length?null:e}get[(ge=new WeakMap,we=new WeakMap,ye=new WeakMap,$e=new WeakMap,xe=new WeakMap,ke=new WeakMap,Se=new WeakMap,Ce=new WeakMap,Ee=new WeakMap,Ie=new WeakMap,Ae=new WeakMap,Le=new WeakMap,We=new WeakMap,fe=new WeakSet,A)](){const e=this.value;if(!e)return null;const t=new FormData;for(const i of e)t.append(this.name,i);return t}get shouldLabelFloat(){return this.chips.length>0}onContainerClick(){V(this,Le,"f")?.focus()}connectedCallback(){super.connectedCallback(),customElements.get("m3e-form-field")?this.closest("m3e-form-field")?.notifyControlStateChange():customElements.whenDefined("m3e-form-field").then(()=>{this.closest("m3e-form-field")?.notifyControlStateChange()}),q(this,We,Number.parseInt(this.getAttribute("tabindex")??"0"),"f"),this.addEventListener("focus",V(this,$e,"f")),this.addEventListener("focusin",V(this,xe,"f")),this.addEventListener("focusout",V(this,ke,"f")),q(this,ge,O.observe(()=>V(this,Ie,"f").directionality=O.current),"f")}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",V(this,$e,"f")),this.removeEventListener("focusin",V(this,xe,"f")),this.removeEventListener("focusout",V(this,ke,"f")),V(this,ge,"f")?.call(this)}firstUpdated(e){super.firstUpdated(e),this.hasAttribute("tabindex")||this.setAttribute("tabindex",`${V(this,We,"f")}`)}update(e){super.update(e),e.has("vertical")&&(this.ariaOrientation=null),e.has("disabled")&&(V(this,Ee,"f").items.forEach(e=>e.disabled=this.disabled),V(this,Le,"f")&&(V(this,Le,"f").disabled=this.disabled))}render(){return i`<slot @keydown="${V(this,fe,"m",ze)}" @slotchange="${V(this,fe,"m",Te)}"></slot><span role="row"><span role="gridcell"><slot name="input" @slotchange="${V(this,fe,"m",_e)}"></slot></span></span>`}};ze=function(e){V(this,Ie,"f").onKeyDown(e)},Te=async function(){const{added:e,removed:t}=V(this,Ee,"f").setItems([...this.querySelectorAll("m3e-input-chip")]);for(const t of e)t.isUpdatePending&&await t.updateComplete,this.disabled&&(t.disabled=!0),t.addEventListener("remove",V(this,Se,"f")),t.cell.addEventListener("click",V(this,Ce,"f"));t.forEach(e=>{e.removeEventListener("remove",V(this,Se,"f")),e.cell.removeEventListener("click",V(this,Ce,"f"))}),V(this,Ie,"f").setItems(V(this,Ee,"f").items.flatMap(e=>e.removeButton?[e.cell,e.removeButton]:[e.cell])),V(this,Ie,"f").activeItem||V(this,Ie,"f").updateActiveItem(V(this,Ie,"f").items.find(e=>e.hasAttribute("tabindex")))},_e=function(){const e=this.querySelector("input");if(V(this,Le,"f")&&(V(this,Le,"f").removeEventListener("change",V(this,we,"f")),V(this,Le,"f").removeEventListener("keydown",V(this,ye,"f"))),q(this,Le,e,"f"),V(this,Le,"f")){V(this,Le,"f").disabled=this.disabled,V(this,Le,"f").addEventListener("change",V(this,we,"f")),V(this,Le,"f").addEventListener("keydown",V(this,ye,"f"));const t=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");Object.defineProperty(e,"value",{get:()=>t.get?.call(e),set:i=>{t.set?.call(e,i),V(this,Le,"f")!==e||V(this,Ae,"f")||V(this,fe,"m",Oe).call(this)}})}},Me=function(){setTimeout(()=>(V(this,Ie,"f").activeItem??V(this,Le,"f"))?.focus())},Pe=function(){this.setAttribute("tabindex","-1")},Be=function(){this.setAttribute("tabindex",`${V(this,We,"f")}`)},je=function(e){const t=e.target,i=V(this,Ee,"f").items.indexOf(t),o=V(this,Ee,"f").items.find((e,t)=>t>i&&!e.disabled&&e.removable);t.remove(),V(this,Ie,"f").setActiveItem(V(this,Ie,"f").items.find(e=>e===o?.removeButton)),V(this,Ie,"f").activeItem||V(this,Le,"f")?.focus(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{type:"remove",value:t.value,chip:t}}))},De=function(e){V(this,Ie,"f").updateActiveItem(e.composedPath().find(e=>e instanceof be)?.cell)},Oe=async function(){const e=V(this,Le,"f")?.value;if(!e)return;const t=document.createElement("m3e-input-chip");if(t.removable=!0,t.appendChild(document.createTextNode(e)),this.appendChild(t),t.isUpdatePending&&await t.updateComplete,V(this,Le,"f"))try{q(this,Ae,!0,"f"),V(this,Le,"f").value=""}finally{q(this,Ae,!1,"f")}this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{type:"add",value:e,chip:t}}))},Re=function(e){if("Backspace"===e.key&&!V(this,Le,"f")?.value){const e=[...V(this,Ee,"f").items].reverse().find(e=>!e.disabled&&!e.disabledInteractive&&e.removable);e&&e.dispatchEvent(new Event("remove"))}},(()=>{if("undefined"!=typeof window){const e=new CSSStyleSheet;e.replaceSync(a`m3e-input-chip-set [slot="input"]::placeholder { user-select: none; color: currentColor; transition: opacity ${d.motion.duration.extraLong1}; } m3e-input-chip-set:not(:focus-within) [slot="input"]::placeholder { opacity: 0; transition: 0s; } m3e-input-chip-set:hover [slot="input"]::placeholder { transition: 0s; } @media (prefers-reduced-motion) { m3e-input-chip-set [slot="input"]::placeholder { transition: none !important; } }`.toString()),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}})(),Ue.styles=[Y.styles,a`::slotted([slot="input"]) { outline: unset; border: unset; background-color: transparent; box-shadow: none; font-family: inherit; font-size: inherit; line-height: initial; letter-spacing: inherit; color: var(--_form-field-input-color, inherit); flex: 1 1 auto; min-width: 0; padding: unset; } ::slotted(m3e-input-chip) { min-width: 0; } span[role="row"], span[role="gridcell"] { display: contents; }`],Ue=U([h("m3e-input-chip-set")],Ue);let Ve=class extends(u(b(f(g(w(y($(Q,"button")))))))){_renderTrailingIcon(){return t}};Ve.formAssociated=!0,Ve=U([h("m3e-suggestion-chip")],Ve);export{X as M3eAssistChipElement,Q as M3eChipElement,Y as M3eChipSetElement,oe as M3eFilterChipElement,he as M3eFilterChipSetElement,be as M3eInputChipElement,Ue as M3eInputChipSetElement,Ve as M3eSuggestionChipElement};
6
+ import{__classPrivateFieldGet as e,__classPrivateFieldSet as t,__decorate as i}from"tslib";import{LitElement as o,nothing as s,html as a,unsafeCSS as n,css as l}from"lit";import{AttachInternals as r,isDisabledMixin as c,isDisabledInteractiveMixin as d,isLinkButtonMixin as h,renderPseudoLink as p,setCustomState as v,hasAssignedNodes as m,getTextContent as u,DesignToken as b,customElement as f,FormSubmitter as g,LinkButton as y,KeyboardClick as w,Focusable as $,DisabledInteractive as x,Disabled as k,Role as S,Vertical as C,Selected as E,Labelled as I,Dirty as A,Touched as L,FormAssociated as W,formValue as z,EventAttribute as _,RequiredConstraintValidation as M,Required as T,ConstraintValidation as B}from"@m3e/web/core";import{query as D,property as P}from"lit/decorators.js";import{selectionManager as j,SelectionManager as U,ListManager as V,ListKeyManager as O}from"@m3e/web/core/a11y";import{M3eDirectionality as q}from"@m3e/web/core/bidi";import{ifDefined as F}from"lit/directives/if-defined.js";var H,R,G,K,N,Z,J;let Q=class extends(r(o)){constructor(){super(...arguments),H.add(this),R.set(this,void 0),G.set(this,""),this.variant="outlined"}get value(){return e(this,R,"f")??e(this,G,"f")}set value(e){t(this,R,e,"f")}get label(){return e(this,G,"f")}firstUpdated(e){super.firstUpdated(e),"listitem"===this.role&&this.removeAttribute("tabindex"),[this._elevation,this._focusRing,this._stateLayer,this._ripple].forEach(e=>{e?.htmlFor||e?.attach(this)})}render(){const t=!c(this)||this.disabled,i=d(this)&&this.disabledInteractive;return a`<div class="base"><m3e-elevation class="elevation" ?disabled="${t||i}"></m3e-elevation><m3e-state-layer class="state-layer" ?disabled="${t||i}"></m3e-state-layer><m3e-focus-ring class="focus-ring" ?disabled="${t}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${t||i}"></m3e-ripple><div class="touch" aria-hidden="true"></div>${h(this)?this[p]():s}<div class="wrapper">${e(this,H,"m",K).call(this)}</div></div>`}_renderIcon(){return a`<slot name="icon" aria-hidden="true" @slotchange="${e(this,H,"m",N)}"></slot>`}_renderTrailingIcon(){return a`<slot name="trailing-icon" aria-hidden="true" @slotchange="${e(this,H,"m",Z)}"></slot>`}_renderSlot(){return a`<slot @slotchange="${e(this,H,"m",J)}"></slot>`}};R=new WeakMap,G=new WeakMap,H=new WeakSet,K=function(){return a`${this._renderIcon()}<div class="label">${this._renderSlot()}</div>${this._renderTrailingIcon()}`},N=function(e){v(this,"-with-icon",m(e.target))},Z=function(e){v(this,"-with-trailing-icon",m(e.target))},J=function(e){t(this,G,u(e.target),"f")},Q.styles=l`:host { display: inline-block; vertical-align: middle; outline: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${n(`background-color ${b.motion.duration.short4} ${b.motion.easing.standard}`)}; border-radius: var(--m3e-chip-container-shape, ${b.shape.corner.small}); height: calc(var(--m3e-chip-container-height, 2rem) + ${b.density.calc(-2)}); font-size: var(--m3e-chip-label-text-font-size, ${b.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-chip-label-text-font-weight, ${b.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-chip-label-text-line-height, ${b.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-chip-label-text-tracking, ${b.typescale.standard.label.large.tracking}); } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host(:not(m3e-chip):not(:disabled)[disabled-interactive]) { cursor: not-allowed; } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) .base { user-select: none; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; column-gap: var(--m3e-chip-spacing, 0.5rem); } .label { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host([variant="elevated"]) .base { background-color: var(--m3e-elevated-chip-container-color, ${b.color.surfaceContainerLow}); --m3e-elevation-level: var(--m3e-elevated-chip-elevation, ${b.elevation.level1}); --m3e-elevation-hover-level: var(--m3e-elevated-chip-hover-elevation, ${b.elevation.level2}); --m3e-elevation-focus-level: var(--m3e-elevated-chip-elevation, ${b.elevation.level1}); --m3e-elevation-pressed-level: var(--m3e-elevated-chip-elevation, ${b.elevation.level1}); } :host([variant="outlined"]) .base { outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-style: solid; outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: var(--m3e-outlined-chip-outline-color, ${b.color.outlineVariant}); } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: color-mix( in srgb, var(--m3e-outlined-chip-disabled-outline-color, ${b.color.onSurface}) var(--m3e-outlined-chip-disabled-outline-opacity, 12%), transparent ); } :host(:state(-with-icon)) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } :host(:not(:state(-with-icon))) .wrapper { padding-inline-start: var(--m3e-chip-padding-start, 1rem); } :host(:state(-with-trailing-icon)) .wrapper { padding-inline-end: var(--m3e-chip-with-icon-padding-end, 0.5rem); } :host(:not(:state(-with-trailing-icon))) .wrapper { padding-inline-end: var(--m3e-chip-padding-end, 1rem); } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]) { flex: none; width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem) !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-label-text-color, ${b.color.onSurface}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-icon-color, ${b.color.primary}); } :host(:disabled) .base, :host([disabled-interactive]) .base { color: color-mix( in srgb, var(--m3e-chip-disabled-label-text-color, ${b.color.onSurface}) var(--m3e-chip-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-chip-disabled-icon-color, ${b.color.onSurface}) var(--m3e-chip-disabled-icon-opacity, 38%), transparent ); } :host([variant="elevated"]:disabled) .base, :host([variant="elevated"][disabled-interactive]) .base { background-color: color-mix( in srgb, var(--m3e-elevated-chip-disabled-container-color, ${b.color.onSurface}) var(--m3e-elevated-chip-disabled-container-opacity, 12%), transparent ); --m3e-elevation-level: var(--m3e-elevated-chip-disabled-elevation, ${b.elevation.level0}); } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { transition: none; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: CanvasText; } :host(:disabled) .base, :host([disabled-interactive]) .base, :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: GrayText; } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: GrayText; } }`,i([D(".elevation")],Q.prototype,"_elevation",void 0),i([D(".focus-ring")],Q.prototype,"_focusRing",void 0),i([D(".state-layer")],Q.prototype,"_stateLayer",void 0),i([D(".ripple")],Q.prototype,"_ripple",void 0),i([P({reflect:!0})],Q.prototype,"variant",void 0),i([P()],Q.prototype,"value",null),Q=i([f("m3e-chip")],Q);let X=class extends(g(y(w($(x(k(S(Q,"button")))))))){_renderTrailingIcon(){return s}};X.formAssociated=!0,X=i([f("m3e-assist-chip")],X);let Y=class extends(C(o)){render(){return a`<slot></slot>`}};var ee,te,ie;Y.styles=l`:host { display: inline-flex; flex-wrap: wrap; vertical-align: middle; gap: var(--m3e-chip-set-spacing, 0.5rem); outline: none; } :host([vertical]) { flex-direction: column; }`,Y=i([f("m3e-chip-set")],Y);let oe=class extends(E(w($(x(k(S(Q,"radio"))))))){constructor(){super(...arguments),ee.add(this),te.set(this,t=>e(this,ee,"m",ie).call(this,t))}connectedCallback(){super.connectedCallback(),this.addEventListener("click",e(this,te,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",e(this,te,"f"))}update(e){super.update(e),e.has("selected")&&this.closest("m3e-filter-chip-set")?.[j].notifySelectionChange(this)}_renderIcon(){return a`<div class="icon" aria-hidden="true"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg> ${super._renderIcon()}</div>`}};var se,ae,ne,le,re,ce,de;te=new WeakMap,ee=new WeakSet,ie=function(e){if(e.defaultPrevented)return;const t=this.selected;this.selected=!this.selected,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?(this.closest("m3e-filter-chip-set")?.[j].notifySelectionChange(this),this.dispatchEvent(new Event("change",{bubbles:!0}))):this.selected=t},oe.formAssociated=!0,oe.styles=[Q.styles,l`:host([selected]:not(:state(-hide-selection))) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } .icon { display: flex; align-items: center; justify-content: center; } .check { width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem); } :host(:not(:disabled):not([disabled-interactive])) .check { color: var(--m3e-chip-selected-leading-icon-color, ${b.color.onSecondaryContainer}); } :host(:not([selected])) .check, :host(:state(-hide-selection)) .check, :host(:state(-hide-selection):not(:state(-with-icon))) .icon { display: none; } :host(:not(:state(-with-icon))) .icon { margin-inline-start: calc(0px - var(--m3e-chip-with-icon-padding-start, 0.5rem)); transition: margin-inline-start ${b.motion.spring.fastEffects}; } :host([selected]) .icon { margin-inline-start: 0; } :host([selected]:not(:state(-hide-selection))) ::slotted([slot="icon"]) { display: none !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-unselected-label-text-color, ${b.color.onSurfaceVariant}); --m3e-ripple-color: var(--m3e-chip-unselected-ripple-color, ${b.color.onSurfaceVariant}); --m3e-state-layer-focus-color: var( --m3e-chip-unselected-state-layer-focus-color, ${b.color.onSurfaceVariant} ); --m3e-state-layer-hover-color: var( --m3e-chip-unselected-state-layer-hover-color, ${b.color.onSurfaceVariant} ); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]) { color: var(--m3e-chip-unselected-leading-icon-color, ${b.color.primary}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-unselected-trailing-icon-color, ${b.color.onSurfaceVariant}); } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: unset; outline-width: var(--m3e-chip-selected-outline-thickness, 0); color: var(--m3e-chip-selected-label-text-color, ${b.color.onSecondaryContainer}); background-color: var(--m3e-chip-selected-container-color, ${b.color.secondaryContainer}); --m3e-state-layer-hover-color: var( --m3e-chip-selected-container-hover-color, ${b.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-chip-selected-container-focus-color, ${b.color.onSecondaryContainer} ); --m3e-elevation-hover-level: var(--m3e-chip-selected-hover-elevation, ${b.elevation.level1}); --m3e-ripple-color: var(--m3e-chip-selected-ripple-color, ${b.color.onSecondaryContainer}); --m3e-state-layer-focus-color: var( --m3e-chip-selected-state-layer-focus-color, ${b.color.onSecondaryContainer} ); --m3e-state-layer-hover-color: var( --m3e-chip-selected-state-layer-hover-color, ${b.color.onSecondaryContainer} ); } :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]) { color: var(--m3e-chip-selected-leading-icon-color, ${b.color.onSecondaryContainer}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-selected-trailing-icon-color, ${b.color.onSecondaryContainer}); } @media (prefers-reduced-motion) { .base, :host(:not(:state(-with-icon))) .icon { transition: none; } } @media (forced-colors: active) { :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base, :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="trailing-icon"]), :host(:not(:disabled):not([disabled-interactive])) .check { color: ButtonText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-color: ButtonText; } }`],oe=i([f("m3e-filter-chip")],oe);let he=class extends(I(A(L(W(k(r(S(Y,"radiogroup")))))))){constructor(){super(...arguments),se.add(this),ae.set(this,void 0),this[de]=(new U).onActiveItemChange(()=>this[j].activeItem?.focus()).withWrap().withDirectionality(q.current),this.multi=!1,this.hideSelectionIndicator=!1}get chips(){return this[j]?.items??[]}get selected(){return this[j]?.selectedItems??[]}get value(){const e=this.selected.filter(e=>!e.disabled).map(e=>e.value);switch(e.length){case 0:return null;case 1:return e[0];default:return e}}get[(ae=new WeakMap,se=new WeakSet,de=j,z)](){const e=this.value;if(Array.isArray(e)){const t=new FormData;for(const i of e)t.append(this.name,i);return t}return e}connectedCallback(){super.connectedCallback(),t(this,ae,q.observe(()=>this[j].directionality=q.current),"f")}disconnectedCallback(){super.disconnectedCallback(),e(this,ae,"f")?.call(this)}update(t){super.update(t),t.has("vertical")&&(this[j].vertical=this.vertical),t.has("disabled")&&(void 0!==t.get("disabled")||this.disabled)&&(this[j].disabled=this.disabled),t.has("multi")&&(this.role=this.multi?"group":"radiogroup",e(this,se,"m",ce).call(this),this[j].multi=this.multi,this[j].disableRovingTabIndex(this.multi)),(t.has("multi")||t.has("disabled"))&&(this.ariaDisabled=this.multi&&this.disabled?"true":null),t.has("hideSelectionIndicator")&&this.chips.forEach(e=>v(e,"-hide-selection",this.hideSelectionIndicator))}render(){return a`<slot @slotchange="${e(this,se,"m",ne)}" @keydown="${e(this,se,"m",le)}" @change="${e(this,se,"m",re)}"></slot>`}};var pe,ve,me,ue;ne=function(){const{added:t}=this[j].setItems([...this.querySelectorAll("m3e-filter-chip")]);t.forEach(e=>v(e,"-hide-selection",this.hideSelectionIndicator)),e(this,se,"m",ce).call(this)},le=function(e){this.multi||this[j].onKeyDown(e)},re=function(e){e.stopPropagation(),this.dispatchEvent(new Event("change",{bubbles:!0}))},ce=function(){this.chips.forEach(e=>e.role=this.multi?"button":"radio")},i([P({type:Boolean})],he.prototype,"multi",void 0),i([P({attribute:"hide-selection-indicator",type:Boolean})],he.prototype,"hideSelectionIndicator",void 0),he=i([f("m3e-filter-chip-set")],he);let be=class extends(_(x(k(S(Q,"row"))),"remove")){constructor(){super(...arguments),pe.add(this),this.removable=!1,this.removeLabel="Remove"}connectedCallback(){super.connectedCallback(),this.removeAttribute("tabindex")}update(e){super.update(e),this.removeAttribute("tabindex"),e.has("removable")&&v(this,"-with-trailing-icon",this.removable)}render(){return a`<div class="base"><m3e-elevation class="elevation" for="cell" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-elevation><m3e-state-layer class="state-layer" for="cell" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-state-layer><m3e-focus-ring class="focus-ring" for="cell" ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" for="cell" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-ripple><div class="wrapper"><div id="cell" class="cell" role="gridcell" tabindex="${F(this.disabled?void 0:"-1")}" @keydown="${e(this,pe,"m",ue)}"><slot name="avatar" @slotchange="${e(this,pe,"m",ve)}"></slot>${this._renderIcon()}<div class="label">${this._renderSlot()}</div><div class="touch" aria-hidden="true"></div></div>${this._renderTrailingIcon()}</div></div>`}_renderTrailingIcon(){return this.removable?a`<span role="gridcell" class="remove"><m3e-icon-button class="remove-button" aria-label="${this.removeLabel}" size="extra-small" tabindex="-1" ?disabled="${this.disabled}" ?disabled-interactive="${this.disabledInteractive}" @click="${e(this,pe,"m",me)}"><slot name="remove-icon"><svg class="remove-icon" viewBox="0 -960 960 960" fill="currentColor"><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg></slot></m3e-icon-button></span>`:s}};var fe,ge,ye,we,$e,xe,ke,Se,Ce,Ee,Ie,Ae,Le,We,ze,_e,Me,Te,Be,De,Pe,je,Ue,Ve;pe=new WeakSet,ve=function(e){v(this,"-with-avatar",m(e.target))},me=function(e){e.stopPropagation(),this.dispatchEvent(new Event("remove"))},ue=function(e){if(this.removable)switch(e.key){case"Backspace":case"Delete":this.dispatchEvent(new Event("remove"))}},be.formAssociated=!0,be.styles=[Q.styles,l`.cell { display: inline-flex; align-items: center; outline: none; column-gap: var(--m3e-chip-spacing, 0.5rem); min-width: 0; } .remove-button { --m3e-icon-button-extra-small-container-height: 1.5rem; --m3e-icon-button-extra-small-icon-size: var(--m3e-chip-icon-size, 1.125rem); width: 1.5rem; } .remove-icon { flex: none; width: var(--m3e-chip-icon-size, 1.125rem); height: var(--m3e-chip-icon-size, 1.125rem); } .touch { top: calc( 0px - calc(calc(3rem - calc(var(--m3e-chip-container-height, 2rem) + ${b.density.calc(-2)})) / 2) ); } .wrapper { height: 100%; overflow: visible; min-width: 0; } ::slotted([slot="avatar"]) { flex: none; font-size: var(--m3e-chip-avatar-size, 1.5rem); } ::slotted(m3e-avatar[slot="avatar"]) { --m3e-icon-size: var(--m3e-chip-avatar-icon-size, 1.125rem); --m3e-avatar-size: var(--m3e-chip-avatar-size, 1.5rem); --m3e-avatar-font-size: var( --m3e-chip-avatar-font-size, ${b.typescale.standard.title.small.fontSize} ); --m3e-avatar-font-weight: var( --m3e-chip-avatar-font-height, ${b.typescale.standard.title.small.fontWeight} ); --m3e-avatar-line-height: var( --m3e-chip-avatar-line-height, ${b.typescale.standard.title.small.lineHeight} ); --m3e-avatar-tracking: var(--m3e-chip-avatar-tracking, ${b.typescale.standard.title.small.tracking}); } :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { opacity: var(--m3e-chip-disabled-avatar-opacity, 38%); color: var(--m3e-chip-disabled-icon-color, ${b.color.onSurface}); } :host(:state(-with-avatar)) ::slotted([slot="icon"]) { display: none; } :host(:state(-with-avatar)) .wrapper { padding-inline-start: var(--m3e-chip-with-avatar-padding-start, 0.25rem); } @media (forced-colors: active) { :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { color: CanvasText; } }`],i([D(".cell")],be.prototype,"cell",void 0),i([D(".remove-button")],be.prototype,"removeButton",void 0),i([P({type:Boolean})],be.prototype,"removable",void 0),i([P({attribute:"remove-label"})],be.prototype,"removeLabel",void 0),be=i([f("m3e-input-chip")],be);let Oe=class extends(M(T(B(A(L(W(k(r(S(Y,"grid")))))))))){constructor(){super(...arguments),fe.add(this),ge.set(this,void 0),ye.set(this,()=>e(this,fe,"m",Ue).call(this)),we.set(this,t=>e(this,fe,"m",Ve).call(this,t)),$e.set(this,()=>e(this,fe,"m",Te).call(this)),xe.set(this,()=>e(this,fe,"m",Be).call(this)),ke.set(this,()=>e(this,fe,"m",De).call(this)),Se.set(this,t=>e(this,fe,"m",Pe).call(this,t)),Ce.set(this,t=>e(this,fe,"m",je).call(this,t)),Ee.set(this,new V),Ie.set(this,(new O).onActiveItemChange(()=>e(this,Ie,"f").activeItem?.focus()).withHomeAndEnd().withSkipPredicate(e=>!e.hasAttribute("tabindex")).withDirectionality(q.current)),Ae.set(this,!1),Le.set(this,null),We.set(this,0)}get chips(){return[...this.querySelectorAll("m3e-input-chip")]}get value(){const e=this.chips.filter(e=>!e.disabled).map(e=>e.value);return 0==e.length?null:e}get[(ge=new WeakMap,ye=new WeakMap,we=new WeakMap,$e=new WeakMap,xe=new WeakMap,ke=new WeakMap,Se=new WeakMap,Ce=new WeakMap,Ee=new WeakMap,Ie=new WeakMap,Ae=new WeakMap,Le=new WeakMap,We=new WeakMap,fe=new WeakSet,z)](){const e=this.value;if(!e)return null;const t=new FormData;for(const i of e)t.append(this.name,i);return t}get shouldLabelFloat(){return this.chips.length>0}onContainerClick(){e(this,Le,"f")?.focus()}connectedCallback(){super.connectedCallback(),customElements.get("m3e-form-field")?this.closest("m3e-form-field")?.notifyControlStateChange():customElements.whenDefined("m3e-form-field").then(()=>{this.closest("m3e-form-field")?.notifyControlStateChange()}),t(this,We,Number.parseInt(this.getAttribute("tabindex")??"0"),"f"),this.addEventListener("focus",e(this,$e,"f")),this.addEventListener("focusin",e(this,xe,"f")),this.addEventListener("focusout",e(this,ke,"f")),t(this,ge,q.observe(()=>e(this,Ie,"f").directionality=q.current),"f")}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",e(this,$e,"f")),this.removeEventListener("focusin",e(this,xe,"f")),this.removeEventListener("focusout",e(this,ke,"f")),e(this,ge,"f")?.call(this)}firstUpdated(t){super.firstUpdated(t),this.hasAttribute("tabindex")||this.setAttribute("tabindex",`${e(this,We,"f")}`)}update(t){super.update(t),t.has("vertical")&&(this.ariaOrientation=null),t.has("disabled")&&(e(this,Ee,"f").items.forEach(e=>e.disabled=this.disabled),e(this,Le,"f")&&(e(this,Le,"f").disabled=this.disabled))}render(){return a`<slot @keydown="${e(this,fe,"m",ze)}" @slotchange="${e(this,fe,"m",_e)}"></slot><span role="row"><span role="gridcell"><slot name="input" @slotchange="${e(this,fe,"m",Me)}"></slot></span></span>`}};ze=function(t){e(this,Ie,"f").onKeyDown(t)},_e=async function(){const{added:t,removed:i}=e(this,Ee,"f").setItems([...this.querySelectorAll("m3e-input-chip")]);for(const i of t)i.isUpdatePending&&await i.updateComplete,this.disabled&&(i.disabled=!0),i.addEventListener("remove",e(this,Se,"f")),i.cell.addEventListener("click",e(this,Ce,"f"));i.forEach(t=>{t.removeEventListener("remove",e(this,Se,"f")),t.cell.removeEventListener("click",e(this,Ce,"f"))}),e(this,Ie,"f").setItems(e(this,Ee,"f").items.flatMap(e=>e.removeButton?[e.cell,e.removeButton]:[e.cell])),e(this,Ie,"f").activeItem||e(this,Ie,"f").updateActiveItem(e(this,Ie,"f").items.find(e=>e.hasAttribute("tabindex")))},Me=function(){const i=this.querySelector("input");if(e(this,Le,"f")&&(e(this,Le,"f").removeEventListener("change",e(this,ye,"f")),e(this,Le,"f").removeEventListener("keydown",e(this,we,"f"))),t(this,Le,i,"f"),e(this,Le,"f")){e(this,Le,"f").disabled=this.disabled,e(this,Le,"f").addEventListener("change",e(this,ye,"f")),e(this,Le,"f").addEventListener("keydown",e(this,we,"f"));const t=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");Object.defineProperty(i,"value",{get:()=>t.get?.call(i),set:o=>{t.set?.call(i,o),e(this,Le,"f")!==i||e(this,Ae,"f")||e(this,fe,"m",Ue).call(this)}})}},Te=function(){setTimeout(()=>(e(this,Ie,"f").activeItem??e(this,Le,"f"))?.focus())},Be=function(){this.setAttribute("tabindex","-1")},De=function(){this.setAttribute("tabindex",`${e(this,We,"f")}`)},Pe=function(t){const i=t.target,o=e(this,Ee,"f").items.indexOf(i),s=e(this,Ee,"f").items.find((e,t)=>t>o&&!e.disabled&&e.removable);i.remove(),e(this,Ie,"f").setActiveItem(e(this,Ie,"f").items.find(e=>e===s?.removeButton)),e(this,Ie,"f").activeItem||e(this,Le,"f")?.focus(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{type:"remove",value:i.value,chip:i}}))},je=function(t){e(this,Ie,"f").updateActiveItem(t.composedPath().find(e=>e instanceof be)?.cell)},Ue=async function(){const i=e(this,Le,"f")?.value;if(!i)return;const o=document.createElement("m3e-input-chip");if(o.removable=!0,o.appendChild(document.createTextNode(i)),this.appendChild(o),o.isUpdatePending&&await o.updateComplete,e(this,Le,"f"))try{t(this,Ae,!0,"f"),e(this,Le,"f").value=""}finally{t(this,Ae,!1,"f")}this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{type:"add",value:i,chip:o}}))},Ve=function(t){if("Backspace"===t.key&&!e(this,Le,"f")?.value){const t=[...e(this,Ee,"f").items].reverse().find(e=>!e.disabled&&!e.disabledInteractive&&e.removable);t&&t.dispatchEvent(new Event("remove"))}},(()=>{if("undefined"!=typeof window){const e=new CSSStyleSheet;e.replaceSync(l`m3e-input-chip-set [slot="input"]::placeholder { user-select: none; color: currentColor; transition: opacity ${b.motion.duration.extraLong1}; } m3e-input-chip-set:not(:focus-within) [slot="input"]::placeholder { opacity: 0; transition: 0s; } m3e-input-chip-set:hover [slot="input"]::placeholder { transition: 0s; } @media (prefers-reduced-motion) { m3e-input-chip-set [slot="input"]::placeholder { transition: none !important; } }`.toString()),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}})(),Oe.styles=[Y.styles,l`::slotted([slot="input"]) { outline: unset; border: unset; background-color: transparent; box-shadow: none; font-family: inherit; font-size: inherit; line-height: initial; letter-spacing: inherit; color: var(--_form-field-input-color, inherit); flex: 1 1 auto; min-width: 0; padding: unset; } ::slotted(m3e-input-chip) { min-width: 0; } span[role="row"], span[role="gridcell"] { display: contents; }`],Oe=i([f("m3e-input-chip-set")],Oe);let qe=class extends(g(y(w($(x(k(S(Q,"button")))))))){_renderTrailingIcon(){return s}};qe.formAssociated=!0,qe=i([f("m3e-suggestion-chip")],qe);export{X as M3eAssistChipElement,Q as M3eChipElement,Y as M3eChipSetElement,oe as M3eFilterChipElement,he as M3eFilterChipSetElement,be as M3eInputChipElement,Oe as M3eInputChipSetElement,qe as M3eSuggestionChipElement};
7
7
  //# sourceMappingURL=chips.min.js.map