smoothly 1.0.0-alpha.21 → 1.0.0-alpha.210

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 (549) hide show
  1. package/dist/cjs/{Listenable-63ea2d90.js → Data-ae713814.js} +523 -6
  2. package/dist/cjs/Data-ae713814.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-49a534df.js +6118 -0
  8. package/dist/cjs/getLanguage-49a534df.js.map +1 -0
  9. package/dist/cjs/{index-8adc5c1b.js → index-43af753b.js} +55 -2
  10. package/dist/cjs/index-43af753b.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +22 -17
  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/{Notice-88ba4c70.js → redirect-2e5d4524.js} +11 -2
  16. package/dist/cjs/redirect-2e5d4524.js.map +1 -0
  17. package/dist/cjs/smoothly-accordion-item.cjs.entry.js +61 -0
  18. package/dist/cjs/smoothly-accordion-item.cjs.entry.js.map +1 -0
  19. package/dist/cjs/smoothly-accordion.cjs.entry.js +58 -0
  20. package/dist/cjs/smoothly-accordion.cjs.entry.js.map +1 -0
  21. package/dist/cjs/smoothly-address-display.cjs.entry.js +1 -1
  22. package/dist/cjs/smoothly-address.cjs.entry.js +1 -1
  23. package/dist/cjs/smoothly-addresses.cjs.entry.js +1 -1
  24. package/dist/cjs/smoothly-app_80.cjs.entry.js +10872 -0
  25. package/dist/cjs/smoothly-app_80.cjs.entry.js.map +1 -0
  26. package/dist/cjs/smoothly-checkbox.cjs.entry.js +102 -0
  27. package/dist/cjs/smoothly-checkbox.cjs.entry.js.map +1 -0
  28. package/dist/cjs/smoothly-color.cjs.entry.js +1 -1
  29. package/dist/cjs/smoothly-country.cjs.entry.js +56 -55
  30. package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
  31. package/dist/cjs/smoothly-display-date-time.cjs.entry.js +26 -0
  32. package/dist/cjs/smoothly-display-date-time.cjs.entry.js.map +1 -0
  33. package/dist/cjs/smoothly-google-font.cjs.entry.js +1 -1
  34. package/dist/cjs/smoothly-reorder.cjs.entry.js +1 -1
  35. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +4 -4
  36. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js.map +1 -1
  37. package/dist/cjs/smoothly-trigger-source.cjs.entry.js +6 -6
  38. package/dist/cjs/smoothly-trigger-source.cjs.entry.js.map +1 -1
  39. package/dist/cjs/smoothly.cjs.js +4 -3
  40. package/dist/cjs/smoothly.cjs.js.map +1 -1
  41. package/dist/collection/collection-manifest.json +37 -15
  42. package/dist/collection/components/Button.js +16 -2
  43. package/dist/collection/components/Button.js.map +1 -1
  44. package/dist/collection/components/accordion/index.js +32 -12
  45. package/dist/collection/components/accordion/index.js.map +1 -1
  46. package/dist/collection/components/accordion-item/index.js +18 -25
  47. package/dist/collection/components/accordion-item/index.js.map +1 -1
  48. package/dist/collection/components/app/index.js +99 -29
  49. package/dist/collection/components/app/index.js.map +1 -1
  50. package/dist/collection/components/app/room/index.js +134 -25
  51. package/dist/collection/components/app/room/index.js.map +1 -1
  52. package/dist/collection/components/app/room/style.css +39 -10
  53. package/dist/collection/components/app/style.css +104 -39
  54. package/dist/collection/components/app-demo/index.js +1 -1
  55. package/dist/collection/components/app-demo/index.js.map +1 -1
  56. package/dist/collection/components/backtotop/index.js +3 -3
  57. package/dist/collection/components/backtotop/index.js.map +1 -1
  58. package/dist/collection/components/burger/index.js +60 -14
  59. package/dist/collection/components/burger/index.js.map +1 -1
  60. package/dist/collection/components/burger/style.css +2 -2
  61. package/dist/collection/components/button/index.js +10 -23
  62. package/dist/collection/components/button/index.js.map +1 -1
  63. package/dist/collection/components/button/style.css +33 -35
  64. package/dist/collection/components/button-demo/index.js +4 -2
  65. package/dist/collection/components/button-demo/index.js.map +1 -1
  66. package/dist/collection/components/button-demo/style.css +1 -0
  67. package/dist/collection/components/calendar/generate.js +1 -1
  68. package/dist/collection/components/calendar/generate.js.map +1 -1
  69. package/dist/collection/components/calendar/index.js +16 -16
  70. package/dist/collection/components/calendar/index.js.map +1 -1
  71. package/dist/collection/components/checkbox/index.js +82 -29
  72. package/dist/collection/components/checkbox/index.js.map +1 -1
  73. package/dist/collection/components/checkbox/style.css +39 -42
  74. package/dist/collection/components/confirm/index.js +261 -0
  75. package/dist/collection/components/confirm/index.js.map +1 -0
  76. package/dist/collection/components/confirm/style.css +15 -0
  77. package/dist/collection/components/country/index.js +1 -1
  78. package/dist/collection/components/display/index.js +6 -3
  79. package/dist/collection/components/display/index.js.map +1 -1
  80. package/dist/collection/components/display-amount/index.js +1 -1
  81. package/dist/collection/components/display-demo/index.js +16 -1
  82. package/dist/collection/components/display-demo/index.js.map +1 -1
  83. package/dist/collection/components/filter/Filter.js +17 -0
  84. package/dist/collection/components/filter/Filter.js.map +1 -0
  85. package/dist/collection/components/filter/field/index.js +105 -0
  86. package/dist/collection/components/filter/field/index.js.map +1 -0
  87. package/dist/collection/components/filter/field/style.css +4 -0
  88. package/dist/collection/components/filter/index.js +55 -132
  89. package/dist/collection/components/filter/index.js.map +1 -1
  90. package/dist/collection/components/filter/input/index.js +64 -302
  91. package/dist/collection/components/filter/input/index.js.map +1 -1
  92. package/dist/collection/components/filter/picker/index.js +174 -0
  93. package/dist/collection/components/filter/picker/index.js.map +1 -0
  94. package/dist/collection/components/filter/picker/style.css +7 -0
  95. package/dist/collection/components/filter/style.css +56 -71
  96. package/dist/collection/components/filter/toggle/index.js +248 -0
  97. package/dist/collection/components/filter/toggle/index.js.map +1 -0
  98. package/dist/collection/components/filter/toggle/style.css +8 -0
  99. package/dist/collection/components/form/index.js +302 -35
  100. package/dist/collection/components/form/index.js.map +1 -1
  101. package/dist/collection/components/form/style.css +11 -17
  102. package/dist/collection/components/icon/index.js +29 -38
  103. package/dist/collection/components/icon/index.js.map +1 -1
  104. package/dist/collection/components/icon-demo/index.js +1 -1
  105. package/dist/collection/components/icon-demo/index.js.map +1 -1
  106. package/dist/collection/components/icon-demo/style.css +5 -6
  107. package/dist/collection/components/input/Clearable.js.map +1 -0
  108. package/dist/collection/components/input/Editable.js +18 -0
  109. package/dist/collection/components/input/Editable.js.map +1 -0
  110. package/dist/collection/components/input/Input.js +23 -0
  111. package/dist/collection/components/input/Input.js.map +1 -0
  112. package/dist/collection/components/input/Looks.js +8 -0
  113. package/dist/collection/components/input/Looks.js.map +1 -0
  114. package/dist/collection/components/input/Submittable.js +8 -0
  115. package/dist/collection/components/input/Submittable.js.map +1 -0
  116. package/dist/collection/components/input/checkbox/index.js +235 -0
  117. package/dist/collection/components/input/checkbox/index.js.map +1 -0
  118. package/dist/collection/components/input/checkbox/style.css +31 -0
  119. package/dist/collection/components/input/clear/index.js +242 -0
  120. package/dist/collection/components/input/clear/index.js.map +1 -0
  121. package/dist/collection/components/input/clear/style.css +256 -0
  122. package/dist/collection/components/input/color/index.js +226 -0
  123. package/dist/collection/components/input/color/index.js.map +1 -0
  124. package/dist/collection/components/input/color/style.css +15 -0
  125. package/dist/collection/components/{input-date-range → input/date}/index.js +153 -99
  126. package/dist/collection/components/input/date/index.js.map +1 -0
  127. package/dist/collection/components/input/date/range/index.js +443 -0
  128. package/dist/collection/components/input/date/range/index.js.map +1 -0
  129. package/dist/collection/components/input/date/range/style.css +94 -0
  130. package/dist/collection/components/input/date/style.css +83 -0
  131. package/dist/collection/components/input/demo/index.js +47 -0
  132. package/dist/collection/components/input/demo/index.js.map +1 -0
  133. package/dist/collection/components/input/demo/style.css +15 -0
  134. package/dist/collection/components/input/edit/index.js +231 -0
  135. package/dist/collection/components/input/edit/index.js.map +1 -0
  136. package/dist/collection/components/input/edit/style.css +239 -0
  137. package/dist/collection/components/input/file/index.js +305 -0
  138. package/dist/collection/components/input/file/index.js.map +1 -0
  139. package/dist/collection/components/input/file/style.css +107 -0
  140. package/dist/collection/components/input/index.js +329 -104
  141. package/dist/collection/components/input/index.js.map +1 -1
  142. package/dist/collection/components/{input-month → input/month}/index.js +8 -8
  143. package/dist/collection/components/input/month/index.js.map +1 -0
  144. package/dist/collection/components/input/radio/Selected.js +11 -0
  145. package/dist/collection/components/input/radio/Selected.js.map +1 -0
  146. package/dist/collection/components/input/radio/index.js +404 -0
  147. package/dist/collection/components/input/radio/index.js.map +1 -0
  148. package/dist/collection/components/input/radio/item/index.js +150 -0
  149. package/dist/collection/components/input/radio/item/index.js.map +1 -0
  150. package/dist/collection/components/input/radio/item/style.css +28 -0
  151. package/dist/collection/components/input/radio/style.css +66 -0
  152. package/dist/collection/components/input/range/index.js +305 -0
  153. package/dist/collection/components/input/range/index.js.map +1 -0
  154. package/dist/collection/components/input/range/style.css +154 -0
  155. package/dist/collection/components/input/reset/index.js +241 -0
  156. package/dist/collection/components/input/reset/index.js.map +1 -0
  157. package/dist/collection/components/input/reset/style.css +259 -0
  158. package/dist/collection/components/input/select/index.js +452 -0
  159. package/dist/collection/components/input/select/index.js.map +1 -0
  160. package/dist/collection/components/input/select/style.css +104 -0
  161. package/dist/collection/components/input/style.css +47 -10
  162. package/dist/collection/components/input/submit/index.js +232 -0
  163. package/dist/collection/components/input/submit/index.js.map +1 -0
  164. package/dist/collection/components/input/submit/style.css +236 -0
  165. package/dist/collection/components/item/index.js +5 -5
  166. package/dist/collection/components/item/index.js.map +1 -1
  167. package/dist/collection/components/label/index.js +81 -0
  168. package/dist/collection/components/label/index.js.map +1 -0
  169. package/dist/collection/components/label/style.css +15 -0
  170. package/dist/collection/components/lazy/index.js +73 -0
  171. package/dist/collection/components/lazy/index.js.map +1 -0
  172. package/dist/collection/components/{radio → load-more}/index.js +35 -46
  173. package/dist/collection/components/load-more/index.js.map +1 -0
  174. package/dist/collection/components/load-more/style.css +5 -0
  175. package/dist/collection/components/notification/index.js +45 -8
  176. package/dist/collection/components/notification/index.js.map +1 -1
  177. package/dist/collection/components/notification/style.css +25 -1
  178. package/dist/collection/components/notifier/style.css +1 -3
  179. package/dist/collection/components/picker/demo/index.js +91 -0
  180. package/dist/collection/components/picker/demo/index.js.map +1 -0
  181. package/dist/collection/components/picker/demo/style.css +30 -0
  182. package/dist/collection/components/picker/index.js +197 -396
  183. package/dist/collection/components/picker/index.js.map +1 -1
  184. package/dist/collection/components/picker/menu/index.js +429 -0
  185. package/dist/collection/components/picker/menu/index.js.map +1 -0
  186. package/dist/collection/components/picker/menu/style.css +44 -0
  187. package/dist/collection/components/picker/option/index.js +298 -0
  188. package/dist/collection/components/picker/option/index.js.map +1 -0
  189. package/dist/collection/components/picker/option/style.css +30 -0
  190. package/dist/collection/components/picker/slot-elements/index.js +109 -0
  191. package/dist/collection/components/picker/slot-elements/index.js.map +1 -0
  192. package/dist/collection/components/picker/slot-elements/style.css +3 -0
  193. package/dist/collection/components/picker/slotted-elements/index.js +84 -0
  194. package/dist/collection/components/picker/slotted-elements/index.js.map +1 -0
  195. package/dist/collection/components/picker/slotted-elements/style.css +3 -0
  196. package/dist/collection/components/picker/style.css +76 -136
  197. package/dist/collection/components/popup/index.js +5 -5
  198. package/dist/collection/components/popup/index.js.map +1 -1
  199. package/dist/collection/components/popup/style.css +4 -4
  200. package/dist/collection/components/select-demo/index.js +0 -87
  201. package/dist/collection/components/select-demo/index.js.map +1 -1
  202. package/dist/collection/components/spinner/style.css +1 -0
  203. package/dist/collection/components/submit/index.js +64 -5
  204. package/dist/collection/components/submit/index.js.map +1 -1
  205. package/dist/collection/components/submit/style.css +226 -0
  206. package/dist/collection/components/summary/index.js +46 -4
  207. package/dist/collection/components/summary/index.js.map +1 -1
  208. package/dist/collection/components/summary/style.css +25 -16
  209. package/dist/collection/components/svg/style.css +2 -2
  210. package/dist/collection/components/table/cell/index.js +1 -1
  211. package/dist/collection/components/table/cell/index.js.map +1 -1
  212. package/dist/collection/components/table/cell/style.css +18 -11
  213. package/dist/collection/components/table/demo/filtered/Root.js.map +1 -1
  214. package/dist/collection/components/table/demo/filtered/index.js +18 -18
  215. package/dist/collection/components/table/demo/filtered/index.js.map +1 -1
  216. package/dist/collection/components/table/demo/filtered/style.css +9 -0
  217. package/dist/collection/components/table/demo/index.js +2 -9
  218. package/dist/collection/components/table/demo/index.js.map +1 -1
  219. package/dist/collection/components/table/demo/style.css +7 -0
  220. package/dist/collection/components/table/demo/testing/data.js +28 -0
  221. package/dist/collection/components/table/demo/testing/data.js.map +1 -0
  222. package/dist/collection/components/table/demo/testing/index.js +28 -0
  223. package/dist/collection/components/table/demo/testing/index.js.map +1 -0
  224. package/dist/collection/components/table/demo/testing/style.css +32 -0
  225. package/dist/collection/components/table/expandable/cell/index.js +14 -33
  226. package/dist/collection/components/table/expandable/cell/index.js.map +1 -1
  227. package/dist/collection/components/table/expandable/cell/style.css +32 -25
  228. package/dist/collection/components/table/expandable/row/index.js +9 -51
  229. package/dist/collection/components/table/expandable/row/index.js.map +1 -1
  230. package/dist/collection/components/table/expandable/row/style.css +32 -29
  231. package/dist/collection/components/table/footer/index.js +19 -0
  232. package/dist/collection/components/table/footer/index.js.map +1 -0
  233. package/dist/collection/components/table/footer/style.css +10 -0
  234. package/dist/collection/components/table/header/style.css +2 -3
  235. package/dist/collection/components/table/index.js +55 -12
  236. package/dist/collection/components/table/index.js.map +1 -1
  237. package/dist/collection/components/table/row/index.js +37 -5
  238. package/dist/collection/components/table/row/index.js.map +1 -1
  239. package/dist/collection/components/table/row/style.css +4 -1
  240. package/dist/collection/components/table/style.css +0 -2
  241. package/dist/collection/components/theme/color/index.js +48 -0
  242. package/dist/collection/components/theme/color/index.js.map +1 -0
  243. package/dist/collection/components/theme/color/style.css +8 -0
  244. package/dist/collection/components/theme/color/variant/index.js +66 -0
  245. package/dist/collection/components/theme/color/variant/index.js.map +1 -0
  246. package/dist/collection/components/theme/color/variant/style.css +18 -0
  247. package/dist/collection/components/theme/colors/index.js +30 -0
  248. package/dist/collection/components/theme/colors/index.js.map +1 -0
  249. package/dist/collection/components/theme/colors/style.css +7 -0
  250. package/dist/collection/components/theme/picker/index.js +48 -0
  251. package/dist/collection/components/theme/picker/index.js.map +1 -0
  252. package/dist/collection/components/theme/picker/style.css +0 -0
  253. package/dist/collection/components/toggle-switch/index.js +69 -17
  254. package/dist/collection/components/toggle-switch/index.js.map +1 -1
  255. package/dist/collection/components/toggle-switch/style.css +19 -12
  256. package/dist/collection/components/trigger-source/index.js +3 -3
  257. package/dist/collection/components/trigger-source/index.js.map +1 -1
  258. package/dist/collection/global/Observers.js +22 -0
  259. package/dist/collection/global/Observers.js.map +1 -0
  260. package/dist/collection/global/index.js +5 -0
  261. package/dist/collection/global/index.js.map +1 -0
  262. package/dist/collection/index.js +2 -2
  263. package/dist/collection/index.js.map +1 -1
  264. package/dist/collection/model/Color.js +18 -1
  265. package/dist/collection/model/Color.js.map +1 -1
  266. package/dist/collection/{components/form → model}/Data.js +8 -1
  267. package/dist/collection/model/Data.js.map +1 -0
  268. package/dist/collection/model/Icon.js +23 -0
  269. package/dist/collection/model/Icon.js.map +1 -0
  270. package/dist/collection/model/Listenable.js +17 -4
  271. package/dist/collection/model/Listenable.js.map +1 -1
  272. package/dist/collection/model/Notice.js +1 -1
  273. package/dist/collection/model/Notice.js.map +1 -1
  274. package/dist/collection/model/Option.js.map +1 -1
  275. package/dist/collection/model/index.js +4 -0
  276. package/dist/collection/model/index.js.map +1 -1
  277. package/dist/collection/model/redirect.js +8 -0
  278. package/dist/collection/model/redirect.js.map +1 -0
  279. package/dist/collection/smoothly.js +3 -0
  280. package/dist/collection/smoothly.js.map +1 -0
  281. package/dist/custom-elements/index.d.ts +176 -50
  282. package/dist/custom-elements/index.js +13369 -29834
  283. package/dist/custom-elements/index.js.map +1 -1
  284. package/dist/esm/{Listenable-fb6f4723.js → Data-0390d600.js} +518 -7
  285. package/dist/esm/Data-0390d600.js.map +1 -0
  286. package/dist/esm/Observers-5f08e828.js +25 -0
  287. package/dist/esm/Observers-5f08e828.js.map +1 -0
  288. package/dist/esm/TimeZone-c8df4905.js +6181 -0
  289. package/dist/esm/TimeZone-c8df4905.js.map +1 -0
  290. package/dist/esm/getLanguage-1e9ec036.js +6116 -0
  291. package/dist/esm/getLanguage-1e9ec036.js.map +1 -0
  292. package/dist/esm/{index-6ac4212d.js → index-258984d3.js} +55 -2
  293. package/dist/esm/index-258984d3.js.map +1 -0
  294. package/dist/esm/index.js +20 -5
  295. package/dist/esm/index.js.map +1 -1
  296. package/dist/esm/loader.js +5 -4
  297. package/dist/esm/loader.js.map +1 -1
  298. package/dist/esm/{Notice-1fa17794.js → redirect-b0f87e88.js} +11 -3
  299. package/dist/esm/redirect-b0f87e88.js.map +1 -0
  300. package/dist/esm/smoothly-accordion-item.entry.js +57 -0
  301. package/dist/esm/smoothly-accordion-item.entry.js.map +1 -0
  302. package/dist/esm/smoothly-accordion.entry.js +54 -0
  303. package/dist/esm/smoothly-accordion.entry.js.map +1 -0
  304. package/dist/esm/smoothly-address-display.entry.js +1 -1
  305. package/dist/esm/smoothly-address.entry.js +1 -1
  306. package/dist/esm/smoothly-addresses.entry.js +1 -1
  307. package/dist/esm/smoothly-app_80.entry.js +10789 -0
  308. package/dist/esm/smoothly-app_80.entry.js.map +1 -0
  309. package/dist/esm/smoothly-checkbox.entry.js +98 -0
  310. package/dist/esm/smoothly-checkbox.entry.js.map +1 -0
  311. package/dist/esm/smoothly-color.entry.js +1 -1
  312. package/dist/esm/smoothly-country.entry.js +10 -9
  313. package/dist/esm/smoothly-country.entry.js.map +1 -1
  314. package/dist/esm/smoothly-display-date-time.entry.js +22 -0
  315. package/dist/esm/smoothly-display-date-time.entry.js.map +1 -0
  316. package/dist/esm/smoothly-google-font.entry.js +1 -1
  317. package/dist/esm/smoothly-reorder.entry.js +1 -1
  318. package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
  319. package/dist/esm/smoothly-trigger-source.entry.js +4 -4
  320. package/dist/esm/smoothly-trigger-source.entry.js.map +1 -1
  321. package/dist/esm/smoothly.js +5 -4
  322. package/dist/esm/smoothly.js.map +1 -1
  323. package/dist/smoothly/index.esm.js +1 -1
  324. package/dist/smoothly/index.esm.js.map +1 -1
  325. package/dist/smoothly/{p-04fb45e1.entry.js → p-12182a73.entry.js} +2 -2
  326. package/dist/smoothly/{p-5629e452.entry.js → p-127dcc56.entry.js} +2 -2
  327. package/dist/smoothly/p-21905b32.entry.js +2 -0
  328. package/dist/smoothly/p-21905b32.entry.js.map +1 -0
  329. package/dist/smoothly/p-312ef066.js +2 -0
  330. package/dist/smoothly/p-312ef066.js.map +1 -0
  331. package/dist/smoothly/p-36a1aa35.entry.js +2 -0
  332. package/dist/smoothly/p-36a1aa35.entry.js.map +1 -0
  333. package/dist/smoothly/p-47151a53.entry.js +2 -0
  334. package/dist/smoothly/p-5e387578.js +3 -0
  335. package/dist/smoothly/p-5e387578.js.map +1 -0
  336. package/dist/smoothly/{p-0fec28cc.entry.js → p-6aebb818.entry.js} +2 -2
  337. package/dist/smoothly/p-6e9aca2e.entry.js +2 -0
  338. package/dist/smoothly/p-6e9aca2e.entry.js.map +1 -0
  339. package/dist/smoothly/{p-ae467192.entry.js → p-7bf147bf.entry.js} +2 -2
  340. package/dist/smoothly/p-823e02b0.entry.js +2 -0
  341. package/dist/smoothly/p-823e02b0.entry.js.map +1 -0
  342. package/dist/smoothly/p-9b828bde.js +2 -0
  343. package/dist/smoothly/p-9b828bde.js.map +1 -0
  344. package/dist/smoothly/p-a0ebd646.entry.js +2 -0
  345. package/dist/smoothly/p-a0ebd646.entry.js.map +1 -0
  346. package/dist/smoothly/{p-b3eef141.entry.js → p-b3eac6af.entry.js} +2 -2
  347. package/dist/smoothly/p-c833c402.js +2 -0
  348. package/dist/smoothly/p-c833c402.js.map +1 -0
  349. package/dist/smoothly/{p-3a6873ed.entry.js → p-cb493516.entry.js} +2 -2
  350. package/dist/smoothly/p-ede93d69.js +2 -0
  351. package/dist/smoothly/p-ede93d69.js.map +1 -0
  352. package/dist/smoothly/p-eef1c80b.entry.js +2 -0
  353. package/dist/smoothly/p-eef1c80b.entry.js.map +1 -0
  354. package/dist/smoothly/p-f125610c.entry.js +2 -0
  355. package/dist/smoothly/p-f125610c.entry.js.map +1 -0
  356. package/dist/smoothly/p-fa664317.js +2 -0
  357. package/dist/smoothly/p-fa664317.js.map +1 -0
  358. package/dist/smoothly/smoothly.esm.js +1 -1
  359. package/dist/smoothly/smoothly.esm.js.map +1 -1
  360. package/dist/types/components/Button.d.ts +1 -2
  361. package/dist/types/components/accordion/index.d.ts +1 -1
  362. package/dist/types/components/accordion-item/index.d.ts +5 -4
  363. package/dist/types/components/app/index.d.ts +23 -10
  364. package/dist/types/components/app/room/index.d.ts +21 -7
  365. package/dist/types/components/app-demo/index.d.ts +1 -0
  366. package/dist/types/components/backtotop/index.d.ts +1 -1
  367. package/dist/types/components/burger/index.d.ts +7 -2
  368. package/dist/types/components/button/index.d.ts +2 -2
  369. package/dist/types/components/calendar/index.d.ts +5 -5
  370. package/dist/types/components/checkbox/index.d.ts +7 -3
  371. package/dist/types/components/confirm/index.d.ts +19 -0
  372. package/dist/types/components/filter/Filter.d.ts +21 -0
  373. package/dist/types/components/filter/field/index.d.ts +10 -0
  374. package/dist/types/components/filter/index.d.ts +13 -12
  375. package/dist/types/components/filter/input/index.d.ts +15 -23
  376. package/dist/types/components/filter/picker/index.d.ts +22 -0
  377. package/dist/types/components/filter/toggle/index.d.ts +22 -0
  378. package/dist/types/components/form/index.d.ts +23 -7
  379. package/dist/types/components/icon/index.d.ts +3 -9
  380. package/dist/types/components/input/Editable.d.ts +20 -0
  381. package/dist/types/components/input/Input.d.ts +22 -0
  382. package/dist/types/components/input/Looks.d.ts +7 -0
  383. package/dist/types/components/input/Submittable.d.ts +6 -0
  384. package/dist/types/components/input/checkbox/index.d.ts +20 -0
  385. package/dist/types/components/input/clear/index.d.ts +17 -0
  386. package/dist/types/components/input/color/index.d.ts +24 -0
  387. package/dist/types/components/input/date/index.d.ts +28 -0
  388. package/dist/types/components/input/date/range/index.d.ts +33 -0
  389. package/dist/types/components/input/demo/index.d.ts +6 -0
  390. package/dist/types/components/input/edit/index.d.ts +17 -0
  391. package/dist/types/components/input/file/index.d.ts +24 -0
  392. package/dist/types/components/input/index.d.ts +30 -11
  393. package/dist/types/components/{input-month → input/month}/index.d.ts +2 -2
  394. package/dist/types/components/input/radio/Selected.d.ts +10 -0
  395. package/dist/types/components/input/radio/index.d.ts +35 -0
  396. package/dist/types/components/input/radio/item/index.d.ts +15 -0
  397. package/dist/types/components/input/range/index.d.ts +24 -0
  398. package/dist/types/components/input/reset/index.d.ts +18 -0
  399. package/dist/types/components/input/select/index.d.ts +36 -0
  400. package/dist/types/components/input/submit/index.d.ts +17 -0
  401. package/dist/types/components/item/index.d.ts +1 -1
  402. package/dist/types/components/label/index.d.ts +6 -0
  403. package/dist/types/components/lazy/index.d.ts +7 -0
  404. package/dist/types/components/load-more/index.d.ts +11 -0
  405. package/dist/types/components/notification/index.d.ts +3 -1
  406. package/dist/types/components/picker/demo/index.d.ts +22 -0
  407. package/dist/types/components/picker/index.d.ts +33 -45
  408. package/dist/types/components/picker/menu/index.d.ts +54 -0
  409. package/dist/types/components/picker/option/index.d.ts +23 -0
  410. package/dist/types/components/picker/slot-elements/index.d.ts +15 -0
  411. package/dist/types/components/picker/slotted-elements/index.d.ts +8 -0
  412. package/dist/types/components/popup/index.d.ts +1 -1
  413. package/dist/types/components/select-demo/index.d.ts +0 -9
  414. package/dist/types/components/submit/index.d.ts +6 -1
  415. package/dist/types/components/summary/index.d.ts +4 -0
  416. package/dist/types/components/table/demo/filtered/Root.d.ts +1 -0
  417. package/dist/types/components/table/demo/filtered/index.d.ts +7 -7
  418. package/dist/types/components/table/demo/index.d.ts +1 -1
  419. package/dist/types/components/table/demo/testing/data.d.ts +5 -0
  420. package/dist/types/components/table/demo/testing/index.d.ts +4 -0
  421. package/dist/types/components/table/expandable/cell/index.d.ts +4 -5
  422. package/dist/types/components/table/expandable/row/index.d.ts +3 -8
  423. package/dist/types/components/table/footer/index.d.ts +3 -0
  424. package/dist/types/components/table/index.d.ts +6 -3
  425. package/dist/types/components/table/row/index.d.ts +3 -1
  426. package/dist/types/components/theme/color/index.d.ts +5 -0
  427. package/dist/types/components/theme/color/variant/index.d.ts +6 -0
  428. package/dist/types/components/theme/colors/index.d.ts +3 -0
  429. package/dist/types/components/theme/picker/index.d.ts +4 -0
  430. package/dist/types/components/toggle-switch/index.d.ts +7 -2
  431. package/dist/types/components/trigger-source/index.d.ts +1 -1
  432. package/dist/types/components.d.ts +912 -347
  433. package/dist/types/global/Observers.d.ts +8 -0
  434. package/dist/types/global/index.d.ts +4 -0
  435. package/dist/types/index.d.ts +1 -3
  436. package/dist/types/model/Color.d.ts +7 -1
  437. package/dist/types/{components/form → model}/Data.d.ts +4 -0
  438. package/dist/types/model/Icon.d.ts +8 -0
  439. package/dist/types/model/Listenable.d.ts +10 -1
  440. package/dist/types/model/Notice.d.ts +1 -1
  441. package/dist/types/model/Option.d.ts +24 -6
  442. package/dist/types/model/index.d.ts +3 -0
  443. package/dist/types/model/redirect.d.ts +1 -0
  444. package/dist/types/smoothly.d.ts +3 -0
  445. package/package.json +7 -6
  446. package/dist/cjs/Listenable-63ea2d90.js.map +0 -1
  447. package/dist/cjs/Notice-88ba4c70.js.map +0 -1
  448. package/dist/cjs/getLanguage-4f0a45d5.js +0 -12227
  449. package/dist/cjs/getLanguage-4f0a45d5.js.map +0 -1
  450. package/dist/cjs/index-8adc5c1b.js.map +0 -1
  451. package/dist/cjs/index-d16d46f4.js +0 -1224
  452. package/dist/cjs/index-d16d46f4.js.map +0 -1
  453. package/dist/cjs/smoothly-accordion_62.cjs.entry.js +0 -28199
  454. package/dist/cjs/smoothly-accordion_62.cjs.entry.js.map +0 -1
  455. package/dist/cjs/smoothly-radio-group.cjs.entry.js +0 -22
  456. package/dist/cjs/smoothly-radio-group.cjs.entry.js.map +0 -1
  457. package/dist/collection/components/filter/Clearable.js.map +0 -1
  458. package/dist/collection/components/form/Clearable.js +0 -8
  459. package/dist/collection/components/form/Clearable.js.map +0 -1
  460. package/dist/collection/components/form/Data.js.map +0 -1
  461. package/dist/collection/components/input-date/index.js +0 -206
  462. package/dist/collection/components/input-date/index.js.map +0 -1
  463. package/dist/collection/components/input-date/style.css +0 -40
  464. package/dist/collection/components/input-date-range/index.js.map +0 -1
  465. package/dist/collection/components/input-date-range/style.css +0 -51
  466. package/dist/collection/components/input-demo/index.js +0 -45
  467. package/dist/collection/components/input-demo/index.js.map +0 -1
  468. package/dist/collection/components/input-demo/style.css +0 -4
  469. package/dist/collection/components/input-month/index.js.map +0 -1
  470. package/dist/collection/components/menu-options/index.js +0 -413
  471. package/dist/collection/components/menu-options/index.js.map +0 -1
  472. package/dist/collection/components/menu-options/style.css +0 -18
  473. package/dist/collection/components/option/index.js +0 -270
  474. package/dist/collection/components/option/index.js.map +0 -1
  475. package/dist/collection/components/option/style.css +0 -42
  476. package/dist/collection/components/radio/index.js.map +0 -1
  477. package/dist/collection/components/radio/style.css +0 -31
  478. package/dist/collection/components/radio-button/Selected.js +0 -2
  479. package/dist/collection/components/radio-button/Selected.js.map +0 -1
  480. package/dist/collection/components/radio-button/index.js +0 -137
  481. package/dist/collection/components/radio-button/index.js.map +0 -1
  482. package/dist/collection/components/radio-button/item/index.js +0 -117
  483. package/dist/collection/components/radio-button/item/index.js.map +0 -1
  484. package/dist/collection/components/radio-button/item/style.css +0 -85
  485. package/dist/collection/components/radio-group/index.js +0 -43
  486. package/dist/collection/components/radio-group/index.js.map +0 -1
  487. package/dist/collection/components/radio-group/style.css +0 -36
  488. package/dist/collection/components/select/index.js +0 -108
  489. package/dist/collection/components/select/index.js.map +0 -1
  490. package/dist/collection/components/select/style.css +0 -20
  491. package/dist/collection/components/selector/index.js +0 -234
  492. package/dist/collection/components/selector/index.js.map +0 -1
  493. package/dist/collection/components/selector/style.css +0 -46
  494. package/dist/custom-elements/index2.js +0 -1222
  495. package/dist/custom-elements/index2.js.map +0 -1
  496. package/dist/esm/Listenable-fb6f4723.js.map +0 -1
  497. package/dist/esm/Notice-1fa17794.js.map +0 -1
  498. package/dist/esm/getLanguage-ffacd7b7.js +0 -12225
  499. package/dist/esm/getLanguage-ffacd7b7.js.map +0 -1
  500. package/dist/esm/index-6ac4212d.js.map +0 -1
  501. package/dist/esm/index-d5330059.js +0 -1222
  502. package/dist/esm/index-d5330059.js.map +0 -1
  503. package/dist/esm/smoothly-accordion_62.entry.js +0 -28134
  504. package/dist/esm/smoothly-accordion_62.entry.js.map +0 -1
  505. package/dist/esm/smoothly-radio-group.entry.js +0 -18
  506. package/dist/esm/smoothly-radio-group.entry.js.map +0 -1
  507. package/dist/smoothly/p-06337b89.js +0 -2
  508. package/dist/smoothly/p-06337b89.js.map +0 -1
  509. package/dist/smoothly/p-16cba662.entry.js +0 -2
  510. package/dist/smoothly/p-16cba662.entry.js.map +0 -1
  511. package/dist/smoothly/p-3ad51805.entry.js +0 -2
  512. package/dist/smoothly/p-3ad51805.entry.js.map +0 -1
  513. package/dist/smoothly/p-5e34795b.js +0 -2
  514. package/dist/smoothly/p-5e34795b.js.map +0 -1
  515. package/dist/smoothly/p-75373584.js +0 -2
  516. package/dist/smoothly/p-75373584.js.map +0 -1
  517. package/dist/smoothly/p-75452eb8.js +0 -2
  518. package/dist/smoothly/p-75452eb8.js.map +0 -1
  519. package/dist/smoothly/p-ae33d7e1.entry.js +0 -2
  520. package/dist/smoothly/p-ae33d7e1.entry.js.map +0 -1
  521. package/dist/smoothly/p-b98cd447.js +0 -3
  522. package/dist/smoothly/p-b98cd447.js.map +0 -1
  523. package/dist/smoothly/p-c109fc66.entry.js +0 -2
  524. package/dist/smoothly/p-c109fc66.entry.js.map +0 -1
  525. package/dist/smoothly/p-f29cc9ff.entry.js +0 -2
  526. package/dist/types/components/form/Clearable.d.ts +0 -6
  527. package/dist/types/components/input-date/index.d.ts +0 -14
  528. package/dist/types/components/input-date-range/index.d.ts +0 -23
  529. package/dist/types/components/input-demo/index.d.ts +0 -3
  530. package/dist/types/components/menu-options/index.d.ts +0 -35
  531. package/dist/types/components/option/index.d.ts +0 -32
  532. package/dist/types/components/radio/index.d.ts +0 -13
  533. package/dist/types/components/radio-button/Selected.d.ts +0 -5
  534. package/dist/types/components/radio-button/index.d.ts +0 -15
  535. package/dist/types/components/radio-button/item/index.d.ts +0 -12
  536. package/dist/types/components/radio-group/index.d.ts +0 -4
  537. package/dist/types/components/select/index.d.ts +0 -14
  538. package/dist/types/components/selector/index.d.ts +0 -23
  539. /package/dist/collection/components/{filter → input}/Clearable.js +0 -0
  540. /package/dist/collection/components/{input-month → input/month}/style.css +0 -0
  541. /package/dist/collection/components/{radio-button → lazy}/style.css +0 -0
  542. /package/dist/smoothly/{p-04fb45e1.entry.js.map → p-12182a73.entry.js.map} +0 -0
  543. /package/dist/smoothly/{p-5629e452.entry.js.map → p-127dcc56.entry.js.map} +0 -0
  544. /package/dist/smoothly/{p-f29cc9ff.entry.js.map → p-47151a53.entry.js.map} +0 -0
  545. /package/dist/smoothly/{p-0fec28cc.entry.js.map → p-6aebb818.entry.js.map} +0 -0
  546. /package/dist/smoothly/{p-ae467192.entry.js.map → p-7bf147bf.entry.js.map} +0 -0
  547. /package/dist/smoothly/{p-b3eef141.entry.js.map → p-b3eac6af.entry.js.map} +0 -0
  548. /package/dist/smoothly/{p-3a6873ed.entry.js.map → p-cb493516.entry.js.map} +0 -0
  549. /package/dist/types/components/{filter → input}/Clearable.d.ts +0 -0
