@bquery/bquery 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/README.md +716 -586
  2. package/dist/a11y/announce.d.ts +43 -0
  3. package/dist/a11y/announce.d.ts.map +1 -0
  4. package/dist/a11y/audit.d.ts +42 -0
  5. package/dist/a11y/audit.d.ts.map +1 -0
  6. package/dist/a11y/index.d.ts +53 -0
  7. package/dist/a11y/index.d.ts.map +1 -0
  8. package/dist/a11y/media-preferences.d.ts +77 -0
  9. package/dist/a11y/media-preferences.d.ts.map +1 -0
  10. package/dist/a11y/roving-tab-index.d.ts +38 -0
  11. package/dist/a11y/roving-tab-index.d.ts.map +1 -0
  12. package/dist/a11y/skip-link.d.ts +37 -0
  13. package/dist/a11y/skip-link.d.ts.map +1 -0
  14. package/dist/a11y/trap-focus.d.ts +49 -0
  15. package/dist/a11y/trap-focus.d.ts.map +1 -0
  16. package/dist/a11y/types.d.ts +152 -0
  17. package/dist/a11y/types.d.ts.map +1 -0
  18. package/dist/a11y-C5QOVvRn.js +421 -0
  19. package/dist/a11y-C5QOVvRn.js.map +1 -0
  20. package/dist/a11y.es.mjs +14 -0
  21. package/dist/component/component.d.ts.map +1 -1
  22. package/dist/component/html.d.ts.map +1 -1
  23. package/dist/component/index.d.ts +2 -1
  24. package/dist/component/index.d.ts.map +1 -1
  25. package/dist/component/library.d.ts.map +1 -1
  26. package/dist/component/scope.d.ts +138 -0
  27. package/dist/component/scope.d.ts.map +1 -0
  28. package/dist/component/types.d.ts +53 -1
  29. package/dist/component/types.d.ts.map +1 -1
  30. package/dist/component-CuuTijA6.js +684 -0
  31. package/dist/component-CuuTijA6.js.map +1 -0
  32. package/dist/component.es.mjs +9 -6
  33. package/dist/{config-DRmZZno3.js → config-BW35FKuA.js} +4 -4
  34. package/dist/{config-DRmZZno3.js.map → config-BW35FKuA.js.map} +1 -1
  35. package/dist/constraints-3lV9yyBw.js +100 -0
  36. package/dist/constraints-3lV9yyBw.js.map +1 -0
  37. package/dist/core/collection.d.ts +48 -0
  38. package/dist/core/collection.d.ts.map +1 -1
  39. package/dist/core/element.d.ts +92 -0
  40. package/dist/core/element.d.ts.map +1 -1
  41. package/dist/core/env.d.ts +18 -0
  42. package/dist/core/env.d.ts.map +1 -0
  43. package/dist/core/index.d.ts +1 -0
  44. package/dist/core/index.d.ts.map +1 -1
  45. package/dist/core/shared.d.ts +8 -0
  46. package/dist/core/shared.d.ts.map +1 -1
  47. package/dist/core/utils/index.d.ts +52 -41
  48. package/dist/core/utils/index.d.ts.map +1 -1
  49. package/dist/core-Cjl7GUu8.js +717 -0
  50. package/dist/core-Cjl7GUu8.js.map +1 -0
  51. package/dist/core-DnlyjbF2.js +112 -0
  52. package/dist/core-DnlyjbF2.js.map +1 -0
  53. package/dist/core.es.mjs +45 -44
  54. package/dist/custom-directives-7wAShnnd.js +9 -0
  55. package/dist/custom-directives-7wAShnnd.js.map +1 -0
  56. package/dist/devtools/devtools.d.ts +212 -0
  57. package/dist/devtools/devtools.d.ts.map +1 -0
  58. package/dist/devtools/index.d.ts +20 -0
  59. package/dist/devtools/index.d.ts.map +1 -0
  60. package/dist/devtools/types.d.ts +69 -0
  61. package/dist/devtools/types.d.ts.map +1 -0
  62. package/dist/devtools-D2fQLhDN.js +122 -0
  63. package/dist/devtools-D2fQLhDN.js.map +1 -0
  64. package/dist/devtools.es.mjs +19 -0
  65. package/dist/dnd/draggable.d.ts +51 -0
  66. package/dist/dnd/draggable.d.ts.map +1 -0
  67. package/dist/dnd/droppable.d.ts +38 -0
  68. package/dist/dnd/droppable.d.ts.map +1 -0
  69. package/dist/dnd/index.d.ts +47 -0
  70. package/dist/dnd/index.d.ts.map +1 -0
  71. package/dist/dnd/sortable.d.ts +43 -0
  72. package/dist/dnd/sortable.d.ts.map +1 -0
  73. package/dist/dnd/types.d.ts +250 -0
  74. package/dist/dnd/types.d.ts.map +1 -0
  75. package/dist/dnd-B8EgyzaI.js +244 -0
  76. package/dist/dnd-B8EgyzaI.js.map +1 -0
  77. package/dist/dnd.es.mjs +6 -0
  78. package/dist/env-NeVmr4Gf.js +19 -0
  79. package/dist/env-NeVmr4Gf.js.map +1 -0
  80. package/dist/forms/create-form.d.ts +49 -0
  81. package/dist/forms/create-form.d.ts.map +1 -0
  82. package/dist/forms/index.d.ts +39 -0
  83. package/dist/forms/index.d.ts.map +1 -0
  84. package/dist/forms/types.d.ts +139 -0
  85. package/dist/forms/types.d.ts.map +1 -0
  86. package/dist/forms/validators.d.ts +179 -0
  87. package/dist/forms/validators.d.ts.map +1 -0
  88. package/dist/forms-C3yovgH9.js +141 -0
  89. package/dist/forms-C3yovgH9.js.map +1 -0
  90. package/dist/forms.es.mjs +14 -0
  91. package/dist/full.d.ts +35 -7
  92. package/dist/full.d.ts.map +1 -1
  93. package/dist/full.es.mjs +182 -91
  94. package/dist/full.iife.js +47 -31
  95. package/dist/full.iife.js.map +1 -1
  96. package/dist/full.umd.js +47 -31
  97. package/dist/full.umd.js.map +1 -1
  98. package/dist/i18n/formatting.d.ts +40 -0
  99. package/dist/i18n/formatting.d.ts.map +1 -0
  100. package/dist/i18n/i18n.d.ts +48 -0
  101. package/dist/i18n/i18n.d.ts.map +1 -0
  102. package/dist/i18n/index.d.ts +57 -0
  103. package/dist/i18n/index.d.ts.map +1 -0
  104. package/dist/i18n/translate.d.ts +83 -0
  105. package/dist/i18n/translate.d.ts.map +1 -0
  106. package/dist/i18n/types.d.ts +156 -0
  107. package/dist/i18n/types.d.ts.map +1 -0
  108. package/dist/i18n-BnnhTFOS.js +89 -0
  109. package/dist/i18n-BnnhTFOS.js.map +1 -0
  110. package/dist/i18n.es.mjs +6 -0
  111. package/dist/index.d.ts +11 -0
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.es.mjs +227 -136
  114. package/dist/media/battery.d.ts +35 -0
  115. package/dist/media/battery.d.ts.map +1 -0
  116. package/dist/media/breakpoints.d.ts +51 -0
  117. package/dist/media/breakpoints.d.ts.map +1 -0
  118. package/dist/media/clipboard.d.ts +30 -0
  119. package/dist/media/clipboard.d.ts.map +1 -0
  120. package/dist/media/device-sensors.d.ts +54 -0
  121. package/dist/media/device-sensors.d.ts.map +1 -0
  122. package/dist/media/geolocation.d.ts +38 -0
  123. package/dist/media/geolocation.d.ts.map +1 -0
  124. package/dist/media/index.d.ts +42 -0
  125. package/dist/media/index.d.ts.map +1 -0
  126. package/dist/media/media-query.d.ts +36 -0
  127. package/dist/media/media-query.d.ts.map +1 -0
  128. package/dist/media/network.d.ts +35 -0
  129. package/dist/media/network.d.ts.map +1 -0
  130. package/dist/media/types.d.ts +173 -0
  131. package/dist/media/types.d.ts.map +1 -0
  132. package/dist/media/viewport.d.ts +32 -0
  133. package/dist/media/viewport.d.ts.map +1 -0
  134. package/dist/media-Di2Ta22s.js +340 -0
  135. package/dist/media-Di2Ta22s.js.map +1 -0
  136. package/dist/media.es.mjs +12 -0
  137. package/dist/motion/index.d.ts +7 -3
  138. package/dist/motion/index.d.ts.map +1 -1
  139. package/dist/motion/morph.d.ts +27 -0
  140. package/dist/motion/morph.d.ts.map +1 -0
  141. package/dist/motion/parallax.d.ts +30 -0
  142. package/dist/motion/parallax.d.ts.map +1 -0
  143. package/dist/motion/reduced-motion.d.ts +36 -3
  144. package/dist/motion/reduced-motion.d.ts.map +1 -1
  145. package/dist/motion/types.d.ts +58 -0
  146. package/dist/motion/types.d.ts.map +1 -1
  147. package/dist/motion/typewriter.d.ts +31 -0
  148. package/dist/motion/typewriter.d.ts.map +1 -0
  149. package/dist/motion-qPj_TYGv.js +530 -0
  150. package/dist/motion-qPj_TYGv.js.map +1 -0
  151. package/dist/motion.es.mjs +27 -23
  152. package/dist/{view-C70lA3vf.js → mount-SM07RUa6.js} +166 -160
  153. package/dist/mount-SM07RUa6.js.map +1 -0
  154. package/dist/{object-qGpWr6-J.js → object-BCk-1c8T.js} +5 -4
  155. package/dist/{object-qGpWr6-J.js.map → object-BCk-1c8T.js.map} +1 -1
  156. package/dist/{platform-Dr9b6fsq.js → platform-CPbCprb6.js} +21 -22
  157. package/dist/{platform-Dr9b6fsq.js.map → platform-CPbCprb6.js.map} +1 -1
  158. package/dist/platform.es.mjs +2 -2
  159. package/dist/plugin/index.d.ts +22 -0
  160. package/dist/plugin/index.d.ts.map +1 -0
  161. package/dist/plugin/registry.d.ts +108 -0
  162. package/dist/plugin/registry.d.ts.map +1 -0
  163. package/dist/plugin/types.d.ts +110 -0
  164. package/dist/plugin/types.d.ts.map +1 -0
  165. package/dist/plugin-cPoOHFLY.js +64 -0
  166. package/dist/plugin-cPoOHFLY.js.map +1 -0
  167. package/dist/plugin.es.mjs +9 -0
  168. package/dist/reactive/computed.d.ts +7 -0
  169. package/dist/reactive/computed.d.ts.map +1 -1
  170. package/dist/reactive-Cfv0RK6x.js +233 -0
  171. package/dist/reactive-Cfv0RK6x.js.map +1 -0
  172. package/dist/reactive.es.mjs +19 -20
  173. package/dist/registry-CWf368tT.js +26 -0
  174. package/dist/registry-CWf368tT.js.map +1 -0
  175. package/dist/router/bq-link.d.ts +112 -0
  176. package/dist/router/bq-link.d.ts.map +1 -0
  177. package/dist/router/constraints.d.ts +9 -0
  178. package/dist/router/constraints.d.ts.map +1 -0
  179. package/dist/router/index.d.ts +14 -6
  180. package/dist/router/index.d.ts.map +1 -1
  181. package/dist/router/match.d.ts +0 -1
  182. package/dist/router/match.d.ts.map +1 -1
  183. package/dist/router/path-pattern.d.ts +14 -0
  184. package/dist/router/path-pattern.d.ts.map +1 -0
  185. package/dist/router/query.d.ts.map +1 -1
  186. package/dist/router/router.d.ts +3 -1
  187. package/dist/router/router.d.ts.map +1 -1
  188. package/dist/router/types.d.ts +48 -4
  189. package/dist/router/types.d.ts.map +1 -1
  190. package/dist/router/use-route.d.ts +50 -0
  191. package/dist/router/use-route.d.ts.map +1 -0
  192. package/dist/router/utils.d.ts +3 -0
  193. package/dist/router/utils.d.ts.map +1 -1
  194. package/dist/router-BrthaP_z.js +473 -0
  195. package/dist/router-BrthaP_z.js.map +1 -0
  196. package/dist/router.es.mjs +13 -10
  197. package/dist/{sanitize-Bs2dkMby.js → sanitize-B1V4JswB.js} +2 -1
  198. package/dist/{sanitize-Bs2dkMby.js.map → sanitize-B1V4JswB.js.map} +1 -1
  199. package/dist/security/index.d.ts +2 -2
  200. package/dist/security/index.d.ts.map +1 -1
  201. package/dist/security.es.mjs +1 -1
  202. package/dist/ssr/hydrate.d.ts +65 -0
  203. package/dist/ssr/hydrate.d.ts.map +1 -0
  204. package/dist/ssr/index.d.ts +59 -0
  205. package/dist/ssr/index.d.ts.map +1 -0
  206. package/dist/ssr/render.d.ts +62 -0
  207. package/dist/ssr/render.d.ts.map +1 -0
  208. package/dist/ssr/serialize.d.ts +118 -0
  209. package/dist/ssr/serialize.d.ts.map +1 -0
  210. package/dist/ssr/types.d.ts +70 -0
  211. package/dist/ssr/types.d.ts.map +1 -0
  212. package/dist/ssr-B2qd_WBB.js +248 -0
  213. package/dist/ssr-B2qd_WBB.js.map +1 -0
  214. package/dist/ssr.es.mjs +9 -0
  215. package/dist/store/create-store.d.ts.map +1 -1
  216. package/dist/store/index.d.ts +1 -1
  217. package/dist/store/index.d.ts.map +1 -1
  218. package/dist/store/persisted.d.ts +38 -4
  219. package/dist/store/persisted.d.ts.map +1 -1
  220. package/dist/store/types.d.ts +138 -1
  221. package/dist/store/types.d.ts.map +1 -1
  222. package/dist/store/utils.d.ts +2 -2
  223. package/dist/store/utils.d.ts.map +1 -1
  224. package/dist/store-DWpyH6p5.js +338 -0
  225. package/dist/store-DWpyH6p5.js.map +1 -0
  226. package/dist/store.es.mjs +11 -10
  227. package/dist/storybook/index.d.ts.map +1 -1
  228. package/dist/storybook.es.mjs +1 -1
  229. package/dist/storybook.es.mjs.map +1 -1
  230. package/dist/testing/index.d.ts +23 -0
  231. package/dist/testing/index.d.ts.map +1 -0
  232. package/dist/testing/testing.d.ts +156 -0
  233. package/dist/testing/testing.d.ts.map +1 -0
  234. package/dist/testing/types.d.ts +134 -0
  235. package/dist/testing/types.d.ts.map +1 -0
  236. package/dist/testing-CsqjNUyy.js +224 -0
  237. package/dist/testing-CsqjNUyy.js.map +1 -0
  238. package/dist/testing.es.mjs +9 -0
  239. package/dist/type-guards-Do9DWgNp.js +44 -0
  240. package/dist/type-guards-Do9DWgNp.js.map +1 -0
  241. package/dist/untrack-DJVQQ2WM.js +33 -0
  242. package/dist/untrack-DJVQQ2WM.js.map +1 -0
  243. package/dist/view/custom-directives.d.ts +20 -0
  244. package/dist/view/custom-directives.d.ts.map +1 -0
  245. package/dist/view/evaluate.d.ts.map +1 -1
  246. package/dist/view/process.d.ts.map +1 -1
  247. package/dist/view.es.mjs +9 -9
  248. package/package.json +177 -141
  249. package/src/a11y/announce.ts +131 -0
  250. package/src/a11y/audit.ts +314 -0
  251. package/src/a11y/index.ts +68 -0
  252. package/src/a11y/media-preferences.ts +255 -0
  253. package/src/a11y/roving-tab-index.ts +164 -0
  254. package/src/a11y/skip-link.ts +255 -0
  255. package/src/a11y/trap-focus.ts +184 -0
  256. package/src/a11y/types.ts +183 -0
  257. package/src/component/component.ts +104 -29
  258. package/src/component/html.ts +5 -5
  259. package/src/component/index.ts +2 -0
  260. package/src/component/library.ts +26 -2
  261. package/src/component/scope.ts +212 -0
  262. package/src/component/types.ts +94 -40
  263. package/src/core/collection.ts +707 -628
  264. package/src/core/element.ts +981 -774
  265. package/src/core/env.ts +60 -0
  266. package/src/core/index.ts +49 -48
  267. package/src/core/shared.ts +62 -13
  268. package/src/core/utils/index.ts +148 -83
  269. package/src/devtools/devtools.ts +410 -0
  270. package/src/devtools/index.ts +48 -0
  271. package/src/devtools/types.ts +104 -0
  272. package/src/dnd/draggable.ts +296 -0
  273. package/src/dnd/droppable.ts +228 -0
  274. package/src/dnd/index.ts +62 -0
  275. package/src/dnd/sortable.ts +307 -0
  276. package/src/dnd/types.ts +293 -0
  277. package/src/forms/create-form.ts +278 -0
  278. package/src/forms/index.ts +65 -0
  279. package/src/forms/types.ts +154 -0
  280. package/src/forms/validators.ts +265 -0
  281. package/src/full.ts +253 -2
  282. package/src/i18n/formatting.ts +67 -0
  283. package/src/i18n/i18n.ts +200 -0
  284. package/src/i18n/index.ts +67 -0
  285. package/src/i18n/translate.ts +182 -0
  286. package/src/i18n/types.ts +171 -0
  287. package/src/index.ts +108 -36
  288. package/src/media/battery.ts +116 -0
  289. package/src/media/breakpoints.ts +131 -0
  290. package/src/media/clipboard.ts +80 -0
  291. package/src/media/device-sensors.ts +158 -0
  292. package/src/media/geolocation.ts +119 -0
  293. package/src/media/index.ts +76 -0
  294. package/src/media/media-query.ts +92 -0
  295. package/src/media/network.ts +115 -0
  296. package/src/media/types.ts +177 -0
  297. package/src/media/viewport.ts +84 -0
  298. package/src/motion/index.ts +57 -48
  299. package/src/motion/morph.ts +151 -0
  300. package/src/motion/parallax.ts +120 -0
  301. package/src/motion/reduced-motion.ts +66 -17
  302. package/src/motion/types.ts +271 -208
  303. package/src/motion/typewriter.ts +164 -0
  304. package/src/plugin/index.ts +37 -0
  305. package/src/plugin/registry.ts +269 -0
  306. package/src/plugin/types.ts +137 -0
  307. package/src/reactive/computed.ts +130 -92
  308. package/src/router/bq-link.ts +279 -0
  309. package/src/router/constraints.ts +201 -0
  310. package/src/router/index.ts +49 -41
  311. package/src/router/match.ts +312 -106
  312. package/src/router/path-pattern.ts +52 -0
  313. package/src/router/query.ts +38 -35
  314. package/src/router/router.ts +402 -211
  315. package/src/router/types.ts +139 -93
  316. package/src/router/use-route.ts +68 -0
  317. package/src/router/utils.ts +157 -116
  318. package/src/security/index.ts +2 -7
  319. package/src/security/sanitize.ts +70 -70
  320. package/src/security/trusted-html.ts +71 -71
  321. package/src/ssr/hydrate.ts +82 -0
  322. package/src/ssr/index.ts +70 -0
  323. package/src/ssr/render.ts +508 -0
  324. package/src/ssr/serialize.ts +296 -0
  325. package/src/ssr/types.ts +81 -0
  326. package/src/store/create-store.ts +467 -329
  327. package/src/store/define-store.ts +49 -49
  328. package/src/store/index.ts +27 -22
  329. package/src/store/mapping.ts +74 -74
  330. package/src/store/persisted.ts +206 -19
  331. package/src/store/types.ts +157 -2
  332. package/src/store/utils.ts +135 -141
  333. package/src/store/watch.ts +53 -53
  334. package/src/storybook/index.ts +2 -1
  335. package/src/testing/index.ts +42 -0
  336. package/src/testing/testing.ts +593 -0
  337. package/src/testing/types.ts +170 -0
  338. package/src/view/custom-directives.ts +30 -0
  339. package/src/view/evaluate.ts +292 -290
  340. package/src/view/process.ts +108 -92
  341. package/dist/component-BEQgt5hl.js +0 -600
  342. package/dist/component-BEQgt5hl.js.map +0 -1
  343. package/dist/core-BGQJVw0-.js +0 -35
  344. package/dist/core-BGQJVw0-.js.map +0 -1
  345. package/dist/core-CCEabVHl.js +0 -648
  346. package/dist/core-CCEabVHl.js.map +0 -1
  347. package/dist/effect-AFRW_Plg.js +0 -84
  348. package/dist/effect-AFRW_Plg.js.map +0 -1
  349. package/dist/motion-D9TcHxOF.js +0 -415
  350. package/dist/motion-D9TcHxOF.js.map +0 -1
  351. package/dist/reactive-DSkct0dO.js +0 -254
  352. package/dist/reactive-DSkct0dO.js.map +0 -1
  353. package/dist/router-CbDhl8rS.js +0 -188
  354. package/dist/router-CbDhl8rS.js.map +0 -1
  355. package/dist/store-BwDvI45q.js +0 -263
  356. package/dist/store-BwDvI45q.js.map +0 -1
  357. package/dist/untrack-B0rVscTc.js +0 -7
  358. package/dist/untrack-B0rVscTc.js.map +0 -1
  359. package/dist/view-C70lA3vf.js.map +0 -1
