@shwfed/config 2.12.10 → 2.12.11

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 (43) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +8 -3
  3. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +2 -0
  4. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +2 -0
  5. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +2 -0
  6. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +2 -0
  7. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +2 -0
  8. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +2 -0
  9. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +2 -0
  10. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +2 -0
  11. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +2 -0
  12. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +2 -0
  13. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +5 -2
  14. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +2 -0
  15. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +2 -0
  16. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +2 -0
  17. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +2 -0
  18. package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.vue +9 -1
  19. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/runtime.vue +2 -0
  20. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/runtime.vue +2 -0
  21. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +2 -2
  22. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +2 -2
  23. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -2
  24. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -2
  25. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +2 -2
  26. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +2 -2
  27. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -2
  28. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -2
  29. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -2
  30. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -2
  31. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -2
  32. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -2
  33. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  34. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  35. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  36. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  37. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  38. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  39. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  40. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  41. package/dist/runtime/components/table/config.vue +4 -1
  42. package/dist/runtime/components/ui/field/index.js +6 -1
  43. package/package.json +1 -1
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shwfed",
3
3
  "configKey": "shwfed",
4
- "version": "2.12.10",
4
+ "version": "2.12.11",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "unknown"
package/dist/module.mjs CHANGED
@@ -58,10 +58,15 @@ const module$1 = defineNuxtModule({
58
58
  googleicons: false
59
59
  },
60
60
  families: [
61
+ // @nuxt/fonts only downloads the FIRST family of each font-family
62
+ // declaration; later entries are treated as metric-only fallbacks.
63
+ // Everything not in first position (SC/JP behind Noto Sans, Fira
64
+ // Mono behind the local-only Berkeley Mono) needs `global: true`
65
+ // to force its @font-face to ship.
61
66
  { name: "Noto Sans", provider: "bunny" },
62
- { name: "Noto Sans SC", provider: "bunny" },
63
- { name: "Noto Sans JP", provider: "bunny" },
64
- { name: "Fira Mono", provider: "bunny" }
67
+ { name: "Noto Sans SC", provider: "bunny", global: true },
68
+ { name: "Noto Sans JP", provider: "bunny", global: true },
69
+ { name: "Fira Mono", provider: "bunny", global: true }
65
70
  ]
66
71
  }
67
72
  }
