@chill-sharp/ui-core 1.1.12

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 (204) hide show
  1. package/.agents/skills/chillsharp-current-user-preferences/SKILL.md +70 -0
  2. package/.agents/skills/chillsharp-ui-template/SKILL.md +18 -0
  3. package/README.md +103 -0
  4. package/chill-sharp-ui-core.d.ts.map +1 -0
  5. package/doc/AIAssistedDevelopment/README.md +185 -0
  6. package/doc/AttachmentModel/README.md +173 -0
  7. package/doc/AuthenticationModel/README.md +213 -0
  8. package/doc/AuthenticationModel/how-to-integreate-auth-minimal-api.md +293 -0
  9. package/doc/ChillSharpClient.md +464 -0
  10. package/doc/ClientGeneration/README.md +172 -0
  11. package/doc/ComplianceGuide/README.md +178 -0
  12. package/doc/Configuration/README.md +94 -0
  13. package/doc/CurrentUserPreferences.md +114 -0
  14. package/doc/DateTimePolicy/README.md +154 -0
  15. package/doc/DateTimeSerialization.md +423 -0
  16. package/doc/Endpoints.md +260 -0
  17. package/doc/HowTo/01-simple-blog-sqlite.md +153 -0
  18. package/doc/HowTo/02-blog-schema-labels.md +140 -0
  19. package/doc/HowTo/03-authentication.md +218 -0
  20. package/doc/HowTo/04-blog-posts-one-to-many.md +194 -0
  21. package/doc/HowTo/05-docker-env-variables.md +274 -0
  22. package/doc/HowTo/06-chunk-transactions-autocomplete.md +196 -0
  23. package/doc/Mcp/ChatGPT.md +291 -0
  24. package/doc/Mcp/README.md +799 -0
  25. package/doc/MenuGuide/README.md +49 -0
  26. package/doc/ModelPreparation.md +255 -0
  27. package/doc/PermissionModel/README.md +277 -0
  28. package/doc/README.md +228 -0
  29. package/doc/ReferenceExistence.md +130 -0
  30. package/doc/RegisterContext.md +217 -0
  31. package/doc/UiCore/CRUD.md +170 -0
  32. package/doc/UiCore/README.md +13 -0
  33. package/doc/ValidationModel/README.md +117 -0
  34. package/doc/it/AIAssistedDevelopment/README.md +185 -0
  35. package/doc/it/AttachmentModel/README.md +173 -0
  36. package/doc/it/AuthenticationModel/README.md +171 -0
  37. package/doc/it/AuthenticationModel/how-to-integreate-auth-minimal-api.md +292 -0
  38. package/doc/it/ChillSharpClient.md +464 -0
  39. package/doc/it/ClientGeneration/README.md +152 -0
  40. package/doc/it/ComplianceGuide/README.md +178 -0
  41. package/doc/it/Configuration/README.md +94 -0
  42. package/doc/it/CurrentUserPreferences.md +114 -0
  43. package/doc/it/DateTimePolicy/README.md +154 -0
  44. package/doc/it/DateTimeSerialization.md +423 -0
  45. package/doc/it/Endpoints.md +260 -0
  46. package/doc/it/HowTo/01-simple-blog-sqlite.md +152 -0
  47. package/doc/it/HowTo/02-blog-schema-labels.md +139 -0
  48. package/doc/it/HowTo/03-authentication.md +221 -0
  49. package/doc/it/HowTo/04-blog-posts-one-to-many.md +193 -0
  50. package/doc/it/HowTo/05-docker-env-variables.md +268 -0
  51. package/doc/it/HowTo/06-chunk-transactions-autocomplete.md +196 -0
  52. package/doc/it/Mcp/ChatGPT.md +291 -0
  53. package/doc/it/Mcp/README.md +799 -0
  54. package/doc/it/MenuGuide/README.md +49 -0
  55. package/doc/it/ModelPreparation.md +254 -0
  56. package/doc/it/PermissionModel/README.md +190 -0
  57. package/doc/it/README.md +172 -0
  58. package/doc/it/ReferenceExistence.md +130 -0
  59. package/doc/it/RegisterContext.md +218 -0
  60. package/doc/it/UiCore/CRUD.md +170 -0
  61. package/doc/it/UiCore/README.md +13 -0
  62. package/doc/it/ValidationModel/README.md +117 -0
  63. package/fesm2022/chill-sharp-ui-core.mjs +16725 -0
  64. package/fesm2022/chill-sharp-ui-core.mjs.map +1 -0
  65. package/index.d.ts +6 -0
  66. package/lib/chill-sharp-ui-root.component.d.ts +6 -0
  67. package/lib/chill-sharp-ui-root.component.d.ts.map +1 -0
  68. package/lib/chill-sharp-ui.routes.d.ts +3 -0
  69. package/lib/chill-sharp-ui.routes.d.ts.map +1 -0
  70. package/lib/chill.config.d.ts +5 -0
  71. package/lib/chill.config.d.ts.map +1 -0
  72. package/lib/layouts/auth-shell.component.d.ts +8 -0
  73. package/lib/layouts/auth-shell.component.d.ts.map +1 -0
  74. package/lib/layouts/workspace-page.component.d.ts +49 -0
  75. package/lib/layouts/workspace-page.component.d.ts.map +1 -0
  76. package/lib/lib/chill-form.component.d.ts +151 -0
  77. package/lib/lib/chill-form.component.d.ts.map +1 -0
  78. package/lib/lib/chill-i18n-button-label.component.d.ts +27 -0
  79. package/lib/lib/chill-i18n-button-label.component.d.ts.map +1 -0
  80. package/lib/lib/chill-i18n-label.component.d.ts +30 -0
  81. package/lib/lib/chill-i18n-label.component.d.ts.map +1 -0
  82. package/lib/lib/chill-json-input.component.d.ts +31 -0
  83. package/lib/lib/chill-json-input.component.d.ts.map +1 -0
  84. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-boolean-control.component.d.ts +12 -0
  85. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-boolean-control.component.d.ts.map +1 -0
  86. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-editor-control.component.d.ts +17 -0
  87. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-editor-control.component.d.ts.map +1 -0
  88. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-lookup-control.component.d.ts +45 -0
  89. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-lookup-control.component.d.ts.map +1 -0
  90. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-scalar-control.component.d.ts +19 -0
  91. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-scalar-control.component.d.ts.map +1 -0
  92. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-select-control.component.d.ts +12 -0
  93. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-select-control.component.d.ts.map +1 -0
  94. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-textarea-control.component.d.ts +13 -0
  95. package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-textarea-control.component.d.ts.map +1 -0
  96. package/lib/lib/chill-polymorphic-input.component.d.ts +452 -0
  97. package/lib/lib/chill-polymorphic-input.component.d.ts.map +1 -0
  98. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-boolean-control.component.d.ts +7 -0
  99. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-boolean-control.component.d.ts.map +1 -0
  100. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-lookup-control.component.d.ts +7 -0
  101. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-lookup-control.component.d.ts.map +1 -0
  102. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-number-control.component.d.ts +7 -0
  103. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-number-control.component.d.ts.map +1 -0
  104. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-temporal-control.component.d.ts +8 -0
  105. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-temporal-control.component.d.ts.map +1 -0
  106. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-value-control.component.d.ts +7 -0
  107. package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-value-control.component.d.ts.map +1 -0
  108. package/lib/lib/chill-polymorphic-output.component.d.ts +75 -0
  109. package/lib/lib/chill-polymorphic-output.component.d.ts.map +1 -0
  110. package/lib/lib/chill-table.component.d.ts +434 -0
  111. package/lib/lib/chill-table.component.d.ts.map +1 -0
  112. package/lib/lib/chill-text-editor-dialog.component.d.ts +14 -0
  113. package/lib/lib/chill-text-editor-dialog.component.d.ts.map +1 -0
  114. package/lib/lib/crud-configuration.utils.d.ts +4 -0
  115. package/lib/lib/crud-configuration.utils.d.ts.map +1 -0
  116. package/lib/lib/culture-name-options.d.ts +3 -0
  117. package/lib/lib/culture-name-options.d.ts.map +1 -0
  118. package/lib/lib/date-format-options.d.ts +3 -0
  119. package/lib/lib/date-format-options.d.ts.map +1 -0
  120. package/lib/lib/iana-time-zone-options.d.ts +3 -0
  121. package/lib/lib/iana-time-zone-options.d.ts.map +1 -0
  122. package/lib/lib/notice-transition.directive.d.ts +17 -0
  123. package/lib/lib/notice-transition.directive.d.ts.map +1 -0
  124. package/lib/lib/schema-property-dialog.component.d.ts +74 -0
  125. package/lib/lib/schema-property-dialog.component.d.ts.map +1 -0
  126. package/lib/models/chill-auth.models.d.ts +176 -0
  127. package/lib/models/chill-auth.models.d.ts.map +1 -0
  128. package/lib/models/chill-menu.models.d.ts +12 -0
  129. package/lib/models/chill-menu.models.d.ts.map +1 -0
  130. package/lib/models/chill-schema.models.d.ts +141 -0
  131. package/lib/models/chill-schema.models.d.ts.map +1 -0
  132. package/lib/models/workspace-dialog.models.d.ts +16 -0
  133. package/lib/models/workspace-dialog.models.d.ts.map +1 -0
  134. package/lib/models/workspace-task.models.d.ts +36 -0
  135. package/lib/models/workspace-task.models.d.ts.map +1 -0
  136. package/lib/pages/confirm-reset-page.component.d.ts +21 -0
  137. package/lib/pages/confirm-reset-page.component.d.ts.map +1 -0
  138. package/lib/pages/crud/attachment-upload-dialog.component.d.ts +24 -0
  139. package/lib/pages/crud/attachment-upload-dialog.component.d.ts.map +1 -0
  140. package/lib/pages/crud/crud-page.component.d.ts +244 -0
  141. package/lib/pages/crud/crud-page.component.d.ts.map +1 -0
  142. package/lib/pages/login-page.component.d.ts +21 -0
  143. package/lib/pages/login-page.component.d.ts.map +1 -0
  144. package/lib/pages/permissions/auth-role-dialog.component.d.ts +29 -0
  145. package/lib/pages/permissions/auth-role-dialog.component.d.ts.map +1 -0
  146. package/lib/pages/permissions/auth-search-select.component.d.ts +28 -0
  147. package/lib/pages/permissions/auth-search-select.component.d.ts.map +1 -0
  148. package/lib/pages/permissions/auth-user-dialog.component.d.ts +35 -0
  149. package/lib/pages/permissions/auth-user-dialog.component.d.ts.map +1 -0
  150. package/lib/pages/permissions/permission-editor.component.d.ts +55 -0
  151. package/lib/pages/permissions/permission-editor.component.d.ts.map +1 -0
  152. package/lib/pages/permissions/permissions-page.component.d.ts +38 -0
  153. package/lib/pages/permissions/permissions-page.component.d.ts.map +1 -0
  154. package/lib/pages/permissions/role-permission.component.d.ts +43 -0
  155. package/lib/pages/permissions/role-permission.component.d.ts.map +1 -0
  156. package/lib/pages/permissions/user-permission.component.d.ts +43 -0
  157. package/lib/pages/permissions/user-permission.component.d.ts.map +1 -0
  158. package/lib/pages/register-page.component.d.ts +24 -0
  159. package/lib/pages/register-page.component.d.ts.map +1 -0
  160. package/lib/pages/reset-password-page.component.d.ts +18 -0
  161. package/lib/pages/reset-password-page.component.d.ts.map +1 -0
  162. package/lib/provide-chill-sharp-ui-core.d.ts +8 -0
  163. package/lib/provide-chill-sharp-ui-core.d.ts.map +1 -0
  164. package/lib/services/chill.service.d.ts +249 -0
  165. package/lib/services/chill.service.d.ts.map +1 -0
  166. package/lib/services/workspace-dialog.service.d.ts +22 -0
  167. package/lib/services/workspace-dialog.service.d.ts.map +1 -0
  168. package/lib/services/workspace-layout.service.d.ts +13 -0
  169. package/lib/services/workspace-layout.service.d.ts.map +1 -0
  170. package/lib/services/workspace-task-registry.service.d.ts +35 -0
  171. package/lib/services/workspace-task-registry.service.d.ts.map +1 -0
  172. package/lib/services/workspace-toolbar.service.d.ts +23 -0
  173. package/lib/services/workspace-toolbar.service.d.ts.map +1 -0
  174. package/lib/services/workspace.service.d.ts +114 -0
  175. package/lib/services/workspace.service.d.ts.map +1 -0
  176. package/lib/storage-keys.d.ts +5 -0
  177. package/lib/storage-keys.d.ts.map +1 -0
  178. package/lib/tasks/crud-task/crud-task.component.d.ts +33 -0
  179. package/lib/tasks/crud-task/crud-task.component.d.ts.map +1 -0
  180. package/lib/tasks/goto-url-task/goto-url-task.component.d.ts +31 -0
  181. package/lib/tasks/goto-url-task/goto-url-task.component.d.ts.map +1 -0
  182. package/lib/workspace/confirm-message-dialog.component.d.ts +16 -0
  183. package/lib/workspace/confirm-message-dialog.component.d.ts.map +1 -0
  184. package/lib/workspace/entity-options-dialog.component.d.ts +29 -0
  185. package/lib/workspace/entity-options-dialog.component.d.ts.map +1 -0
  186. package/lib/workspace/external-task-api.d.ts +2 -0
  187. package/lib/workspace/external-task-api.d.ts.map +1 -0
  188. package/lib/workspace/user-profile-dialog.component.d.ts +30 -0
  189. package/lib/workspace/user-profile-dialog.component.d.ts.map +1 -0
  190. package/lib/workspace/workspace-dialog-host.component.d.ts +26 -0
  191. package/lib/workspace/workspace-dialog-host.component.d.ts.map +1 -0
  192. package/lib/workspace/workspace-menu-item-dialog.component.d.ts +61 -0
  193. package/lib/workspace/workspace-menu-item-dialog.component.d.ts.map +1 -0
  194. package/lib/workspace/workspace-menu.component.d.ts +104 -0
  195. package/lib/workspace/workspace-menu.component.d.ts.map +1 -0
  196. package/lib/workspace/workspace-taskbar.component.d.ts +14 -0
  197. package/lib/workspace/workspace-taskbar.component.d.ts.map +1 -0
  198. package/package.json +54 -0
  199. package/public-api.d.ts +56 -0
  200. package/public-api.d.ts.map +1 -0
  201. package/service-worker/chill-sharp-service-worker.js +166 -0
  202. package/styles/core-theme.scss +1268 -0
  203. package/template-customization/upgrade.ps1.template +342 -0
  204. package/template-customization/upgrade.sh.template +271 -0
