domma-js 0.56.0 → 0.58.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 (121) hide show
  1. package/README.md +2 -2
  2. package/assets/types/generated/public/assets/flags/africa.d.ts +6 -0
  3. package/assets/types/generated/public/assets/flags/americas.d.ts +6 -0
  4. package/assets/types/generated/public/assets/flags/asia.d.ts +6 -0
  5. package/assets/types/generated/public/assets/flags/europe.d.ts +9 -0
  6. package/assets/types/generated/public/assets/flags/index.d.ts +11 -0
  7. package/assets/types/generated/public/assets/flags/oceania.d.ts +2 -0
  8. package/assets/types/generated/public/assets/icons/buildings.d.ts +6 -0
  9. package/assets/types/generated/public/assets/icons/code.d.ts +2 -0
  10. package/assets/types/generated/public/assets/icons/commerce.d.ts +7 -0
  11. package/assets/types/generated/public/assets/icons/communication.d.ts +7 -0
  12. package/assets/types/generated/public/assets/icons/devices.d.ts +6 -0
  13. package/assets/types/generated/public/assets/icons/emojis.d.ts +6 -0
  14. package/assets/types/generated/public/assets/icons/files.d.ts +7 -0
  15. package/assets/types/generated/public/assets/icons/finance.d.ts +6 -0
  16. package/assets/types/generated/public/assets/icons/forms.d.ts +5 -0
  17. package/assets/types/generated/public/assets/icons/health.d.ts +6 -0
  18. package/assets/types/generated/public/assets/icons/index.d.ts +24 -0
  19. package/assets/types/generated/public/assets/icons/media.d.ts +7 -0
  20. package/assets/types/generated/public/assets/icons/navigation.d.ts +7 -0
  21. package/assets/types/generated/public/assets/icons/seasonal.d.ts +6 -0
  22. package/assets/types/generated/public/assets/icons/social.d.ts +7 -0
  23. package/assets/types/generated/public/assets/icons/sport.d.ts +6 -0
  24. package/assets/types/generated/public/assets/icons/status.d.ts +7 -0
  25. package/assets/types/generated/public/assets/icons/transport.d.ts +7 -0
  26. package/assets/types/generated/public/assets/icons/ui.d.ts +7 -0
  27. package/assets/types/generated/public/assets/icons/weather.d.ts +6 -0
  28. package/assets/types/generated/src/auth.d.ts +424 -0
  29. package/assets/types/generated/src/avatar.d.ts +270 -0
  30. package/assets/types/generated/src/binding-source.d.ts +58 -0
  31. package/assets/types/generated/src/butterfly-drawing.d.ts +2 -0
  32. package/assets/types/generated/src/component-factory.d.ts +150 -0
  33. package/assets/types/generated/src/component.d.ts +162 -0
  34. package/assets/types/generated/src/components/back-to-top.d.ts +150 -0
  35. package/assets/types/generated/src/components/badge.d.ts +208 -0
  36. package/assets/types/generated/src/components/card.d.ts +189 -0
  37. package/assets/types/generated/src/components/command-palette.d.ts +352 -0
  38. package/assets/types/generated/src/components/dropzone.d.ts +342 -0
  39. package/assets/types/generated/src/components/focus-trap.d.ts +238 -0
  40. package/assets/types/generated/src/components/loader.d.ts +133 -0
  41. package/assets/types/generated/src/components/modal.d.ts +339 -0
  42. package/assets/types/generated/src/components/range-slider.d.ts +267 -0
  43. package/assets/types/generated/src/components/shared.d.ts +91 -0
  44. package/assets/types/generated/src/components/split-pane.d.ts +239 -0
  45. package/assets/types/generated/src/components/toast.d.ts +284 -0
  46. package/assets/types/generated/src/components/tooltip.d.ts +200 -0
  47. package/assets/types/generated/src/components/virtual-list.d.ts +340 -0
  48. package/assets/types/generated/src/config.d.ts +193 -0
  49. package/assets/types/generated/src/context-cursor.d.ts +69 -0
  50. package/assets/types/generated/src/context-menu.d.ts +596 -0
  51. package/assets/types/generated/src/dates.d.ts +367 -0
  52. package/assets/types/generated/src/dom.d.ts +1221 -0
  53. package/assets/types/generated/src/effects.d.ts +1281 -0
  54. package/assets/types/generated/src/elements.d.ts +4994 -0
  55. package/assets/types/generated/src/escape.d.ts +5 -0
  56. package/assets/types/generated/src/flags-bundle.d.ts +4 -0
  57. package/assets/types/generated/src/flags.d.ts +338 -0
  58. package/assets/types/generated/src/forms.d.ts +1060 -0
  59. package/assets/types/generated/src/globals.d.ts +45 -0
  60. package/assets/types/generated/src/http.d.ts +131 -0
  61. package/assets/types/generated/src/i18n.d.ts +261 -0
  62. package/assets/types/generated/src/icons.d.ts +213 -0
  63. package/assets/types/generated/src/index.d.ts +249 -0
  64. package/assets/types/generated/src/input-group.d.ts +135 -0
  65. package/assets/types/generated/src/models.d.ts +968 -0
  66. package/assets/types/generated/src/popover.d.ts +413 -0
  67. package/assets/types/generated/src/router.d.ts +344 -0
  68. package/assets/types/generated/src/safe-url.d.ts +10 -0
  69. package/assets/types/generated/src/sanitize.d.ts +97 -0
  70. package/assets/types/generated/src/schema-builder.d.ts +420 -0
  71. package/assets/types/generated/src/skeleton.d.ts +135 -0
  72. package/assets/types/generated/src/smooth-caret.d.ts +61 -0
  73. package/assets/types/generated/src/sortable.d.ts +368 -0
  74. package/assets/types/generated/src/storage.d.ts +93 -0
  75. package/assets/types/generated/src/tables.d.ts +901 -0
  76. package/assets/types/generated/src/theme.d.ts +262 -0
  77. package/assets/types/generated/src/ticker-tape-drawing.d.ts +2 -0
  78. package/assets/types/generated/src/treeview.d.ts +504 -0
  79. package/assets/types/generated/src/utils.d.ts +1667 -0
  80. package/assets/types/generated/src/web-components/base/domma-element.d.ts +134 -0
  81. package/assets/types/generated/src/web-components/index.d.ts +14 -0
  82. package/assets/types/generated/vendor/domma-reactive.d.ts +587 -0
  83. package/assets/types/index.d.ts +104 -226
  84. package/package.json +5 -2
  85. package/public/dist/bundles/domma-complete.css +20 -14
  86. package/public/dist/bundles/domma-data-focused.css +20 -14
  87. package/public/dist/bundles/domma-essentials.css +20 -14
  88. package/public/dist/bundles/domma-full.css +20 -14
  89. package/public/dist/bundles/domma-minimal.css +8 -8
  90. package/public/dist/domma-flags.esm.js +3 -3
  91. package/public/dist/domma-flags.esm.js.map +1 -1
  92. package/public/dist/domma-flags.min.js +3 -3
  93. package/public/dist/domma-flags.min.js.map +1 -1
  94. package/public/dist/domma-syntax.min.js +3 -3
  95. package/public/dist/domma.css +3 -3
  96. package/public/dist/domma.esm.js +5 -5
  97. package/public/dist/domma.esm.js.map +1 -1
  98. package/public/dist/domma.min.js +5 -5
  99. package/public/dist/domma.min.js.map +1 -1
  100. package/public/dist/elements.css +9 -3
  101. package/public/dist/grid.css +3 -3
  102. package/public/dist/syntax.css +3 -3
  103. package/public/dist/themes/domma-themes.css +3 -3
  104. package/templates/kickstart/.claude/snippets.md +1 -1
  105. package/templates/kickstart/CLAUDE.md +1 -1
  106. package/templates/kickstart/frontend/types/domma.d.ts +7 -4
  107. package/templates/kickstart-spa/.claude/snippets.md +1 -1
  108. package/assets/types/config.d.ts +0 -136
  109. package/assets/types/dates.d.ts +0 -209
  110. package/assets/types/dom.d.ts +0 -448
  111. package/assets/types/elements.d.ts +0 -1168
  112. package/assets/types/flags.d.ts +0 -130
  113. package/assets/types/http.d.ts +0 -97
  114. package/assets/types/i18n.d.ts +0 -99
  115. package/assets/types/icons.d.ts +0 -147
  116. package/assets/types/models.d.ts +0 -260
  117. package/assets/types/smooth-caret.d.ts +0 -12
  118. package/assets/types/storage.d.ts +0 -93
  119. package/assets/types/tables.d.ts +0 -327
  120. package/assets/types/theme.d.ts +0 -137
  121. package/assets/types/utils.d.ts +0 -675
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @param {*} text - Value to escape (null/undefined become '')
3
+ * @returns {string}
4
+ */
5
+ export function escapeHtml(text: any): string;
@@ -0,0 +1,4 @@
1
+ export default flags;
2
+ import { flags } from './flags.js';
3
+ import { FlagRegistry } from './flags.js';
4
+ export { flags, FlagRegistry };
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Region group a flag is listed under; registered flags default to 'custom'.
3
+ * @typedef {'europe'|'americas'|'africa'|'asia'|'oceania'|'custom'|(string & {})} FlagRegion
4
+ */
5
+ /** @typedef {'rect'|'rounded'|'square'|'circle'} FlagShape */
6
+ /**
7
+ * A single overlay primitive used to compose a flag (on the 60x40 canvas). Which coordinates
8
+ * are read depends on `type`: rect (x, y, w, h, rx), circle (cx, cy, r), ellipse (cx, cy, rx, ry),
9
+ * line (x1, y1, x2, y2), path (d), star (cx, cy, r, points, innerRatio, rotation),
10
+ * crescent (cx, cy, r, off), group (transform, children).
11
+ * @typedef {object} FlagOverlay
12
+ * @property {'rect'|'circle'|'ellipse'|'line'|'path'|'star'|'crescent'|'group'} type
13
+ * @property {string} [fill]
14
+ * @property {string} [stroke]
15
+ * @property {number} [strokeWidth]
16
+ * @property {number} [x]
17
+ * @property {number} [y]
18
+ * @property {number} [w]
19
+ * @property {number} [h]
20
+ * @property {number} [rx]
21
+ * @property {number} [ry]
22
+ * @property {number} [cx]
23
+ * @property {number} [cy]
24
+ * @property {number} [r]
25
+ * @property {number} [x1]
26
+ * @property {number} [y1]
27
+ * @property {number} [x2]
28
+ * @property {number} [y2]
29
+ * @property {string} [d] Path data
30
+ * @property {number} [points] Star points (default 5)
31
+ * @property {number} [innerRatio] Star inner radius as a fraction of outer (default 0.382)
32
+ * @property {number} [rotation] Star rotation in degrees (default -90, pointing up)
33
+ * @property {number} [off] Crescent carving-circle offset
34
+ * @property {string} [transform] Group transform
35
+ * @property {FlagOverlay[]} [children] Group members
36
+ */
37
+ /**
38
+ * A flag definition - either raw SVG markup or a compact descriptor.
39
+ * @typedef {object} FlagDefinition
40
+ * @property {string} name Country name
41
+ * @property {FlagRegion} [region] Region group (defaults to 'custom' when registered)
42
+ * @property {string} [svg] Raw inner SVG markup (60x40 canvas)
43
+ * @property {string} [bg] Solid background colour
44
+ * @property {{dir?: 'h'|'v', colors: string[], weights?: number[]}} [stripes] Stripe descriptor
45
+ * @property {{bg: string, colour: string, border?: string, thickness?: number}} [cross] Nordic (offset) cross descriptor
46
+ * @property {FlagOverlay[]} [overlays] Overlay primitives drawn on top
47
+ */
48
+ /**
49
+ * Options for rendering a flag.
50
+ * @typedef {object} FlagRenderOptions
51
+ * @property {number} [size=24] Height in px (width follows aspect)
52
+ * @property {number} [width] Explicit width override
53
+ * @property {number} [height] Explicit height override
54
+ * @property {FlagShape} [shape='rect'] Output shape
55
+ * @property {boolean|string} [border=false] Add a hairline border (or colour)
56
+ * @property {string} [class] Extra CSS classes
57
+ * @property {string|null} [title] Accessible title (defaults to country name)
58
+ * @property {Record<string, string>} [attrs] Additional attributes
59
+ */
60
+ /**
61
+ * Options for `inject()`.
62
+ * @typedef {FlagRenderOptions & {position?: 'prepend'|'append'|'replace'}} FlagInjectOptions
63
+ */
64
+ /**
65
+ * @typedef {object} FlagRegionMeta
66
+ * @property {string} name
67
+ * @property {string} [description]
68
+ * @property {string[]} codes
69
+ */
70
+ /** The flag registry (FL / Domma.flags). @typedef {FlagRegistry} Flags */
71
+ /**
72
+ * Generate an n-pointed star path.
73
+ * @param {number} cx - Centre x
74
+ * @param {number} cy - Centre y
75
+ * @param {number} outerR - Outer radius
76
+ * @param {number} [points=5] - Number of points
77
+ * @param {number} [innerRatio=0.382] - Inner radius as a fraction of outer
78
+ * @param {number} [rotation=-90] - Rotation in degrees (-90 points up)
79
+ * @returns {string} SVG path data
80
+ */
81
+ export function starPath(cx: number, cy: number, outerR: number, points?: number, innerRatio?: number, rotation?: number): string;
82
+ /**
83
+ * Generate a crescent path (a lune) opening towards the fly (right).
84
+ * The inner arc passes through the top and bottom of the outer circle.
85
+ * @param {number} cx - Outer circle centre x
86
+ * @param {number} cy - Outer circle centre y
87
+ * @param {number} r - Outer radius
88
+ * @param {number} [off=r*0.45] - Horizontal offset of the carving circle
89
+ * @returns {string} SVG path data
90
+ */
91
+ export function crescentPath(cx: number, cy: number, r: number, off?: number): string;
92
+ export default flags;
93
+ /**
94
+ * Region group a flag is listed under; registered flags default to 'custom'.
95
+ */
96
+ export type FlagRegion = "europe" | "americas" | "africa" | "asia" | "oceania" | "custom" | (string & {});
97
+ export type FlagShape = "rect" | "rounded" | "square" | "circle";
98
+ /**
99
+ * A single overlay primitive used to compose a flag (on the 60x40 canvas). Which coordinates
100
+ * are read depends on `type`: rect (x, y, w, h, rx), circle (cx, cy, r), ellipse (cx, cy, rx, ry),
101
+ * line (x1, y1, x2, y2), path (d), star (cx, cy, r, points, innerRatio, rotation),
102
+ * crescent (cx, cy, r, off), group (transform, children).
103
+ */
104
+ export type FlagOverlay = {
105
+ type: "rect" | "circle" | "ellipse" | "line" | "path" | "star" | "crescent" | "group";
106
+ fill?: string;
107
+ stroke?: string;
108
+ strokeWidth?: number;
109
+ x?: number;
110
+ y?: number;
111
+ w?: number;
112
+ h?: number;
113
+ rx?: number;
114
+ ry?: number;
115
+ cx?: number;
116
+ cy?: number;
117
+ r?: number;
118
+ x1?: number;
119
+ y1?: number;
120
+ x2?: number;
121
+ y2?: number;
122
+ /**
123
+ * Path data
124
+ */
125
+ d?: string;
126
+ /**
127
+ * Star points (default 5)
128
+ */
129
+ points?: number;
130
+ /**
131
+ * Star inner radius as a fraction of outer (default 0.382)
132
+ */
133
+ innerRatio?: number;
134
+ /**
135
+ * Star rotation in degrees (default -90, pointing up)
136
+ */
137
+ rotation?: number;
138
+ /**
139
+ * Crescent carving-circle offset
140
+ */
141
+ off?: number;
142
+ /**
143
+ * Group transform
144
+ */
145
+ transform?: string;
146
+ /**
147
+ * Group members
148
+ */
149
+ children?: FlagOverlay[];
150
+ };
151
+ /**
152
+ * A flag definition - either raw SVG markup or a compact descriptor.
153
+ */
154
+ export type FlagDefinition = {
155
+ /**
156
+ * Country name
157
+ */
158
+ name: string;
159
+ /**
160
+ * Region group (defaults to 'custom' when registered)
161
+ */
162
+ region?: FlagRegion;
163
+ /**
164
+ * Raw inner SVG markup (60x40 canvas)
165
+ */
166
+ svg?: string;
167
+ /**
168
+ * Solid background colour
169
+ */
170
+ bg?: string;
171
+ /**
172
+ * Stripe descriptor
173
+ */
174
+ stripes?: {
175
+ dir?: "h" | "v";
176
+ colors: string[];
177
+ weights?: number[];
178
+ };
179
+ /**
180
+ * Nordic (offset) cross descriptor
181
+ */
182
+ cross?: {
183
+ bg: string;
184
+ colour: string;
185
+ border?: string;
186
+ thickness?: number;
187
+ };
188
+ /**
189
+ * Overlay primitives drawn on top
190
+ */
191
+ overlays?: FlagOverlay[];
192
+ };
193
+ /**
194
+ * Options for rendering a flag.
195
+ */
196
+ export type FlagRenderOptions = {
197
+ /**
198
+ * Height in px (width follows aspect)
199
+ */
200
+ size?: number;
201
+ /**
202
+ * Explicit width override
203
+ */
204
+ width?: number;
205
+ /**
206
+ * Explicit height override
207
+ */
208
+ height?: number;
209
+ /**
210
+ * Output shape
211
+ */
212
+ shape?: FlagShape;
213
+ /**
214
+ * Add a hairline border (or colour)
215
+ */
216
+ border?: boolean | string;
217
+ /**
218
+ * Extra CSS classes
219
+ */
220
+ class?: string;
221
+ /**
222
+ * Accessible title (defaults to country name)
223
+ */
224
+ title?: string | null;
225
+ /**
226
+ * Additional attributes
227
+ */
228
+ attrs?: Record<string, string>;
229
+ };
230
+ /**
231
+ * Options for `inject()`.
232
+ */
233
+ export type FlagInjectOptions = FlagRenderOptions & {
234
+ position?: "prepend" | "append" | "replace";
235
+ };
236
+ export type FlagRegionMeta = {
237
+ name: string;
238
+ description?: string;
239
+ codes: string[];
240
+ };
241
+ /**
242
+ * The flag registry (FL / Domma.flags).
243
+ */
244
+ export type Flags = FlagRegistry;
245
+ export const flags: FlagRegistry;
246
+ export class FlagRegistry {
247
+ /** @type {Record<string, FlagDefinition>} @private */
248
+ private _flags;
249
+ /** @type {Record<string, FlagRegionMeta>} @private */
250
+ private _regions;
251
+ /** @type {Record<string, string|null>} @private */
252
+ private _cache;
253
+ /** @private @param {string} code @returns {string|null} */
254
+ private _markup;
255
+ /**
256
+ * Render a flag as an SVG element.
257
+ * @param {string} code - ISO 3166-1 alpha-2 code (case-insensitive)
258
+ * @param {FlagRenderOptions} [options]
259
+ * @returns {SVGElement|null}
260
+ */
261
+ render(code: string, options?: FlagRenderOptions): SVGElement | null;
262
+ /**
263
+ * Get a flag as an HTML string.
264
+ * @param {string} code
265
+ * @param {FlagRenderOptions} [options] - Same as render()
266
+ * @returns {string}
267
+ */
268
+ html(code: string, options?: FlagRenderOptions): string;
269
+ /**
270
+ * Inject a flag into an element.
271
+ * @param {string|HTMLElement} target
272
+ * @param {string} code
273
+ * @param {FlagInjectOptions} [options] - Same as render(), plus position: 'prepend' (default) | 'append' | 'replace'
274
+ * @returns {SVGElement|null}
275
+ */
276
+ inject(target: string | HTMLElement, code: string, options?: FlagInjectOptions): SVGElement | null;
277
+ /**
278
+ * Scan a container for [data-flag] elements and replace them with SVGs.
279
+ * Supported attributes: data-flag, data-flag-size, data-flag-shape,
280
+ * data-flag-class, data-flag-border, data-flag-title.
281
+ * @param {Element|Document|DocumentFragment|string} [container=document]
282
+ * @returns {number} Number of flags replaced
283
+ */
284
+ scan(container?: Element | Document | DocumentFragment | string): number;
285
+ /**
286
+ * Register a custom flag (or override an existing one).
287
+ * @param {string} code - ISO alpha-2 code
288
+ * @param {FlagDefinition} definition - { name, region?, svg? | stripes?/cross?/bg?/overlays? }
289
+ * @returns {this}
290
+ */
291
+ register(code: string, definition: FlagDefinition): this;
292
+ /**
293
+ * Remove a registered flag.
294
+ * @param {string} code
295
+ * @returns {boolean}
296
+ */
297
+ unregister(code: string): boolean;
298
+ /**
299
+ * Check whether a flag exists.
300
+ * @param {string} code
301
+ * @returns {boolean}
302
+ */
303
+ has(code: string): boolean;
304
+ /**
305
+ * Get a flag definition.
306
+ * @param {string} code
307
+ * @returns {FlagDefinition|null}
308
+ */
309
+ get(code: string): FlagDefinition | null;
310
+ /**
311
+ * Get the country name for a code.
312
+ * @param {string} code
313
+ * @returns {string|null}
314
+ */
315
+ name(code: string): string | null;
316
+ /**
317
+ * List flag codes, optionally filtered by region.
318
+ * @param {FlagRegion|null} [region]
319
+ * @returns {string[]}
320
+ */
321
+ list(region?: FlagRegion | null): string[];
322
+ /**
323
+ * List all regions with metadata.
324
+ * @returns {Record<string, FlagRegionMeta>}
325
+ */
326
+ listRegions(): Record<string, FlagRegionMeta>;
327
+ /**
328
+ * Total number of flags.
329
+ * @returns {number}
330
+ */
331
+ count(): number;
332
+ /**
333
+ * Search flags by code or country name.
334
+ * @param {string} query
335
+ * @returns {string[]} Matching codes
336
+ */
337
+ search(query: string): string[];
338
+ }