@@ -105,6 +105,8 @@ function handleClear() {
105
105
  </FieldLabel>
106
106
  <div
107
107
  v-if="effectiveReadonly"
108
+ data-slot="field-value"
109
+ data-value="true"
108
110
  class="min-h-9 py-1.5 text-sm"
109
111
  :class="draft ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
110
112
  >
@@ -87,6 +87,8 @@ const { isRequired, errors, warnings, visible } = useFieldValidation({
87
87
  </FieldLabel>
88
88
  <div
89
89
  v-if="effectiveReadonly"
90
+ data-slot="field-value"
91
+ data-value="true"
90
92
  class="min-h-9 py-1.5 text-sm whitespace-pre-wrap"
91
93
  :class="draft ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
92
94
  >
@@ -122,6 +122,8 @@ const { isRequired, errors, warnings, visible } = useFieldValidation({
122
122
  </FieldLabel>
123
123
  <div
124
124
  v-if="effectiveReadonly"
125
+ data-slot="field-value"
126
+ data-value="true"
125
127
  class="min-h-9 py-1.5 text-sm"
126
128
  :class="model ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
127
129
  >
@@ -152,6 +152,8 @@ const readonlyText = computed(() => {
152
152
  </FieldLabel>
153
153
  <div
154
154
  v-if="effectiveReadonly"
155
+ data-slot="field-value"
156
+ data-value="true"
155
157
  class="min-h-9 py-1.5 text-sm"
156
158
  :class="readonlyText ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
157
159
  >
@@ -122,6 +122,8 @@ const { isRequired, errors, warnings, visible } = useFieldValidation({
122
122
  </FieldLabel>
123
123
  <div
124
124
  v-if="effectiveReadonly"
125
+ data-slot="field-value"
126
+ data-value="true"
125
127
  class="min-h-9 py-1.5 text-sm"
126
128
  :class="model ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
127
129
  >
@@ -152,6 +152,8 @@ const readonlyText = computed(() => {
152
152
  </FieldLabel>
153
153
  <div
154
154
  v-if="effectiveReadonly"
155
+ data-slot="field-value"
156
+ data-value="true"
155
157
  class="min-h-9 py-1.5 text-sm"
156
158
  :class="readonlyText ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
157
159
  >
@@ -95,6 +95,8 @@ const { isRequired, errors, warnings, visible } = useFieldValidation({
95
95
  </FieldLabel>
96
96
  <div
97
97
  v-if="effectiveReadonly"
98
+ data-slot="field-value"
99
+ data-value="true"
98
100
  class="min-h-9 py-1.5 text-sm"
99
101
  :class="model ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
100
102
  >
@@ -118,6 +118,8 @@ const readonlyText = computed(() => {
118
118
  </FieldLabel>
119
119
  <div
120
120
  v-if="effectiveReadonly"
121
+ data-slot="field-value"
122
+ data-value="true"
121
123
  class="min-h-9 py-1.5 text-sm"
122
124
  :class="readonlyText ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
123
125
  >
@@ -160,6 +160,8 @@ async function onBlur() {
160
160
  </FieldLabel>
161
161
  <div
162
162
  v-if="effectiveReadonly"
163
+ data-slot="field-value"
164
+ data-value="true"
163
165
  class="min-h-9 py-1.5 text-sm"
164
166
  :class="[
165
167
  draft != null ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none',
@@ -224,6 +224,8 @@ const readonlyText = computed(() => {
224
224
  </FieldLabel>
225
225
  <div
226
226
  v-if="effectiveReadonly"
227
+ data-slot="field-value"
228
+ data-value="true"
227
229
  class="min-h-9 py-1.5 text-sm"
228
230
  :class="readonlyText ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
229
231
  >
@@ -16,6 +16,7 @@ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
16
16
  import { InputGroupButton } from "../../../../ui/input-group";
17
17
  import { Markdown } from "../../../../ui/markdown";
18
18
  import { useFieldValidation } from "../../../utils/validation";
19
+ import { useFormReadonly } from "../../../utils/readonly";
19
20
  import { SELF_BINDING, useFormScope, useFormState } from "../../../utils/state";
20
21
  import Row from "./row.vue";
21
22
  defineOptions({ name: "ShwfedListFieldRuntime" });
@@ -54,6 +55,7 @@ const { isRequired, errors, warnings, visible } = useFieldValidation({
54
55
  locale: () => locale.value
55
56
  });
56
57
  const isDisabled = computed(() => evalBool(props.config.disabled, "disabled"));
58
+ const isReadonly = useFormReadonly();
57
59
  const reorderable = computed(() => props.config.reorderable ?? true);
58
60
  const addable = computed(() => props.config.addable ?? true);
59
61
  const isScalarRow = computed(() => {
@@ -242,7 +244,7 @@ function rowConfig(i) {
242
244
  >
243
245
  <div class="flex items-center gap-2">
244
246
  <Icon
245
- v-if="reorderable"
247
+ v-if="reorderable && !isReadonly"
246
248
  icon="fluent:re-order-dots-vertical-20-regular"
247
249
  class="drag-handle size-4 shrink-0 text-zinc-400"
248
250
  :class="canReorder ? 'cursor-grab' : 'cursor-not-allowed opacity-50'"
@@ -286,6 +288,7 @@ function rowConfig(i) {
286
288
  </div>
287
289
 
288
290
  <InputGroupButton
291
+ v-if="!isReadonly"
289
292
  variant="destructive"
290
293
  size="icon-xs"
291
294
  class="shrink-0"
@@ -314,7 +317,7 @@ function rowConfig(i) {
314
317
  </div>
315
318
 
316
319
  <Button
317
- v-if="addable"
320
+ v-if="addable && !isReadonly"
318
321
  type="button"
319
322
  :disabled="!canAdd"
320
323
  data-slot="list-add"
@@ -122,6 +122,8 @@ const model = computed({
122
122
  </FieldLabel>
123
123
  <div
124
124
  v-if="effectiveReadonly"
125
+ data-slot="field-value"
126
+ data-value="true"
125
127
  class="min-h-9 py-1.5 text-sm"
126
128
  :class="model ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
127
129
  >
@@ -152,6 +152,8 @@ const readonlyText = computed(() => {
152
152
  </FieldLabel>
153
153
  <div
154
154
  v-if="effectiveReadonly"
155
+ data-slot="field-value"
156
+ data-value="true"
155
157
  class="min-h-9 py-1.5 text-sm"
156
158
  :class="readonlyText ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
157
159
  >
@@ -382,6 +382,8 @@ const hoveredTooltip = computed(() => {
382
382
 
383
383
  <div
384
384
  v-if="effectiveReadonly"
385
+ data-slot="field-value"
386
+ data-value="true"
385
387
  class="min-h-9 py-1.5 text-sm"
386
388
  :class="triggerLabel ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
387
389
  >
@@ -370,6 +370,8 @@ const hoveredTooltip = computed(() => {
370
370
 
371
371
  <div
372
372
  v-if="effectiveReadonly"
373
+ data-slot="field-value"
374
+ data-value="true"
373
375
  class="min-h-9 py-1.5 text-sm"
374
376
  :class="triggerLabel ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
375
377
  >
@@ -375,7 +375,15 @@ async function onDownloadTemplate(template) {
375
375
  :data-readonly="isReadonly || void 0"
376
376
  >
377
377
  <div
378
- v-if="entries.length === 0"
378
+ v-if="entries.length === 0 && isReadonly"
379
+ class="min-h-9 py-1.5 text-sm font-mono text-zinc-300 select-none"
380
+ data-slot="upload-empty"
381
+ >
382
+ {{ "-" }}
383
+ </div>
384
+
385
+ <div
386
+ v-else-if="entries.length === 0"
379
387
  role="button"
380
388
  :tabindex="canAdd ? 0 : -1"
381
389
  data-slot="upload-zone"
@@ -319,6 +319,8 @@ function handleClear() {
319
319
  </FieldLabel>
320
320
  <div
321
321
  v-if="effectiveReadonly"
322
+ data-slot="field-value"
323
+ data-value="true"
322
324
  class="min-h-9 py-1.5 text-sm"
323
325
  :class="readonlyLabel ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
324
326
  >
@@ -324,6 +324,8 @@ const anyHasTooltip = computed(
324
324
  </FieldLabel>
325
325
  <div
326
326
  v-if="effectiveReadonly"
327
+ data-slot="field-value"
328
+ data-value="true"
327
329
  class="min-h-9 py-1.5 text-sm"
328
330
  :class="selectedLabel ? 'text-zinc-700' : 'font-mono text-zinc-300 select-none'"
329
331
  >
@@ -53,9 +53,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
53
  readonly locale: "en" | "ja" | "ko";
54
54
  readonly message: string;
55
55
  }[]];
56
- readonly successMessage?: string | undefined;
57
56
  readonly accessor?: string | undefined;
58
57
  readonly sortKey?: string | undefined;
58
+ readonly successMessage?: string | undefined;
59
59
  }) => any;
60
60
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
61
61
  "onUpdate:modelValue"?: ((value: {
@@ -108,9 +108,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  readonly locale: "en" | "ja" | "ko";
109
109
  readonly message: string;
110
110
  }[]];
111
- readonly successMessage?: string | undefined;
112
111
  readonly accessor?: string | undefined;
113
112
  readonly sortKey?: string | undefined;
113
+ readonly successMessage?: string | undefined;
114
114
  }) => any) | undefined;
115
115
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
116
116
  declare const _default: typeof __VLS_export;
@@ -53,9 +53,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
53
  readonly locale: "en" | "ja" | "ko";
54
54
  readonly message: string;
55
55
  }[]];
56
- readonly successMessage?: string | undefined;
57
56
  readonly accessor?: string | undefined;
58
57
  readonly sortKey?: string | undefined;
58
+ readonly successMessage?: string | undefined;
59
59
  }) => any;
60
60
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
61
61
  "onUpdate:modelValue"?: ((value: {
@@ -108,9 +108,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  readonly locale: "en" | "ja" | "ko";
109
109
  readonly message: string;
110
110
  }[]];
111
- readonly successMessage?: string | undefined;
112
111
  readonly accessor?: string | undefined;
113
112
  readonly sortKey?: string | undefined;
113
+ readonly successMessage?: string | undefined;
114
114
  }) => any) | undefined;
115
115
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
116
116
  declare const _default: typeof __VLS_export;
@@ -67,9 +67,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
67
67
  }[]] | undefined;
68
68
  readonly readonly?: string | undefined;
69
69
  readonly enableSorting?: boolean | undefined;
70
- readonly successMessage?: string | undefined;
71
70
  readonly accessor?: string | undefined;
72
71
  readonly sortKey?: string | undefined;
72
+ readonly successMessage?: string | undefined;
73
73
  }) => any;
74
74
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
75
75
  "onUpdate:modelValue"?: ((value: {
@@ -136,9 +136,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
136
136
  }[]] | undefined;
137
137
  readonly readonly?: string | undefined;
138
138
  readonly enableSorting?: boolean | undefined;
139
- readonly successMessage?: string | undefined;
140
139
  readonly accessor?: string | undefined;
141
140
  readonly sortKey?: string | undefined;
141
+ readonly successMessage?: string | undefined;
142
142
  }) => any) | undefined;
143
143
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
144
144
  declare const _default: typeof __VLS_export;
@@ -67,9 +67,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
67
67
  }[]] | undefined;
68
68
  readonly readonly?: string | undefined;
69
69
  readonly enableSorting?: boolean | undefined;
70
- readonly successMessage?: string | undefined;
71
70
  readonly accessor?: string | undefined;
72
71
  readonly sortKey?: string | undefined;
72
+ readonly successMessage?: string | undefined;
73
73
  }) => any;
74
74
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
75
75
  "onUpdate:modelValue"?: ((value: {
@@ -136,9 +136,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
136
136
  }[]] | undefined;
137
137
  readonly readonly?: string | undefined;
138
138
  readonly enableSorting?: boolean | undefined;
139
- readonly successMessage?: string | undefined;
140
139
  readonly accessor?: string | undefined;
141
140
  readonly sortKey?: string | undefined;
141
+ readonly successMessage?: string | undefined;
142
142
  }) => any) | undefined;
143
143
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
144
144
  declare const _default: typeof __VLS_export;
@@ -53,9 +53,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
53
  readonly locale: "en" | "ja" | "ko";
54
54
  readonly message: string;
55
55
  }[]];
56
- readonly successMessage?: string | undefined;
57
56
  readonly accessor?: string | undefined;
58
57
  readonly sortKey?: string | undefined;
58
+ readonly successMessage?: string | undefined;
59
59
  }) => any;
60
60
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
61
61
  "onUpdate:modelValue"?: ((value: {
@@ -108,9 +108,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  readonly locale: "en" | "ja" | "ko";
109
109
  readonly message: string;
110
110
  }[]];
111
- readonly successMessage?: string | undefined;
112
111
  readonly accessor?: string | undefined;
113
112
  readonly sortKey?: string | undefined;
113
+ readonly successMessage?: string | undefined;
114
114
  }) => any) | undefined;
115
115
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
116
116
  declare const _default: typeof __VLS_export;
@@ -53,9 +53,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
53
  readonly locale: "en" | "ja" | "ko";
54
54
  readonly message: string;
55
55
  }[]];
56
- readonly successMessage?: string | undefined;
57
56
  readonly accessor?: string | undefined;
58
57
  readonly sortKey?: string | undefined;
58
+ readonly successMessage?: string | undefined;
59
59
  }) => any;
