@conduction/nextcloud-vue 0.1.0-beta.3 → 0.1.0-beta.4

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 (152) hide show
  1. package/README.md +226 -226
  2. package/dist/nextcloud-vue.cjs.js +60455 -8755
  3. package/dist/nextcloud-vue.cjs.js.map +1 -1
  4. package/dist/nextcloud-vue.css +2062 -528
  5. package/dist/nextcloud-vue.esm.js +60411 -8731
  6. package/dist/nextcloud-vue.esm.js.map +1 -1
  7. package/package.json +75 -62
  8. package/src/components/CnActionsBar/CnActionsBar.vue +235 -225
  9. package/src/components/CnActionsBar/index.js +1 -1
  10. package/src/components/CnAdvancedFormDialog/CnAdvancedFormDialog.vue +579 -0
  11. package/src/components/CnAdvancedFormDialog/CnDataTab.vue +217 -0
  12. package/src/components/CnAdvancedFormDialog/CnMetadataTab.vue +121 -0
  13. package/src/components/CnAdvancedFormDialog/CnPropertiesTab.vue +418 -0
  14. package/src/components/CnAdvancedFormDialog/CnPropertyValueCell.vue +247 -0
  15. package/src/components/CnAdvancedFormDialog/index.js +1 -0
  16. package/src/components/CnCardGrid/CnCardGrid.vue +152 -152
  17. package/src/components/CnCardGrid/index.js +1 -1
  18. package/src/components/CnCellRenderer/CnCellRenderer.vue +132 -132
  19. package/src/components/CnCellRenderer/index.js +1 -1
  20. package/src/components/CnChartWidget/CnChartWidget.vue +320 -0
  21. package/src/components/CnChartWidget/index.js +1 -0
  22. package/src/components/CnConfigurationCard/CnConfigurationCard.vue +77 -77
  23. package/src/components/CnConfigurationCard/index.js +1 -1
  24. package/src/components/CnDashboardGrid/CnDashboardGrid.vue +225 -0
  25. package/src/components/CnDashboardGrid/index.js +1 -0
  26. package/src/components/CnDashboardPage/CnDashboardPage.vue +390 -0
  27. package/src/components/CnDashboardPage/index.js +1 -0
  28. package/src/components/CnDataTable/CnDataTable.vue +349 -349
  29. package/src/components/CnDataTable/index.js +1 -1
  30. package/src/components/CnDetailCard/CnDetailCard.vue +214 -0
  31. package/src/components/CnDetailCard/index.js +1 -0
  32. package/src/components/CnDetailPage/CnDetailPage.vue +281 -0
  33. package/src/components/CnDetailPage/index.js +1 -0
  34. package/src/components/CnFacetSidebar/CnFacetSidebar.vue +231 -223
  35. package/src/components/CnFacetSidebar/index.js +1 -1
  36. package/src/components/CnFilterBar/CnFilterBar.vue +152 -152
  37. package/src/components/CnFilterBar/index.js +1 -1
  38. package/src/components/CnIcon/CnIcon.vue +89 -89
  39. package/src/components/CnIcon/index.js +1 -1
  40. package/src/components/CnIndexPage/CnIndexPage.vue +874 -816
  41. package/src/components/CnIndexPage/index.js +1 -1
  42. package/src/components/CnIndexSidebar/CnIndexSidebar.vue +503 -484
  43. package/src/components/CnIndexSidebar/index.js +1 -1
  44. package/src/components/CnItemCard/CnItemCard.vue +132 -0
  45. package/src/components/CnItemCard/index.js +1 -0
  46. package/src/components/CnKpiGrid/CnKpiGrid.vue +89 -89
  47. package/src/components/CnKpiGrid/index.js +1 -1
  48. package/src/components/CnMassActionBar/CnMassActionBar.vue +160 -160
  49. package/src/components/CnMassActionBar/index.js +1 -1
  50. package/src/components/CnMassCopyDialog/CnMassCopyDialog.vue +320 -320
  51. package/src/components/CnMassCopyDialog/index.js +1 -1
  52. package/src/components/CnMassDeleteDialog/CnMassDeleteDialog.vue +238 -238
  53. package/src/components/CnMassDeleteDialog/index.js +1 -1
  54. package/src/components/CnMassExportDialog/CnMassExportDialog.vue +190 -190
  55. package/src/components/CnMassExportDialog/index.js +1 -1
  56. package/src/components/CnMassImportDialog/CnMassImportDialog.vue +491 -491
  57. package/src/components/CnMassImportDialog/index.js +1 -1
  58. package/src/components/CnNoteCard/CnNoteCard.vue +149 -0
  59. package/src/components/CnNoteCard/index.js +1 -0
  60. package/src/components/CnNotesCard/CnNotesCard.vue +413 -0
  61. package/src/components/CnNotesCard/index.js +1 -0
  62. package/src/components/CnObjectCard/CnObjectCard.vue +292 -292
  63. package/src/components/CnObjectCard/index.js +1 -1
  64. package/src/components/CnObjectSidebar/CnObjectSidebar.vue +876 -0
  65. package/src/components/CnObjectSidebar/index.js +1 -0
  66. package/src/components/CnPageHeader/CnPageHeader.vue +57 -57
  67. package/src/components/CnPageHeader/index.js +1 -1
  68. package/src/components/CnPagination/CnPagination.vue +252 -252
  69. package/src/components/CnPagination/index.js +1 -1
  70. package/src/components/CnRowActions/CnRowActions.vue +73 -73
  71. package/src/components/CnRowActions/index.js +1 -1
  72. package/src/components/CnSchemaFormDialog/CnSchemaConfigurationTab.vue +226 -0
  73. package/src/components/CnSchemaFormDialog/CnSchemaFormDialog.vue +787 -0
  74. package/src/components/CnSchemaFormDialog/CnSchemaPropertiesTab.vue +305 -0
  75. package/src/components/CnSchemaFormDialog/CnSchemaPropertyActions.vue +1398 -0
  76. package/src/components/CnSchemaFormDialog/CnSchemaSecurityTab.vue +236 -0
  77. package/src/components/CnSchemaFormDialog/index.js +1 -0
  78. package/src/components/CnSettingsCard/CnSettingsCard.vue +92 -92
  79. package/src/components/CnSettingsCard/index.js +1 -1
  80. package/src/components/CnSettingsSection/CnSettingsSection.vue +266 -266
  81. package/src/components/CnSettingsSection/index.js +1 -1
  82. package/src/components/CnStatsBlock/CnStatsBlock.vue +420 -366
  83. package/src/components/CnStatsBlock/index.js +1 -1
  84. package/src/components/CnStatusBadge/CnStatusBadge.vue +77 -77
  85. package/src/components/CnStatusBadge/index.js +1 -1
  86. package/src/components/CnTabbedFormDialog/CnTabbedFormDialog.vue +540 -0
  87. package/src/components/CnTabbedFormDialog/index.js +1 -0
  88. package/src/components/CnTasksCard/CnTasksCard.vue +373 -0
  89. package/src/components/CnTasksCard/index.js +1 -0
  90. package/src/components/CnTileWidget/CnTileWidget.vue +159 -0
  91. package/src/components/CnTileWidget/index.js +1 -0
  92. package/src/components/CnTimelineStages/CnTimelineStages.vue +292 -0
  93. package/src/components/CnTimelineStages/index.js +1 -0
  94. package/src/components/CnUserActionMenu/CnUserActionMenu.vue +435 -0
  95. package/src/components/CnUserActionMenu/index.js +1 -0
  96. package/src/components/CnVersionInfoCard/CnVersionInfoCard.vue +312 -312
  97. package/src/components/CnVersionInfoCard/index.js +1 -1
  98. package/src/components/CnWidgetRenderer/CnWidgetRenderer.vue +180 -0
  99. package/src/components/CnWidgetRenderer/index.js +1 -0
  100. package/src/components/CnWidgetWrapper/CnWidgetWrapper.vue +211 -0
  101. package/src/components/CnWidgetWrapper/index.js +1 -0
  102. package/src/components/index.js +43 -29
  103. package/src/composables/index.js +4 -3
  104. package/src/composables/useDashboardView.js +240 -0
  105. package/src/composables/useDetailView.js +289 -132
  106. package/src/composables/useListView.js +363 -362
  107. package/src/composables/useSubResource.js +142 -142
  108. package/src/constants/metadata.js +30 -30
  109. package/src/css/CnSchemaFormDialog.css +546 -0
  110. package/src/css/__sample_nextcloud_tokens.css +110 -0
  111. package/src/css/actions-bar.css +48 -48
  112. package/src/css/badge.css +51 -51
  113. package/src/css/card.css +128 -128
  114. package/src/css/dashboard.css +70 -0
  115. package/src/css/detail-page.css +168 -0
  116. package/src/css/detail.css +68 -68
  117. package/src/css/index-page.css +44 -32
  118. package/src/css/index-sidebar.css +193 -187
  119. package/src/css/index.css +16 -12
  120. package/src/css/layout.css +90 -90
  121. package/src/css/page-header.css +33 -33
  122. package/src/css/pagination.css +72 -72
  123. package/src/css/table.css +142 -142
  124. package/src/css/timeline-stages.css +218 -0
  125. package/src/css/utilities.css +46 -46
  126. package/src/index.js +72 -53
  127. package/src/store/createSubResourcePlugin.js +135 -135
  128. package/src/store/index.js +3 -3
  129. package/src/store/plugins/auditTrails.js +17 -17
  130. package/src/store/plugins/files.js +250 -186
  131. package/src/store/plugins/index.js +7 -5
  132. package/src/store/plugins/lifecycle.js +180 -180
  133. package/src/store/plugins/relations.js +68 -68
  134. package/src/store/plugins/search.js +372 -0
  135. package/src/store/plugins/selection.js +104 -0
  136. package/src/store/useObjectStore.js +829 -686
  137. package/src/types/auditTrail.d.ts +32 -32
  138. package/src/types/file.d.ts +23 -23
  139. package/src/types/index.d.ts +35 -35
  140. package/src/types/notification.d.ts +36 -36
  141. package/src/types/object.d.ts +40 -40
  142. package/src/types/organisation.d.ts +41 -41
  143. package/src/types/register.d.ts +25 -25
  144. package/src/types/schema.d.ts +39 -39
  145. package/src/types/shared.d.ts +79 -79
  146. package/src/types/source.d.ts +14 -14
  147. package/src/types/task.d.ts +31 -31
  148. package/src/utils/errors.js +96 -96
  149. package/src/utils/headers.js +68 -50
  150. package/src/utils/id.js +13 -0
  151. package/src/utils/index.js +3 -3
  152. package/src/utils/schema.js +422 -419
