@bquery/bquery 1.4.0 → 1.5.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 (127) hide show
  1. package/README.md +139 -120
  2. package/dist/component/component.d.ts.map +1 -1
  3. package/dist/component/index.d.ts +2 -0
  4. package/dist/component/index.d.ts.map +1 -1
  5. package/dist/component/library.d.ts +34 -0
  6. package/dist/component/library.d.ts.map +1 -0
  7. package/dist/component/types.d.ts +10 -6
  8. package/dist/component/types.d.ts.map +1 -1
  9. package/dist/component-CY5MVoYN.js +531 -0
  10. package/dist/component-CY5MVoYN.js.map +1 -0
  11. package/dist/component.es.mjs +6 -184
  12. package/dist/config-DRmZZno3.js +40 -0
  13. package/dist/config-DRmZZno3.js.map +1 -0
  14. package/dist/core-CK2Mfpf4.js +648 -0
  15. package/dist/core-CK2Mfpf4.js.map +1 -0
  16. package/dist/core-DPdbItcq.js +112 -0
  17. package/dist/core-DPdbItcq.js.map +1 -0
  18. package/dist/core.es.mjs +45 -1261
  19. package/dist/full.d.ts +6 -6
  20. package/dist/full.d.ts.map +1 -1
  21. package/dist/full.es.mjs +98 -92
  22. package/dist/full.iife.js +173 -3
  23. package/dist/full.iife.js.map +1 -1
  24. package/dist/full.umd.js +173 -3
  25. package/dist/full.umd.js.map +1 -1
  26. package/dist/index.es.mjs +143 -139
  27. package/dist/motion/transition.d.ts +1 -1
  28. package/dist/motion/transition.d.ts.map +1 -1
  29. package/dist/motion/types.d.ts +11 -1
  30. package/dist/motion/types.d.ts.map +1 -1
  31. package/dist/motion-C5DRdPnO.js +415 -0
  32. package/dist/motion-C5DRdPnO.js.map +1 -0
  33. package/dist/motion.es.mjs +25 -361
  34. package/dist/object-qGpWr6-J.js +38 -0
  35. package/dist/object-qGpWr6-J.js.map +1 -0
  36. package/dist/platform/announcer.d.ts +59 -0
  37. package/dist/platform/announcer.d.ts.map +1 -0
  38. package/dist/platform/config.d.ts +92 -0
  39. package/dist/platform/config.d.ts.map +1 -0
  40. package/dist/platform/cookies.d.ts +45 -0
  41. package/dist/platform/cookies.d.ts.map +1 -0
  42. package/dist/platform/index.d.ts +8 -0
  43. package/dist/platform/index.d.ts.map +1 -1
  44. package/dist/platform/meta.d.ts +62 -0
  45. package/dist/platform/meta.d.ts.map +1 -0
  46. package/dist/platform-B7JhGBc7.js +361 -0
  47. package/dist/platform-B7JhGBc7.js.map +1 -0
  48. package/dist/platform.es.mjs +11 -248
  49. package/dist/reactive/async-data.d.ts +114 -0
  50. package/dist/reactive/async-data.d.ts.map +1 -0
  51. package/dist/reactive/index.d.ts +2 -2
  52. package/dist/reactive/index.d.ts.map +1 -1
  53. package/dist/reactive/signal.d.ts +2 -0
  54. package/dist/reactive/signal.d.ts.map +1 -1
  55. package/dist/reactive-BDya-ia8.js +253 -0
  56. package/dist/reactive-BDya-ia8.js.map +1 -0
  57. package/dist/reactive.es.mjs +18 -34
  58. package/dist/router-CijiICxt.js +188 -0
  59. package/dist/router-CijiICxt.js.map +1 -0
  60. package/dist/router.es.mjs +11 -200
  61. package/dist/sanitize-jyJ2ryE2.js +302 -0
  62. package/dist/sanitize-jyJ2ryE2.js.map +1 -0
  63. package/dist/security/constants.d.ts.map +1 -1
  64. package/dist/security.es.mjs +10 -56
  65. package/dist/store-CPK9E62U.js +262 -0
  66. package/dist/store-CPK9E62U.js.map +1 -0
  67. package/dist/store.es.mjs +12 -25
  68. package/dist/view-Cdi0g-qo.js +396 -0
  69. package/dist/view-Cdi0g-qo.js.map +1 -0
  70. package/dist/view.es.mjs +10 -430
  71. package/package.json +15 -11
  72. package/src/component/component.ts +319 -289
  73. package/src/component/index.ts +42 -40
  74. package/src/component/library.ts +504 -0
  75. package/src/component/types.ts +91 -85
  76. package/src/core/collection.ts +628 -628
  77. package/src/core/element.ts +774 -774
  78. package/src/core/index.ts +48 -48
  79. package/src/core/utils/function.ts +151 -151
  80. package/src/full.ts +223 -187
  81. package/src/motion/animate.ts +113 -113
  82. package/src/motion/flip.ts +176 -176
  83. package/src/motion/scroll.ts +57 -57
  84. package/src/motion/spring.ts +150 -150
  85. package/src/motion/timeline.ts +246 -246
  86. package/src/motion/transition.ts +53 -7
  87. package/src/motion/types.ts +208 -198
  88. package/src/platform/announcer.ts +208 -0
  89. package/src/platform/config.ts +163 -0
  90. package/src/platform/cookies.ts +165 -0
  91. package/src/platform/index.ts +39 -18
  92. package/src/platform/meta.ts +168 -0
  93. package/src/platform/storage.ts +215 -215
  94. package/src/reactive/async-data.ts +486 -0
  95. package/src/reactive/core.ts +114 -114
  96. package/src/reactive/effect.ts +54 -54
  97. package/src/reactive/index.ts +37 -23
  98. package/src/reactive/internals.ts +122 -122
  99. package/src/reactive/signal.ts +29 -20
  100. package/src/security/constants.ts +211 -209
  101. package/src/security/sanitize-core.ts +364 -364
  102. package/src/view/evaluate.ts +290 -290
  103. package/dist/batch-x7b2eZST.js +0 -13
  104. package/dist/batch-x7b2eZST.js.map +0 -1
  105. package/dist/component.es.mjs.map +0 -1
  106. package/dist/core-BhpuvPhy.js +0 -170
  107. package/dist/core-BhpuvPhy.js.map +0 -1
  108. package/dist/core.es.mjs.map +0 -1
  109. package/dist/full.es.mjs.map +0 -1
  110. package/dist/index.es.mjs.map +0 -1
  111. package/dist/motion.es.mjs.map +0 -1
  112. package/dist/persisted-DHoi3uEs.js +0 -278
  113. package/dist/persisted-DHoi3uEs.js.map +0 -1
  114. package/dist/platform.es.mjs.map +0 -1
  115. package/dist/reactive.es.mjs.map +0 -1
  116. package/dist/router.es.mjs.map +0 -1
  117. package/dist/sanitize-Cxvxa-DX.js +0 -283
  118. package/dist/sanitize-Cxvxa-DX.js.map +0 -1
  119. package/dist/security.es.mjs.map +0 -1
  120. package/dist/store.es.mjs.map +0 -1
  121. package/dist/type-guards-BdKlYYlS.js +0 -32
  122. package/dist/type-guards-BdKlYYlS.js.map +0 -1
  123. package/dist/untrack-DNnnqdlR.js +0 -6
  124. package/dist/untrack-DNnnqdlR.js.map +0 -1
  125. package/dist/view.es.mjs.map +0 -1
  126. package/dist/watch-DXXv3iAI.js +0 -58
  127. package/dist/watch-DXXv3iAI.js.map +0 -1
