@ccrpc/webmapgl 0.18.6 → 0.18.8

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 (250) hide show
  1. package/dist/cjs/app-globals-62694daf.js.map +1 -1
  2. package/dist/cjs/gl-address-search_52.cjs.entry.js +31 -30
  3. package/dist/cjs/gl-address-search_52.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gl-draw-toolbar.cjs.entry.js +3 -3
  5. package/dist/cjs/gl-draw-toolbar.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gl-facet_5.cjs.entry.js +1 -1
  7. package/dist/cjs/gl-facet_5.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gl-like-button.cjs.entry.js +5 -5
  9. package/dist/cjs/gl-like-button.cjs.entry.js.map +1 -1
  10. package/dist/cjs/index.cjs.js +11 -0
  11. package/dist/cjs/index.cjs.js.map +1 -1
  12. package/dist/collection/components/address-search/address-search.js +4 -4
  13. package/dist/collection/components/address-search/address-search.js.map +1 -1
  14. package/dist/collection/components/app/app.js +1 -1
  15. package/dist/collection/components/app/app.js.map +1 -1
  16. package/dist/collection/components/attribute-values/attribute-values.js +1 -1
  17. package/dist/collection/components/basemaps/basemaps.js +2 -2
  18. package/dist/collection/components/basemaps/basemaps.js.map +1 -1
  19. package/dist/collection/components/download-button/download-button.js +3 -3
  20. package/dist/collection/components/download-button/download-button.js.map +1 -1
  21. package/dist/collection/components/download-list/download-list.js +2 -1
  22. package/dist/collection/components/download-list/download-list.js.map +1 -1
  23. package/dist/collection/components/draw-toolbar/draw-toolbar.js +4 -4
  24. package/dist/collection/components/draw-toolbar/draw-toolbar.js.map +1 -1
  25. package/dist/collection/components/drawer/drawer.js +4 -4
  26. package/dist/collection/components/drawer/drawer.js.map +1 -1
  27. package/dist/collection/components/drawer-toggle/drawer-toggle.js +1 -1
  28. package/dist/collection/components/drawer-toggle/drawer-toggle.js.map +1 -1
  29. package/dist/collection/components/feature-list/feature-list.js +1 -1
  30. package/dist/collection/components/form-page/form-page.js +2 -2
  31. package/dist/collection/components/form-page/form-page.js.map +1 -1
  32. package/dist/collection/components/fullscreen/fullscreen.js +1 -1
  33. package/dist/collection/components/fullscreen/fullscreen.js.map +1 -1
  34. package/dist/collection/components/legend-item/legend-item.js +2 -2
  35. package/dist/collection/components/legend-item/legend-item.js.map +1 -1
  36. package/dist/collection/components/like-button/like-button.js +6 -6
  37. package/dist/collection/components/like-button/like-button.js.map +1 -1
  38. package/dist/collection/components/share/share.js +3 -3
  39. package/dist/collection/components/share/share.js.map +1 -1
  40. package/dist/collection/components/share-button/share-button.js +2 -2
  41. package/dist/collection/components/share-button/share-button.js.map +1 -1
  42. package/dist/collection/components/story-button/story-button.js +4 -4
  43. package/dist/collection/components/story-button/story-button.js.map +1 -1
  44. package/dist/collection/components/style/style.js +3 -3
  45. package/dist/collection/components/table-column-visibility/table-column-visibility.js +1 -1
  46. package/dist/collection/components/table-column-visibility/table-column-visibility.js.map +1 -1
  47. package/dist/collection/components/table-column-visibility-button/table-column-visibility-button.js +3 -3
  48. package/dist/collection/components/table-column-visibility-button/table-column-visibility-button.js.map +1 -1
  49. package/dist/collection/components/table-export-button/table-export-button.js +1 -1
  50. package/dist/collection/components/table-export-button/table-export-button.js.map +1 -1
  51. package/dist/collection/global/webmapgl.js +1 -0
  52. package/dist/collection/global/webmapgl.js.map +1 -1
  53. package/dist/collection/index.js +2 -0
  54. package/dist/collection/index.js.map +1 -0
  55. package/dist/esm/app-globals-755c21e9.js.map +1 -1
  56. package/dist/esm/gl-address-search_52.entry.js +32 -31
  57. package/dist/esm/gl-address-search_52.entry.js.map +1 -1
  58. package/dist/esm/gl-draw-controller.entry.js +1 -1
  59. package/dist/esm/gl-draw-toolbar.entry.js +3 -3
  60. package/dist/esm/gl-draw-toolbar.entry.js.map +1 -1
  61. package/dist/esm/gl-facet_5.entry.js +2 -2
  62. package/dist/esm/gl-facet_5.entry.js.map +1 -1
  63. package/dist/esm/gl-feature-list.entry.js +1 -1
  64. package/dist/esm/gl-like-button.entry.js +6 -6
  65. package/dist/esm/gl-like-button.entry.js.map +1 -1
  66. package/dist/esm/gl-table-export-controller.entry.js +1 -1
  67. package/dist/esm/index.js +2 -1
  68. package/dist/esm/index.js.map +1 -1
  69. package/dist/esm/polyfills/core-js.js +0 -0
  70. package/dist/esm/polyfills/dom.js +0 -0
  71. package/dist/esm/polyfills/es5-html-element.js +0 -0
  72. package/dist/esm/polyfills/index.js +0 -0
  73. package/dist/esm/polyfills/system.js +0 -0
  74. package/dist/esm/{utils-0af5fee1.js → utils-e86257fd.js} +2 -2
  75. package/dist/esm/{utils-0af5fee1.js.map → utils-e86257fd.js.map} +1 -1
  76. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.ios.css +83 -0
  77. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.md.css +80 -0
  78. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.ios.css +17 -0
  79. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.md.css +64 -0
  80. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +319 -0
  81. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +259 -0
  82. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +503 -0
  83. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +531 -0
  84. package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +17 -0
  85. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +22 -0
  86. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +22 -0
  87. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +246 -0
  88. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +269 -0
  89. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +26 -0
  90. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +26 -0
  91. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +50 -0
  92. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +54 -0
  93. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.ios.css +205 -0
  94. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.md.css +200 -0
  95. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +26 -0
  96. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.md.css +25 -0
  97. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +431 -0
  98. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +408 -0
  99. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +114 -0
  100. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +134 -0
  101. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +93 -0
  102. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +88 -0
  103. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +53 -0
  104. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +55 -0
  105. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +31 -0
  106. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +28 -0
  107. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +28 -0
  108. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +26 -0
  109. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +27 -0
  110. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +27 -0
  111. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +310 -0
  112. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +326 -0
  113. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.css +149 -0
  114. package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +68 -0
  115. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +227 -0
  116. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +589 -0
  117. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +561 -0
  118. package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +44 -0
  119. package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +98 -0
  120. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +312 -0
  121. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +283 -0
  122. package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +123 -0
  123. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +36 -0
  124. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +19 -0
  125. package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +103 -0
  126. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +106 -0
  127. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +23 -0
  128. package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +12 -0
  129. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
  130. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +46 -0
  131. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +46 -0
  132. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +635 -0
  133. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +1077 -0
  134. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +646 -0
  135. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +908 -0
  136. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +166 -0
  137. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +232 -0
  138. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +3 -0
  139. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +3 -0
  140. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +142 -0
  141. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +136 -0
  142. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +121 -0
  143. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +118 -0
  144. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +66 -0
  145. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +164 -0
  146. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +251 -0
  147. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +63 -0
  148. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +104 -0
  149. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +107 -0
  150. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +88 -0
  151. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +95 -0
  152. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +86 -0
  153. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +167 -0
  154. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +163 -0
  155. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +167 -0
  156. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +170 -0
  157. package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
  158. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +247 -0
  159. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +162 -0
  160. package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +10 -0
  161. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +16 -0
  162. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +17 -0
  163. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +257 -0
  164. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +244 -0
  165. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +145 -0
  166. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +136 -0
  167. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +75 -0
  168. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +78 -0
  169. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +152 -0
  170. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +148 -0
  171. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +250 -0
  172. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +157 -0
  173. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +206 -0
  174. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +206 -0
  175. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +331 -0
  176. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +354 -0
  177. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +469 -0
  178. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +614 -0
  179. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +211 -0
  180. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +206 -0
  181. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +15 -0
  182. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +15 -0
  183. package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +34 -0
  184. package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +58 -0
  185. package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +29 -0
  186. package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/route-outlet.css +10 -0
  187. package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +4 -0
  188. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +354 -0
  189. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +339 -0
  190. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +59 -0
  191. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +49 -0
  192. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +410 -0
  193. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +396 -0
  194. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +552 -0
  195. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +1025 -0
  196. package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +3 -0
  197. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.ios.css +14 -0
  198. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.md.css +37 -0
  199. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +53 -0
  200. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +177 -0
  201. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +92 -0
  202. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +92 -0
  203. package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +4 -0
  204. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +87 -0
  205. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +74 -0
  206. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +367 -0
  207. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +391 -0
  208. package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +19 -0
  209. package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +3 -0
  210. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +693 -0
  211. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +1142 -0
  212. package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +21 -0
  213. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +119 -0
  214. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +47 -0
  215. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +284 -0
  216. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +305 -0
  217. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +455 -0
  218. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +400 -0
  219. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +161 -0
  220. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +136 -0
  221. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +101 -0
  222. package/dist/types/global/webmapgl.d.ts +1 -0
  223. package/dist/types/index.d.ts +1 -0
  224. package/dist/webmapgl/index.esm.js +1 -1
  225. package/dist/webmapgl/{p-29a0ba94.entry.js → p-10ecfbc1.entry.js} +3 -3
  226. package/dist/webmapgl/p-10ecfbc1.entry.js.map +1 -0
  227. package/dist/webmapgl/{p-d8674de4.js → p-1109414b.js} +2 -2
  228. package/dist/webmapgl/p-41aed25d.entry.js +8 -0
  229. package/dist/webmapgl/p-41aed25d.entry.js.map +1 -0
  230. package/dist/webmapgl/{p-9a52a393.entry.js → p-4bdbedef.entry.js} +2 -2
  231. package/dist/webmapgl/{p-43063806.entry.js → p-60c4d25c.entry.js} +2 -2
  232. package/dist/webmapgl/{p-47516d22.entry.js → p-725281ca.entry.js} +2 -2
  233. package/dist/webmapgl/{p-8d22e12f.entry.js → p-8e93527b.entry.js} +2 -2
  234. package/dist/webmapgl/p-8e93527b.entry.js.map +1 -0
  235. package/dist/webmapgl/p-b3dc2acc.js.map +1 -1
  236. package/dist/webmapgl/{p-96e77bf2.entry.js → p-c61eaf23.entry.js} +2 -2
  237. package/dist/webmapgl/p-c61eaf23.entry.js.map +1 -0
  238. package/dist/webmapgl/webmapgl.css +1 -1
  239. package/dist/webmapgl/webmapgl.esm.js +1 -1
  240. package/package.json +4 -3
  241. package/CHANGELOG.md +0 -234
  242. package/dist/webmapgl/p-29a0ba94.entry.js.map +0 -1
  243. package/dist/webmapgl/p-8d22e12f.entry.js.map +0 -1
  244. package/dist/webmapgl/p-96e77bf2.entry.js.map +0 -1
  245. package/dist/webmapgl/p-99a83939.entry.js +0 -8
  246. package/dist/webmapgl/p-99a83939.entry.js.map +0 -1
  247. /package/dist/webmapgl/{p-d8674de4.js.map → p-1109414b.js.map} +0 -0
  248. /package/dist/webmapgl/{p-9a52a393.entry.js.map → p-4bdbedef.entry.js.map} +0 -0
  249. /package/dist/webmapgl/{p-43063806.entry.js.map → p-60c4d25c.entry.js.map} +0 -0
  250. /package/dist/webmapgl/{p-47516d22.entry.js.map → p-725281ca.entry.js.map} +0 -0