@@ -47,6 +47,15 @@ function decode(value, standard = "standard") {
47
47
  }
48
48
  return result;
49
49
  }
50
+ function next(value, increment = 1, standard = "standard") {
51
+ const table = tables[standard];
52
+ const rest = value.length > 1 ? value.substring(0, value.length - 1) : increment > 0 ? "" : table[63];
53
+ const number = (value.length == 0 ? 0 : table.indexOf(value[value.length - 1])) + increment;
54
+ return ((number > 63 || number < 0 ? next(rest, Math.floor(number / 63), standard) : rest) + table[remainder(number, 64)]);
55
+ }
56
+ function remainder(left, right) {
57
+ return left >= 0 ? left % right : remainder(left + right, right);
58
+ }
50
59
 
51
60
  const crypto = typeof window != "undefined"
52
61
  ? window.crypto || window.msCrypto
@@ -153,6 +162,23 @@ exports.Identifier = void 0;
153
162
  return result.join("");
154
163
  }
155
164
  Identifier.toHexadecimal = toHexadecimal;
165
+ function min(length) {
166
+ return "".padStart(length, "A");
167
+ }
168
+ Identifier.min = min;
169
+ function max(length) {
170
+ return "".padStart(length, "_");
171
+ }
172
+ Identifier.max = max;
173
+ function next$1(identifier, increment = 1) {
174
+ const result = next(identifier, increment, "url");
175
+ return result.length == identifier.length ? result : result.substring(result.length - identifier.length);
176
+ }
177
+ Identifier.next = next$1;
178
+ function previous(identifier, decrement = 1) {
179
+ return next$1(identifier, -decrement);
180
+ }
181
+ Identifier.previous = previous;
156
182
  Identifier.length = [
157
183
  4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112,
158
184
  116, 120, 124, 128,
@@ -438,7 +464,13 @@ if (!Uint8Array.__proto__.from) {
438
464
  var Converter;
439
465
  (function (Converter) {
440
466
  function is(value) {
441
- return typeof value == "object" && Object.entries(value).every(v => typeof v == "function");
467
+ return (typeof value == "object" &&
468
+ Object.values(value).every(v => v &&
469
+ typeof v == "object" &&
470
+ "forward" in v &&
471
+ typeof v.forward == "function" &&
472
+ "backward" in v &&
473
+ typeof v.backward == "function"));
442
474
  }
443
475
  Converter.is = is;
444
476
  })(Converter || (Converter = {}));
@@ -656,6 +688,451 @@ var Token;
656
688
  Token.is = is;
657
689
  })(Token || (Token = {}));