60
60
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
61
61
  "onUpdate:modelValue"?: ((value: {
@@ -108,9 +108,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  readonly locale: "en" | "ja" | "ko";
109
109
  readonly message: string;
110
110
  }[]];
111
- readonly successMessage?: string | undefined;
112
111
  readonly accessor?: string | undefined;
113
112
  readonly sortKey?: string | undefined;
113
+ readonly successMessage?: string | undefined;
114
114
  }) => any) | undefined;
115
115
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
116
116
  declare const _default: typeof __VLS_export;
@@ -67,9 +67,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
67
67
  }[]] | undefined;
68
68
  readonly readonly?: string | undefined;
69
69
  readonly enableSorting?: boolean | undefined;
70
- readonly successMessage?: string | undefined;
71
70
  readonly accessor?: string | undefined;
72
71
  readonly sortKey?: string | undefined;
72
+ readonly successMessage?: string | undefined;
73
73
  }) => any;
74
74
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
75
75
  "onUpdate:modelValue"?: ((value: {
@@ -136,9 +136,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
136
136
  }[]] | undefined;
137
137
  readonly readonly?: string | undefined;
138
138
  readonly enableSorting?: boolean | undefined;
139
- readonly successMessage?: string | undefined;
140
139
  readonly accessor?: string | undefined;
141
140
  readonly sortKey?: string | undefined;
141
+ readonly successMessage?: string | undefined;
142
142
  }) => any) | undefined;
