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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/input/select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Color } from \"../../../model\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n@Component({\n\ttag: \"smoothly-input-select\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputSelect implements Input {\n\t@Element() element: HTMLSmoothlyInputSelectElement\n\t@Prop() name: string\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true, mutable: true }) type?: \"icon\"\n\t@Prop({ reflect: true, mutable: true }) showSelected?: boolean = true\n\t@Prop() initialPrompt?: string\n\t@Prop() initialValue?: any\n\t@State() opened = false\n\titems: HTMLSmoothlyItemElement[] = []\n\t@State() selectedElement?: HTMLSmoothlyItemElement\n\t@State() missing = false\n\tmainElement?: HTMLElement\n\t@State() filter = \"\"\n\t@Event() selected: EventEmitter<any>\n\t@Event() smoothlyInput: EventEmitter<Record<number, any>>\n\taside?: HTMLElement\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\n\tcomponentWillLoad() {\n\t\tthis.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)))\n\t}\n\n\t@Method()\n\tasync reset() {\n\t\tthis.selectedElement = undefined\n\t\tif (this.mainElement) {\n\t\t\t//reset to the same value as it started with\n\t\t\tthis.mainElement.innerHTML = this.initialPrompt ?? \"(none)\"\n\t\t}\n\t}\n\n\t@Watch(\"selectedElement\")\n\tonSelectedChange(value: HTMLSmoothlyItemElement | undefined, old: HTMLSmoothlyItemElement | undefined) {\n\t\tif (old)\n\t\t\told.selected = false\n\t\tthis.selected.emit(value?.value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value?.value })\n\t}\n\t@Watch(\"filter\")\n\tasync onFilterChange(value: string) {\n\t\tvalue = value.toLowerCase()\n\t\tif (!(await Promise.all(this.items.map(item => item.filter(value)))).some(r => r)) {\n\t\t\tthis.missing = true\n\t\t\tthis.items.forEach(el => el.filter(\"\"))\n\t\t} else\n\t\t\tthis.missing = false\n\t}\n\t@Listen(\"click\")\n\tonClick(event: UIEvent) {\n\t\tevent.stopPropagation()\n\t\tthis.opened = !this.opened\n\t}\n\t@Listen(\"itemSelected\")\n\tonItemSelected(event: Event) {\n\t\tthis.selectedElement && (this.selectedElement.hidden = false)\n\t\tthis.selectedElement = event.target as HTMLSmoothlyItemElement\n\t\t!this.showSelected && (this.selectedElement.hidden = true)\n\t\tif (this.mainElement)\n\t\t\tthis.mainElement.innerHTML = this.selectedElement.innerHTML\n\t}\n\t@Watch(\"opened\")\n\tonClosed() {\n\t\tif (!this.opened) {\n\t\t\tconst marked = this.items.find(item => item.marked)\n\t\t\tif (marked)\n\t\t\t\tmarked.marked = false\n\t\t}\n\t}\n\n\t@Listen(\"keydown\")\n\tonKeyDown(event: KeyboardEvent) {\n\t\tevent.stopPropagation()\n\t\tevent.preventDefault()\n\t\tif (this.opened) {\n\t\t\tlet direction: -1 | 0 | 1 = 0\n\t\t\tswitch (event.key) {\n\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\tdirection = -1\n\t\t\t\t\tbreak\n\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\tdirection = 1\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Escape\":\n\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Backspace\":\n\t\t\t\t\tthis.filter = this.filter.slice(0, -1)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Enter\":\n\t\t\t\t\tconst result = this.items.find(item => item.marked)\n\t\t\t\t\tif (result?.value) {\n\t\t\t\t\t\tresult.selected = true\n\t\t\t\t\t}\n\t\t\t\t\tthis.opened = false\n\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tif (event.key.length == 1)\n\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t\tthis.move(direction)\n\t\t} else if (event.key == \"Enter\")\n\t\t\tthis.opened = true\n\t}\n\tprivate move(direction: -1 | 0 | 1): void {\n\t\tif (direction) {\n\t\t\tlet markedIndex = this.items.findIndex(item => item.marked)\n\t\t\tif (markedIndex == -1)\n\t\t\t\tmarkedIndex = this.items.findIndex(item => item.selected)\n\t\t\tif (this.items[markedIndex])\n\t\t\t\tthis.items[markedIndex].marked = false\n\t\t\tdo {\n\t\t\t\tmarkedIndex = (markedIndex + direction + this.items.length) % this.items.length\n\t\t\t} while (this.items[markedIndex].hidden)\n\t\t\tthis.items[markedIndex].marked = true\n\t\t\tthis.items[markedIndex].focus()\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host tabIndex={2} class={(this.missing ? \"missing\" : this.type) ?? \"\"}>\n\t\t\t\t<main ref={element => (this.mainElement = element)}>{this.initialPrompt ?? \"(none)\"}</main>\n\t\t\t\t{this.filter.length != 0 ? (\n\t\t\t\t\t<aside ref={element => (this.aside = element)}>\n\t\t\t\t\t\t{this.filter}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<smoothly-icon name=\"close\" size=\"small\"></smoothly-icon>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</aside>\n\t\t\t\t) : undefined}\n\t\t\t\t{this.opened ? <section onClick={() => (this.opened = true)}></section> : []}\n\t\t\t\t<div class={this.opened ? \"\" : \"hidden\"}>\n\t\t\t\t\t<nav>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</nav>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\tcomponentDidRender() {\n\t\tconst items: HTMLSmoothlyItemElement[] = []\n\t\tconst children = this.element.querySelectorAll(\"div > nav > smoothly-item\")\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tconst node = children.item(i)\n\t\t\tif (isItem(node)) {\n\t\t\t\titems.push(node)\n\t\t\t\tnode.value == this.initialValue && this.mainElement && !this.selectedElement && (node.selected = true)\n\t\t\t}\n\t\t}\n\t\tthis.items = items\n\t}\n}\nfunction isItem(value: HTMLSmoothlyItemElement | any): value is HTMLSmoothlyItemElement {\n\treturn (\n\t\ttypeof value == \"object\" &&\n\t\t(typeof value.selected == \"boolean\" || value.selected == undefined) &&\n\t\ttypeof value.filter == \"function\"\n\t)\n}\n"]}
@@ -0,0 +1,80 @@
1
+ :host {
2
+ box-sizing: border-box;
3
+ }
4
+ :host[looks="border"]::slotted(smoothly-picker-menu smoothly-input),
5
+ :host[looks="border"] {
6
+ border: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
7
+ }
8
+ :host[looks="line"]::slotted(smoothly-picker-menu smoothly-input),
9
+ :host[looks="line"] {
10
+ border-bottom: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
11
+ }
12
+ :host[looks="grid"]::slotted(smoothly-picker-menu smoothly-input),
13
+ :host[looks="grid"] {
14
+ border: rgba(var(--text-color, var(--smoothly-color-contrast)), .5) solid .5px;
15
+ }
16
+
17
+
18
+ :host {
19
+ display: flex;
20
+ position: relative;
21
+ background-color: rgb(var(--background-color, var(--smoothly-color-shade)));
22
+ }
23
+
24
+ :host.icon {
25
+ width: fit-content;
26
+ flex-direction: column;
27
+ }
28
+
29
+ :host>main,
30
+ :host>main>* {
31
+ height: 100%;
32
+ display: flex;
33
+ align-items: center;
34
+ }
35
+
36
+ :host.icon>main,
37
+ :host.icon>main>* {
38
+ padding: 0.5em;
39
+ }
40
+
41
+ :host>div>nav {
42
+ display: flex;
43
+ flex-direction: column;
44
+ position: absolute;
45
+ z-index: 10;
46
+ height: var(--menu-height, unset);
47
+ overflow-y: scroll;
48
+ }
49
+
50
+ :host>aside {
51
+ position: absolute;
52
+ top: 0;
53
+ left: 5em;
54
+ z-index: 10;
55
+ background-color: rgb(var(--smoothly-tertiary-color));
56
+ color: rgb(var(--smoothly-tertiary-contrast));
57
+ height: 1.25rem;
58
+ border-radius: 0.3rem;
59
+ padding: 0.3rem;
60
+ display: flex;
61
+ align-items: center;
62
+ }
63
+
64
+ :host().missing>aside {
65
+ background-color: rgb(var(--smoothly-warning-color));
66
+ color: rgb(var(--smoothly-warning-contrast));
67
+ }
68
+
69
+ .hidden {
70
+ display: none;
71
+ }
72
+
73
+ :host>section {
74
+ position: fixed;
75
+ top: 0px;
76
+ left: 0px;
77
+ width: 100vw;
78
+ height: 100vh;
79
+ z-index: 10;
80
+ }
@@ -1,3 +1,20 @@
1
+ :host {
2
+ box-sizing: border-box;
3
+ }
4
+ :host[looks="border"]::slotted(smoothly-picker-menu smoothly-input),
5
+ :host[looks="border"] {
6
+ border: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
7
+ }
8
+ :host[looks="line"]::slotted(smoothly-picker-menu smoothly-input),
9
+ :host[looks="line"] {
10
+ border-bottom: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
11
+ }
12
+ :host[looks="grid"]::slotted(smoothly-picker-menu smoothly-input),
13
+ :host[looks="grid"] {
14
+ border: rgba(var(--text-color, var(--smoothly-color-contrast)), .5) solid .5px;
15
+ }
16
+
17
+
1
18
  :host {
2
19
  display: flex;
3
20
  align-items: center;
@@ -5,8 +22,8 @@
5
22
  font-weight: var(--smoothly-font-weight);
6
23
  padding: 0 0.4em;
7
24
  overflow: hidden;
8
- background-color: rgb(var(--background-color));
9
- color: rgb(var(--text-color, var(--smoothly-default-contrast)));
25
+ background-color: rgb(var(--background-color, var(--smoothly-color-shade)));
26
+ color: rgb(var(--text-color, var(--smoothly-color-contrast)));
10
27
  }
