@limetech/lime-elements 37.1.0-next.2 → 37.1.0-next.21

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 (231) hide show
  1. package/dist/cjs/{checkbox.template-5603ad4a.js → checkbox.template-df6fc114.js} +4 -4
  2. package/dist/cjs/checkbox.template-df6fc114.js.map +1 -0
  3. package/dist/cjs/lime-elements.cjs.js +1 -1
  4. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +9 -1
  5. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js.map +1 -1
  6. package/dist/cjs/limel-action-bar.cjs.entry.js.map +1 -1
  7. package/dist/cjs/limel-button.cjs.entry.js +3 -52
  8. package/dist/cjs/limel-button.cjs.entry.js.map +1 -1
  9. package/dist/cjs/limel-checkbox.cjs.entry.js +3 -2
  10. package/dist/cjs/limel-checkbox.cjs.entry.js.map +1 -1
  11. package/dist/cjs/limel-circular-progress_2.cjs.entry.js +7 -1
  12. package/dist/cjs/limel-circular-progress_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/limel-collapsible-section.cjs.entry.js +10 -0
  14. package/dist/cjs/limel-collapsible-section.cjs.entry.js.map +1 -1
  15. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-color-picker-palette.cjs.entry.js.map +1 -1
  17. package/dist/cjs/limel-color-picker.cjs.entry.js +2 -2
  18. package/dist/cjs/limel-color-picker.cjs.entry.js.map +1 -1
  19. package/dist/cjs/limel-dock-button.cjs.entry.js +8 -2
  20. package/dist/cjs/limel-dock-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/limel-form.cjs.entry.js +15 -2
  22. package/dist/cjs/limel-form.cjs.entry.js.map +1 -1
  23. package/dist/cjs/limel-icon-button.cjs.entry.js +7 -0
  24. package/dist/cjs/limel-icon-button.cjs.entry.js.map +1 -1
  25. package/dist/cjs/limel-icon.cjs.entry.js +90 -8
  26. package/dist/cjs/limel-icon.cjs.entry.js.map +1 -1
  27. package/dist/cjs/limel-list_2.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-list_2.cjs.entry.js.map +1 -1
  29. package/dist/cjs/limel-portal.cjs.entry.js +15 -14
  30. package/dist/cjs/limel-portal.cjs.entry.js.map +1 -1
  31. package/dist/cjs/limel-slider.cjs.entry.js +136 -127
  32. package/dist/cjs/limel-slider.cjs.entry.js.map +1 -1
  33. package/dist/cjs/limel-switch.cjs.entry.js +23 -10
  34. package/dist/cjs/limel-switch.cjs.entry.js.map +1 -1
  35. package/dist/cjs/limel-table.cjs.entry.js +9 -1
  36. package/dist/cjs/limel-table.cjs.entry.js.map +1 -1
  37. package/dist/cjs/limel-tooltip_2.cjs.entry.js +16 -14
  38. package/dist/cjs/limel-tooltip_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/loader.cjs.js +1 -1
  40. package/dist/cjs/make-enter-clickable-59460fd6.js +80 -0
  41. package/dist/cjs/make-enter-clickable-59460fd6.js.map +1 -0
  42. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.css +1 -7
  43. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +11 -3
  44. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js.map +1 -1
  45. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  46. package/dist/collection/components/action-bar/action-bar.js +1 -2
  47. package/dist/collection/components/action-bar/action-bar.js.map +1 -1
  48. package/dist/collection/components/action-bar/action-bar.types.js.map +1 -1
  49. package/dist/collection/components/button/button.js +1 -1
  50. package/dist/collection/components/button/button.js.map +1 -1
  51. package/dist/collection/components/checkbox/checkbox.js +18 -1
  52. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  53. package/dist/collection/components/checkbox/checkbox.template.js +3 -3
  54. package/dist/collection/components/checkbox/checkbox.template.js.map +1 -1
  55. package/dist/collection/components/collapsible-section/collapsible-section.js +11 -1
  56. package/dist/collection/components/collapsible-section/collapsible-section.js.map +1 -1
  57. package/dist/collection/components/color-picker/color-picker-palette.css +46 -21
  58. package/dist/collection/components/color-picker/color-picker-palette.js +1 -1
  59. package/dist/collection/components/color-picker/color-picker-palette.js.map +1 -1
  60. package/dist/collection/components/color-picker/color-picker.css +29 -21
  61. package/dist/collection/components/color-picker/color-picker.js +1 -1
  62. package/dist/collection/components/color-picker/color-picker.js.map +1 -1
  63. package/dist/collection/components/dock/dock-button/dock-button.js +8 -2
  64. package/dist/collection/components/dock/dock-button/dock-button.js.map +1 -1
  65. package/dist/collection/components/form/fields/schema-field.js +13 -1
  66. package/dist/collection/components/form/fields/schema-field.js.map +1 -1
  67. package/dist/collection/components/form/form.css +4 -0
  68. package/dist/collection/components/form/widgets/select.js +1 -0
  69. package/dist/collection/components/form/widgets/select.js.map +1 -1
  70. package/dist/collection/components/icon/icon.js +1 -1
  71. package/dist/collection/components/icon/icon.js.map +1 -1
  72. package/dist/collection/components/icon-button/icon-button.js +7 -0
  73. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  74. package/dist/collection/components/linear-progress/linear-progress.js +9 -3
  75. package/dist/collection/components/linear-progress/linear-progress.js.map +1 -1
  76. package/dist/collection/components/list/list.js +1 -1
  77. package/dist/collection/components/list/list.js.map +1 -1
  78. package/dist/collection/components/portal/portal.js +41 -20
  79. package/dist/collection/components/portal/portal.js.map +1 -1
  80. package/dist/collection/components/slider/slider.js +140 -131
  81. package/dist/collection/components/slider/slider.js.map +1 -1
  82. package/dist/collection/components/switch/switch.css +22 -1
  83. package/dist/collection/components/switch/switch.js +50 -10
  84. package/dist/collection/components/switch/switch.js.map +1 -1
  85. package/dist/collection/components/table/table.css +43 -30
  86. package/dist/collection/components/table/table.js +8 -0
  87. package/dist/collection/components/table/table.js.map +1 -1
  88. package/dist/collection/components/tooltip/tooltip-content.css +1 -1
  89. package/dist/collection/components/tooltip/tooltip.css +3 -2
  90. package/dist/collection/components/tooltip/tooltip.js +41 -16
  91. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  92. package/dist/collection/global/{icon-cache.js → icon-cache/cache-storage-icon-cache.js} +4 -9
  93. package/dist/collection/global/icon-cache/cache-storage-icon-cache.js.map +1 -0
  94. package/dist/collection/global/icon-cache/factory.js +16 -0
  95. package/dist/collection/global/icon-cache/factory.js.map +1 -0
  96. package/dist/collection/global/icon-cache/in-memory-icon-cache.js +73 -0
  97. package/dist/collection/global/icon-cache/in-memory-icon-cache.js.map +1 -0
  98. package/dist/collection/util/make-enter-clickable.js +73 -0
  99. package/dist/collection/util/make-enter-clickable.js.map +1 -0
  100. package/dist/esm/{checkbox.template-a5d8a2bc.js → checkbox.template-c2d0fa10.js} +4 -4
  101. package/dist/esm/checkbox.template-c2d0fa10.js.map +1 -0
  102. package/dist/esm/lime-elements.js +1 -1
  103. package/dist/esm/limel-action-bar-item_2.entry.js +10 -2
  104. package/dist/esm/limel-action-bar-item_2.entry.js.map +1 -1
  105. package/dist/esm/limel-action-bar.entry.js.map +1 -1
  106. package/dist/esm/limel-button.entry.js +2 -51
  107. package/dist/esm/limel-button.entry.js.map +1 -1
  108. package/dist/esm/limel-checkbox.entry.js +3 -2
  109. package/dist/esm/limel-checkbox.entry.js.map +1 -1
  110. package/dist/esm/limel-circular-progress_2.entry.js +7 -1
  111. package/dist/esm/limel-circular-progress_2.entry.js.map +1 -1
  112. package/dist/esm/limel-collapsible-section.entry.js +11 -1
  113. package/dist/esm/limel-collapsible-section.entry.js.map +1 -1
  114. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  115. package/dist/esm/limel-color-picker-palette.entry.js.map +1 -1
  116. package/dist/esm/limel-color-picker.entry.js +2 -2
  117. package/dist/esm/limel-color-picker.entry.js.map +1 -1
  118. package/dist/esm/limel-dock-button.entry.js +8 -2
  119. package/dist/esm/limel-dock-button.entry.js.map +1 -1
  120. package/dist/esm/limel-form.entry.js +15 -2
  121. package/dist/esm/limel-form.entry.js.map +1 -1
  122. package/dist/esm/limel-icon-button.entry.js +7 -0
  123. package/dist/esm/limel-icon-button.entry.js.map +1 -1
  124. package/dist/esm/limel-icon.entry.js +90 -8
  125. package/dist/esm/limel-icon.entry.js.map +1 -1
  126. package/dist/esm/limel-list_2.entry.js +1 -1
  127. package/dist/esm/limel-list_2.entry.js.map +1 -1
  128. package/dist/esm/limel-portal.entry.js +15 -14
  129. package/dist/esm/limel-portal.entry.js.map +1 -1
  130. package/dist/esm/limel-slider.entry.js +136 -127
  131. package/dist/esm/limel-slider.entry.js.map +1 -1
  132. package/dist/esm/limel-switch.entry.js +24 -11
  133. package/dist/esm/limel-switch.entry.js.map +1 -1
  134. package/dist/esm/limel-table.entry.js +9 -1
  135. package/dist/esm/limel-table.entry.js.map +1 -1
  136. package/dist/esm/limel-tooltip_2.entry.js +16 -14
  137. package/dist/esm/limel-tooltip_2.entry.js.map +1 -1
  138. package/dist/esm/loader.js +1 -1
  139. package/dist/esm/make-enter-clickable-0473e94a.js +77 -0
  140. package/dist/esm/make-enter-clickable-0473e94a.js.map +1 -0
  141. package/dist/lime-elements/lime-elements.esm.js +1 -1
  142. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  143. package/dist/lime-elements/{p-c6d57502.entry.js → p-0d823554.entry.js} +2 -2
  144. package/dist/lime-elements/p-0d823554.entry.js.map +1 -0
  145. package/dist/lime-elements/p-15e3028f.entry.js +2 -0
  146. package/dist/lime-elements/p-15e3028f.entry.js.map +1 -0
  147. package/dist/lime-elements/{p-9c1db0e7.entry.js → p-3bb15bdf.entry.js} +2 -2
  148. package/dist/lime-elements/p-3bb15bdf.entry.js.map +1 -0
  149. package/dist/lime-elements/p-4607900f.entry.js +2 -0
  150. package/dist/lime-elements/p-4607900f.entry.js.map +1 -0
  151. package/dist/lime-elements/{p-71210c65.entry.js → p-55dcbc35.entry.js} +2 -2
  152. package/dist/lime-elements/{p-71210c65.entry.js.map → p-55dcbc35.entry.js.map} +1 -1
  153. package/dist/lime-elements/p-7cfc8998.js +2 -0
  154. package/dist/lime-elements/p-7cfc8998.js.map +1 -0
  155. package/dist/lime-elements/{p-bb1b12bb.entry.js → p-88e4eba7.entry.js} +8 -8
  156. package/dist/lime-elements/p-88e4eba7.entry.js.map +1 -0
  157. package/dist/lime-elements/{p-eae4f1ed.entry.js → p-8f08ca13.entry.js} +2 -2
  158. package/dist/lime-elements/p-8f08ca13.entry.js.map +1 -0
  159. package/dist/lime-elements/{p-7d159ddf.entry.js → p-95769bf5.entry.js} +2 -2
  160. package/dist/lime-elements/p-95769bf5.entry.js.map +1 -0
  161. package/dist/lime-elements/p-addb4c84.entry.js +2 -0
  162. package/dist/lime-elements/p-addb4c84.entry.js.map +1 -0
  163. package/dist/lime-elements/p-b714596f.entry.js.map +1 -1
  164. package/dist/lime-elements/p-c3e428ff.entry.js +2 -0
  165. package/dist/lime-elements/p-c3e428ff.entry.js.map +1 -0
  166. package/dist/lime-elements/{p-0f1a9472.entry.js → p-c6f8ea40.entry.js} +6 -6
  167. package/dist/lime-elements/p-c6f8ea40.entry.js.map +1 -0
  168. package/dist/lime-elements/p-d028b08d.js +2 -0
  169. package/dist/lime-elements/p-d028b08d.js.map +1 -0
  170. package/dist/lime-elements/{p-42f06b16.entry.js → p-d5298b7e.entry.js} +2 -2
  171. package/dist/lime-elements/p-d5298b7e.entry.js.map +1 -0
  172. package/dist/lime-elements/p-d8826406.entry.js +2 -0
  173. package/dist/lime-elements/p-d8826406.entry.js.map +1 -0
  174. package/dist/lime-elements/{p-be492c93.entry.js → p-d9d4b3bf.entry.js} +2 -2
  175. package/dist/lime-elements/{p-be492c93.entry.js.map → p-d9d4b3bf.entry.js.map} +1 -1
  176. package/dist/lime-elements/p-db30704e.entry.js +2 -0
  177. package/dist/lime-elements/p-db30704e.entry.js.map +1 -0
  178. package/dist/lime-elements/p-e0a0065f.entry.js +2 -0
  179. package/dist/lime-elements/p-e0a0065f.entry.js.map +1 -0
  180. package/dist/lime-elements/{p-a4c39571.entry.js → p-f1b0951f.entry.js} +5 -5
  181. package/dist/lime-elements/p-f1b0951f.entry.js.map +1 -0
  182. package/dist/types/components/action-bar/action-bar-item/action-bar-item.d.ts +3 -0
  183. package/dist/types/components/action-bar/action-bar.d.ts +0 -1
  184. package/dist/types/components/action-bar/action-bar.types.d.ts +12 -6
  185. package/dist/types/components/checkbox/checkbox.d.ts +17 -0
  186. package/dist/types/components/checkbox/checkbox.template.d.ts +1 -0
  187. package/dist/types/components/collapsible-section/collapsible-section.d.ts +3 -0
  188. package/dist/types/components/dock/dock-button/dock-button.d.ts +1 -0
  189. package/dist/types/components/icon-button/icon-button.d.ts +2 -0
  190. package/dist/types/components/linear-progress/linear-progress.d.ts +1 -0
  191. package/dist/types/components/list/list.d.ts +2 -1
  192. package/dist/types/components/portal/portal.d.ts +8 -3
  193. package/dist/types/components/slider/slider.d.ts +13 -11
  194. package/dist/types/components/switch/switch.d.ts +19 -1
  195. package/dist/types/components/tooltip/tooltip.d.ts +13 -6
  196. package/dist/types/components.d.ts +129 -29
  197. package/dist/types/global/{icon-cache.d.ts → icon-cache/cache-storage-icon-cache.d.ts} +2 -4
  198. package/dist/types/global/icon-cache/factory.d.ts +4 -0
  199. package/dist/types/global/icon-cache/in-memory-icon-cache.d.ts +15 -0
  200. package/dist/types/util/make-enter-clickable.d.ts +7 -0
  201. package/package.json +10 -10
  202. package/dist/cjs/checkbox.template-5603ad4a.js.map +0 -1
  203. package/dist/collection/global/icon-cache.js.map +0 -1
  204. package/dist/collection/util/makeEnterClickable.js +0 -51
  205. package/dist/collection/util/makeEnterClickable.js.map +0 -1
  206. package/dist/esm/checkbox.template-a5d8a2bc.js.map +0 -1
  207. package/dist/lime-elements/p-0f1a9472.entry.js.map +0 -1
  208. package/dist/lime-elements/p-149f2418.entry.js +0 -2
  209. package/dist/lime-elements/p-149f2418.entry.js.map +0 -1
  210. package/dist/lime-elements/p-42f06b16.entry.js.map +0 -1
  211. package/dist/lime-elements/p-7d159ddf.entry.js.map +0 -1
  212. package/dist/lime-elements/p-8be4072e.entry.js +0 -2
  213. package/dist/lime-elements/p-8be4072e.entry.js.map +0 -1
  214. package/dist/lime-elements/p-908640f6.entry.js +0 -2
  215. package/dist/lime-elements/p-908640f6.entry.js.map +0 -1
  216. package/dist/lime-elements/p-9c1db0e7.entry.js.map +0 -1
  217. package/dist/lime-elements/p-9ceb4364.entry.js +0 -2
  218. package/dist/lime-elements/p-9ceb4364.entry.js.map +0 -1
  219. package/dist/lime-elements/p-a4c39571.entry.js.map +0 -1
  220. package/dist/lime-elements/p-b2d4f3f0.js +0 -2
  221. package/dist/lime-elements/p-b2d4f3f0.js.map +0 -1
  222. package/dist/lime-elements/p-b3ff8fef.entry.js +0 -2
  223. package/dist/lime-elements/p-b3ff8fef.entry.js.map +0 -1
  224. package/dist/lime-elements/p-bb1b12bb.entry.js.map +0 -1
  225. package/dist/lime-elements/p-c018e82f.entry.js +0 -2
  226. package/dist/lime-elements/p-c018e82f.entry.js.map +0 -1
  227. package/dist/lime-elements/p-c6d57502.entry.js.map +0 -1
  228. package/dist/lime-elements/p-de4cb1ac.entry.js +0 -2
  229. package/dist/lime-elements/p-de4cb1ac.entry.js.map +0 -1
  230. package/dist/lime-elements/p-eae4f1ed.entry.js.map +0 -1
  231. package/dist/types/util/makeEnterClickable.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"names":["RadioButtonTemplate","props","h","class","disabled","type","id","checked","onChange","htmlFor","label","ListRenderer","constructor","this","defaultConfig","isOpen","badgeIcons","getIndexForWhichToApplyTabIndex","items","result","i","max","length","item","selected","undefined","renderListItem","index","role","includes","config","renderVariantListItem","classNames","hasPrimaryComponent","attributes","applyTabIndexToItemAtIndex","tabindex","Object","assign","icon","renderIcon","getPrimaryComponent","renderText","twoLines","avatarList","renderDivider","renderActionMenu","actions","_a","primaryComponent","name","isSimpleItem","text","secondaryText","style","iconColor","color","badge","size","iconSize","classes","openDirection","slot","itemTemplate","CheckboxTemplate","renderVariantListItemContent","hasIcons","render","some","selectableListTypes","selectable","commandKey","map","PrimaryComponent","listCss","ACTION_EVENT","listStrings","List","listRenderer","setup","setupList","setupListeners","element","shadowRoot","querySelector","mdcList","MDCList","hasTypeahead","unlisten","handleAction","multiple","listen","singleSelection","teardown","_b","destroy","event","handleSingleSelect","detail","handleMultiSelect","listItems","filter","isListItem","selectedItem","find","change","emit","selectedItems","listIndex","connectedCallback","disconnectedCallback","componentDidLoad","maxLinesSecondaryText","toFixed","html","Host","handleType","itemsChanged","selectedIndex","indexOf","findIndex","initializeListType","menuSurfaceCss","MenuSurface","menuElement","host","menuSurface","MDCMenuSurface","setAnchorCorner","Corner","TOP_START","document","addEventListener","handleDocumentClick","capture","handleKeyDown","window","handleResize","passive","removeEventListener","elementPath","path","open","isDescendant","target","allowClicksElement","clickedInAllowedElement","dismiss","preventClickEventPropagation","stopEvent","once","stopPropagation","preventDefault","isEscape","key","ESCAPE","keyCode","ESCAPE_KEY_CODE","isTab","TAB","TAB_KEY_CODE","classList"],"sources":["./src/components/list/radio-button/radio-button.template.tsx","./src/components/list/list-renderer.tsx","./src/components/list/list.scss?tag=limel-list&encapsulation=shadow","./src/components/list/list.tsx","./src/components/menu-surface/menu-surface.scss?tag=limel-menu-surface&encapsulation=shadow","./src/components/menu-surface/menu-surface.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\n\ninterface RadioButtonTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n}\n\nexport const RadioButtonTemplate: FunctionalComponent<\n RadioButtonTemplateProps\n> = (props) => {\n return (\n <div class=\"mdc-form-field\">\n <div\n class={`\n mdc-radio\n ${props.disabled ? 'mdc-radio--disabled' : ''}\n `}\n >\n <input\n class=\"mdc-radio__native-control\"\n type=\"radio\"\n id={props.id}\n checked={props.checked}\n disabled={props.disabled}\n onChange={props.onChange}\n />\n <div class=\"mdc-radio__background\">\n <div class=\"mdc-radio__outer-circle\" />\n <div class=\"mdc-radio__inner-circle\" />\n </div>\n </div>\n <label\n class={`${props.disabled ? 'disabled' : ''}`}\n htmlFor={props.id}\n >\n {props.label}\n </label>\n </div>\n );\n};\n","import { ListItem, ListSeparator, MenuItem } from '@limetech/lime-elements';\nimport { h } from '@stencil/core';\nimport { CheckboxTemplate } from '../checkbox/checkbox.template';\nimport { ListRendererConfig } from './list-renderer-config';\nimport { RadioButtonTemplate } from './radio-button/radio-button.template';\n\nexport class ListRenderer {\n private defaultConfig: ListRendererConfig = {\n isOpen: true,\n badgeIcons: false,\n };\n\n private config: ListRendererConfig;\n\n private hasIcons: boolean;\n private twoLines: boolean;\n private avatarList: boolean;\n private commandKey: boolean;\n\n private applyTabIndexToItemAtIndex: number;\n\n public render(\n items: Array<ListItem | ListSeparator>,\n config: ListRendererConfig = {}\n ) {\n items = items || [];\n this.config = { ...this.defaultConfig, ...config };\n\n this.twoLines = items.some((item) => {\n return 'secondaryText' in item && !!item.secondaryText;\n });\n\n this.hasIcons = items.some((item) => {\n return 'icon' in item && !!item.icon;\n });\n\n this.avatarList = this.config.badgeIcons && this.hasIcons;\n const selectableListTypes = ['selectable', 'radio', 'checkbox'];\n\n let role;\n switch (this.config.type) {\n case 'checkbox':\n role = 'group';\n break;\n case 'radio':\n role = 'radiogroup';\n break;\n default:\n role = 'listbox';\n }\n\n this.applyTabIndexToItemAtIndex =\n this.getIndexForWhichToApplyTabIndex(items);\n\n const classNames = {\n 'mdc-deprecated-list': true,\n 'mdc-deprecated-list--two-line': this.twoLines,\n selectable: selectableListTypes.includes(this.config.type),\n 'mdc-deprecated-list--avatar-list': this.avatarList,\n 'list--compact':\n this.twoLines &&\n this.commandKey &&\n ['small', 'x-small'].includes(this.config.iconSize),\n };\n\n return (\n <ul class={classNames} role={role} aria-orientation=\"vertical\">\n {items.map(this.renderListItem)}\n </ul>\n );\n }\n\n /**\n * Determine which ListItem should have the `tab-index` attribute set,\n * and return the index at which that ListItem is located in `items`.\n * Returns `undefined` if no item should have the attribute set.\n * See https://github.com/material-components/material-components-web/tree/e66a43a75fef4f9179e24856649518e15e279a04/packages/mdc-list#accessibility\n * @param {Array<ListItem | ListSeparator>} items the items of the list, including any `ListSeparator`:s\n * @returns {number} the index as per the description\n */\n private getIndexForWhichToApplyTabIndex = (\n items: Array<ListItem | ListSeparator>\n ) => {\n let result;\n for (let i = 0, max = items.length; i < max; i += 1) {\n if ('separator' in items[i]) {\n // Ignore ListSeparator\n } else {\n const item = items[i] as ListItem<any>;\n if (item.selected) {\n result = i;\n break;\n }\n\n if (result === undefined && !item.disabled) {\n result = i;\n // Do NOT break, as any later item with\n // `selected=true` should get the tab-index instead!\n }\n }\n }\n\n return result;\n };\n\n /**\n * Render a single list item\n * @param {ListItem | ListSeparator} item the item to render\n * @param {number} index the index the item had in the `items` array\n * @returns {HTMLElement} the list item\n */\n private renderListItem = (\n item: ListItem | ListSeparator,\n index: number\n ) => {\n if ('separator' in item) {\n return <li class=\"mdc-deprecated-list-divider\" role=\"separator\" />;\n }\n\n if (['radio', 'checkbox'].includes(this.config.type)) {\n return this.renderVariantListItem(this.config, item, index);\n }\n\n const classNames = {\n 'mdc-deprecated-list-item': true,\n 'mdc-deprecated-list-item--disabled': item.disabled,\n 'mdc-deprecated-list-item--selected': item.selected,\n 'has-primary-component': this.hasPrimaryComponent(item),\n };\n\n const attributes: { tabindex?: string } = {};\n if (index === this.applyTabIndexToItemAtIndex) {\n attributes.tabindex = '0';\n }\n\n return (\n <li\n class={classNames}\n aria-disabled={item.disabled ? 'true' : 'false'}\n aria-selected={item.selected ? 'true' : 'false'}\n data-index={index}\n {...attributes}\n >\n {item.icon ? this.renderIcon(this.config, item) : null}\n {this.getPrimaryComponent(item)}\n {this.renderText(item)}\n {this.twoLines && this.avatarList ? this.renderDivider() : null}\n {this.renderActionMenu(item.actions)}\n </li>\n );\n };\n\n private getPrimaryComponent(item: ListItem): Element {\n if (!this.hasPrimaryComponent(item)) {\n return;\n }\n\n const PrimaryComponent = item.primaryComponent.name;\n const props = item.primaryComponent.props;\n\n return <PrimaryComponent {...props} />;\n }\n\n private hasPrimaryComponent = (item: ListItem) => {\n return !!item?.primaryComponent?.name;\n };\n\n /**\n * Render the text of the list item\n * @param {ListItem} item the list item\n * @returns {HTMLElement | string} the text for the list item\n */\n private renderText = (item: ListItem) => {\n if (this.isSimpleItem(item)) {\n return (\n <span class=\"mdc-deprecated-list-item__text\">{item.text}</span>\n );\n }\n\n return (\n <div class=\"mdc-deprecated-list-item__text\">\n <div class=\"mdc-deprecated-list-item__primary-command-text\">\n <div class=\"mdc-deprecated-list-item__primary-text\">\n {item.text}\n </div>\n </div>\n <div class=\"mdc-deprecated-list-item__secondary-text\">\n {item.secondaryText}\n </div>\n </div>\n );\n };\n\n private isSimpleItem = (item: ListItem): boolean => {\n return !('secondaryText' in item);\n };\n\n /**\n * Render an icon for a list item\n * @param {ListRendererConfig} config the config object, passed on from the `renderListItem` function\n * @param {ListItem} item the list item\n * @returns {HTMLElement} the icon element\n */\n private renderIcon = (config: ListRendererConfig, item: ListItem) => {\n const style: any = {};\n if (item.iconColor) {\n if (config.badgeIcons) {\n style['--icon-background-color'] = item.iconColor;\n } else {\n style.color = item.iconColor;\n }\n }\n\n return (\n <limel-icon\n badge={config.badgeIcons}\n class=\"mdc-deprecated-list-item__graphic\"\n name={item.icon}\n style={style}\n size={config.iconSize}\n />\n );\n };\n\n private renderDivider = () => {\n const classes = {\n 'mdc-deprecated-list-divider': true,\n 'mdc-deprecated-list-divider--inset': true,\n };\n if (this.config.iconSize) {\n classes[this.config.iconSize] = true;\n }\n\n return <hr class={classes} />;\n };\n\n private renderActionMenu = (actions: Array<MenuItem | ListSeparator>) => {\n if (!actions || actions.length === 0) {\n return;\n }\n\n return (\n <limel-menu\n class=\"mdc-deprecated-list-item__meta\"\n items={actions}\n openDirection=\"left-start\"\n >\n <limel-icon-button\n class=\"action-menu-trigger\"\n slot=\"trigger\"\n icon=\"menu_2\"\n />\n </limel-menu>\n );\n };\n\n private renderVariantListItem = (\n config: ListRendererConfig,\n item: ListItem,\n index: number\n ) => {\n let itemTemplate;\n if (config.type === 'radio') {\n itemTemplate = (\n <RadioButtonTemplate\n id={`c_${index}`}\n checked={item.selected}\n disabled={item.disabled}\n />\n );\n } else if (config.type === 'checkbox') {\n itemTemplate = (\n <CheckboxTemplate\n id={`c_${index}`}\n checked={item.selected}\n disabled={item.disabled}\n />\n );\n }\n\n const classNames = {\n 'mdc-deprecated-list-item': true,\n 'mdc-deprecated-list-item--disabled': item.disabled,\n 'mdc-deprecated-list-item__text': !item.secondaryText,\n 'has-primary-component': this.hasPrimaryComponent(item),\n };\n\n const attributes: { tabindex?: string } = {};\n if (index === this.applyTabIndexToItemAtIndex) {\n attributes.tabindex = '0';\n }\n\n return (\n <li\n class={classNames}\n role={config.type}\n aria-checked={item.selected ? 'true' : 'false'}\n aria-disabled={item.disabled ? 'true' : 'false'}\n data-index={index}\n {...attributes}\n >\n {this.renderVariantListItemContent(config, item, itemTemplate)}\n </li>\n );\n };\n\n private renderVariantListItemContent = (\n config: ListRendererConfig,\n item: ListItem,\n itemTemplate: any\n ) => {\n if (this.hasIcons) {\n return [\n item.icon ? this.renderIcon(config, item) : null,\n this.getPrimaryComponent(item),\n this.renderText(item),\n <div class=\"mdc-deprecated-list-item__meta\">\n {itemTemplate}\n </div>,\n ];\n }\n\n return [\n <div class=\"mdc-deprecated-list-item__graphic\">{itemTemplate}</div>,\n this.getPrimaryComponent(item),\n this.renderText(item),\n ];\n };\n}\n","@use '../../style/functions';\n@use '../../style/mixins';\n\n@use '../../style/internal/lime-theme';\n@use '../checkbox/checkbox.scss';\n\n@use '@material/list';\n\n$list-border-radius: 0.375rem; // 6px\n$list--has-interactive-items--mdc-list-item--hover: 1;\n$list-static-actions-list: 1;\n$list-mdc-list-item: 0;\n\n/**\n * @prop --icon-background-color: Color to use for icon background when `badgeIcons=true`.\n * @prop --icon-color: Color to use for icon. Defaults to grey when `badgeIcons=false`. Defaults to white when `badgeIcons=true`.\n * @prop --list-grid-max-width: Maximum width of a list that has `has-grid-layout` class. Defaults to `100%`.\n * @prop --list-grid-item-max-width: Maximum width of items in a list that has `has-grid-layout` class. Defaults to `10rem`.\n * @prop --list-grid-item-min-width: Minimum width of items in a list that has `has-grid-layout` class. Defaults to `7.5rem`.\n * @prop --list-grid-gap: Distance between items in a list that has `has-grid-layout` class. Defaults to `0.75rem`.\n * @prop --list-background-color-of-odd-interactive-items: Background color of odd list items, when `has-striped-rows` class is applied to the component. Defaults to `--contrast-200`.\n * @prop --list-background-color-of-even-interactive-items: Background color of even list items, when `has-striped-rows` class is applied to the component. Defaults to `transparent`.\n * @prop --list-margin: Space around the list. Defaults to `0.25rem`, which visualizes keyboard-focused items in a better way, as it adds some space for the outline effect;\n */\n\n:host(limel-list) {\n display: block;\n isolation: isolate;\n @include checkbox.custom-checkbox-styles;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n@include list.deprecated-core-styles;\n\n.mdc-deprecated-list {\n --mdc-theme-text-icon-on-background: var(\n --icon-color,\n rgb(var(--contrast-900))\n );\n margin: var(\n --list-margin,\n 0.25rem\n ); // added space to visualize keyboard-focused items\n padding: 0;\n border-radius: $list-border-radius;\n\n .mdc-deprecated-list-divider {\n border-bottom-color: rgb(var(--contrast-400));\n }\n\n .mdc-deprecated-list-item {\n transition: background-color 0.2s ease;\n box-sizing: border-box;\n z-index: $list-mdc-list-item; // in Chrome on Windows, menus flicker when they have a scroll bar and user hovers on them. We may be able to remove this in future versions of Chrome. Kia 2021-May-12\n\n &:not(.mdc-deprecated-list-item--disabled) {\n &:hover {\n background-color: rgb(var(--contrast-300));\n z-index: 1;\n }\n }\n\n &.mdc-deprecated-list-item--disabled {\n cursor: not-allowed;\n\n limel-icon {\n opacity: 0.38; // similar to `mdc-deprecated-list-item__text` when disabled\n }\n }\n\n &:first-child {\n border-top-left-radius: $list-border-radius;\n border-top-right-radius: $list-border-radius;\n }\n &:last-child {\n border-bottom-right-radius: $list-border-radius;\n border-bottom-left-radius: $list-border-radius;\n }\n }\n\n &.selectable\n .mdc-deprecated-list-item:not(.mdc-deprecated-list-item--disabled) {\n cursor: pointer;\n }\n\n .mdc-deprecated-list-item__meta {\n // the action menu on the right side a list item\n line-height: 100%;\n margin-right: -0.5rem;\n }\n\n .mdc-deprecated-list-item__graphic {\n margin-right: functions.pxToRem(8);\n }\n\n &.mdc-deprecated-list--avatar-list {\n position: relative;\n\n limel-icon.mdc-deprecated-list-item__graphic {\n background-color: var(\n --icon-background-color,\n rgb(var(--contrast-900))\n );\n color: var(--icon-color, rgba(var(--color-white), 0.88));\n margin-right: functions.pxToRem(12);\n margin-left: functions.pxToRem(-4);\n }\n\n hr.mdc-deprecated-list-divider {\n position: absolute;\n bottom: 0;\n\n &.mdc-deprecated-list-divider--inset {\n --icon-width: #{functions.pxToRem(40)};\n --icon-right-padding: #{functions.pxToRem(12)};\n --list-right-padding: #{functions.pxToRem(12)};\n right: 0;\n width: calc(\n 100% - var(--icon-width) - var(--icon-right-padding) -\n var(--list-right-padding)\n );\n\n &.x-small {\n --icon-width: #{functions.pxToRem(24)};\n }\n\n &.small {\n --icon-width: #{functions.pxToRem(32)};\n }\n\n &.medium {\n --icon-width: #{functions.pxToRem(40)};\n }\n\n &.large {\n --icon-width: #{functions.pxToRem(48)};\n }\n }\n }\n\n .mdc-deprecated-list-item:last-child hr.mdc-deprecated-list-divider {\n display: none;\n }\n }\n\n &.mdc-deprecated-list--two-line {\n .mdc-deprecated-list-item__text {\n padding-top: functions.pxToRem(8);\n padding-bottom: functions.pxToRem(8);\n }\n .mdc-deprecated-list-item__primary-text {\n margin-bottom: functions.pxToRem(4);\n }\n }\n\n .mdc-deprecated-list-item__secondary-text,\n .mdc-deprecated-list-item__primary-text,\n .mdc-deprecated-list-item__command-text {\n margin: 0;\n &:before,\n &:after {\n display: none;\n }\n }\n\n .mdc-deprecated-list-item__command-text {\n color: rgb(var(--contrast-800));\n margin-left: 0.7rem;\n }\n\n .mdc-deprecated-list-item__text {\n align-self: center;\n width: 100%;\n }\n\n .has-primary-component {\n .mdc-deprecated-list-item__text {\n margin-left: 0.5rem;\n }\n }\n .mdc-deprecated-list-item__primary-command-text {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: baseline;\n }\n\n // Tweaks to display the icon correctly in Edge\n limel-icon.mdc-deprecated-list-item__graphic {\n display: block;\n }\n}\n\n.mdc-deprecated-list:not(.mdc-deprecated-list--avatar-list) {\n limel-icon.mdc-deprecated-list-item__graphic {\n // Tweaks to make icon lists align nicely with badge-icon lists.\n &[size='x-small'] {\n margin-right: functions.pxToRem(4);\n }\n &[size='small'] {\n margin-right: functions.pxToRem(8);\n }\n &[size='medium'] {\n margin-right: functions.pxToRem(8);\n }\n &[size='large'] {\n margin-right: functions.pxToRem(12);\n }\n }\n}\n\n.mdc-deprecated-list-item.mdc-deprecated-list-item--selected {\n &:before {\n background-color: var(--mdc-theme-primary);\n opacity: 0.15;\n }\n}\n\n:not(.mdc-deprecated-list--non-interactive) {\n > {\n :not(.mdc-deprecated-list-item--disabled).mdc-deprecated-list-item {\n @include mixins.visualize-keyboard-focus;\n\n &:focus-visible {\n border-radius: $list-border-radius;\n z-index: $list--has-interactive-items--mdc-list-item--hover;\n }\n }\n }\n}\n\n@import '../checkbox/checkbox.scss';\n\n@import './radio-button/radio-button.scss';\n\n@import './partial-styles/custom-styles.scss';\n@import './partial-styles/enable-multiline-text.scss';\n@import './partial-styles/_has-grid-layout.scss';\n@import './partial-styles/_static-actions.scss';\n","import {\n IconSize,\n ListItem,\n ListSeparator,\n ListType,\n} from '@limetech/lime-elements';\nimport { MDCList, MDCListActionEvent } from '@material/list';\nimport { strings as listStrings } from '@material/list/constants';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ListRenderer } from './list-renderer';\nimport { ListRendererConfig } from './list-renderer-config';\n\nconst { ACTION_EVENT } = listStrings;\n\n/**\n * @exampleComponent limel-example-list\n * @exampleComponent limel-example-list-secondary\n * @exampleComponent limel-example-list-selectable\n * @exampleComponent limel-example-list-icons\n * @exampleComponent limel-example-list-badge-icons\n * @exampleComponent limel-example-list-checkbox\n * @exampleComponent limel-example-list-checkbox-icons\n * @exampleComponent limel-example-list-radio-button\n * @exampleComponent limel-example-list-radio-button-icons\n * @exampleComponent limel-example-list-action\n * @exampleComponent limel-example-list-striped\n * @exampleComponent limel-example-list-badge-icons-with-multiple-lines\n * @exampleComponent limel-example-list-grid\n * @exampleComponent limel-example-list-primary-component\n */\n@Component({\n tag: 'limel-list',\n shadow: true,\n styleUrl: 'list.scss',\n})\nexport class List {\n /**\n * List of items to display\n */\n @Prop()\n public items: Array<ListItem | ListSeparator>;\n\n /**\n * Set to `true` if the list should display larger icons with a background\n */\n @Prop()\n public badgeIcons: boolean;\n\n /**\n * Size of the icons in the list\n */\n @Prop()\n public iconSize: IconSize = 'small';\n\n /**\n * The type of the list, omit to get a regular list. Available types are:\n * `selectable`: regular list with single selection.\n * `radio`: radio button list with single selection.\n * `checkbox`: checkbox list with multiple selection.\n */\n @Prop()\n public type: ListType;\n\n /**\n * By default, lists will display 3 lines of text, and then truncate the rest.\n * Consumers can increase or decrease this number by specifying\n * `maxLinesSecondaryText`. If consumer enters zero or negative\n * numbers we default to 1; and if they type decimals we round up.\n */\n // eslint-disable-next-line no-magic-numbers\n @Prop() maxLinesSecondaryText: number = 3;\n\n @Element()\n private element: HTMLLimelListElement;\n\n private config: ListRendererConfig;\n private listRenderer = new ListRenderer();\n private mdcList: MDCList;\n private multiple: boolean;\n private selectable: boolean;\n\n /**\n * Fired when a new value has been selected from the list. Only fired if selectable is set to true\n */\n @Event()\n private change: EventEmitter<ListItem | ListItem[]>;\n\n /**\n * Fired when an action has been selected from the action menu of a list item\n */\n @Event()\n protected select: EventEmitter<ListItem | ListItem[]>;\n\n public connectedCallback() {\n this.setup();\n }\n\n public disconnectedCallback() {\n this.teardown();\n }\n\n public componentDidLoad() {\n this.setup();\n }\n\n public render() {\n this.config = {\n badgeIcons: this.badgeIcons,\n type: this.type,\n iconSize: this.iconSize,\n };\n let maxLinesSecondaryText = +this.maxLinesSecondaryText?.toFixed();\n if (this.maxLinesSecondaryText < 1) {\n maxLinesSecondaryText = 1;\n }\n\n const html = this.listRenderer.render(this.items, this.config);\n\n return (\n <Host\n style={{\n '--maxLinesSecondaryText': `${maxLinesSecondaryText}`,\n }}\n >\n {html}\n </Host>\n );\n }\n\n @Watch('type')\n protected handleType() {\n this.setupListeners();\n }\n\n @Watch('items')\n protected itemsChanged() {\n if (!this.mdcList) {\n return;\n }\n\n const listItems = this.items.filter(this.isListItem);\n\n if (this.multiple) {\n this.mdcList.selectedIndex = listItems\n .filter((item: ListItem) => item.selected)\n .map((item: ListItem) => listItems.indexOf(item));\n } else {\n const selectedIndex = listItems.findIndex(\n (item: ListItem) => item.selected\n );\n\n if (selectedIndex === -1) {\n this.mdcList.initializeListType();\n } else {\n this.mdcList.selectedIndex = selectedIndex;\n }\n }\n }\n\n private setup = () => {\n this.setupList();\n\n this.setupListeners();\n };\n\n private setupList = () => {\n const element = this.element.shadowRoot.querySelector(\n '.mdc-deprecated-list'\n );\n if (!element) {\n return;\n }\n\n this.mdcList = new MDCList(element);\n this.mdcList.hasTypeahead = true;\n };\n\n private setupListeners = () => {\n if (!this.mdcList) {\n return;\n }\n\n this.mdcList.unlisten(ACTION_EVENT, this.handleAction);\n\n this.selectable = ['selectable', 'radio', 'checkbox'].includes(\n this.type\n );\n this.multiple = this.type === 'checkbox';\n\n if (!this.selectable) {\n return;\n }\n\n this.mdcList.listen(ACTION_EVENT, this.handleAction);\n this.mdcList.singleSelection = !this.multiple;\n };\n\n private teardown = () => {\n this.mdcList?.unlisten(ACTION_EVENT, this.handleAction);\n this.mdcList?.destroy();\n };\n\n private handleAction = (event: MDCListActionEvent) => {\n if (!this.multiple) {\n this.handleSingleSelect(event.detail.index);\n\n return;\n }\n\n this.handleMultiSelect(event.detail.index);\n };\n\n private handleSingleSelect = (index: number) => {\n const listItems = this.items.filter(this.isListItem) as ListItem[];\n if (listItems[index].disabled) {\n return;\n }\n\n const selectedItem: ListItem = listItems.find((item: ListItem) => {\n return !!item.selected;\n });\n\n if (selectedItem) {\n this.change.emit({ ...selectedItem, selected: false });\n }\n\n if (listItems[index] !== selectedItem) {\n this.change.emit({ ...listItems[index], selected: true });\n }\n };\n\n private handleMultiSelect = (index: number) => {\n const listItems = this.items.filter(this.isListItem) as ListItem[];\n if (listItems[index].disabled) {\n return;\n }\n\n const selectedItems: ListItem[] = listItems\n .filter((item: ListItem, listIndex: number) => {\n if (listIndex === index) {\n // This is the item that was selected or deselected,\n // so we negate its previous selection status.\n return !item.selected;\n }\n\n // This is an item that didn't change, so we keep its selection status.\n return item.selected;\n })\n .map((item: ListItem) => {\n return { ...item, selected: true };\n });\n\n this.change.emit(selectedItems);\n };\n\n private isListItem = (item: ListItem): boolean => {\n return !('separator' in item);\n };\n}\n","@use '@material/menu-surface';\n@use '@material/elevation';\n@use '@material/menu';\n\n:host {\n display: block;\n}\n\n@include menu-surface.core-styles;\n@include menu.core-styles;\n\n.mdc-menu-surface {\n max-height: 100%;\n position: relative;\n --mdc-menu-max-width: var(\n --menu-surface-width,\n min(calc(100vw - 2rem), 20rem)\n );\n background-color: var(--lime-elevated-surface-background-color);\n}\n\n:host(limel-menu-surface.has-grid-layout) {\n .mdc-menu-surface {\n width: var(--menu-surface-width, min(calc(100vw - 2rem), 40rem));\n max-width: unset;\n }\n}\n","import { Corner, MDCMenuSurface } from '@material/menu-surface';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n} from '@stencil/core';\nimport { isDescendant } from '../../util/dom';\nimport {\n ESCAPE,\n ESCAPE_KEY_CODE,\n TAB,\n TAB_KEY_CODE,\n} from '../../util/keycodes';\n\n/**\n * @slot - Content to put inside the surface\n * @private\n */\n@Component({\n tag: 'limel-menu-surface',\n shadow: true,\n styleUrl: 'menu-surface.scss',\n})\nexport class MenuSurface {\n /**\n * True if the menu surface is open, false otherwise\n */\n @Prop()\n public open = false;\n\n /**\n * Clicks in this element should not be prevented when the menu surface is open\n */\n @Prop()\n public allowClicksElement: HTMLElement;\n\n /**\n * Emitted when the menu surface is dismissed and should be closed\n */\n @Event()\n public dismiss: EventEmitter<void>;\n\n @Element()\n private host: HTMLLimelMenuSurfaceElement;\n\n private menuSurface: MDCMenuSurface;\n\n public connectedCallback() {\n this.setup();\n }\n\n public disconnectedCallback() {\n this.teardown();\n }\n\n public componentDidLoad() {\n this.setup();\n }\n\n public render() {\n const classList = {\n 'mdc-menu': true,\n 'mdc-menu-surface': true,\n 'mdc-menu-surface--open': this.open,\n 'mdc-elevation-transition': true,\n 'mdc-elevation--z4': true,\n };\n\n return (\n <div class={classList} tabindex=\"-1\">\n <slot />\n </div>\n );\n }\n\n private setup = () => {\n const menuElement: HTMLElement =\n this.host.shadowRoot.querySelector('.mdc-menu-surface');\n if (!menuElement) {\n return;\n }\n\n this.menuSurface = new MDCMenuSurface(menuElement);\n this.menuSurface.setAnchorCorner(Corner.TOP_START);\n\n document.addEventListener('mousedown', this.handleDocumentClick, {\n capture: true,\n });\n this.host.addEventListener('keydown', this.handleKeyDown);\n window.addEventListener('resize', this.handleResize, {\n passive: true,\n });\n };\n\n private teardown = () => {\n this.menuSurface?.destroy();\n document.removeEventListener('mousedown', this.handleDocumentClick, {\n capture: true,\n });\n this.host.removeEventListener('keydown', this.handleKeyDown);\n window.removeEventListener('resize', this.handleResize);\n };\n\n private handleDocumentClick = (event) => {\n const elementPath = event.path || [];\n\n if (!this.open) {\n return;\n }\n\n if (isDescendant(event.target, this.host)) {\n return;\n }\n\n if (this.allowClicksElement) {\n const clickedInAllowedElement = elementPath.includes(\n this.allowClicksElement\n );\n\n if (clickedInAllowedElement) {\n return;\n }\n }\n\n this.dismiss.emit();\n this.preventClickEventPropagation();\n };\n\n private handleResize = () => {\n if (this.open) {\n this.dismiss.emit();\n }\n };\n\n private preventClickEventPropagation = () => {\n // When the menu surface is open, we want to stop the `click` event from propagating\n // when clicking outside the surface itself. This is to prevent any dialog that might\n // be open from closing, etc. However, when dragging a scrollbar no `click` event is emitted,\n // only mousedown and mouseup. So we listen for `mousedown` and attach a one-time listener\n // for `click`, so we can capture and \"kill\" it.\n document.addEventListener('click', this.stopEvent, {\n capture: true,\n once: true,\n });\n // We also capture and \"kill\" the next `mouseup` event.\n document.addEventListener('mouseup', this.stopEvent, {\n capture: true,\n once: true,\n });\n // If the user dragged the scrollbar, no `click` event happens. So when we get the\n // `mouseup` event, remove the handler for `click` if it's still there.\n // Otherwise, we would catch the next click even though the menu is no longer open.\n document.addEventListener(\n 'mouseup',\n () => {\n document.removeEventListener('click', this.stopEvent, {\n capture: true,\n });\n },\n {\n once: true,\n }\n );\n };\n\n private stopEvent = (event) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const isEscape =\n event.key === ESCAPE || event.keyCode === ESCAPE_KEY_CODE;\n const isTab = event.key === TAB || event.keyCode === TAB_KEY_CODE;\n\n if (this.open && (isEscape || isTab)) {\n event.stopPropagation();\n this.dismiss.emit();\n }\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["RadioButtonTemplate","props","h","class","disabled","type","id","checked","onChange","htmlFor","label","ListRenderer","constructor","this","defaultConfig","isOpen","badgeIcons","getIndexForWhichToApplyTabIndex","items","result","i","max","length","item","selected","undefined","renderListItem","index","role","includes","config","renderVariantListItem","classNames","hasPrimaryComponent","attributes","applyTabIndexToItemAtIndex","tabindex","Object","assign","icon","renderIcon","getPrimaryComponent","renderText","twoLines","avatarList","renderDivider","renderActionMenu","actions","_a","primaryComponent","name","isSimpleItem","text","secondaryText","style","iconColor","color","badge","size","iconSize","classes","openDirection","slot","itemTemplate","CheckboxTemplate","renderVariantListItemContent","hasIcons","render","some","selectableListTypes","selectable","commandKey","map","PrimaryComponent","listCss","ACTION_EVENT","listStrings","List","listRenderer","setup","setupList","setupListeners","element","shadowRoot","querySelector","mdcList","MDCList","hasTypeahead","unlisten","handleAction","multiple","listen","singleSelection","teardown","_b","destroy","event","handleSingleSelect","detail","handleMultiSelect","listItems","filter","isListItem","selectedItem","find","change","emit","selectedItems","listIndex","connectedCallback","disconnectedCallback","componentDidLoad","maxLinesSecondaryText","toFixed","html","Host","handleType","itemsChanged","selectedIndex","indexOf","findIndex","initializeListType","menuSurfaceCss","MenuSurface","menuElement","host","menuSurface","MDCMenuSurface","setAnchorCorner","Corner","TOP_START","document","addEventListener","handleDocumentClick","capture","handleKeyDown","window","handleResize","passive","removeEventListener","elementPath","path","open","isDescendant","target","allowClicksElement","clickedInAllowedElement","dismiss","preventClickEventPropagation","stopEvent","once","stopPropagation","preventDefault","isEscape","key","ESCAPE","keyCode","ESCAPE_KEY_CODE","isTab","TAB","TAB_KEY_CODE","classList"],"sources":["./src/components/list/radio-button/radio-button.template.tsx","./src/components/list/list-renderer.tsx","./src/components/list/list.scss?tag=limel-list&encapsulation=shadow","./src/components/list/list.tsx","./src/components/menu-surface/menu-surface.scss?tag=limel-menu-surface&encapsulation=shadow","./src/components/menu-surface/menu-surface.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\n\ninterface RadioButtonTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n}\n\nexport const RadioButtonTemplate: FunctionalComponent<\n RadioButtonTemplateProps\n> = (props) => {\n return (\n <div class=\"mdc-form-field\">\n <div\n class={`\n mdc-radio\n ${props.disabled ? 'mdc-radio--disabled' : ''}\n `}\n >\n <input\n class=\"mdc-radio__native-control\"\n type=\"radio\"\n id={props.id}\n checked={props.checked}\n disabled={props.disabled}\n onChange={props.onChange}\n />\n <div class=\"mdc-radio__background\">\n <div class=\"mdc-radio__outer-circle\" />\n <div class=\"mdc-radio__inner-circle\" />\n </div>\n </div>\n <label\n class={`${props.disabled ? 'disabled' : ''}`}\n htmlFor={props.id}\n >\n {props.label}\n </label>\n </div>\n );\n};\n","import { ListItem, ListSeparator, MenuItem } from '@limetech/lime-elements';\nimport { h } from '@stencil/core';\nimport { CheckboxTemplate } from '../checkbox/checkbox.template';\nimport { ListRendererConfig } from './list-renderer-config';\nimport { RadioButtonTemplate } from './radio-button/radio-button.template';\n\nexport class ListRenderer {\n private defaultConfig: ListRendererConfig = {\n isOpen: true,\n badgeIcons: false,\n };\n\n private config: ListRendererConfig;\n\n private hasIcons: boolean;\n private twoLines: boolean;\n private avatarList: boolean;\n private commandKey: boolean;\n\n private applyTabIndexToItemAtIndex: number;\n\n public render(\n items: Array<ListItem | ListSeparator>,\n config: ListRendererConfig = {}\n ) {\n items = items || [];\n this.config = { ...this.defaultConfig, ...config };\n\n this.twoLines = items.some((item) => {\n return 'secondaryText' in item && !!item.secondaryText;\n });\n\n this.hasIcons = items.some((item) => {\n return 'icon' in item && !!item.icon;\n });\n\n this.avatarList = this.config.badgeIcons && this.hasIcons;\n const selectableListTypes = ['selectable', 'radio', 'checkbox'];\n\n let role;\n switch (this.config.type) {\n case 'checkbox':\n role = 'group';\n break;\n case 'radio':\n role = 'radiogroup';\n break;\n default:\n role = 'listbox';\n }\n\n this.applyTabIndexToItemAtIndex =\n this.getIndexForWhichToApplyTabIndex(items);\n\n const classNames = {\n 'mdc-deprecated-list': true,\n 'mdc-deprecated-list--two-line': this.twoLines,\n selectable: selectableListTypes.includes(this.config.type),\n 'mdc-deprecated-list--avatar-list': this.avatarList,\n 'list--compact':\n this.twoLines &&\n this.commandKey &&\n ['small', 'x-small'].includes(this.config.iconSize),\n };\n\n return (\n <ul class={classNames} role={role} aria-orientation=\"vertical\">\n {items.map(this.renderListItem)}\n </ul>\n );\n }\n\n /**\n * Determine which ListItem should have the `tab-index` attribute set,\n * and return the index at which that ListItem is located in `items`.\n * Returns `undefined` if no item should have the attribute set.\n * See https://github.com/material-components/material-components-web/tree/e66a43a75fef4f9179e24856649518e15e279a04/packages/mdc-list#accessibility\n * @param {Array<ListItem | ListSeparator>} items the items of the list, including any `ListSeparator`:s\n * @returns {number} the index as per the description\n */\n private getIndexForWhichToApplyTabIndex = (\n items: Array<ListItem | ListSeparator>\n ) => {\n let result;\n for (let i = 0, max = items.length; i < max; i += 1) {\n if ('separator' in items[i]) {\n // Ignore ListSeparator\n } else {\n const item = items[i] as ListItem<any>;\n if (item.selected) {\n result = i;\n break;\n }\n\n if (result === undefined && !item.disabled) {\n result = i;\n // Do NOT break, as any later item with\n // `selected=true` should get the tab-index instead!\n }\n }\n }\n\n return result;\n };\n\n /**\n * Render a single list item\n * @param {ListItem | ListSeparator} item the item to render\n * @param {number} index the index the item had in the `items` array\n * @returns {HTMLElement} the list item\n */\n private renderListItem = (\n item: ListItem | ListSeparator,\n index: number\n ) => {\n if ('separator' in item) {\n return <li class=\"mdc-deprecated-list-divider\" role=\"separator\" />;\n }\n\n if (['radio', 'checkbox'].includes(this.config.type)) {\n return this.renderVariantListItem(this.config, item, index);\n }\n\n const classNames = {\n 'mdc-deprecated-list-item': true,\n 'mdc-deprecated-list-item--disabled': item.disabled,\n 'mdc-deprecated-list-item--selected': item.selected,\n 'has-primary-component': this.hasPrimaryComponent(item),\n };\n\n const attributes: { tabindex?: string } = {};\n if (index === this.applyTabIndexToItemAtIndex) {\n attributes.tabindex = '0';\n }\n\n return (\n <li\n class={classNames}\n aria-disabled={item.disabled ? 'true' : 'false'}\n aria-selected={item.selected ? 'true' : 'false'}\n data-index={index}\n {...attributes}\n >\n {item.icon ? this.renderIcon(this.config, item) : null}\n {this.getPrimaryComponent(item)}\n {this.renderText(item)}\n {this.twoLines && this.avatarList ? this.renderDivider() : null}\n {this.renderActionMenu(item.actions)}\n </li>\n );\n };\n\n private getPrimaryComponent(item: ListItem): Element {\n if (!this.hasPrimaryComponent(item)) {\n return;\n }\n\n const PrimaryComponent = item.primaryComponent.name;\n const props = item.primaryComponent.props;\n\n return <PrimaryComponent {...props} />;\n }\n\n private hasPrimaryComponent = (item: ListItem) => {\n return !!item?.primaryComponent?.name;\n };\n\n /**\n * Render the text of the list item\n * @param {ListItem} item the list item\n * @returns {HTMLElement | string} the text for the list item\n */\n private renderText = (item: ListItem) => {\n if (this.isSimpleItem(item)) {\n return (\n <span class=\"mdc-deprecated-list-item__text\">{item.text}</span>\n );\n }\n\n return (\n <div class=\"mdc-deprecated-list-item__text\">\n <div class=\"mdc-deprecated-list-item__primary-command-text\">\n <div class=\"mdc-deprecated-list-item__primary-text\">\n {item.text}\n </div>\n </div>\n <div class=\"mdc-deprecated-list-item__secondary-text\">\n {item.secondaryText}\n </div>\n </div>\n );\n };\n\n private isSimpleItem = (item: ListItem): boolean => {\n return !('secondaryText' in item);\n };\n\n /**\n * Render an icon for a list item\n * @param {ListRendererConfig} config the config object, passed on from the `renderListItem` function\n * @param {ListItem} item the list item\n * @returns {HTMLElement} the icon element\n */\n private renderIcon = (config: ListRendererConfig, item: ListItem) => {\n const style: any = {};\n if (item.iconColor) {\n if (config.badgeIcons) {\n style['--icon-background-color'] = item.iconColor;\n } else {\n style.color = item.iconColor;\n }\n }\n\n return (\n <limel-icon\n badge={config.badgeIcons}\n class=\"mdc-deprecated-list-item__graphic\"\n name={item.icon}\n style={style}\n size={config.iconSize}\n />\n );\n };\n\n private renderDivider = () => {\n const classes = {\n 'mdc-deprecated-list-divider': true,\n 'mdc-deprecated-list-divider--inset': true,\n };\n if (this.config.iconSize) {\n classes[this.config.iconSize] = true;\n }\n\n return <hr class={classes} />;\n };\n\n private renderActionMenu = (actions: Array<MenuItem | ListSeparator>) => {\n if (!actions || actions.length === 0) {\n return;\n }\n\n return (\n <limel-menu\n class=\"mdc-deprecated-list-item__meta\"\n items={actions}\n openDirection=\"left-start\"\n >\n <limel-icon-button\n class=\"action-menu-trigger\"\n slot=\"trigger\"\n icon=\"menu_2\"\n />\n </limel-menu>\n );\n };\n\n private renderVariantListItem = (\n config: ListRendererConfig,\n item: ListItem,\n index: number\n ) => {\n let itemTemplate;\n if (config.type === 'radio') {\n itemTemplate = (\n <RadioButtonTemplate\n id={`c_${index}`}\n checked={item.selected}\n disabled={item.disabled}\n />\n );\n } else if (config.type === 'checkbox') {\n itemTemplate = (\n <CheckboxTemplate\n id={`c_${index}`}\n checked={item.selected}\n disabled={item.disabled}\n />\n );\n }\n\n const classNames = {\n 'mdc-deprecated-list-item': true,\n 'mdc-deprecated-list-item--disabled': item.disabled,\n 'mdc-deprecated-list-item__text': !item.secondaryText,\n 'has-primary-component': this.hasPrimaryComponent(item),\n };\n\n const attributes: { tabindex?: string } = {};\n if (index === this.applyTabIndexToItemAtIndex) {\n attributes.tabindex = '0';\n }\n\n return (\n <li\n class={classNames}\n role={config.type}\n aria-checked={item.selected ? 'true' : 'false'}\n aria-disabled={item.disabled ? 'true' : 'false'}\n data-index={index}\n {...attributes}\n >\n {this.renderVariantListItemContent(config, item, itemTemplate)}\n </li>\n );\n };\n\n private renderVariantListItemContent = (\n config: ListRendererConfig,\n item: ListItem,\n itemTemplate: any\n ) => {\n if (this.hasIcons) {\n return [\n item.icon ? this.renderIcon(config, item) : null,\n this.getPrimaryComponent(item),\n this.renderText(item),\n <div class=\"mdc-deprecated-list-item__meta\">\n {itemTemplate}\n </div>,\n ];\n }\n\n return [\n <div class=\"mdc-deprecated-list-item__graphic\">{itemTemplate}</div>,\n this.getPrimaryComponent(item),\n this.renderText(item),\n ];\n };\n}\n","@use '../../style/functions';\n@use '../../style/mixins';\n\n@use '../../style/internal/lime-theme';\n@use '../checkbox/checkbox.scss';\n\n@use '@material/list';\n\n$list-border-radius: 0.375rem; // 6px\n$list--has-interactive-items--mdc-list-item--hover: 1;\n$list-static-actions-list: 1;\n$list-mdc-list-item: 0;\n\n/**\n * @prop --icon-background-color: Color to use for icon background when `badgeIcons=true`.\n * @prop --icon-color: Color to use for icon. Defaults to grey when `badgeIcons=false`. Defaults to white when `badgeIcons=true`.\n * @prop --list-grid-max-width: Maximum width of a list that has `has-grid-layout` class. Defaults to `100%`.\n * @prop --list-grid-item-max-width: Maximum width of items in a list that has `has-grid-layout` class. Defaults to `10rem`.\n * @prop --list-grid-item-min-width: Minimum width of items in a list that has `has-grid-layout` class. Defaults to `7.5rem`.\n * @prop --list-grid-gap: Distance between items in a list that has `has-grid-layout` class. Defaults to `0.75rem`.\n * @prop --list-background-color-of-odd-interactive-items: Background color of odd list items, when `has-striped-rows` class is applied to the component. Defaults to `--contrast-200`.\n * @prop --list-background-color-of-even-interactive-items: Background color of even list items, when `has-striped-rows` class is applied to the component. Defaults to `transparent`.\n * @prop --list-margin: Space around the list. Defaults to `0.25rem`, which visualizes keyboard-focused items in a better way, as it adds some space for the outline effect;\n */\n\n:host(limel-list) {\n display: block;\n isolation: isolate;\n @include checkbox.custom-checkbox-styles;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n@include list.deprecated-core-styles;\n\n.mdc-deprecated-list {\n --mdc-theme-text-icon-on-background: var(\n --icon-color,\n rgb(var(--contrast-900))\n );\n margin: var(\n --list-margin,\n 0.25rem\n ); // added space to visualize keyboard-focused items\n padding: 0;\n border-radius: $list-border-radius;\n\n .mdc-deprecated-list-divider {\n border-bottom-color: rgb(var(--contrast-400));\n }\n\n .mdc-deprecated-list-item {\n transition: background-color 0.2s ease;\n box-sizing: border-box;\n z-index: $list-mdc-list-item; // in Chrome on Windows, menus flicker when they have a scroll bar and user hovers on them. We may be able to remove this in future versions of Chrome. Kia 2021-May-12\n\n &:not(.mdc-deprecated-list-item--disabled) {\n &:hover {\n background-color: rgb(var(--contrast-300));\n z-index: 1;\n }\n }\n\n &.mdc-deprecated-list-item--disabled {\n cursor: not-allowed;\n\n limel-icon {\n opacity: 0.38; // similar to `mdc-deprecated-list-item__text` when disabled\n }\n }\n\n &:first-child {\n border-top-left-radius: $list-border-radius;\n border-top-right-radius: $list-border-radius;\n }\n &:last-child {\n border-bottom-right-radius: $list-border-radius;\n border-bottom-left-radius: $list-border-radius;\n }\n }\n\n &.selectable\n .mdc-deprecated-list-item:not(.mdc-deprecated-list-item--disabled) {\n cursor: pointer;\n }\n\n .mdc-deprecated-list-item__meta {\n // the action menu on the right side a list item\n line-height: 100%;\n margin-right: -0.5rem;\n }\n\n .mdc-deprecated-list-item__graphic {\n margin-right: functions.pxToRem(8);\n }\n\n &.mdc-deprecated-list--avatar-list {\n position: relative;\n\n limel-icon.mdc-deprecated-list-item__graphic {\n background-color: var(\n --icon-background-color,\n rgb(var(--contrast-900))\n );\n color: var(--icon-color, rgba(var(--color-white), 0.88));\n margin-right: functions.pxToRem(12);\n margin-left: functions.pxToRem(-4);\n }\n\n hr.mdc-deprecated-list-divider {\n position: absolute;\n bottom: 0;\n\n &.mdc-deprecated-list-divider--inset {\n --icon-width: #{functions.pxToRem(40)};\n --icon-right-padding: #{functions.pxToRem(12)};\n --list-right-padding: #{functions.pxToRem(12)};\n right: 0;\n width: calc(\n 100% - var(--icon-width) - var(--icon-right-padding) -\n var(--list-right-padding)\n );\n\n &.x-small {\n --icon-width: #{functions.pxToRem(24)};\n }\n\n &.small {\n --icon-width: #{functions.pxToRem(32)};\n }\n\n &.medium {\n --icon-width: #{functions.pxToRem(40)};\n }\n\n &.large {\n --icon-width: #{functions.pxToRem(48)};\n }\n }\n }\n\n .mdc-deprecated-list-item:last-child hr.mdc-deprecated-list-divider {\n display: none;\n }\n }\n\n &.mdc-deprecated-list--two-line {\n .mdc-deprecated-list-item__text {\n padding-top: functions.pxToRem(8);\n padding-bottom: functions.pxToRem(8);\n }\n .mdc-deprecated-list-item__primary-text {\n margin-bottom: functions.pxToRem(4);\n }\n }\n\n .mdc-deprecated-list-item__secondary-text,\n .mdc-deprecated-list-item__primary-text,\n .mdc-deprecated-list-item__command-text {\n margin: 0;\n &:before,\n &:after {\n display: none;\n }\n }\n\n .mdc-deprecated-list-item__command-text {\n color: rgb(var(--contrast-800));\n margin-left: 0.7rem;\n }\n\n .mdc-deprecated-list-item__text {\n align-self: center;\n width: 100%;\n }\n\n .has-primary-component {\n .mdc-deprecated-list-item__text {\n margin-left: 0.5rem;\n }\n }\n .mdc-deprecated-list-item__primary-command-text {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: baseline;\n }\n\n // Tweaks to display the icon correctly in Edge\n limel-icon.mdc-deprecated-list-item__graphic {\n display: block;\n }\n}\n\n.mdc-deprecated-list:not(.mdc-deprecated-list--avatar-list) {\n limel-icon.mdc-deprecated-list-item__graphic {\n // Tweaks to make icon lists align nicely with badge-icon lists.\n &[size='x-small'] {\n margin-right: functions.pxToRem(4);\n }\n &[size='small'] {\n margin-right: functions.pxToRem(8);\n }\n &[size='medium'] {\n margin-right: functions.pxToRem(8);\n }\n &[size='large'] {\n margin-right: functions.pxToRem(12);\n }\n }\n}\n\n.mdc-deprecated-list-item.mdc-deprecated-list-item--selected {\n &:before {\n background-color: var(--mdc-theme-primary);\n opacity: 0.15;\n }\n}\n\n:not(.mdc-deprecated-list--non-interactive) {\n > {\n :not(.mdc-deprecated-list-item--disabled).mdc-deprecated-list-item {\n @include mixins.visualize-keyboard-focus;\n\n &:focus-visible {\n border-radius: $list-border-radius;\n z-index: $list--has-interactive-items--mdc-list-item--hover;\n }\n }\n }\n}\n\n@import '../checkbox/checkbox.scss';\n\n@import './radio-button/radio-button.scss';\n\n@import './partial-styles/custom-styles.scss';\n@import './partial-styles/enable-multiline-text.scss';\n@import './partial-styles/_has-grid-layout.scss';\n@import './partial-styles/_static-actions.scss';\n","import {\n IconSize,\n ListItem,\n ListSeparator,\n ListType,\n} from '@limetech/lime-elements';\nimport { MDCList, MDCListActionEvent } from '@material/list';\nimport { strings as listStrings } from '@material/list/constants';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ListRenderer } from './list-renderer';\nimport { ListRendererConfig } from './list-renderer-config';\n\nconst { ACTION_EVENT } = listStrings;\n\n/**\n * @exampleComponent limel-example-list\n * @exampleComponent limel-example-list-secondary\n * @exampleComponent limel-example-list-selectable\n * @exampleComponent limel-example-list-icons\n * @exampleComponent limel-example-list-badge-icons\n * @exampleComponent limel-example-list-checkbox\n * @exampleComponent limel-example-list-checkbox-icons\n * @exampleComponent limel-example-list-radio-button\n * @exampleComponent limel-example-list-radio-button-icons\n * @exampleComponent limel-example-list-action\n * @exampleComponent limel-example-list-striped\n * @exampleComponent limel-example-list-badge-icons-with-multiple-lines\n * @exampleComponent limel-example-list-grid\n * @exampleComponent limel-example-list-primary-component\n */\n@Component({\n tag: 'limel-list',\n shadow: true,\n styleUrl: 'list.scss',\n})\nexport class List {\n /**\n * List of items to display\n */\n @Prop()\n public items: Array<ListItem | ListSeparator>;\n\n /**\n * Set to `true` if the list should display larger icons with a background\n */\n @Prop()\n public badgeIcons: boolean;\n\n /**\n * Size of the icons in the list\n */\n @Prop()\n public iconSize: IconSize = 'small';\n\n /**\n * The type of the list, omit to get a regular list. Available types are:\n * `selectable`: regular list with single selection.\n * `radio`: radio button list with single selection.\n * `checkbox`: checkbox list with multiple selection.\n */\n @Prop()\n public type: ListType;\n\n /**\n * By default, lists will display 3 lines of text, and then truncate the rest.\n * Consumers can increase or decrease this number by specifying\n * `maxLinesSecondaryText`. If consumer enters zero or negative\n * numbers we default to 1; and if they type decimals we round up.\n */\n // eslint-disable-next-line no-magic-numbers\n @Prop() maxLinesSecondaryText: number = 3;\n\n @Element()\n private element: HTMLLimelListElement;\n\n private config: ListRendererConfig;\n private listRenderer = new ListRenderer();\n private mdcList: MDCList;\n private multiple: boolean;\n private selectable: boolean;\n\n /**\n * Fired when a new value has been selected from the list.\n * Only fired if `type` is set to `selectable`, `radio` or `checkbox`.\n */\n @Event()\n private change: EventEmitter<ListItem | ListItem[]>;\n\n /**\n * Fired when an action has been selected from the action menu of a list item\n */\n @Event()\n protected select: EventEmitter<ListItem | ListItem[]>;\n\n public connectedCallback() {\n this.setup();\n }\n\n public disconnectedCallback() {\n this.teardown();\n }\n\n public componentDidLoad() {\n this.setup();\n }\n\n public render() {\n this.config = {\n badgeIcons: this.badgeIcons,\n type: this.type,\n iconSize: this.iconSize,\n };\n let maxLinesSecondaryText = +this.maxLinesSecondaryText?.toFixed();\n if (this.maxLinesSecondaryText < 1) {\n maxLinesSecondaryText = 1;\n }\n\n const html = this.listRenderer.render(this.items, this.config);\n\n return (\n <Host\n style={{\n '--maxLinesSecondaryText': `${maxLinesSecondaryText}`,\n }}\n >\n {html}\n </Host>\n );\n }\n\n @Watch('type')\n protected handleType() {\n this.setupListeners();\n }\n\n @Watch('items')\n protected itemsChanged() {\n if (!this.mdcList) {\n return;\n }\n\n const listItems = this.items.filter(this.isListItem);\n\n if (this.multiple) {\n this.mdcList.selectedIndex = listItems\n .filter((item: ListItem) => item.selected)\n .map((item: ListItem) => listItems.indexOf(item));\n } else {\n const selectedIndex = listItems.findIndex(\n (item: ListItem) => item.selected\n );\n\n if (selectedIndex === -1) {\n this.mdcList.initializeListType();\n } else {\n this.mdcList.selectedIndex = selectedIndex;\n }\n }\n }\n\n private setup = () => {\n this.setupList();\n\n this.setupListeners();\n };\n\n private setupList = () => {\n const element = this.element.shadowRoot.querySelector(\n '.mdc-deprecated-list'\n );\n if (!element) {\n return;\n }\n\n this.mdcList = new MDCList(element);\n this.mdcList.hasTypeahead = true;\n };\n\n private setupListeners = () => {\n if (!this.mdcList) {\n return;\n }\n\n this.mdcList.unlisten(ACTION_EVENT, this.handleAction);\n\n this.selectable = ['selectable', 'radio', 'checkbox'].includes(\n this.type\n );\n this.multiple = this.type === 'checkbox';\n\n if (!this.selectable) {\n return;\n }\n\n this.mdcList.listen(ACTION_EVENT, this.handleAction);\n this.mdcList.singleSelection = !this.multiple;\n };\n\n private teardown = () => {\n this.mdcList?.unlisten(ACTION_EVENT, this.handleAction);\n this.mdcList?.destroy();\n };\n\n private handleAction = (event: MDCListActionEvent) => {\n if (!this.multiple) {\n this.handleSingleSelect(event.detail.index);\n\n return;\n }\n\n this.handleMultiSelect(event.detail.index);\n };\n\n private handleSingleSelect = (index: number) => {\n const listItems = this.items.filter(this.isListItem) as ListItem[];\n if (listItems[index].disabled) {\n return;\n }\n\n const selectedItem: ListItem = listItems.find((item: ListItem) => {\n return !!item.selected;\n });\n\n if (selectedItem) {\n this.change.emit({ ...selectedItem, selected: false });\n }\n\n if (listItems[index] !== selectedItem) {\n this.change.emit({ ...listItems[index], selected: true });\n }\n };\n\n private handleMultiSelect = (index: number) => {\n const listItems = this.items.filter(this.isListItem) as ListItem[];\n if (listItems[index].disabled) {\n return;\n }\n\n const selectedItems: ListItem[] = listItems\n .filter((item: ListItem, listIndex: number) => {\n if (listIndex === index) {\n // This is the item that was selected or deselected,\n // so we negate its previous selection status.\n return !item.selected;\n }\n\n // This is an item that didn't change, so we keep its selection status.\n return item.selected;\n })\n .map((item: ListItem) => {\n return { ...item, selected: true };\n });\n\n this.change.emit(selectedItems);\n };\n\n private isListItem = (item: ListItem): boolean => {\n return !('separator' in item);\n };\n}\n","@use '@material/menu-surface';\n@use '@material/elevation';\n@use '@material/menu';\n\n:host {\n display: block;\n}\n\n@include menu-surface.core-styles;\n@include menu.core-styles;\n\n.mdc-menu-surface {\n max-height: 100%;\n position: relative;\n --mdc-menu-max-width: var(\n --menu-surface-width,\n min(calc(100vw - 2rem), 20rem)\n );\n background-color: var(--lime-elevated-surface-background-color);\n}\n\n:host(limel-menu-surface.has-grid-layout) {\n .mdc-menu-surface {\n width: var(--menu-surface-width, min(calc(100vw - 2rem), 40rem));\n max-width: unset;\n }\n}\n","import { Corner, MDCMenuSurface } from '@material/menu-surface';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n} from '@stencil/core';\nimport { isDescendant } from '../../util/dom';\nimport {\n ESCAPE,\n ESCAPE_KEY_CODE,\n TAB,\n TAB_KEY_CODE,\n} from '../../util/keycodes';\n\n/**\n * @slot - Content to put inside the surface\n * @private\n */\n@Component({\n tag: 'limel-menu-surface',\n shadow: true,\n styleUrl: 'menu-surface.scss',\n})\nexport class MenuSurface {\n /**\n * True if the menu surface is open, false otherwise\n */\n @Prop()\n public open = false;\n\n /**\n * Clicks in this element should not be prevented when the menu surface is open\n */\n @Prop()\n public allowClicksElement: HTMLElement;\n\n /**\n * Emitted when the menu surface is dismissed and should be closed\n */\n @Event()\n public dismiss: EventEmitter<void>;\n\n @Element()\n private host: HTMLLimelMenuSurfaceElement;\n\n private menuSurface: MDCMenuSurface;\n\n public connectedCallback() {\n this.setup();\n }\n\n public disconnectedCallback() {\n this.teardown();\n }\n\n public componentDidLoad() {\n this.setup();\n }\n\n public render() {\n const classList = {\n 'mdc-menu': true,\n 'mdc-menu-surface': true,\n 'mdc-menu-surface--open': this.open,\n 'mdc-elevation-transition': true,\n 'mdc-elevation--z4': true,\n };\n\n return (\n <div class={classList} tabindex=\"-1\">\n <slot />\n </div>\n );\n }\n\n private setup = () => {\n const menuElement: HTMLElement =\n this.host.shadowRoot.querySelector('.mdc-menu-surface');\n if (!menuElement) {\n return;\n }\n\n this.menuSurface = new MDCMenuSurface(menuElement);\n this.menuSurface.setAnchorCorner(Corner.TOP_START);\n\n document.addEventListener('mousedown', this.handleDocumentClick, {\n capture: true,\n });\n this.host.addEventListener('keydown', this.handleKeyDown);\n window.addEventListener('resize', this.handleResize, {\n passive: true,\n });\n };\n\n private teardown = () => {\n this.menuSurface?.destroy();\n document.removeEventListener('mousedown', this.handleDocumentClick, {\n capture: true,\n });\n this.host.removeEventListener('keydown', this.handleKeyDown);\n window.removeEventListener('resize', this.handleResize);\n };\n\n private handleDocumentClick = (event) => {\n const elementPath = event.path || [];\n\n if (!this.open) {\n return;\n }\n\n if (isDescendant(event.target, this.host)) {\n return;\n }\n\n if (this.allowClicksElement) {\n const clickedInAllowedElement = elementPath.includes(\n this.allowClicksElement\n );\n\n if (clickedInAllowedElement) {\n return;\n }\n }\n\n this.dismiss.emit();\n this.preventClickEventPropagation();\n };\n\n private handleResize = () => {\n if (this.open) {\n this.dismiss.emit();\n }\n };\n\n private preventClickEventPropagation = () => {\n // When the menu surface is open, we want to stop the `click` event from propagating\n // when clicking outside the surface itself. This is to prevent any dialog that might\n // be open from closing, etc. However, when dragging a scrollbar no `click` event is emitted,\n // only mousedown and mouseup. So we listen for `mousedown` and attach a one-time listener\n // for `click`, so we can capture and \"kill\" it.\n document.addEventListener('click', this.stopEvent, {\n capture: true,\n once: true,\n });\n // We also capture and \"kill\" the next `mouseup` event.\n document.addEventListener('mouseup', this.stopEvent, {\n capture: true,\n once: true,\n });\n // If the user dragged the scrollbar, no `click` event happens. So when we get the\n // `mouseup` event, remove the handler for `click` if it's still there.\n // Otherwise, we would catch the next click even though the menu is no longer open.\n document.addEventListener(\n 'mouseup',\n () => {\n document.removeEventListener('click', this.stopEvent, {\n capture: true,\n });\n },\n {\n once: true,\n }\n );\n };\n\n private stopEvent = (event) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const isEscape =\n event.key === ESCAPE || event.keyCode === ESCAPE_KEY_CODE;\n const isTab = event.key === TAB || event.keyCode === TAB_KEY_CODE;\n\n if (this.open && (isEscape || isTab)) {\n event.stopPropagation();\n this.dismiss.emit();\n }\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{h as e}from"./p-3075aa67.js";const c=c=>{const r={};if(c.indeterminate){r["data-indeterminate"]="true"}return[e("div",{class:"mdc-form-field "},e("div",{class:{"mdc-checkbox":true,"mdc-checkbox--invalid":c.invalid,"mdc-checkbox--disabled":c.disabled,"mdc-checkbox--required":c.required,"mdc-checkbox--indeterminate":c.indeterminate,"lime-checkbox--readonly":c.readonly}},e("input",Object.assign({type:"checkbox",class:"mdc-checkbox__native-control",id:c.id,checked:c.checked,disabled:c.disabled||c.readonly,required:c.required,onChange:c.onChange,"aria-controls":c.helperTextId,"aria-describedby":c.helperTextId},r)),e("div",{class:"mdc-checkbox__background"},e("svg",{class:"mdc-checkbox__checkmark",viewBox:"0 0 24 24"},e("path",{class:"mdc-checkbox__checkmark-path",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"})),e("div",{class:"mdc-checkbox__mixedmark"}))),e("label",{class:{"mdc-checkbox--invalid":c.invalid,"mdc-checkbox--disabled":c.disabled,"mdc-checkbox--required":c.required,"mdc-checkbox--indeterminate":c.indeterminate,"lime-checkbox--readonly":c.readonly},htmlFor:c.id},c.label)),e(d,{text:c.helperText,helperTextId:c.helperTextId})]};const d=c=>{if(typeof c.text!=="string"){return}return e("limel-helper-line",{helperText:c.text.trim(),helperTextId:c.helperTextId})};export{c as C};