143
143
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
144
144
  declare const _default: typeof __VLS_export;
@@ -67,9 +67,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
67
67
  }[]] | undefined;
68
68
  readonly readonly?: string | undefined;
69
69
  readonly enableSorting?: boolean | undefined;
70
- readonly successMessage?: string | undefined;
71
70
  readonly accessor?: string | undefined;
72
71
  readonly sortKey?: string | undefined;
72
+ readonly successMessage?: string | undefined;
73
73
  }) => any;
74
74
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
75
75
  "onUpdate:modelValue"?: ((value: {
@@ -136,9 +136,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
136
136
  }[]] | undefined;
137
137
  readonly readonly?: string | undefined;
138
138
  readonly enableSorting?: boolean | undefined;
139
- readonly successMessage?: string | undefined;
140
139
  readonly accessor?: string | undefined;
141
140
  readonly sortKey?: string | undefined;
141
+ readonly successMessage?: string | undefined;
142
142
  }) => any) | undefined;
143
143
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
144
144
  declare const _default: typeof __VLS_export;
@@ -82,9 +82,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
82
82
  }[]] | undefined;
83
83
  readonly readonly?: string | undefined;
84
84
  readonly enableSorting?: boolean | undefined;
85
- readonly successMessage?: string | undefined;
86
85
  readonly accessor?: string | undefined;