11
28
  :host[hidden] {
12
29
  display: none;
@@ -23,7 +40,6 @@ label {
23
40
  position: absolute;
24
41
  left: 0;
25
42
  top: 0.6em;
26
- color: rgb(var(--text-color, var(--smoothly-default-contrast)));
27
43
  opacity: 0.8;
28
44
  user-select: none;
29
45
  cursor: inherit;
@@ -41,13 +57,12 @@ input {
41
57
  box-sizing: border-box;
42
58
  width: 100%;
43
59
  height: 100%;
44
- background: none;
45
60
  border: 0;
46
61
  z-index: 1;
47
62
  position: relative;
48
63
  font-size: 1rem;
49
64
  font-family: var(--smoothly-font-family);
50
- background-color: rgb(var(--background-color));
65
+ background-color: rgb(var(--background-color, var(--smoothly-color-shade)));
51
66
  }
52
67
  smoothly-icon {
53
68
  display: none;
@@ -76,10 +91,10 @@ input:-webkit-autofill,
76
91
  input:-webkit-autofill:hover,
77
92
  input:-webkit-autofill:focus,
78
93
  input:-webkit-autofill:active {
79
- box-shadow: 0 0 0 40em rgb(var(--background-color)) inset;
80
- -webkit-box-shadow: 0 0 0 40em rgb(var(--background-color)) inset;
94
+ box-shadow: 0 0 0 40em rgb(var(--background-color, var(--smoothly-color-shade))) inset;
95
+ -webkit-box-shadow: 0 0 0 40em rgb(var(--background-color, var(--smoothly-color-shade))) inset;
81
96
  }
82
97
  input:-webkit-autofill,
83
98
  input:-webkit-autofill + label {
84
- -webkit-text-fill-color: rgb(var(--text-color, var(--smoothly-default-contrast)));
99
+ -webkit-text-fill-color: rgb(var(--text-color, var(--smoothly-color-contrast)));
85
100
  }
@@ -2,33 +2,34 @@ import { h, Host } from "@stencil/core";
2
2
  export class Notification {
3
3
  constructor() {
4
4
  this.listener = notice => {
5
- console.log("changed: ", notice);
6
5
  if (notice.state == "closed")
7
6
  this.remove.emit(notice);
8
7
  else
9
8
  this.tick = {};
10
9
  };
11
10
  this.notice = undefined;
11
+ this.closable = true;
12
+ this.icon = false;
12
13
  this.tick = {};
13
14
  }
14
- get color() {
15
+ get properties() {
15
16
  let result;
16
17
  switch (this.notice.state) {
17
18
  case "delayed":
18
19
  case "warning":
19
- result = "warning";
20
+ result = ["warning", "warning-outline"];
20
21
  break;
21
22
  case "success":
22
- result = "success";
23
+ result = ["success", "checkmark-circle"];
23
24
  break;
24
25
  case "executing":
25
- result = "light";
26
+ result = ["light", "hourglass-outline"];
26
27
  break;
27
28
  case "failed":
28
- result = "danger";
29
+ result = ["danger", "alert-circle"];
29
30
  break;
30
31
  default:
31
- result = "light";
32
+ result = ["light", undefined];
32
33
  break;
33
34
  }
34
35
  return result;
@@ -48,7 +49,7 @@ export class Notification {
48
49
  this.onUpdatedNotice(this.notice);
49
50
  }
50
51
  render() {
51
- return (h(Host, { color: this.color, fill: "solid" }, h("smoothly-trigger", { fill: "clear", name: "close" }, h("smoothly-icon", { name: "close-circle-outline" })), h("p", null, this.notice.message)));
52
+ return (h(Host, { color: this.properties[0], fill: "solid" }, this.closable ? (h("smoothly-trigger", { fill: "clear", name: "close" }, h("smoothly-icon", { name: "close-circle-outline" }))) : (""), h("span", { class: this.icon ? "icon" : "clean" }, this.icon ? h("smoothly-icon", { name: this.properties[1] }) : "", h("p", null, this.notice.message))));
52
53
  }
53
54
  static get is() { return "smoothly-notification"; }
54
55
  static get encapsulation() { return "scoped"; }
@@ -83,6 +84,42 @@ export class Notification {
83
84
  "tags": [],
84
85
  "text": ""
85
86
  }
87
+ },
88
+ "closable": {
89
+ "type": "boolean",
90
+ "mutable": false,
91
+ "complexType": {
92
+ "original": "boolean",
93
+ "resolved": "boolean",
94
+ "references": {}
95
+ },
96
+ "required": false,
97
+ "optional": false,
98
+ "docs": {
99
+ "tags": [],
100
+ "text": ""
101
+ },
102
+ "attribute": "closable",
103
+ "reflect": false,
104
+ "defaultValue": "true"
105
+ },
106
+ "icon": {
107
+ "type": "boolean",
108
+ "mutable": false,
109
+ "complexType": {
110
+ "original": "boolean",
111
+ "resolved": "boolean",
112
+ "references": {}
113
+ },
114
+ "required": false,
115
+ "optional": false,
116
+ "docs": {
117
+ "tags": [],
118
+ "text": ""
119
+ },
120
+ "attribute": "icon",
121
+ "reflect": false,
122
+ "defaultValue": "false"
86
123
  }
87
124
  };
88
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/notification/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAQnG,MAAM,OAAO,YAAY;;IAIhB,aAAQ,GAAoB,MAAM,CAAC,EAAE;MAC5C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;MAChC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;;QAExB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;IAChB,CAAC,CAAA;;gBARe,EAAE;;EASlB,IAAY,KAAK;IAChB,IAAI,MAAa,CAAA;IACjB,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;MAC1B,KAAK,SAAS,CAAC;MACf,KAAK,SAAS;QACb,MAAM,GAAG,SAAS,CAAA;QAClB,MAAK;MACN,KAAK,SAAS;QACb,MAAM,GAAG,SAAS,CAAA;QAClB,MAAK;MACN,KAAK,WAAW;QACf,MAAM,GAAG,OAAO,CAAA;QAChB,MAAK;MACN,KAAK,QAAQ;QACZ,MAAM,GAAG,QAAQ,CAAA;QACjB,MAAK;MACN;QACC,MAAM,GAAG,OAAO,CAAA;QAChB,MAAK;KACN;IACD,OAAO,MAAM,CAAA;EACd,CAAC;EAED,SAAS,CAAC,KAA2B;IACpC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE;MACjC,KAAK,CAAC,eAAe,EAAE,CAAA;MACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;KACnB;EACF,CAAC;EAGD,eAAe,CAAC,QAAgB,EAAE,QAAiB;IAClD,IAAI,QAAQ;MACX,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;EAC/B,CAAC;EACD,gBAAgB;IACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;EAClC,CAAC;EAED,MAAM;IACL,OAAO,CACN,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAC,OAAO;MACpC,wBAAkB,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO;QAC1C,qBAAe,IAAI,EAAC,sBAAsB,GAAiB,CACzC;MACnB,aAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAK,CACtB,CACP,CAAA;EACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Component, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\"\nimport { Color, Notice, Trigger } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-notification\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class Notification {\n\t@Prop() notice: Notice\n\t@State() tick = {}\n\t@Event() remove: EventEmitter<Notice>\n\tprivate listener: Notice.Listener = notice => {\n\t\tconsole.log(\"changed: \", notice)\n\t\tif (notice.state == \"closed\")\n\t\t\tthis.remove.emit(notice)\n\t\telse\n\t\t\tthis.tick = {}\n\t}\n\tprivate get color(): Color {\n\t\tlet result: Color\n\t\tswitch (this.notice.state) {\n\t\t\tcase \"delayed\":\n\t\t\tcase \"warning\":\n\t\t\t\tresult = \"warning\"\n\t\t\t\tbreak\n\t\t\tcase \"success\":\n\t\t\t\tresult = \"success\"\n\t\t\t\tbreak\n\t\t\tcase \"executing\":\n\t\t\t\tresult = \"light\"\n\t\t\t\tbreak\n\t\t\tcase \"failed\":\n\t\t\t\tresult = \"danger\"\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = \"light\"\n\t\t\t\tbreak\n\t\t}\n\t\treturn result\n\t}\n\t@Listen(\"trigger\")\n\tonTrigger(event: CustomEvent<Trigger>) {\n\t\tif (event.detail.name == \"close\") {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.notice.close()\n\t\t}\n\t}\n\n\t@Watch(\"notice\")\n\tonUpdatedNotice(newValue: Notice, oldValue?: Notice) {\n\t\tif (oldValue)\n\t\t\toldValue.unlisten(this.listener)\n\t\tnewValue.listen(this.listener)\n\t}\n\tcomponentDidLoad() {\n\t\tthis.onUpdatedNotice(this.notice)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host color={this.color} fill=\"solid\">\n\t\t\t\t<smoothly-trigger fill=\"clear\" name=\"close\">\n\t\t\t\t\t<smoothly-icon name=\"close-circle-outline\"></smoothly-icon>\n\t\t\t\t</smoothly-trigger>\n\t\t\t\t<p>{this.notice.message}</p>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/notification/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AASnG,MAAM,OAAO,YAAY;;IAMhB,aAAQ,GAAoB,MAAM,CAAC,EAAE;MAC5C,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;;QAExB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;IAChB,CAAC,CAAA;;oBATkB,IAAI;gBACR,KAAK;gBACJ,EAAE;;EAQlB,IAAY,UAAU;IACrB,IAAI,MAAiC,CAAA;IACrC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;MAC1B,KAAK,SAAS,CAAC;MACf,KAAK,SAAS;QACb,MAAM,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;QACvC,MAAK;MACN,KAAK,SAAS;QACb,MAAM,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QACxC,MAAK;MACN,KAAK,WAAW;QACf,MAAM,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;QACvC,MAAK;MACN,KAAK,QAAQ;QACZ,MAAM,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QACnC,MAAK;MACN;QACC,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC7B,MAAK;KACN;IACD,OAAO,MAAM,CAAA;EACd,CAAC;EAGD,SAAS,CAAC,KAA2B;IACpC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE;MACjC,KAAK,CAAC,eAAe,EAAE,CAAA;MACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;KACnB;EACF,CAAC;EAGD,eAAe,CAAC,QAAgB,EAAE,QAAiB;IAClD,IAAI,QAAQ;MACX,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;EAC/B,CAAC;EACD,gBAAgB;IACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;EAClC,CAAC;EAED,MAAM;IACL,OAAO,CACN,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC,OAAO;MAC3C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChB,wBAAkB,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO;QAC1C,qBAAe,IAAI,EAAC,sBAAsB,GAAiB,CACzC,CACnB,CAAC,CAAC,CAAC,CACH,EAAE,CACF;MACD,YAAM,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAe,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAkB,CAAC,CAAC,CAAC,EAAE;QAC3E,aAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAK,CACtB,CACD,CACP,CAAA;EACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Component, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\"\nimport { Color, Notice, Trigger } from \"../../model\"\nimport { Icon } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-notification\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class Notification {\n\t@Prop() notice: Notice\n\t@Prop() closable = true\n\t@Prop() icon = false\n\t@State() tick = {}\n\t@Event() remove: EventEmitter<Notice>\n\tprivate listener: Notice.Listener = notice => {\n\t\tif (notice.state == \"closed\")\n\t\t\tthis.remove.emit(notice)\n\t\telse\n\t\t\tthis.tick = {}\n\t}\n\tprivate get properties(): [Color, Icon | undefined] {\n\t\tlet result: [Color, Icon | undefined]\n\t\tswitch (this.notice.state) {\n\t\t\tcase \"delayed\":\n\t\t\tcase \"warning\":\n\t\t\t\tresult = [\"warning\", \"warning-outline\"]\n\t\t\t\tbreak\n\t\t\tcase \"success\":\n\t\t\t\tresult = [\"success\", \"checkmark-circle\"]\n\t\t\t\tbreak\n\t\t\tcase \"executing\":\n\t\t\t\tresult = [\"light\", \"hourglass-outline\"]\n\t\t\t\tbreak\n\t\t\tcase \"failed\":\n\t\t\t\tresult = [\"danger\", \"alert-circle\"]\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = [\"light\", undefined]\n\t\t\t\tbreak\n\t\t}\n\t\treturn result\n\t}\n\n\t@Listen(\"trigger\")\n\tonTrigger(event: CustomEvent<Trigger>) {\n\t\tif (event.detail.name == \"close\") {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.notice.close()\n\t\t}\n\t}\n\n\t@Watch(\"notice\")\n\tonUpdatedNotice(newValue: Notice, oldValue?: Notice) {\n\t\tif (oldValue)\n\t\t\toldValue.unlisten(this.listener)\n\t\tnewValue.listen(this.listener)\n\t}\n\tcomponentDidLoad() {\n\t\tthis.onUpdatedNotice(this.notice)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host color={this.properties[0]} fill=\"solid\">\n\t\t\t\t{this.closable ? (\n\t\t\t\t\t<smoothly-trigger fill=\"clear\" name=\"close\">\n\t\t\t\t\t\t<smoothly-icon name=\"close-circle-outline\"></smoothly-icon>\n\t\t\t\t\t</smoothly-trigger>\n\t\t\t\t) : (\n\t\t\t\t\t\"\"\n\t\t\t\t)}\n\t\t\t\t<span class={this.icon ? \"icon\" : \"clean\"}>\n\t\t\t\t\t{this.icon ? <smoothly-icon name={this.properties[1]}></smoothly-icon> : \"\"}\n\t\t\t\t\t<p>{this.notice.message}</p>\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -1,14 +1,38 @@
1
1
  :host {
2
2
  display: block;
3
- min-width: 32.6%;
3
+ width: 30em;
4
4
  min-height: 3em;
5
5
  border-radius: 5px;
6
6
  margin: 0.5em;
7
7
  }
8
+ .clean {
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+ padding: 0.5em 1em;
13
+ }
14
+ .icon {
15
+ display: grid;
16
+ width: 100%;
17
+ grid-template-columns: 1fr 5fr;
18
+ }
19
+ .icon > p{
20
+ padding-right: 1em;
21
+ }
22
+ :host > span > p {
23
+ text-align: left;
24
+ }
8
25
  :host[hidden] {
9
26
  display: none;
10
27
  }
28
+ smoothly-icon {
29
+ left: 0;
30
+ font-size: 1.2em;
31
+ align-self: center;
32
+ justify-self: center;
33
+ }
11
34
  smoothly-trigger {
35
+ font-size: 0.5em;
12
36
  float: right;
13
37
  text-align: right;
14
38
  margin-right: 0.2em;
@@ -8,11 +8,9 @@
8
8
  display: flex;
9
9
  flex-wrap: wrap-reverse;
10
10
  align-content: stretch;
11
- justify-content: flex-start;
12
11
  position: fixed;
13
- bottom: 3em;
12
+ bottom: 3rem;
14
13
  left: 0;
15
14
  text-align: center;
16
- width: 100%;
17
15
  z-index: 100;
18
16
  }
@@ -0,0 +1,91 @@
1
+ import { h, Host } from "@stencil/core";
2
+ import { Notice } from "../../../model";
3
+ function validateEmail(email) {
4
+ return email.match(/^.+@.+/) ? true : { result: false, notice: Notice.failed("That is not an email") };
5
+ }
6
+ export class SmoothlyPickerDemo {
7
+ constructor() {
8
+ this.users = {
9
+ "giovani@rocket.com": "giovani doe",
10
+ "jessie@rocket.com": "jessie doe",
11
+ "james@rocket.com": "james doe",
12
+ };
13
+ this.counter = 3;
14
+ this.data = {
15
+ message: "hello world",
16
+ emails: ["jessie@rocket.com", "james@rocket.com"],
17
+ options: [
18
+ "giovani@rocket.com",
19
+ "john@example.com",
20
+ "jane@example.com",
21
+ "jack@example.com",
22
+ "jessica@example.com",
23
+ "julia@example.com",
24
+ "jayden@example.com",
25
+ "jake@example.com",
26
+ "jamie@example.com",
27
+ "jasmine@example.com",
28
+ ],
29
+ };
30
+ this.change = undefined;
31
+ }
32
+ inputHandler(event) {
33
+ if (this.change) {
34
+ this.change = Object.assign(Object.assign({}, this.change), event.detail);
35
+ console.log("demo input", this.change);
36
+ }
37
+ }
38
+ submitHandler(event) {
39
+ console.log("submitted", event.detail);
40
+ }
41
+ clickHandler() {
42
+ var _a, _b;
43
+ if (!this.change)
44
+ (_a = this.controls) === null || _a === void 0 ? void 0 : _a.remember();
45
+ else
46
+ (_b = this.controls) === null || _b === void 0 ? void 0 : _b.restore();
47
+ this.change = this.change ? undefined : Object.assign(Object.assign({}, this.data), { emails: [...this.data.emails] });
48
+ }
49
+ loadedHandler(event) {
50
+ this.controls = event.detail;
51
+ }
52
+ render() {
53
+ var _a, _b;
54
+ return (h(Host, null, h("div", null, h("smoothly-button", { onClick: () => (this.counter += 1) }, "Add one"), h("smoothly-button", { onClick: () => (this.counter -= 1) }, "Remove one"), h("smoothly-picker", { class: "counter", key: Array.from({ length: this.counter }).toString(), name: "counter", multiple: true, mutable: true, onSmoothlyInput: e => console.log("demo counter input", e.detail) }, Array.from({ length: this.counter }).map((_, index) => (h("smoothly-picker-option", { value: index, selected: index < this.counter - 1 }, index))), h("span", { slot: "search" }, "Search"), h("button", { slot: "child", class: "counter-button" }, h("smoothly-icon", { name: "add-outline" })))), h("smoothly-button", { onClick: () => this.clickHandler() }, !this.change ? "start edit" : "end edit"), h("h5", null, "Controlled input"), h("smoothly-form", { looks: "line", onSmoothlyFormInput: e => this.inputHandler(e) }, h("smoothly-input", { readonly: !this.change, name: "message", value: this.data.message }, "Message"), h("smoothly-picker", { name: "emails", mutable: true, multiple: true, readonly: !this.change, validator: validateEmail, onSmoothlyPickerLoaded: e => this.loadedHandler(e) }, h("span", { slot: "label" }, "Emails"), h("span", { slot: "search" }, "Search"), h("smoothly-icon", { size: "tiny", slot: "display", name: "person-add-outline" }), ((_b = (_a = this.change) === null || _a === void 0 ? void 0 : _a.emails) !== null && _b !== void 0 ? _b : this.data.emails).map(email => {
55
+ var _a;
56
+ return (h("smoothly-picker-option", { key: email, value: email, selected: true, search: [(_a = this.users[email]) !== null && _a !== void 0 ? _a : []].flat() }, h("span", null, this.users[email]), h("span", { slot: "label" }, email), h("smoothly-icon", { size: "tiny", slot: "display", name: "person-outline" })));
57
+ }), this.data.options.map(email => {
58
+ var _a;
59
+ return (h("smoothly-picker-option", { key: email, value: email, search: [(_a = this.users[email]) !== null && _a !== void 0 ? _a : []].flat() }, h("span", null, this.users[email]), h("span", { slot: "label" }, email), h("smoothly-icon", { size: "tiny", slot: "display", name: "person-outline" })));
60
+ })), h("smoothly-submit", { size: "icon", slot: "submit" }, h("smoothly-icon", { name: "checkmark-circle" })), h("smoothly-input-clear", { type: "form", color: "danger", fill: "solid", slot: "clear" }, "Clear")), h("h5", null, "uncontrolled inputs"), h("smoothly-form", { onSmoothlyFormSubmit: e => console.log("submitted", e.detail), looks: "line" }, h("smoothly-input", { name: "purpose", type: "text" }, "Purpose"), h("smoothly-picker", { multiple: true, mutable: true, name: "emails", validator: validateEmail }, h("span", { slot: "label" }, "Emails"), h("span", { slot: "search" }, "Search"), h("smoothly-picker-option", { value: "james@rocket.com" }, "james@rocket.com"), h("smoothly-picker-option", { selected: true, value: "jessie@rocket.com" }, "jessie@rocket.com"), h("smoothly-picker-option", { value: "giovanni@rocket.com" }, "giovanni@rocket.com")), h("smoothly-submit", { slot: "submit" }, "Submit"), h("smoothly-input-clear", { type: "form", color: "danger", fill: "solid", slot: "clear" }, "Clear"), h("smoothly-picker", { name: "shape" }, h("span", { slot: "label" }, "Shape"), h("span", { slot: "search" }, "Search"), h("smoothly-picker-option", { value: "circle" }, h("span", { slot: "label" }, "Circle"), h("smoothly-icon", { size: "tiny", name: "ellipse-outline" })), h("smoothly-picker-option", { value: "cube" }, h("span", { slot: "label" }, "Cube"), h("smoothly-icon", { size: "tiny", name: "cube-outline" })), h("smoothly-picker-option", { value: "square", selected: true }, h("span", { slot: "label" }, "Square"), h("smoothly-icon", { size: "tiny", name: "square-outline" }))), h("smoothly-picker", { multiple: true, readonly: true, name: "animals" }, h("span", { slot: "label" }, "Animals"), h("span", { slot: "search" }, "Search"), h("smoothly-picker-option", { selected: true, value: "cat" }, "Cat"), h("smoothly-picker-option", { value: "dog" }, "Dog"), h("smoothly-picker-option", { value: "fish" }, "Fish"))), h("smoothly-picker", { looks: "border", name: "icon", multiple: true }, h("span", { slot: "label" }, "Icon"), h("span", { slot: "search" }, "Search"), h("smoothly-picker-option", { value: "circle", required: true }, h("span", { slot: "label" }, "Circle"), h("smoothly-icon", { size: "tiny", name: "ellipse-outline" })), h("smoothly-picker-option", { value: "cube" }, h("span", { slot: "label" }, "Cube"), h("smoothly-icon", { size: "tiny", name: "cube-outline" })), h("smoothly-picker-option", { value: "square", selected: true }, h("span", { slot: "label" }, "Square"), h("smoothly-icon", { size: "tiny", name: "square-outline" })), h("smoothly-picker-option", { value: "airplane" }, h("span", { slot: "label" }, "Airplane"), h("smoothly-icon", { size: "tiny", name: "airplane-outline" })), h("smoothly-picker-option", { value: "alarm" }, h("span", { slot: "label" }, "Alarm"), h("smoothly-icon", { size: "tiny", name: "alarm-outline" })), h("smoothly-picker-option", { value: "archive" }, h("span", { slot: "label" }, "Archive"), h("smoothly-icon", { size: "tiny", name: "archive-outline" })), h("smoothly-picker-option", { value: "bag" }, h("span", { slot: "label" }, "Bag"), h("smoothly-icon", { size: "tiny", name: "bag-outline" })), h("smoothly-picker-option", { value: "cafe" }, h("span", { slot: "label" }, "Cafe"), h("smoothly-icon", { size: "tiny", name: "cafe-outline" })), h("smoothly-picker-option", { value: "disc" }, h("span", { slot: "label" }, "Disc"), h("smoothly-icon", { size: "tiny", name: "disc-outline" })), h("smoothly-picker-option", { value: "earth" }, h("span", { slot: "label" }, "Earth"), h("smoothly-icon", { size: "tiny", name: "earth-outline" })), h("smoothly-picker-option", { value: "fast-food" }, h("span", { slot: "label" }, "Fast food"), h("smoothly-icon", { size: "tiny", name: "fast-food-outline" })))));
61
+ }
62
+ static get is() { return "smoothly-picker-demo"; }
63
+ static get encapsulation() { return "scoped"; }
64
+ static get originalStyleUrls() {
65
+ return {
66
+ "$": ["style.css"]
67
+ };
68
+ }
69
+ static get styleUrls() {
70
+ return {
71
+ "$": ["style.css"]
72
+ };
73
+ }
74
+ static get states() {
75
+ return {
76
+ "counter": {},
77
+ "data": {},
78
+ "change": {}
79
+ };
80
+ }
81
+ static get listeners() {
82
+ return [{
83
+ "name": "smoothlyFormSubmit",
84
+ "method": "submitHandler",
85
+ "target": undefined,
86
+ "capture": false,
87
+ "passive": false
88
+ }];
89
+ }
90
+ }
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/picker/demo/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Listen, State } from \"@stencil/core\"\nimport { Data, Notice } from \"../../../model\"\nimport { Controls } from \"../menu\"\n\nfunction validateEmail(email: string) {\n\treturn email.match(/^.+@.+/) ? true : { result: false, notice: Notice.failed(\"That is not an email\") }\n}\n\n@Component({\n\ttag: \"smoothly-picker-demo\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyPickerDemo {\n\tprivate controls?: Controls\n\tprivate users: Record<string, string | undefined> = {\n\t\t\"giovani@rocket.com\": \"giovani doe\",\n\t\t\"jessie@rocket.com\": \"jessie doe\",\n\t\t\"james@rocket.com\": \"james doe\",\n\t}\n\t@State() counter = 3\n\t@State() data = {\n\t\tmessage: \"hello world\",\n\t\temails: [\"jessie@rocket.com\", \"james@rocket.com\"],\n\t\toptions: [\n\t\t\t\"giovani@rocket.com\",\n\t\t\t\"john@example.com\",\n\t\t\t\"jane@example.com\",\n\t\t\t\"jack@example.com\",\n\t\t\t\"jessica@example.com\",\n\t\t\t\"julia@example.com\",\n\t\t\t\"jayden@example.com\",\n\t\t\t\"jake@example.com\",\n\t\t\t\"jamie@example.com\",\n\t\t\t\"jasmine@example.com\",\n\t\t],\n\t}\n\t@State() change?: SmoothlyPickerDemo[\"data\"]\n\tinputHandler(event: CustomEvent<Data>) {\n\t\tif (this.change) {\n\t\t\tthis.change = {\n\t\t\t\t...this.change,\n\t\t\t\t...event.detail,\n\t\t\t}\n\t\t\tconsole.log(\"demo input\", this.change)\n\t\t}\n\t}\n\t@Listen(\"smoothlyFormSubmit\")\n\tsubmitHandler(event: CustomEvent<Data>) {\n\t\tconsole.log(\"submitted\", event.detail)\n\t}\n\tclickHandler() {\n\t\tif (!this.change)\n\t\t\tthis.controls?.remember()\n\t\telse\n\t\t\tthis.controls?.restore()\n\t\tthis.change = this.change ? undefined : { ...this.data, emails: [...this.data.emails] }\n\t}\n\tloadedHandler(event: CustomEvent<Controls>) {\n\t\tthis.controls = event.detail\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-button onClick={() => (this.counter += 1)}>Add one</smoothly-button>\n\t\t\t\t\t<smoothly-button onClick={() => (this.counter -= 1)}>Remove one</smoothly-button>\n\t\t\t\t\t<smoothly-picker\n\t\t\t\t\t\tclass={\"counter\"}\n\t\t\t\t\t\tkey={Array.from({ length: this.counter }).toString()}\n\t\t\t\t\t\tname=\"counter\"\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\tmutable\n\t\t\t\t\t\tonSmoothlyInput={e => console.log(\"demo counter input\", e.detail)}>\n\t\t\t\t\t\t{Array.from({ length: this.counter }).map((_, index) => (\n\t\t\t\t\t\t\t<smoothly-picker-option value={index} selected={index < this.counter - 1}>\n\t\t\t\t\t\t\t\t{index}\n\t\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<button slot=\"child\" class={\"counter-button\"}>\n\t\t\t\t\t\t\t<smoothly-icon name={\"add-outline\"} />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t</div>\n\t\t\t\t<smoothly-button onClick={() => this.clickHandler()}>\n\t\t\t\t\t{!this.change ? \"start edit\" : \"end edit\"}\n\t\t\t\t</smoothly-button>\n\t\t\t\t<h5>Controlled input</h5>\n\t\t\t\t<smoothly-form looks=\"line\" onSmoothlyFormInput={e => this.inputHandler(e as any)}>\n\t\t\t\t\t<smoothly-input readonly={!this.change} name=\"message\" value={this.data.message}>\n\t\t\t\t\t\tMessage\n\t\t\t\t\t</smoothly-input>\n\t\t\t\t\t<smoothly-picker\n\t\t\t\t\t\tname=\"emails\"\n\t\t\t\t\t\tmutable\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\treadonly={!this.change}\n\t\t\t\t\t\tvalidator={validateEmail}\n\t\t\t\t\t\tonSmoothlyPickerLoaded={e => this.loadedHandler(e)}>\n\t\t\t\t\t\t<span slot=\"label\">Emails</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" slot=\"display\" name=\"person-add-outline\" />\n\t\t\t\t\t\t{(this.change?.emails ?? this.data.emails).map(email => (\n\t\t\t\t\t\t\t<smoothly-picker-option key={email} value={email} selected search={[this.users[email] ?? []].flat()}>\n\t\t\t\t\t\t\t\t<span>{this.users[email]}</span>\n\t\t\t\t\t\t\t\t<span slot=\"label\">{email}</span>\n\t\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" slot=\"display\" name=\"person-outline\" />\n\t\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{this.data.options.map(email => (\n\t\t\t\t\t\t\t<smoothly-picker-option key={email} value={email} search={[this.users[email] ?? []].flat()}>\n\t\t\t\t\t\t\t\t<span>{this.users[email]}</span>\n\t\t\t\t\t\t\t\t<span slot=\"label\">{email}</span>\n\t\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" slot=\"display\" name=\"person-outline\" />\n\t\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t\t<smoothly-submit size=\"icon\" slot=\"submit\">\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" />\n\t\t\t\t\t</smoothly-submit>\n\t\t\t\t\t<smoothly-input-clear type=\"form\" color=\"danger\" fill=\"solid\" slot=\"clear\">\n\t\t\t\t\t\tClear\n\t\t\t\t\t</smoothly-input-clear>\n\t\t\t\t</smoothly-form>\n\t\t\t\t<h5>uncontrolled inputs</h5>\n\t\t\t\t<smoothly-form onSmoothlyFormSubmit={e => console.log(\"submitted\", e.detail)} looks=\"line\">\n\t\t\t\t\t<smoothly-input name=\"purpose\" type=\"text\">\n\t\t\t\t\t\tPurpose\n\t\t\t\t\t</smoothly-input>\n\t\t\t\t\t<smoothly-picker multiple mutable name=\"emails\" validator={validateEmail}>\n\t\t\t\t\t\t<span slot=\"label\">Emails</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-picker-option value={\"james@rocket.com\"}>james@rocket.com</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option selected value={\"jessie@rocket.com\"}>\n\t\t\t\t\t\t\tjessie@rocket.com\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"giovanni@rocket.com\"}>giovanni@rocket.com</smoothly-picker-option>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t\t<smoothly-submit slot=\"submit\">Submit</smoothly-submit>\n\t\t\t\t\t<smoothly-input-clear type=\"form\" color=\"danger\" fill=\"solid\" slot=\"clear\">\n\t\t\t\t\t\tClear\n\t\t\t\t\t</smoothly-input-clear>\n\t\t\t\t\t<smoothly-picker name=\"shape\">\n\t\t\t\t\t\t<span slot=\"label\">Shape</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-picker-option value={\"circle\"}>\n\t\t\t\t\t\t\t<span slot=\"label\">Circle</span>\n\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"ellipse-outline\" />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"cube\"}>\n\t\t\t\t\t\t\t<span slot={\"label\"}>Cube</span>\n\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cube-outline\" />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"square\"} selected>\n\t\t\t\t\t\t\t<span slot={\"label\"}>Square</span>\n\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"square-outline\" />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t\t<smoothly-picker multiple readonly name=\"animals\">\n\t\t\t\t\t\t<span slot=\"label\">Animals</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-picker-option selected value={\"cat\"}>\n\t\t\t\t\t\t\tCat\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"dog\"}>Dog</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"fish\"}>Fish</smoothly-picker-option>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t</smoothly-form>\n\t\t\t\t<smoothly-picker looks=\"border\" name=\"icon\" multiple>\n\t\t\t\t\t<span slot=\"label\">Icon</span>\n\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t<smoothly-picker-option value={\"circle\"} required>\n\t\t\t\t\t\t<span slot=\"label\">Circle</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"ellipse-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"cube\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Cube</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cube-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"square\"} selected>\n\t\t\t\t\t\t<span slot={\"label\"}>Square</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"square-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"airplane\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Airplane</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"airplane-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"alarm\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Alarm</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"alarm-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"archive\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Archive</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"archive-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"bag\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Bag</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"bag-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"cafe\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Cafe</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cafe-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"disc\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Disc</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"disc-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"earth\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Earth</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"earth-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"fast-food\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Fast food</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"fast-food-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t</smoothly-picker>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -0,0 +1,26 @@
1
+ :host {
2
+ display: flex;
3
+ flex-direction: column;
4
+ }
5
+ :host smoothly-form {
6
+ max-width: 50rem;
7
+ }
8
+ :host .counter {
9
+ position: relative;
10
+ width: 3rem;
11
+ height: 3rem;
12
+ }
13
+ :host .counter-button {
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ padding: 0;
18
+ margin: 0;
19
+ height: 3rem;
20
+ width: 3rem;
21
+ background-color: inherit;
22
+ border: none;
23
+ display: flex;
24
+ justify-content: center;
25
+ align-items: center;
26
+ }