@@ -1,600 +0,0 @@
1
- import { f as A, l as q, n as z, t as _, u as M } from "./sanitize-Bs2dkMby.js";
2
- import { t as O } from "./effect-AFRW_Plg.js";
3
- import { n as B } from "./config-DRmZZno3.js";
4
- import { t as E } from "./untrack-B0rVscTc.js";
5
- var H = (r, t) => {
6
- const { type: a } = t;
7
- if (a === String) return r;
8
- if (a === Number) return Number(r);
9
- if (a === Boolean) {
10
- const e = r.trim().toLowerCase();
11
- return e === "" || e === "true" || e === "1" ? !0 : e === "false" || e === "0" ? !1 : !!r;
12
- }
13
- if (a === Object || a === Array) try {
14
- return JSON.parse(r);
15
- } catch {
16
- return r;
17
- }
18
- if (typeof a == "function") {
19
- const e = a, n = a;
20
- if (t.construct === !0) return Reflect.construct(n, [r]);
21
- if (t.construct === !1) return e(r);
22
- const l = a.prototype !== void 0 && a.prototype !== null, x = (l ? Object.getOwnPropertyNames(a.prototype) : []).length > 1, s = l && a.prototype.constructor !== a, i = /^class\s/.test(Function.prototype.toString.call(a));
23
- if (x || s || i) try {
24
- return Reflect.construct(n, [r]);
25
- } catch {
26
- return e(r);
27
- }
28
- try {
29
- const o = e(r);
30
- if (o === void 0 && l) try {
31
- return Reflect.construct(n, [r]);
32
- } catch {
33
- return o;
34
- }
35
- return o;
36
- } catch (o) {
37
- if (o instanceof TypeError && /cannot be invoked without 'new'|is not a function/i.test(o.message)) return Reflect.construct(n, [r]);
38
- throw o;
39
- }
40
- }
41
- return r;
42
- }, L = ["slot"], I = [
43
- "part",
44
- "disabled",
45
- "checked",
46
- "placeholder",
47
- "value",
48
- "rows",
49
- "cols",
50
- "readonly",
51
- "required",
52
- "maxlength",
53
- "minlength",
54
- "max",
55
- "min",
56
- "step",
57
- "pattern",
58
- "autocomplete",
59
- "autofocus",
60
- "for",
61
- "multiple",
62
- "selected",
63
- "wrap"
64
- ], S = (r, t) => {
65
- const a = [...L, ...t.sanitize?.allowTags ?? []], e = [...I, ...t.sanitize?.allowAttributes ?? []], n = Object.values(t.signals ?? {});
66
- class l extends HTMLElement {
67
- constructor() {
68
- super(), this.state = { ...t.state ?? {} }, this.props = {}, this.missingRequiredProps = /* @__PURE__ */ new Set(), this.hasMounted = !1, this.attachShadow({ mode: "open" }), this.syncProps();
69
- }
70
- static get observedAttributes() {
71
- return Object.keys(t.props ?? {});
72
- }
73
- connectedCallback() {
74
- try {
75
- if (!this.hasMounted && this.missingRequiredProps.size > 0) return;
76
- if (this.hasMounted) {
77
- try {
78
- t.connected?.call(this);
79
- } catch (s) {
80
- this.handleError(s);
81
- }
82
- this.setupSignalSubscriptions(!0);
83
- return;
84
- }
85
- this.mount();
86
- } catch (s) {
87
- this.handleError(s);
88
- }
89
- }
90
- mount() {
91
- this.hasMounted || (t.beforeMount?.call(this), t.connected?.call(this), this.render(), this.setupSignalSubscriptions(), this.hasMounted = !0);
92
- }
93
- disconnectedCallback() {
94
- try {
95
- this.signalEffectCleanup?.(), this.signalEffectCleanup = void 0, t.disconnected?.call(this);
96
- } catch (s) {
97
- this.handleError(s);
98
- }
99
- }
100
- attributeChangedCallback(s, i, o) {
101
- try {
102
- const u = this.cloneProps();
103
- this.syncProps(), this.hasMounted ? this.render(!0, u, {
104
- name: s,
105
- oldValue: i,
106
- newValue: o
107
- }) : this.isConnected && this.missingRequiredProps.size === 0 && this.mount();
108
- } catch (u) {
109
- this.handleError(u);
110
- }
111
- }
112
- handleError(s) {
113
- t.onError ? t.onError.call(this, s) : console.error(`bQuery component error in <${r}>:`, s);
114
- }
115
- setState(s, i) {
116
- this.state[s] = i, this.render(!0, this.cloneProps(), void 0, !1);
117
- }
118
- getState(s) {
119
- return this.state[s];
120
- }
121
- setupSignalSubscriptions(s = !1) {
122
- if (this.signalEffectCleanup || n.length === 0) return;
123
- let i = !0;
124
- this.signalEffectCleanup = O(() => {
125
- try {
126
- for (const u of n) u.value;
127
- if (i) {
128
- if (i = !1, s && this.hasMounted && this.isConnected) {
129
- const u = this.cloneProps();
130
- E(() => {
131
- this.render(!0, u, void 0, !1);
132
- });
133
- }
134
- return;
135
- }
136
- if (!this.hasMounted || !this.isConnected) return;
137
- const o = this.cloneProps();
138
- E(() => {
139
- this.render(!0, o, void 0, !1);
140
- });
141
- } catch (o) {
142
- this.handleError(o);
143
- }
144
- });
145
- }
146
- syncProps() {
147
- const s = t.props ?? {};
148
- for (const [i, o] of Object.entries(s)) {
149
- const u = this.getAttribute(i);
150
- let d;
151
- if (u == null ? o.required && o.default === void 0 ? (this.missingRequiredProps.add(i), d = void 0) : d = o.default ?? void 0 : (this.missingRequiredProps.has(i) && this.missingRequiredProps.delete(i), d = H(u, o)), o.validator && d !== void 0 && !o.validator(d))
152
- throw new Error(`bQuery component: validation failed for prop "${i}" with value ${JSON.stringify(d)}`);
153
- this.props[i] = d;
154
- }
155
- }
156
- cloneProps() {
157
- return { ...this.props };
158
- }
159
- render(s = !1, i, o, u = !0) {
160
- try {
161
- if (s && u && t.beforeUpdate) {
162
- if (!i) throw new Error("bQuery component: previous props are required for update renders");
163
- if (t.beforeUpdate.call(this, this.props, i) === !1) return;
164
- }
165
- const d = (h, T) => {
166
- this.dispatchEvent(new CustomEvent(h, {
167
- detail: T,
168
- bubbles: !0,
169
- composed: !0
170
- }));
171
- };
172
- if (!this.shadowRoot) return;
173
- const R = z(t.render({
174
- props: this.props,
175
- state: this.state,
176
- signals: t.signals ?? {},
177
- emit: d
178
- }), {
179
- allowTags: a,
180
- allowAttributes: e
181
- });
182
- let m = null;
183
- if (t.styles && (m = this.shadowRoot.querySelector("style[data-bquery-component-style]")), this.shadowRoot.innerHTML = R, t.styles) {
184
- const h = m ?? document.createElement("style");
185
- m || h.setAttribute("data-bquery-component-style", ""), h.textContent = t.styles, this.shadowRoot.prepend(h);
186
- }
187
- s && t.updated?.call(this, o);
188
- } catch (d) {
189
- this.handleError(d);
190
- }
191
- }
192
- }
193
- return l;
194
- };
195
- function K(r, t) {
196
- return S(r, t);
197
- }
198
- function f(r, t) {
199
- const a = S(r, t);
200
- customElements.get(r) || customElements.define(r, a);
201
- }
202
- var k = /* @__PURE__ */ Symbol("bquery.booleanAttribute"), N = /^[^\0-\x20"'/>=]+$/, C = (r) => {
203
- if (typeof r != "object" || r === null) return !1;
204
- const t = r;
205
- return t[k] === !0 && typeof t.enabled == "boolean" && typeof t.name == "string";
206
- }, w = (r) => C(r) ? r.enabled ? r.name : "" : String(r ?? ""), j = {
207
- "&": "&amp;",
208
- "<": "&lt;",
209
- ">": "&gt;",
210
- '"': "&quot;",
211
- "'": "&#x27;",
212
- "`": "&#x60;"
213
- }, P = (r) => C(r) ? r.enabled ? r.name : "" : w(r).replace(/[&<>"'`]/g, (t) => j[t]), Y = (r, t) => {
214
- if (!N.test(r)) throw new TypeError(`Invalid boolean attribute name: ${r}`);
215
- const a = {
216
- [k]: !0,
217
- enabled: !!t,
218
- name: r
219
- };
220
- return Object.freeze(a);
221
- }, p = (r, ...t) => r.reduce((a, e, n) => `${a}${e}${w(t[n])}`, ""), X = (r, ...t) => {
222
- const a = (e) => q(e) ? A(e) : P(e);
223
- return M(r.reduce((e, n, l) => `${e}${n}${l < t.length ? a(t[l]) : ""}`, ""));
224
- }, b = `
225
- :host {
226
- color: inherit;
227
- font: inherit;
228
- }
229
- `, $ = `
230
- ${b}
231
- .field {
232
- display: inline-flex;
233
- flex-direction: column;
234
- gap: 0.375rem;
235
- width: 100%;
236
- }
237
- .label {
238
- color: #334155;
239
- font-size: 0.875rem;
240
- font-weight: 600;
241
- }
242
- .control {
243
- border: 1px solid #cbd5e1;
244
- border-radius: 0.75rem;
245
- box-sizing: border-box;
246
- font: inherit;
247
- min-height: 2.75rem;
248
- outline: none;
249
- padding: 0.75rem 0.875rem;
250
- width: 100%;
251
- background: #fff;
252
- color: #0f172a;
253
- transition: border-color 160ms ease, box-shadow 160ms ease;
254
- }
255
- .control:focus {
256
- border-color: #2563eb;
257
- box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
258
- }
259
- .control:disabled {
260
- background: #f8fafc;
261
- color: #94a3b8;
262
- cursor: not-allowed;
263
- }
264
- `, c = (r) => _(r), v = /* @__PURE__ */ new WeakMap(), y = (r, t) => v.get(r)?.[t], g = (r, t, a) => {
265
- const e = v.get(r) ?? {};
266
- e[t] = a, v.set(r, e);
267
- }, U = (r, t, a) => {
268
- if (a.label !== t.label || a.type !== t.type || a.placeholder !== t.placeholder || a.name !== t.name || a.disabled !== t.disabled) return !1;
269
- const e = r.shadowRoot?.querySelector("input.control");
270
- return e ? (e.value !== t.value && (e.value = t.value), !0) : !1;
271
- }, Q = (r, t, a) => {
272
- if (a.label !== t.label || a.placeholder !== t.placeholder || a.name !== t.name || a.rows !== t.rows || a.disabled !== t.disabled) return !1;
273
- const e = r.shadowRoot?.querySelector("textarea.control");
274
- return e ? (e.value !== t.value && (e.value = t.value), !0) : !1;
275
- }, D = (r) => [
276
- "<textarea",
277
- ' part="control"',
278
- ' class="control"',
279
- ` placeholder="${c(r.placeholder)}"`,
280
- ` name="${c(r.name)}"`,
281
- ` rows="${r.rows}"`,
282
- r.disabled ? " disabled" : "",
283
- `>${c(r.value)}</textarea>`
284
- ].join(""), Z = (r = {}) => {
285
- const t = r.prefix ?? B().components?.prefix ?? "bq", a = {
286
- button: `${t}-button`,
287
- card: `${t}-card`,
288
- input: `${t}-input`,
289
- textarea: `${t}-textarea`,
290
- checkbox: `${t}-checkbox`
291
- };
292
- return f(a.button, {
293
- props: {
294
- label: {
295
- type: String,
296
- default: ""
297
- },
298
- variant: {
299
- type: String,
300
- default: "primary"
301
- },
302
- size: {
303
- type: String,
304
- default: "md"
305
- },
306
- type: {
307
- type: String,
308
- default: "button"
309
- },
310
- disabled: {
311
- type: Boolean,
312
- default: !1
313
- }
314
- },
315
- styles: `
316
- ${b}
317
- button {
318
- appearance: none;
319
- border: 0;
320
- border-radius: 999px;
321
- cursor: pointer;
322
- display: inline-flex;
323
- align-items: center;
324
- justify-content: center;
325
- font: inherit;
326
- font-weight: 600;
327
- gap: 0.5rem;
328
- min-height: 2.5rem;
329
- padding: 0.65rem 1rem;
330
- transition: transform 160ms ease, opacity 160ms ease, background 160ms ease;
331
- background: #2563eb;
332
- color: #fff;
333
- }
334
- button[data-variant='secondary'] {
335
- background: #e2e8f0;
336
- color: #0f172a;
337
- }
338
- button[data-size='sm'] {
339
- min-height: 2.125rem;
340
- padding: 0.5rem 0.875rem;
341
- }
342
- button[data-size='lg'] {
343
- min-height: 3rem;
344
- padding: 0.875rem 1.25rem;
345
- }
346
- button:hover:not(:disabled) {
347
- transform: translateY(-1px);
348
- }
349
- button:disabled {
350
- cursor: not-allowed;
351
- opacity: 0.6;
352
- }
353
- `,
354
- render: ({ props: e }) => p`
355
- <button
356
- part="button"
357
- type="${c(e.type)}"
358
- data-variant="${c(e.variant)}"
359
- data-size="${c(e.size)}"
360
- ${e.disabled ? "disabled" : ""}
361
- >
362
- <slot>${c(e.label)}</slot>
363
- </button>
364
- `
365
- }), f(a.card, {
366
- props: {
367
- title: {
368
- type: String,
369
- default: ""
370
- },
371
- footer: {
372
- type: String,
373
- default: ""
374
- },
375
- elevated: {
376
- type: Boolean,
377
- default: !0
378
- }
379
- },
380
- styles: `
381
- ${b}
382
- article {
383
- background: #fff;
384
- border: 1px solid #e2e8f0;
385
- border-radius: 1rem;
386
- box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
387
- color: #0f172a;
388
- display: block;
389
- padding: 1rem;
390
- }
391
- article[data-elevated='false'] {
392
- box-shadow: none;
393
- }
394
- header, footer {
395
- color: #475569;
396
- font-size: 0.95rem;
397
- font-weight: 600;
398
- }
399
- header {
400
- margin-bottom: 0.75rem;
401
- }
402
- footer {
403
- margin-top: 0.75rem;
404
- }
405
- `,
406
- render: ({ props: e }) => p`
407
- <article part="card" data-elevated="${String(e.elevated)}">
408
- ${e.title ? `<header part="header">${c(e.title)}</header>` : ""}
409
- <section part="body"><slot></slot></section>
410
- ${e.footer ? `<footer part="footer">${c(e.footer)}</footer>` : ""}
411
- </article>
412
- `
413
- }), f(a.input, {
414
- props: {
415
- label: {
416
- type: String,
417
- default: ""
418
- },
419
- type: {
420
- type: String,
421
- default: "text"
422
- },
423
- value: {
424
- type: String,
425
- default: ""
426
- },
427
- placeholder: {
428
- type: String,
429
- default: ""
430
- },
431
- name: {
432
- type: String,
433
- default: ""
434
- },
435
- disabled: {
436
- type: Boolean,
437
- default: !1
438
- }
439
- },
440
- styles: $,
441
- beforeUpdate(e, n) {
442
- return !U(this, e, n);
443
- },
444
- connected() {
445
- const e = (n) => {
446
- const l = n.target;
447
- l?.matches("input") && (n.stopPropagation(), this.setAttribute("value", l.value), this.dispatchEvent(new CustomEvent("input", {
448
- detail: { value: l.value },
449
- bubbles: !0,
450
- composed: !0
451
- })));
452
- };
453
- g(this, "__bqueryInputHandler", e), this.shadowRoot?.addEventListener("input", e);
454
- },
455
- disconnected() {
456
- const e = y(this, "__bqueryInputHandler");
457
- e && this.shadowRoot?.removeEventListener("input", e);
458
- },
459
- render: ({ props: e }) => p`
460
- <label part="field" class="field">
461
- ${e.label ? `<span part="label" class="label">${c(e.label)}</span>` : ""}
462
- <input
463
- part="control"
464
- class="control"
465
- type="${c(e.type)}"
466
- value="${c(e.value)}"
467
- placeholder="${c(e.placeholder)}"
468
- name="${c(e.name)}"
469
- ${e.disabled ? "disabled" : ""}
470
- />
471
- </label>
472
- `
473
- }), f(a.textarea, {
474
- props: {
475
- label: {
476
- type: String,
477
- default: ""
478
- },
479
- value: {
480
- type: String,
481
- default: ""
482
- },
483
- placeholder: {
484
- type: String,
485
- default: ""
486
- },
487
- name: {
488
- type: String,
489
- default: ""
490
- },
491
- rows: {
492
- type: Number,
493
- default: 4
494
- },
495
- disabled: {
496
- type: Boolean,
497
- default: !1
498
- }
499
- },
500
- styles: `${$}
501
- textarea.control {
502
- min-height: 6rem;
503
- resize: vertical;
504
- }
505
- `,
506
- beforeUpdate(e, n) {
507
- return !Q(this, e, n);
508
- },
509
- connected() {
510
- const e = (n) => {
511
- const l = n.target;
512
- l?.matches("textarea") && (n.stopPropagation(), this.setAttribute("value", l.value), this.dispatchEvent(new CustomEvent("input", {
513
- detail: { value: l.value },
514
- bubbles: !0,
515
- composed: !0
516
- })));
517
- };
518
- g(this, "__bqueryTextareaHandler", e), this.shadowRoot?.addEventListener("input", e);
519
- },
520
- disconnected() {
521
- const e = y(this, "__bqueryTextareaHandler");
522
- e && this.shadowRoot?.removeEventListener("input", e);
523
- },
524
- render: ({ props: e }) => p`
525
- <label part="field" class="field">
526
- ${e.label ? `<span part="label" class="label">${c(e.label)}</span>` : ""}
527
- ${D(e)}
528
- </label>
529
- `
530
- }), f(a.checkbox, {
531
- props: {
532
- label: {
533
- type: String,
534
- default: ""
535
- },
536
- checked: {
537
- type: Boolean,
538
- default: !1
539
- },
540
- disabled: {
541
- type: Boolean,
542
- default: !1
543
- }
544
- },
545
- styles: `
546
- ${b}
547
- label {
548
- align-items: center;
549
- color: #0f172a;
550
- cursor: pointer;
551
- display: inline-flex;
552
- gap: 0.625rem;
553
- }
554
- input {
555
- accent-color: #2563eb;
556
- block-size: 1rem;
557
- inline-size: 1rem;
558
- }
559
- input:disabled {
560
- cursor: not-allowed;
561
- }
562
- `,
563
- connected() {
564
- const e = (n) => {
565
- const l = n.target;
566
- l?.matches('input[type="checkbox"]') && (n.stopPropagation(), l.checked ? this.setAttribute("checked", "true") : this.removeAttribute("checked"), this.dispatchEvent(new CustomEvent("change", {
567
- detail: { checked: l.checked },
568
- bubbles: !0,
569
- composed: !0
570
- })));
571
- };
572
- g(this, "__bqueryCheckboxHandler", e), this.shadowRoot?.addEventListener("change", e);
573
- },
574
- disconnected() {
575
- const e = y(this, "__bqueryCheckboxHandler");
576
- e && this.shadowRoot?.removeEventListener("change", e);
577
- },
578
- render: ({ props: e }) => p`
579
- <label part="label">
580
- <input
581
- part="control"
582
- type="checkbox"
583
- ${e.checked ? "checked" : ""}
584
- ${e.disabled ? "disabled" : ""}
585
- />
586
- <span part="text"><slot>${c(e.label)}</slot></span>
587
- </label>
588
- `
589
- }), a;
590
- };
591
- export {
592
- f as a,
593
- X as i,
594
- Y as n,
595
- K as o,
596
- p as r,
597
- Z as t
598
- };
599
-
600
- //# sourceMappingURL=component-BEQgt5hl.js.map