87
86
  readonly sortKey?: string | undefined;
87
+ readonly successMessage?: string | undefined;
88
88
  }) => any;
89
89
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
90
90
  "onUpdate:modelValue"?: ((value: {
@@ -166,9 +166,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
166
166
  }[]] | undefined;
167
167
  readonly readonly?: string | undefined;
168
168
  readonly enableSorting?: boolean | undefined;
169
- readonly successMessage?: string | undefined;
170
169
  readonly accessor?: string | undefined;
171
170
  readonly sortKey?: string | undefined;
171
+ readonly successMessage?: string | undefined;
172
172
  }) => any) | undefined;
173
173
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
174
174
  declare const _default: typeof __VLS_export;
@@ -82,9 +82,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
82
82
  }[]] | undefined;
83
83
  readonly readonly?: string | undefined;
84
84
  readonly enableSorting?: boolean | undefined;
85
- readonly successMessage?: string | undefined;
86
85
  readonly accessor?: string | undefined;
87
86
  readonly sortKey?: string | undefined;
87
+ readonly successMessage?: string | undefined;
88
88
  }) => any;
89
89
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
90
90
  "onUpdate:modelValue"?: ((value: {
@@ -166,9 +166,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
166
166
  }[]] | undefined;
167
167
  readonly readonly?: string | undefined;
168
168
  readonly enableSorting?: boolean | undefined;
169
- readonly successMessage?: string | undefined;
170
169
  readonly accessor?: string | undefined;
171
170
  readonly sortKey?: string | undefined;
171
+ readonly successMessage?: string | undefined;
172
172
  }) => any) | undefined;
173
173
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
174
174
  declare const _default: typeof __VLS_export;
@@ -82,9 +82,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
82
82
  }[]] | undefined;
83
83
  readonly readonly?: string | undefined;
84
84
  readonly enableSorting?: boolean | undefined;
85
- readonly successMessage?: string | undefined;
86
85
  readonly accessor?: string | undefined;
87
86
  readonly sortKey?: string | undefined;
87
+ readonly successMessage?: string | undefined;
88
88
  }) => any;
