smoothly 1.0.0-alpha.13 → 1.0.0-alpha.130

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 (413) hide show
  1. package/dist/cjs/{Listenable-63ea2d90.js → Data-e345d3cd.js} +74 -4
  2. package/dist/cjs/Data-e345d3cd.js.map +1 -0
  3. package/dist/cjs/Observers-6450f075.js +25 -0
  4. package/dist/cjs/Observers-6450f075.js.map +1 -0
  5. package/dist/cjs/{getLanguage-430ecf04.js → getLanguage-28ce96e4.js} +1111 -890
  6. package/dist/cjs/getLanguage-28ce96e4.js.map +1 -0
  7. package/dist/cjs/{index-8352a4e0.js → index-43af753b.js} +9 -43
  8. package/dist/cjs/index-43af753b.js.map +1 -0
  9. package/dist/cjs/index.cjs.js +386 -22
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +4 -3
  12. package/dist/cjs/loader.cjs.js.map +1 -1
  13. package/dist/cjs/redirect-2e5d4524.js +104 -0
  14. package/dist/cjs/redirect-2e5d4524.js.map +1 -0
  15. package/dist/cjs/smoothly-accordion_70.cjs.entry.js +17206 -0
  16. package/dist/cjs/smoothly-accordion_70.cjs.entry.js.map +1 -0
  17. package/dist/cjs/smoothly-address-display.cjs.entry.js +1 -1
  18. package/dist/cjs/smoothly-address.cjs.entry.js +1 -1
  19. package/dist/cjs/smoothly-addresses.cjs.entry.js +1 -1
  20. package/dist/cjs/smoothly-color.cjs.entry.js +1 -1
  21. package/dist/cjs/smoothly-country.cjs.entry.js +9 -9
  22. package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
  23. package/dist/cjs/smoothly-display-date-time.cjs.entry.js +26 -0
  24. package/dist/cjs/smoothly-display-date-time.cjs.entry.js.map +1 -0
  25. package/dist/cjs/smoothly-google-font.cjs.entry.js +1 -1
  26. package/dist/cjs/smoothly-radio-group.cjs.entry.js +1 -1
  27. package/dist/cjs/smoothly-reorder.cjs.entry.js +1 -1
  28. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +4 -4
  29. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js.map +1 -1
  30. package/dist/cjs/smoothly-trigger-source.cjs.entry.js +6 -6
  31. package/dist/cjs/smoothly-trigger-source.cjs.entry.js.map +1 -1
  32. package/dist/cjs/smoothly.cjs.js +4 -3
  33. package/dist/cjs/smoothly.cjs.js.map +1 -1
  34. package/dist/collection/collection-manifest.json +23 -12
  35. package/dist/collection/components/Button.js +16 -2
  36. package/dist/collection/components/Button.js.map +1 -1
  37. package/dist/collection/components/accordion/index.js +32 -12
  38. package/dist/collection/components/accordion/index.js.map +1 -1
  39. package/dist/collection/components/accordion-item/index.js +18 -25
  40. package/dist/collection/components/accordion-item/index.js.map +1 -1
  41. package/dist/collection/components/app/index.js +147 -1
  42. package/dist/collection/components/app/index.js.map +1 -1
  43. package/dist/collection/components/app/room/index.js +240 -0
  44. package/dist/collection/components/app/room/index.js.map +1 -0
  45. package/dist/collection/components/app/room/style.css +55 -0
  46. package/dist/collection/components/app/style.css +89 -101
  47. package/dist/collection/components/app-demo/index.js +5 -19
  48. package/dist/collection/components/app-demo/index.js.map +1 -1
  49. package/dist/collection/components/backtotop/index.js +3 -3
  50. package/dist/collection/components/backtotop/index.js.map +1 -1
  51. package/dist/collection/components/burger/index.js +174 -0
  52. package/dist/collection/components/burger/index.js.map +1 -0
  53. package/dist/collection/components/burger/style.css +22 -0
  54. package/dist/collection/components/button/index.js +10 -23
  55. package/dist/collection/components/button/index.js.map +1 -1
  56. package/dist/collection/components/button/style.css +13 -17
  57. package/dist/collection/components/button-demo/index.js +6 -2
  58. package/dist/collection/components/button-demo/index.js.map +1 -1
  59. package/dist/collection/components/button-demo/style.css +1 -0
  60. package/dist/collection/components/calendar/generate.js +1 -1
  61. package/dist/collection/components/calendar/generate.js.map +1 -1
  62. package/dist/collection/components/checkbox/index.js +25 -3
  63. package/dist/collection/components/checkbox/index.js.map +1 -1
  64. package/dist/collection/components/country/index.js +1 -1
  65. package/dist/collection/components/display/index.js +24 -3
  66. package/dist/collection/components/display/index.js.map +1 -1
  67. package/dist/collection/components/display-amount/index.js +1 -1
  68. package/dist/collection/components/display-demo/index.js +1 -1
  69. package/dist/collection/components/display-demo/index.js.map +1 -1
  70. package/dist/collection/components/filter/index.js +1 -1
  71. package/dist/collection/components/filter/index.js.map +1 -1
  72. package/dist/collection/components/filter/input/index.js +16 -9
  73. package/dist/collection/components/filter/input/index.js.map +1 -1
  74. package/dist/collection/components/form/index.js +132 -9
  75. package/dist/collection/components/form/index.js.map +1 -1
  76. package/dist/collection/components/form/style.css +9 -16
  77. package/dist/collection/components/frame/index.js +1 -2
  78. package/dist/collection/components/frame/index.js.map +1 -1
  79. package/dist/collection/components/icon/index.js +28 -35
  80. package/dist/collection/components/icon/index.js.map +1 -1
  81. package/dist/collection/components/icon-demo/index.js.map +1 -1
  82. package/dist/collection/components/icon-demo/style.css +1 -0
  83. package/dist/collection/components/input/Changeable.js +8 -0
  84. package/dist/collection/components/input/Changeable.js.map +1 -0
  85. package/dist/collection/components/input/Clearable.js.map +1 -0
  86. package/dist/collection/components/input/Input.js +2 -0
  87. package/dist/collection/components/input/Input.js.map +1 -0
  88. package/dist/collection/components/input/Looks.js +2 -0
  89. package/dist/collection/components/input/Looks.js.map +1 -0
  90. package/dist/collection/components/input/Submittable.js +8 -0
  91. package/dist/collection/components/input/Submittable.js.map +1 -0
  92. package/dist/collection/components/input/clear/index.js +237 -0
  93. package/dist/collection/components/input/clear/index.js.map +1 -0
  94. package/dist/collection/components/input/clear/style.css +254 -0
  95. package/dist/collection/components/{input-date → input/date}/index.js +160 -3
  96. package/dist/collection/components/input/date/index.js.map +1 -0
  97. package/dist/collection/components/{input-date-range → input/date/range}/index.js +161 -23
  98. package/dist/collection/components/input/date/range/index.js.map +1 -0
  99. package/dist/collection/components/input/date/range/style.css +69 -0
  100. package/dist/collection/components/input/date/style.css +58 -0
  101. package/dist/collection/components/input/demo/index.js +95 -0
  102. package/dist/collection/components/input/demo/index.js.map +1 -0
  103. package/dist/collection/components/{input-demo → input/demo}/style.css +1 -0
  104. package/dist/collection/components/input/file/index.js +305 -0
  105. package/dist/collection/components/input/file/index.js.map +1 -0
  106. package/dist/collection/components/input/file/style.css +85 -0
  107. package/dist/collection/components/input/index.js +131 -8
  108. package/dist/collection/components/input/index.js.map +1 -1
  109. package/dist/collection/components/{input-month → input/month}/index.js +5 -5
  110. package/dist/collection/components/input/month/index.js.map +1 -0
  111. package/dist/collection/components/{selector → input/select}/index.js +176 -5
  112. package/dist/collection/components/input/select/index.js.map +1 -0
  113. package/dist/collection/components/input/select/style.css +80 -0
  114. package/dist/collection/components/input/style.css +23 -8
  115. package/dist/collection/components/notification/index.js +45 -8
  116. package/dist/collection/components/notification/index.js.map +1 -1
  117. package/dist/collection/components/notification/style.css +25 -1
  118. package/dist/collection/components/notifier/style.css +1 -3
  119. package/dist/collection/components/picker/demo/index.js +91 -0
  120. package/dist/collection/components/picker/demo/index.js.map +1 -0
  121. package/dist/collection/components/picker/demo/style.css +26 -0
  122. package/dist/collection/components/picker/index.js +197 -396
  123. package/dist/collection/components/picker/index.js.map +1 -1
  124. package/dist/collection/components/picker/menu/index.js +422 -0
  125. package/dist/collection/components/picker/menu/index.js.map +1 -0
  126. package/dist/collection/components/picker/menu/style.css +44 -0
  127. package/dist/collection/components/picker/option/index.js +298 -0
  128. package/dist/collection/components/picker/option/index.js.map +1 -0
  129. package/dist/collection/components/picker/option/style.css +30 -0
  130. package/dist/collection/components/picker/slot-elements/index.js +109 -0
  131. package/dist/collection/components/picker/slot-elements/index.js.map +1 -0
  132. package/dist/collection/components/picker/slot-elements/style.css +3 -0
  133. package/dist/collection/components/picker/slotted-elements/index.js +84 -0
  134. package/dist/collection/components/picker/slotted-elements/index.js.map +1 -0
  135. package/dist/collection/components/picker/slotted-elements/style.css +3 -0
  136. package/dist/collection/components/picker/style.css +60 -144
  137. package/dist/collection/components/radio/index.js +4 -4
  138. package/dist/collection/components/radio/index.js.map +1 -1
  139. package/dist/collection/components/radio-button/index.js +35 -10
  140. package/dist/collection/components/radio-button/index.js.map +1 -1
  141. package/dist/collection/components/select-demo/index.js +0 -87
  142. package/dist/collection/components/select-demo/index.js.map +1 -1
  143. package/dist/collection/components/spinner/style.css +1 -0
  144. package/dist/collection/components/submit/index.js +64 -5
  145. package/dist/collection/components/submit/index.js.map +1 -1
  146. package/dist/collection/components/submit/style.css +224 -0
  147. package/dist/collection/components/summary/index.js +44 -1
  148. package/dist/collection/components/summary/index.js.map +1 -1
  149. package/dist/collection/components/svg/style.css +2 -2
  150. package/dist/collection/components/table/cell/index.js +1 -1
  151. package/dist/collection/components/table/cell/index.js.map +1 -1
  152. package/dist/collection/components/table/cell/style.css +19 -10
  153. package/dist/collection/components/table/demo/filtered/index.js +4 -3
  154. package/dist/collection/components/table/demo/filtered/index.js.map +1 -1
  155. package/dist/collection/components/table/demo/index.js +8 -2
  156. package/dist/collection/components/table/demo/index.js.map +1 -1
  157. package/dist/collection/components/table/demo/style.css +2 -0
  158. package/dist/collection/components/table/expandable/cell/index.js +14 -14
  159. package/dist/collection/components/table/expandable/cell/index.js.map +1 -1
  160. package/dist/collection/components/table/expandable/cell/style.css +32 -22
  161. package/dist/collection/components/table/expandable/row/index.js +9 -32
  162. package/dist/collection/components/table/expandable/row/index.js.map +1 -1
  163. package/dist/collection/components/table/expandable/row/style.css +32 -29
  164. package/dist/collection/components/table/footer/index.js +19 -0
  165. package/dist/collection/components/table/footer/index.js.map +1 -0
  166. package/dist/collection/components/table/footer/style.css +13 -0
  167. package/dist/collection/components/table/header/style.css +2 -2
  168. package/dist/collection/components/table/index.js +55 -12
  169. package/dist/collection/components/table/index.js.map +1 -1
  170. package/dist/collection/components/table/row/index.js +37 -5
  171. package/dist/collection/components/table/row/index.js.map +1 -1
  172. package/dist/collection/components/table/row/style.css +4 -1
  173. package/dist/collection/components/table/style.css +0 -2
  174. package/dist/collection/components/table/testing/data.js +28 -0
  175. package/dist/collection/components/table/testing/data.js.map +1 -0
  176. package/dist/collection/components/table/testing/index.js +28 -0
  177. package/dist/collection/components/table/testing/index.js.map +1 -0
  178. package/dist/collection/components/table/testing/style.css +22 -0
  179. package/dist/collection/components/theme/color/index.js +48 -0
  180. package/dist/collection/components/theme/color/index.js.map +1 -0
  181. package/dist/collection/components/theme/color/style.css +8 -0
  182. package/dist/collection/components/theme/color/variant/index.js +66 -0
  183. package/dist/collection/components/theme/color/variant/index.js.map +1 -0
  184. package/dist/collection/components/theme/color/variant/style.css +18 -0
  185. package/dist/collection/components/theme/colors/index.js +30 -0
  186. package/dist/collection/components/theme/colors/index.js.map +1 -0
  187. package/dist/collection/components/theme/colors/style.css +7 -0
  188. package/dist/collection/components/toggle-switch/index.js +69 -17
  189. package/dist/collection/components/toggle-switch/index.js.map +1 -1
  190. package/dist/collection/components/toggle-switch/style.css +19 -12
  191. package/dist/collection/components/trigger-source/index.js +3 -3
  192. package/dist/collection/components/trigger-source/index.js.map +1 -1
  193. package/dist/collection/global/Observers.js +22 -0
  194. package/dist/collection/global/Observers.js.map +1 -0
  195. package/dist/collection/global/index.js +5 -0
  196. package/dist/collection/global/index.js.map +1 -0
  197. package/dist/collection/index.js +2 -3
  198. package/dist/collection/index.js.map +1 -1
  199. package/dist/collection/model/Data.js.map +1 -0
  200. package/dist/collection/model/Icon.js +23 -0
  201. package/dist/collection/model/Icon.js.map +1 -0
  202. package/dist/collection/model/Listenable.js +2 -2
  203. package/dist/collection/model/Listenable.js.map +1 -1
  204. package/dist/collection/model/Notice.js +1 -1
  205. package/dist/collection/model/Notice.js.map +1 -1
  206. package/dist/collection/model/Option.js.map +1 -1
  207. package/dist/collection/model/index.js +3 -0
  208. package/dist/collection/model/index.js.map +1 -1
  209. package/dist/collection/model/redirect.js +8 -0
  210. package/dist/collection/model/redirect.js.map +1 -0
  211. package/dist/collection/smoothly.js +3 -0
  212. package/dist/collection/smoothly.js.map +1 -0
  213. package/dist/custom-elements/index.d.ts +94 -34
  214. package/dist/custom-elements/index.js +5359 -16299
  215. package/dist/custom-elements/index.js.map +1 -1
  216. package/dist/esm/{Listenable-fb6f4723.js → Data-37e7c0b9.js} +75 -5
  217. package/dist/esm/Data-37e7c0b9.js.map +1 -0
  218. package/dist/esm/Observers-5f08e828.js +25 -0
  219. package/dist/esm/Observers-5f08e828.js.map +1 -0
  220. package/dist/esm/{getLanguage-cccb8418.js → getLanguage-5233a597.js} +1111 -890
  221. package/dist/esm/getLanguage-5233a597.js.map +1 -0
  222. package/dist/esm/{index-7b57a52c.js → index-258984d3.js} +10 -42
  223. package/dist/esm/index-258984d3.js.map +1 -0
  224. package/dist/esm/index.js +388 -6
  225. package/dist/esm/index.js.map +1 -1
  226. package/dist/esm/loader.js +5 -4
  227. package/dist/esm/loader.js.map +1 -1
  228. package/dist/esm/redirect-b0f87e88.js +101 -0
  229. package/dist/esm/redirect-b0f87e88.js.map +1 -0
  230. package/dist/esm/smoothly-accordion_70.entry.js +17133 -0
  231. package/dist/esm/smoothly-accordion_70.entry.js.map +1 -0
  232. package/dist/esm/smoothly-address-display.entry.js +1 -1
  233. package/dist/esm/smoothly-address.entry.js +1 -1
  234. package/dist/esm/smoothly-addresses.entry.js +1 -1
  235. package/dist/esm/smoothly-color.entry.js +1 -1
  236. package/dist/esm/smoothly-country.entry.js +9 -9
  237. package/dist/esm/smoothly-country.entry.js.map +1 -1
  238. package/dist/esm/smoothly-display-date-time.entry.js +22 -0
  239. package/dist/esm/smoothly-display-date-time.entry.js.map +1 -0
  240. package/dist/esm/smoothly-google-font.entry.js +1 -1
  241. package/dist/esm/smoothly-radio-group.entry.js +1 -1
  242. package/dist/esm/smoothly-reorder.entry.js +1 -1
  243. package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
  244. package/dist/esm/smoothly-trigger-source.entry.js +4 -4
  245. package/dist/esm/smoothly-trigger-source.entry.js.map +1 -1
  246. package/dist/esm/smoothly.js +5 -4
  247. package/dist/esm/smoothly.js.map +1 -1
  248. package/dist/smoothly/index.esm.js +1 -1
  249. package/dist/smoothly/index.esm.js.map +1 -1
  250. package/dist/smoothly/{p-c49d2094.entry.js → p-12182a73.entry.js} +2 -2
  251. package/dist/smoothly/p-2a0c2387.js +2 -0
  252. package/dist/smoothly/p-2a0c2387.js.map +1 -0
  253. package/dist/smoothly/{p-940af6d3.entry.js → p-47151a53.entry.js} +2 -2
  254. package/dist/smoothly/{p-be2ff772.entry.js → p-4c1bb81e.entry.js} +2 -2
  255. package/dist/smoothly/p-5e387578.js +3 -0
  256. package/dist/smoothly/p-5e387578.js.map +1 -0
  257. package/dist/smoothly/{p-d4182274.entry.js → p-66e9a8b1.entry.js} +2 -2
  258. package/dist/smoothly/{p-79025273.entry.js → p-6aebb818.entry.js} +2 -2
  259. package/dist/smoothly/p-6fad95bf.entry.js +2 -0
  260. package/dist/smoothly/p-6fad95bf.entry.js.map +1 -0
  261. package/dist/smoothly/{p-e136b93e.entry.js → p-7bf147bf.entry.js} +2 -2
  262. package/dist/smoothly/{p-5b28795c.entry.js → p-b3eac6af.entry.js} +2 -2
  263. package/dist/smoothly/p-b9cb0514.js +2 -0
  264. package/dist/smoothly/p-b9cb0514.js.map +1 -0
  265. package/dist/smoothly/p-bf63d2e6.entry.js +2 -0
  266. package/dist/smoothly/p-bf63d2e6.entry.js.map +1 -0
  267. package/dist/smoothly/p-c833c402.js +2 -0
  268. package/dist/smoothly/p-c833c402.js.map +1 -0
  269. package/dist/smoothly/{p-712b362e.entry.js → p-cb493516.entry.js} +2 -2
  270. package/dist/smoothly/p-d6185f62.entry.js +2 -0
  271. package/dist/smoothly/p-d6185f62.entry.js.map +1 -0
  272. package/dist/smoothly/p-ede93d69.js +2 -0
  273. package/dist/smoothly/p-ede93d69.js.map +1 -0
  274. package/dist/smoothly/p-eef1c80b.entry.js +2 -0
  275. package/dist/smoothly/p-eef1c80b.entry.js.map +1 -0
  276. package/dist/smoothly/smoothly.esm.js +1 -1
  277. package/dist/smoothly/smoothly.esm.js.map +1 -1
  278. package/dist/types/components/Button.d.ts +1 -2
  279. package/dist/types/components/accordion/index.d.ts +1 -1
  280. package/dist/types/components/accordion-item/index.d.ts +5 -4
  281. package/dist/types/components/app/index.d.ts +25 -0
  282. package/dist/types/components/app/room/index.d.ts +25 -0
  283. package/dist/types/components/app-demo/index.d.ts +2 -0
  284. package/dist/types/components/backtotop/index.d.ts +1 -1
  285. package/dist/types/components/burger/index.d.ts +15 -0
  286. package/dist/types/components/button/index.d.ts +2 -2
  287. package/dist/types/components/checkbox/index.d.ts +4 -2
  288. package/dist/types/components/display/index.d.ts +1 -0
  289. package/dist/types/components/filter/input/index.d.ts +1 -1
  290. package/dist/types/components/form/index.d.ts +16 -3
  291. package/dist/types/components/frame/index.d.ts +1 -1
  292. package/dist/types/components/icon/index.d.ts +4 -9
  293. package/dist/types/components/input/Changeable.d.ts +7 -0
  294. package/dist/types/components/input/Input.d.ts +10 -0
  295. package/dist/types/components/input/Looks.d.ts +1 -0
  296. package/dist/types/components/input/Submittable.d.ts +6 -0
  297. package/dist/types/components/input/clear/index.d.ts +17 -0
  298. package/dist/types/components/input/date/index.d.ts +28 -0
  299. package/dist/types/components/input/date/range/index.d.ts +33 -0
  300. package/dist/types/components/input/demo/index.d.ts +8 -0
  301. package/dist/types/components/input/file/index.d.ts +24 -0
  302. package/dist/types/components/input/index.d.ts +17 -4
  303. package/dist/types/components/{input-month → input/month}/index.d.ts +1 -1
  304. package/dist/types/components/{selector → input/select}/index.d.ts +15 -3
  305. package/dist/types/components/notification/index.d.ts +3 -1
  306. package/dist/types/components/picker/demo/index.d.ts +18 -0
  307. package/dist/types/components/picker/index.d.ts +33 -45
  308. package/dist/types/components/picker/menu/index.d.ts +53 -0
  309. package/dist/types/components/picker/option/index.d.ts +23 -0
  310. package/dist/types/components/picker/slot-elements/index.d.ts +15 -0
  311. package/dist/types/components/picker/slotted-elements/index.d.ts +8 -0
  312. package/dist/types/components/radio/index.d.ts +1 -1
  313. package/dist/types/components/radio-button/index.d.ts +3 -5
  314. package/dist/types/components/select-demo/index.d.ts +0 -9
  315. package/dist/types/components/submit/index.d.ts +6 -1
  316. package/dist/types/components/summary/index.d.ts +4 -0
  317. package/dist/types/components/table/demo/filtered/index.d.ts +1 -1
  318. package/dist/types/components/table/expandable/cell/index.d.ts +4 -4
  319. package/dist/types/components/table/expandable/row/index.d.ts +3 -7
  320. package/dist/types/components/table/footer/index.d.ts +3 -0
  321. package/dist/types/components/table/index.d.ts +6 -3
  322. package/dist/types/components/table/row/index.d.ts +3 -1
  323. package/dist/types/components/table/testing/data.d.ts +5 -0
  324. package/dist/types/components/table/testing/index.d.ts +4 -0
  325. package/dist/types/components/theme/color/index.d.ts +5 -0
  326. package/dist/types/components/theme/color/variant/index.d.ts +6 -0
  327. package/dist/types/components/theme/colors/index.d.ts +3 -0
  328. package/dist/types/components/toggle-switch/index.d.ts +7 -2
  329. package/dist/types/components/trigger-source/index.d.ts +1 -1
  330. package/dist/types/components.d.ts +490 -226
  331. package/dist/types/global/Observers.d.ts +8 -0
  332. package/dist/types/global/index.d.ts +4 -0
  333. package/dist/types/index.d.ts +1 -4
  334. package/dist/types/model/Icon.d.ts +8 -0
  335. package/dist/types/model/Notice.d.ts +1 -1
  336. package/dist/types/model/Option.d.ts +24 -6
  337. package/dist/types/model/index.d.ts +4 -1
  338. package/dist/types/model/redirect.d.ts +1 -0
  339. package/dist/types/smoothly.d.ts +3 -0
  340. package/package.json +16 -16
  341. package/dist/cjs/Listenable-63ea2d90.js.map +0 -1
  342. package/dist/cjs/getLanguage-430ecf04.js.map +0 -1
  343. package/dist/cjs/index-8352a4e0.js.map +0 -1
  344. package/dist/cjs/index-b282ee83.js +0 -865
  345. package/dist/cjs/index-b282ee83.js.map +0 -1
  346. package/dist/cjs/smoothly-accordion_61.cjs.entry.js +0 -28113
  347. package/dist/cjs/smoothly-accordion_61.cjs.entry.js.map +0 -1
  348. package/dist/collection/components/App.js +0 -71
  349. package/dist/collection/components/App.js.map +0 -1
  350. package/dist/collection/components/form/Clearable.js.map +0 -1
  351. package/dist/collection/components/form/Data.js.map +0 -1
  352. package/dist/collection/components/input-date/index.js.map +0 -1
  353. package/dist/collection/components/input-date/style.css +0 -39
  354. package/dist/collection/components/input-date-range/index.js.map +0 -1
  355. package/dist/collection/components/input-date-range/style.css +0 -51
  356. package/dist/collection/components/input-demo/index.js +0 -45
  357. package/dist/collection/components/input-demo/index.js.map +0 -1
  358. package/dist/collection/components/input-month/index.js.map +0 -1
  359. package/dist/collection/components/menu-options/index.js +0 -413
  360. package/dist/collection/components/menu-options/index.js.map +0 -1
  361. package/dist/collection/components/menu-options/style.css +0 -18
  362. package/dist/collection/components/option/index.js +0 -270
  363. package/dist/collection/components/option/index.js.map +0 -1
  364. package/dist/collection/components/option/style.css +0 -42
  365. package/dist/collection/components/room/index.js +0 -90
  366. package/dist/collection/components/room/index.js.map +0 -1
  367. package/dist/collection/components/select/index.js +0 -108
  368. package/dist/collection/components/select/index.js.map +0 -1
  369. package/dist/collection/components/select/style.css +0 -20
  370. package/dist/collection/components/selector/index.js.map +0 -1
  371. package/dist/collection/components/selector/style.css +0 -46
  372. package/dist/esm/Listenable-fb6f4723.js.map +0 -1
  373. package/dist/esm/getLanguage-cccb8418.js.map +0 -1
  374. package/dist/esm/index-2e948fc3.js +0 -861
  375. package/dist/esm/index-2e948fc3.js.map +0 -1
  376. package/dist/esm/index-7b57a52c.js.map +0 -1
  377. package/dist/esm/smoothly-accordion_61.entry.js +0 -28049
  378. package/dist/esm/smoothly-accordion_61.entry.js.map +0 -1
  379. package/dist/smoothly/p-06337b89.js +0 -2
  380. package/dist/smoothly/p-06337b89.js.map +0 -1
  381. package/dist/smoothly/p-21341e18.entry.js +0 -2
  382. package/dist/smoothly/p-21341e18.entry.js.map +0 -1
  383. package/dist/smoothly/p-5b6351f6.js +0 -2
  384. package/dist/smoothly/p-5b6351f6.js.map +0 -1
  385. package/dist/smoothly/p-70280a11.js +0 -2
  386. package/dist/smoothly/p-70280a11.js.map +0 -1
  387. package/dist/smoothly/p-b49664d8.entry.js +0 -2
  388. package/dist/smoothly/p-b49664d8.entry.js.map +0 -1
  389. package/dist/smoothly/p-b82efb2e.entry.js +0 -2
  390. package/dist/smoothly/p-b82efb2e.entry.js.map +0 -1
  391. package/dist/smoothly/p-c88ae468.js +0 -3
  392. package/dist/smoothly/p-c88ae468.js.map +0 -1
  393. package/dist/types/components/App.d.ts +0 -5
  394. package/dist/types/components/input-date/index.d.ts +0 -14
  395. package/dist/types/components/input-date-range/index.d.ts +0 -23
  396. package/dist/types/components/input-demo/index.d.ts +0 -3
  397. package/dist/types/components/menu-options/index.d.ts +0 -35
  398. package/dist/types/components/option/index.d.ts +0 -32
  399. package/dist/types/components/room/index.d.ts +0 -7
  400. package/dist/types/components/select/index.d.ts +0 -14
  401. /package/dist/collection/components/{form → input}/Clearable.js +0 -0
  402. /package/dist/collection/components/{input-month → input/month}/style.css +0 -0
  403. /package/dist/collection/{components/form → model}/Data.js +0 -0
  404. /package/dist/smoothly/{p-c49d2094.entry.js.map → p-12182a73.entry.js.map} +0 -0
  405. /package/dist/smoothly/{p-940af6d3.entry.js.map → p-47151a53.entry.js.map} +0 -0
  406. /package/dist/smoothly/{p-be2ff772.entry.js.map → p-4c1bb81e.entry.js.map} +0 -0
  407. /package/dist/smoothly/{p-d4182274.entry.js.map → p-66e9a8b1.entry.js.map} +0 -0
  408. /package/dist/smoothly/{p-79025273.entry.js.map → p-6aebb818.entry.js.map} +0 -0
  409. /package/dist/smoothly/{p-e136b93e.entry.js.map → p-7bf147bf.entry.js.map} +0 -0
  410. /package/dist/smoothly/{p-5b28795c.entry.js.map → p-b3eac6af.entry.js.map} +0 -0
  411. /package/dist/smoothly/{p-712b362e.entry.js.map → p-cb493516.entry.js.map} +0 -0
  412. /package/dist/types/components/{form → input}/Clearable.d.ts +0 -0
  413. /package/dist/types/{components/form → model}/Data.d.ts +0 -0