@@ -0,0 +1,552 @@
1
+ :host {
2
+ /**
3
+ * @prop --background: Background of the select
4
+ * @prop --padding-top: Top padding of the select
5
+ * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the select
6
+ * @prop --padding-bottom: Bottom padding of the select
7
+ * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the select
8
+ *
9
+ * @prop --placeholder-color: Color of the select placeholder text
10
+ * @prop --placeholder-opacity: Opacity of the select placeholder text
11
+ *
12
+ * @prop --highlight-color-focused: The color of the highlight on the select when focused
13
+ * @prop --highlight-color-invalid: The color of the highlight on the select when invalid
14
+ * @prop --highlight-color-valid: The color of the highlight on the select when valid
15
+ *
16
+ * @prop --border-color: Color of the select border
17
+ * @prop --border-radius: Radius of the select border. A large radius may display unevenly when using fill="outline"; if needed, use shape="round" instead or increase --padding-start.
18
+ * @prop --border-style: Style of the select border
19
+ * @prop --border-width: Width of the select border
20
+ *
21
+ * @prop --ripple-color: The color of the ripple effect on MD mode.
22
+ */
23
+ --padding-top: 0px;
24
+ --padding-end: 0px;
25
+ --padding-bottom: 0px;
26
+ --padding-start: 0px;
27
+ --placeholder-color: currentColor;
28
+ --placeholder-opacity: 0.6;
29
+ --background: transparent;
30
+ --border-style: solid;
31
+ --highlight-color-focused: var(--ion-color-primary, #3880ff);
32
+ --highlight-color-valid: var(--ion-color-success, #2dd36f);
33
+ --highlight-color-invalid: var(--ion-color-danger, #eb445a);
34
+ /**
35
+ * This is a private API that is used to switch
36
+ * out the highlight color based on the state
37
+ * of the component without having to write
38
+ * different selectors for different fill variants.
39
+ */
40
+ --highlight-color: var(--highlight-color-focused);
41
+ display: block;
42
+ position: relative;
43
+ font-family: var(--ion-font-family, inherit);
44
+ white-space: nowrap;
45
+ cursor: pointer;
46
+ z-index: 2;
47
+ }
48
+
49
+ :host(:not(.legacy-select)) {
50
+ width: 100%;
51
+ }
52
+
53
+ :host(.ion-color) {
54
+ --highlight-color-focused: var(--ion-color-base);
55
+ }
56
+
57
+ :host(.legacy-select) {
58
+ -webkit-padding-start: var(--padding-start);
59
+ padding-inline-start: var(--padding-start);
60
+ -webkit-padding-end: var(--padding-end);
61
+ padding-inline-end: var(--padding-end);
62
+ padding-top: var(--padding-top);
63
+ padding-bottom: var(--padding-bottom);
64
+ display: flex;
65
+ align-items: center;
66
+ overflow: hidden;
67
+ }
68
+
69
+ :host(.in-item.legacy-select) {
70
+ position: static;
71
+ max-width: 45%;
72
+ }
73
+
74
+ :host(.select-disabled) {
75
+ pointer-events: none;
76
+ }
77
+
78
+ :host(.ion-focused) button {
79
+ border: 2px solid #5e9ed6;
80
+ }
81
+
82
+ /**
83
+ * Select can be slotted
84
+ * in components such as item and
85
+ * toolbar which is why we do not
86
+ * limit the below behavior to just ion-item.
87
+ */
88
+ :host([slot=start]:not(.legacy-select)),
89
+ :host([slot=end]:not(.legacy-select)) {
90
+ width: auto;
91
+ }
92
+
93
+ .select-placeholder {
94
+ color: var(--placeholder-color);
95
+ opacity: var(--placeholder-opacity);
96
+ }
97
+
98
+ :host(.legacy-select) label {
99
+ top: 0;
100
+ margin-left: 0;
101
+ margin-right: 0;
102
+ margin-top: 0;
103
+ margin-bottom: 0;
104
+ position: absolute;
105
+ width: 100%;
106
+ height: 100%;
107
+ border: 0;
108
+ background: transparent;
109
+ cursor: pointer;
110
+ appearance: none;
111
+ outline: none;
112
+ display: flex;
113
+ align-items: center;
114
+ opacity: 0;
115
+ }
116
+ @supports (inset-inline-start: 0) {
117
+ :host(.legacy-select) label {
118
+ inset-inline-start: 0;
119
+ }
120
+ }
121
+ @supports not (inset-inline-start: 0) {
122
+ :host(.legacy-select) label {
123
+ left: 0;
124
+ }
125
+ :host-context([dir=rtl]):host(.legacy-select) label, :host-context([dir=rtl]).legacy-select label {
126
+ left: unset;
127
+ right: unset;
128
+ right: 0;
129
+ }
130
+ @supports selector(:dir(rtl)) {
131
+ :host(.legacy-select) label:dir(rtl) {
132
+ left: unset;
133
+ right: unset;
134
+ right: 0;
135
+ }
136
+ }
137
+ }
138
+ :host(.legacy-select) label::-moz-focus-inner {
139
+ border: 0;
140
+ }
141
+
142
+ button {
143
+ position: absolute;
144
+ top: 0;
145
+ left: 0;
146
+ right: 0;
147
+ bottom: 0;
148
+ width: 100%;
149
+ height: 100%;
150
+ margin: 0;
151
+ padding: 0;
152
+ border: 0;
153
+ outline: 0;
154
+ clip: rect(0 0 0 0);
155
+ opacity: 0;
156
+ overflow: hidden;
157
+ -webkit-appearance: none;
158
+ -moz-appearance: none;
159
+ }
160
+
161
+ .select-icon {
162
+ -webkit-margin-start: 4px;
163
+ margin-inline-start: 4px;
164
+ -webkit-margin-end: 0;
165
+ margin-inline-end: 0;
166
+ margin-top: 0;
167
+ margin-bottom: 0;
168
+ position: relative;
169
+ }
170
+
171
+ /**
172
+ * Ensure that the select icon has
173
+ * the correct color contrast when
174
+ * used inside of an item.
175
+ */
176
+ :host(.in-item-color) .select-icon {
177
+ color: inherit;
178
+ }
179
+
180
+ /**
181
+ * The select icon should be centered with
182
+ * the entire container not just the control
183
+ * with floating/stacked labels.
184
+ */
185
+ :host(.select-label-placement-stacked) .select-icon,
186
+ :host(.select-label-placement-floating) .select-icon {
187
+ position: absolute;
188
+ height: 100%;
189
+ }
190
+
191
+ /**
192
+ * This positions the icon at the correct
193
+ * edge of the component with LTR and RTL
194
+ * text directions. The position mixin cannot be
195
+ * used here because the icon is in the Shadow DOM.
196
+ */
197
+ :host(.select-ltr.select-label-placement-stacked) .select-icon,
198
+ :host(.select-ltr.select-label-placement-floating) .select-icon {
199
+ right: var(--padding-end, 0);
200
+ }
201
+
202
+ :host(.select-rtl.select-label-placement-stacked) .select-icon,
203
+ :host(.select-rtl.select-label-placement-floating) .select-icon {
204
+ left: var(--padding-start, 0);
205
+ }
206
+
207
+ .select-text {
208
+ flex: 1;
209
+ min-width: 16px;
210
+ font-size: inherit;
211
+ text-overflow: ellipsis;
212
+ white-space: inherit;
213
+ overflow: hidden;
214
+ }
215
+
216
+ .select-wrapper {
217
+ -webkit-padding-start: var(--padding-start);
218
+ padding-inline-start: var(--padding-start);
219
+ -webkit-padding-end: var(--padding-end);
220
+ padding-inline-end: var(--padding-end);
221
+ padding-top: var(--padding-top);
222
+ padding-bottom: var(--padding-bottom);
223
+ border-radius: var(--border-radius);
224
+ display: flex;
225
+ position: relative;
226
+ flex-grow: 1;
227
+ align-items: center;
228
+ height: inherit;
229
+ /**
230
+ * This allows developers to set the height
231
+ * on the host of the element but still have
232
+ * the label take up the full height
233
+ * of the parent.
234
+ */
235
+ min-height: inherit;
236
+ transition: background-color 15ms linear;
237
+ background: var(--background);
238
+ line-height: normal;
239
+ cursor: inherit;
240
+ box-sizing: border-box;
241
+ }
242
+
243
+ .select-wrapper .select-placeholder {
244
+ /**
245
+ * When the floating label appears on top of the
246
+ * select, we need to fade the text out so that the
247
+ * label does not overlap with the placeholder.
248
+ */
249
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
250
+ }
251
+
252
+ :host(.ion-touched.ion-invalid) {
253
+ --highlight-color: var(--highlight-color-invalid);
254
+ }
255
+
256
+ /**
257
+ * The component highlight is only shown
258
+ * on focus, so we can safely set the valid
259
+ * color state when touched/valid. If we
260
+ * set it when .has-focus is present then
261
+ * the highlight color would change
262
+ * from the valid color to the component's
263
+ * color during the transition after the
264
+ * component loses focus.
265
+ */
266
+ :host(.ion-valid) {
267
+ --highlight-color: var(--highlight-color-valid);
268
+ }
269
+
270
+ .label-text-wrapper {
271
+ /**
272
+ * This causes the label to take up
273
+ * the entire height of its container
274
+ * while still keeping the text centered.
275
+ */
276
+ display: flex;
277
+ align-items: center;
278
+ /**
279
+ * Label text should not extend
280
+ * beyond the bounds of the select.
281
+ * However, we do not set the max
282
+ * width to 100% because then
283
+ * only the label would show and users
284
+ * would not be able to see what they are typing.
285
+ */
286
+ max-width: 200px;
287
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
288
+ /**
289
+ * This ensures that double tapping this text
290
+ * clicks the <label> and focuses the input
291
+ * when a screen reader is enabled.
292
+ */
293
+ pointer-events: none;
294
+ }
295
+
296
+ /**
297
+ * We need to use two elements instead of
298
+ * one. The .label-text-wrapper is responsible
299
+ * for centering the label text vertically regardless
300
+ * of the input height using flexbox.
301
+ *
302
+ * The .label-text element is responsible for controlling
303
+ * overflow when label-placement="fixed".
304
+ * We want the ellipses to show up when the
305
+ * fixed label overflows, but text-overflow: ellipsis only
306
+ * works on block-level elements. A flex item is
307
+ * considered blockified (https://www.w3.org/TR/css-display-3/#blockify).
308
+ */
309
+ .label-text,
310
+ ::slotted([slot=label]) {
311
+ text-overflow: ellipsis;
312
+ white-space: nowrap;
313
+ overflow: hidden;
314
+ }
315
+
316
+ /**
317
+ * If no label text is placed into the slot
318
+ * then the element should be hidden otherwise
319
+ * there will be additional margins added.
320
+ */
321
+ .label-text-wrapper-hidden,
322
+ .select-outline-notch-hidden {
323
+ display: none;
324
+ }
325
+
326
+ .native-wrapper {
327
+ display: flex;
328
+ align-items: center;
329
+ /**
330
+ * When the floating label appears on top of the
331
+ * input, we need to fade the input out so that the
332
+ * label does not overlap with the placeholder.
333
+ */
334
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
335
+ /**
336
+ * This ensures that the .select-text gets
337
+ * truncated with ellipses when the text is
338
+ * too long for the screen.
339
+ */
340
+ overflow: hidden;
341
+ }
342
+
343
+ :host(.select-justify-space-between) .select-wrapper {
344
+ justify-content: space-between;
345
+ }
346
+
347
+ :host(.select-justify-start) .select-wrapper {
348
+ justify-content: start;
349
+ }
350
+
351
+ :host(.select-justify-end) .select-wrapper {
352
+ justify-content: end;
353
+ }
354
+
355
+ /**
356
+ * Label is on the left of the input in LTR and
357
+ * on the right in RTL.
358
+ */
359
+ :host(.select-label-placement-start) .select-wrapper {
360
+ flex-direction: row;
361
+ }
362
+
363
+ :host(.select-label-placement-start) .label-text-wrapper {
364
+ /**
365
+ * The margin between the label and
366
+ * the select should be on the end
367
+ * when the label sits at the start.
368
+ */
369
+ -webkit-margin-start: 0;
370
+ margin-inline-start: 0;
371
+ -webkit-margin-end: 16px;
372
+ margin-inline-end: 16px;
373
+ margin-top: 0;
374
+ margin-bottom: 0;
375
+ }
376
+
377
+ /**
378
+ * Label is on the right of the select in LTR and
379
+ * on the left in RTL.
380
+ */
381
+ :host(.select-label-placement-end) .select-wrapper {
382
+ flex-direction: row-reverse;
383
+ }
384
+
385
+ /**
386
+ * The margin between the label and
387
+ * the select should be on the start
388
+ * when the label sits at the end.
389
+ */
390
+ :host(.select-label-placement-end) .label-text-wrapper {
391
+ -webkit-margin-start: 16px;
392
+ margin-inline-start: 16px;
393
+ -webkit-margin-end: 0;
394
+ margin-inline-end: 0;
395
+ margin-top: 0;
396
+ margin-bottom: 0;
397
+ }
398
+
399
+ :host(.select-label-placement-fixed) .label-text-wrapper {
400
+ /**
401
+ * The margin between the label and
402
+ * the select should be on the end
403
+ * when the label sits at the start.
404
+ */
405
+ -webkit-margin-start: 0;
406
+ margin-inline-start: 0;
407
+ -webkit-margin-end: 16px;
408
+ margin-inline-end: 16px;
409
+ margin-top: 0;
410
+ margin-bottom: 0;
411
+ }
412
+
413
+ /**
414
+ * Label is on the left of the select in LTR and
415
+ * on the right in RTL. Label also has a fixed width.
416
+ */
417
+ :host(.select-label-placement-fixed) .label-text-wrapper {
418
+ flex: 0 0 100px;
419
+ width: 100px;
420
+ min-width: 100px;
421
+ max-width: 200px;
422
+ }
423
+
424
+ /**
425
+ * Stacked: Label sits above the select and is scaled down.
426
+ * Floating: Label sits over the select when the select has no
427
+ * value and is blurred. Label sits above the input and is scaled
428
+ * down when the select is focused or has a value.
429
+ *
430
+ */
431
+ :host(.select-label-placement-stacked) .select-wrapper,
432
+ :host(.select-label-placement-floating) .select-wrapper {
433
+ flex-direction: column;
434
+ align-items: start;
435
+ }
436
+
437
+ /**
438
+ * Ensures that the label animates
439
+ * up and to the left in LTR or
440
+ * up and to the right in RTL.
441
+ */
442
+ :host(.select-label-placement-stacked) .label-text-wrapper,
443
+ :host(.select-label-placement-floating) .label-text-wrapper {
444
+ max-width: 100%;
445
+ }
446
+
447
+ :host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,
448
+ :host(.select-ltr.select-label-placement-floating) .label-text-wrapper {
449
+ transform-origin: left top;
450
+ }
451
+
452
+ :host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,
453
+ :host(.select-rtl.select-label-placement-floating) .label-text-wrapper {
454
+ transform-origin: right top;
455
+ }
456
+
457
+ /**
458
+ * Ensures the select does not
459
+ * overlap the label.
460
+ * Also ensure that the native wrapper
461
+ * takes up the remaining available height and width.
462
+ */
463
+ :host(.select-label-placement-stacked) .native-wrapper,
464
+ :host(.select-label-placement-floating) .native-wrapper {
465
+ margin-left: 0;
466
+ margin-right: 0;
467
+ margin-top: 1px;
468
+ margin-bottom: 0;
469
+ flex-grow: 1;
470
+ width: 100%;
471
+ }
472
+
473
+ /**
474
+ * This makes the label sit over the select
475
+ * when the select is blurred and has no value.
476
+ * The label should not sit over the select if the
477
+ * select has a placeholder.
478
+ * Note: This is different from what ion-input does
479
+ * because the activating the select causes an overlay
480
+ * to appear. This makes it hard to read the placeholder.
481
+ * With ion-input, the input just focuses and the placeholder
482
+ * is still easy to read.
483
+ */
484
+ :host(.select-label-placement-floating) .label-text-wrapper {
485
+ transform: translateY(100%) scale(1);
486
+ }
487
+
488
+ /**
489
+ * The placeholder should be hidden when the label
490
+ * is on top of the select. This prevents the label
491
+ * from overlapping any placeholder value.
492
+ */
493
+ :host(.select-label-placement-floating) .native-wrapper .select-placeholder {
494
+ opacity: 0;
495
+ }
496
+
497
+ :host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,
498
+ :host(.ion-focused.select-label-placement-floating) .native-wrapper .select-placeholder,
499
+ :host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder {
500
+ opacity: 1;
501
+ }
502
+
503
+ /**
504
+ * This makes the label sit above the input.
505
+ */
506
+ :host(.select-label-placement-stacked) .label-text-wrapper,
507
+ :host(.select-expanded.select-label-placement-floating) .label-text-wrapper,
508
+ :host(.ion-focused.select-label-placement-floating) .label-text-wrapper,
509
+ :host(.has-value.select-label-placement-floating) .label-text-wrapper {
510
+ transform: translateY(50%) scale(0.75);
511
+ /**
512
+ * Label text should not extend
513
+ * beyond the bounds of the input.
514
+ */
515
+ max-width: calc(100% / 0.75);
516
+ }
517
+
518
+ :host(.legacy-select) {
519
+ --padding-top: 10px;
520
+ --padding-end: 8px;
521
+ --padding-bottom: 10px;
522
+ --padding-start: 16px;
523
+ }
524
+
525
+ :host(:not(.legacy-select)) {
526
+ min-height: 44px;
527
+ }
528
+
529
+ /**
530
+ * Since the label sits on top of the element,
531
+ * the component needs to be taller otherwise the
532
+ * label will appear too close to the select text.
533
+ */
534
+ :host(.select-label-placement-floating),
535
+ :host(.select-label-placement-stacked) {
536
+ min-height: 56px;
537
+ }
538
+
539
+ .select-icon {
540
+ width: 18px;
541
+ height: 18px;
542
+ color: var(--ion-color-step-650, #595959);
543
+ }
544
+
545
+ :host(.select-label-placement-stacked) .native-wrapper,
546
+ :host(.select-label-placement-floating) .native-wrapper {
547
+ width: calc(100% - 18px - 4px);
548
+ }
549
+
550
+ :host(.select-disabled) {
551
+ opacity: 0.3;
552
+ }