89
89
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
90
90
  "onUpdate:modelValue"?: ((value: {
@@ -166,9 +166,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
166
166
  }[]] | undefined;
167
167
  readonly readonly?: string | undefined;
168
168
  readonly enableSorting?: boolean | undefined;
169
- readonly successMessage?: string | undefined;
170
169
  readonly accessor?: string | undefined;
171
170
  readonly sortKey?: string | undefined;
171
+ readonly successMessage?: string | undefined;
172
172
  }) => any) | undefined;
173
173
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
174
174
  declare const _default: typeof __VLS_export;
@@ -82,9 +82,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
82
82
  }[]] | undefined;
83
83
  readonly readonly?: string | undefined;
84
84
  readonly enableSorting?: boolean | undefined;
85
- readonly successMessage?: string | undefined;
86
85
  readonly accessor?: string | undefined;
87
86
  readonly sortKey?: string | undefined;
87
+ readonly successMessage?: string | undefined;
88
88
  }) => any;
89
89
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
90
90
  "onUpdate:modelValue"?: ((value: {
@@ -166,9 +166,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
166
166
  }[]] | undefined;
167
167
  readonly readonly?: string | undefined;
168
168
  readonly enableSorting?: boolean | undefined;
169
- readonly successMessage?: string | undefined;
170
169
  readonly accessor?: string | undefined;
171
170
  readonly sortKey?: string | undefined;
171
+ readonly successMessage?: string | undefined;
172
172
  }) => any) | undefined;
173
173
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
174
174
  declare const _default: typeof __VLS_export;
@@ -90,8 +90,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
90
90
  readonly target: string;
91
91
  readonly operation: string;
92
92
  }[] | undefined;
93
- readonly successMessage?: string | undefined;
94
93
  readonly accessor: string;
94
+ readonly successMessage?: string | undefined;
95
95
  };
96
96
  }) => any;
97
97
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -182,8 +182,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
182
182
  readonly target: string;
183
183
  readonly operation: string;
184
184
  }[] | undefined;
185
- readonly successMessage?: string | undefined;
186
185
  readonly accessor: string;
186
+ readonly successMessage?: string | undefined;
187
187
  };
188
188
  }) => any) | undefined;
189
189
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -90,8 +90,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
90
90
  readonly target: string;
91
91
  readonly operation: string;
92
92
  }[] | undefined;
93
- readonly successMessage?: string | undefined;
94
93
  readonly accessor: string;
94
+ readonly successMessage?: string | undefined;
95
95
  };
96
96
  }) => any;
97
97
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -182,8 +182,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
182
182
  readonly target: string;
183
183
  readonly operation: string;
184
184
  }[] | undefined;
185
- readonly successMessage?: string | undefined;
186
185
  readonly accessor: string;
186
+ readonly successMessage?: string | undefined;
187
187
  };
188
188
  }) => any) | undefined;
189
189
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -90,8 +90,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
90
90
  readonly target: string;
91
91
  readonly operation: string;
92
92
  }[] | undefined;
93
- readonly successMessage?: string | undefined;
94
93
  readonly accessor: string;
94
+ readonly successMessage?: string | undefined;
95
95
  };
96
96
  }) => any;
97
97
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -182,8 +182,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
182
182
  readonly target: string;
183
183
  readonly operation: string;
184
184
  }[] | undefined;
185
- readonly successMessage?: string | undefined;
186
185
  readonly accessor: string;
186
+ readonly successMessage?: string | undefined;
187
187
  };
188
188
  }) => any) | undefined;
189
189
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -90,8 +90,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
90
90
  readonly target: string;
91
91
  readonly operation: string;
92
92
  }[] | undefined;
93
- readonly successMessage?: string | undefined;
94
93
  readonly accessor: string;
94
+ readonly successMessage?: string | undefined;
95
95
  };
96
96
  }) => any;
97
97
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -182,8 +182,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
182
182
  readonly target: string;
183
183
  readonly operation: string;
184
184
  }[] | undefined;
185
- readonly successMessage?: string | undefined;
186
185
  readonly accessor: string;
186
+ readonly successMessage?: string | undefined;
187
187
  };
188
188
  }) => any) | undefined;
189
189
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -85,8 +85,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
85
85
  readonly target: string;
86
86
  readonly operation: string;
87
87
  }[] | undefined;
88
- readonly successMessage?: string | undefined;
89
88
  readonly accessor: string;
