smoothly 1.0.0-alpha.99 → 1.0.0

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 (456) hide show
  1. package/dist/cjs/Data-50d47740.js +589 -0
  2. package/dist/cjs/Data-50d47740.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/TimeZone-016ac7b0.js +6181 -0
  6. package/dist/cjs/TimeZone-016ac7b0.js.map +1 -0
  7. package/dist/cjs/{getLanguage-7e53766b.js → getLanguage-49a534df.js} +1 -5993
  8. package/dist/cjs/getLanguage-49a534df.js.map +1 -0
  9. package/dist/cjs/{index-6ae370b4.js → index-43af753b.js} +1 -4
  10. package/dist/cjs/index-43af753b.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +3 -14
  12. package/dist/cjs/index.cjs.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +4 -3
  14. package/dist/cjs/loader.cjs.js.map +1 -1
  15. package/dist/cjs/smoothly-accordion-item.cjs.entry.js +61 -0
  16. package/dist/cjs/smoothly-accordion-item.cjs.entry.js.map +1 -0
  17. package/dist/cjs/smoothly-accordion.cjs.entry.js +58 -0
  18. package/dist/cjs/smoothly-accordion.cjs.entry.js.map +1 -0
  19. package/dist/cjs/smoothly-address-display.cjs.entry.js +1 -1
  20. package/dist/cjs/smoothly-address.cjs.entry.js +1 -1
  21. package/dist/cjs/smoothly-addresses.cjs.entry.js +1 -1
  22. package/dist/cjs/smoothly-app_80.cjs.entry.js +11148 -0
  23. package/dist/cjs/smoothly-app_80.cjs.entry.js.map +1 -0
  24. package/dist/cjs/smoothly-checkbox.cjs.entry.js +102 -0
  25. package/dist/cjs/smoothly-checkbox.cjs.entry.js.map +1 -0
  26. package/dist/cjs/smoothly-color.cjs.entry.js +1 -1
  27. package/dist/cjs/smoothly-country.cjs.entry.js +56 -55
  28. package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
  29. package/dist/cjs/smoothly-display-date-time.cjs.entry.js +1 -1
  30. package/dist/cjs/smoothly-google-font.cjs.entry.js +1 -1
  31. package/dist/cjs/smoothly-reorder.cjs.entry.js +4 -4
  32. package/dist/cjs/smoothly-reorder.cjs.entry.js.map +1 -1
  33. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +2 -2
  34. package/dist/cjs/smoothly-trigger-source.cjs.entry.js +2 -2
  35. package/dist/cjs/smoothly.cjs.js +4 -3
  36. package/dist/cjs/smoothly.cjs.js.map +1 -1
  37. package/dist/collection/collection-manifest.json +24 -7
  38. package/dist/collection/components/Button.js +16 -2
  39. package/dist/collection/components/Button.js.map +1 -1
  40. package/dist/collection/components/app/index.js +53 -1
  41. package/dist/collection/components/app/index.js.map +1 -1
  42. package/dist/collection/components/app/room/index.js +45 -2
  43. package/dist/collection/components/app/room/index.js.map +1 -1
  44. package/dist/collection/components/app/room/style.css +23 -9
  45. package/dist/collection/components/app/style.css +57 -32
  46. package/dist/collection/components/app-demo/index.js +1 -2
  47. package/dist/collection/components/app-demo/index.js.map +1 -1
  48. package/dist/collection/components/burger/index.js +9 -9
  49. package/dist/collection/components/burger/index.js.map +1 -1
  50. package/dist/collection/components/button/index.js +9 -22
  51. package/dist/collection/components/button/index.js.map +1 -1
  52. package/dist/collection/components/button/style.css +23 -20
  53. package/dist/collection/components/button-demo/index.js +3 -1
  54. package/dist/collection/components/button-demo/index.js.map +1 -1
  55. package/dist/collection/components/button-demo/style.css +1 -0
  56. package/dist/collection/components/calendar/generate.js +1 -1
  57. package/dist/collection/components/calendar/generate.js.map +1 -1
  58. package/dist/collection/components/calendar/index.js +16 -16
  59. package/dist/collection/components/calendar/index.js.map +1 -1
  60. package/dist/collection/components/checkbox/index.js +60 -29
  61. package/dist/collection/components/checkbox/index.js.map +1 -1
  62. package/dist/collection/components/checkbox/style.css +39 -42
  63. package/dist/collection/components/confirm/index.js +261 -0
  64. package/dist/collection/components/confirm/index.js.map +1 -0
  65. package/dist/collection/components/confirm/style.css +15 -0
  66. package/dist/collection/components/display/index.js +4 -1
  67. package/dist/collection/components/display/index.js.map +1 -1
  68. package/dist/collection/components/display-demo/index.js +16 -1
  69. package/dist/collection/components/display-demo/index.js.map +1 -1
  70. package/dist/collection/components/filter/Filter.js +17 -0
  71. package/dist/collection/components/filter/Filter.js.map +1 -0
  72. package/dist/collection/components/filter/field/index.js +105 -0
  73. package/dist/collection/components/filter/field/index.js.map +1 -0
  74. package/dist/collection/components/filter/field/style.css +4 -0
  75. package/dist/collection/components/filter/index.js +55 -132
  76. package/dist/collection/components/filter/index.js.map +1 -1
  77. package/dist/collection/components/filter/input/index.js +84 -301
  78. package/dist/collection/components/filter/input/index.js.map +1 -1
  79. package/dist/collection/components/filter/picker/index.js +229 -0
  80. package/dist/collection/components/filter/picker/index.js.map +1 -0
  81. package/dist/collection/components/filter/picker/style.css +8 -0
  82. package/dist/collection/components/filter/style.css +56 -71
  83. package/dist/collection/components/filter/toggle/index.js +248 -0
  84. package/dist/collection/components/filter/toggle/index.js.map +1 -0
  85. package/dist/collection/components/filter/toggle/style.css +8 -0
  86. package/dist/collection/components/form/index.js +234 -66
  87. package/dist/collection/components/form/index.js.map +1 -1
  88. package/dist/collection/components/form/style.css +3 -1
  89. package/dist/collection/components/icon/index.js +60 -32
  90. package/dist/collection/components/icon/index.js.map +1 -1
  91. package/dist/collection/components/icon/style.css +15 -0
  92. package/dist/collection/components/icon-demo/index.js +3 -1
  93. package/dist/collection/components/icon-demo/index.js.map +1 -1
  94. package/dist/collection/components/icon-demo/style.css +5 -6
  95. package/dist/collection/components/input/Editable.js +19 -0
  96. package/dist/collection/components/input/Editable.js.map +1 -0
  97. package/dist/collection/components/input/Input.js +22 -1
  98. package/dist/collection/components/input/Input.js.map +1 -1
  99. package/dist/collection/components/input/Looks.js +7 -1
  100. package/dist/collection/components/input/Looks.js.map +1 -1
  101. package/dist/collection/components/input/Submittable.js.map +1 -1
  102. package/dist/collection/components/input/checkbox/index.js +382 -0
  103. package/dist/collection/components/input/checkbox/index.js.map +1 -0
  104. package/dist/collection/components/input/checkbox/style.css +75 -0
  105. package/dist/collection/components/input/clear/index.js +12 -7
  106. package/dist/collection/components/input/clear/index.js.map +1 -1
  107. package/dist/collection/components/input/clear/style.css +23 -20
  108. package/dist/collection/components/input/color/index.js +226 -0
  109. package/dist/collection/components/input/color/index.js.map +1 -0
  110. package/dist/collection/components/input/color/style.css +15 -0
  111. package/dist/collection/components/input/date/index.js +8 -8
  112. package/dist/collection/components/input/date/index.js.map +1 -1
  113. package/dist/collection/components/input/date/range/index.js +13 -17
  114. package/dist/collection/components/input/date/range/index.js.map +1 -1
  115. package/dist/collection/components/input/date/range/style.css +25 -0
  116. package/dist/collection/components/input/date/style.css +25 -0
  117. package/dist/collection/components/input/demo/index.js +28 -72
  118. package/dist/collection/components/input/demo/index.js.map +1 -1
  119. package/dist/collection/components/input/demo/style.css +15 -0
  120. package/dist/collection/components/input/edit/index.js +249 -0
  121. package/dist/collection/components/input/edit/index.js.map +1 -0
  122. package/dist/collection/components/input/edit/style.css +238 -0
  123. package/dist/collection/components/input/file/index.js +3 -3
  124. package/dist/collection/components/input/file/index.js.map +1 -1
  125. package/dist/collection/components/input/file/style.css +22 -0
  126. package/dist/collection/components/input/index.js +245 -110
  127. package/dist/collection/components/input/index.js.map +1 -1
  128. package/dist/collection/components/input/month/index.js +5 -5
  129. package/dist/collection/components/input/month/index.js.map +1 -1
  130. package/dist/collection/components/input/radio/Selected.js +11 -0
  131. package/dist/collection/components/input/radio/Selected.js.map +1 -0
  132. package/dist/collection/components/input/radio/index.js +426 -0
  133. package/dist/collection/components/input/radio/index.js.map +1 -0
  134. package/dist/collection/components/{radio-button → input/radio/item}/index.js +60 -72
  135. package/dist/collection/components/input/radio/item/index.js.map +1 -0
  136. package/dist/collection/components/input/radio/item/style.css +28 -0
  137. package/dist/collection/components/input/radio/style.css +66 -0
  138. package/dist/collection/components/input/range/index.js +440 -0
  139. package/dist/collection/components/input/range/index.js.map +1 -0
  140. package/dist/collection/components/input/range/style.css +154 -0
  141. package/dist/collection/components/input/reset/index.js +260 -0
  142. package/dist/collection/components/input/reset/index.js.map +1 -0
  143. package/dist/collection/components/input/reset/style.css +255 -0
  144. package/dist/collection/components/input/select/index.js +443 -95
  145. package/dist/collection/components/input/select/index.js.map +1 -1
  146. package/dist/collection/components/input/select/style.css +111 -23
  147. package/dist/collection/components/input/style.css +24 -2
  148. package/dist/collection/components/input/submit/index.js +269 -0
  149. package/dist/collection/components/input/submit/index.js.map +1 -0
  150. package/dist/collection/components/input/submit/style.css +11 -0
  151. package/dist/collection/components/item/Item.js +11 -0
  152. package/dist/collection/components/item/Item.js.map +1 -0
  153. package/dist/collection/components/item/index.js +69 -29
  154. package/dist/collection/components/item/index.js.map +1 -1
  155. package/dist/collection/components/item/style.css +1 -3
  156. package/dist/collection/components/label/index.js +81 -0
  157. package/dist/collection/components/label/index.js.map +1 -0
  158. package/dist/collection/components/label/style.css +15 -0
  159. package/dist/collection/components/lazy/index.js +73 -0
  160. package/dist/collection/components/lazy/index.js.map +1 -0
  161. package/dist/collection/components/{radio → load-more}/index.js +35 -46
  162. package/dist/collection/components/load-more/index.js.map +1 -0
  163. package/dist/collection/components/load-more/style.css +5 -0
  164. package/dist/collection/components/notification/index.js.map +1 -1
  165. package/dist/collection/components/picker/demo/index.js +17 -15
  166. package/dist/collection/components/picker/demo/index.js.map +1 -1
  167. package/dist/collection/components/picker/demo/style.css +24 -1
  168. package/dist/collection/components/picker/index.js +172 -7
  169. package/dist/collection/components/picker/index.js.map +1 -1
  170. package/dist/collection/components/picker/menu/index.js +74 -3
  171. package/dist/collection/components/picker/menu/index.js.map +1 -1
  172. package/dist/collection/components/picker/menu/style.css +16 -6
  173. package/dist/collection/components/picker/option/index.js +51 -3
  174. package/dist/collection/components/picker/option/index.js.map +1 -1
  175. package/dist/collection/components/picker/option/style.css +9 -4
  176. package/dist/collection/components/picker/style.css +28 -3
  177. package/dist/collection/components/popup/index.js +5 -5
  178. package/dist/collection/components/popup/index.js.map +1 -1
  179. package/dist/collection/components/popup/style.css +4 -4
  180. package/dist/collection/components/submit/index.js +0 -15
  181. package/dist/collection/components/submit/index.js.map +1 -1
  182. package/dist/collection/components/submit/style.css +23 -20
  183. package/dist/collection/components/summary/index.js +2 -3
  184. package/dist/collection/components/summary/index.js.map +1 -1
  185. package/dist/collection/components/summary/style.css +25 -16
  186. package/dist/collection/components/table/cell/style.css +3 -3
  187. package/dist/collection/components/table/demo/filtered/Root.js.map +1 -1
  188. package/dist/collection/components/table/demo/filtered/index.js +30 -15
  189. package/dist/collection/components/table/demo/filtered/index.js.map +1 -1
  190. package/dist/collection/components/table/demo/filtered/style.css +9 -0
  191. package/dist/collection/components/table/demo/index.js +2 -14
  192. package/dist/collection/components/table/demo/index.js.map +1 -1
  193. package/dist/collection/components/table/demo/style.css +5 -0
  194. package/dist/collection/components/table/demo/testing/data.js.map +1 -0
  195. package/dist/collection/components/table/demo/testing/index.js +28 -0
  196. package/dist/collection/components/table/demo/testing/index.js.map +1 -0
  197. package/dist/collection/components/table/demo/testing/style.css +32 -0
  198. package/dist/collection/components/table/expandable/cell/index.js +1 -20
  199. package/dist/collection/components/table/expandable/cell/index.js.map +1 -1
  200. package/dist/collection/components/table/expandable/cell/style.css +13 -13
  201. package/dist/collection/components/table/expandable/row/index.js +1 -20
  202. package/dist/collection/components/table/expandable/row/index.js.map +1 -1
  203. package/dist/collection/components/table/expandable/row/style.css +11 -11
  204. package/dist/collection/components/table/footer/index.js +19 -0
  205. package/dist/collection/components/table/footer/index.js.map +1 -0
  206. package/dist/collection/components/table/footer/style.css +10 -0
  207. package/dist/collection/components/table/header/style.css +2 -3
  208. package/dist/collection/components/table/index.js +24 -1
  209. package/dist/collection/components/table/index.js.map +1 -1
  210. package/dist/collection/components/theme/color/index.js +48 -0
  211. package/dist/collection/components/theme/color/index.js.map +1 -0
  212. package/dist/collection/components/theme/color/style.css +8 -0
  213. package/dist/collection/components/theme/color/variant/index.js +66 -0
  214. package/dist/collection/components/theme/color/variant/index.js.map +1 -0
  215. package/dist/collection/components/theme/color/variant/style.css +18 -0
  216. package/dist/collection/components/theme/colors/index.js +30 -0
  217. package/dist/collection/components/theme/colors/index.js.map +1 -0
  218. package/dist/collection/components/theme/colors/style.css +7 -0
  219. package/dist/collection/components/theme/picker/index.js +48 -0
  220. package/dist/collection/components/theme/picker/index.js.map +1 -0
  221. package/dist/collection/components/theme/picker/style.css +0 -0
  222. package/dist/collection/components/toggle-switch/index.js +69 -17
  223. package/dist/collection/components/toggle-switch/index.js.map +1 -1
  224. package/dist/collection/components/toggle-switch/style.css +19 -12
  225. package/dist/collection/global/Observers.js +22 -0
  226. package/dist/collection/global/Observers.js.map +1 -0
  227. package/dist/collection/global/index.js +5 -0
  228. package/dist/collection/global/index.js.map +1 -0
  229. package/dist/collection/model/Color.js +18 -1
  230. package/dist/collection/model/Color.js.map +1 -1
  231. package/dist/collection/model/Data.js +8 -1
  232. package/dist/collection/model/Data.js.map +1 -1
  233. package/dist/collection/model/Icon.js +23 -0
  234. package/dist/collection/model/Icon.js.map +1 -0
  235. package/dist/collection/model/Listenable.js +16 -3
  236. package/dist/collection/model/Listenable.js.map +1 -1
  237. package/dist/collection/model/Option.js.map +1 -1
  238. package/dist/collection/model/index.js +2 -1
  239. package/dist/collection/model/index.js.map +1 -1
  240. package/dist/collection/smoothly.js +1 -1
  241. package/dist/collection/smoothly.js.map +1 -1
  242. package/dist/custom-elements/index.d.ts +120 -24
  243. package/dist/custom-elements/index.js +15445 -33845
  244. package/dist/custom-elements/index.js.map +1 -1
  245. package/dist/esm/Data-c8093b5a.js +579 -0
  246. package/dist/esm/Data-c8093b5a.js.map +1 -0
  247. package/dist/esm/Observers-5f08e828.js +25 -0
  248. package/dist/esm/Observers-5f08e828.js.map +1 -0
  249. package/dist/esm/TimeZone-c8df4905.js +6181 -0
  250. package/dist/esm/TimeZone-c8df4905.js.map +1 -0
  251. package/dist/esm/{getLanguage-9c833eef.js → getLanguage-1e9ec036.js} +2 -5994
  252. package/dist/esm/getLanguage-1e9ec036.js.map +1 -0
  253. package/dist/esm/{index-c196715a.js → index-258984d3.js} +2 -4
  254. package/dist/esm/index-258984d3.js.map +1 -0
  255. package/dist/esm/index.js +3 -14
  256. package/dist/esm/index.js.map +1 -1
  257. package/dist/esm/loader.js +5 -4
  258. package/dist/esm/loader.js.map +1 -1
  259. package/dist/esm/smoothly-accordion-item.entry.js +57 -0
  260. package/dist/esm/smoothly-accordion-item.entry.js.map +1 -0
  261. package/dist/esm/smoothly-accordion.entry.js +54 -0
  262. package/dist/esm/smoothly-accordion.entry.js.map +1 -0
  263. package/dist/esm/smoothly-address-display.entry.js +1 -1
  264. package/dist/esm/smoothly-address.entry.js +1 -1
  265. package/dist/esm/smoothly-addresses.entry.js +1 -1
  266. package/dist/esm/smoothly-app_80.entry.js +11065 -0
  267. package/dist/esm/smoothly-app_80.entry.js.map +1 -0
  268. package/dist/esm/smoothly-checkbox.entry.js +98 -0
  269. package/dist/esm/smoothly-checkbox.entry.js.map +1 -0
  270. package/dist/esm/smoothly-color.entry.js +1 -1
  271. package/dist/esm/smoothly-country.entry.js +10 -9
  272. package/dist/esm/smoothly-country.entry.js.map +1 -1
  273. package/dist/esm/smoothly-display-date-time.entry.js +1 -1
  274. package/dist/esm/smoothly-google-font.entry.js +1 -1
  275. package/dist/esm/smoothly-reorder.entry.js +2 -2
  276. package/dist/esm/smoothly-reorder.entry.js.map +1 -1
  277. package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
  278. package/dist/esm/smoothly-trigger-source.entry.js +2 -2
  279. package/dist/esm/smoothly.js +5 -4
  280. package/dist/esm/smoothly.js.map +1 -1
  281. package/dist/smoothly/index.esm.js +1 -1
  282. package/dist/smoothly/index.esm.js.map +1 -1
  283. package/dist/smoothly/{p-663ccbd0.entry.js → p-12182a73.entry.js} +2 -2
  284. package/dist/smoothly/p-21905b32.entry.js +2 -0
  285. package/dist/smoothly/p-21905b32.entry.js.map +1 -0
  286. package/dist/smoothly/p-2e986022.js +2 -0
  287. package/dist/smoothly/p-2e986022.js.map +1 -0
  288. package/dist/smoothly/p-303520d1.entry.js +2 -0
  289. package/dist/smoothly/p-303520d1.entry.js.map +1 -0
  290. package/dist/smoothly/p-312ef066.js +2 -0
  291. package/dist/smoothly/p-312ef066.js.map +1 -0
  292. package/dist/smoothly/{p-9992c8c4.entry.js → p-47151a53.entry.js} +2 -2
  293. package/dist/smoothly/{p-d0b8061e.js → p-5e387578.js} +3 -3
  294. package/dist/smoothly/p-5e387578.js.map +1 -0
  295. package/dist/smoothly/{p-b82ef190.entry.js → p-635c813e.entry.js} +2 -2
  296. package/dist/smoothly/{p-dbd1afa9.entry.js → p-6aebb818.entry.js} +2 -2
  297. package/dist/smoothly/p-6e9aca2e.entry.js +2 -0
  298. package/dist/smoothly/p-6e9aca2e.entry.js.map +1 -0
  299. package/dist/smoothly/{p-c4ffc15d.entry.js → p-7a69b43f.entry.js} +2 -2
  300. package/dist/smoothly/{p-4d743f07.entry.js → p-7bf147bf.entry.js} +2 -2
  301. package/dist/smoothly/p-823e02b0.entry.js +2 -0
  302. package/dist/smoothly/p-823e02b0.entry.js.map +1 -0
  303. package/dist/smoothly/p-b3eac6af.entry.js +2 -0
  304. package/dist/smoothly/{p-4ff439dd.entry.js.map → p-b3eac6af.entry.js.map} +1 -1
  305. package/dist/smoothly/{p-f96e41aa.entry.js → p-cb493516.entry.js} +2 -2
  306. package/dist/smoothly/p-ede93d69.js +2 -0
  307. package/dist/smoothly/p-ede93d69.js.map +1 -0
  308. package/dist/smoothly/{p-ce4e6f44.entry.js → p-eef1c80b.entry.js} +2 -2
  309. package/dist/smoothly/p-f125610c.entry.js +2 -0
  310. package/dist/smoothly/p-f125610c.entry.js.map +1 -0
  311. package/dist/smoothly/p-fa664317.js +2 -0
  312. package/dist/smoothly/p-fa664317.js.map +1 -0
  313. package/dist/smoothly/smoothly.esm.js +1 -1
  314. package/dist/smoothly/smoothly.esm.js.map +1 -1
  315. package/dist/types/components/Button.d.ts +1 -2
  316. package/dist/types/components/app/index.d.ts +3 -0
  317. package/dist/types/components/app/room/index.d.ts +4 -2
  318. package/dist/types/components/app-demo/index.d.ts +1 -0
  319. package/dist/types/components/burger/index.d.ts +2 -2
  320. package/dist/types/components/button/index.d.ts +2 -2
  321. package/dist/types/components/calendar/index.d.ts +5 -5
  322. package/dist/types/components/checkbox/index.d.ts +4 -2
  323. package/dist/types/components/confirm/index.d.ts +19 -0
  324. package/dist/types/components/filter/Filter.d.ts +21 -0
  325. package/dist/types/components/filter/field/index.d.ts +10 -0
  326. package/dist/types/components/filter/index.d.ts +13 -12
  327. package/dist/types/components/filter/input/index.d.ts +17 -23
  328. package/dist/types/components/filter/picker/index.d.ts +25 -0
  329. package/dist/types/components/filter/toggle/index.d.ts +22 -0
  330. package/dist/types/components/form/index.d.ts +22 -15
  331. package/dist/types/components/icon/index.d.ts +4 -6
  332. package/dist/types/components/input/Editable.d.ts +21 -0
  333. package/dist/types/components/input/Input.d.ts +19 -7
  334. package/dist/types/components/input/Looks.d.ts +7 -1
  335. package/dist/types/components/input/Submittable.d.ts +1 -1
  336. package/dist/types/components/input/checkbox/index.d.ts +30 -0
  337. package/dist/types/components/input/color/index.d.ts +24 -0
  338. package/dist/types/components/input/date/index.d.ts +1 -1
  339. package/dist/types/components/input/date/range/index.d.ts +2 -2
  340. package/dist/types/components/input/demo/index.d.ts +3 -6
  341. package/dist/types/components/input/edit/index.d.ts +18 -0
  342. package/dist/types/components/input/index.d.ts +30 -21
  343. package/dist/types/components/input/month/index.d.ts +1 -1
  344. package/dist/types/components/input/radio/Selected.d.ts +10 -0
  345. package/dist/types/components/input/radio/index.d.ts +36 -0
  346. package/dist/types/components/input/radio/item/index.d.ts +15 -0
  347. package/dist/types/components/input/range/index.d.ts +33 -0
  348. package/dist/types/components/input/reset/index.d.ts +19 -0
  349. package/dist/types/components/input/select/index.d.ts +41 -18
  350. package/dist/types/components/input/submit/index.d.ts +19 -0
  351. package/dist/types/components/item/Item.d.ts +10 -0
  352. package/dist/types/components/item/index.d.ts +8 -5
  353. package/dist/types/components/label/index.d.ts +6 -0
  354. package/dist/types/components/lazy/index.d.ts +7 -0
  355. package/dist/types/components/load-more/index.d.ts +11 -0
  356. package/dist/types/components/picker/demo/index.d.ts +7 -2
  357. package/dist/types/components/picker/index.d.ts +20 -6
  358. package/dist/types/components/picker/menu/index.d.ts +8 -0
  359. package/dist/types/components/picker/option/index.d.ts +2 -0
  360. package/dist/types/components/popup/index.d.ts +1 -1
  361. package/dist/types/components/submit/index.d.ts +0 -1
  362. package/dist/types/components/table/demo/filtered/Root.d.ts +2 -0
  363. package/dist/types/components/table/demo/filtered/index.d.ts +6 -6
  364. package/dist/types/components/table/demo/index.d.ts +1 -1
  365. package/dist/types/components/table/expandable/cell/index.d.ts +0 -1
  366. package/dist/types/components/table/expandable/row/index.d.ts +0 -1
  367. package/dist/types/components/table/footer/index.d.ts +3 -0
  368. package/dist/types/components/table/index.d.ts +2 -0
  369. package/dist/types/components/theme/color/index.d.ts +5 -0
  370. package/dist/types/components/theme/color/variant/index.d.ts +6 -0
  371. package/dist/types/components/theme/colors/index.d.ts +3 -0
  372. package/dist/types/components/theme/picker/index.d.ts +4 -0
  373. package/dist/types/components/toggle-switch/index.d.ts +7 -2
  374. package/dist/types/components.d.ts +658 -182
  375. package/dist/types/global/Observers.d.ts +8 -0
  376. package/dist/types/global/index.d.ts +4 -0
  377. package/dist/types/model/Color.d.ts +7 -1
  378. package/dist/types/model/Data.d.ts +4 -0
  379. package/dist/types/model/Icon.d.ts +8 -0
  380. package/dist/types/model/Listenable.d.ts +10 -1
  381. package/dist/types/model/Option.d.ts +2 -0
  382. package/dist/types/model/index.d.ts +1 -1
  383. package/dist/types/smoothly.d.ts +1 -1
  384. package/package.json +7 -11
  385. package/dist/cjs/Data-afbe461d.js +0 -807
  386. package/dist/cjs/Data-afbe461d.js.map +0 -1
  387. package/dist/cjs/getLanguage-7e53766b.js.map +0 -1
  388. package/dist/cjs/index-6ae370b4.js.map +0 -1
  389. package/dist/cjs/smoothly-accordion_66.cjs.entry.js +0 -29732
  390. package/dist/cjs/smoothly-accordion_66.cjs.entry.js.map +0 -1
  391. package/dist/cjs/smoothly-radio-group.cjs.entry.js +0 -22
  392. package/dist/cjs/smoothly-radio-group.cjs.entry.js.map +0 -1
  393. package/dist/collection/components/filter/Clearable.js +0 -8
  394. package/dist/collection/components/filter/Clearable.js.map +0 -1
  395. package/dist/collection/components/icon/Icon.js +0 -2
  396. package/dist/collection/components/icon/Icon.js.map +0 -1
  397. package/dist/collection/components/input/Changeable.js +0 -8
  398. package/dist/collection/components/input/Changeable.js.map +0 -1
  399. package/dist/collection/components/radio/index.js.map +0 -1
  400. package/dist/collection/components/radio/style.css +0 -31
  401. package/dist/collection/components/radio-button/Selected.js +0 -2
  402. package/dist/collection/components/radio-button/Selected.js.map +0 -1
  403. package/dist/collection/components/radio-button/index.js.map +0 -1
  404. package/dist/collection/components/radio-button/item/index.js +0 -117
  405. package/dist/collection/components/radio-button/item/index.js.map +0 -1
  406. package/dist/collection/components/radio-button/item/style.css +0 -85
  407. package/dist/collection/components/radio-group/index.js +0 -43
  408. package/dist/collection/components/radio-group/index.js.map +0 -1
  409. package/dist/collection/components/radio-group/style.css +0 -36
  410. package/dist/collection/components/table/testing/data.js.map +0 -1
  411. package/dist/collection/components/table/testing/index.js +0 -28
  412. package/dist/collection/components/table/testing/index.js.map +0 -1
  413. package/dist/collection/components/table/testing/style.css +0 -8
  414. package/dist/collection/model/ClientIdentifier.js +0 -13
  415. package/dist/collection/model/ClientIdentifier.js.map +0 -1
  416. package/dist/esm/Data-77d2bdbe.js +0 -803
  417. package/dist/esm/Data-77d2bdbe.js.map +0 -1
  418. package/dist/esm/getLanguage-9c833eef.js.map +0 -1
  419. package/dist/esm/index-c196715a.js.map +0 -1
  420. package/dist/esm/smoothly-accordion_66.entry.js +0 -29663
  421. package/dist/esm/smoothly-accordion_66.entry.js.map +0 -1
  422. package/dist/esm/smoothly-radio-group.entry.js +0 -18
  423. package/dist/esm/smoothly-radio-group.entry.js.map +0 -1
  424. package/dist/smoothly/p-1b714a63.js +0 -2
  425. package/dist/smoothly/p-1b714a63.js.map +0 -1
  426. package/dist/smoothly/p-1efa3261.entry.js +0 -2
  427. package/dist/smoothly/p-1efa3261.entry.js.map +0 -1
  428. package/dist/smoothly/p-4ff439dd.entry.js +0 -2
  429. package/dist/smoothly/p-74a3586c.js +0 -2
  430. package/dist/smoothly/p-74a3586c.js.map +0 -1
  431. package/dist/smoothly/p-8a45ae84.entry.js +0 -2
  432. package/dist/smoothly/p-8a45ae84.entry.js.map +0 -1
  433. package/dist/smoothly/p-90b340b4.entry.js +0 -2
  434. package/dist/smoothly/p-90b340b4.entry.js.map +0 -1
  435. package/dist/smoothly/p-d0b8061e.js.map +0 -1
  436. package/dist/types/components/filter/Clearable.d.ts +0 -6
  437. package/dist/types/components/icon/Icon.d.ts +0 -4
  438. package/dist/types/components/input/Changeable.d.ts +0 -7
  439. package/dist/types/components/radio/index.d.ts +0 -13
  440. package/dist/types/components/radio-button/Selected.d.ts +0 -5
  441. package/dist/types/components/radio-button/index.d.ts +0 -13
  442. package/dist/types/components/radio-button/item/index.d.ts +0 -12
  443. package/dist/types/components/radio-group/index.d.ts +0 -4
  444. package/dist/types/model/ClientIdentifier.d.ts +0 -5
  445. /package/dist/collection/components/{radio-button → lazy}/style.css +0 -0
  446. /package/dist/collection/components/table/{testing → demo/testing}/data.js +0 -0
  447. /package/dist/smoothly/{p-663ccbd0.entry.js.map → p-12182a73.entry.js.map} +0 -0
  448. /package/dist/smoothly/{p-9992c8c4.entry.js.map → p-47151a53.entry.js.map} +0 -0
  449. /package/dist/smoothly/{p-b82ef190.entry.js.map → p-635c813e.entry.js.map} +0 -0
  450. /package/dist/smoothly/{p-dbd1afa9.entry.js.map → p-6aebb818.entry.js.map} +0 -0
  451. /package/dist/smoothly/{p-c4ffc15d.entry.js.map → p-7a69b43f.entry.js.map} +0 -0
  452. /package/dist/smoothly/{p-4d743f07.entry.js.map → p-7bf147bf.entry.js.map} +0 -0
  453. /package/dist/smoothly/{p-f96e41aa.entry.js.map → p-cb493516.entry.js.map} +0 -0
  454. /package/dist/smoothly/{p-ce4e6f44.entry.js.map → p-eef1c80b.entry.js.map} +0 -0
  455. /package/dist/types/components/table/{testing → demo/testing}/data.d.ts +0 -0
  456. /package/dist/types/components/table/{testing → demo/testing}/index.d.ts +0 -0
