@7365admin1/layer-common 3.2.2-staging.128 → 3.2.2-staging.130

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.
@@ -20,17 +20,18 @@
20
20
 
21
21
  <template #extension>
22
22
  <v-row no-gutters class="w-100 d-flex flex-column">
23
- <v-card
24
- class="w-100 filter-bar d-flex align-center ga-5"
25
- flat
26
- :height="60"
27
- >
23
+ <!--
24
+ A bare `v-card` here paints Vuetify's own `surface`, a shade off
25
+ the table card it sits inside. A plain row on the card's own
26
+ background, with both filters on the design's field.
27
+ -->
28
+ <div class="w-100 filter-bar d-flex align-center ga-5">
28
29
  <v-select
29
30
  v-model="statusFilter"
30
31
  :items="statusOptions"
31
32
  density="compact"
32
33
  hide-details
33
- class="mx-2"
34
+ class="mx-2 filter-field"
34
35
  style="max-width: 160px"
35
36
  item-title="title"
36
37
  item-value="value"
@@ -42,13 +43,13 @@
42
43
  :items="typeOptions"
43
44
  density="compact"
44
45
  hide-details
45
- class="mx-2"
46
+ class="mx-2 filter-field"
46
47
  style="max-width: 160px"
47
48
  item-title="title"
48
49
  item-value="value"
49
50
  label="Type"
50
51
  />
51
- </v-card>
52
+ </div>
52
53
  </v-row>
53
54
  </template>
54
55
  <template #actions>
@@ -106,9 +107,17 @@
106
107
  (item.status && String(item.status).toLowerCase() === 'accepted')
107
108
  "
108
109
  >
109
- <span class="text-capitalize" color="success" variant="tonal">
110
- {{ item.acceptedByName || item.acceptedBy || "Accepted" }}
111
- </span>
110
+ <!--
111
+ `color`/`variant` on a plain `<span>` do nothing - Vuetify only
112
+ reads them on its own components, so this drew as bare cell text
113
+ while reading as a tonal green chip. It is the accepted chip the
114
+ sibling branches already use.
115
+ -->
116
+ <StatusChip
117
+ status="Accepted"
118
+ class="text-capitalize"
119
+ :label="item.acceptedByName || item.acceptedBy || 'Accepted'"
120
+ />
112
121
  </div>
113
122
  <div v-else-if="isScheduleClosed">
114
123
  <StatusChip status="Closed" class="text-capitalize" />
@@ -297,51 +297,41 @@
297
297
  </HygieneUpdateMoreAction>
298
298
  </v-dialog>
299
299
 
300
- <v-dialog v-model="dialogDeleteTask" max-width="450">
301
- <v-card>
302
- <v-toolbar>
303
- <v-row no-gutters class="fill-height px-6" align="center">
304
- <span class="font-weight-bold text-h6 text-capitalize">
305
- Delete {{ selectedTask?.title || "Schedule Task" }}
306
- </span>
307
- </v-row>
308
- </v-toolbar>
309
- <v-card-text>
310
- <span class="text-subtitle-2"
311
- >Are you sure you want to delete this schedule task?</span
312
- >
300
+ <!--
301
+ Was a `v-toolbar` title bar (Vuetify paints that from its own `surface`,
302
+ a grey slab visibly lighter than the card on dark) over a second toolbar
303
+ carrying two block buttons, the confirm one on `color="black"` - not a
304
+ token, so it drew a light-theme fill on the dark theme. It is the shared
305
+ confirmation shape now, the same one every converted screen uses.
306
+ -->
307
+ <v-dialog v-model="dialogDeleteTask" max-width="520">
308
+ <v-card class="screen-modal">
309
+ <v-card-title class="text-capitalize">
310
+ Delete {{ selectedTask?.title || "Schedule Task" }}
311
+ </v-card-title>
312
+
313
+ <v-card-text class="screen-modal__body">
314
+ Are you sure you want to delete this schedule task?
313
315
  </v-card-text>
314
316
 