2
+ //# sourceMappingURL=p-7cfc8998.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CheckboxTemplate","props","inputProps","indeterminate","h","class","invalid","disabled","required","readonly","Object","assign","type","id","checked","onChange","helperTextId","viewBox","fill","d","htmlFor","label","HelperText","text","helperText","trim"],"sources":["./src/components/checkbox/checkbox.template.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\n\ninterface CheckboxTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n readonly?: boolean;\n indeterminate?: boolean;\n required?: boolean;\n invalid?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n helperText?: string;\n helperTextId?: string;\n}\n\nexport const CheckboxTemplate: FunctionalComponent<CheckboxTemplateProps> = (\n props\n) => {\n const inputProps = {};\n if (props.indeterminate) {\n inputProps['data-indeterminate'] = 'true';\n }\n\n return [\n <div class=\"mdc-form-field \">\n <div\n class={{\n 'mdc-checkbox': true,\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n id={props.id}\n checked={props.checked}\n disabled={props.disabled || props.readonly}\n required={props.required}\n onChange={props.onChange}\n aria-controls={props.helperTextId}\n aria-describedby={props.helperTextId}\n {...inputProps}\n />\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\" viewBox=\"0 0 24 24\">\n <path\n class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"\n />\n </svg>\n <div class=\"mdc-checkbox__mixedmark\" />\n </div>\n </div>\n <label\n class={{\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n htmlFor={props.id}\n >\n {props.label}\n </label>\n </div>,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{\n helperTextId: string;\n text: string;\n}> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={props.text.trim()}\n helperTextId={props.helperTextId}\n />\n );\n};\n"],"mappings":"0CAgBaA,EACTC,IAEA,MAAMC,EAAa,GACnB,GAAID,EAAME,cAAe,CACrBD,EAAW,sBAAwB,M,CAGvC,MAAO,CACHE,EAAA,OAAKC,MAAM,mBACPD,EAAA,OACIC,MAAO,CACH,eAAgB,KAChB,wBAAyBJ,EAAMK,QAC/B,yBAA0BL,EAAMM,SAChC,yBAA0BN,EAAMO,SAChC,8BAA+BP,EAAME,cACrC,0BAA2BF,EAAMQ,WAGrCL,EAAA,QAAAM,OAAAC,OAAA,CACIC,KAAK,WACLP,MAAM,+BACNQ,GAAIZ,EAAMY,GACVC,QAASb,EAAMa,QACfP,SAAUN,EAAMM,UAAYN,EAAMQ,SAClCD,SAAUP,EAAMO,SAChBO,SAAUd,EAAMc,SAAQ,gBACTd,EAAMe,aAAY,mBACff,EAAMe,cACpBd,IAERE,EAAA,OAAKC,MAAM,4BACPD,EAAA,OAAKC,MAAM,0BAA0BY,QAAQ,aACzCb,EAAA,QACIC,MAAM,+BACNa,KAAK,OACLC,EAAE,sCAGVf,EAAA,OAAKC,MAAM,8BAGnBD,EAAA,SACIC,MAAO,CACH,wBAAyBJ,EAAMK,QAC/B,yBAA0BL,EAAMM,SAChC,yBAA0BN,EAAMO,SAChC,8BAA+BP,EAAME,cACrC,0BAA2BF,EAAMQ,UAErCW,QAASnB,EAAMY,IAEdZ,EAAMoB,QAGfjB,EAACkB,EAAU,CACPC,KAAMtB,EAAMuB,WACZR,aAAcf,EAAMe,eAE3B,EAGL,MAAMM,EAGArB,IACF,UAAWA,EAAMsB,OAAS,SAAU,CAChC,M,CAGJ,OACInB,EAAA,qBACIoB,WAAYvB,EAAMsB,KAAKE,OACvBT,aAAcf,EAAMe,cACtB,S"}
@@ -1,4 +1,4 @@
1
- import{r as c,c as e,h as t,g as i}from"./p-3075aa67.js";import{c as r}from"./p-3ccdc4a3.js";import{_ as d,b as s,c as a,d as o,e as n,M as l,a as h}from"./p-48d4ef20.js";import{M as m,b as w}from"./p-cbc43682.js";import"./p-dcc97cc2.js";
1
+ import{r as c,c as e,h as t,H as i,g as r}from"./p-3075aa67.js";import{c as s}from"./p-3ccdc4a3.js";import{m as d,r as a}from"./p-d028b08d.js";import{_ as o,b as n,c as l,d as h,e as m,M as p,a as w}from"./p-48d4ef20.js";import{M as f,b as u}from"./p-cbc43682.js";import"./p-dcc97cc2.js";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,7 +12,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var p=function(c,e){p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,e){c.__proto__=e}||function(c,e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))c[t]=e[t]};return p(c,e)};function f(c,e){if(typeof e!=="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");p(c,e);function t(){this.constructor=c}c.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var u=function(){u=Object.assign||function c(e){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var d in t)if(Object.prototype.hasOwnProperty.call(t,d))e[d]=t[d]}return e};return u.apply(this,arguments)};
15
+ ***************************************************************************** */var b=function(c,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,e){c.__proto__=e}||function(c,e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))c[t]=e[t]};return b(c,e)};function v(c,e){if(typeof e!=="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");b(c,e);function t(){this.constructor=c}c.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var _=function(){_=Object.assign||function c(e){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s))e[s]=t[s]}return e};return _.apply(this,arguments)};
16
16
  /**
17
17
  * @license
18
18
  * Copyright 2021 Google Inc.
@@ -34,7 +34,7 @@ PERFORMANCE OF THIS SOFTWARE.
34
34
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
35
35
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
36
36
  * THE SOFTWARE.
37
- */var b;(function(c){c["PROCESSING"]="mdc-switch--processing";c["SELECTED"]="mdc-switch--selected";c["UNSELECTED"]="mdc-switch--unselected"})(b||(b={}));var v;(function(c){c["RIPPLE"]=".mdc-switch__ripple"})(v||(v={}));
37
+ */var g;(function(c){c["PROCESSING"]="mdc-switch--processing";c["SELECTED"]="mdc-switch--selected";c["UNSELECTED"]="mdc-switch--unselected"})(g||(g={}));var y;(function(c){c["RIPPLE"]=".mdc-switch__ripple"})(y||(y={}));
38
38
  /**
39
39
  * @license
40
40
  * Copyright 2021 Google Inc.
@@ -56,7 +56,7 @@ PERFORMANCE OF THIS SOFTWARE.
56
56
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
57
57
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
58
58
  * THE SOFTWARE.
59
- */function _(c,e,t){var i=y(c,e);var r=i.getObservers(e);r.push(t);return function(){r.splice(r.indexOf(t),1)}}var g=new WeakMap;function y(c,e){var t=new Map;if(!g.has(c)){g.set(c,{isEnabled:true,getObservers:function(c){var e=t.get(c)||[];if(!t.has(c)){t.set(c,e)}return e},installedProperties:new Set})}var i=g.get(c);if(i.installedProperties.has(e)){return i}var r=k(c,e)||{configurable:true,enumerable:true,value:c[e],writable:true};var a=d({},r);var o=r.get,n=r.set;if("value"in r){delete a.value;delete a.writable;var l=r.value;o=function(){return l};if(r.writable){n=function(c){l=c}}}if(o){a.get=function(){return o.call(this)}}if(n){a.set=function(c){var t,r;var d=o?o.call(this):c;n.call(this,c);if(i.isEnabled&&(!o||c!==d)){try{for(var a=s(i.getObservers(e)),l=a.next();!l.done;l=a.next()){var h=l.value;h(c,d)}}catch(c){t={error:c}}finally{try{if(l&&!l.done&&(r=a.return))r.call(a)}finally{if(t)throw t.error}}}}}i.installedProperties.add(e);Object.defineProperty(c,e,a);return i}function k(c,e){var t=c;var i;while(t){i=Object.getOwnPropertyDescriptor(t,e);if(i){break}t=Object.getPrototypeOf(t)}return i}function x(c,e){var t=g.get(c);if(t){t.isEnabled=e}}
59
+ */function k(c,e,t){var i=z(c,e);var r=i.getObservers(e);r.push(t);return function(){r.splice(r.indexOf(t),1)}}var x=new WeakMap;function z(c,e){var t=new Map;if(!x.has(c)){x.set(c,{isEnabled:true,getObservers:function(c){var e=t.get(c)||[];if(!t.has(c)){t.set(c,e)}return e},installedProperties:new Set})}var i=x.get(c);if(i.installedProperties.has(e)){return i}var r=j(c,e)||{configurable:true,enumerable:true,value:c[e],writable:true};var s=o({},r);var d=r.get,a=r.set;if("value"in r){delete s.value;delete s.writable;var l=r.value;d=function(){return l};if(r.writable){a=function(c){l=c}}}if(d){s.get=function(){return d.call(this)}}if(a){s.set=function(c){var t,r;var s=d?d.call(this):c;a.call(this,c);if(i.isEnabled&&(!d||c!==s)){try{for(var o=n(i.getObservers(e)),l=o.next();!l.done;l=o.next()){var h=l.value;h(c,s)}}catch(c){t={error:c}}finally{try{if(l&&!l.done&&(r=o.return))r.call(o)}finally{if(t)throw t.error}}}}}i.installedProperties.add(e);Object.defineProperty(c,e,s);return i}function j(c,e){var t=c;var i;while(t){i=Object.getOwnPropertyDescriptor(t,e);if(i){break}t=Object.getPrototypeOf(t)}return i}function T(c,e){var t=x.get(c);if(t){t.isEnabled=e}}
60
60
  /**
61
61
  * @license
62
62
  * Copyright 2021 Google Inc.
@@ -78,7 +78,7 @@ PERFORMANCE OF THIS SOFTWARE.
78
78
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
79
79
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
80
80
  * THE SOFTWARE.
81
- */var z=function(c){a(e,c);function e(e){var t=c.call(this,e)||this;t.unobserves=new Set;return t}e.prototype.destroy=function(){c.prototype.destroy.call(this);this.unobserve()};e.prototype.observe=function(c,e){var t,i;var r=this;var d=[];try{for(var a=s(Object.keys(e)),o=a.next();!o.done;o=a.next()){var n=o.value;var l=e[n].bind(this);d.push(this.observeProperty(c,n,l))}}catch(c){t={error:c}}finally{try{if(o&&!o.done&&(i=a.return))i.call(a)}finally{if(t)throw t.error}}var h=function(){var c,e;try{for(var t=s(d),i=t.next();!i.done;i=t.next()){var a=i.value;a()}}catch(e){c={error:e}}finally{try{if(i&&!i.done&&(e=t.return))e.call(t)}finally{if(c)throw c.error}}r.unobserves.delete(h)};this.unobserves.add(h);return h};e.prototype.observeProperty=function(c,e,t){return _(c,e,t)};e.prototype.setObserversEnabled=function(c,e){x(c,e)};e.prototype.unobserve=function(){var c,e;try{for(var t=s(o([],n(this.unobserves))),i=t.next();!i.done;i=t.next()){var r=i.value;r()}}catch(e){c={error:e}}finally{try{if(i&&!i.done&&(e=t.return))e.call(t)}finally{if(c)throw c.error}}};return e}(l);
81
+ */var O=function(c){l(e,c);function e(e){var t=c.call(this,e)||this;t.unobserves=new Set;return t}e.prototype.destroy=function(){c.prototype.destroy.call(this);this.unobserve()};e.prototype.observe=function(c,e){var t,i;var r=this;var s=[];try{for(var d=n(Object.keys(e)),a=d.next();!a.done;a=d.next()){var o=a.value;var l=e[o].bind(this);s.push(this.observeProperty(c,o,l))}}catch(c){t={error:c}}finally{try{if(a&&!a.done&&(i=d.return))i.call(d)}finally{if(t)throw t.error}}var h=function(){var c,e;try{for(var t=n(s),i=t.next();!i.done;i=t.next()){var d=i.value;d()}}catch(e){c={error:e}}finally{try{if(i&&!i.done&&(e=t.return))e.call(t)}finally{if(c)throw c.error}}r.unobserves.delete(h)};this.unobserves.add(h);return h};e.prototype.observeProperty=function(c,e,t){return k(c,e,t)};e.prototype.setObserversEnabled=function(c,e){T(c,e)};e.prototype.unobserve=function(){var c,e;try{for(var t=n(h([],m(this.unobserves))),i=t.next();!i.done;i=t.next()){var r=i.value;r()}}catch(e){c={error:e}}finally{try{if(i&&!i.done&&(e=t.return))e.call(t)}finally{if(c)throw c.error}}};return e}(p);
82
82
  /**
83
83
  * @license
84
84
  * Copyright 2021 Google Inc.
@@ -100,7 +100,7 @@ PERFORMANCE OF THIS SOFTWARE.
100
100
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
101
101
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
102
102
  * THE SOFTWARE.
103
- */var j=function(c){f(e,c);function e(e){var t=c.call(this,e)||this;t.handleClick=t.handleClick.bind(t);return t}e.prototype.init=function(){this.observe(this.adapter.state,{disabled:this.stopProcessingIfDisabled,processing:this.stopProcessingIfDisabled})};e.prototype.handleClick=function(){if(this.adapter.state.disabled){return}this.adapter.state.selected=!this.adapter.state.selected};e.prototype.stopProcessingIfDisabled=function(){if(this.adapter.state.disabled){this.adapter.state.processing=false}};return e}(z);var O=function(c){f(e,c);function e(){return c!==null&&c.apply(this,arguments)||this}e.prototype.init=function(){c.prototype.init.call(this);this.observe(this.adapter.state,{disabled:this.onDisabledChange,processing:this.onProcessingChange,selected:this.onSelectedChange})};e.prototype.initFromDOM=function(){this.setObserversEnabled(this.adapter.state,false);this.adapter.state.selected=this.adapter.hasClass(b.SELECTED);this.onSelectedChange();this.adapter.state.disabled=this.adapter.isDisabled();this.adapter.state.processing=this.adapter.hasClass(b.PROCESSING);this.setObserversEnabled(this.adapter.state,true);this.stopProcessingIfDisabled()};e.prototype.onDisabledChange=function(){this.adapter.setDisabled(this.adapter.state.disabled)};e.prototype.onProcessingChange=function(){this.toggleClass(this.adapter.state.processing,b.PROCESSING)};e.prototype.onSelectedChange=function(){this.adapter.setAriaChecked(String(this.adapter.state.selected));this.toggleClass(this.adapter.state.selected,b.SELECTED);this.toggleClass(!this.adapter.state.selected,b.UNSELECTED)};e.prototype.toggleClass=function(c,e){if(c){this.adapter.addClass(e)}else{this.adapter.removeClass(e)}};return e}(j);
103
+ */var X=function(c){v(e,c);function e(e){var t=c.call(this,e)||this;t.handleClick=t.handleClick.bind(t);return t}e.prototype.init=function(){this.observe(this.adapter.state,{disabled:this.stopProcessingIfDisabled,processing:this.stopProcessingIfDisabled})};e.prototype.handleClick=function(){if(this.adapter.state.disabled){return}this.adapter.state.selected=!this.adapter.state.selected};e.prototype.stopProcessingIfDisabled=function(){if(this.adapter.state.disabled){this.adapter.state.processing=false}};return e}(O);var C=function(c){v(e,c);function e(){return c!==null&&c.apply(this,arguments)||this}e.prototype.init=function(){c.prototype.init.call(this);this.observe(this.adapter.state,{disabled:this.onDisabledChange,processing:this.onProcessingChange,selected:this.onSelectedChange})};e.prototype.initFromDOM=function(){this.setObserversEnabled(this.adapter.state,false);this.adapter.state.selected=this.adapter.hasClass(g.SELECTED);this.onSelectedChange();this.adapter.state.disabled=this.adapter.isDisabled();this.adapter.state.processing=this.adapter.hasClass(g.PROCESSING);this.setObserversEnabled(this.adapter.state,true);this.stopProcessingIfDisabled()};e.prototype.onDisabledChange=function(){this.adapter.setDisabled(this.adapter.state.disabled)};e.prototype.onProcessingChange=function(){this.toggleClass(this.adapter.state.processing,g.PROCESSING)};e.prototype.onSelectedChange=function(){this.adapter.setAriaChecked(String(this.adapter.state.selected));this.toggleClass(this.adapter.state.selected,g.SELECTED);this.toggleClass(!this.adapter.state.selected,g.UNSELECTED)};e.prototype.toggleClass=function(c,e){if(c){this.adapter.addClass(e)}else{this.adapter.removeClass(e)}};return e}(X);
104
104
  /**
105
105
  * @license
106
106
  * Copyright 2021 Google Inc.
@@ -122,5 +122,5 @@ PERFORMANCE OF THIS SOFTWARE.
122
122
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
123
123
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
124
124
  * THE SOFTWARE.
125
- */var T=function(c){f(e,c);function e(e,t){var i=c.call(this,e,t)||this;i.root=e;return i}e.attachTo=function(c){return new e(c)};e.prototype.initialize=function(){this.ripple=new m(this.root,this.createRippleFoundation())};e.prototype.initialSyncWithDOM=function(){var c=this.root.querySelector(v.RIPPLE);if(!c){throw new Error("Switch "+v.RIPPLE+" element is required.")}this.rippleElement=c;this.root.addEventListener("click",this.foundation.handleClick);this.foundation.initFromDOM()};e.prototype.destroy=function(){c.prototype.destroy.call(this);this.ripple.destroy();this.root.removeEventListener("click",this.foundation.handleClick)};e.prototype.getDefaultFoundation=function(){return new O(this.createAdapter())};e.prototype.createAdapter=function(){var c=this;return{addClass:function(e){c.root.classList.add(e)},hasClass:function(e){return c.root.classList.contains(e)},isDisabled:function(){return c.root.disabled},removeClass:function(e){c.root.classList.remove(e)},setAriaChecked:function(e){return c.root.setAttribute("aria-checked",e)},setDisabled:function(e){c.root.disabled=e},state:this}};e.prototype.createRippleFoundation=function(){return new w(this.createRippleAdapter())};e.prototype.createRippleAdapter=function(){var c=this;return u(u({},m.createAdapter(this)),{computeBoundingRect:function(){return c.rippleElement.getBoundingClientRect()},isUnbounded:function(){return true}})};return e}(h);const X=':host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color, #fff)}.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(-100%)}[dir=rtl] .mdc-switch__track::after,.mdc-switch__track[dir=rtl]::after{transform:translateX(100%);}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track[dir=rtl]::before{transform:translateX(-100%);}.mdc-switch--selected .mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0)}[dir=rtl] .mdc-switch__handle-track,.mdc-switch__handle-track[dir=rtl]{left:auto;right:0;}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track,.mdc-switch--selected .mdc-switch__handle-track[dir=rtl]{transform:translateX(-100%);}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto}[dir=rtl] .mdc-switch__handle,.mdc-switch__handle[dir=rtl]{left:auto;right:0;}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1), border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mdc-switch{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-switch .mdc-switch__ripple::before,.mdc-switch .mdc-switch__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-switch .mdc-switch__ripple::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-switch .mdc-switch__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-switch.mdc-ripple-upgraded--unbounded .mdc-switch__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-switch.mdc-ripple-upgraded--foreground-activation .mdc-switch__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-switch.mdc-ripple-upgraded--foreground-deactivation .mdc-switch__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch .mdc-switch__ripple::before,.mdc-switch .mdc-switch__ripple::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::before,.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch{width:36px;width:var(--mdc-switch-track-width, 36px)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:#26a69a;background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:#26534f;background:var(--mdc-switch-selected-hover-handle-color, #26534f)}.mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:#26534f;background:var(--mdc-switch-selected-focus-handle-color, #26534f)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:#26534f;background:var(--mdc-switch-selected-pressed-handle-color, #26534f)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:#424242;background:var(--mdc-switch-disabled-selected-handle-color, #424242)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:#616161;background:var(--mdc-switch-unselected-handle-color, #616161)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-hover-handle-color, #212121)}.mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-focus-handle-color, #212121)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-pressed-handle-color, #212121)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:#424242;background:var(--mdc-switch-disabled-unselected-handle-color, #424242)}.mdc-switch .mdc-switch__handle::before{background:#fff;background:var(--mdc-switch-handle-surface-color, var(--mdc-theme-surface, #fff))}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-handle-elevation, var(--mdc-elevation-box-shadow-for-gss));--mdc-elevation-box-shadow-for-gss:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-disabled-handle-elevation, var(--mdc-elevation-box-shadow-for-gss));--mdc-elevation-box-shadow-for-gss:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12)}.mdc-switch .mdc-switch__handle{height:20px;height:var(--mdc-switch-handle-height, 20px)}.mdc-switch:disabled .mdc-switch__handle::after{opacity:0.38;opacity:var(--mdc-switch-disabled-handle-opacity, 0.38)}.mdc-switch .mdc-switch__handle{border-radius:10px;border-radius:var(--mdc-switch-handle-shape, 10px)}.mdc-switch .mdc-switch__handle{width:20px;width:var(--mdc-switch-handle-width, 20px)}.mdc-switch .mdc-switch__handle-track{width:calc(100% - 20px);width:calc(100% - var(--mdc-switch-handle-width, 20px))}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-disabled-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-disabled-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:0.38;opacity:var(--mdc-switch-disabled-selected-icon-opacity, 0.38)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:0.38;opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 0.38)}.mdc-switch.mdc-switch--selected .mdc-switch__icon{width:18px;width:var(--mdc-switch-selected-icon-size, 18px);height:18px;height:var(--mdc-switch-selected-icon-size, 18px)}.mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:18px;width:var(--mdc-switch-unselected-icon-size, 18px);height:18px;height:var(--mdc-switch-unselected-icon-size, 18px)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:#26a69a;background-color:var(--mdc-switch-selected-hover-state-layer-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background-color:#26a69a;background-color:var(--mdc-switch-selected-focus-state-layer-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background-color:#26a69a;background-color:var(--mdc-switch-selected-pressed-state-layer-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:#424242;background-color:var(--mdc-switch-unselected-hover-state-layer-color, #424242)}.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background-color:#424242;background-color:var(--mdc-switch-unselected-focus-state-layer-color, #424242)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background-color:#424242;background-color:var(--mdc-switch-unselected-pressed-state-layer-color, #424242)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:0.04;opacity:var(--mdc-switch-selected-hover-state-layer-opacity, 0.04)}.mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-switch-selected-focus-state-layer-opacity, 0.12)}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:0.1;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:0.04;opacity:var(--mdc-switch-unselected-hover-state-layer-opacity, 0.04)}.mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity, 0.12)}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:0.1;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mdc-switch .mdc-switch__ripple{height:48px;height:var(--mdc-switch-state-layer-size, 48px);width:48px;width:var(--mdc-switch-state-layer-size, 48px)}.mdc-switch .mdc-switch__track{height:14px;height:var(--mdc-switch-track-height, 14px)}.mdc-switch:disabled .mdc-switch__track{opacity:0.12;opacity:var(--mdc-switch-disabled-track-opacity, 0.12)}.mdc-switch:enabled .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-track-color, #c1f1ec)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-hover-track-color, #c1f1ec)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-focus-track-color, #c1f1ec)}.mdc-switch:enabled:active .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-pressed-track-color, #c1f1ec)}.mdc-switch:disabled .mdc-switch__track::after{background:#424242;background:var(--mdc-switch-disabled-selected-track-color, #424242)}.mdc-switch:enabled .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-track-color, #e0e0e0)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-hover-track-color, #e0e0e0)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-focus-track-color, #e0e0e0)}.mdc-switch:enabled:active .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-pressed-track-color, #e0e0e0)}.mdc-switch:disabled .mdc-switch__track::before{background:#424242;background:var(--mdc-switch-disabled-unselected-track-color, #424242)}.mdc-switch .mdc-switch__track{border-radius:7px;border-radius:var(--mdc-switch-track-shape, 7px)}@media screen and (forced-colors: active), (-ms-high-contrast: active){.mdc-switch:enabled .mdc-switch__shadow{}.mdc-switch:disabled .mdc-switch__shadow{}.mdc-switch:disabled .mdc-switch__handle::after{opacity:1;opacity:var(--mdc-switch-disabled-handle-opacity, 1)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:ButtonText;fill:var(--mdc-switch-selected-icon-color, ButtonText)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:GrayText;fill:var(--mdc-switch-disabled-selected-icon-color, GrayText)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:ButtonText;fill:var(--mdc-switch-unselected-icon-color, ButtonText)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:GrayText;fill:var(--mdc-switch-disabled-unselected-icon-color, GrayText)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:1;opacity:var(--mdc-switch-disabled-selected-icon-opacity, 1)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:1;opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 1)}.mdc-switch:disabled .mdc-switch__track{opacity:1;opacity:var(--mdc-switch-disabled-track-opacity, 1)}}:host(limel-switch){display:inline-flex;align-items:center;--mdc-switch-selected-icon-color:transparent;--mdc-switch-unselected-icon-color:transparent;--mdc-switch-disabled-selected-icon-opacity:1;--mdc-switch-disabled-unselected-icon-opacity:1;--mdc-switch-selected-icon-size:0.75rem;--mdc-switch-unselected-icon-size:0.75rem;--mdc-switch-track-height:1.25rem;--mdc-switch-track-shape:var(--mdc-switch-track-height);--mdc-switch-unselected-focus-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-focus-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-pressed-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-pressed-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-hover-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-hover-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-track-color:rgb(var(--contrast-700));--mdc-switch-unselected-focus-track-color:rgb(var(--contrast-800));--mdc-switch-unselected-pressed-track-color:rgb(var(--contrast-800));--mdc-switch-unselected-hover-track-color:rgb(var(--contrast-800));--mdc-switch-selected-focus-track-color:var(--mdc-theme-primary);--mdc-switch-selected-pressed-track-color:var(--mdc-theme-primary);--mdc-switch-selected-track-color:var(--mdc-theme-primary);--mdc-switch-selected-hover-track-color:var(--mdc-theme-primary);--mdc-switch-handle-elevation:var(--button-shadow-normal);--mdc-switch-disabled-track-opacity:0.4}.mdc-switch{margin-right:0.5rem}.mdc-switch:hover{--mdc-switch-handle-elevation:var(--button-shadow-hovered)}label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.8125rem;font-size:var(--mdc-typography-body2-font-size, 0.8125rem);line-height:1.625rem;line-height:var(--mdc-typography-body2-line-height, 1.625rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:0.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, 0.0178571429em);text-decoration:inherit;text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform, inherit);color:var(--mdc-theme-on-surface);cursor:pointer}label.disabled{cursor:not-allowed;pointer-events:none;opacity:0.4}.mdc-switch.mdc-switch--selected .mdc-switch__handle:after,.mdc-switch.mdc-switch--selected .mdc-switch__handle:before,.mdc-switch.mdc-switch.mdc-switch--unselected .mdc-switch__handle:after,.mdc-switch.mdc-switch.mdc-switch--unselected .mdc-switch__handle:before{transform:scale(0.8)}.mdc-switch .mdc-switch__shadow{transform:scale(0.8)}.mdc-switch.lime-switch--readonly{--mdc-switch-disabled-selected-track-color:var(--mdc-theme-primary);--mdc-switch-disabled-unselected-track-color:rgb(\n var(--color-red-default)\n );--mdc-switch-handle-surface-color:transparent;--mdc-switch-disabled-selected-handle-color:transparent;--mdc-switch-disabled-unselected-handle-color:transparent;--mdc-switch-disabled-track-opacity:1}.mdc-switch.lime-switch--readonly+label.disabled{cursor:default;opacity:1}';const C=class{constructor(t){c(this,t);this.change=e(this,"change",7);this.handleClick=c=>{c.stopPropagation();this.change.emit(!this.value)};this.label=undefined;this.disabled=false;this.readonly=false;this.value=false;this.fieldId=r()}connectedCallback(){this.initialize()}componentDidLoad(){this.initialize()}initialize(){const c=this.host.shadowRoot.querySelector(".mdc-switch");if(!c){return}this.mdcSwitch=new T(c)}disconnectedCallback(){var c;(c=this.mdcSwitch)===null||c===void 0?void 0:c.destroy()}render(){return[t("button",{id:this.fieldId,class:{"mdc-switch":true,"lime-switch--readonly":this.readonly,"mdc-switch--unselected":!this.value,"mdc-switch--selected":this.value},type:"button",role:"switch","aria-checked":this.value,disabled:this.disabled||this.readonly,onClick:this.handleClick},t("div",{class:"mdc-switch__track"}),t("div",{class:"mdc-switch__handle-track"},t("div",{class:"mdc-switch__handle"},t("div",{class:"mdc-switch__shadow"},t("div",{class:"mdc-elevation-overlay"})),t("div",{class:"mdc-switch__ripple"}),t("div",{class:"mdc-switch__icons"},t("svg",{class:"mdc-switch__icon mdc-switch__icon--on",viewBox:"0 0 24 24"},t("path",{d:"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"})),t("svg",{class:"mdc-switch__icon mdc-switch__icon--off",viewBox:"0 0 24 24"},t("path",{d:"M20 13H4v-2h16v2z"})))))),t("label",{class:`${this.disabled||this.readonly?"disabled":""}`,htmlFor:this.fieldId},this.label)]}valueWatcher(c){if(!this.mdcSwitch){return}this.mdcSwitch.selected=c}get host(){return i(this)}static get watchers(){return{value:["valueWatcher"]}}};C.style=X;export{C as limel_switch};
126
- //# sourceMappingURL=p-bb1b12bb.entry.js.map
125
+ */var B=function(c){v(e,c);function e(e,t){var i=c.call(this,e,t)||this;i.root=e;return i}e.attachTo=function(c){return new e(c)};e.prototype.initialize=function(){this.ripple=new f(this.root,this.createRippleFoundation())};e.prototype.initialSyncWithDOM=function(){var c=this.root.querySelector(y.RIPPLE);if(!c){throw new Error("Switch "+y.RIPPLE+" element is required.")}this.rippleElement=c;this.root.addEventListener("click",this.foundation.handleClick);this.foundation.initFromDOM()};e.prototype.destroy=function(){c.prototype.destroy.call(this);this.ripple.destroy();this.root.removeEventListener("click",this.foundation.handleClick)};e.prototype.getDefaultFoundation=function(){return new C(this.createAdapter())};e.prototype.createAdapter=function(){var c=this;return{addClass:function(e){c.root.classList.add(e)},hasClass:function(e){return c.root.classList.contains(e)},isDisabled:function(){return c.root.disabled},removeClass:function(e){c.root.classList.remove(e)},setAriaChecked:function(e){return c.root.setAttribute("aria-checked",e)},setDisabled:function(e){c.root.disabled=e},state:this}};e.prototype.createRippleFoundation=function(){return new u(this.createRippleAdapter())};e.prototype.createRippleAdapter=function(){var c=this;return _(_({},f.createAdapter(this)),{computeBoundingRect:function(){return c.rippleElement.getBoundingClientRect()},isUnbounded:function(){return true}})};return e}(w);const L=':host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color, #fff)}.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(-100%)}[dir=rtl] .mdc-switch__track::after,.mdc-switch__track[dir=rtl]::after{transform:translateX(100%);}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track[dir=rtl]::before{transform:translateX(-100%);}.mdc-switch--selected .mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0)}[dir=rtl] .mdc-switch__handle-track,.mdc-switch__handle-track[dir=rtl]{left:auto;right:0;}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track,.mdc-switch--selected .mdc-switch__handle-track[dir=rtl]{transform:translateX(-100%);}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto}[dir=rtl] .mdc-switch__handle,.mdc-switch__handle[dir=rtl]{left:auto;right:0;}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1), border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mdc-switch{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-switch .mdc-switch__ripple::before,.mdc-switch .mdc-switch__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-switch .mdc-switch__ripple::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-switch .mdc-switch__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-switch.mdc-ripple-upgraded--unbounded .mdc-switch__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-switch.mdc-ripple-upgraded--foreground-activation .mdc-switch__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-switch.mdc-ripple-upgraded--foreground-deactivation .mdc-switch__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch .mdc-switch__ripple::before,.mdc-switch .mdc-switch__ripple::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::before,.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch{width:36px;width:var(--mdc-switch-track-width, 36px)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:#26a69a;background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:#26534f;background:var(--mdc-switch-selected-hover-handle-color, #26534f)}.mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:#26534f;background:var(--mdc-switch-selected-focus-handle-color, #26534f)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:#26534f;background:var(--mdc-switch-selected-pressed-handle-color, #26534f)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:#424242;background:var(--mdc-switch-disabled-selected-handle-color, #424242)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:#616161;background:var(--mdc-switch-unselected-handle-color, #616161)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-hover-handle-color, #212121)}.mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-focus-handle-color, #212121)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-pressed-handle-color, #212121)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:#424242;background:var(--mdc-switch-disabled-unselected-handle-color, #424242)}.mdc-switch .mdc-switch__handle::before{background:#fff;background:var(--mdc-switch-handle-surface-color, var(--mdc-theme-surface, #fff))}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-handle-elevation, var(--mdc-elevation-box-shadow-for-gss));--mdc-elevation-box-shadow-for-gss:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-disabled-handle-elevation, var(--mdc-elevation-box-shadow-for-gss));--mdc-elevation-box-shadow-for-gss:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12)}.mdc-switch .mdc-switch__handle{height:20px;height:var(--mdc-switch-handle-height, 20px)}.mdc-switch:disabled .mdc-switch__handle::after{opacity:0.38;opacity:var(--mdc-switch-disabled-handle-opacity, 0.38)}.mdc-switch .mdc-switch__handle{border-radius:10px;border-radius:var(--mdc-switch-handle-shape, 10px)}.mdc-switch .mdc-switch__handle{width:20px;width:var(--mdc-switch-handle-width, 20px)}.mdc-switch .mdc-switch__handle-track{width:calc(100% - 20px);width:calc(100% - var(--mdc-switch-handle-width, 20px))}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-disabled-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:#fff;fill:var(--mdc-switch-disabled-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:0.38;opacity:var(--mdc-switch-disabled-selected-icon-opacity, 0.38)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:0.38;opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 0.38)}.mdc-switch.mdc-switch--selected .mdc-switch__icon{width:18px;width:var(--mdc-switch-selected-icon-size, 18px);height:18px;height:var(--mdc-switch-selected-icon-size, 18px)}.mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:18px;width:var(--mdc-switch-unselected-icon-size, 18px);height:18px;height:var(--mdc-switch-unselected-icon-size, 18px)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:#26a69a;background-color:var(--mdc-switch-selected-hover-state-layer-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background-color:#26a69a;background-color:var(--mdc-switch-selected-focus-state-layer-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background-color:#26a69a;background-color:var(--mdc-switch-selected-pressed-state-layer-color, var(--mdc-theme-primary, #26a69a))}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:#424242;background-color:var(--mdc-switch-unselected-hover-state-layer-color, #424242)}.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background-color:#424242;background-color:var(--mdc-switch-unselected-focus-state-layer-color, #424242)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background-color:#424242;background-color:var(--mdc-switch-unselected-pressed-state-layer-color, #424242)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:0.04;opacity:var(--mdc-switch-selected-hover-state-layer-opacity, 0.04)}.mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-switch-selected-focus-state-layer-opacity, 0.12)}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:0.1;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:0.04;opacity:var(--mdc-switch-unselected-hover-state-layer-opacity, 0.04)}.mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity, 0.12)}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:0.1;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mdc-switch .mdc-switch__ripple{height:48px;height:var(--mdc-switch-state-layer-size, 48px);width:48px;width:var(--mdc-switch-state-layer-size, 48px)}.mdc-switch .mdc-switch__track{height:14px;height:var(--mdc-switch-track-height, 14px)}.mdc-switch:disabled .mdc-switch__track{opacity:0.12;opacity:var(--mdc-switch-disabled-track-opacity, 0.12)}.mdc-switch:enabled .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-track-color, #c1f1ec)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-hover-track-color, #c1f1ec)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-focus-track-color, #c1f1ec)}.mdc-switch:enabled:active .mdc-switch__track::after{background:#c1f1ec;background:var(--mdc-switch-selected-pressed-track-color, #c1f1ec)}.mdc-switch:disabled .mdc-switch__track::after{background:#424242;background:var(--mdc-switch-disabled-selected-track-color, #424242)}.mdc-switch:enabled .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-track-color, #e0e0e0)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-hover-track-color, #e0e0e0)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-focus-track-color, #e0e0e0)}.mdc-switch:enabled:active .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-pressed-track-color, #e0e0e0)}.mdc-switch:disabled .mdc-switch__track::before{background:#424242;background:var(--mdc-switch-disabled-unselected-track-color, #424242)}.mdc-switch .mdc-switch__track{border-radius:7px;border-radius:var(--mdc-switch-track-shape, 7px)}@media screen and (forced-colors: active), (-ms-high-contrast: active){.mdc-switch:enabled .mdc-switch__shadow{}.mdc-switch:disabled .mdc-switch__shadow{}.mdc-switch:disabled .mdc-switch__handle::after{opacity:1;opacity:var(--mdc-switch-disabled-handle-opacity, 1)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:ButtonText;fill:var(--mdc-switch-selected-icon-color, ButtonText)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:GrayText;fill:var(--mdc-switch-disabled-selected-icon-color, GrayText)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:ButtonText;fill:var(--mdc-switch-unselected-icon-color, ButtonText)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:GrayText;fill:var(--mdc-switch-disabled-unselected-icon-color, GrayText)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:1;opacity:var(--mdc-switch-disabled-selected-icon-opacity, 1)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:1;opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 1)}.mdc-switch:disabled .mdc-switch__track{opacity:1;opacity:var(--mdc-switch-disabled-track-opacity, 1)}}:host(limel-switch){isolation:isolate;display:flex;align-items:center;flex-wrap:wrap;--mdc-switch-selected-icon-color:transparent;--mdc-switch-unselected-icon-color:transparent;--mdc-switch-disabled-selected-icon-opacity:1;--mdc-switch-disabled-unselected-icon-opacity:1;--mdc-switch-selected-icon-size:0.75rem;--mdc-switch-unselected-icon-size:0.75rem;--mdc-switch-track-height:1.25rem;--mdc-switch-track-shape:var(--mdc-switch-track-height);--mdc-switch-unselected-focus-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-focus-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-pressed-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-pressed-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-hover-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-selected-hover-handle-color:var(\n --lime-elevated-surface-background-color\n );--mdc-switch-unselected-track-color:rgb(var(--contrast-700));--mdc-switch-unselected-focus-track-color:rgb(var(--contrast-800));--mdc-switch-unselected-pressed-track-color:rgb(var(--contrast-800));--mdc-switch-unselected-hover-track-color:rgb(var(--contrast-800));--mdc-switch-selected-focus-track-color:var(--mdc-theme-primary);--mdc-switch-selected-pressed-track-color:var(--mdc-theme-primary);--mdc-switch-selected-track-color:var(--mdc-theme-primary);--mdc-switch-selected-hover-track-color:var(--mdc-theme-primary);--mdc-switch-handle-elevation:var(--button-shadow-normal);--mdc-switch-disabled-track-opacity:0.4}:host(limel-switch) limel-helper-line{display:flex;flex-basis:100%}.mdc-switch{margin-right:0.5rem}.mdc-switch:hover{--mdc-switch-handle-elevation:var(--button-shadow-hovered)}label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.8125rem;font-size:var(--mdc-typography-body2-font-size, 0.8125rem);line-height:1.625rem;line-height:var(--mdc-typography-body2-line-height, 1.625rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:0.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, 0.0178571429em);text-decoration:inherit;text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform, inherit);color:var(--mdc-theme-on-surface);cursor:pointer}label.disabled{cursor:not-allowed;pointer-events:none;opacity:0.4}.mdc-switch.mdc-switch--selected .mdc-switch__handle:after,.mdc-switch.mdc-switch--selected .mdc-switch__handle:before,.mdc-switch.mdc-switch.mdc-switch--unselected .mdc-switch__handle:after,.mdc-switch.mdc-switch.mdc-switch--unselected .mdc-switch__handle:before{transform:scale(0.8)}.mdc-switch .mdc-switch__shadow{transform:scale(0.8)}.mdc-switch.lime-switch--readonly{--mdc-switch-disabled-selected-track-color:var(--mdc-theme-primary);--mdc-switch-disabled-unselected-track-color:rgb(\n var(--color-red-default)\n );--mdc-switch-handle-surface-color:transparent;--mdc-switch-disabled-selected-handle-color:transparent;--mdc-switch-disabled-unselected-handle-color:transparent;--mdc-switch-disabled-track-opacity:1}.mdc-switch.lime-switch--readonly+label.disabled{cursor:default;opacity:1}limel-helper-line{opacity:0}@media (pointer: coarse){limel-helper-line{opacity:1}}:host(:focus) limel-helper-line,:host(:focus-visible) limel-helper-line,:host(:focus-within) limel-helper-line{opacity:1}';const M=class{constructor(i){c(this,i);this.change=e(this,"change",7);this.helperTextId=s();this.renderHelperLine=()=>{if(!this.hasHelperText()){return}return t("limel-helper-line",{helperTextId:this.helperTextId,helperText:this.helperText})};this.hasHelperText=()=>this.helperText!==null&&this.helperText!==undefined;this.handleClick=c=>{c.stopPropagation();this.change.emit(!this.value)};this.label=undefined;this.disabled=false;this.readonly=false;this.value=false;this.helperText=undefined;this.fieldId=s()}connectedCallback(){this.initialize()}componentWillLoad(){d(this.host)}componentDidLoad(){this.initialize()}initialize(){const c=this.host.shadowRoot.querySelector(".mdc-switch");if(!c){return}this.mdcSwitch=new B(c)}disconnectedCallback(){var c;a(this.host);(c=this.mdcSwitch)===null||c===void 0?void 0:c.destroy()}render(){return t(i,null,t("button",{id:this.fieldId,class:{"mdc-switch":true,"lime-switch--readonly":this.readonly,"mdc-switch--unselected":!this.value,"mdc-switch--selected":this.value},type:"button",role:"switch","aria-checked":this.value,disabled:this.disabled||this.readonly,onClick:this.handleClick,"aria-controls":this.helperTextId},t("div",{class:"mdc-switch__track"}),t("div",{class:"mdc-switch__handle-track"},t("div",{class:"mdc-switch__handle"},t("div",{class:"mdc-switch__shadow"},t("div",{class:"mdc-elevation-overlay"})),t("div",{class:"mdc-switch__ripple"}),t("div",{class:"mdc-switch__icons"},t("svg",{class:"mdc-switch__icon mdc-switch__icon--on",viewBox:"0 0 24 24"},t("path",{d:"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"})),t("svg",{class:"mdc-switch__icon mdc-switch__icon--off",viewBox:"0 0 24 24"},t("path",{d:"M20 13H4v-2h16v2z"})))))),t("label",{class:`${this.disabled||this.readonly?"disabled":""}`,htmlFor:this.fieldId},this.label),this.renderHelperLine())}valueWatcher(c){if(!this.mdcSwitch){return}this.mdcSwitch.selected=c}get host(){return r(this)}static get watchers(){return{value:["valueWatcher"]}}};M.style=L;export{M as limel_switch};
126
+ //# sourceMappingURL=p-88e4eba7.entry.js.map