@@ -1 +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() initialPrompt?: string\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 = event.target as HTMLSmoothlyItemElement\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\" : \"\"}>\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}\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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/input/select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tVNode,\n\tWatch,\n} from \"@stencil/core\"\nimport { Color, Data } from \"../../../model\"\nimport { Item } from \"../../item/Item\"\nimport { Clearable } from \"../Clearable\"\nimport { Editable } from \"../Editable\"\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, Editable, Clearable, ComponentWillLoad {\n\tprivate initialValue: HTMLSmoothlyItemElement[] = []\n\tprivate initialValueHandled = false\n\tprivate listener: { changed?: (parent: Editable) => Promise<void> } = {}\n\titems: HTMLSmoothlyItemElement[] = []\n\titemHeight: number | undefined\n\tdisplaySelectedElement?: HTMLElement\n\t@Element() element: HTMLSmoothlyInputSelectElement\n\t@Prop() name = \"selected\"\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 }) showSelected?: boolean = true\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop() multiple = false\n\t@Prop() clearable = true\n\t@Prop({ mutable: true }) changed = false\n\t@Prop({ reflect: true }) placeholder?: string | any\n\t@Prop() menuHeight?: `${number}${\"items\" | \"rem\" | \"px\" | \"vh\"}`\n\t@State() open = false\n\t@State() selected: HTMLSmoothlyItemElement[] = []\n\t@State() filter = \"\"\n\t@Event() smoothlySelect: EventEmitter<unknown>\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: HTMLElement) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyItemSelect: EventEmitter<HTMLSmoothlyItemElement>\n\n\tcomponentWillLoad(): void | Promise<void> {\n\t\tthis.smoothlyInputLooks.emit(looks => (this.looks = looks))\n\t\tthis.smoothlyInputLoad.emit(() => {\n\t\t\treturn\n\t\t})\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.listener.changed?.(this)\n\t}\n\tcomponentDidLoad(): void | Promise<void> {\n\t\tthis.selected && !this.initialValueHandled && (this.initialValue = [...this.selected])\n\t\tthis.initialValueHandled = true\n\t}\n\tcomponentDidRender(): void | Promise<void> {\n\t\tthis.itemHeight === undefined && (this.itemHeight = this.items.find(item => item.clientHeight > 0)?.clientHeight)\n\t\tif (this.menuHeight && this.itemHeight) {\n\t\t\tthis.element?.style.setProperty(\n\t\t\t\t\"--menu-height\",\n\t\t\t\t!this.menuHeight.endsWith(\"items\") || this.items.length == 0\n\t\t\t\t\t? this.menuHeight\n\t\t\t\t\t: `${this.itemHeight * +(this.menuHeight.match(/^(\\d+(\\.\\d+)?|\\.\\d+)/g)?.[0] ?? \"10\")}px`\n\t\t\t)\n\t\t}\n\t}\n\t@Method()\n\tasync listen(property: \"changed\", listener: (parent: Editable) => Promise<void>): Promise<void> {\n\t\tthis.listener[property] = listener\n\t\tlistener(this)\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\tthis.initialValue.forEach(item => (item.selected = true))\n\t\tthis.selected = [...this.initialValue]\n\t\tthis.displaySelected()\n\t\tthis.changed = false\n\t\tthis.open && this.handleShowOptions()\n\t}\n\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tif (this.clearable) {\n\t\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\t\tthis.selected = []\n\t\t\tif (this.displaySelectedElement) {\n\t\t\t\tthis.displaySelectedElement.innerHTML = this.placeholder ?? \"(none)\"\n\t\t\t}\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.changed = false\n\t\tthis.initialValue = [...this.selected]\n\t}\n\t@Watch(\"selected\")\n\tonSelectedChange() {\n\t\tthis.initialValueHandled && (this.changed = !this.areValuesEqual(this.selected, this.initialValue))\n\t\tconst value =\n\t\t\t!this.multiple && this.selected[0]\n\t\t\t\t? this.selected[0].value\n\t\t\t\t: this.multiple && this.selected.length > 0\n\t\t\t\t? this.selected.map(item => item.value)\n\t\t\t\t: undefined\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Watch(\"filter\")\n\tasync onFilterChange(value: string): Promise<void> {\n\t\tvalue = value.toLowerCase()\n\t\tawait Promise.all(this.items.map(item => item.filter(value)))\n\t}\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputSelect) => void>): Promise<void> {\n\t\tif (event.target && \"name\" in event.target && event.target.name !== this.name) {\n\t\t\tevent.stopPropagation()\n\t\t} else if (Item.type.is(event.target)) {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.items.push(event.target as HTMLSmoothlyItemElement)\n\t\t}\n\t\tevent.detail(this)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && this.handleShowOptions()\n\t}\n\t@Listen(\"smoothlyItemSelect\")\n\tonItemSelect(event: CustomEvent<HTMLSmoothlyItemElement>): void {\n\t\tevent.stopPropagation()\n\t\tif (this.multiple) {\n\t\t\tthis.selected = event.detail.selected\n\t\t\t\t? [...this.selected, event.detail]\n\t\t\t\t: this.selected.filter(item => item.selected)\n\t\t} else {\n\t\t\tthis.selected[0] && (this.selected[0].hidden = this.selected[0].selected = false)\n\t\t\tthis.selected = !event.detail.selected ? [] : [event.detail]\n\t\t\t!this.showSelected && event.detail.selected && (event.detail.hidden = true)\n\t\t}\n\t\tthis.displaySelected()\n\t\tthis.element.focus()\n\t}\n\t@Watch(\"open\")\n\tonClosed(): void {\n\t\tif (!this.open) {\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\thandleShowOptions(event?: Event): void {\n\t\t!this.readonly &&\n\t\t\t!(event && event.target && this.items.includes(event.target as HTMLSmoothlyItemElement) && this.multiple) &&\n\t\t\t(this.open = !this.open)\n\t\tthis.filter = \"\"\n\t}\n\tareValuesEqual(selected: HTMLSmoothlyItemElement[], initialValue: HTMLSmoothlyItemElement[]): boolean {\n\t\treturn selected.length === initialValue.length && initialValue.every(value => selected.includes(value))\n\t}\n\tdisplaySelected(): void {\n\t\tconst displayString: string = \"<div>\" + this.selected.map(option => option.innerHTML).join(\"</div><div>\") + \"</div>\"\n\t\tthis.displaySelectedElement &&\n\t\t\t(this.displaySelectedElement.innerHTML =\n\t\t\t\tthis.selected.length > 0 ? displayString : this.placeholder ? this.placeholder : \"\")\n\t}\n\t@Listen(\"keydown\")\n\tonKeyDown(event: KeyboardEvent) {\n\t\tevent.stopPropagation()\n\t\tconst visibleItems = this.items.some(item => item.getAttribute(\"hidden\") === null)\n\n\t\tif (event.key != \"Tab\" && !event.ctrlKey && !event.metaKey)\n\t\t\tevent.preventDefault()\n\t\tif (this.open) {\n\t\t\tswitch (event.key) {\n\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\tvisibleItems && this.move(-1)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\tvisibleItems && this.move(1)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Escape\":\n\t\t\t\t\tif (this.filter == \"\")\n\t\t\t\t\t\tthis.open = false\n\t\t\t\t\telse\n\t\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 = !result.selected\n\t\t\t\t\tthis.smoothlyItemSelect.emit(result)\n\t\t\t\t\tif (!this.multiple) {\n\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Tab\":\n\t\t\t\t\tthis.open = false\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} else {\n\t\t\tswitch (event.key) {\n\t\t\t\tcase \"Enter\":\n\t\t\t\tcase \" \":\n\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\tbreak\n\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\tthis.move(0)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\tthis.move(-1)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Tab\":\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tthis.handleShowOptions()\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}\n\t}\n\tprivate move(direction: -1 | 0 | 1): void {\n\t\tlet markedIndex = this.items.findIndex(item => item.marked)\n\t\tif (markedIndex == -1)\n\t\t\tmarkedIndex = this.items.findIndex(item => item.selected)\n\t\tif (this.items[markedIndex])\n\t\t\tthis.items[markedIndex].marked = false\n\t\tif (markedIndex == -1)\n\t\t\tmarkedIndex = 0\n\t\tdo {\n\t\t\tmarkedIndex = (markedIndex + direction + this.items.length) % this.items.length\n\t\t} while (this.items[markedIndex].hidden)\n\t\tthis.items[markedIndex].marked = true\n\t}\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\ttabIndex={0}\n\t\t\t\tclass={{ \"has-value\": this.selected.length !== 0 }}\n\t\t\t\tonClick={(event: Event) => this.handleShowOptions(event)}>\n\t\t\t\t<div class=\"select-display\" ref={element => (this.displaySelectedElement = element)}>\n\t\t\t\t\t{this.placeholder}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"icons\">\n\t\t\t\t\t<slot name=\"end\" />\n\t\t\t\t\t<smoothly-icon size=\"tiny\" name={this.open ? \"caret-down-outline\" : \"caret-forward-outline\"} />\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"label\" />\n\t\t\t\t<div class={`${this.open ? \"\" : \"hidden\"} options`}>\n\t\t\t\t\t{this.filter.length > 0 && (\n\t\t\t\t\t\t<smoothly-item selectable={false}>\n\t\t\t\t\t\t\t<smoothly-icon name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t{this.filter}\n\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\tname=\"backspace-outline\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t\t\t\tthis.element.focus()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t)}\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -5,56 +5,143 @@
5
5
  :host[looks="border"] {
6
6
  border: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
7
7
  }
