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
@@ -4,6 +4,9 @@ import { Action, get, StateEditor } from "tidily";
4
4
  export class SmoothlyInput {
5
5
  constructor() {
6
6
  this.keepFocusOnReRender = false;
7
+ this.listener = {};
8
+ this.color = undefined;
9
+ this.looks = "plain";
7
10
  this.name = undefined;
8
11
  this.value = undefined;
9
12
  this.type = "text";
@@ -17,9 +20,19 @@ export class SmoothlyInput {
17
20
  this.disabled = false;
18
21
  this.readonly = false;
19
22
  this.currency = undefined;
23
+ this.formatter = undefined;
20
24
  this.initialValue = undefined;
25
+ this.changed = false;
21
26
  }
22
- get formatter() {
27
+ listen(property, listener) {
28
+ this.listener[property] = listener;
29
+ listener(this);
30
+ }
31
+ async SmoothlyInputLoadHandler(event) {
32
+ event.stopPropagation();
33
+ event.detail(this);
34
+ }
35
+ typeChange() {
23
36
  let result;
24
37
  switch (this.type) {
25
38
  case "price":
@@ -29,13 +42,14 @@ export class SmoothlyInput {
29
42
  result = get(this.type, getLocale());
30
43
  break;
31
44
  }
32
- return result || get("text");
45
+ this.formatter = result || get("text");
33
46
  }
34
47
  newState(state) {
35
48
  const formatter = this.formatter;
36
49
  return formatter.format(StateEditor.copy(formatter.unformat(StateEditor.copy(state))));
37
50
  }
38
51
  valueWatcher(value, before) {
52
+ var _a, _b;
39
53
  if (this.lastValue != value) {
40
54
  this.lastValue = value;
41
55
  this.state = Object.assign(Object.assign({}, this.state), { value: this.newState({ value: this.formatter.toString(value), selection: this.state.selection }).value });
@@ -45,17 +59,21 @@ export class SmoothlyInput {
45
59
  value = value.trim();
46
60
  this.smoothlyInput.emit({ [this.name]: value });
47
61
  }
62
+ this.changed = Boolean(this.value);
63
+ (_b = (_a = this.listener).changed) === null || _b === void 0 ? void 0 : _b.call(_a, this);
48
64
  }
49
65
  onCurrency() {
50
66
  this.state = Object.assign(Object.assign({}, this.state), { value: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).value, pattern: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).pattern });
51
67
  }
52
68
  componentWillLoad() {
69
+ this.typeChange();
53
70
  const value = this.formatter.toString(this.value) || "";
54
71
  const start = value.length;
55
72
  this.state = this.newState({
56
73
  value,
57
74
  selection: { start, end: start, direction: "none" },
58
75
  });
76
+ this.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)));
59
77
  }