315
- <v-toolbar class="pa-0" density="compact">
316
- <v-row no-gutters>
317
- <v-col cols="6" class="pa-0">
318
- <v-btn
319
- block
320
- variant="text"
321
- class="text-none"
322
- size="large"
323
- @click="dialogDeleteTask = false"
324
- height="48"
325
- >
326
- Cancel
327
- </v-btn>
328
- </v-col>
329
-
330
- <v-col cols="6" class="pa-0">
331
- <v-btn
332
- block
333
- variant="flat"
334
- color="black"
335
- class="text-none font-weight-bold"
336
- height="48"
337
- :loading="submitting"
338
- @click="_deleteScheduleTask"
339
- >
340
- Delete
341
- </v-btn>
342
- </v-col>
343
- </v-row>
344
- </v-toolbar>
317
+ <div class="screen-modal__footer">
318
+ <v-btn
319
+ class="screen-btn-ghost"
320
+ variant="outlined"
321
+ :disabled="submitting"
322
+ @click="dialogDeleteTask = false"
323
+ >
324
+ Cancel
325
+ </v-btn>
326
+ <v-btn
327
+ class="screen-btn-primary"
328
+ variant="flat"
329
+ :loading="submitting"
330
+ @click="_deleteScheduleTask"
331
+ >
332
+ Delete
333
+ </v-btn>
334
+ </div>
345
335
  </v-card>
346
336
  </v-dialog>
347
337
 
@@ -141,51 +141,39 @@
141
141
  </HygieneUpdateMoreAction>
142
142
  </v-dialog>
143
143
 
144
- <v-dialog v-model="dialogDeleteUnit" max-width="450">
145
- <v-card>
146
- <v-toolbar>
147
- <v-row no-gutters class="fill-height px-6" align="center">
148
- <span class="font-weight-bold text-h6 text-capitalize">
149
- Delete {{ selectedUnit?.name || "Unit" }}
150
- </span>
151
- </v-row>
152
- </v-toolbar>
153
- <v-card-text>
154
- <span class="text-subtitle-2"
155
- >Are you sure you want to delete this unit?</span
156
- >
144
+ <!--
145
+ Was a `v-toolbar` title bar over a toolbar footer of two block buttons, the
146
+ confirm one on `color="black"` - not a token, so it drew a light-theme fill
147
+ on the dark theme. The shared confirmation shape now.
148
+ -->
149
+ <v-dialog v-model="dialogDeleteUnit" max-width="520">
150
+ <v-card class="screen-modal">
151
+ <v-card-title class="text-capitalize">
152
+ Delete {{ selectedUnit?.name || "Unit" }}
153
+ </v-card-title>
154
+
155
+ <v-card-text class="screen-modal__body">
156
+ Are you sure you want to delete this unit?
157
157
  </v-card-text>
158
158
 
159
- <v-toolbar class="pa-0" density="compact">
160
- <v-row no-gutters>
161
- <v-col cols="6" class="pa-0">
162
- <v-btn
163
- block
164
- variant="text"
165
- class="text-none"
166
- size="large"
167
- @click="dialogDeleteUnit = false"
168
- height="48"
169
- >
170
- Cancel
171
- </v-btn>
172
- </v-col>
173
-
174
- <v-col cols="6" class="pa-0">
175
- <v-btn
176
- block
177
- variant="flat"
178
- color="black"
179
- class="text-none font-weight-bold"
180
- height="48"
181
- :loading="submitting"
182
- @click="_deleteUnit"
183
- >
184
- Delete
185
- </v-btn>
186
- </v-col>
187
- </v-row>
188
- </v-toolbar>
159
+ <div class="screen-modal__footer">
160
+ <v-btn
161
+ class="screen-btn-ghost"
162
+ variant="outlined"
163
+ :disabled="submitting"
164
+ @click="dialogDeleteUnit = false"
165
+ >
166
+ Cancel
167
+ </v-btn>
168
+ <v-btn
169
+ class="screen-btn-primary"
170
+ variant="flat"
171
+ :loading="submitting"
172
+ @click="_deleteUnit"
173
+ >
174
+ Delete
175
+ </v-btn>
176
+ </div>
189
177
  </v-card>
190
178
  </v-dialog>
191
179
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <FormDialog v-model="dialog" @close="closeDialog">
3
3
  <template #title>
4
- <span class="text-h6 font-weight-medium pt-1 text-capitalize">
4
+ <span class="screen-card-title pt-1 text-capitalize">
5
5
  {{ isEditMode ? "Edit Work Order" : "Create Work Order" }}
6
6
  </span>
7
7
  </template>
@@ -24,8 +24,7 @@
24
24
  item-props
25
25
  label="Subject"
26
26
  variant="outlined"