8
+ :host[looks="border"][readonly]{
9
+ border: rgba(var(--text-color, var(--smoothly-color-contrast)), .1) solid 1px;
10
+ }
8
11
  :host[looks="line"]::slotted(smoothly-picker-menu smoothly-input),
9
12
  :host[looks="line"] {
10
13
  border-bottom: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
11
14
  }
15
+ :host[looks="line"][readonly]{
16
+ border-bottom: rgba(var(--text-color, var(--smoothly-color-contrast)), .1) solid 1px;
17
+ }
12
18
  :host[looks="grid"]::slotted(smoothly-picker-menu smoothly-input),
13
19
  :host[looks="grid"] {
14
20
  border: rgba(var(--text-color, var(--smoothly-color-contrast)), .5) solid .5px;
15
21
  }
22
+ :host[looks="grid"][readonly]{
23
+ border: rgba(var(--text-color, var(--smoothly-color-contrast)), .2) solid .5px;
24
+ }
25
+ :host[looks="transparent"] {
26
+ border: none;
27
+ }
28
+ :host[looks="transparent"]:not(:focus-within) {
29
+ background-color: transparent;
30
+ }
31
+ :host[looks="transparent"]:not(:focus-within) input {
32
+ background: transparent;
33
+ }
34
+ :host[looks="transparent"]:focus-within {
35
+ outline: 1px solid rgb(var(--smoothly-color-contrast));
36
+
37
+ }
16
38
 