@@ -0,0 +1,434 @@
1
+ import { FormControl, FormGroup } from '@angular/forms';
2
+ import type { JsonValue } from '@chill-sharp/ng-client';
3
+ import { type ChillEntity, type ChillOrdering, type ChillPropertySchema, type ChillSchema } from '../models/chill-schema.models';
4
+ import { ChillService } from '../services/chill.service';
5
+ import { WorkspaceDialogService } from '../services/workspace-dialog.service';
6
+ import { WorkspaceLayoutService } from '../services/workspace-layout.service';
7
+ import * as i0 from "@angular/core";
8
+ interface ColumnLayoutState {
9
+ name: string;
10
+ displayName: string;
11
+ hidden: boolean;
12
+ widthProportion: number;
13
+ }
14
+ type TableColumn = ChillPropertySchema & {
15
+ hidden: boolean;
16
+ displayName: string;
17
+ widthProportion: number;
18
+ };
19
+ export interface ChillTableRowAction {
20
+ icon?: string;
21
+ iconClass?: string;
22
+ label?: string;
23
+ labelGuid?: string | null;
24
+ primaryDefaultText?: string | null;
25
+ secondaryDefaultText?: string | null;
26
+ ariaLabel?: string;
27
+ disabled?: (entity: ChillEntity) => boolean;
28
+ handler: (entity: ChillEntity) => void;
29
+ }
30
+ export interface ChillTableSelectionColumn {
31
+ ariaLabel?: string;
32
+ disabled?: (entity: ChillEntity) => boolean;
33
+ isSelected: (entity: ChillEntity) => boolean;
34
+ toggle: (entity: ChillEntity, selected: boolean) => void;
35
+ }
36
+ export interface ChillTableCellEditCommitEvent {
37
+ entity: ChillEntity;
38
+ propertyName: string;
39
+ value: JsonValue;
40
+ dirtyProperties: string[];
41
+ }
42
+ export interface ChillTableValidationFocus {
43
+ entityKey: string;
44
+ propertyName: string;
45
+ }
46
+ export interface ChillTableSortChangeEvent {
47
+ propertyName: string;
48
+ direction: 'ASC' | 'DESC' | null;
49
+ }
50
+ interface ActiveCellEditState {
51
+ entityKey: string;
52
+ propertyName: string;
53
+ entity: ChillEntity;
54
+ form: FormGroup<Record<string, FormControl<JsonValue>>>;
55
+ originalValue: JsonValue | null;
56
+ isValid: boolean;
57
+ isLookupDialogOpen: boolean;
58
+ isCommitting: boolean;
59
+ }
60
+ interface ActiveRowActionMenuState {
61
+ entityKey: string;
62
+ top: number;
63
+ left: number;
64
+ }
65
+ export declare class ChillTableComponent {
66
+ readonly chill: ChillService;
67
+ readonly dialog: WorkspaceDialogService | null;
68
+ readonly layout: WorkspaceLayoutService;
69
+ readonly schema: import("@angular/core").InputSignal<ChillSchema | null>;
70
+ readonly entities: import("@angular/core").InputSignal<ChillEntity[]>;
71
+ readonly selectionColumn: import("@angular/core").InputSignal<ChillTableSelectionColumn | null>;
72
+ readonly rowAction: import("@angular/core").InputSignal<ChillTableRowAction | null>;
73
+ readonly rowActions: import("@angular/core").InputSignal<ChillTableRowAction[] | null>;
74
+ readonly enableInlineEditing: import("@angular/core").InputSignal<boolean>;
75
+ readonly readonlyPropertyNames: import("@angular/core").InputSignal<string[] | null>;
76
+ readonly validationFocus: import("@angular/core").InputSignal<ChillTableValidationFocus | null>;
77
+ readonly showSchemaHeader: import("@angular/core").InputSignal<boolean>;
78
+ readonly ordering: import("@angular/core").InputSignal<ChillOrdering | null>;
79
+ readonly enableFullTextSearch: import("@angular/core").InputSignal<boolean>;
80
+ readonly fullTextSearch: import("@angular/core").InputSignal<string>;
81
+ readonly showMobileTaskClose: import("@angular/core").InputSignal<boolean>;
82
+ readonly columnWidthOptions: readonly [0.25, 0.5, 1, 2, 3, 4, 5];
83
+ readonly propertyTypeOptions: import("@chill-sharp/ui-core").ChillPropertyTypeOption[];
84
+ readonly cellEditCommit: import("@angular/core").OutputEmitterRef<ChillTableCellEditCommitEvent>;
85
+ readonly sortChange: import("@angular/core").OutputEmitterRef<ChillTableSortChangeEvent>;
86
+ readonly fullTextSearchChange: import("@angular/core").OutputEmitterRef<string>;
87
+ readonly schemaUpdated: import("@angular/core").OutputEmitterRef<ChillSchema>;
88
+ readonly mobileTaskClose: import("@angular/core").OutputEmitterRef<void>;
89
+ private readonly fullTextSearchInput;
90
+ readonly isEditLayoutMode: import("@angular/core").WritableSignal<boolean>;
91
+ readonly isSavingLayout: import("@angular/core").WritableSignal<boolean>;
92
+ readonly isRefreshingSchema: import("@angular/core").WritableSignal<boolean>;
93
+ readonly layoutError: import("@angular/core").WritableSignal<string>;
94
+ readonly dragColumnName: import("@angular/core").WritableSignal<string>;
95
+ readonly layoutState: import("@angular/core").WritableSignal<ColumnLayoutState[]>;
96
+ readonly activeCellEdit: import("@angular/core").WritableSignal<ActiveCellEditState | null>;
97
+ readonly activeRowActionMenu: import("@angular/core").WritableSignal<ActiveRowActionMenuState | null>;
98
+ readonly displayedEntities: import("@angular/core").WritableSignal<ChillEntity[]>;
99
+ readonly schemaRefreshTick: import("@angular/core").WritableSignal<number>;
100
+ readonly isFullTextSearchOpen: import("@angular/core").WritableSignal<boolean>;
101
+ readonly fullTextSearchText: import("@angular/core").WritableSignal<string>;
102
+ readonly rowRefreshFlashKeys: import("@angular/core").WritableSignal<ReadonlySet<string>>;
103
+ private readonly entityNotificationSubscriptions;
104
+ private readonly rowRefreshFlashTimers;
105
+ private subscribedNotificationChillType;
106
+ /**
107
+ * Wires reactive state for layout persistence, live entity updates, validation-driven focus, and inline edit completion.
108
+ */
109
+ constructor();
110
+ /**
111
+ * Releases per-entity live update subscriptions when the table is destroyed.
112
+ */
113
+ ngOnDestroy(): void;
114
+ /**
115
+ * Merges schema properties with persisted layout preferences and preserves the saved column order.
116
+ */
117
+ readonly columns: import("@angular/core").Signal<TableColumn[]>;
118
+ /**
119
+ * Filters the resolved column list down to visible columns.
120
+ */
121
+ readonly visibleColumns: import("@angular/core").Signal<TableColumn[]>;
122
+ readonly tableMinimumWidth: import("@angular/core").Signal<string>;
123
+ readonly mobileTableMinimumWidth: import("@angular/core").Signal<string>;
124
+ /**
125
+ * Filters the resolved column list down to hidden columns.
126
+ */
127
+ readonly hiddenColumns: import("@angular/core").Signal<TableColumn[]>;
128
+ /**
129
+ * Hides row selection while the user is editing layout metadata.
130
+ */
131
+ readonly hasSelectionColumn: import("@angular/core").Signal<boolean>;
132
+ /**
133
+ * Normalizes the single-action and multi-action inputs into one action list.
134
+ */
135
+ readonly resolvedRowActions: import("@angular/core").Signal<ChillTableRowAction[]>;
136
+ /**
137
+ * Hides row actions while the user is editing layout metadata.
138
+ */
139
+ readonly hasActionColumn: import("@angular/core").Signal<boolean>;
140
+ readonly readonlyPropertyNameSet: import("@angular/core").Signal<Set<string>>;
141
+ /**
142
+ * Builds a stable row key, preferring Guid-like identifiers before falling back to labels or index.
143
+ */
144
+ trackByEntity(index: number, entity: ChillEntity): string;
145
+ /**
146
+ * Enters layout-edit mode immediately, or persists the current layout when toggled off.
147
+ */
148
+ toggleEditLayoutMode(): void;
149
+ /**
150
+ * Applies an in-memory display-name override for the selected column.
151
+ */
152
+ updateColumnDisplayName(columnName: string, value: string): void;
153
+ /**
154
+ * Marks a column as visible or hidden inside the pending layout state.
155
+ */
156
+ updateColumnHidden(columnName: string, hidden: boolean): void;
157
+ toggleFullTextSearch(): void;
158
+ updateFullTextSearchText(value: string): void;
159
+ refreshSchemaFromModel(): void;
160
+ submitFullTextSearch(): void;
161
+ resetFullTextSearch(): void;
162
+ closeMobileTask(): void;
163
+ updateColumnWidthProportion(columnName: string, direction: -1 | 1): void;
164
+ canDecreaseColumnWidth(column: TableColumn): boolean;
165
+ canIncreaseColumnWidth(column: TableColumn): boolean;
166
+ columnWidthLabel(column: TableColumn): string;
167
+ columnWidthPercent(column: TableColumn): number;
168
+ openPropertySettings(property: ChillPropertySchema): void;
169
+ /**
170
+ * Moves a hidden column back into the visible portion of the saved layout ordering.
171
+ */
172
+ revealColumn(columnName: string): void;
173
+ /**
174
+ * Records which column is being dragged during layout editing.
175
+ */
176
+ beginDrag(event: DragEvent, columnName: string): void;
177
+ /**
178
+ * Enables the column drop target only while layout editing is active.
179
+ */
180
+ allowDrop(event: DragEvent): void;
181
+ /**
182
+ * Reorders the pending layout by moving the dragged column onto the target position.
183
+ */
184
+ dropColumn(targetColumnName: string): void;
185
+ /**
186
+ * Clears the active drag marker after drag completes or is cancelled.
187
+ */
188
+ endDrag(): void;
189
+ /**
190
+ * Invokes the configured row action with the current entity.
191
+ */
192
+ runRowAction(action: ChillTableRowAction, entity: ChillEntity, menu?: HTMLDetailsElement): void;
193
+ /**
194
+ * Toggles the floating row-action menu anchored to the trigger button.
195
+ */
196
+ toggleRowActionMenu(event: MouseEvent, entity: ChillEntity): void;
197
+ /**
198
+ * Returns true when the floating row-action menu belongs to the provided entity.
199
+ */
200
+ isRowActionMenuOpen(entity: ChillEntity): boolean;
201
+ /**
202
+ * Closes the floating row-action menu.
203
+ */
204
+ closeRowActionMenu(): void;
205
+ /**
206
+ * Exposes the computed fixed-position style for the active row-action menu.
207
+ */
208
+ rowActionMenuStyle(): Record<string, string> | null;
209
+ /**
210
+ * Maps a few common semantic action names to icons and otherwise returns the provided icon verbatim.
211
+ */
212
+ rowActionIcon(action: ChillTableRowAction): string;
213
+ /**
214
+ * Applies Material Symbols automatically for common semantic row actions.
215
+ */
216
+ rowActionIconClass(action: ChillTableRowAction): string;
217
+ /**
218
+ * Derives a readable row-action label when the host does not provide one.
219
+ */
220
+ rowActionLabel(action: ChillTableRowAction): string;
221
+ toggleColumnSort(column: TableColumn): void;
222
+ sortDirectionFor(column: TableColumn): 'ASC' | 'DESC' | null;
223
+ isColumnEditing(column: TableColumn): boolean;
224
+ isColumnReadOnly(column: TableColumn): boolean;
225
+ canSortColumn(column: TableColumn): boolean;
226
+ isPropertyTypeOptionDisabled(property: ChillPropertySchema, propertyType: number): boolean;
227
+ updatePropertyType(property: ChillPropertySchema, value: number | string): void;
228
+ private readActiveOrdering;
229
+ private isColumnEditorControl;
230
+ /**
231
+ * Forwards row selection changes to the hosting selection controller.
232
+ */
233
+ toggleRowSelection(entity: ChillEntity, selected: boolean): void;
234
+ /**
235
+ * Reads the current selection state from the hosting selection controller.
236
+ */
237
+ isRowSelected(entity: ChillEntity): boolean;
238
+ /**
239
+ * Delegates row-selection disabled state to the host when provided.
240
+ */
241
+ isRowSelectionDisabled(entity: ChillEntity): boolean;
242
+ /**
243
+ * Evaluates whether a row action should be disabled for the current entity.
244
+ */
245
+ isRowActionDisabled(action: ChillTableRowAction, entity: ChillEntity): boolean;
246
+ handleDocumentClick(): void;
247
+ handleWindowResize(): void;
248
+ handleWindowScroll(): void;
249
+ /**
250
+ * Treats non-pristine CRUD states as pending so the row can render transient styling.
251
+ */
252
+ isPendingRow(entity: ChillEntity): boolean;
253
+ /**
254
+ * Uses the normalized CRUD status to identify deleted rows.
255
+ */
256
+ isDeletedRow(entity: ChillEntity): boolean;
257
+ isRefreshFlashRow(entity: ChillEntity): boolean;
258
+ /**
259
+ * Creates a single-property edit session for the chosen cell using a fresh schema-driven form.
260
+ */
261
+ activateCellEdit(entity: ChillEntity, column: TableColumn): void;
262
+ /**
263
+ * Matches the requested cell against the current inline edit session.
264
+ */
265
+ isCellEditing(entity: ChillEntity, column: TableColumn): boolean;
266
+ /**
267
+ * Clears the committing flag when the active editor changes its tracked property value.
268
+ */
269
+ handleCellValueChange(value: Record<string, JsonValue>): void;
270
+ /**
271
+ * Keeps the active edit session aligned with the child editor validity state.
272
+ */
273
+ handleCellValidityChange(isValid: boolean): void;
274
+ /**
275
+ * Keeps inline editing alive while a lookup picker dialog owns the focus outside the table cell.
276
+ */
277
+ handleLookupDialogOpenChange(isOpen: boolean): void;
278
+ /**
279
+ * Commits the edit only when focus leaves the entire editor, not when it moves within the editor.
280
+ */
281
+ handleCellFocusOut(event: FocusEvent): void;
282
+ /**
283
+ * Supports Enter-to-commit and Escape-to-cancel without letting the event leak to the row.
284
+ */
285
+ handleCellEditorKeydown(event: KeyboardEvent): void;
286
+ /**
287
+ * Drops the current inline edit session without emitting a commit.
288
+ */
289
+ cancelCellEdit(): void;
290
+ /**
291
+ * Emits a cell commit only for valid edits whose value actually changed from the original snapshot.
292
+ */
293
+ commitCellEdit(): void;
294
+ /**
295
+ * Extracts per-field validation errors from the row chill state in a template-friendly shape.
296
+ */
297
+ rowFieldErrors(entity: ChillEntity): Record<string, string>;
298
+ /**
299
+ * Detects either field-level or generic validation errors stored in the row chill state.
300
+ */
301
+ rowHasValidationErrors(entity: ChillEntity): boolean;
302
+ /**
303
+ * Keeps live entity subscriptions aligned with the current schema type and visible entity set.
304
+ */
305
+ private syncEntityNotificationSubscriptions;
306
+ /**
307
+ * Unsubscribes from all live entity notifications and clears the associated bookkeeping.
308
+ */
309
+ private clearEntityNotificationSubscriptions;
310
+ private clearRowRefreshFlashTimers;
311
+ private pinnedColumnWidthRem;
312
+ /**
313
+ * Refreshes locally displayed rows only for remote update notifications that contain a Guid.
314
+ */
315
+ private handleEntityNotifications;
316
+ /**
317
+ * Reloads a row from the server, merges remote changes into non-dirty fields, and warns on conflicts.
318
+ */
319
+ private refreshDisplayedEntity;
320
+ /**
321
+ * Persists the current column layout into schema metadata and updates local state with the saved result.
322
+ */
323
+ private saveLayout;
324
+ /**
325
+ * Reads persisted column layout from schema metadata and falls back to schema order when unavailable.
326
+ */
327
+ private readLayoutState;
328
+ private isMonacoEditorEventTarget;
329
+ /**
330
+ * Stores visible columns before hidden ones so the persisted layout can be rendered directly.
331
+ */
332
+ private normalizeLayoutForSave;
333
+ private applyPropertyWidthProportions;
334
+ private readPropertyWidthProportion;
335
+ private normalizeColumnWidthProportion;
336
+ private findColumnWidthOptionIndex;
337
+ /**
338
+ * Normalizes schema metadata from camelCase or legacy payload shapes into a mutable string map.
339
+ */
340
+ private readSchemaMetadata;
341
+ /**
342
+ * Reads a property from the entity bag first, then from direct camelCase or PascalCase fields.
343
+ */
344
+ private readPropertyValue;
345
+ /**
346
+ * Converts primitive entity properties into trimmed text for keys such as Guid or Label.
347
+ */
348
+ private readEntityText;
349
+ /**
350
+ * Returns the normalized lowercase CRUD status used by row rendering logic.
351
+ */
352
+ private readCrudState;
353
+ /**
354
+ * Type guard for JSON object records.
355
+ */
356
+ private isJsonObjectRecord;
357
+ /**
358
+ * Returns the raw chill state payload attached to the entity.
359
+ */
360
+ private readChillState;
361
+ /**
362
+ * Normalizes chill state into a predictable CRUD model with defaults for new and deleting rows.
363
+ */
364
+ private readCrudStateObject;
365
+ /**
366
+ * Merges a CRUD-state patch onto the entity while keeping derived `isNew` and `isDeleting` flags consistent.
367
+ */
368
+ private withCrudState;
369
+ /**
370
+ * Removes undefined entries before persisting CRUD state back onto the entity payload.
371
+ */
372
+ private sanitizeCrudState;
373
+ /**
374
+ * Resets a freshly loaded server entity back to a pristine local CRUD state.
375
+ */
376
+ private normalizeServerEntity;
377
+ private savePropertySchema;
378
+ private applyUpdatedSchema;
379
+ /**
380
+ * Skips live refreshes for a short window after a local save so the row keeps the just-returned server copy.
381
+ */
382
+ private shouldIgnoreEntityNotification;
383
+ private buildRefreshFindRequest;
384
+ private buildTablePropertyRequest;
385
+ /**
386
+ * Ensures a server entity exposes every schema property through the `properties` bag expected by the table.
387
+ */
388
+ private prepareEntityForSchema;
389
+ /**
390
+ * Replaces a row in the displayed collection and pushes fresh values into any active editor for that row.
391
+ */
392
+ private replaceDisplayedEntity;
393
+ private flashRefreshedRow;
394
+ /**
395
+ * Uses normalized CRUD state to detect client-side draft rows.
396
+ */
397
+ private isNewEntity;
398
+ /**
399
+ * Collects the property names whose form controls are currently dirty.
400
+ */
401
+ private readDirtyControlNames;
402
+ /**
403
+ * Reads the row Guid using either camelCase or PascalCase server field names.
404
+ */
405
+ private readEntityGuid;
406
+ /**
407
+ * Normalizes a JSON value into trimmed text when it is already a string.
408
+ */
409
+ private readStringValue;
410
+ /**
411
+ * Reads a boolean flag from the raw chill state object.
412
+ */
413
+ private readChillStateBoolean;
414
+ /**
415
+ * Compares an entity Guid with an incoming Guid after trimming the incoming value.
416
+ */
417
+ private sameEntityGuid;
418
+ /**
419
+ * Converts a property name to PascalCase for payloads that expose both casing styles.
420
+ */
421
+ private toPascalCase;
422
+ /**
423
+ * Uses JSON serialization as a pragmatic deep-equality check for editor values and server payloads.
424
+ */
425
+ private areJsonValuesEqual;
426
+ /**
427
+ * Computes a viewport-clamped fixed position for the row-action menu.
428
+ */
429
+ private buildRowActionMenuState;
430
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChillTableComponent, never>;
431
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChillTableComponent, "app-chill-table", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "entities": { "alias": "entities"; "required": false; "isSignal": true; }; "selectionColumn": { "alias": "selectionColumn"; "required": false; "isSignal": true; }; "rowAction": { "alias": "rowAction"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "enableInlineEditing": { "alias": "enableInlineEditing"; "required": false; "isSignal": true; }; "readonlyPropertyNames": { "alias": "readonlyPropertyNames"; "required": false; "isSignal": true; }; "validationFocus": { "alias": "validationFocus"; "required": false; "isSignal": true; }; "showSchemaHeader": { "alias": "showSchemaHeader"; "required": false; "isSignal": true; }; "ordering": { "alias": "ordering"; "required": false; "isSignal": true; }; "enableFullTextSearch": { "alias": "enableFullTextSearch"; "required": false; "isSignal": true; }; "fullTextSearch": { "alias": "fullTextSearch"; "required": false; "isSignal": true; }; "showMobileTaskClose": { "alias": "showMobileTaskClose"; "required": false; "isSignal": true; }; }, { "cellEditCommit": "cellEditCommit"; "sortChange": "sortChange"; "fullTextSearchChange": "fullTextSearchChange"; "schemaUpdated": "schemaUpdated"; "mobileTaskClose": "mobileTaskClose"; }, never, never, true, never>;
432
+ }
433
+ export {};
434
+ //# sourceMappingURL=chill-table.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chill-table.component.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/chill-table.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ChillTextEditorDialogComponent {
3
+ private readonly dialog;
4
+ readonly value: import("@angular/core").InputSignal<string>;
5
+ readonly language: import("@angular/core").InputSignal<"json" | "plaintext">;
6
+ readonly placeholder: import("@angular/core").InputSignal<string>;
7
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
8
+ readonly draft: import("@angular/core").WritableSignal<string>;
9
+ constructor();
10
+ submit(): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChillTextEditorDialogComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChillTextEditorDialogComponent, "app-chill-text-editor-dialog", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }
14
+ //# sourceMappingURL=chill-text-editor-dialog.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chill-text-editor-dialog.component.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/chill-text-editor-dialog.component.ts"],"names":[],"mappings":";AAKA,qBA0Ca,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD,QAAQ,CAAC,KAAK,8CAAa;IAC3B,QAAQ,CAAC,QAAQ,4DAA4C;IAC7D,QAAQ,CAAC,WAAW,8CAAa;IACjC,QAAQ,CAAC,QAAQ,+CAAgB;IAEjC,QAAQ,CAAC,KAAK,iDAAc;;IAQ5B,MAAM,IAAI,IAAI;yCAhBH,8BAA8B;2CAA9B,8BAA8B;CAmB1C"}
@@ -0,0 +1,4 @@
1
+ import type { ChillSchema } from '../models/chill-schema.models';
2
+ export declare function applySchemaRelationsToCrudConfiguration(baseConfiguration: Record<string, unknown>, schema: ChillSchema | null): Record<string, unknown>;
3
+ export declare function buildCrudRelationsFromSchema(schema: ChillSchema | null): Record<string, unknown>[];
4
+ //# sourceMappingURL=crud-configuration.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-configuration.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/crud-configuration.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAiD,MAAM,+BAA+B,CAAC;AAEhH,wBAAgB,uCAAuC,CACrD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAQlG"}
@@ -0,0 +1,3 @@
1
+ import type { ChillPropertySelectOptionTuple } from '../models/chill-schema.models';
2
+ export declare function getCultureNameOptions(): ChillPropertySelectOptionTuple[];
3
+ //# sourceMappingURL=culture-name-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"culture-name-options.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/culture-name-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAmCpF,wBAAgB,qBAAqB,IAAI,8BAA8B,EAAE,CAGxE"}
@@ -0,0 +1,3 @@
1
+ import type { ChillPropertySelectOptionTuple } from '../models/chill-schema.models';
2
+ export declare function getDateFormatOptions(): ChillPropertySelectOptionTuple[];
3
+ //# sourceMappingURL=date-format-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-format-options.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/date-format-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAWpF,wBAAgB,oBAAoB,IAAI,8BAA8B,EAAE,CAEvE"}
@@ -0,0 +1,3 @@
1
+ import type { ChillPropertySelectOptionTuple } from '../models/chill-schema.models';
2
+ export declare function getIanaTimeZoneOptions(): ChillPropertySelectOptionTuple[];
3
+ //# sourceMappingURL=iana-time-zone-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iana-time-zone-options.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/iana-time-zone-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAuBpF,wBAAgB,sBAAsB,IAAI,8BAA8B,EAAE,CAYzE"}
@@ -0,0 +1,17 @@
1
+ import { AfterViewInit, OnDestroy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NoticeTransitionDirective implements AfterViewInit, OnDestroy {
4
+ private readonly elementRef;
5
+ private enterFrame;
6
+ private enterCleanupTimer;
7
+ private enterCleanup;
8
+ ngAfterViewInit(): void;
9
+ ngOnDestroy(): void;
10
+ private animateEnter;
11
+ private animateLeaveClone;
12
+ private cancelEnterAnimation;
13
+ private shouldSkipAnimation;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<NoticeTransitionDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NoticeTransitionDirective, ".notice", never, {}, {}, never, never, true, never>;
16
+ }
17
+ //# sourceMappingURL=notice-transition.directive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notice-transition.directive.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/notice-transition.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,SAAS,EAAU,MAAM,eAAe,CAAC;;AAYxF,qBAIa,yBAA0B,YAAW,aAAa,EAAE,SAAS;IACxE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+C;IAC1E,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,YAAY,CAA6B;IAEjD,eAAe,IAAI,IAAI;IASvB,WAAW,IAAI,IAAI;IAWnB,OAAO,CAAC,YAAY;IAwEpB,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,mBAAmB;yCArKhB,yBAAyB;2CAAzB,yBAAyB;CA0KrC"}
@@ -0,0 +1,74 @@
1
+ import { ChillService } from '../services/chill.service';
2
+ import { type ChillPropertySchema, type ChillSchema } from '../models/chill-schema.models';
3
+ import * as i0 from "@angular/core";
4
+ type SchemaPropertyDraft = {
5
+ name: string;
6
+ displayName: string;
7
+ propertyType: number;
8
+ isNullable: boolean;
9
+ isReadOnly: boolean;
10
+ minLength: string;
11
+ maxLength: string;
12
+ integerMinValue: string;
13
+ integerMaxValue: string;
14
+ decimalMinValue: string;
15
+ decimalMaxValue: string;
16
+ decimalPlaces: string;
17
+ precision: string;
18
+ scale: string;
19
+ dateFormat: string;
20
+ customFormat: string;
21
+ regexPattern: string;
22
+ enumValues: string;
23
+ lookupQueryValues: string;
24
+ metadataJson: string;
25
+ };
26
+ export declare class SchemaPropertyDialogComponent {
27
+ readonly chill: ChillService;
28
+ private readonly dialog;
29
+ readonly schema: import("@angular/core").InputSignal<ChillSchema | null>;
30
+ readonly property: import("@angular/core").InputSignal<ChillPropertySchema | null>;
31
+ readonly draft: import("@angular/core").WritableSignal<SchemaPropertyDraft>;
32
+ readonly dateFormatOptions: import("@chill-sharp/ui-core").ChillPropertySelectOptionTuple[];
33
+ readonly schemaTypeLabel: import("@angular/core").Signal<string>;
34
+ readonly metadataJsonInvalid: import("@angular/core").Signal<boolean>;
35
+ readonly selectedPropertyType: import("@angular/core").Signal<number>;
36
+ readonly showLengthSettings: import("@angular/core").Signal<boolean>;
37
+ readonly showRegexPattern: import("@angular/core").Signal<boolean>;
38
+ readonly showIntegerRange: import("@angular/core").Signal<boolean>;
39
+ readonly showDecimalSettings: import("@angular/core").Signal<boolean>;
40
+ readonly showDateFormat: import("@angular/core").Signal<boolean>;
41
+ readonly showCustomFormat: import("@angular/core").Signal<boolean>;
42
+ readonly showEnumValues: import("@angular/core").Signal<boolean>;
43
+ readonly showLookupQueryValues: import("@angular/core").Signal<boolean>;
44
+ readonly validationMessages: import("@angular/core").Signal<string[]>;
45
+ readonly propertyTypeOptions: import("@chill-sharp/ui-core").ChillPropertyTypeOption[];
46
+ constructor();
47
+ canDialogSubmit(): boolean;
48
+ submit(): void;
49
+ updateText<K extends keyof SchemaPropertyDraft>(key: K, value: SchemaPropertyDraft[K]): void;
50
+ updateBoolean(key: 'isNullable' | 'isReadOnly', value: boolean): void;
51
+ updatePropertyType(value: number | string): void;
52
+ isPropertyTypeOptionDisabled(value: number): boolean;
53
+ enumValuesPlaceholder(): string;
54
+ lookupQueryValuesPlaceholder(): string;
55
+ metadataPlaceholder(): string;
56
+ private createDraft;
57
+ private createEmptyDraft;
58
+ private validateDraft;
59
+ private buildProperty;
60
+ private parseEnumOptions;
61
+ private serializeEnumValues;
62
+ private tryParseMetadata;
63
+ private stringifyMetadata;
64
+ private readMetadataNumber;
65
+ private readMetadataString;
66
+ private readBooleanMetadata;
67
+ private parseOptionalInteger;
68
+ private parseOptionalDecimal;
69
+ private formatOptionalNumber;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<SchemaPropertyDialogComponent, never>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<SchemaPropertyDialogComponent, "app-schema-property-dialog", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "property": { "alias": "property"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
72
+ }
73
+ export {};
74
+ //# sourceMappingURL=schema-property-dialog.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-property-dialog.component.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/schema-property-dialog.component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAmI,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;;AAE5N,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAIF,qBAOa,6BAA6B;IACxC,QAAQ,CAAC,KAAK,eAAwB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD,QAAQ,CAAC,MAAM,0DAAmC;IAClD,QAAQ,CAAC,QAAQ,kEAA2C;IAE5D,QAAQ,CAAC,KAAK,8DAAwD;IACtE,QAAQ,CAAC,iBAAiB,kEAA0B;IACpD,QAAQ,CAAC,eAAe,yCAAgG;IACxH,QAAQ,CAAC,mBAAmB,0CAAwE;IACpG,QAAQ,CAAC,oBAAoB,yCAA6C;IAC1E,QAAQ,CAAC,kBAAkB,0CAMxB;IACH,QAAQ,CAAC,gBAAgB,0CAItB;IACH,QAAQ,CAAC,gBAAgB,0CAA+E;IACxG,QAAQ,CAAC,mBAAmB,0CAA+E;IAC3G,QAAQ,CAAC,cAAc,0CAGpB;IACH,QAAQ,CAAC,gBAAgB,0CAStB;IACH,QAAQ,CAAC,cAAc,0CAA8E;IACrG,QAAQ,CAAC,qBAAqB,0CAAgK;IAC9L,QAAQ,CAAC,kBAAkB,2CAAoD;IAE/E,QAAQ,CAAC,mBAAmB,2DAA+B;;IAS3D,eAAe,IAAI,OAAO;IAI1B,MAAM,IAAI,IAAI;IASd,UAAU,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI;IAO5F,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOrE,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAahD,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKpD,qBAAqB,IAAI,MAAM;IAQ/B,4BAA4B,IAAI,MAAM;IAkBtC,mBAAmB,IAAI,MAAM;IAI7B,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,aAAa;IA4ErB,OAAO,CAAC,aAAa;IA0ErB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;yCAlcjB,6BAA6B;2CAA7B,6BAA6B;CAuczC"}