@@ -1,413 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- export class SmoothlyMenuOptions {
3
- constructor() {
4
- this.optionElements = [];
5
- this.filteredOptions = [];
6
- this.highlightIndex = 0;
7
- this.keyword = undefined;
8
- this.toggle = false;
9
- this.emptyMenuLabel = "No Options";
10
- this.newOptionLabel = "Add:";
11
- this.maxMenuHeight = undefined;
12
- this.order = false;
13
- this.optionStyle = undefined;
14
- this.options = [];
15
- this.resetHighlightOnOptionsChange = true;
16
- this.mutable = false;
17
- }
18
- optionsChangeHandler() {
19
- this.highlightIndex = this.resetHighlightOnOptionsChange ? 0 : this.highlightIndex;
20
- }
21
- optionHoverHandler(event) {
22
- if (event.detail.value)
23
- this.setHighlight(event.detail.value);
24
- event.stopPropagation();
25
- }
26
- async moveHighlight(step) {
27
- if (this.filteredOptions.length > 0)
28
- this.setHighlight((this.highlightIndex + step + this.filteredOptions.length) % this.filteredOptions.length, true);
29
- }
30
- async setHighlight(newIndex, scrollToHighlight = false) {
31
- if (typeof newIndex == "number") {
32
- this.highlightIndex = newIndex;
33
- scrollToHighlight && this.scrollTo(this.highlightIndex);
34
- }
35
- else {
36
- const value = newIndex;
37
- let isHighlightSet = false;
38
- this.filteredOptions.forEach((option, index) => {
39
- const highlight = option.value == value;
40
- this.highlightIndex = highlight ? index : this.highlightIndex;
41
- highlight && scrollToHighlight && this.scrollTo(index);
42
- isHighlightSet = highlight ? true : isHighlightSet;
43
- });
44
- if (!isHighlightSet)
45
- this.setHighlight(0, true);
46
- }
47
- }
48
- async getHighlighted() {
49
- let result = undefined;
50
- if (this.highlightIndex != undefined && this.filteredOptions.length > 0)
51
- result = this.filteredOptions[this.highlightIndex];
52
- return result;
53
- }
54
- async filterOptions(keyword, excludeValues = []) {
55
- this.keyword = keyword;
56
- const keywordLowercase = keyword.toLowerCase();
57
- this.filteredOptions = [];
58
- for (const option of this.options) {
59
- const names = option.name + (option.aliases ? option.aliases.join(" ") : "");
60
- const isVisible = names.toLowerCase().includes(keywordLowercase) && !excludeValues.includes(option.value);
61
- isVisible && this.filteredOptions.push(option);
62
- }
63
- this.menuEmpty.emit(!this.filteredOptions.length);
64
- this.order && this.sortOptions(keyword);
65
- }
66
- sortOptions(keyword) {
67
- const keywordLowercase = keyword.toLowerCase();
68
- this.filteredOptions.sort((a, b) => {
69
- return this.getPriorityScore(a, keywordLowercase) - this.getPriorityScore(b, keywordLowercase);
70
- });
71
- }
72
- getPriorityScore(option, keywordLowercase) {
73
- let result = Number.MAX_SAFE_INTEGER;
74
- const name = option.name;
75
- const aliases = option.aliases ? option.aliases.join(" ") : "";
76
- const names = `${name ? name : ""} ${aliases ? aliases : ""}`.toLowerCase();
77
- if (name) {
78
- result = names.split(" ").reduce((minIndex, word) => {
79
- const index = word.indexOf(keywordLowercase);
80
- return index != -1 && index < minIndex ? index : minIndex;
81
- }, Number.MAX_SAFE_INTEGER);
82
- }
83
- return result;
84
- }
85
- scrollTo(optionIndex) {
86
- var _a;
87
- const optionHeight = (_a = this.firstOptionsElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height;
88
- if (optionHeight) {
89
- const menuHeight = this.element.getBoundingClientRect().height;
90
- const scrollPosition = this.element.scrollTop;
91
- const optionPosition = optionIndex * optionHeight;
92
- const numOptionsInMenu = Math.floor(menuHeight / optionHeight);
93
- if (optionPosition - optionHeight / 2 < scrollPosition)
94
- this.element.scrollTo({ top: (optionIndex - 1) * optionHeight });
95
- else if (scrollPosition < optionPosition + optionHeight - menuHeight)
96
- this.element.scrollTo({ top: (optionIndex + 1 - numOptionsInMenu) * optionHeight });
97
- }
98
- }
99
- render() {
100
- return (h(Host, { style: { "--max-menu-height": this.maxMenuHeight } }, this.filteredOptions.length > 0 ? (this.filteredOptions.map((option, index) => (h("smoothly-option", { style: this.optionStyle, toggle: this.toggle, ref: el => {
101
- index == 0 && (this.firstOptionsElement = el !== null && el !== void 0 ? el : this.firstOptionsElement);
102
- el && (this.optionElements[index] = el);
103
- }, checked: option.checked, value: option.value, name: option.name, divider: option.divider, "data-highlight": this.highlightIndex == index }, option.hint ? h("div", { slot: "hint" }, option.hint) : undefined)))) : this.mutable ? (h("smoothly-option", { style: this.optionStyle, value: this.keyword, name: this.keyword, "data-highlight": 0, new: true }, h("div", { slot: "left" }, h("smoothly-icon", { name: "square-outline", size: "small" }), " ", this.newOptionLabel))) : (h("div", null, this.emptyMenuLabel))));
104
- }
105
- static get is() { return "smoothly-menu-options"; }
106
- static get encapsulation() { return "shadow"; }
107
- static get originalStyleUrls() {
108
- return {
109
- "$": ["style.scss"]
110
- };
111
- }
112
- static get styleUrls() {
113
- return {
114
- "$": ["style.css"]
115
- };
116
- }
117
- static get properties() {
118
- return {
119
- "toggle": {
120
- "type": "boolean",
121
- "mutable": false,
122
- "complexType": {
123
- "original": "boolean",
124
- "resolved": "boolean",
125
- "references": {}
126
- },
127
- "required": false,
128
- "optional": false,
129
- "docs": {
130
- "tags": [],
131
- "text": ""
132
- },
133
- "attribute": "toggle",
134
- "reflect": false,
135
- "defaultValue": "false"
136
- },
137
- "emptyMenuLabel": {
138
- "type": "string",
139
- "mutable": true,
140
- "complexType": {
141
- "original": "string",
142
- "resolved": "string",
143
- "references": {}
144
- },
145
- "required": false,
146
- "optional": false,
147
- "docs": {
148
- "tags": [],
149
- "text": ""
150
- },
151
- "attribute": "empty-menu-label",
152
- "reflect": false,
153
- "defaultValue": "\"No Options\""
154
- },
155
- "newOptionLabel": {
156
- "type": "string",
157
- "mutable": false,
158
- "complexType": {
159
- "original": "string",
160
- "resolved": "string",
161
- "references": {}
162
- },
163
- "required": false,
164
- "optional": false,
165
- "docs": {
166
- "tags": [],
167
- "text": ""
168
- },
169
- "attribute": "new-option-label",
170
- "reflect": false,
171
- "defaultValue": "\"Add:\""
172
- },
173
- "maxMenuHeight": {
174
- "type": "string",
175
- "mutable": false,
176
- "complexType": {
177
- "original": "\"inherit\"",
178
- "resolved": "\"inherit\"",
179
- "references": {}
180
- },
181
- "required": false,
182
- "optional": false,
183
- "docs": {
184
- "tags": [],
185
- "text": ""
186
- },
187
- "attribute": "max-menu-height",
188
- "reflect": false
189
- },
190
- "order": {
191
- "type": "boolean",
192
- "mutable": false,
193
- "complexType": {
194
- "original": "boolean",
195
- "resolved": "boolean",
196
- "references": {}
197
- },
198
- "required": false,
199
- "optional": false,
200
- "docs": {
201
- "tags": [],
202
- "text": ""
203
- },
204
- "attribute": "order",
205
- "reflect": false,
206
- "defaultValue": "false"
207
- },
208
- "optionStyle": {
209
- "type": "any",
210
- "mutable": false,
211
- "complexType": {
212
- "original": "any",
213
- "resolved": "any",
214
- "references": {}
215
- },
216
- "required": false,
217
- "optional": false,
218
- "docs": {
219
- "tags": [],
220
- "text": ""
221
- },
222
- "attribute": "option-style",
223
- "reflect": false
224
- },
225
- "options": {
226
- "type": "unknown",
227
- "mutable": true,
228
- "complexType": {
229
- "original": "Option[]",
230
- "resolved": "Option[]",
231
- "references": {
232
- "Option": {
233
- "location": "import",
234
- "path": "../../model"
235
- }
236
- }
237
- },
238
- "required": false,
239
- "optional": false,
240
- "docs": {
241
- "tags": [],
242
- "text": ""
243
- },
244
- "defaultValue": "[]"
245
- },
246
- "resetHighlightOnOptionsChange": {
247
- "type": "boolean",
248
- "mutable": true,
249
- "complexType": {
250
- "original": "boolean",
251
- "resolved": "boolean",
252
- "references": {}
253
- },
254
- "required": false,
255
- "optional": false,
256
- "docs": {
257
- "tags": [],
258
- "text": ""
259
- },
260
- "attribute": "reset-highlight-on-options-change",
261
- "reflect": false,
262
- "defaultValue": "true"
263
- },
264
- "mutable": {
265
- "type": "boolean",
266
- "mutable": false,
267
- "complexType": {
268
- "original": "boolean",
269
- "resolved": "boolean",
270
- "references": {}
271
- },
272
- "required": false,
273
- "optional": false,
274
- "docs": {
275
- "tags": [],
276
- "text": ""
277
- },
278
- "attribute": "mutable",
279
- "reflect": false,
280
- "defaultValue": "false"
281
- }
282
- };
283
- }
284
- static get states() {
285
- return {
286
- "filteredOptions": {},
287
- "highlightIndex": {},
288
- "keyword": {}
289
- };
290
- }
291
- static get events() {
292
- return [{
293
- "method": "menuEmpty",
294
- "name": "menuEmpty",
295
- "bubbles": true,
296
- "cancelable": true,
297
- "composed": true,
298
- "docs": {
299
- "tags": [],
300
- "text": ""
301
- },
302
- "complexType": {
303
- "original": "boolean",
304
- "resolved": "boolean",
305
- "references": {}
306
- }
307
- }];
308
- }
309
- static get methods() {
310
- return {
311
- "moveHighlight": {
312
- "complexType": {
313
- "signature": "(step: number) => Promise<void>",
314
- "parameters": [{
315
- "tags": [],
316
- "text": ""
317
- }],
318
- "references": {
319
- "Promise": {
320
- "location": "global"
321
- }
322
- },
323
- "return": "Promise<void>"
324
- },
325
- "docs": {
326
- "text": "",
327
- "tags": []
328
- }
329
- },
330
- "setHighlight": {
331
- "complexType": {
332
- "signature": "(newIndex: number | string, scrollToHighlight?: boolean) => Promise<void>",
333
- "parameters": [{
334
- "tags": [],
335
- "text": ""
336
- }, {
337
- "tags": [],
338
- "text": ""
339
- }],
340
- "references": {
341
- "Promise": {
342
- "location": "global"
343
- }
344
- },
345
- "return": "Promise<void>"
346
- },
347
- "docs": {
348
- "text": "",
349
- "tags": []
350
- }
351
- },
352
- "getHighlighted": {
353
- "complexType": {
354
- "signature": "() => Promise<Option | undefined>",
355
- "parameters": [],
356
- "references": {
357
- "Promise": {
358
- "location": "global"
359
- },
360
- "Option": {
361
- "location": "import",
362
- "path": "../../model"
363
- }
364
- },
365
- "return": "Promise<Option | undefined>"
366
- },
367
- "docs": {
368
- "text": "",
369
- "tags": []
370
- }
371
- },
372
- "filterOptions": {
373
- "complexType": {
374
- "signature": "(keyword: string, excludeValues?: string[]) => Promise<void>",
375
- "parameters": [{
376
- "tags": [],
377
- "text": ""
378
- }, {
379
- "tags": [],
380
- "text": ""
381
- }],
382
- "references": {
383
- "Promise": {
384
- "location": "global"
385
- }
386
- },
387
- "return": "Promise<void>"
388
- },
389
- "docs": {
390
- "text": "",
391
- "tags": []
392
- }
393
- }
394
- };
395
- }
396
- static get elementRef() { return "element"; }
397
- static get watchers() {
398
- return [{
399
- "propName": "options",
400
- "methodName": "optionsChangeHandler"
401
- }];
402
- }
403
- static get listeners() {
404
- return [{
405
- "name": "optionHover",
406
- "method": "optionHoverHandler",
407
- "target": undefined,
408
- "capture": false,
409
- "passive": false
410
- }];
411
- }
412
- }
413
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/menu-options/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAQpH,MAAM,OAAO,mBAAmB;;IAEvB,mBAAc,GAAgC,EAAE,CAAA;2BAEO,EAAE;0BACvC,CAAC;;kBAEV,KAAK;0BACoB,YAAY;0BAC7B,MAAM;;iBAEf,KAAK;;mBAEuC,EAAE;yCACL,IAAI;mBAC3C,KAAK;;EAGvB,oBAAoB;IACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAA;EACnF,CAAC;EAED,kBAAkB,CAAC,KAAgD;IAClE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK;MACrB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtC,KAAK,CAAC,eAAe,EAAE,CAAA;EACxB,CAAC;EAED,KAAK,CAAC,aAAa,CAAC,IAAY;IAC/B,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;MAClC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;EACnH,CAAC;EAED,KAAK,CAAC,YAAY,CAAC,QAAyB,EAAE,iBAAiB,GAAG,KAAK;IACtE,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE;MAChC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;MAC9B,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;KACvD;SAAM;MACN,MAAM,KAAK,GAAG,QAAQ,CAAA;MACtB,IAAI,cAAc,GAAG,KAAK,CAAA;MAC1B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAA;QACvC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAA;QAC7D,SAAS,IAAI,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtD,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAA;MACnD,CAAC,CAAC,CAAA;MACF,IAAI,CAAC,cAAc;QAClB,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;KAC3B;EACF,CAAC;EAED,KAAK,CAAC,cAAc;IACnB,IAAI,MAAM,GAAG,SAAS,CAAA;IACtB,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;MACtE,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACnD,OAAO,MAAM,CAAA;EACd,CAAC;EAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,gBAA0B,EAAE;IAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACtB,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAC9C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;MAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;MAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;MACzG,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAC9C;IACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACjD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;EACxC,CAAC;EACD,WAAW,CAAC,OAAe;IAC1B,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;MAClD,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC/F,CAAC,CAAC,CAAA;EACH,CAAC;EACD,gBAAgB,CAAC,MAAc,EAAE,gBAAwB;IACxD,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAA;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,CAAA;IAC3E,IAAI,IAAI,EAAE;MACT,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,QAAgB,EAAE,IAAY,EAAE,EAAE;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC5C,OAAO,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;MAC1D,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;KAC3B;IACD,OAAO,MAAM,CAAA;EACd,CAAC;EACD,QAAQ,CAAC,WAAmB;;IAC3B,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,mBAAmB,0CAAE,qBAAqB,GAAG,MAAM,CAAA;IAC7E,IAAI,YAAY,EAAE;MACjB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAA;MAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;MAC7C,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,CAAA;MACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC,CAAA;MAC9D,IAAI,cAAc,GAAG,YAAY,GAAG,CAAC,GAAG,cAAc;QACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC,CAAA;WAC5D,IAAI,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU;QACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,YAAY,EAAE,CAAC,CAAA;KACpF;EACF,CAAC;EAED,MAAM;IACL,OAAO,CACN,EAAC,IAAI,IAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,aAAa,EAAE,IACtD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,uBACC,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,EAAE,CAAC,EAAE;QACT,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACzE,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;MACxC,CAAC,EACD,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,OAAO,EAAE,MAAM,CAAC,OAAO,oBACP,IAAI,CAAC,cAAc,IAAI,KAAK,IAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAK,IAAI,EAAC,MAAM,IAAE,MAAM,CAAC,IAAI,CAAO,CAAC,CAAC,CAAC,SAAS,CAC9C,CAClB,CAAC,CACF,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAClB,uBACC,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,IAAI,EAAE,IAAI,CAAC,OAAO,oBACF,CAAC,EACjB,GAAG,EAAE,IAAI;MACT,WAAK,IAAI,EAAC,MAAM;QACf,qBAAe,IAAI,EAAC,gBAAgB,EAAC,IAAI,EAAC,OAAO,GAAiB;;QAAE,IAAI,CAAC,cAAc,CAClF,CACW,CAClB,CAAC,CAAC,CAAC,CACH,eAAM,IAAI,CAAC,cAAc,CAAO,CAChC,CACK,CACP,CAAA;EACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Option } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-menu-options\",\n\tstyleUrl: \"style.scss\",\n\tshadow: true,\n})\nexport class SmoothlyMenuOptions {\n\tprivate firstOptionsElement: HTMLSmoothlyOptionElement\n\tprivate optionElements: HTMLSmoothlyOptionElement[] = []\n\t@Element() element: HTMLElement\n\t@State() filteredOptions: (Option & { checked?: boolean })[] = []\n\t@State() highlightIndex = 0\n\t@State() keyword?: string\n\t@Prop() toggle = false\n\t@Prop({ mutable: true }) emptyMenuLabel = \"No Options\"\n\t@Prop() newOptionLabel = \"Add:\"\n\t@Prop() maxMenuHeight: \"inherit\"\n\t@Prop() order = false\n\t@Prop() optionStyle: any\n\t@Prop({ mutable: true, reflect: true }) options: Option[] = []\n\t@Prop({ mutable: true }) resetHighlightOnOptionsChange = true\n\t@Prop() mutable = false\n\t@Event() menuEmpty: EventEmitter<boolean>\n\t@Watch(\"options\")\n\toptionsChangeHandler() {\n\t\tthis.highlightIndex = this.resetHighlightOnOptionsChange ? 0 : this.highlightIndex\n\t}\n\t@Listen(\"optionHover\")\n\toptionHoverHandler(event: CustomEvent<{ value: any; name: string }>) {\n\t\tif (event.detail.value)\n\t\t\tthis.setHighlight(event.detail.value)\n\t\tevent.stopPropagation()\n\t}\n\t@Method()\n\tasync moveHighlight(step: number) {\n\t\tif (this.filteredOptions.length > 0)\n\t\t\tthis.setHighlight((this.highlightIndex + step + this.filteredOptions.length) % this.filteredOptions.length, true)\n\t}\n\t@Method()\n\tasync setHighlight(newIndex: number | string, scrollToHighlight = false) {\n\t\tif (typeof newIndex == \"number\") {\n\t\t\tthis.highlightIndex = newIndex\n\t\t\tscrollToHighlight && this.scrollTo(this.highlightIndex)\n\t\t} else {\n\t\t\tconst value = newIndex\n\t\t\tlet isHighlightSet = false\n\t\t\tthis.filteredOptions.forEach((option, index) => {\n\t\t\t\tconst highlight = option.value == value\n\t\t\t\tthis.highlightIndex = highlight ? index : this.highlightIndex\n\t\t\t\thighlight && scrollToHighlight && this.scrollTo(index)\n\t\t\t\tisHighlightSet = highlight ? true : isHighlightSet\n\t\t\t})\n\t\t\tif (!isHighlightSet)\n\t\t\t\tthis.setHighlight(0, true)\n\t\t}\n\t}\n\t@Method()\n\tasync getHighlighted(): Promise<Option | undefined> {\n\t\tlet result = undefined\n\t\tif (this.highlightIndex != undefined && this.filteredOptions.length > 0)\n\t\t\tresult = this.filteredOptions[this.highlightIndex]\n\t\treturn result\n\t}\n\t@Method()\n\tasync filterOptions(keyword: string, excludeValues: string[] = []) {\n\t\tthis.keyword = keyword\n\t\tconst keywordLowercase = keyword.toLowerCase()\n\t\tthis.filteredOptions = []\n\t\tfor (const option of this.options) {\n\t\t\tconst names = option.name + (option.aliases ? option.aliases.join(\" \") : \"\")\n\t\t\tconst isVisible = names.toLowerCase().includes(keywordLowercase) && !excludeValues.includes(option.value)\n\t\t\tisVisible && this.filteredOptions.push(option)\n\t\t}\n\t\tthis.menuEmpty.emit(!this.filteredOptions.length)\n\t\tthis.order && this.sortOptions(keyword)\n\t}\n\tsortOptions(keyword: string) {\n\t\tconst keywordLowercase = keyword.toLowerCase()\n\t\tthis.filteredOptions.sort((a: Option, b: Option) => {\n\t\t\treturn this.getPriorityScore(a, keywordLowercase) - this.getPriorityScore(b, keywordLowercase)\n\t\t})\n\t}\n\tgetPriorityScore(option: Option, keywordLowercase: string) {\n\t\tlet result = Number.MAX_SAFE_INTEGER\n\t\tconst name = option.name\n\t\tconst aliases = option.aliases ? option.aliases.join(\" \") : \"\"\n\t\tconst names = `${name ? name : \"\"} ${aliases ? aliases : \"\"}`.toLowerCase()\n\t\tif (name) {\n\t\t\tresult = names.split(\" \").reduce((minIndex: number, word: string) => {\n\t\t\t\tconst index = word.indexOf(keywordLowercase)\n\t\t\t\treturn index != -1 && index < minIndex ? index : minIndex\n\t\t\t}, Number.MAX_SAFE_INTEGER)\n\t\t}\n\t\treturn result\n\t}\n\tscrollTo(optionIndex: number) {\n\t\tconst optionHeight = this.firstOptionsElement?.getBoundingClientRect().height\n\t\tif (optionHeight) {\n\t\t\tconst menuHeight = this.element.getBoundingClientRect().height\n\t\t\tconst scrollPosition = this.element.scrollTop\n\t\t\tconst optionPosition = optionIndex * optionHeight\n\t\t\tconst numOptionsInMenu = Math.floor(menuHeight / optionHeight)\n\t\t\tif (optionPosition - optionHeight / 2 < scrollPosition)\n\t\t\t\tthis.element.scrollTo({ top: (optionIndex - 1) * optionHeight })\n\t\t\telse if (scrollPosition < optionPosition + optionHeight - menuHeight)\n\t\t\t\tthis.element.scrollTo({ top: (optionIndex + 1 - numOptionsInMenu) * optionHeight })\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host style={{ \"--max-menu-height\": this.maxMenuHeight }}>\n\t\t\t\t{this.filteredOptions.length > 0 ? (\n\t\t\t\t\tthis.filteredOptions.map((option, index) => (\n\t\t\t\t\t\t<smoothly-option\n\t\t\t\t\t\t\tstyle={this.optionStyle}\n\t\t\t\t\t\t\ttoggle={this.toggle}\n\t\t\t\t\t\t\tref={el => {\n\t\t\t\t\t\t\t\tindex == 0 && (this.firstOptionsElement = el ?? this.firstOptionsElement)\n\t\t\t\t\t\t\t\tel && (this.optionElements[index] = el)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tchecked={option.checked}\n\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\tname={option.name}\n\t\t\t\t\t\t\tdivider={option.divider}\n\t\t\t\t\t\t\tdata-highlight={this.highlightIndex == index}>\n\t\t\t\t\t\t\t{option.hint ? <div slot=\"hint\">{option.hint}</div> : undefined}\n\t\t\t\t\t\t</smoothly-option>\n\t\t\t\t\t))\n\t\t\t\t) : this.mutable ? (\n\t\t\t\t\t<smoothly-option\n\t\t\t\t\t\tstyle={this.optionStyle}\n\t\t\t\t\t\tvalue={this.keyword}\n\t\t\t\t\t\tname={this.keyword}\n\t\t\t\t\t\tdata-highlight={0}\n\t\t\t\t\t\tnew={true}>\n\t\t\t\t\t\t<div slot=\"left\">\n\t\t\t\t\t\t\t<smoothly-icon name=\"square-outline\" size=\"small\"></smoothly-icon> {this.newOptionLabel}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-option>\n\t\t\t\t) : (\n\t\t\t\t\t<div>{this.emptyMenuLabel}</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -1,18 +0,0 @@
1
- :host {
2
- max-height: 18.75rem;
3
- width: 85%;
4
- max-height: var(--max-menu-height);
5
- box-sizing: border-box;
6
- background-color: rgb(var(--smoothly-default-color));
7
- border-radius: 0.25em;
8
- color: rgb(var(--smoothly-primary-color));
9
- stroke: rgb(var(--smoothly-primary-color));
10
- fill: rgb(var(--smoothly-primary-color));
11
- box-shadow: 0px 2px 1.5rem rgba(64, 60, 57, 0.08), inset 0px 0px 1px rgba(64, 60, 57, 0.4);
12
- overflow-y: auto;
13
- cursor: pointer;
14
- }
15
-
16
- :host:first-child {
17
- margin: 10em;
18
- }