17
39
 
18
40
  :host {
19
41
  display: flex;
42
+ justify-content: space-between;
43
+ flex-direction: row;
20
44
  position: relative;
21
- background-color: rgb(var(--background-color, var(--smoothly-color-shade)));
45
+ background-color: rgb(var(--smoothly-color-shade));
46
+ }
47
+
48
+ :host.icon {
49
+ width: fit-content;
50
+ flex-direction: column;
22
51
  }
23
- :host > main,
24
- :host > main > * {
25
- height: 100%;
52
+
53
+ :host>.select-display {
54
+ box-sizing: border-box;
55
+ min-height: 2.7em;
26
56
  display: flex;
57
+ cursor: default;
58
+ padding: .7em ;
59
+ overflow: hidden;
60
+ width: 100%;
61
+ white-space: nowrap;
62
+ gap: 1em;
63
+ text-overflow: ellipsis;
64
+ }
65
+
66
+ :host>.icons {
67
+ display:flex;
68
+ flex-direction: row;
27
69
  align-items: center;
70
+ margin-right: .4em;
28
71
  }
29
- :host > div > nav {
72
+ :host>.icons::slotted(smoothly-input-reset) {
73
+ padding-right: .2em;
74
+ }
75
+
76
+ :host::slotted([slot=label]) {
77
+ position: absolute;
78
+ left: 0.4em;
79
+ top: 0.6em;
80
+ opacity: 0.8;
81
+ transform-origin: top left;
82
+ transition: transform 100ms ease;
83
+ }
84
+
85
+ :host.has-value::slotted([slot=label]),
86
+ :host:not(.has-value)[placeholder]::slotted([slot=label]) {
87
+ top: 0.4em;
88
+ transform: scale(0.6);
89
+ }
90
+
91
+ :host.has-value:has([slot=label]) .select-display,
92
+ :host:not(.has-value)[placeholder] .select-display {
93
+ padding-bottom: 0;
94
+ padding-left: .8em;
95
+ padding-top: 1.1em;
96
+ overflow: hidden;
97
+ width: 100%;
98
+ }
99
+
100
+ :host>.options {
30
101
  display: flex;
31
102
  flex-direction: column;
32
103
  position: absolute;
104
+ top: 2.7em;
33
105
  z-index: 10;
34
- height: var(--menu-height, unset);
35
- overflow-y: scroll;
106
+ max-height: var(--menu-height, unset);
107
+ width: 100%;
108
+ overflow-y: auto;
109
+ background-color: rgb(var(--smoothly-default-shade));
36
110
  }
37
- :host > aside {
38
- position: absolute;
39
- top: 0;
40
- left: 5em;
41
- z-index: 10;
42
- background-color: rgb(var(--smoothly-tertiary-color));
43
- color: rgb(var(--smoothly-tertiary-contrast));
44
- height: 1.25rem;
45
- border-radius: 0.3rem;
46
- padding: 0.3rem;
111
+
112
+ :host[looks=border] .options {
113
+ transform: translateX(-1px);
114
+ border: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
115
+ border-top: rgba(var(--text-color, var(--smoothly-color-contrast)), .4) solid 1px;
116
+ }
117
+
118
+ :host[looks="grid"] .options {
119
+ transform: translateX(-2px);
120
+ border: rgba(var(--text-color, var(--smoothly-color-contrast)), .5) solid 2px;
121
+ border-top: rgba(var(--text-color, var(--smoothly-color-contrast)), .2) solid 2px;
122
+ }
123
+
124
+ :host>.options::slotted(smoothly-item){
125
+ padding: .7em;
126
+ }
127
+
128
+ :host>.options::slotted(smoothly-item.non-selectable) {
47
129
  display: flex;
48
- align-items: center;
130
+ gap: 1em;
131
+ background-color: rgba(var(--smoothly-primary-tint), .5);
132
+ color: var(--smoothly-color-contrast)
49
133
  }
50
- :host().missing > aside {
51
- background-color: rgb(var(--smoothly-warning-color));
52
- color: rgb(var(--smoothly-warning-contrast));
134
+
135
+ :host>.options>smoothly-item.non-selectable>smoothly-icon[name="backspace-outline"] {
136
+ margin-left: auto;
137
+ margin-right: 0;
53
138
  }
54
- .hidden {
139
+
140
+ :host>.options.hidden {
55
141
  display: none;
56
142
  }
57
- :host > section {
143
+
144
+ :host>section {
58
145
  position: fixed;
59
146
  top: 0px;
60
147
  left: 0px;
@@ -62,3 +149,4 @@
62
149
  height: 100vh;
63
150
  z-index: 10;
64
151
  }
152
+
@@ -5,14 +5,36 @@
5
5
  :host[looks="border"] {
6
6
  border: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
7
7
  }
8
+ :host[looks="border"][readonly]{
9
+ border: rgba(var(--text-color, var(--smoothly-color-contrast)), .1) solid 1px;
10
+ }
8
11
  :host[looks="line"]::slotted(smoothly-picker-menu smoothly-input),
9
12
  :host[looks="line"] {
10
13
  border-bottom: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
11
14
  }
15
+ :host[looks="line"][readonly]{
16
+ border-bottom: rgba(var(--text-color, var(--smoothly-color-contrast)), .1) solid 1px;
17
+ }
12
18
  :host[looks="grid"]::slotted(smoothly-picker-menu smoothly-input),
13
19
  :host[looks="grid"] {
14
20
  border: rgba(var(--text-color, var(--smoothly-color-contrast)), .5) solid .5px;
15
21
  }
22
+ :host[looks="grid"][readonly]{
23
+ border: rgba(var(--text-color, var(--smoothly-color-contrast)), .2) solid .5px;
24
+ }
25
+ :host[looks="transparent"] {
26
+ border: none;
27
+ }
28
+ :host[looks="transparent"]:not(:focus-within) {
29
+ background-color: transparent;
30
+ }
31
+ :host[looks="transparent"]:not(:focus-within) input {
32
+ background: transparent;
33
+ }
34
+ :host[looks="transparent"]:focus-within {
35
+ outline: 1px solid rgb(var(--smoothly-color-contrast));
36
+
37
+ }
16
38
 
17
39
 
18
40
  :host {
@@ -78,9 +100,9 @@ input:invalid + label + smoothly-icon {
78
100
  z-index: 1;
79
101
  pointer-events: none;
80
102
  }
81
- :host[placeholder] > div > label,
103
+ :host:not([readonly]):not(.has-value)[placeholder] > div > label,
82
104
  :host.has-value > div > label,
83
- :host:focus-within > div > label {
105
+ :host:not([readonly]):not(.has-value):focus-within > div > label {
84
106
  top: 0.4em;
85
107
  transform: scale(0.6);
86
108
  }
@@ -0,0 +1,269 @@
1
+ import { h, Host } from "@stencil/core";
2
+ import { Editable } from "../Editable";
3
+ import { Submittable } from "../Submittable";
4
+ export class SmoothlyInputSubmit {
5
+ constructor() {
6
+ this.delete = false;
7
+ this.color = undefined;
8
+ this.expand = undefined;
9
+ this.fill = undefined;
10
+ this.disabled = false;
11
+ this.display = false;
12
+ this.shape = undefined;
13
+ this.type = "button";
14
+ this.size = undefined;
15
+ this.toolTip = this.delete ? "Remove" : "Submit";
16
+ }
17
+ componentWillLoad() {
18
+ this.smoothlyInputLoad.emit(parent => {
19
+ if (Submittable.is(parent) && Editable.type.is(parent)) {
20
+ this.parent = parent;
21
+ parent.listen("changed", async (p) => {
22
+ this.display = !p.readonly;
23
+ this.disabled = p.readonly ? true : Object.values(p.value).filter(val => val).length < 1 ? true : !p.changed;
24
+ });
25
+ }
26
+ });
27
+ }
28
+ clickHandler() {
29
+ var _a;
30
+ (_a = this.parent) === null || _a === void 0 ? void 0 : _a.submit(this.delete);
31
+ }
32
+ render() {
33
+ var _a, _b;
34
+ return (h(Host, { title: this.toolTip }, this.delete == true ? (h("smoothly-button-confirm", { disabled: this.disabled, size: this.size, shape: this.shape, expand: this.expand, type: this.type, color: (_a = this.color) !== null && _a !== void 0 ? _a : "danger", fill: this.fill }, h("slot", null), h("smoothly-icon", { name: "trash-outline", fill: "solid", size: "tiny" }))) : (h("smoothly-button", { disabled: this.disabled, size: this.size, type: this.type, shape: this.shape, expand: this.expand, color: (_b = this.color) !== null && _b !== void 0 ? _b : "success", fill: this.fill }, h("slot", null), h("smoothly-icon", { name: "checkmark-outline", fill: "solid" })))));
35
+ }
36
+ static get is() { return "smoothly-input-submit"; }
37
+ static get encapsulation() { return "scoped"; }
38
+ static get originalStyleUrls() {
39
+ return {
40
+ "$": ["style.css"]
41
+ };
42
+ }
43
+ static get styleUrls() {
44
+ return {
45
+ "$": ["style.css"]
46
+ };
47
+ }
48
+ static get properties() {
49
+ return {
50
+ "delete": {
51
+ "type": "boolean",
52
+ "mutable": false,
53
+ "complexType": {
54
+ "original": "boolean",
55
+ "resolved": "boolean",
56
+ "references": {}
57
+ },
58
+ "required": false,
59
+ "optional": false,
60
+ "docs": {
61
+ "tags": [],
62
+ "text": ""
63
+ },
64
+ "attribute": "delete",
65
+ "reflect": false,
66
+ "defaultValue": "false"
67
+ },
68
+ "color": {
69
+ "type": "string",
70
+ "mutable": false,
71
+ "complexType": {
72
+ "original": "Color",
73
+ "resolved": "\"danger\" | \"dark\" | \"default\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | undefined",
74
+ "references": {
75
+ "Color": {
76
+ "location": "import",
77
+ "path": "../../../model"
78
+ }
79
+ }
80
+ },
81
+ "required": false,
82
+ "optional": true,
83
+ "docs": {
84
+ "tags": [],
85
+ "text": ""
86
+ },
87
+ "attribute": "color",
88
+ "reflect": false
89
+ },
90
+ "expand": {
91
+ "type": "string",
92
+ "mutable": false,
93
+ "complexType": {
94
+ "original": "\"block\" | \"full\"",
95
+ "resolved": "\"block\" | \"full\" | undefined",
96
+ "references": {}
97
+ },
98
+ "required": false,
99
+ "optional": true,
100
+ "docs": {
101
+ "tags": [],
102
+ "text": ""
103
+ },
104
+ "attribute": "expand",
105
+ "reflect": true
106
+ },
107
+ "fill": {
108
+ "type": "string",
109
+ "mutable": false,
110
+ "complexType": {
111
+ "original": "Fill",
112
+ "resolved": "\"clear\" | \"default\" | \"outline\" | \"solid\" | undefined",
113
+ "references": {
114
+ "Fill": {
115
+ "location": "import",
116
+ "path": "../../../model"
117
+ }
118
+ }
119
+ },
120
+ "required": false,
121
+ "optional": true,
122
+ "docs": {
123
+ "tags": [],
124
+ "text": ""
125
+ },
126
+ "attribute": "fill",
127
+ "reflect": true
128
+ },
129
+ "disabled": {
130
+ "type": "boolean",
131
+ "mutable": true,
132
+ "complexType": {
133
+ "original": "boolean",
134
+ "resolved": "boolean",
135
+ "references": {}
136
+ },
137
+ "required": false,
138
+ "optional": false,
139
+ "docs": {
140
+ "tags": [],
141
+ "text": ""
142
+ },
143
+ "attribute": "disabled",
144
+ "reflect": true,
145
+ "defaultValue": "false"
146
+ },
147
+ "display": {
148
+ "type": "boolean",
149
+ "mutable": true,
150
+ "complexType": {
151
+ "original": "boolean",
152
+ "resolved": "boolean",
153
+ "references": {}
154
+ },
155
+ "required": false,
156
+ "optional": false,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": ""
160
+ },
161
+ "attribute": "display",
162
+ "reflect": true,
163
+ "defaultValue": "false"
164
+ },
165
+ "shape": {
166
+ "type": "string",
167
+ "mutable": false,
168
+ "complexType": {
169
+ "original": "\"rounded\"",
170
+ "resolved": "\"rounded\" | undefined",
171
+ "references": {}
172
+ },
173
+ "required": false,
174
+ "optional": true,
175
+ "docs": {
176
+ "tags": [],
177
+ "text": ""
178
+ },
179
+ "attribute": "shape",
180
+ "reflect": true
181
+ },
182
+ "type": {
183
+ "type": "string",
184
+ "mutable": false,
185
+ "complexType": {
186
+ "original": "\"link\" | \"button\"",
187
+ "resolved": "\"button\" | \"link\"",
188
+ "references": {}
189
+ },
190
+ "required": false,
191
+ "optional": false,
192
+ "docs": {
193
+ "tags": [],
194
+ "text": ""
195
+ },
196
+ "attribute": "type",
197
+ "reflect": true,
198
+ "defaultValue": "\"button\""
199
+ },
200
+ "size": {
201
+ "type": "string",
202
+ "mutable": false,
203
+ "complexType": {
204
+ "original": "\"flexible\" | \"small\" | \"large\" | \"icon\"",
205
+ "resolved": "\"flexible\" | \"icon\" | \"large\" | \"small\"",
206
+ "references": {}
207
+ },
208
+ "required": false,
209
+ "optional": false,
210
+ "docs": {
211
+ "tags": [],
212
+ "text": ""
213
+ },
214
+ "attribute": "size",
215
+ "reflect": true
216
+ },
217
+ "toolTip": {
218
+ "type": "string",
219
+ "mutable": false,
220
+ "complexType": {
221
+ "original": "string",
222
+ "resolved": "string",
223
+ "references": {}
224
+ },
225
+ "required": false,
226
+ "optional": false,
227
+ "docs": {
228
+ "tags": [],
229
+ "text": ""
230
+ },
231
+ "attribute": "tool-tip",
232
+ "reflect": false,
233
+ "defaultValue": "this.delete ? \"Remove\" : \"Submit\""
234
+ }
235
+ };
236
+ }
237
+ static get events() {
238
+ return [{
239
+ "method": "smoothlyInputLoad",
240
+ "name": "smoothlyInputLoad",
241
+ "bubbles": true,
242
+ "cancelable": true,
243
+ "composed": true,
244
+ "docs": {
245
+ "tags": [],
246
+ "text": ""
247
+ },
248
+ "complexType": {
249
+ "original": "(parent: HTMLElement) => void",
250
+ "resolved": "(parent: HTMLElement) => void",
251
+ "references": {
252
+ "HTMLElement": {
253
+ "location": "global"
254
+ }
255
+ }
256
+ }
257
+ }];
258
+ }
259
+ static get listeners() {
260
+ return [{
261
+ "name": "click",
262
+ "method": "clickHandler",
263
+ "target": undefined,
264
+ "capture": false,
265
+ "passive": false
266
+ }];
267
+ }
268
+ }
269
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/input/submit/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAS,MAAM,eAAe,CAAA;AAE/G,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAO5C,MAAM,OAAO,mBAAmB;;kBAEd,KAAK;;;;oBAI6B,KAAK;mBACN,KAAK;;gBAEJ,QAAQ;;mBAEzC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;;EAEnD,iBAAiB;IAChB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;MACpC,IAAI,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;UAClC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAA;UAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC7G,CAAC,CAAC,CAAA;OACF;IACF,CAAC,CAAC,CAAA;EACH,CAAC;EAED,YAAY;;IACX,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;EACjC,CAAC;EAED,MAAM;;IACL,OAAO,CACN,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,OAAO,IACvB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CACtB,+BACC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,QAAQ,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;MACf,eAAQ;MACR,qBAAe,IAAI,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC,CAC1B,CAAC,CAAC,CAAC,CACH,uBACC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;MACf,eAAQ;MACR,qBAAe,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAC,OAAO,GAAG,CACtC,CAClB,CACK,CACP,CAAA;EACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import { Component, ComponentWillLoad, Event, EventEmitter, h, Host, Listen, Prop, VNode } from \"@stencil/core\"\nimport { Color, Fill } from \"../../../model\"\nimport { Editable } from \"../Editable\"\nimport { Submittable } from \"../Submittable\"\n\n@Component({\n\ttag: \"smoothly-input-submit\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputSubmit implements ComponentWillLoad {\n\tprivate parent?: Submittable & Editable\n\t@Prop() delete = false\n\t@Prop() color?: Color\n\t@Prop({ reflect: true }) expand?: \"block\" | \"full\"\n\t@Prop({ reflect: true }) fill?: Fill\n\t@Prop({ reflect: true, mutable: true }) disabled = false\n\t@Prop({ reflect: true, mutable: true }) display = false\n\t@Prop({ reflect: true }) shape?: \"rounded\"\n\t@Prop({ reflect: true }) type: \"link\" | \"button\" = \"button\"\n\t@Prop({ reflect: true }) size: \"flexible\" | \"small\" | \"large\" | \"icon\"\n\t@Prop() toolTip = this.delete ? \"Remove\" : \"Submit\"\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: HTMLElement) => void>\n\tcomponentWillLoad(): void {\n\t\tthis.smoothlyInputLoad.emit(parent => {\n\t\t\tif (Submittable.is(parent) && Editable.type.is(parent)) {\n\t\t\t\tthis.parent = parent\n\t\t\t\tparent.listen(\"changed\", async p => {\n\t\t\t\t\tthis.display = !p.readonly\n\t\t\t\t\tthis.disabled = p.readonly ? true : Object.values(p.value).filter(val => val).length < 1 ? true : !p.changed\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\t@Listen(\"click\")\n\tclickHandler() {\n\t\tthis.parent?.submit(this.delete)\n\t}\n\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host title={this.toolTip}>\n\t\t\t\t{this.delete == true ? (\n\t\t\t\t\t<smoothly-button-confirm\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tshape={this.shape}\n\t\t\t\t\t\texpand={this.expand}\n\t\t\t\t\t\ttype={this.type}\n\t\t\t\t\t\tcolor={this.color ?? \"danger\"}\n\t\t\t\t\t\tfill={this.fill}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t<smoothly-icon name=\"trash-outline\" fill=\"solid\" size=\"tiny\" />\n\t\t\t\t\t</smoothly-button-confirm>\n\t\t\t\t) : (\n\t\t\t\t\t<smoothly-button\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\ttype={this.type}\n\t\t\t\t\t\tshape={this.shape}\n\t\t\t\t\t\texpand={this.expand}\n\t\t\t\t\t\tcolor={this.color ?? \"success\"}\n\t\t\t\t\t\tfill={this.fill}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-outline\" fill=\"solid\" />\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -0,0 +1,11 @@
1
+ :host {
2
+ display: flex;
3
+ }
4
+ :host(:not([display])) {
5
+ display: none;
6
+ }
7
+ :host::slotted(smoothly-button button > * > * + smoothly-icon),
8
+ :host::slotted(smoothly-button-confirm button > * > * + smoothly-icon) {
9
+ display: none;
10
+ }
11
+
@@ -0,0 +1,11 @@
1
+ import { isly } from "isly";
2
+ export var Item;
3
+ (function (Item) {
4
+ Item.type = isly.object({
5
+ value: isly.any(),
6
+ selected: isly.boolean().optional(),
7
+ filter: isly.function(),
8
+ });
9
+ Item.is = Item.type.is;
10
+ })(Item || (Item = {}));
11
+ //# sourceMappingURL=Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../src/components/item/Item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,IAAI,CAOpB;AAPD,WAAiB,IAAI;EACP,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO;IACrC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;IACjB,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;GACvB,CAAC,CAAA;EACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAPgB,IAAI,KAAJ,IAAI,QAOpB","sourcesContent":["import { isly } from \"isly\"\n\nexport interface Item {\n\tvalue: any\n\tselected?: boolean\n\tfilter: (filter: string) => Promise<void>\n}\n\nexport namespace Item {\n\texport const type = isly.object<Item>({\n\t\tvalue: isly.any(),\n\t\tselected: isly.boolean().optional(),\n\t\tfilter: isly.function(),\n\t})\n\texport const is = type.is\n}\n"]}