658
690
 
691
+ class Type {
692
+ get name() {
693
+ return typeof this._name == "function" ? this._name() : this._name;
694
+ }
695
+ get condition() {
696
+ return typeof this._condition == "function" ? this._condition() : this._condition;
697
+ }
698
+ optional() {
699
+ return new IslyOptional(this);
700
+ }
701
+ readonly() {
702
+ return new IslyReadonly(this);
703
+ }
704
+ array(...options) {
705
+ return array(this, ...options);
706
+ }
707
+ constructor(_name, _condition) {
708
+ this._name = _name;
709
+ this._condition = _condition;
710
+ /**
711
+ * Return the value if the value is valid for the type, otherwise undefined.
712
+ * For objects, unknown properties are filtered.
713
+ *
714
+ * Eg: isly.number().value(NaN) returns undefined
715
+ */
716
+ this.get = value => (this.is(value) ? this.getValue(value) : undefined);
717
+ /**
718
+ * Return a flaw object, describing the flaws of the value compared to expected type.
719
+ *
720
+ * If it is a correct value, according to the type, it returns a Flaw with the message `{message:"This type is correct.", isFlaw: false, ... }`
721
+ *
722
+ * Implemented as a closure.
723
+ */
724
+ this.flaw = value => {
725
+ return this.is(value)
726
+ ? {
727
+ type: this.name,
728
+ ...(this.condition ? { condition: this.condition } : undefined),
729
+ isFlaw: false,
730
+ message: "This type is correct.",
731
+ }
732
+ : {
733
+ ...(this.condition ? { condition: this.condition } : undefined),
734
+ ...this.createFlaw(value),
735
+ type: this.name,
736
+ };
737
+ };
738
+ }
739
+ getValue(value) {
740
+ return value;
741
+ }
742
+ /**
743
+ * Override this to create custom Flaws.
744
+ * Not necessary for simple types.
745
+ */
746
+ createFlaw(value) {
747
+ return {};
748
+ }
749
+ /**
750
+ * Used by types that use a backend type.
751
+ */
752
+ createFlawFromType(backend, value) {
753
+ return "createFlaw" in backend && typeof backend.createFlaw == "function"
754
+ ? backend.createFlaw(value)
755
+ : backend.flaw(value);
756
+ }
757
+ }
758
+ class IslyOptional extends Type {
759
+ constructor(backend) {
760
+ super(() => backend.name + " | undefined", backend.condition);
761
+ this.backend = backend;
762
+ this.is = (value => value == undefined || this.backend.is(value));
763
+ }
764
+ createFlaw(value) {
765
+ return this.createFlawFromType(this.backend, value);
766
+ }
767
+ }
768
+ class IslyReadonly extends Type {
769
+ constructor(backend) {
770
+ super(() => `Readonly<${backend.name}>`, backend.condition);
771
+ this.backend = backend;
772
+ this.is = (value => value == undefined || this.backend.is(value));
773
+ }
774
+ createFlaw(value) {
775
+ return this.createFlawFromType(this.backend, value);
776
+ }
777
+ }
778
+ function array(itemType, ...options) {
779
+ return new IslyArray(itemType, options);
780
+ }
781
+ const criteriaFunctions$1 = {
782
+ length: {
783
+ is: (value, optionValue) => value.length == optionValue,
784
+ condition: optionValue => `length == ${optionValue}`,
785
+ },
786
+ minLength: {
787
+ is: (value, optionValue) => value.length >= optionValue,
788
+ condition: optionValue => `minLength == ${optionValue}`,
789
+ },
790
+ maxLength: {
791
+ is: (value, optionValue) => value.length <= optionValue,
792
+ condition: optionValue => `maxLength == ${optionValue}`,
793
+ },
794
+ };
795
+ class IslyArray extends Type {
796
+ constructor(itemType, options) {
797
+ super(() => this.baseName() + "[]", options.length > 0 ? options.map(c => criteriaFunctions$1[c.criteria].condition(c.value)).join(" & ") : undefined);
798
+ this.itemType = itemType;
799
+ this.options = options;
800
+ this.is = (value => globalThis.Array.isArray(value) &&
801
+ this.options.every(option => criteriaFunctions$1[option.criteria].is(value, option.value)) &&
802
+ value.every(item => this.itemType.is(item)));
803
+ }
804
+ baseName() {
805
+ return this.itemType.name.includes(" ") ? `(${this.itemType.name})` : this.itemType.name;
806
+ }
807
+ itemName(index) {
808
+ return `${this.baseName()}[${index}]`;
809
+ }
810
+ createFlaw(value) {
811
+ const flaws = (globalThis.Array.isArray(value) &&
812
+ value.flatMap((item, index) => {
813
+ const subFlaw = this.itemType.flaw(item);
814
+ return subFlaw.isFlaw ?? true ? [{ ...subFlaw, type: this.itemName(index) }] : [];
815
+ })) ||
816
+ [];
817
+ return {
818
+ ...(flaws.length > 0 ? { flaws } : undefined),
819
+ };
820
+ }
821
+ getValue(value) {
822
+ return value.map(item => this.itemType.get(item));
823
+ }
824
+ }
825
+
826
+ class IslyBoolean extends Type {
827
+ constructor(booleanValue) {
828
+ super(booleanValue == undefined ? "boolean" : booleanValue ? "true" : "false");
829
+ this.booleanValue = booleanValue;
830
+ this.is = (value => typeof value == "boolean" && (this.booleanValue == undefined || value == this.booleanValue));
831
+ }
832
+ }
833
+ function boolean(booleanValue) {
834
+ return new IslyBoolean(booleanValue);
835
+ }
836
+
837
+ class IslyLazy extends Type {
838
+ constructor(factory, name) {
839
+ super(name ?? (() => (this.backend ??= factory()).name), () => (this.backend ??= factory()).condition);
840
+ this.factory = factory;
841
+ this.is = (value => (this.backend ??= this.factory()).is(value));
842
+ this.get = value => this.backend.get(value);
843
+ }
844
+ createFlaw(value) {
845
+ return this.createFlawFromType((this.backend ??= this.factory()), value);
846
+ }
847
+ }
848
+ /**
849
+ * Late evaluation of a type
850
+ * Can be used for for recursive types.
851
+ *
852
+ * @param factory
853
+ * @param name Provide a name, to avoid infinite loop if the type i recursive
854
+ * @returns
855
+ */
856
+ function lazy(factory, name) {
857
+ return new IslyLazy(factory, name);
858
+ }
859
+
860
+ class IslyObject extends Type {
861
+ constructor(baseType, properties, name) {
862
+ super(() => name ??
863
+ (this.baseType ? `${this.baseType.name} & ` : "") +
864
+ `{${globalThis.Object.entries(this.properties)
865
+ .map(([property, type]) => `${property}: ${type.name}`)
866
+ .join(", ")}}`);
867
+ this.baseType = baseType;
868
+ this.properties = properties;
869
+ this.is = (value => !!(value &&
870
+ (this.baseType == undefined || this.baseType.is(value)) &&
871
+ typeof value == "object" &&
872
+ !globalThis.Array.isArray(value) &&
873
+ globalThis.Object.entries(this.properties).every(([property, type]) => type.is(value[property]))));
874
+ }
875
+ extend(properties, name) {
876
+ return new IslyObject(this, properties, name);
877
+ }
878
+ omit(omits, name) {
879
+ return new IslyObject(this.baseType?.omit(omits), globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => !omits.includes(key))), name ?? `Omit<${this.name}, ${omits.map(key => `"${String(key)}"`).join(" | ")}>`);
880
+ }
881
+ pick(picks, name) {
882
+ return new IslyObject(this.baseType?.pick(picks), globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => picks.includes(key))), name ?? `Pick<${this.name}, ${picks.map(key => `"${String(key)}"`).join(" | ")}>`);
883
+ }
884
+ createFlaw(value) {
885
+ return {
886
+ flaws: [
887
+ this.baseType ? this.baseType.flaw(value)?.flaws ?? [] : [],
888
+ globalThis.Object.entries(this.properties)
889
+ .map(([property, type]) => [property, type.flaw(value?.[property])])
890
+ .map(([property, flaw]) => (flaw?.isFlaw ?? true) && { property, ...flaw })
891
+ .filter(flaw => flaw),
892
+ ]
893
+ .flat()
894
+ .filter(flaw => flaw?.isFlaw ?? true),
895
+ };
896
+ }
897
+ /**
898
+ * get-function on a object returns a object with only specified properties
899
+ */
900
+ getValue(value) {
901
+ const result = this.baseType ? this.baseType.getValue(value) : {};
902
+ if (result)
903
+ for (const [key, type] of globalThis.Object.entries(this.properties))
904
+ if (key in value)
905
+ result[key] = type.get(value[key]);
906
+ return result;
907
+ }
908
+ }
909
+ function object(properties, name) {
910
+ return new IslyObject(undefined, properties ?? {}, name);
911
+ }
912
+
913
+ class IslyString extends Type {
914
+ constructor(stringCondition) {
915
+ super(typeof stringCondition == "string" ? `"${stringCondition}"` : "string", () => {
916
+ const conditionObject = this.getConditionObject();
917
+ return conditionObject instanceof RegExp
918
+ ? `/${conditionObject.source}/${conditionObject.flags}`
919
+ : globalThis.Object.keys(conditionObject)
920
+ .map(key => `"${key}"`)
921
+ .join(" | ");
922
+ });
923
+ this.stringCondition = stringCondition;
924
+ this.is = (value => {
925
+ const conditionObject = this.getConditionObject();
926
+ return (typeof value == "string" &&
927
+ (conditionObject instanceof RegExp
928
+ ? conditionObject.test(value)
929
+ : typeof conditionObject == "object"
930
+ ? value in conditionObject //TODO, avoid "hasOwnProperty toString etc."
931
+ : conditionObject));
932
+ });
933
+ }
934
+ getConditionObject() {
935
+ return (this.conditionObject ??= Array.isArray(this.stringCondition)
936
+ ? this.stringCondition.reduce((result, current) => {
937
+ result[current] = true;
938
+ return result;
939
+ }, globalThis.Object.create(null))
940
+ : typeof this.stringCondition == "string"
941
+ ? { [this.stringCondition]: true }
942
+ : typeof this.stringCondition == "object" // Record or RegExp!
943
+ ? this.stringCondition
944
+ : true);
945
+ }
946
+ }
947
+ function string(condition) {
948
+ return new IslyString(condition);
949
+ }
950
+
951
+ var Flaw;
952
+ (function (Flaw) {
953
+ Flaw.type = object({
954
+ message: string().optional(),
955
+ isFlaw: boolean().optional(),
956
+ property: string().optional(),
957
+ type: string(),
958
+ flaws: array(lazy(() => Flaw.type)).optional(),
959
+ condition: string().optional(),
960
+ }, "Flaw");
961
+ Flaw.is = Flaw.type.is;
962
+ Flaw.flaw = Flaw.type.flaw;
963
+ })(Flaw || (Flaw = {}));
964
+
965
+ class IslyFromIs extends Type {
966
+ constructor(name, isFunction) {
967
+ super(name);
968
+ this.isFunction = isFunction;
969
+ this.is = (value => this.isFunction(value));
970
+ }
971
+ }
972
+ function fromIs(name, is) {
973
+ return new IslyFromIs(name, is);
974
+ }
975
+
976
+ const criteriaFunctions = {
977
+ positive: {
978
+ is: (value) => value > 0,
979
+ condition: "> 0",
980
+ },
981
+ negative: {
982
+ is: (value) => value < 0,
983
+ condition: "< 0",
984
+ },
985
+ integer: {
986
+ is: (value) => Number.isInteger(value),
987
+ condition: "Number.isInteger",
988
+ },
989
+ };
990
+ function fromCriteria(criteria) {
991
+ return /* Eg: criteria == 42 */ typeof criteria == "number"
992
+ ? [value => value == criteria, " == " + criteria.toString()]
993
+ : // Eg: criteria == [0,1,2]
994
+ ((c) => Array.isArray(c) && c.every(c => typeof c == "number"))(criteria)
995
+ ? [value => criteria.map(fromCriteria).some(c => c[0](value)), criteria.join(" | ")]
996
+ : // Eg: criteria == ["positive", "negative"]
997
+ ((c) => Array.isArray(c) && c.every(c => typeof c == "string" && c in criteriaFunctions))(criteria)
998
+ ? [
999
+ value => criteria.map(fromCriteria).every(c => c[0](value)),
1000
+ criteria
1001
+ .map(fromCriteria)
1002
+ .map(c => c[1])
1003
+ .join(" & "),
1004
+ ]
1005
+ : // Eg: criteria == () => true
1006
+ typeof criteria === "function"
1007
+ ? [criteria, "custom"]
1008
+ : // Eg: criteria == "positive"
1009
+ criteria in criteriaFunctions
1010
+ ? [criteriaFunctions[criteria].is, criteriaFunctions[criteria].condition]
1011
+ : // Eg: criteria is unknown
1012
+ [() => false, "Unknown criteria"];
1013
+ }
1014
+ class IslyNumber extends Type {
1015
+ constructor(isFunction, condition) {
1016
+ super("number", condition);
1017
+ this.isFunction = isFunction;
1018
+ this.is = (value => typeof value == "number" &&
1019
+ !Number.isNaN(value - value) && // NaN-NaN==NaN && Infinity-Infinity==NaN && (-Infinity)-(-Infinity)==NaN
1020
+ (!this.isFunction || this.isFunction(value)));
1021
+ }
1022
+ }
1023
+ /**
1024
+ * NaN, Infinite and -Infinite is not considered to be numbers by this type,
1025
+ * since that it is hardly ever desirable when validating input data.
1026
+ *
1027
+ * @param criteria
1028
+ * @returns
1029
+ */
1030
+ function number(criteria) {
1031
+ const [isFunction, condition] = criteria == undefined ? [undefined, undefined] : fromCriteria(criteria);
1032
+ return new IslyNumber(isFunction, condition);
1033
+ }
1034
+
1035
+ class IslyRecord extends Type {
1036
+ constructor(keyType, valueType) {
1037
+ super(() => `Record<${keyType.name}, ${valueType.name}>`);
1038
+ this.keyType = keyType;
1039
+ this.valueType = valueType;
1040
+ this.is = (value => !!(value &&
1041
+ typeof value == "object" &&
1042
+ !globalThis.Array.isArray(value) &&
1043
+ globalThis.Object.entries(value).every(([key, value]) => this.keyType.is(this.keyType.name == "number" && `${+key}` == key ? +key : key) && this.valueType.is(value))));
1044
+ }
1045
+ createFlaw(value) {
1046
+ return {
1047
+ flaws: value &&
1048
+ typeof value == "object" &&
1049
+ !globalThis.Array.isArray(value) &&
1050
+ globalThis.Object.entries(value).flatMap(([key, propertyValue]) => [
1051
+ this.keyType.flaw(this.keyType.name == "number" && `${+key}` == key ? +key : key),
1052
+ this.valueType.flaw(propertyValue),
1053
+ ]
1054
+ .map((flaw, index) => (flaw.isFlaw ?? true) && { property: key + ` (${["key", "value"][index]})`, ...flaw })
1055
+ .filter(Boolean)),
1056
+ };
1057
+ }
1058
+ getValue(value) {
1059
+ return globalThis.Object.fromEntries(globalThis.Object.entries(value).map(([key, value]) => [key, this.valueType.get(value)]));
1060
+ }
1061
+ }
1062
+ function record(keyType, valueType) {
1063
+ return new IslyRecord(keyType, valueType);
1064
+ }
1065
+
1066
+ class IslyUnion extends Type {
1067
+ constructor(...types) {
1068
+ super(() => types.map(type => type.name).join(" | "));
1069
+ this.is = (value => this.types.some(type => type.is(value)));
1070
+ this.types = types;
1071
+ }
1072
+ createFlaw(value) {
1073
+ return {
1074
+ flaws: this.types.map(type => type.flaw(value)).filter(flaw => flaw),
1075
+ };
1076
+ }
1077
+ getValue(value) {
1078
+ return this.types.find(type => type.is(value))?.get(value);
1079
+ }
1080
+ }
1081
+ function union(...types) {
1082
+ return new IslyUnion(...types);
1083
+ }
1084
+
1085
+ class IslyUndefined extends Type {
1086
+ constructor() {
1087
+ super(...arguments);
1088
+ this.is = (value => value === undefined);
1089
+ }
1090
+ }
1091
+ function islyUndefined(name) {
1092
+ return new IslyUndefined(name ?? "undefined");
1093
+ }
1094
+
1095
+ exports.Color = void 0;
1096
+ (function (Color) {
1097
+ Color.types = [
1098
+ "default",
1099
+ "primary",
1100
+ "secondary",
1101
+ "tertiary",
1102
+ "success",
1103
+ "warning",
1104
+ "danger",
1105
+ "light",
1106
+ "medium",
1107
+ "dark",
1108
+ ];
1109
+ Color.type = string(Color.types);
1110
+ Color.is = Color.type.is;
1111
+ })(exports.Color || (exports.Color = {}));
1112
+
1113
+ exports.Icon = void 0;
1114
+ (function (Icon) {
1115
+ const names = {
1116
+ "*": "https://ionicons.pages.dev/svg/${name}.svg",
1117
+ };
1118
+ const cache = {};
1119
+ async function fetch(url) {
1120
+ const response = await globalThis.fetch(url);
1121
+ return response.ok ? response.text() : undefined;
1122
+ }
1123
+ async function load(name) {
1124
+ var _a, _b;
1125
+ const url = ((_a = names[name]) !== null && _a !== void 0 ? _a : names["*"]).replace("${name}", name);
1126
+ return (_b = cache[url]) !== null && _b !== void 0 ? _b : (cache[url] = fetch(url));
1127
+ }
1128
+ Icon.load = load;
1129
+ function add(url, ...name) {
1130
+ for (const n of name)
1131
+ names[n] = url;
1132
+ }
1133
+ Icon.add = add;
1134
+ })(exports.Icon || (exports.Icon = {}));
1135
+
659
1136
  class Message {
660
1137
  static is(value) {
661
1138
  return typeof value == "object" && typeof value.destination == "string" && value.content != undefined;
@@ -709,16 +1186,29 @@ class Listenable {
709
1186
  constructor() {
710
1187
  _Listenable_listeners.set(this, {});
711
1188
  }
712
- listen(property, listener) {
1189
+ listen(property, listener, options) {
713
1190
  var _a, _b;
714
1191
  (_b = (_a = __classPrivateFieldGet(this, _Listenable_listeners, "f")[property]) === null || _a === void 0 ? void 0 : _a.push(listener)) !== null && _b !== void 0 ? _b : (__classPrivateFieldGet(this, _Listenable_listeners, "f")[property] = [listener]);
715
- listener(this[property]);
1192
+ if (!(options === null || options === void 0 ? void 0 : options.lazy))
1193
+ listener(this[property]);
716
1194
  }
717
1195
  unlisten(property, listener) {
718
1196
  var _a, _b;
719
1197
  const index = (_a = __classPrivateFieldGet(this, _Listenable_listeners, "f")[property]) === null || _a === void 0 ? void 0 : _a.indexOf(listener);
720
1198
  index != undefined && index >= 0 && ((_b = __classPrivateFieldGet(this, _Listenable_listeners, "f")[property]) === null || _b === void 0 ? void 0 : _b.splice(index, 1));
721
1199
  }
1200
+ batchListen(listeners, options) {
1201
+ for (const key in listeners) {
1202
+ const listener = listeners[key];
1203
+ listener && this.listen(key, listener, options);
1204
+ }
1205
+ }
1206
+ batchUnlisten(listeners) {
1207
+ for (const key in listeners) {
1208
+ const listener = listeners[key];
1209
+ listener && this.unlisten(key, listener);
1210
+ }
1211
+ }
722
1212
  static load(backend) {
723
1213
  const result = backend.listenable;
724
1214
  return Object.defineProperties(result, getProperties(backend));
@@ -739,12 +1229,12 @@ class Listenable {
739
1229
  set(value) {
740
1230
  var _a;
741
1231
  backend[name] = value;
742
- (_a = __classPrivateFieldGet(result, _Listenable_listeners, "f")[name]) === null || _a === void 0 ? void 0 : _a.forEach(listener => listener(value));
1232
+ (_a = __classPrivateFieldGet(result, _Listenable_listeners, "f")[name]) === null || _a === void 0 ? void 0 : _a.forEach(listener => listener(backend[name]));
743
1233
  },
744
1234
  }
745
1235
  : {
746
1236
  get() {
747
- return backend[name].bind(backend);
1237
+ return backend[name];
748
1238
  },
749
1239
  },
750
1240
  ]));
@@ -753,8 +1243,35 @@ class Listenable {
753
1243
  }
754
1244
  _Listenable_listeners = new WeakMap();
755
1245
 
1246
+ exports.Data = void 0;
1247
+ (function (Data) {
1248
+ Data.valueType = union(string(), number(), boolean(), fromIs("Blob", value => value instanceof Blob), islyUndefined());
1249
+ Data.type = record(string(), union(lazy(() => Data.type, "Data"), Data.valueType));
1250
+ function set(data, [head, ...tail], value) {
1251
+ const current = data[head !== null && head !== void 0 ? head : ""];
1252
+ return Object.assign(Object.assign({}, data), { [head !== null && head !== void 0 ? head : ""]: !tail.length
1253
+ ? value
1254
+ : set(typeof current == "object" && !(current instanceof Blob) ? current : {}, tail, value) });
1255
+ }
1256
+ Data.set = set;
1257
+ function deepen(data) {
1258
+ return merge({}, data);
1259
+ }
1260
+ Data.deepen = deepen;
1261
+ function merge(data, changes) {
1262
+ return Object.entries(changes).reduce((r, [name, value]) => set(r, name.split("."), value), data);
1263
+ }
1264
+ Data.merge = merge;
1265
+ })(exports.Data || (exports.Data = {}));
1266
+
756
1267
  exports.Listenable = Listenable;
757
1268
  exports.Message = Message;
758
1269
  exports.Trigger = Trigger;
1270
+ exports.Type = Type;
1271
+ exports.boolean = boolean;
1272
+ exports.object = object;
1273
+ exports.record = record;
1274
+ exports.string = string;
1275
+ exports.union = union;
759
1276
 
760
- //# sourceMappingURL=Listenable-63ea2d90.js.map
1277
+ //# sourceMappingURL=Data-ae713814.js.map