27
- density="compact"
28
- class="mb-2"
27
+ class="filter-field mb-2"
29
28
  :clearable="
30
29
  props.createdFrom === 'feedback' && workOrder.subject !== ''
31
30
  ? false
@@ -39,7 +38,7 @@
39
38
  :custom-filter="customFilter"
40
39
  :rules="[requiredRule]"
41
40
  >
42
- <template #label> Subject <span class="text-red">*</span> </template>
41
+ <template #label> Subject <span class="form-required">*</span> </template>
43
42
  </v-autocomplete>
44
43
 
45
44
  <v-autocomplete
@@ -50,8 +49,7 @@
50
49
  item-props
51
50
  label="Category"
52
51
  variant="outlined"
53
- density="compact"
54
- class="mb-2"
52
+ class="filter-field mb-2"
55
53
  :clearable="
56
54
  props.createdFrom === 'feedback' && workOrder.category !== ''
57
55
  ? false
@@ -64,12 +62,12 @@
64
62
  "
65
63
  :rules="[requiredRule]"
66
64
  >
67
- <template #label> Category <span class="text-red">*</span> </template>
65
+ <template #label> Category <span class="form-required">*</span> </template>
68
66
  </v-autocomplete>
69
67
 
70
68
  <v-checkbox v-model="workOrder.highPriority" density="compact" class="ma-0">
71
69
  <template #label>
72
- <span class="text-caption">
70
+ <span class="form-check-label">
73
71
  Set work order as High Priority (Optional)
74
72
  </span>
75
73
  </template>
@@ -98,14 +96,13 @@
98
96
  <v-autocomplete
99
97
  label="Unit"
100
98
  variant="outlined"
101
- density="compact"
99
+ class="filter-field mt-1"
102
100
  v-model="workOrder.unit"
103
101
  :items="units"
104
- class="mt-1"
105
102
  clearable
106
103
  :rules="[requiredRule]"
107
104
  >
108
- <template #label> Unit <span class="text-red">*</span> </template>
105
+ <template #label> Unit <span class="form-required">*</span> </template>
109
106
  </v-autocomplete>
110
107
 
111
108
  <!-- <v-text-field
@@ -125,23 +122,21 @@
125
122
  <v-textarea
126
123
  label="Work Order Description"
127
124
  variant="outlined"
128
- density="compact"
125
+ class="filter-field mt-1"
129
126
  v-model="workOrder.description"
130
- class="mt-1"
131
127
  rows="4"
132
128
  clearable
133
129
  auto-grow
134
130
  :rules="[requiredRule]"
135
131
  >
136
- <template #label> Description <span class="text-red">*</span> </template>
132
+ <template #label> Description <span class="form-required">*</span> </template>
137
133
  </v-textarea>
138
134
 
139
135
  <template #footer>
140
136
  <v-btn
141
- color="primary-button"
142
- class="text-capitalize mb-4"
137
+ class="screen-btn-primary mb-4"
138
+ variant="flat"
143
139
  block
144
- height="40"
145
140
  :loading="loading"
146
141
  :disabled="loading || !isFormValid"
147
142
  @click="submitWorkOrder"
@@ -282,3 +277,17 @@ const customFilter = (value: string, query: string, item: any) => {
282
277
  return title.includes(search) || subtitle.includes(search);
283
278
  };
284
279
  </script>
280
+
281
+ <style scoped>
282
+ /* The required star was `text-red`, a Vuetify palette word rather than the
283
+ design's error token. */
284
+ .form-required {
285
+ color: var(--err);
286
+ }
287
+
288
+ .form-check-label {
289
+ font-family: var(--font-sans);
290
+ font-size: var(--fs-cell);
291
+ color: var(--text);
292
+ }
293
+ </style>
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@7365admin1/layer-common",
3
3
  "license": "MIT",
4
4
  "type": "module",
5
- "version": "3.2.2-staging.128",
5
+ "version": "3.2.2-staging.130",
6
6
  "author": "7365admin1",
7
7
  "main": "./nuxt.config.ts",
8
8
  "//files": "What a consumer extending this layer actually loads. Without this npm ships the whole working tree - the changesets, the CI workflows, the render harness in tools/ and any scratch directory that happened to exist at publish time. Nuxt resolves a layer by directory, so every runtime directory below has to stay listed; adding a new top-level runtime directory means adding it here too.",