60
78
  componentDidRender() {
61
79
  if (this.keepFocusOnReRender) {
@@ -198,7 +216,7 @@ export class SmoothlyInput {
198
216
  }
199
217
  render() {
200
218
  var _a, _b, _c, _d, _e, _f, _g;
201
- return (h(Host, { class: { "has-value": ((_a = this.state) === null || _a === void 0 ? void 0 : _a.value) != undefined && ((_b = this.state) === null || _b === void 0 ? void 0 : _b.value) != "" }, onclick: () => { var _a; return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.focus(); } }, h("slot", { name: "start" }), h("div", null, h("input", { name: this.name, type: (_c = this.state) === null || _c === void 0 ? void 0 : _c.type, placeholder: this.placeholder, required: this.required, autocomplete: this.autocomplete ? (_d = this.state) === null || _d === void 0 ? void 0 : _d.autocomplete : "off", disabled: this.disabled, readOnly: this.readonly, pattern: ((_e = this.state) === null || _e === void 0 ? void 0 : _e.pattern) && ((_f = this.state) === null || _f === void 0 ? void 0 : _f.pattern.source), value: (_g = this.state) === null || _g === void 0 ? void 0 : _g.value, onInput: (e) => this.onInput(e), onFocus: e => this.onFocus(e), onClick: e => this.onClick(e), onBlur: e => this.onBlur(e), onKeyDown: e => this.onKeyDown(e), ref: (el) => (this.inputElement = el), onPaste: e => this.onPaste(e) }), h("label", { htmlFor: this.name }, h("slot", null)), h("smoothly-icon", { name: "alert-circle", color: "danger", fill: "clear", size: "small" })), h("slot", { name: "end" })));
219
+ return (h(Host, { class: { "has-value": ((_a = this.state) === null || _a === void 0 ? void 0 : _a.value) != undefined && ((_b = this.state) === null || _b === void 0 ? void 0 : _b.value) != "" }, onclick: () => { var _a; return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.focus(); } }, h("slot", { name: "start" }), h("div", null, h("input", { color: this.color, name: this.name, type: (_c = this.state) === null || _c === void 0 ? void 0 : _c.type, placeholder: this.placeholder, required: this.required, autocomplete: this.autocomplete ? (_d = this.state) === null || _d === void 0 ? void 0 : _d.autocomplete : "off", disabled: this.disabled, readOnly: this.readonly, pattern: ((_e = this.state) === null || _e === void 0 ? void 0 : _e.pattern) && ((_f = this.state) === null || _f === void 0 ? void 0 : _f.pattern.source), value: (_g = this.state) === null || _g === void 0 ? void 0 : _g.value, onInput: (e) => this.onInput(e), onFocus: e => this.onFocus(e), onClick: e => this.onClick(e), onBlur: e => this.onBlur(e), onKeyDown: e => this.onKeyDown(e), ref: (el) => (this.inputElement = el), onPaste: e => this.onPaste(e) }), h("label", { htmlFor: this.name }, h("slot", null)), h("smoothly-icon", { name: "alert-circle", color: "danger", fill: "clear", size: "small" })), h("slot", { name: "end" })));
202
220
  }
203
221
  static get is() { return "smoothly-input"; }
204
222
  static get encapsulation() { return "scoped"; }
@@ -214,6 +232,51 @@ export class SmoothlyInput {
214
232
  }
215
233
  static get properties() {
216
234
  return {
235
+ "color": {
236
+ "type": "string",
237
+ "mutable": true,
238
+ "complexType": {
239
+ "original": "Color",
240
+ "resolved": "\"danger\" | \"dark\" | \"default\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | undefined",
241
+ "references": {
242
+ "Color": {
243
+ "location": "import",
244
+ "path": "../../model"
245
+ }
246
+ }
247
+ },
248
+ "required": false,
249
+ "optional": true,
250
+ "docs": {
251
+ "tags": [],
252
+ "text": ""
253
+ },
254
+ "attribute": "color",
255
+ "reflect": true
256
+ },
257
+ "looks": {
258
+ "type": "string",
259
+ "mutable": true,
260
+ "complexType": {
261
+ "original": "Looks",
262
+ "resolved": "\"border\" | \"grid\" | \"line\" | \"plain\"",
263
+ "references": {
264
+ "Looks": {
265
+ "location": "import",
266
+ "path": "./Looks"
267
+ }
268
+ }
269
+ },
270
+ "required": false,
271
+ "optional": false,
272
+ "docs": {
273
+ "tags": [],
274
+ "text": ""
275
+ },
276
+ "attribute": "looks",
277
+ "reflect": true,
278
+ "defaultValue": "\"plain\""
279
+ },
217
280
  "name": {
218
281
  "type": "string",
219
282
  "mutable": false,
@@ -252,9 +315,14 @@ export class SmoothlyInput {
252
315
  "type": "string",
253
316
  "mutable": false,
254
317
  "complexType": {
255
- "original": "string",
256
- "resolved": "string",
257
- "references": {}
318
+ "original": "Type",
319
+ "resolved": "\"card-csc\" | \"card-expires\" | \"card-number\" | \"date\" | \"date-time\" | \"divisor\" | \"duration\" | \"email\" | \"identity-number\" | \"password\" | \"percent\" | \"phone\" | \"postal-code\" | \"price\" | \"text\"",
320
+ "references": {
321
+ "Type": {
322
+ "location": "import",
323
+ "path": "tidily"
324
+ }
325
+ }
258
326
  },
259
327
  "required": false,
260
328
  "optional": false,
@@ -425,7 +493,7 @@ export class SmoothlyInput {
425
493
  "text": ""
426
494
  },
427
495
  "attribute": "readonly",
428
- "reflect": false,
496
+ "reflect": true,
429
497
  "defaultValue": "false"
430
498
  },
431
499
  "currency": {
@@ -433,7 +501,7 @@ export class SmoothlyInput {
433
501
  "mutable": false,
434
502
  "complexType": {
435
503
  "original": "Currency",
436
- "resolved": "\"BTN\" | \"MKD\" | \"CHE\" | \"AED\" | \"AFN\" | \"ALL\" | \"AMD\" | \"ANG\" | \"AOA\" | \"ARS\" | \"AUD\" | \"AWG\" | \"AZN\" | \"BAM\" | \"BBD\" | \"BDT\" | \"BGN\" | \"BHD\" | \"BIF\" | \"BMD\" | \"BND\" | \"BOB\" | \"BOV\" | \"BRL\" | \"BSD\" | \"BWP\" | \"BYN\" | \"BZD\" | \"CAD\" | \"CDF\" | \"CHF\" | \"CHW\" | \"CLF\" | \"CLP\" | \"CNY\" | \"COP\" | \"COU\" | \"CRC\" | \"CUC\" | \"CUP\" | \"CVE\" | \"CZK\" | \"DJF\" | \"DKK\" | \"DOP\" | \"DZD\" | \"EGP\" | \"ERN\" | \"ETB\" | \"EUR\" | \"FJD\" | \"FKP\" | \"GBP\" | \"GEL\" | \"GHS\" | \"GIP\" | \"GMD\" | \"GNF\" | \"GTQ\" | \"GYD\" | \"HKD\" | \"HNL\" | \"HRK\" | \"HTG\" | \"HUF\" | \"IDR\" | \"ILS\" | \"INR\" | \"IQD\" | \"IRR\" | \"ISK\" | \"JMD\" | \"JOD\" | \"JPY\" | \"KES\" | \"KGS\" | \"KHR\" | \"KMF\" | \"KPW\" | \"KRW\" | \"KWD\" | \"KYD\" | \"KZT\" | \"LAK\" | \"LBP\" | \"LKR\" | \"LRD\" | \"LSL\" | \"LYD\" | \"MAD\" | \"MDL\" | \"MGA\" | \"MMK\" | \"MNT\" | \"MOP\" | \"MRU\" | \"MUR\" | \"MVR\" | \"MWK\" | \"MXN\" | \"MXV\" | \"MYR\" | \"MZN\" | \"NAD\" | \"NGN\" | \"NIO\" | \"NOK\" | \"NPR\" | \"NZD\" | \"OMR\" | \"PAB\" | \"PEN\" | \"PGK\" | \"PHP\" | \"PKR\" | \"PLN\" | \"PYG\" | \"QAR\" | \"RON\" | \"RSD\" | \"RUB\" | \"RWF\" | \"SAR\" | \"SBD\" | \"SCR\" | \"SDG\" | \"SEK\" | \"SGD\" | \"SHP\" | \"SLL\" | \"SOS\" | \"SRD\" | \"SSP\" | \"STN\" | \"SVC\" | \"SYP\" | \"SZL\" | \"THB\" | \"TJS\" | \"TMT\" | \"TND\" | \"TOP\" | \"TRY\" | \"TTD\" | \"TWD\" | \"TZS\" | \"UAH\" | \"UGX\" | \"USD\" | \"USN\" | \"UYI\" | \"UYU\" | \"UYW\" | \"UZS\" | \"VES\" | \"VND\" | \"VUV\" | \"WST\" | \"XAF\" | \"XAG\" | \"XAU\" | \"XBA\" | \"XBB\" | \"XBC\" | \"XBD\" | \"XCD\" | \"XDR\" | \"XOF\" | \"XPD\" | \"XPF\" | \"XPT\" | \"XSU\" | \"XTS\" | \"XUA\" | \"XXX\" | \"YER\" | \"ZAR\" | \"ZMW\" | \"ZWL\" | undefined",
504
+ "resolved": "\"BTN\" | \"CHE\" | \"MKD\" | \"AED\" | \"AFN\" | \"ALL\" | \"AMD\" | \"ANG\" | \"AOA\" | \"ARS\" | \"AUD\" | \"AWG\" | \"AZN\" | \"BAM\" | \"BBD\" | \"BDT\" | \"BGN\" | \"BHD\" | \"BIF\" | \"BMD\" | \"BND\" | \"BOB\" | \"BOV\" | \"BRL\" | \"BSD\" | \"BWP\" | \"BYN\" | \"BZD\" | \"CAD\" | \"CDF\" | \"CHF\" | \"CHW\" | \"CLF\" | \"CLP\" | \"CNY\" | \"COP\" | \"COU\" | \"CRC\" | \"CUC\" | \"CUP\" | \"CVE\" | \"CZK\" | \"DJF\" | \"DKK\" | \"DOP\" | \"DZD\" | \"EGP\" | \"ERN\" | \"ETB\" | \"EUR\" | \"FJD\" | \"FKP\" | \"GBP\" | \"GEL\" | \"GHS\" | \"GIP\" | \"GMD\" | \"GNF\" | \"GTQ\" | \"GYD\" | \"HKD\" | \"HNL\" | \"HRK\" | \"HTG\" | \"HUF\" | \"IDR\" | \"ILS\" | \"INR\" | \"IQD\" | \"IRR\" | \"ISK\" | \"JMD\" | \"JOD\" | \"JPY\" | \"KES\" | \"KGS\" | \"KHR\" | \"KMF\" | \"KPW\" | \"KRW\" | \"KWD\" | \"KYD\" | \"KZT\" | \"LAK\" | \"LBP\" | \"LKR\" | \"LRD\" | \"LSL\" | \"LYD\" | \"MAD\" | \"MDL\" | \"MGA\" | \"MMK\" | \"MNT\" | \"MOP\" | \"MRU\" | \"MUR\" | \"MVR\" | \"MWK\" | \"MXN\" | \"MXV\" | \"MYR\" | \"MZN\" | \"NAD\" | \"NGN\" | \"NIO\" | \"NOK\" | \"NPR\" | \"NZD\" | \"OMR\" | \"PAB\" | \"PEN\" | \"PGK\" | \"PHP\" | \"PKR\" | \"PLN\" | \"PYG\" | \"QAR\" | \"RON\" | \"RSD\" | \"RUB\" | \"RWF\" | \"SAR\" | \"SBD\" | \"SCR\" | \"SDG\" | \"SEK\" | \"SGD\" | \"SHP\" | \"SLL\" | \"SOS\" | \"SRD\" | \"SSP\" | \"STN\" | \"SVC\" | \"SYP\" | \"SZL\" | \"THB\" | \"TJS\" | \"TMT\" | \"TND\" | \"TOP\" | \"TRY\" | \"TTD\" | \"TWD\" | \"TZS\" | \"UAH\" | \"UGX\" | \"USD\" | \"USN\" | \"UYI\" | \"UYU\" | \"UYW\" | \"UZS\" | \"VES\" | \"VND\" | \"VUV\" | \"WST\" | \"XAF\" | \"XAG\" | \"XAU\" | \"XBA\" | \"XBB\" | \"XBC\" | \"XBD\" | \"XCD\" | \"XDR\" | \"XOF\" | \"XPD\" | \"XPF\" | \"XPT\" | \"XSU\" | \"XTS\" | \"XUA\" | \"XXX\" | \"YER\" | \"ZAR\" | \"ZMW\" | \"ZWL\" | undefined",
437
505
  "references": {
438
506
  "Currency": {
439
507
  "location": "import",
@@ -449,16 +517,59 @@ export class SmoothlyInput {
449
517
  },
450
518
  "attribute": "currency",
451
519
  "reflect": true
520
+ },
521
+ "changed": {
522
+ "type": "boolean",
523
+ "mutable": true,
524
+ "complexType": {
525
+ "original": "boolean",
526
+ "resolved": "boolean",
527
+ "references": {}
528
+ },
529
+ "required": false,
530
+ "optional": false,
531
+ "docs": {
532
+ "tags": [],
533
+ "text": ""
534
+ },
535
+ "attribute": "changed",
536
+ "reflect": true,
537
+ "defaultValue": "false"
452
538
  }
453
539
  };
454
540
  }
455
541
  static get states() {
456
542
  return {
543
+ "formatter": {},
457
544
  "initialValue": {}
458
545
  };
459
546
  }
460
547
  static get events() {
461
548
  return [{
549
+ "method": "smoothlyInputLooks",
550
+ "name": "smoothlyInputLooks",
551
+ "bubbles": true,
552
+ "cancelable": true,
553
+ "composed": true,
554
+ "docs": {
555
+ "tags": [],
556
+ "text": ""
557
+ },
558
+ "complexType": {
559
+ "original": "(looks: Looks, color: Color) => void",
560
+ "resolved": "(looks: Looks, color: Color) => void",
561
+ "references": {
562
+ "Looks": {
563
+ "location": "import",
564
+ "path": "./Looks"
565
+ },
566
+ "Color": {
567
+ "location": "import",
568
+ "path": "../../model"
569
+ }
570
+ }
571
+ }
572
+ }, {
462
573
  "method": "smoothlyBlur",
463
574
  "name": "smoothlyBlur",
464
575
  "bubbles": true,
@@ -605,6 +716,9 @@ export class SmoothlyInput {
605
716
  }
606
717
  static get watchers() {
607
718
  return [{
719
+ "propName": "type",
720
+ "methodName": "typeChange"
721
+ }, {
608
722
  "propName": "value",
609
723
  "methodName": "valueWatcher"
610
724
  }, {
@@ -612,6 +726,15 @@ export class SmoothlyInput {
612
726
  "methodName": "onCurrency"
613
727
  }];
614
728
  }
729
+ static get listeners() {
730
+ return [{
731
+ "name": "smoothlyInputLoad",
732
+ "method": "SmoothlyInputLoadHandler",
733
+ "target": undefined,
734
+ "capture": false,
735
+ "passive": false
736
+ }];
737
+ }
615
738
  }
616
739
  function getLocale() {
617
740
  const result = navigator.language;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/input/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Currency, Language, Locale } from \"isoly\"\nimport { Action, Converter, Direction, Formatter, get, Settings, State as TidilyState, StateEditor, Type } from \"tidily\"\n\n@Component({\n\ttag: \"smoothly-input\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInput {\n\tprivate inputElement: HTMLInputElement\n\t/** On re-render the input will blur. This boolean is meant to keep track of if input should keep its focus. */\n\tprivate keepFocusOnReRender = false\n\tprivate lastValue: any\n\tprivate state: Readonly<TidilyState> & Readonly<Settings>\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value: any\n\t@Prop({ reflect: true }) type = \"text\"\n\t@Prop({ mutable: true, reflect: true }) required = false\n\t@Prop({ mutable: true }) minLength = 0\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ mutable: true }) maxLength: number = Number.POSITIVE_INFINITY\n\t@Prop({ mutable: true }) autocomplete = true\n\t@Prop({ mutable: true }) pattern: RegExp | undefined\n\t@Prop({ mutable: true, reflect: true }) placeholder: string | undefined\n\t@Prop({ mutable: true }) disabled = false\n\t@Prop({ mutable: true }) readonly = false\n\t@Prop({ reflect: true }) currency?: Currency\n\t@State() initialValue?: any\n\tget formatter(): Formatter & Converter<any> {\n\t\tlet result: (Formatter & Converter<any>) | undefined\n\t\tswitch (this.type) {\n\t\t\tcase \"price\":\n\t\t\t\tresult = get(\"price\", this.currency)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = get(this.type as Type, getLocale())\n\t\t\t\tbreak\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\treturn result || get(\"text\")!\n\t}\n\tprivate newState(state: TidilyState) {\n\t\tconst formatter = this.formatter\n\t\treturn formatter.format(StateEditor.copy(formatter.unformat(StateEditor.copy(state))))\n\t}\n\t@Event() smoothlyBlur: EventEmitter<void>\n\t@Event() smoothlyChange: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Watch(\"value\")\n\tvalueWatcher(value: any, before: any) {\n\t\tif (this.lastValue != value) {\n\t\t\tthis.lastValue = value\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\tvalue: this.newState({ value: this.formatter.toString(value), selection: this.state.selection }).value,\n\t\t\t}\n\t\t}\n\t\tif (value != before) {\n\t\t\tif (typeof value == \"string\")\n\t\t\t\tvalue = value.trim()\n\t\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\t}\n\t}\n\t@Watch(\"currency\")\n\tonCurrency() {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\tvalue: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).value,\n\t\t\tpattern: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).pattern,\n\t\t}\n\t}\n\tcomponentWillLoad() {\n\t\tconst value = this.formatter.toString(this.value) || \"\"\n\t\tconst start = value.length\n\t\tthis.state = this.newState({\n\t\t\tvalue,\n\t\t\tselection: { start, end: start, direction: \"none\" },\n\t\t})\n\t}\n\tcomponentDidRender() {\n\t\tif (this.keepFocusOnReRender) {\n\t\t\tthis.inputElement.focus()\n\t\t\tthis.keepFocusOnReRender = false\n\t\t}\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t}\n\t@Method()\n\tasync getFormData(name: string): Promise<Record<string, any>> {\n\t\tconst result: Record<string, any> = {}\n\t\tconst form = document.forms.namedItem(name)\n\t\tif (form) {\n\t\t\tconst elements = form.elements\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst element = elements.item(i)\n\t\t\t\tif (this.hasNameAndValue(element) && element.name)\n\t\t\t\t\tresult[element.name] = element.value\n\t\t\t}\n\t\t\t// Overwrite values with values from smoothly-input\n\t\t\tconst smoothlyInputs = form.getElementsByTagName(\"smoothly-input\")\n\t\t\tfor (let i = 0; i < smoothlyInputs.length; i++) {\n\t\t\t\tconst element = smoothlyInputs.item(i)\n\t\t\t\tif (this.hasNameAndValue(element) && element.name)\n\t\t\t\t\tresult[element.name] = element.value\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}\n\thasNameAndValue(element: any): element is { name: string; value: string } {\n\t\treturn (\n\t\t\ttypeof (element as { name?: string }).name == \"string\" && typeof (element as { value?: string }).value == \"string\"\n\t\t)\n\t}\n\t@Method()\n\tasync setKeepFocusOnReRender(keepFocus: boolean) {\n\t\tthis.keepFocusOnReRender = keepFocus\n\t}\n\t@Method()\n\tasync setSelectionRange(start: number, end: number, direction?: Direction) {\n\t\tthis.state = this.newState({\n\t\t\t...this.state,\n\t\t\tselection: { start, end, direction: direction != undefined ? direction : this.state.selection.direction },\n\t\t})\n\n\t\tconst after = this.formatter.format(StateEditor.copy(this.formatter.unformat(StateEditor.copy({ ...this.state }))))\n\t\tthis.updateBackend(after, this.inputElement)\n\t}\n\tonBlur(event: FocusEvent) {\n\t\tthis.smoothlyBlur.emit()\n\t\tif (this.initialValue != this.value)\n\t\t\tthis.smoothlyChange.emit({ [this.name]: this.value })\n\t\tthis.initialValue = undefined\n\t}\n\tonFocus(event: FocusEvent) {\n\t\tthis.initialValue = this.value\n\t\tconst after = this.formatter.format(StateEditor.copy(this.formatter.unformat(StateEditor.copy({ ...this.state }))))\n\t\tif (event.target)\n\t\t\tthis.updateBackend(after, event.target as HTMLInputElement)\n\t}\n\tonClick(event: MouseEvent) {\n\t\tconst backend = event.target as HTMLInputElement\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\tvalue: backend.value,\n\t\t\tselection: {\n\t\t\t\tstart: backend.selectionStart != undefined ? backend.selectionStart : backend.value.length,\n\t\t\t\tend: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,\n\t\t\t\tdirection: backend.selectionDirection ? backend.selectionDirection : \"none\",\n\t\t\t},\n\t\t}\n\t\tconst after = this.newState({ ...this.state })\n\t\tthis.updateBackend(after, backend)\n\t}\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (event.key && !(event.key == \"Unidentified\")) {\n\t\t\tconst backend = event.target as HTMLInputElement\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\tvalue: backend.value,\n\t\t\t\tselection: {\n\t\t\t\t\tstart: backend.selectionStart != undefined ? backend.selectionStart : backend.value.length,\n\t\t\t\t\tend: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,\n\t\t\t\t\tdirection: backend.selectionDirection ? backend.selectionDirection : \"none\",\n\t\t\t\t},\n\t\t\t}\n\t\t\tif (\n\t\t\t\t(!((event.ctrlKey || event.metaKey) && (event.key == \"v\" || event.key == \"x\" || event.key == \"c\")) &&\n\t\t\t\t\tevent.key.length == 1) ||\n\t\t\t\tevent.key == \"ArrowLeft\" ||\n\t\t\t\tevent.key == \"ArrowRight\" ||\n\t\t\t\tevent.key == \"Delete\" ||\n\t\t\t\tevent.key == \"Backspace\" ||\n\t\t\t\tevent.key == \"Home\" ||\n\t\t\t\tevent.key == \"End\"\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.processKey(event, backend)\n\t\t\t} else if (event.key == \"ArrowUp\" || event.key == \"ArrowDown\")\n\t\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\tonPaste(event: ClipboardEvent) {\n\t\tevent.preventDefault()\n\t\tlet pasted = event.clipboardData ? event.clipboardData.getData(\"text\") : \"\"\n\t\tconst backend = event.target as HTMLInputElement\n\t\tpasted = this.expiresAutocompleteFix(backend, pasted)\n\t\tfor (const letter of pasted)\n\t\t\tthis.processKey({ key: letter }, backend)\n\t}\n\tonInput(event: InputEvent) {\n\t\tif (event.inputType == \"insertReplacementText\") {\n\t\t\tthis.processKey({ key: \"a\", ctrlKey: true }, event.target as HTMLInputElement)\n\t\t\t;[...(event.data ?? \"\")].forEach(c => this.processKey({ key: c }, event.target as HTMLInputElement))\n\t\t} else {\n\t\t\tconst backend = event.target as HTMLInputElement\n\t\t\tlet data = backend.value\n\t\t\tif (data) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.processKey({ key: \"a\", ctrlKey: true }, backend)\n\t\t\t\tdata = this.expiresAutocompleteFix(backend, data)\n\t\t\t\tfor (const letter of data)\n\t\t\t\t\tthis.processKey({ key: letter }, backend)\n\t\t\t}\n\t\t}\n\t}\n\tprivate expiresAutocompleteFix(backend: HTMLInputElement, value: string) {\n\t\tif (backend.attributes.getNamedItem(\"autocomplete\")?.value == \"cc-exp\")\n\t\t\tvalue = value.match(/^20\\d\\d[.\\D]*\\d\\d$/)\n\t\t\t\t? value.substring(value.length - 2, value.length) + value.substring(2, 4)\n\t\t\t\t: value.match(/^(1[3-9]|[2-9]\\d)[.\\D]*\\d\\d$/)\n\t\t\t\t? value.substring(value.length - 2, value.length) + value.substring(0, 2)\n\t\t\t\t: value.match(/^\\d\\d[.\\D]*20\\d\\d$/)\n\t\t\t\t? value.substring(0, 2) + value.substring(value.length - 2, value.length)\n\t\t\t\t: value\n\t\treturn value\n\t}\n\tprivate processKey(event: Action, backend: HTMLInputElement) {\n\t\tif (!this.readonly) {\n\t\t\tconst after = Action.apply(this.formatter, this.state, event)\n\t\t\tthis.updateBackend(after, backend)\n\t\t}\n\t}\n\tupdateBackend(after: Readonly<TidilyState> & Readonly<Settings>, backend: HTMLInputElement) {\n\t\tif (after.value != backend.value)\n\t\t\tbackend.value = after.value\n\t\tif (backend.selectionStart != undefined && after.selection.start != backend.selectionStart)\n\t\t\tbackend.selectionStart = after.selection.start\n\t\tif (backend.selectionEnd != undefined && after.selection.end != backend.selectionEnd)\n\t\t\tbackend.selectionEnd = after.selection.end\n\t\tbackend.selectionDirection = after.selection.direction ? after.selection.direction : backend.selectionDirection\n\t\tthis.state = after\n\t\tthis.value = this.lastValue = this.formatter.fromString(\n\t\t\tthis.formatter.unformat(StateEditor.copy({ ...this.state })).value\n\t\t)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{ \"has-value\": this.state?.value != undefined && this.state?.value != \"\" }}\n\t\t\t\tonclick={() => this.inputElement?.focus()}>\n\t\t\t\t<slot name=\"start\"></slot>\n\t\t\t\t<div>\n\t\t\t\t\t<input\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\ttype={this.state?.type}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tautocomplete={this.autocomplete ? this.state?.autocomplete : \"off\"}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\treadOnly={this.readonly}\n\t\t\t\t\t\tpattern={this.state?.pattern && this.state?.pattern.source}\n\t\t\t\t\t\tvalue={this.state?.value}\n\t\t\t\t\t\tonInput={(e: InputEvent) => this.onInput(e)}\n\t\t\t\t\t\tonFocus={e => this.onFocus(e)}\n\t\t\t\t\t\tonClick={e => this.onClick(e)}\n\t\t\t\t\t\tonBlur={e => this.onBlur(e)}\n\t\t\t\t\t\tonKeyDown={e => this.onKeyDown(e)}\n\t\t\t\t\t\tref={(el: HTMLInputElement) => (this.inputElement = el)}\n\t\t\t\t\t\tonPaste={e => this.onPaste(e)}></input>\n\t\t\t\t\t<label htmlFor={this.name}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</label>\n\t\t\t\t\t<smoothly-icon name=\"alert-circle\" color=\"danger\" fill=\"clear\" size=\"small\"></smoothly-icon>\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"end\"></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n\nfunction getLocale(): Locale | undefined {\n\tconst result = navigator.language\n\treturn Locale.is(result) ? result : Language.is(result) ? Locale.toLocale(result) : undefined\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/input/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Currency, Language, Locale } from \"isoly\"\nimport { Action, Converter, Direction, Formatter, get, Settings, State as TidilyState, StateEditor, Type } from \"tidily\"\nimport { Color } from \"../../model\"\nimport { Changeable } from \"./Changeable\"\nimport { Clearable } from \"./Clearable\"\nimport { Input } from \"./Input\"\nimport { Looks } from \"./Looks\"\n\n@Component({\n\ttag: \"smoothly-input\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInput implements Changeable, Clearable, Input {\n\tprivate inputElement: HTMLInputElement\n\t/** On re-render the input will blur. This boolean is meant to keep track of if input should keep its focus. */\n\tprivate keepFocusOnReRender = false\n\tprivate lastValue: any\n\tprivate state: Readonly<TidilyState> & Readonly<Settings>\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value: any\n\t@Prop({ reflect: true }) type: Type = \"text\"\n\t@Prop({ mutable: true, reflect: true }) required = false\n\t@Prop({ mutable: true }) minLength = 0\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ mutable: true }) maxLength: number = Number.POSITIVE_INFINITY\n\t@Prop({ mutable: true }) autocomplete = true\n\t@Prop({ mutable: true }) pattern: RegExp | undefined\n\t@Prop({ mutable: true, reflect: true }) placeholder: string | undefined\n\t@Prop({ mutable: true }) disabled = false\n\t@Prop({ mutable: true, reflect: true }) readonly = false\n\t@Prop({ reflect: true }) currency?: Currency\n\t@State() formatter: Formatter & Converter<any>\n\t@State() initialValue?: any\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\n\t@Prop({ mutable: true, reflect: true }) changed = false\n\tprivate listener: { changed?: (parent: Changeable) => Promise<void> } = {}\n\n\tlisten(property: \"changed\", listener: (parent: Changeable) => Promise<void>): void {\n\t\tthis.listener[property] = listener\n\t\tlistener(this)\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync SmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInput) => void>): Promise<void> {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this)\n\t}\n\n\t@Watch(\"type\")\n\ttypeChange(): void {\n\t\tlet result: (Formatter & Converter<any>) | undefined\n\t\tswitch (this.type) {\n\t\t\tcase \"price\":\n\t\t\t\tresult = get(\"price\", this.currency)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = get(this.type, getLocale())\n\t\t\t\tbreak\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\tthis.formatter = result || get(\"text\")!\n\t}\n\tprivate newState(state: TidilyState) {\n\t\tconst formatter = this.formatter\n\t\treturn formatter.format(StateEditor.copy(formatter.unformat(StateEditor.copy(state))))\n\t}\n\t@Event() smoothlyBlur: EventEmitter<void>\n\t@Event() smoothlyChange: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Watch(\"value\")\n\tvalueWatcher(value: any, before: any) {\n\t\tif (this.lastValue != value) {\n\t\t\tthis.lastValue = value\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\tvalue: this.newState({ value: this.formatter.toString(value), selection: this.state.selection }).value,\n\t\t\t}\n\t\t}\n\t\tif (value != before) {\n\t\t\tif (typeof value == \"string\")\n\t\t\t\tvalue = value.trim()\n\t\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\t}\n\n\t\tthis.changed = Boolean(this.value)\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Watch(\"currency\")\n\tonCurrency() {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\tvalue: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).value,\n\t\t\tpattern: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).pattern,\n\t\t}\n\t}\n\tcomponentWillLoad() {\n\t\tthis.typeChange()\n\t\tconst value = this.formatter.toString(this.value) || \"\"\n\t\tconst start = value.length\n\t\tthis.state = this.newState({\n\t\t\tvalue,\n\t\t\tselection: { start, end: start, direction: \"none\" },\n\t\t})\n\t\tthis.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)))\n\t}\n\tcomponentDidRender() {\n\t\tif (this.keepFocusOnReRender) {\n\t\t\tthis.inputElement.focus()\n\t\t\tthis.keepFocusOnReRender = false\n\t\t}\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t}\n\t@Method()\n\tasync getFormData(name: string): Promise<Record<string, any>> {\n\t\tconst result: Record<string, any> = {}\n\t\tconst form = document.forms.namedItem(name)\n\t\tif (form) {\n\t\t\tconst elements = form.elements\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst element = elements.item(i)\n\t\t\t\tif (this.hasNameAndValue(element) && element.name)\n\t\t\t\t\tresult[element.name] = element.value\n\t\t\t}\n\t\t\t// Overwrite values with values from smoothly-input\n\t\t\tconst smoothlyInputs = form.getElementsByTagName(\"smoothly-input\")\n\t\t\tfor (let i = 0; i < smoothlyInputs.length; i++) {\n\t\t\t\tconst element = smoothlyInputs.item(i)\n\t\t\t\tif (this.hasNameAndValue(element) && element.name)\n\t\t\t\t\tresult[element.name] = element.value\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}\n\thasNameAndValue(element: any): element is { name: string; value: string } {\n\t\treturn (\n\t\t\ttypeof (element as { name?: string }).name == \"string\" && typeof (element as { value?: string }).value == \"string\"\n\t\t)\n\t}\n\t@Method()\n\tasync setKeepFocusOnReRender(keepFocus: boolean) {\n\t\tthis.keepFocusOnReRender = keepFocus\n\t}\n\t@Method()\n\tasync setSelectionRange(start: number, end: number, direction?: Direction) {\n\t\tthis.state = this.newState({\n\t\t\t...this.state,\n\t\t\tselection: { start, end, direction: direction != undefined ? direction : this.state.selection.direction },\n\t\t})\n\n\t\tconst after = this.formatter.format(StateEditor.copy(this.formatter.unformat(StateEditor.copy({ ...this.state }))))\n\t\tthis.updateBackend(after, this.inputElement)\n\t}\n\tonBlur(event: FocusEvent) {\n\t\tthis.smoothlyBlur.emit()\n\t\tif (this.initialValue != this.value)\n\t\t\tthis.smoothlyChange.emit({ [this.name]: this.value })\n\t\tthis.initialValue = undefined\n\t}\n\tonFocus(event: FocusEvent) {\n\t\tthis.initialValue = this.value\n\t\tconst after = this.formatter.format(StateEditor.copy(this.formatter.unformat(StateEditor.copy({ ...this.state }))))\n\t\tif (event.target)\n\t\t\tthis.updateBackend(after, event.target as HTMLInputElement)\n\t}\n\tonClick(event: MouseEvent) {\n\t\tconst backend = event.target as HTMLInputElement\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\tvalue: backend.value,\n\t\t\tselection: {\n\t\t\t\tstart: backend.selectionStart != undefined ? backend.selectionStart : backend.value.length,\n\t\t\t\tend: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,\n\t\t\t\tdirection: backend.selectionDirection ? backend.selectionDirection : \"none\",\n\t\t\t},\n\t\t}\n\t\tconst after = this.newState({ ...this.state })\n\t\tthis.updateBackend(after, backend)\n\t}\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (event.key && !(event.key == \"Unidentified\")) {\n\t\t\tconst backend = event.target as HTMLInputElement\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\tvalue: backend.value,\n\t\t\t\tselection: {\n\t\t\t\t\tstart: backend.selectionStart != undefined ? backend.selectionStart : backend.value.length,\n\t\t\t\t\tend: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,\n\t\t\t\t\tdirection: backend.selectionDirection ? backend.selectionDirection : \"none\",\n\t\t\t\t},\n\t\t\t}\n\t\t\tif (\n\t\t\t\t(!((event.ctrlKey || event.metaKey) && (event.key == \"v\" || event.key == \"x\" || event.key == \"c\")) &&\n\t\t\t\t\tevent.key.length == 1) ||\n\t\t\t\tevent.key == \"ArrowLeft\" ||\n\t\t\t\tevent.key == \"ArrowRight\" ||\n\t\t\t\tevent.key == \"Delete\" ||\n\t\t\t\tevent.key == \"Backspace\" ||\n\t\t\t\tevent.key == \"Home\" ||\n\t\t\t\tevent.key == \"End\"\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.processKey(event, backend)\n\t\t\t} else if (event.key == \"ArrowUp\" || event.key == \"ArrowDown\")\n\t\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\tonPaste(event: ClipboardEvent) {\n\t\tevent.preventDefault()\n\t\tlet pasted = event.clipboardData ? event.clipboardData.getData(\"text\") : \"\"\n\t\tconst backend = event.target as HTMLInputElement\n\t\tpasted = this.expiresAutocompleteFix(backend, pasted)\n\t\tfor (const letter of pasted)\n\t\t\tthis.processKey({ key: letter }, backend)\n\t}\n\tonInput(event: InputEvent) {\n\t\tif (event.inputType == \"insertReplacementText\") {\n\t\t\tthis.processKey({ key: \"a\", ctrlKey: true }, event.target as HTMLInputElement)\n\t\t\t;[...(event.data ?? \"\")].forEach(c => this.processKey({ key: c }, event.target as HTMLInputElement))\n\t\t} else {\n\t\t\tconst backend = event.target as HTMLInputElement\n\t\t\tlet data = backend.value\n\t\t\tif (data) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.processKey({ key: \"a\", ctrlKey: true }, backend)\n\t\t\t\tdata = this.expiresAutocompleteFix(backend, data)\n\t\t\t\tfor (const letter of data)\n\t\t\t\t\tthis.processKey({ key: letter }, backend)\n\t\t\t}\n\t\t}\n\t}\n\tprivate expiresAutocompleteFix(backend: HTMLInputElement, value: string) {\n\t\tif (backend.attributes.getNamedItem(\"autocomplete\")?.value == \"cc-exp\")\n\t\t\tvalue = value.match(/^20\\d\\d[.\\D]*\\d\\d$/)\n\t\t\t\t? value.substring(value.length - 2, value.length) + value.substring(2, 4)\n\t\t\t\t: value.match(/^(1[3-9]|[2-9]\\d)[.\\D]*\\d\\d$/)\n\t\t\t\t? value.substring(value.length - 2, value.length) + value.substring(0, 2)\n\t\t\t\t: value.match(/^\\d\\d[.\\D]*20\\d\\d$/)\n\t\t\t\t? value.substring(0, 2) + value.substring(value.length - 2, value.length)\n\t\t\t\t: value\n\t\treturn value\n\t}\n\tprivate processKey(event: Action, backend: HTMLInputElement) {\n\t\tif (!this.readonly) {\n\t\t\tconst after = Action.apply(this.formatter, this.state, event)\n\t\t\tthis.updateBackend(after, backend)\n\t\t}\n\t}\n\tupdateBackend(after: Readonly<TidilyState> & Readonly<Settings>, backend: HTMLInputElement) {\n\t\tif (after.value != backend.value)\n\t\t\tbackend.value = after.value\n\t\tif (backend.selectionStart != undefined && after.selection.start != backend.selectionStart)\n\t\t\tbackend.selectionStart = after.selection.start\n\t\tif (backend.selectionEnd != undefined && after.selection.end != backend.selectionEnd)\n\t\t\tbackend.selectionEnd = after.selection.end\n\t\tbackend.selectionDirection = after.selection.direction ? after.selection.direction : backend.selectionDirection\n\t\tthis.state = after\n\t\tthis.value = this.lastValue = this.formatter.fromString(\n\t\t\tthis.formatter.unformat(StateEditor.copy({ ...this.state })).value\n\t\t)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{ \"has-value\": this.state?.value != undefined && this.state?.value != \"\" }}\n\t\t\t\tonclick={() => this.inputElement?.focus()}>\n\t\t\t\t<slot name=\"start\"></slot>\n\t\t\t\t<div>\n\t\t\t\t\t<input\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\ttype={this.state?.type}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tautocomplete={this.autocomplete ? this.state?.autocomplete : \"off\"}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\treadOnly={this.readonly}\n\t\t\t\t\t\tpattern={this.state?.pattern && this.state?.pattern.source}\n\t\t\t\t\t\tvalue={this.state?.value}\n\t\t\t\t\t\tonInput={(e: InputEvent) => this.onInput(e)}\n\t\t\t\t\t\tonFocus={e => this.onFocus(e)}\n\t\t\t\t\t\tonClick={e => this.onClick(e)}\n\t\t\t\t\t\tonBlur={e => this.onBlur(e)}\n\t\t\t\t\t\tonKeyDown={e => this.onKeyDown(e)}\n\t\t\t\t\t\tref={(el: HTMLInputElement) => (this.inputElement = el)}\n\t\t\t\t\t\tonPaste={e => this.onPaste(e)}></input>\n\t\t\t\t\t<label htmlFor={this.name}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</label>\n\t\t\t\t\t<smoothly-icon name=\"alert-circle\" color=\"danger\" fill=\"clear\" size=\"small\"></smoothly-icon>\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"end\"></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n\nfunction getLocale(): Locale | undefined {\n\tconst result = navigator.language\n\treturn Locale.is(result) ? result : Language.is(result) ? Locale.toLocale(result) : undefined\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { Date } from "isoly";
3
- import * as generate from "../calendar/generate";
3
+ import * as generate from "../../calendar/generate";
4
4
  export class MonthSelector {
5
5
  constructor() {
6
6
  this.value = undefined;
@@ -17,10 +17,10 @@ export class MonthSelector {
17
17
  render() {
18
18
  var _a, _b;
19
19
  return [
20
- h("div", { onClick: () => this.adjustMonth(-1) }, h("smoothly-icon", { name: "chevron-back-outline", size: "small" })),
21
- h("smoothly-selector", { onSelected: (e) => (this.value = e.detail) }, generate.years((_a = this.value) !== null && _a !== void 0 ? _a : Date.now()).map(year => (h("smoothly-item", { value: year.date, selected: year.selected }, year.name)))),
22
- h("smoothly-selector", { onSelected: (e) => (this.value = e.detail) }, generate.months((_b = this.value) !== null && _b !== void 0 ? _b : Date.now()).map(month => (h("smoothly-item", { value: month.date, selected: month.selected }, month.name)))),
23
- h("div", { onClick: () => this.adjustMonth(1) }, h("smoothly-icon", { name: "chevron-forward-outline", size: "small" })),
20
+ h("div", { onClick: () => this.adjustMonth(-1) }, h("smoothly-icon", { name: "caret-back-outline", size: "small" })),
21
+ h("smoothly-input-select", { onSelected: (e) => (this.value = e.detail) }, generate.years((_a = this.value) !== null && _a !== void 0 ? _a : Date.now()).map(year => (h("smoothly-item", { value: year.date, selected: year.selected }, year.name)))),
22
+ h("smoothly-input-select", { onSelected: (e) => (this.value = e.detail) }, generate.months((_b = this.value) !== null && _b !== void 0 ? _b : Date.now()).map(month => (h("smoothly-item", { value: month.date, selected: month.selected }, month.name)))),
23
+ h("div", { onClick: () => this.adjustMonth(1) }, h("smoothly-icon", { name: "caret-forward-outline", size: "small" })),
24
24
  ];
25
25
  }
26
26
  static get is() { return "smoothly-input-month"; }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/input/month/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AAOnD,MAAM,OAAO,aAAa;;;;EAIzB,cAAc,CAAC,IAAU;IACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;EAC7B,CAAC;EACO,WAAW,CAAC,KAAa;;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAA;IACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;EAC/B,CAAC;EACD,MAAM;;IACL,OAAO;MACN,WAAK,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvC,qBAAe,IAAI,EAAC,oBAAoB,EAAC,IAAI,EAAC,OAAO,GAAG,CACnD;MACN,6BAAuB,UAAU,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAC5E,QAAQ,CAAC,KAAK,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACrD,qBAAe,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACtD,IAAI,CAAC,IAAI,CACK,CAChB,CAAC,CACqB;MACxB,6BAAuB,UAAU,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAC5E,QAAQ,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACvD,qBAAe,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IACxD,KAAK,CAAC,IAAI,CACI,CAChB,CAAC,CACqB;MACxB,WAAK,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,qBAAe,IAAI,EAAC,uBAAuB,EAAC,IAAI,EAAC,OAAO,GAAG,CACtD;KACN,CAAA;EACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Watch } from \"@stencil/core\"\nimport { Date } from \"isoly\"\nimport * as generate from \"../../calendar/generate\"\n\n@Component({\n\ttag: \"smoothly-input-month\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class MonthSelector {\n\t@Prop({ mutable: true }) value?: Date\n\t@Event() valueChanged: EventEmitter<Date>\n\t@Watch(\"value\")\n\tonValueChanged(next: Date) {\n\t\tthis.valueChanged.emit(next)\n\t}\n\tprivate adjustMonth(delta: number) {\n\t\tconst date = Date.parse(this.value ?? Date.now())\n\t\tdate.setMonth(date.getMonth() + delta)\n\t\tthis.value = Date.create(date)\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<div onClick={() => this.adjustMonth(-1)}>\n\t\t\t\t<smoothly-icon name=\"caret-back-outline\" size=\"small\" />\n\t\t\t</div>,\n\t\t\t<smoothly-input-select onSelected={(e: CustomEvent) => (this.value = e.detail)}>\n\t\t\t\t{generate.years(this.value ?? Date.now()).map(year => (\n\t\t\t\t\t<smoothly-item value={year.date} selected={year.selected}>\n\t\t\t\t\t\t{year.name}\n\t\t\t\t\t</smoothly-item>\n\t\t\t\t))}\n\t\t\t</smoothly-input-select>,\n\t\t\t<smoothly-input-select onSelected={(e: CustomEvent) => (this.value = e.detail)}>\n\t\t\t\t{generate.months(this.value ?? Date.now()).map(month => (\n\t\t\t\t\t<smoothly-item value={month.date} selected={month.selected}>\n\t\t\t\t\t\t{month.name}\n\t\t\t\t\t</smoothly-item>\n\t\t\t\t))}\n\t\t\t</smoothly-input-select>,\n\t\t\t<div onClick={() => this.adjustMonth(1)}>\n\t\t\t\t<smoothly-icon name=\"caret-forward-outline\" size=\"small\" />\n\t\t\t</div>,\n\t\t]\n\t}\n}\n"]}
@@ -1,13 +1,22 @@
1
1
  import { h, Host } from "@stencil/core";
2
- export class Selector {
2
+ export class SmoothlyInputSelect {
3
3
  constructor() {
4
4
  this.items = [];
5
+ this.name = undefined;
6
+ this.color = undefined;
7
+ this.looks = "plain";
8
+ this.type = undefined;
9
+ this.showSelected = true;
5
10
  this.initialPrompt = undefined;
11
+ this.initialValue = undefined;
6
12
  this.opened = false;
7
13
  this.selectedElement = undefined;
8
14
  this.missing = false;
9
15
  this.filter = "";
10
16
  }
17
+ componentWillLoad() {
18
+ this.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)));
19
+ }
11
20
  async reset() {
12
21
  var _a;
13
22
  this.selectedElement = undefined;
@@ -19,6 +28,7 @@ export class Selector {
19
28
  if (old)
20
29
  old.selected = false;
21
30
  this.selected.emit(value === null || value === void 0 ? void 0 : value.value);
31
+ this.smoothlyInput.emit({ [this.name]: value === null || value === void 0 ? void 0 : value.value });
22
32
  }
23
33
  async onFilterChange(value) {
24
34
  value = value.toLowerCase();
@@ -34,7 +44,9 @@ export class Selector {
34
44
  this.opened = !this.opened;
35
45
  }
36
46
  onItemSelected(event) {
47
+ this.selectedElement && (this.selectedElement.hidden = false);
37
48
  this.selectedElement = event.target;
49
+ !this.showSelected && (this.selectedElement.hidden = true);
38
50
  if (this.mainElement)
39
51
  this.mainElement.innerHTML = this.selectedElement.innerHTML;
40
52
  }
@@ -96,8 +108,8 @@ export class Selector {
96
108
  }
97
109
  }
98
110
  render() {
99
- var _a;
100
- return (h(Host, { tabIndex: 2, class: this.missing ? "missing" : "" }, h("main", { ref: element => (this.mainElement = element) }, (_a = this.initialPrompt) !== null && _a !== void 0 ? _a : "(none)"), this.filter.length != 0 ? (h("aside", { ref: element => (this.aside = element) }, this.filter, h("button", { onClick: e => {
111
+ var _a, _b;
112
+ return (h(Host, { tabIndex: 2, class: (_a = (this.missing ? "missing" : this.type)) !== null && _a !== void 0 ? _a : "" }, h("main", { ref: element => (this.mainElement = element) }, (_b = this.initialPrompt) !== null && _b !== void 0 ? _b : "(none)"), this.filter.length != 0 ? (h("aside", { ref: element => (this.aside = element) }, this.filter, h("button", { onClick: e => {
101
113
  e.stopPropagation();
102
114
  this.filter = "";
103
115
  } }, h("smoothly-icon", { name: "close", size: "small" })))) : undefined, this.opened ? h("section", { onClick: () => (this.opened = true) }) : [], h("div", { class: this.opened ? "" : "hidden" }, h("nav", null, h("slot", null)))));
@@ -107,12 +119,14 @@ export class Selector {
107
119
  const children = this.element.querySelectorAll("div > nav > smoothly-item");
108
120
  for (let i = 0; i < children.length; i++) {
109
121
  const node = children.item(i);
110
- if (isItem(node))
122
+ if (isItem(node)) {
111
123
  items.push(node);
124
+ node.value == this.initialValue && this.mainElement && !this.selectedElement && (node.selected = true);
125
+ }
112
126
  }
113
127
  this.items = items;
114
128
  }
115
- static get is() { return "smoothly-selector"; }
129
+ static get is() { return "smoothly-input-select"; }
116
130
  static get encapsulation() { return "scoped"; }
117
131
  static get originalStyleUrls() {
118
132
  return {
@@ -126,6 +140,103 @@ export class Selector {
126
140
  }
127
141
  static get properties() {
128
142
  return {
143
+ "name": {
144
+ "type": "string",
145
+ "mutable": false,
146
+ "complexType": {
147
+ "original": "string",
148
+ "resolved": "string",
149
+ "references": {}
150
+ },
151
+ "required": false,
152
+ "optional": false,
153
+ "docs": {
154
+ "tags": [],
155
+ "text": ""
156
+ },
157
+ "attribute": "name",
158
+ "reflect": false
159
+ },
160
+ "color": {
161
+ "type": "string",
162
+ "mutable": true,
163
+ "complexType": {
164
+ "original": "Color",
165
+ "resolved": "\"danger\" | \"dark\" | \"default\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | undefined",
166
+ "references": {
167
+ "Color": {
168
+ "location": "import",
169
+ "path": "../../../model"
170
+ }
171
+ }
172
+ },
173
+ "required": false,
174
+ "optional": true,
175
+ "docs": {
176
+ "tags": [],
177
+ "text": ""
178
+ },
179
+ "attribute": "color",
180
+ "reflect": true
181
+ },
182
+ "looks": {
183
+ "type": "string",
184
+ "mutable": true,
185
+ "complexType": {
186
+ "original": "Looks",
187
+ "resolved": "\"border\" | \"grid\" | \"line\" | \"plain\"",
188
+ "references": {
189
+ "Looks": {
190
+ "location": "import",
191
+ "path": "../Looks"
192
+ }
193
+ }
194
+ },
195
+ "required": false,
196
+ "optional": false,
197
+ "docs": {
198
+ "tags": [],
199
+ "text": ""
200
+ },
201
+ "attribute": "looks",
202
+ "reflect": true,
203
+ "defaultValue": "\"plain\""
204
+ },
205
+ "type": {
206
+ "type": "string",
207
+ "mutable": true,
208
+ "complexType": {
209
+ "original": "\"icon\"",
210
+ "resolved": "\"icon\" | undefined",
211
+ "references": {}
212
+ },
213
+ "required": false,
214
+ "optional": true,
215
+ "docs": {
216
+ "tags": [],
217
+ "text": ""
218
+ },
219
+ "attribute": "type",
220
+ "reflect": true
221
+ },
222
+ "showSelected": {
223
+ "type": "boolean",
224
+ "mutable": true,
225
+ "complexType": {
226
+ "original": "boolean",
227
+ "resolved": "boolean | undefined",
228
+ "references": {}
229
+ },
230
+ "required": false,
231
+ "optional": true,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": ""
235
+ },
236
+ "attribute": "show-selected",
237
+ "reflect": true,
238
+ "defaultValue": "true"
239
+ },
129
240
  "initialPrompt": {
130
241
  "type": "string",
131
242
  "mutable": false,
@@ -142,6 +253,23 @@ export class Selector {
142
253
  },
143
254
  "attribute": "initial-prompt",
144
255
  "reflect": false
256
+ },
257
+ "initialValue": {
258
+ "type": "any",
259
+ "mutable": false,
260
+ "complexType": {
261
+ "original": "any",
262
+ "resolved": "any",
263
+ "references": {}
264
+ },
265
+ "required": false,
266
+ "optional": true,
267
+ "docs": {
268
+ "tags": [],
269
+ "text": ""
270
+ },
271
+ "attribute": "initial-value",
272
+ "reflect": false
145
273
  }
146
274
  };
147
275
  }
@@ -169,6 +297,49 @@ export class Selector {
169
297
  "resolved": "any",
170
298
  "references": {}
171
299
  }
300
+ }, {
301
+ "method": "smoothlyInput",
302
+ "name": "smoothlyInput",
303
+ "bubbles": true,
304
+ "cancelable": true,
305
+ "composed": true,
306
+ "docs": {
307
+ "tags": [],
308
+ "text": ""
309
+ },
310
+ "complexType": {
311
+ "original": "Record<number, any>",
312
+ "resolved": "{ [x: number]: any; }",
313
+ "references": {
314
+ "Record": {
315
+ "location": "global"
316
+ }
317
+ }
318
+ }
319
+ }, {
320
+ "method": "smoothlyInputLooks",
321
+ "name": "smoothlyInputLooks",
322
+ "bubbles": true,
323
+ "cancelable": true,
324
+ "composed": true,
325
+ "docs": {
326
+ "tags": [],
327
+ "text": ""
328
+ },
329
+ "complexType": {
330
+ "original": "(looks: Looks, color: Color) => void",
331
+ "resolved": "(looks: Looks, color: Color) => void",
332
+ "references": {
333
+ "Looks": {
334
+ "location": "import",
335
+ "path": "../Looks"
336
+ },
337
+ "Color": {
338
+ "location": "import",
339
+ "path": "../../../model"
340
+ }
341
+ }
342
+ }
172
343
  }];
173
344
  }
174
345
  static get methods() {