@7365admin1/layer-common 3.2.7 → 3.2.8-staging.201
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.
- package/assets/css/primitives.css +1113 -0
- package/assets/css/screens.css +1097 -0
- package/assets/css/shell.css +258 -0
- package/assets/css/tokens.css +236 -0
- package/components/AcceptDialog.vue +17 -18
- package/components/AccessCard/AvailableStats.vue +24 -16
- package/components/AccessCardAddForm.vue +42 -42
- package/components/AccessCardAssignToUnitForm.vue +13 -21
- package/components/AccessCardDeleteDialog.vue +41 -39
- package/components/AccessCardDetailsDialog.vue +125 -79
- package/components/AccessCardPreviewDialog.vue +58 -84
- package/components/AccessCardQrTagging.vue +60 -63
- package/components/AccessCardReplaceForm.vue +27 -23
- package/components/AccessManagement.vue +86 -85
- package/components/AddEqupmentForm.vue +18 -22
- package/components/AddPassKeyToVisitor.vue +95 -73
- package/components/AppButton.vue +62 -0
- package/components/AppCard.vue +20 -0
- package/components/AppDateField.vue +49 -0
- package/components/AppField.vue +76 -0
- package/components/AppKpiTile.vue +65 -0
- package/components/AppSegmented.vue +38 -0
- package/components/AppSelect.vue +247 -0
- package/components/AreaChecklistHistoryLogs.vue +51 -44
- package/components/AreaChecklistHistoryMain.vue +14 -7
- package/components/AreaFormDialog.vue +71 -59
- package/components/AreaMain.vue +73 -107
- package/components/AttachmentsViewer.vue +84 -22
- package/components/AttendanceCheckInOutDialog.vue +85 -88
- package/components/AttendanceDetailsDialog.vue +57 -63
- package/components/AttendanceMain.vue +4 -3
- package/components/AttendanceMapSearchDialog.vue +42 -44
- package/components/AttendanceSettingsDialog.vue +79 -63
- package/components/Avatar/Main.vue +54 -2
- package/components/BillingMain.vue +26 -30
- package/components/BtnUploadFile.vue +53 -11
- package/components/BuildingForm.vue +34 -27
- package/components/BuildingManagement/buildings.vue +39 -39
- package/components/BuildingManagement/units.vue +26 -42
- package/components/BuildingUnitFormAdd.vue +20 -23
- package/components/BuildingUnitFormEdit.vue +8 -4
- package/components/BulletinBoardForm.vue +19 -24
- package/components/BulletinBoardManagement.vue +49 -57
- package/components/BulletinBoardView.vue +9 -6
- package/components/BulletinExpirationChip.vue +13 -4
- package/components/Button/Close.vue +2 -2
- package/components/CameraForm.vue +21 -22
- package/components/CameraMain.vue +50 -49
- package/components/Card/DeleteConfirmation.vue +24 -22
- package/components/Card/MemberInfoSummary.vue +28 -3
- package/components/Card/Toggle.vue +15 -3
- package/components/CardToolbar.vue +37 -0
- package/components/Carousel.vue +56 -36
- package/components/Chat/Bubbles.vue +43 -14
- package/components/Chat/Information.vue +49 -32
- package/components/Chat/ListCard.vue +38 -9
- package/components/Chat/Message.vue +41 -15
- package/components/Chat/Navigation.vue +27 -15
- package/components/Chat/SkeletonLoader.vue +9 -2
- package/components/ChecklistItemRow.vue +25 -1
- package/components/CleaningScheduleMain.vue +44 -49
- package/components/ClientDetailForm.vue +81 -56
- package/components/ClientMain.vue +92 -82
- package/components/ConfirmDialog.vue +14 -8
- package/components/Container/Standard.vue +9 -7
- package/components/CreateSubsciptionPlan.vue +148 -89
- package/components/DashboardEmptyState.vue +48 -3
- package/components/DashboardMain.vue +924 -676
- package/components/DashboardPanel.vue +84 -21
- package/components/DeliveryCompany.vue +34 -20
- package/components/Dialog/DeleteConfirmation.vue +20 -21
- package/components/Dialog/ReplaceAutofillPrompt.vue +19 -26
- package/components/Dialog/ReusablePrompt.vue +30 -29
- package/components/Dialog/UpdateMoreAction.vue +62 -59
- package/components/DocumentForm.vue +14 -21
- package/components/DocumentManagement.vue +162 -108
- package/components/DocumentViewer.vue +29 -12
- package/components/DrawImage.vue +29 -21
- package/components/EntryPass/QrTemplatePreview.vue +27 -16
- package/components/EntryPassInformation.vue +40 -10
- package/components/EntryPassMain.vue +49 -27
- package/components/EquipmentItemMain.vue +84 -97
- package/components/EquipmentManagementMain.vue +81 -103
- package/components/Facility/BookingSetup.vue +43 -52
- package/components/Feedback/Form.vue +26 -12
- package/components/FeedbackMain.vue +35 -49
- package/components/FileInput.vue +75 -58
- package/components/FileInputWithList.vue +59 -12
- package/components/FormDialog.vue +60 -21
- package/components/HidAccessLogDashboard.vue +512 -490
- package/components/HidCameraCaptureDialog.vue +216 -0
- package/components/HidEnabledGate.vue +67 -9
- package/components/HidIntercomManagement.vue +1322 -653
- package/components/HidQrCodeConfiguration.vue +1030 -258
- package/components/HidReaderForm.vue +142 -59
- package/components/HidReaderManagement.vue +211 -323
- package/components/HidServiceSettingsPanel.vue +44 -13
- package/components/HidUserEnrollment.vue +1185 -412
- package/components/HygieneUpdateMoreAction.vue +44 -44
- package/components/IncidentReport/Authorities.vue +30 -18
- package/components/IncidentReport/IncidentInformation.vue +10 -10
- package/components/IncidentReport/IncidentInformationDownload.vue +3 -4
- package/components/IncidentReport/affectedEntities.vue +41 -20
- package/components/Input/Date.vue +3 -0
- package/components/Input/DatePicker.vue +1 -2
- package/components/Input/DateTimePicker.vue +1 -1
- package/components/Input/File.vue +55 -10
- package/components/Input/FileV2.vue +39 -6
- package/components/Input/InputPhoneNumberV2.vue +2 -1
- package/components/Input/ListGroupSelection.vue +56 -8
- package/components/Input/NRICNumber.vue +1 -0
- package/components/Input/NewDate.vue +1 -0
- package/components/Input/Number.vue +1 -0
- package/components/Input/Password.vue +1 -0
- package/components/Input/PhoneNumber.vue +21 -1
- package/components/Input/VehicleNumber.vue +1 -0
- package/components/InputLabel.vue +2 -2
- package/components/InvitationClientForm.vue +21 -19
- package/components/InvitationForm.vue +15 -21
- package/components/InvitationMain.vue +46 -61
- package/components/Layout/Header.vue +263 -36
- package/components/Layout/NavigationDrawer.vue +300 -30
- package/components/ListItem.vue +33 -3
- package/components/LocalPagination.vue +27 -3
- package/components/ManageChecklistMain.vue +136 -86
- package/components/MemberInformation.vue +32 -16
- package/components/MemberMain.vue +113 -93
- package/components/MyAttendanceMain.vue +3 -5
- package/components/NavigationItem.vue +83 -3
- package/components/Nfc/NFCPatrolReportMain.vue +47 -33
- package/components/Nfc/NFCPatrolRouteForm.vue +18 -20
- package/components/Nfc/NFCPatrolRouteMain.vue +116 -103
- package/components/Nfc/NFCPatrolSettings.vue +14 -4
- package/components/Nfc/NFCTagForm.vue +22 -8
- package/components/Nfc/NFCTagMain.vue +41 -43
- package/components/Nfc/PatrolReport/DailyReportTab.vue +8 -1
- package/components/Nfc/PatrolReport/MonthlyReportTab.vue +8 -1
- package/components/Nfc/PatrolReport/MonthlyReportTable.vue +5 -3
- package/components/Nfc/PatrolReport/PatrolActivityTable.vue +26 -6
- package/components/Nfc/PatrolReport/PatrolReportTab.vue +8 -0
- package/components/Nfc/PatrolReport/PatrolRouteSummary.vue +41 -9
- package/components/Nfc/PatrolReport/RemarksDialog.vue +39 -9
- package/components/Nfc/PatrolReport/ReportEmptyState.vue +29 -9
- package/components/Nfc/PatrolReport/ReportFilters.vue +19 -10
- package/components/Nfc/PatrolReport/ReportLocationHeader.vue +32 -6
- package/components/Nfc/PatrolReport/SummaryReportTable.vue +28 -6
- package/components/NotificationSettings.vue +373 -0
- package/components/NumberSettingField.vue +9 -2
- package/components/OnlineFormConfigurationForm.vue +725 -237
- package/components/OnlineFormFill.vue +213 -106
- package/components/OnlineFormRenderPreview.vue +25 -30
- package/components/OnlineFormsConfiguration.vue +113 -109
- package/components/OrgViewDialog.vue +34 -16
- package/components/OvernightParkingAvailability.vue +49 -26
- package/components/OvernightParkingManagement.vue +78 -18
- package/components/PageHeader.vue +43 -0
- package/components/PassInformation.vue +109 -53
- package/components/PasswordConfirmation.vue +44 -26
- package/components/PeopleForm.vue +41 -20
- package/components/PhotoUpload.vue +110 -48
- package/components/PlaceholderComponent.vue +35 -19
- package/components/PlanActionsMenu.vue +12 -2
- package/components/PlanStatusBadge.vue +7 -8
- package/components/PlateNumberDisplay.vue +9 -6
- package/components/QrTemplate/PrintDialog.vue +66 -43
- package/components/RolePermissionFormCreate.vue +104 -79
- package/components/RolePermissionFormPreviewUpdate.vue +111 -109
- package/components/RolePermissionMain.vue +183 -81
- package/components/ScanVisitorQRCode.vue +99 -35
- package/components/ScheduleAreaMain.vue +34 -59
- package/components/ScheduleTaskForm.vue +61 -42
- package/components/ScheduleTaskMain.vue +56 -69
- package/components/SearchVehicleNumberUser.vue +39 -37
- package/components/ServiceProviderFormCreate.vue +29 -20
- package/components/ServiceProviderInvitationPrompt.vue +155 -0
- package/components/ServiceProviderMain.vue +601 -432
- package/components/Signature.vue +40 -34
- package/components/SignaturePad.vue +5 -29
- package/components/SiteSettings.vue +41 -11
- package/components/SiteSettingsWorkOrder.vue +61 -30
- package/components/SlideCardGroup.vue +35 -11
- package/components/Snackbar.vue +36 -3
- package/components/SpecificAttr.vue +18 -8
- package/components/StatusChip.vue +156 -0
- package/components/StockCard.vue +17 -12
- package/components/SubscriptionPlanTable.vue +207 -140
- package/components/SwitchContext.vue +201 -9
- package/components/TableHygiene.vue +36 -46
- package/components/TableList.vue +10 -10
- package/components/TableListSecondary.vue +105 -54
- package/components/TableMain.vue +251 -78
- package/components/TableV3.vue +61 -70
- package/components/TiptapEditor.vue +33 -40
- package/components/TiptapEditorQr.vue +5 -2
- package/components/Tooltip/Info.vue +69 -24
- package/components/UnitMain.vue +40 -60
- package/components/UnitPersonCard.vue +42 -13
- package/components/VehicleAddSelection.vue +48 -32
- package/components/VehicleForm.vue +112 -129
- package/components/VehicleManagement.vue +26 -12
- package/components/VehicleUpdateMoreAction.vue +59 -46
- package/components/VisitorDataFromScannedQRCodeForm.vue +90 -65
- package/components/VisitorForm.vue +774 -210
- package/components/VisitorFormSelection.vue +40 -37
- package/components/VisitorManagement.vue +239 -82
- package/components/VisitorPassKeyQRScanner.vue +65 -18
- package/components/VisitorSearchResultSummary.vue +60 -16
- package/components/VisitorSocketPopUp.vue +22 -14
- package/components/VisitorsReportPreview.vue +44 -29
- package/components/WorkOrder/Create.vue +26 -17
- package/components/WorkOrder/ListView.vue +38 -7
- package/components/WorkOrder/Main.vue +62 -59
- package/composables/useFeedback.ts +3 -3
- package/composables/useHidAmico.ts +269 -0
- package/composables/useHidNavigation.ts +2 -9
- package/composables/useMember.ts +3 -3
- package/composables/useNFCPatrolDailyReport.ts +13 -0
- package/composables/useNFCPatrolMonthlyReport.ts +22 -56
- package/composables/useNFCPatrolReport.ts +13 -0
- package/composables/useNotificationPreference.ts +87 -0
- package/composables/useOnlineFormPages.ts +2 -0
- package/composables/useRole.ts +22 -0
- package/composables/useServiceProvider.ts +3 -3
- package/composables/useServiceProviderInvitation.ts +145 -0
- package/composables/useSipWebPhone.ts +336 -0
- package/composables/useSubscriptionPlan.ts +62 -0
- package/composables/useThemePreference.ts +63 -0
- package/composables/useVisitor.ts +6 -1
- package/composables/useWebUsb.ts +127 -37
- package/composables/useWorkOrder.ts +17 -3
- package/error.vue +30 -6
- package/nuxt.config.ts +36 -0
- package/package.json +25 -4
- package/pages/[org]/[site]/access-mgmt/administrator/index.vue +2 -2
- package/pages/[org]/[site]/access-mgmt/{identity-mapping → hid-cards}/index.vue +2 -2
- package/pages/[org]/[site]/access-mgmt/intercom/index.vue +1 -1
- package/pages/notification-settings.vue +19 -0
- package/pages/payment-method-linked.vue +34 -10
- package/pages/require-customer.vue +48 -10
- package/pages/require-organization-membership.vue +32 -8
- package/pages/unauthorized.vue +29 -4
- package/plugins/secure-member.client.ts +21 -56
- package/plugins/vuetify.ts +69 -2
- package/types/nfc-patrol-report.ts +3 -2
- package/types/site.d.ts +71 -0
- package/types/subscription.ts +18 -11
- package/utils/breadcrumb.test.ts +108 -0
- package/utils/breadcrumb.ts +82 -0
- package/utils/dashboard.test.ts +118 -0
- package/utils/dashboard.ts +53 -0
- package/utils/data.test.ts +95 -0
- package/utils/data.ts +40 -2
- package/utils/hid-discover.test.ts +102 -0
- package/utils/list-page.test.ts +60 -0
- package/utils/list-page.ts +38 -0
- package/utils/materialSymbols.ts +363 -0
- package/utils/nav-sections.test.ts +190 -0
- package/utils/nav-sections.ts +151 -0
- package/utils/nfc-patrol-report.test.ts +130 -0
- package/utils/nfc-patrol-report.ts +101 -0
- package/utils/role.test.ts +69 -0
- package/utils/role.ts +10 -0
- package/utils/route-name.test.ts +85 -0
- package/utils/route-name.ts +24 -0
- package/utils/status.test.ts +110 -0
- package/utils/status.ts +135 -0
- package/utils/table-card.test.ts +84 -0
- package/utils/theme-aa-ledger.ts +148 -0
- package/utils/theme.test.ts +485 -7
- package/utils/theme.ts +295 -110
- package/.changeset/README.md +0 -8
- package/.changeset/config.json +0 -11
- package/.editorconfig +0 -12
- package/.github/workflows/main.yml +0 -17
- package/.github/workflows/publish-staging.yml +0 -47
- package/.github/workflows/publish.yml +0 -39
- package/PUBLISHING.md +0 -269
- package/components/HidIdentityMapping.vue +0 -975
- package/components/ScheduleTaskAreaFormDialog.vue +0 -144
- package/components/ScheduleTaskAreaUpdateMoreAction.vue +0 -109
- package/components/ScheduleTastTicketMain.vue +0 -182
- package/components/TableWithButton.vue +0 -94
- package/test/visitor-socket.test.mjs +0 -36
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
THE STATUS CHIP.
|
|
3
|
+
|
|
4
|
+
A pill in the tone the design assigns to the status WORD, with the 6px
|
|
5
|
+
leading dot. The word -> tone mapping is `utils/status.ts` and is shared, so
|
|
6
|
+
"Open" is the same green on a work order and on a Daily Occurrence Book, and
|
|
7
|
+
a status the design never named comes out neutral rather than guessed.
|
|
8
|
+
|
|
9
|
+
Colour only. The chip prints the label it is given; it does not decide, map,
|
|
10
|
+
translate or shorten a status.
|
|
11
|
+
-->
|
|
12
|
+
<template>
|
|
13
|
+
<span
|
|
14
|
+
class="status-chip"
|
|
15
|
+
:class="[toneClass, { 'status-chip--plain': !dot && !pill, 'status-chip--pill': pill }]"
|
|
16
|
+
>
|
|
17
|
+
<span v-if="dot" class="status-chip__dot" />
|
|
18
|
+
<!-- The slot is for the chips that already carried an icon next to their
|
|
19
|
+
word - a padlock on "Closed - View Only" - so adopting the design's
|
|
20
|
+
pill does not quietly drop it. -->
|
|
21
|
+
<slot>{{ label ?? status }}</slot>
|
|
22
|
+
<!--
|
|
23
|
+
The remove control. NEW design, approved by the owner on 2026-08-14 - the
|
|
24
|
+
handoff draws no removable chip. It is an affordance ON the existing pill,
|
|
25
|
+
not a second shape, so a removable "KEY-309" and a read-only "Issued" stay
|
|
26
|
+
visibly the same family: same 999px pill, same 4px 10px, same 12px/700,
|
|
27
|
+
same 24px height. A chip that cannot be removed is byte-for-byte unchanged.
|
|
28
|
+
-->
|
|
29
|
+
<button
|
|
30
|
+
v-if="removable"
|
|
31
|
+
type="button"
|
|
32
|
+
class="status-chip__x"
|
|
33
|
+
:aria-label="removeLabel || `Remove ${label ?? status}`"
|
|
34
|
+
@click="emit('remove')"
|
|
35
|
+
>
|
|
36
|
+
<v-icon icon="mdi-close" :size="12" />
|
|
37
|
+
</button>
|
|
38
|
+
</span>
|
|
39
|
+
</template>
|
|
40
|
+
|
|
41
|
+
<script setup lang="ts">
|
|
42
|
+
import { statusToneClass } from "../utils/status";
|
|
43
|
+
|
|
44
|
+
const props = defineProps({
|
|
45
|
+
/** The status word - what decides the colour. */
|
|
46
|
+
status: { type: String, default: "" },
|
|
47
|
+
/** What to PRINT, when that differs from the word being matched on. */
|
|
48
|
+
label: { type: String, default: undefined },
|
|
49
|
+
/** The design's tag chips (pass IDs, counts) carry no leading dot. */
|
|
50
|
+
dot: { type: Boolean, default: true },
|
|
51
|
+
/**
|
|
52
|
+
* The handoff draws TWO dotless chips, and they are not the same shape: the
|
|
53
|
+
* 7px-radius 11px tag on a pass, and the 999px 11.5px pill a role name sits
|
|
54
|
+
* in on the Members screen. `pill` picks the second.
|
|
55
|
+
*/
|
|
56
|
+
pill: { type: Boolean, default: false },
|
|
57
|
+
/**
|
|
58
|
+
* For the chips that are not a status WORD at all - a countdown, a rating, a
|
|
59
|
+
* count - where the screen has already worked out the meaning and only needs
|
|
60
|
+
* the design's tone. Given, it wins over the word mapping.
|
|
61
|
+
*/
|
|
62
|
+
tone: {
|
|
63
|
+
type: String as PropType<"ok" | "warn" | "err" | "info" | "neutral" | "">,
|
|
64
|
+
default: "",
|
|
65
|
+
},
|
|
66
|
+
/** Draws the × and emits `remove` when it is pressed. */
|
|
67
|
+
removable: { type: Boolean, default: false },
|
|
68
|
+
/**
|
|
69
|
+
* The × 's accessible name. Defaults to `Remove <the printed label>`, which
|
|
70
|
+
* is right for an identifier chip ("Remove KEY-309"); give it explicitly
|
|
71
|
+
* whenever the printed text alone would not tell a screen-reader user what
|
|
72
|
+
* is about to be taken away.
|
|
73
|
+
*/
|
|
74
|
+
removeLabel: { type: String, default: "" },
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
const emit = defineEmits<{ (e: "remove"): void }>();
|
|
78
|
+
|
|
79
|
+
const toneClass = computed(() =>
|
|
80
|
+
props.tone ? `tone-${props.tone}` : statusToneClass(props.status)
|
|
81
|
+
);
|
|
82
|
+
</script>
|
|
83
|
+
|
|
84
|
+
<style scoped>
|
|
85
|
+
.status-chip {
|
|
86
|
+
display: inline-flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
gap: 6px;
|
|
89
|
+
padding: 4px 10px;
|
|
90
|
+
border-radius: var(--r-pill);
|
|
91
|
+
font-family: var(--font-sans);
|
|
92
|
+
font-size: var(--fs-chip-lg);
|
|
93
|
+
font-weight: var(--fw-chip);
|
|
94
|
+
line-height: 1.4;
|
|
95
|
+
white-space: nowrap;
|
|
96
|
+
/* `--tone-bg` is set alongside the colour by the `.tone-*` class - see
|
|
97
|
+
assets/css/tokens.css - so one class carries both halves of the pair the
|
|
98
|
+
contrast was measured on. */
|
|
99
|
+
background: var(--tone-bg);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.status-chip--plain {
|
|
103
|
+
border-radius: var(--r-tag);
|
|
104
|
+
font-size: var(--fs-chip);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* The role tag: `padding:3px 10px;border-radius:999px;font-size:11.5px`. */
|
|
108
|
+
.status-chip--pill {
|
|
109
|
+
padding: 3px 10px;
|
|
110
|
+
font-size: var(--fs-chip);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/*
|
|
114
|
+
* A 12px glyph needs a 24px target to stay pressable at 360px, but the chip is
|
|
115
|
+
* only 24px tall - so the hit area is INSET into the pill's own padding rather
|
|
116
|
+
* than added to it. The negative margin is what keeps the × from making a
|
|
117
|
+
* removable chip taller than the read-only one beside it.
|
|
118
|
+
*/
|
|
119
|
+
.status-chip__x {
|
|
120
|
+
display: inline-flex;
|
|
121
|
+
align-items: center;
|
|
122
|
+
justify-content: center;
|
|
123
|
+
width: 24px;
|
|
124
|
+
height: 24px;
|
|
125
|
+
margin: -6px -6px -6px 0;
|
|
126
|
+
padding: 0;
|
|
127
|
+
border: none;
|
|
128
|
+
border-radius: var(--r-pill);
|
|
129
|
+
background: transparent;
|
|
130
|
+
/* Chips read as labels first and controls second, so the × sits back from
|
|
131
|
+
the word until it is reached for. */
|
|
132
|
+
color: inherit;
|
|
133
|
+
opacity: 0.62;
|
|
134
|
+
cursor: pointer;
|
|
135
|
+
transition: opacity var(--motion) ease, background var(--motion) ease;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.status-chip__x:hover,
|
|
139
|
+
.status-chip__x:focus-visible {
|
|
140
|
+
opacity: 1;
|
|
141
|
+
background: rgba(0, 0, 0, 0.06);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.v-theme--dark .status-chip__x:hover,
|
|
145
|
+
.v-theme--dark .status-chip__x:focus-visible {
|
|
146
|
+
background: rgba(255, 255, 255, 0.08);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.status-chip__dot {
|
|
150
|
+
width: 6px;
|
|
151
|
+
height: 6px;
|
|
152
|
+
border-radius: var(--r-pill);
|
|
153
|
+
background: currentColor;
|
|
154
|
+
flex: 0 0 6px;
|
|
155
|
+
}
|
|
156
|
+
</style>
|
package/components/StockCard.vue
CHANGED
|
@@ -5,15 +5,18 @@
|
|
|
5
5
|
color="page-background-color fill-height header-row"
|
|
6
6
|
>
|
|
7
7
|
<v-col cols="12" sm="12" md="11" lg="12" xl="12">
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
<!-- The loose Back link above the card becomes the design's title row -
|
|
9
|
+
the page name on the left, its action right-aligned on the same line.
|
|
10
|
+
`title` was already declared here and never drawn. -->
|
|
11
|
+
<PageHeader :title="title">
|
|
12
|
+
<template #actions>
|
|
13
|
+
<AppButton variant="ghost" icon="mdi-arrow-left" @click="back">
|
|
12
14
|
Back
|
|
13
|
-
</
|
|
14
|
-
</
|
|
15
|
-
</
|
|
16
|
-
|
|
15
|
+
</AppButton>
|
|
16
|
+
</template>
|
|
17
|
+
</PageHeader>
|
|
18
|
+
|
|
19
|
+
<AppCard class="pa-5 position-relative">
|
|
17
20
|
<!-- Stock Information -->
|
|
18
21
|
<v-row class="pt-2">
|
|
19
22
|
<v-col cols="12">
|
|
@@ -104,7 +107,7 @@
|
|
|
104
107
|
</TableMain>
|
|
105
108
|
</v-col>
|
|
106
109
|
</v-row>
|
|
107
|
-
</
|
|
110
|
+
</AppCard>
|
|
108
111
|
</v-col>
|
|
109
112
|
</v-row>
|
|
110
113
|
</template>
|
|
@@ -181,9 +184,11 @@ watchEffect(() => {
|
|
|
181
184
|
</script>
|
|
182
185
|
|
|
183
186
|
<style scoped>
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
+
/* The scoped `.text-fontgray { color: #7e7e7e }` that used to sit here is gone.
|
|
188
|
+
It out-specified the layer's tokenised rule in `assets/css/screens.css`, which
|
|
189
|
+
is why these four field labels were the estate's one measured 4.06:1 - the
|
|
190
|
+
same fixed grey in both themes. The surface under them is `AppCard`, which is
|
|
191
|
+
itself tokenised, so the ink can safely follow the theme. */
|
|
187
192
|
|
|
188
193
|
:deep() .v-table .v-table__wrapper > table > thead > tr > th:not(:last-child) {
|
|
189
194
|
border-right: thin solid rgba(var(--v-border-color), var(--v-border-opacity));
|