@@ -0,0 +1,546 @@
1
+ .cn-schema-form__detail-grid {
2
+ display: grid;
3
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
4
+ gap: 20px;
5
+ margin-bottom: 20px;
6
+ padding: 0 20px;
7
+ width: 100%;
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ .cn-schema-form__detail-item {
12
+ display: flex;
13
+ flex-direction: column;
14
+ padding: 15px;
15
+ background-color: var(--color-background-hover);
16
+ border-radius: var(--border-radius);
17
+ border-left: 3px solid var(--color-primary);
18
+ box-shadow: 0 1px 3px var(--color-box-shadow);
19
+ transition: transform var(--animation-quick) ease,
20
+ box-shadow var(--animation-quick) ease;
21
+ }
22
+ .cn-schema-form__detail-item:hover {
23
+ transform: translateY(-1px);
24
+ box-shadow: 0 2px 6px var(--color-box-shadow);
25
+ }
26
+
27
+ .cn-schema-form__detail-label {
28
+ font-weight: bold;
29
+ color: var(--color-text-maxcontrast);
30
+ margin-bottom: 5px;
31
+ font-size: 0.9em;
32
+ }
33
+
34
+ .cn-schema-form__detail-value {
35
+ word-break: break-word;
36
+ color: var(--color-main-text);
37
+ line-height: 1.4;
38
+ }
39
+
40
+ .cn-schema-form__id-card {
41
+ background-color: var(--color-background-hover);
42
+ border-left-color: var(--color-primary-element);
43
+ }
44
+
45
+ .cn-schema-form__id-card-header {
46
+ display: flex;
47
+ justify-content: space-between;
48
+ align-items: center;
49
+ width: 100%;
50
+ margin-bottom: 5px;
51
+ }
52
+
53
+ .cn-schema-form__id-card .cn-schema-form__detail-value {
54
+ word-break: break-all;
55
+ margin-top: 4px;
56
+ font-family: monospace;
57
+ font-size: 0.9em;
58
+ background-color: var(--color-background-dark);
59
+ padding: 4px 6px;
60
+ border-radius: var(--border-radius-small);
61
+ }
62
+
63
+ .cn-schema-form__uuid-value {
64
+ font-size: 0.9em;
65
+ color: var(--color-text-maxcontrast);
66
+ font-family: monospace;
67
+ margin-top: 4px;
68
+ display: block;
69
+ background-color: var(--color-background-dark);
70
+ padding: 4px 6px;
71
+ border-radius: var(--border-radius-small);
72
+ }
73
+
74
+ .cn-schema-form__copy-button {
75
+ height: 30px;
76
+ flex-shrink: 0;
77
+ margin-top: 5px;
78
+ }
79
+
80
+ /* Tab container */
81
+ .cn-schema-form__tabContainer {
82
+ margin-top: 20px;
83
+ }
84
+
85
+ .cn-schema-form__tabContainer > * ul > li {
86
+ display: flex;
87
+ flex: 1;
88
+ }
89
+
90
+ .cn-schema-form__tabContainer > * ul > li > a {
91
+ flex: 1;
92
+ text-align: center;
93
+ }
94
+
95
+ .cn-schema-form__tabContainer > * ul > li > .active {
96
+ background: transparent !important;
97
+ color: var(--color-main-text) !important;
98
+ border-bottom: var(--default-grid-baseline) solid var(--color-primary-element) !important;
99
+ }
100
+
101
+ .cn-schema-form__tabContainer > * ul[role="tablist"] {
102
+ display: flex;
103
+ margin: 10px 8px 0 8px;
104
+ justify-content: space-between;
105
+ border-bottom: 1px solid var(--color-border);
106
+ }
107
+
108
+ .cn-schema-form__tabContainer > * ul[role="tablist"] > * a[role="tab"] {
109
+ padding-inline-start: 10px;
110
+ padding-inline-end: 10px;
111
+ padding-block-start: 10px;
112
+ padding-block-end: 10px;
113
+ }
114
+
115
+ .cn-schema-form__tabContainer > * div[role="tabpanel"] {
116
+ margin-block-start: var(--OR-margin-10);
117
+ }
118
+
119
+ /* Table styles */
120
+ .cn-schema-form__scrollable {
121
+ max-height: 400px;
122
+ overflow-y: auto;
123
+ }
124
+
125
+ .cn-schema-form__viewTable {
126
+ width: 100%;
127
+ border-collapse: collapse;
128
+ background-color: var(--color-main-background);
129
+ }
130
+
131
+ .cn-schema-form__viewTable th,
132
+ .cn-schema-form__viewTable td {
133
+ padding: 12px;
134
+ text-align: left;
135
+ border-bottom: 1px solid var(--color-border);
136
+ vertical-align: middle;
137
+ }
138
+
139
+ .cn-schema-form__viewTable th {
140
+ background: var(--color-background-hover);
141
+ font-weight: 500;
142
+ color: var(--color-text-maxcontrast);
143
+ background-color: var(--color-background-dark);
144
+ }
145
+
146
+ .cn-schema-form__viewTable tbody tr.cn-schema-form__selected-row {
147
+ background-color: var(--color-primary-light);
148
+ border-left: 3px solid var(--color-primary);
149
+ }
150
+
151
+ .cn-schema-form__viewTable tbody tr.cn-schema-form__selected-row:hover {
152
+ background-color: var(--color-primary-light);
153
+ }
154
+
155
+ .cn-schema-form__viewTable tbody tr.cn-schema-form__modified-row {
156
+ background-color: var(--color-warning);
157
+ border-left: 3px solid var(--color-element-warning);
158
+ }
159
+
160
+ .cn-schema-form__viewTable tbody tr.cn-schema-form__modified-row:hover {
161
+ background-color: var(--color-warning);
162
+ }
163
+
164
+ .cn-schema-form__viewTable tbody tr.cn-schema-form__modified-row.cn-schema-form__selected-row {
165
+ background-color: var(--color-primary-light);
166
+ border-left: 3px solid var(--color-primary);
167
+ }
168
+
169
+ /* Form editor */
170
+ .cn-schema-form__form-editor {
171
+ display: flex;
172
+ flex-direction: column;
173
+ gap: 16px;
174
+ padding: 16px;
175
+ }
176
+
177
+ /* Property row inline editing */
178
+ .cn-schema-form__name-input-container {
179
+ display: flex;
180
+ align-items: center;
181
+ gap: 8px;
182
+ }
183
+
184
+ .cn-schema-form__warning-icon {
185
+ color: var(--color-warning-text);
186
+ flex-shrink: 0;
187
+ }
188
+
189
+ /* Table column widths */
190
+ .cn-schema-form__tableColumnActions {
191
+ width: 150px;
192
+ text-align: right;
193
+ }
194
+
195
+ /* Table actions button */
196
+ .cn-schema-form__table-actions {
197
+ margin-bottom: 15px;
198
+ display: flex;
199
+ justify-content: flex-end;
200
+ }
201
+
202
+ /* Enum preview styling */
203
+ .cn-schema-form__enum-preview {
204
+ margin-top: 4px;
205
+ display: flex;
206
+ align-items: center;
207
+ gap: 4px;
208
+ flex-wrap: wrap;
209
+ }
210
+
211
+ .cn-schema-form__enum-label {
212
+ color: var(--color-text-maxcontrast);
213
+ font-size: 11px;
214
+ font-weight: 500;
215
+ margin-right: 4px;
216
+ }
217
+
218
+ .cn-schema-form__enum-value-chip {
219
+ background: var(--color-primary-light);
220
+ color: var(--color-primary-light-text);
221
+ padding: 2px 6px;
222
+ border-radius: var(--border-radius-container);
223
+ font-size: 10px;
224
+ font-weight: 500;
225
+ border: 1px solid var(--color-primary-element-light);
226
+ }
227
+
228
+ .cn-schema-form__property-chip.cn-schema-form__chip-info {
229
+ background: var(--color-info);
230
+ color: var(--color-primary-text);
231
+ }
232
+
233
+ .cn-schema-form__property-chip.cn-schema-form__chip-table {
234
+ background: var(--color-primary);
235
+ color: var(--color-primary-text);
236
+ }
237
+
238
+ /* Enum chip styling for action menu using NcActionButton */
239
+ .cn-schema-form__enum-action-chip {
240
+ background: var(--color-primary-element-light) !important;
241
+ border-radius: var(--border-radius-container-large) !important;
242
+ margin: 2px 4px !important;
243
+ padding: 4px 12px !important;
244
+ }
245
+
246
+ .cn-schema-form__enum-action-chip:hover {
247
+ background: var(--color-primary-element) !important;
248
+ }
249
+
250
+ .cn-schema-form__enum-action-chip .action-button__text {
251
+ color: var(--color-primary-text) !important;
252
+ font-size: 12px !important;
253
+ font-weight: 500 !important;
254
+ }
255
+
256
+ .cn-schema-form__enum-action-chip .action-button__icon {
257
+ color: var(--color-primary-text) !important;
258
+ }
259
+
260
+ /* RBAC Security Tab Styling */
261
+ .cn-schema-form__security-section {
262
+ padding: 20px 0;
263
+ }
264
+
265
+ .cn-schema-form__loading-groups {
266
+ display: flex;
267
+ align-items: center;
268
+ gap: 10px;
269
+ padding: 20px;
270
+ justify-content: center;
271
+ }
272
+
273
+ .cn-schema-form__rbac-table-container {
274
+ margin-top: 20px;
275
+ }
276
+
277
+ .cn-schema-form__rbac-table-container h3 {
278
+ margin-bottom: 15px;
279
+ color: var(--color-main-text);
280
+ font-size: 16px;
281
+ font-weight: 600;
282
+ }
283
+
284
+ .cn-schema-form__rbac-table {
285
+ width: 100%;
286
+ border-collapse: collapse;
287
+ border: 1px solid var(--color-border-dark);
288
+ border-radius: var(--border-radius-element);
289
+ overflow: hidden;
290
+ box-shadow: 0 2px 8px rgba(var(--color-box-shadow-rgb), 0.1);
291
+ }
292
+
293
+ .cn-schema-form__rbac-table th {
294
+ background: var(--color-background-dark);
295
+ color: var(--color-main-text);
296
+ font-weight: 600;
297
+ padding: 12px 16px;
298
+ text-align: left;
299
+ border-bottom: 2px solid var(--color-border-dark);
300
+ }
301
+
302
+ .cn-schema-form__rbac-table th:first-child {
303
+ width: 40%;
304
+ }
305
+
306
+ .cn-schema-form__rbac-table th:not(:first-child) {
307
+ width: 15%;
308
+ text-align: center;
309
+ }
310
+
311
+ .cn-schema-form__rbac-table td {
312
+ padding: 12px 16px;
313
+ border-bottom: 1px solid var(--color-border);
314
+ vertical-align: middle;
315
+ }
316
+
317
+ .cn-schema-form__rbac-table td:not(.cn-schema-form__group-name) {
318
+ text-align: center;
319
+ }
320
+
321
+ .cn-schema-form__rbac-table tr:hover {
322
+ background: var(--color-background-hover);
323
+ }
324
+
325
+ .cn-schema-form__public-row {
326
+ background: var(--color-primary-light) !important;
327
+ }
328
+
329
+ .cn-schema-form__user-row {
330
+ background: var(--color-warning) !important;
331
+ }
332
+
333
+ .cn-schema-form__admin-row {
334
+ background: var(--color-success) !important;
335
+ }
336
+
337
+ .cn-schema-form__admin-row:hover {
338
+ background: var(--color-success) !important;
339
+ }
340
+
341
+ .cn-schema-form__group-name {
342
+ display: flex;
343
+ flex-direction: column;
344
+ gap: 4px;
345
+ }
346
+
347
+ .cn-schema-form__group-badge {
348
+ display: inline-block;
349
+ padding: 4px 8px;
350
+ border-radius: var(--border-radius-container);
351
+ font-size: 12px;
352
+ font-weight: 600;
353
+ background: var(--color-primary-element-light);
354
+ color: var(--color-primary-light-text);
355
+ }
356
+
357
+ .cn-schema-form__group-badge.cn-schema-form__public {
358
+ background: var(--color-info);
359
+ color: var(--color-primary-text);
360
+ }
361
+
362
+ .cn-schema-form__group-badge.cn-schema-form__user {
363
+ background: var(--color-warning);
364
+ color: var(--color-warning-text);
365
+ }
366
+
367
+ .cn-schema-form__group-badge.cn-schema-form__admin {
368
+ background: var(--color-success);
369
+ color: var(--color-success-text);
370
+ }
371
+
372
+ .cn-schema-form__group-name small {
373
+ color: var(--color-text-maxcontrast);
374
+ font-size: 11px;
375
+ font-style: italic;
376
+ }
377
+
378
+ .cn-schema-form__rbac-summary {
379
+ margin-top: 20px;
380
+ }
381
+
382
+ /* Property-level RBAC Styling - Action Menu Based */
383
+ .cn-schema-form__property-permission-text {
384
+ font-family: monospace;
385
+ font-size: 12px;
386
+ font-weight: 600;
387
+ }
388
+
389
+ .cn-schema-form__property-permission-remove-btn {
390
+ font-size: 11px;
391
+ color: var(--color-error);
392
+ }
393
+
394
+ /* Schema Extension Status Pill */
395
+ .cn-schema-form__statusPill {
396
+ display: inline-block;
397
+ padding: 4px 12px;
398
+ border-radius: var(--border-radius-container);
399
+ font-size: 0.75em;
400
+ font-weight: 600;
401
+ text-transform: uppercase;
402
+ margin-left: 8px;
403
+ white-space: nowrap;
404
+ vertical-align: middle;
405
+ }
406
+
407
+ .cn-schema-form__statusPill--alert {
408
+ background-color: var(--color-warning);
409
+ color: var(--color-warning-text);
410
+ }
411
+
412
+ /* Title with badge layout */
413
+ .cn-schema-form__title-with-badge {
414
+ display: flex;
415
+ align-items: center;
416
+ gap: 12px;
417
+ flex-wrap: wrap;
418
+ }
419
+
420
+ .cn-schema-form__title-with-badge > :first-child {
421
+ flex: 1;
422
+ min-width: 0;
423
+ }
424
+
425
+ /* Parent schema link styling */
426
+ .cn-schema-form__parent-schema-link {
427
+ margin-top: 12px;
428
+ padding: 8px 12px;
429
+ background-color: var(--color-background-dark);
430
+ border-radius: var(--border-radius);
431
+ font-size: 0.9em;
432
+ }
433
+
434
+ .cn-schema-form__parent-schema-link strong {
435
+ color: var(--color-main-text);
436
+ }
437
+
438
+ /* Extend info card styling */
439
+ .cn-schema-form__extend-info {
440
+ margin-top: 12px;
441
+ margin-bottom: 12px;
442
+ }
443
+
444
+ .cn-schema-form__extend-info p {
445
+ margin: 8px 0;
446
+ }
447
+
448
+ .cn-schema-form__extend-info p:first-of-type {
449
+ margin-top: 0;
450
+ }
451
+
452
+ .cn-schema-form__extend-info p:last-of-type {
453
+ margin-bottom: 0;
454
+ }
455
+
456
+ /* Property name with chips (moved from openregister/css/main.css) */
457
+ .cn-schema-form__name-display-container {
458
+ display: flex;
459
+ align-items: center;
460
+ gap: 8px;
461
+ }
462
+
463
+ .cn-schema-form__name-with-chips {
464
+ display: flex;
465
+ align-items: center;
466
+ gap: 8px;
467
+ flex-wrap: wrap;
468
+ }
469
+
470
+ .cn-schema-form__inline-chips {
471
+ display: flex;
472
+ flex-wrap: wrap;
473
+ gap: 4px;
474
+ align-items: center;
475
+ }
476
+
477
+ .cn-schema-form__property-chip {
478
+ display: inline-block;
479
+ padding: 2px 6px;
480
+ border-radius: var(--border-radius-pill);
481
+ font-size: 0.7em;
482
+ font-weight: 500;
483
+ line-height: 1.2;
484
+ white-space: nowrap;
485
+ }
486
+
487
+ .cn-schema-form__chip-primary {
488
+ background-color: var(--color-primary-element-light);
489
+ color: var(--color-primary-element-text);
490
+ }
491
+
492
+ .cn-schema-form__chip-secondary {
493
+ background-color: var(--color-background-dark);
494
+ color: var(--color-text-maxcontrast);
495
+ border: 1px solid var(--color-border);
496
+ }
497
+
498
+ .cn-schema-form__chip-warning {
499
+ background-color: var(--color-warning);
500
+ color: var(--color-warning-text);
501
+ }
502
+
503
+ .cn-schema-form__chip-success {
504
+ background-color: var(--color-success);
505
+ color: var(--color-success-text);
506
+ }
507
+
508
+ .cn-schema-form__properties-warning {
509
+ margin-top: 15px;
510
+ }
511
+
512
+ /* Copied from openregister — also used in other files */
513
+ .cn-schema-form__property-name {
514
+ font-weight: 500;
515
+ }
516
+
517
+ .cn-schema-form__statusPill--success {
518
+ background-color: var(--color-success);
519
+ color: var(--color-success-text);
520
+ }
521
+
522
+ .cn-schema-form__statusPill--info {
523
+ background-color: var(--color-info);
524
+ color: var(--color-info-text);
525
+ }
526
+
527
+ /* Copied from openregister/SolrWarmupModal — also used in other files */
528
+ .cn-schema-form__schema-option {
529
+ display: flex;
530
+ flex-direction: column;
531
+ gap: 0.25rem;
532
+ }
533
+ .cn-schema-form__option-title {
534
+ font-weight: 500;
535
+ }
536
+ .cn-schema-form__option-description {
537
+ font-size: 0.875rem;
538
+ color: var(--color-text-maxcontrast);
539
+ max-width: 100%;
540
+ white-space: normal;
541
+ word-break: break-word;
542
+ display: -webkit-box;
543
+ -webkit-line-clamp: 2;
544
+ -webkit-box-orient: vertical;
545
+ overflow: hidden;
546
+ }
@@ -0,0 +1,110 @@
1
+ .sample {
2
+ /* default.css */
3
+ --color-main-background: #171717;
4
+ --color-main-background-rgb: 23, 23, 23;
5
+ --color-main-background-translucent: rgba(var(--color-main-background-rgb), 0.97);
6
+ --color-main-background-blur: rgba(var(--color-main-background-rgb), 0.85);
7
+ --filter-background-blur: none;
8
+ --gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%;
9
+ --color-background-hover: #212121;
10
+ --color-background-dark: #292929;
11
+ --color-background-darker: #3b3b3b;
12
+ --color-placeholder-light: #313131;
13
+ --color-placeholder-dark: #4a4a4a;
14
+ --color-main-text: #ebebeb;
15
+ --color-text-maxcontrast: #999999;
16
+ --color-text-maxcontrast-default: #999999;
17
+ --color-text-maxcontrast-background-blur: #a8a8a8;
18
+ --color-text-error: #ff6f6f;
19
+ --color-text-success: #49bb37;
20
+ --color-border: #292929;
21
+ --color-border-dark: #3b3b3b;
22
+ --color-border-maxcontrast: #7d7d7d;
23
+ --color-border-error: var(--color-element-error);
24
+ --color-border-success: var(--color-element-success);
25
+ --color-element-error: #ff5050;
26
+ --color-element-info: #0099e0;
27
+ --color-element-success: #40a330;
28
+ --color-element-warning: #ffcc00;
29
+ --color-error: #552121;
30
+ --color-error-hover: #7a2f2f;
31
+ --color-error-text: #ffcccc;
32
+ --color-warning: #3d3010;
33
+ --color-warning-hover: #65501b;
34
+ --color-warning-text: #ffeec5;
35
+ --color-success: #11321a;
36
+ --color-success-hover: #1e582e;
37
+ --color-success-text: #d5f2dc;
38
+ --color-info: #003553;
39
+ --color-info-hover: #005686;
40
+ --color-info-text: #00aeff;
41
+ --color-favorite: #ffde00;
42
+ --color-error-rgb: 85, 33, 33;
43
+ --color-warning-rgb: 61, 48, 16;
44
+ --color-success-rgb: 17, 50, 26;
45
+ --color-info-rgb: 0, 53, 83;
46
+ --color-loading-light: #777;
47
+ --color-loading-dark: #ccc;
48
+ --color-scrollbar: var(--color-border-maxcontrast) transparent;
49
+ --color-box-shadow-rgb: 0, 0, 0;
50
+ --color-box-shadow: #000000;
51
+ --color-background-assistant: #221d2b;
52
+ --color-border-assistant: linear-gradient(125deg, #0c3a65 50%, #6204a5 125%);
53
+ --color-element-assistant: linear-gradient(214deg, #c8a3e8 12%, #007cff 39%, #c297dd 86%);
54
+ --color-element-assistant-icon: linear-gradient(214deg, #cdace7 15.28%, #008fdb 39.98%, #a180e0 82.05%);
55
+ --font-face: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans,
56
+ Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial,
57
+ sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
58
+ "Noto Color Emoji";
59
+ --default-font-size: 15px;
60
+ --font-size-small: 13px;
61
+ --default-line-height: 1.5;
62
+ --animation-quick: 100ms;
63
+ --animation-slow: 300ms;
64
+ --border-width-input: 1px;
65
+ --border-width-input-focused: 2px;
66
+ --border-radius-small: 4px;
67
+ --border-radius-element: 8px;
68
+ --border-radius-container: 12px;
69
+ --border-radius-container-large: 16px;
70
+ --border-radius: var(--border-radius-small);
71
+ --border-radius-large: var(--border-radius-element);
72
+ --border-radius-rounded: 28px;
73
+ --border-radius-pill: 100px;
74
+ --default-clickable-area: 34px;
75
+ --clickable-area-large: 48px;
76
+ --clickable-area-small: 24px;
77
+ --default-grid-baseline: 4px;
78
+ --header-height: 50px;
79
+ --header-menu-item-height: 44px;
80
+ --header-menu-icon-mask: linear-gradient(var(--color-background-plain-text) 25%, color-mix(in srgb, var(--color-background-plain-text), 55% transparent) 90%) alpha;
81
+ --navigation-width: 300px;
82
+ --sidebar-min-width: 300px;
83
+ --sidebar-max-width: 500px;
84
+ --body-container-radius: var(--border-radius-container-large);
85
+ --body-container-margin: calc(var(--default-grid-baseline) * 2);
86
+ --body-height: calc(100% - env(safe-area-inset-bottom) - var(--header-height) - var(--body-container-margin));
87
+ --breakpoint-mobile: 1024px;
88
+ --background-invert-if-dark: invert(100%);
89
+ --background-invert-if-bright: no;
90
+ --background-image-invert-if-bright: no;
91
+ --primary-invert-if-bright: invert(100%);
92
+ --primary-invert-if-dark: no;
93
+ --color-primary: #00679e;
94
+ --color-primary-text: #ffffff;
95
+ --color-primary-hover: #045783;
96
+ --color-primary-element: #0091f2;
97
+ --color-primary-element-hover: #17a2ff;
98
+ --color-primary-element-text: #000000;
99
+ --color-primary-element-text-dark: #121212;
100
+ --color-primary-light: #14232c;
101
+ --color-primary-light-hover: #1f2e36;
102
+ --color-primary-light-text: #99c2d8;
103
+ --color-primary-element-light: var(--color-primary-light);
104
+ --color-primary-element-light-text: var(--color-primary-light-text);
105
+ --color-primary-element-light-hover: var(--color-primary-light-hover);
106
+ --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
107
+ --color-background-plain: #00679e;
108
+ --color-background-plain-text: #ffffff;
109
+ --image-background: url("/apps/theming/img/background/jo-myoung-hee-fluid-dark.webp");
110
+ }