@@ -1,85 +1,91 @@
1
- /**
2
- * Component types and render context definitions.
3
- *
4
- * @module bquery/component
5
- */
6
-
7
- /**
8
- * Defines a single prop's type and configuration.
9
- *
10
- * @template T - The TypeScript type of the prop value
11
- *
12
- * @example
13
- * ```ts
14
- * const myProp: PropDefinition<number> = {
15
- * type: Number,
16
- * required: false,
17
- * default: 0,
18
- * };
19
- * ```
20
- */
21
- export type PropDefinition<T = unknown> = {
22
- /** Constructor or converter function for the prop type */
23
- type:
24
- | StringConstructor
25
- | NumberConstructor
26
- | BooleanConstructor
27
- | ObjectConstructor
28
- | ArrayConstructor
29
- | { new (value: unknown): T }
30
- | ((value: unknown) => T);
31
- /** Whether the prop must be provided */
32
- required?: boolean;
33
- /** Default value when prop is not provided */
34
- default?: T;
35
- /** Optional validator function to validate prop values */
36
- validator?: (value: T) => boolean;
37
- /**
38
- * Explicitly control whether to invoke `type` with `new` (constructor) or as a plain function.
39
- * - `true`: Always use `new type(value)` (for class constructors, Date, etc.)
40
- * - `false`: Always call `type(value)` (for converter functions)
41
- * - `undefined` (default): Auto-detect based on heuristics with fallback
42
- */
43
- construct?: boolean;
44
- };
45
-
46
- /**
47
- * Render context passed into a component render function.
48
- */
49
- export type ComponentRenderContext<TProps extends Record<string, unknown>> = {
50
- /** Typed props object populated from attributes */
51
- props: TProps;
52
- /** Internal mutable state object */
53
- state: Record<string, unknown>;
54
- /** Emit a custom event from the component */
55
- emit: (event: string, detail?: unknown) => void;
56
- };
57
-
58
- /**
59
- * Complete component definition including props, state, styles, and lifecycle.
60
- *
61
- * @template TProps - Type of the component's props
62
- */
63
- export type ComponentDefinition<TProps extends Record<string, unknown> = Record<string, unknown>> =
64
- {
65
- /** Prop definitions with types and defaults */
66
- props?: Record<keyof TProps, PropDefinition>;
67
- /** Initial internal state */
68
- state?: Record<string, unknown>;
69
- /** CSS styles scoped to the component's shadow DOM */
70
- styles?: string;
71
- /** Lifecycle hook called before the component mounts (before first render) */
72
- beforeMount?: () => void;
73
- /** Lifecycle hook called when component is added to DOM */
74
- connected?: () => void;
75
- /** Lifecycle hook called when component is removed from DOM */
76
- disconnected?: () => void;
77
- /** Lifecycle hook called before an update render; return false to prevent */
78
- beforeUpdate?: (props: TProps) => boolean | void;
79
- /** Lifecycle hook called after reactive updates trigger a render */
80
- updated?: () => void;
81
- /** Error handler for errors during rendering or lifecycle */
82
- onError?: (error: Error) => void;
83
- /** Render function returning HTML string */
84
- render: (context: ComponentRenderContext<TProps>) => string;
85
- };
1
+ /**
2
+ * Component types and render context definitions.
3
+ *
4
+ * @module bquery/component
5
+ */
6
+
7
+ /**
8
+ * Defines a single prop's type and configuration.
9
+ *
10
+ * @template T - The TypeScript type of the prop value
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const myProp: PropDefinition<number> = {
15
+ * type: Number,
16
+ * required: false,
17
+ * default: 0,
18
+ * };
19
+ * ```
20
+ */
21
+ export type PropDefinition<T = unknown> = {
22
+ /** Constructor or converter function for the prop type */
23
+ type:
24
+ | StringConstructor
25
+ | NumberConstructor
26
+ | BooleanConstructor
27
+ | ObjectConstructor
28
+ | ArrayConstructor
29
+ | { new (value: unknown): T }
30
+ | ((value: unknown) => T);
31
+ /** Whether the prop must be provided */
32
+ required?: boolean;
33
+ /** Default value when prop is not provided */
34
+ default?: T;
35
+ /** Optional validator function to validate prop values */
36
+ validator?: (value: T) => boolean;
37
+ /**
38
+ * Explicitly control whether to invoke `type` with `new` (constructor) or as a plain function.
39
+ * - `true`: Always use `new type(value)` (for class constructors, Date, etc.)
40
+ * - `false`: Always call `type(value)` (for converter functions)
41
+ * - `undefined` (default): Auto-detect based on heuristics with fallback
42
+ */
43
+ construct?: boolean;
44
+ };
45
+
46
+ /**
47
+ * Render context passed into a component render function.
48
+ */
49
+ export type ComponentRenderContext<TProps extends Record<string, unknown>> = {
50
+ /** Typed props object populated from attributes */
51
+ props: TProps;
52
+ /** Internal mutable state object */
53
+ state: Record<string, unknown>;
54
+ /** Emit a custom event from the component */
55
+ emit: (event: string, detail?: unknown) => void;
56
+ };
57
+
58
+ /**
59
+ * Complete component definition including props, state, styles, and lifecycle.
60
+ *
61
+ * @template TProps - Type of the component's props
62
+ */
63
+ type ComponentHook<TResult = void> = ((this: HTMLElement) => TResult) | (() => TResult);
64
+ type ComponentHookWithProps<TProps extends Record<string, unknown>, TResult = void> =
65
+ | ((this: HTMLElement, props: TProps) => TResult)
66
+ | ((props: TProps) => TResult);
67
+ type ComponentErrorHook = ((this: HTMLElement, error: Error) => void) | ((error: Error) => void);
68
+
69
+ export type ComponentDefinition<TProps extends Record<string, unknown> = Record<string, unknown>> =
70
+ {
71
+ /** Prop definitions with types and defaults */
72
+ props?: Record<keyof TProps, PropDefinition>;
73
+ /** Initial internal state */
74
+ state?: Record<string, unknown>;
75
+ /** CSS styles scoped to the component's shadow DOM */
76
+ styles?: string;
77
+ /** Lifecycle hook called before the component mounts (before first render) */
78
+ beforeMount?: ComponentHook;
79
+ /** Lifecycle hook called when component is added to DOM */
80
+ connected?: ComponentHook;
81
+ /** Lifecycle hook called when component is removed from DOM */
82
+ disconnected?: ComponentHook;
83
+ /** Lifecycle hook called before an update render; return false to prevent */
84
+ beforeUpdate?: ComponentHookWithProps<TProps, boolean | void>;
85
+ /** Lifecycle hook called after reactive updates trigger a render */
86
+ updated?: ComponentHook;
87
+ /** Error handler for errors during rendering or lifecycle */
88
+ onError?: ComponentErrorHook;
89
+ /** Render function returning HTML string */
90
+ render: (context: ComponentRenderContext<TProps>) => string;
91
+ };