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
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Elements CSS v0.56.0
2
+ * Domma Elements CSS v0.58.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-24T16:12:49.159Z
6
- * Commit: f768320
5
+ * Built: 2026-10-24T22:17:45.003Z
6
+ * Commit: 6edd082
7
7
  */
8
8
 
9
9
  /**
@@ -3986,6 +3986,12 @@ code {
3986
3986
  z-index: 10000;
3987
3987
  }
3988
3988
 
3989
+ /* A slideover takes focus itself on open (its focus trap), so the first Tab reaches its
3990
+ first control; the panel is not a tab stop and needs no ring of its own. */
3991
+ .dm-slideover[tabindex="-1"]:focus {
3992
+ outline: none;
3993
+ }
3994
+
3989
3995
  .dm-dialog-overlay {
3990
3996
  position: fixed;
3991
3997
  top: 0;
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Grid CSS v0.56.0
2
+ * Domma Grid CSS v0.58.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-24T16:12:49.154Z
6
- * Commit: f768320
5
+ * Built: 2026-10-24T22:17:44.999Z
6
+ * Commit: 6edd082
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Syntax Highlighting CSS v0.56.0
2
+ * Domma Syntax Highlighting CSS v0.58.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-24T16:12:49.162Z
6
- * Commit: f768320
5
+ * Built: 2026-10-24T22:17:45.006Z
6
+ * Commit: 6edd082
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Themes v0.56.0
2
+ * Domma Themes v0.58.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-24T16:12:49.139Z
6
- * Commit: f768320
5
+ * Built: 2026-10-24T22:17:44.986Z
6
+ * Commit: 6edd082
7
7
  */
8
8
 
9
9
  /**
@@ -61,7 +61,7 @@ $.ready(() => {
61
61
  // Event bindings
62
62
  '#theme-toggle': {
63
63
  events: {
64
- click: () => Domma.theme.toggle()
64
+ click: () => Domma.theme.set(`${Domma.theme.getBase()}-${Domma.theme.isDark() ? 'light' : 'dark'}`)
65
65
  }
66
66
  }
67
67
  });
@@ -537,7 +537,7 @@ if (Domma.theme.isDark()) {
537
537
  }
538
538
 
539
539
  // Toggle between light/dark variants
540
- Domma.theme.toggle(); // ocean-dark → ocean-light
540
+ Domma.theme.set(`${Domma.theme.getBase()}-${Domma.theme.isDark() ? 'light' : 'dark'}`); // ocean-dark → ocean-light
541
541
 
542
542
  // Listen to theme changes
543
543
  $(document.body).on('themechange', (e) => {
@@ -6,7 +6,8 @@
6
6
  * jQuery-style DOM manipulation, Lodash utilities, and modern UI components.
7
7
  *
8
8
  * NOTE: This is a consolidated type definition file for the Domma framework.
9
- * For complete type definitions, see: https://dommajs.org/assets/ide/phpstorm/
9
+ * For complete type definitions (generated from the source), see the domma-js npm package:
10
+ * assets/types/index.d.ts - https://unpkg.com/domma-js/assets/types/index.d.ts
10
11
  */
11
12
 
12
13
  // ============================================
@@ -473,10 +474,12 @@ export const http: Http;
473
474
  export interface Theme {
474
475
  init(options?: { theme?: string; autoDetect?: boolean; persist?: boolean }): void;
475
476
  set(themeName: string): void;
476
- setVariant(variant: 'light' | 'dark'): void;
477
- toggle(): void;
478
477
  get(): string;
479
- getVariant(): string;
478
+ getBase(): string;
479
+ getMode(): string;
480
+ isDark(): boolean;
481
+ listThemes(): string[];
482
+ listBases(): string[];
480
483
  }
481
484
 
482
485
  export const theme: Theme;
@@ -160,7 +160,7 @@ $.ready(() => {
160
160
  // Event bindings
161
161
  '#theme-toggle': {
162
162
  events: {
163
- click: () => Domma.theme.toggle()
163
+ click: () => Domma.theme.set(`${Domma.theme.getBase()}-${Domma.theme.isDark() ? 'light' : 'dark'}`)
164
164
  }
165
165
  }
166
166
  });
@@ -1,136 +0,0 @@
1
- /**
2
- * Domma Config Module - TypeScript Declarations
3
- * Declarative configuration engine for component initialisation
4
- */
5
-
6
- import {DommaCollection} from './dom';
7
-
8
- export type ComponentType = 'card' | 'modal' | 'tabs' | 'accordion' | 'tooltip' | 'carousel' | 'dropdown';
9
-
10
- export interface InitialProperties {
11
- css?: Record<string, string | number>;
12
- text?: string;
13
- html?: string;
14
- addClass?: string;
15
- removeClass?: string;
16
- toggleClass?: string;
17
- attr?: Record<string, string>;
18
- }
19
-
20
- export interface EventAction {
21
- target?: string;
22
- css?: Record<string, string | number>;
23
- text?: string;
24
- html?: string;
25
- addClass?: string;
26
- removeClass?: string;
27
- toggleClass?: string;
28
- log?: string;
29
- }
30
-
31
- export type ConfigEventHandler = (event: Event, $el: DommaCollection) => void;
32
- export type EventActions = ConfigEventHandler | EventAction | (ConfigEventHandler | EventAction)[];
33
-
34
- export interface SelectorConfig {
35
- /** Component type to initialise */
36
- component?: ComponentType;
37
-
38
- /** Component options */
39
- options?: Record<string, any>;
40
-
41
- /** Initial state properties to apply */
42
- initial?: InitialProperties;
43
-
44
- /** Event handlers */
45
- events?: Record<string, EventActions>;
46
- }
47
-
48
- export interface SetupConfig {
49
- [selector: string]: SelectorConfig;
50
- }
51
-
52
- export interface ConfigEngine {
53
- /**
54
- * Process initial configuration
55
- * @param config - Configuration object keyed by selector
56
- */
57
- process(config: SetupConfig): void;
58
-
59
- /**
60
- * Update configuration for a selector
61
- * @param selector - CSS selector
62
- * @param changes - Changes to merge into existing config
63
- * @returns The merged configuration
64
- */
65
- update(selector: string, changes: Partial<SelectorConfig>): SelectorConfig;
66
-
67
- /**
68
- * Retrieve configuration for a selector or all selectors
69
- * @param selector - Optional selector to get config for
70
- * @returns Configuration object or null if not found
71
- */
72
- config(): Record<string, SelectorConfig>;
73
-
74
- config(selector: string): SelectorConfig | null;
75
-
76
- /**
77
- * Reset/destroy configuration for a selector or all selectors
78
- * @param selector - Optional selector to reset
79
- */
80
- /**
81
- * Retrieve the live component instance created by setup() for a selector.
82
- * Instances are NOT stored on the element - $(sel).data('component') is
83
- * always undefined.
84
- * @param selector - Selector the component was configured under
85
- */
86
- getComponent(selector: string): any | null;
87
- getComponent(): Map<string, any>;
88
-
89
- reset(selector?: string): void;
90
-
91
- /**
92
- * Initialise a component
93
- * @param selector - CSS selector
94
- * @param componentType - Component type name
95
- * @param options - Component options
96
- * @returns Component instance
97
- */
98
- initComponent(selector: string, componentType: ComponentType, options?: Record<string, any>): any;
99
-
100
- /**
101
- * Apply properties to DOM elements
102
- * @param domElements - Domma collection
103
- * @param properties - Properties to apply
104
- */
105
- applyProperties(domElements: DommaCollection, properties: InitialProperties): void;
106
-
107
- /**
108
- * Bind events to elements
109
- * @param selector - CSS selector
110
- * @param events - Event handlers object
111
- * @param track - Whether to track handlers for later removal
112
- */
113
- bindEvents(selector: string, events: Record<string, EventActions>, track?: boolean): void;
114
-
115
- /**
116
- * Unbind all tracked events for a selector
117
- * @param selector - CSS selector
118
- */
119
- unbindEvents(selector: string): void;
120
-
121
- /**
122
- * Update events for a selector (replaces existing handlers for same events)
123
- * @param selector - CSS selector
124
- * @param newEvents - New event handlers
125
- */
126
- updateEvents(selector: string, newEvents: Record<string, EventActions>): void;
127
-
128
- /**
129
- * Execute actions for an event
130
- * @param event - DOM event
131
- * @param actions - Actions to execute
132
- */
133
- executeActions(event: Event, actions: EventActions): void;
134
- }
135
-
136
- export declare const configEngine: ConfigEngine;
@@ -1,209 +0,0 @@
1
- /**
2
- * Domma Dates Module - TypeScript Declarations
3
- * Moment.js-style chainable date manipulation
4
- */
5
-
6
- export type DateInput = Date | string | number | DommaDate | null | undefined;
7
- export type DateUnit =
8
- 'year'
9
- | 'years'
10
- | 'month'
11
- | 'months'
12
- | 'week'
13
- | 'weeks'
14
- | 'day'
15
- | 'days'
16
- | 'date'
17
- | 'hour'
18
- | 'hours'
19
- | 'minute'
20
- | 'minutes'
21
- | 'second'
22
- | 'seconds'
23
- | 'millisecond'
24
- | 'milliseconds';
25
- export type DiffUnit = 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years';
26
- export type Inclusivity = '()' | '[]' | '[)' | '(]';
27
-
28
- /**
29
- * Chainable date wrapper class
30
- */
31
- export declare class DommaDate {
32
- constructor(value?: DateInput);
33
-
34
- // ============================================
35
- // Manipulation Methods (chainable)
36
- // ============================================
37
-
38
- /** Add time to the date */
39
- add(amount: number, unit: DateUnit): DommaDate;
40
-
41
- /** Subtract time from the date */
42
- subtract(amount: number, unit: DateUnit): DommaDate;
43
-
44
- /** Set to start of unit of time */
45
- startOf(unit: DateUnit): DommaDate;
46
-
47
- /** Set to end of unit of time */
48
- endOf(unit: DateUnit): DommaDate;
49
-
50
- /** Set a unit of time */
51
- set(unit: DateUnit, value: number): DommaDate;
52
-
53
- // ============================================
54
- // Getter Methods
55
- // ============================================
56
-
57
- /** Get unit value or underlying Date */
58
- get(): Date;
59
- get(unit: DateUnit): number;
60
-
61
- /** Get the year */
62
- year(): number;
63
-
64
- /** Get the month (0-11) */
65
- month(): number;
66
-
67
- /** Get the date of month (1-31) */
68
- date(): number;
69
-
70
- /** Get the day of week (0-6, Sunday=0) */
71
- day(): number;
72
-
73
- /** Get the hour (0-23) */
74
- hour(): number;
75
-
76
- /** Get the minute (0-59) */
77
- minute(): number;
78
-
79
- /** Get the second (0-59) */
80
- second(): number;
81
-
82
- /** Get the millisecond (0-999) */
83
- millisecond(): number;
84
-
85
- /** Get the day of year (1-366) */
86
- dayOfYear(): number;
87
-
88
- /** Get the week of year */
89
- week(): number;
90
-
91
- /** Get the quarter (1-4) */
92
- quarter(): number;
93
-
94
- /** Get Unix timestamp (seconds) */
95
- unix(): number;
96
-
97
- /** Get milliseconds since epoch */
98
- valueOf(): number;
99
-
100
- // ============================================
101
- // Formatting
102
- // ============================================
103
-
104
- /** Format the date using tokens */
105
- format(formatStr?: string): string;
106
-
107
- /** Get ISO 8601 string */
108
- toISOString(): string;
109
-
110
- /** Get native Date object */
111
- toDate(): Date;
112
-
113
- /** Get string representation */
114
- toString(): string;
115
-
116
- /** Get relative time from now */
117
- fromNow(relativeTo?: DateInput): string;
118
-
119
- /** Get relative time to another date */
120
- to(date: DateInput): string;
121
-
122
- // ============================================
123
- // Comparison Methods
124
- // ============================================
125
-
126
- /** Check if date is before another */
127
- isBefore(other: DateInput, unit?: DateUnit): boolean;
128
-
129
- /** Check if date is after another */
130
- isAfter(other: DateInput, unit?: DateUnit): boolean;
131
-
132
- /** Check if date is same as another */
133
- isSame(other: DateInput, unit?: DateUnit): boolean;
134
-
135
- /** Check if date is between two dates */
136
- isBetween(start: DateInput, end: DateInput, unit?: DateUnit, inclusivity?: Inclusivity): boolean;
137
-
138
- /** Get difference between dates */
139
- diff(other: DateInput, unit?: DiffUnit, precise?: boolean): number;
140
-
141
- // ============================================
142
- // Query Methods
143
- // ============================================
144
-
145
- /** Check if date is valid */
146
- isValid(): boolean;
147
-
148
- /** Check if year is a leap year */
149
- isLeapYear(): boolean;
150
-
151
- /** Get number of days in month */
152
- daysInMonth(): number;
153
-
154
- // ============================================
155
- // Clone
156
- // ============================================
157
-
158
- /** Create a copy of this date */
159
- clone(): DommaDate;
160
- }
161
-
162
- export interface FormatTokens {
163
- YYYY: string;
164
- YY: string;
165
- MM: string;
166
- M: string;
167
- DD: string;
168
- D: string;
169
- HH: string;
170
- H: string;
171
- hh: string;
172
- h: string;
173
- mm: string;
174
- m: string;
175
- ss: string;
176
- s: string;
177
- SSS: string;
178
- A: string;
179
- a: string;
180
- ddd: string;
181
- dddd: string;
182
- MMM: string;
183
- MMMM: string;
184
- }
185
-
186
- export interface Dates {
187
- /** Create a DommaDate from a value */
188
- (value?: DateInput): DommaDate;
189
-
190
- /** Get current timestamp in milliseconds */
191
- now(): number;
192
-
193
- /** Parse a date string with optional format */
194
- parse(dateString: string, format?: string): DommaDate;
195
-
196
- /** Check if a value is a valid date */
197
- isValid(value: DateInput): boolean;
198
-
199
- /** Get the minimum date from a list */
200
- min(...dates: DateInput[]): DommaDate;
201
-
202
- /** Get the maximum date from a list */
203
- max(...dates: DateInput[]): DommaDate;
204
-
205
- /** Format tokens reference */
206
- tokens: FormatTokens;
207
- }
208
-
209
- export declare const dates: Dates;