89
+ readonly successMessage?: string | undefined;
90
90
  };
91
91
  }) => any;
92
92
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -172,8 +172,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
172
172
  readonly target: string;
173
173
  readonly operation: string;
174
174
  }[] | undefined;
175
- readonly successMessage?: string | undefined;
176
175
  readonly accessor: string;
176
+ readonly successMessage?: string | undefined;
177
177
  };
178
178
  }) => any) | undefined;
179
179
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -85,8 +85,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
85
85
  readonly target: string;
86
86
  readonly operation: string;
87
87
  }[] | undefined;
88
- readonly successMessage?: string | undefined;
89
88
  readonly accessor: string;
89
+ readonly successMessage?: string | undefined;
90
90
  };
91
91
  }) => any;
92
92
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -172,8 +172,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
172
172
  readonly target: string;
173
173
  readonly operation: string;
174
174
  }[] | undefined;
175
- readonly successMessage?: string | undefined;
176
175
  readonly accessor: string;
176
+ readonly successMessage?: string | undefined;
177
177
  };
178
178
  }) => any) | undefined;
179
179
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -85,8 +85,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
85
85
  readonly target: string;
86
86
  readonly operation: string;
87
87
  }[] | undefined;
88
- readonly successMessage?: string | undefined;
89
88
  readonly accessor: string;
89
+ readonly successMessage?: string | undefined;
90
90
  };
91
91
  }) => any;
92
92
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -172,8 +172,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
172
172
  readonly target: string;
173
173
  readonly operation: string;
174
174
  }[] | undefined;
175
- readonly successMessage?: string | undefined;
176
175
  readonly accessor: string;
176
+ readonly successMessage?: string | undefined;
177
177
  };
178
178
  }) => any) | undefined;
179
179
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -85,8 +85,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
85
85
  readonly target: string;
86
86
  readonly operation: string;
87
87
  }[] | undefined;
88
- readonly successMessage?: string | undefined;
89
88
  readonly accessor: string;
89
+ readonly successMessage?: string | undefined;
90
90
  };
91
91
  }) => any;
92
92
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -172,8 +172,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
172
172
  readonly target: string;
173
173
  readonly operation: string;
174
174
  }[] | undefined;
175
- readonly successMessage?: string | undefined;
176
175
  readonly accessor: string;
176
+ readonly successMessage?: string | undefined;
177
177
  };
178
178
  }) => any) | undefined;
179
179
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -612,7 +612,10 @@ async function pasteColumns() {
612
612
  const clip = await readClip();
613
613
  if (!clip || clip.surface !== "table") return;
614
614
  const { items } = reidFragment(clip.items);
615
- const pasted = items.map(({ groupId: _g, ...rest }) => rest);
615
+ const pasted = items.map(({ groupId: _g, ...rest }) => ({
616
+ ...rest,
617
+ id: crypto.randomUUID()
618
+ }));
616
619
  if (pasted.length === 0) return;
617
620
  editingColumns.value = [...editingColumns.value, ...pasted];
618
621
  const ids = pasted.map((c) => c.id);
@@ -43,7 +43,12 @@ export const fieldVariants = cva(
43
43
  // input baseline 0.5 down to keep its caret/text optically centered
44
44
  // against the notch. Only applied when a label is actually present —
45
45
  // a label-less floating field should sit flush with the border.
46
- "has-[>[data-slot=field-label]]:**:data-[slot=input]:translate-y-0.5"
46
+ "has-[>[data-slot=field-label]]:**:data-[slot=input]:translate-y-0.5",
47
+ // Readonly view: the field swaps its control for a plain value slot
48
+ // (`data-slot=field-value`, which also sets `data-value=true` so the
49
+ // label lifts). That value has no border/notch, so pad its top to
50
+ // clear the lifted label instead of overlapping the first line.
51
+ "has-[>[data-slot=field-label]]:**:data-[slot=field-value]:pt-4"
47
52
  ],
48
53
  contents: [
49
54
  "contents",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shwfed/config",
3
- "version": "2.12.10",
3
+ "version": "2.12.11",
4
4
  "description": "Configurable UI for SHWFED",
5
5
  "type": "module",
6
6
  "publishConfig": {