@africanies/angular-web-sdk 0.1.7 → 0.1.9
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/.angular/cache/22.0.9/playground/.tsbuildinfo +1 -1
- package/.nx/cache/{4082520855419352840 → 15302120112746851896}/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs +30 -8
- package/.nx/cache/15302120112746851896/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +1 -0
- package/.nx/cache/{4082520855419352840 → 15302120112746851896}/dist/libs/africanies-theme/tailwind-preset.cjs +89 -12
- package/.nx/cache/{4082520855419352840 → 15302120112746851896}/dist/libs/africanies-theme/types/africanies-africanies-theme.d.ts +14 -4
- package/.nx/cache/17289624717336768573/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs +4639 -0
- package/.nx/cache/17289624717336768573/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +1 -0
- package/.nx/cache/17289624717336768573/dist/libs/africanies-core/types/africanies-africanies-core.d.ts +2748 -0
- package/.nx/cache/18393832731522001121/dist/libs/africanies-core/README.md +85 -0
- package/.nx/cache/{17491371155400585077 → 18393832731522001121}/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs +139 -51
- package/.nx/cache/18393832731522001121/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +1 -0
- package/.nx/cache/18393832731522001121/dist/libs/africanies-core/package.json +31 -0
- package/.nx/cache/{17491371155400585077 → 18393832731522001121}/dist/libs/africanies-core/types/africanies-africanies-core.d.ts +14 -11
- package/.nx/cache/{3314955264390318442 → 3953970051755345887}/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs +775 -566
- package/.nx/cache/3953970051755345887/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +1 -0
- package/.nx/cache/{17499961385238663835 → 3953970051755345887}/dist/libs/africanies-ui/types/africanies-africanies-ui.d.ts +150 -119
- package/.nx/cache/{12276756491762927325 → 4225324930345532464}/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs +34 -6
- package/.nx/cache/4225324930345532464/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +1 -0
- package/.nx/cache/{12276756491762927325 → 4225324930345532464}/dist/libs/africanies-theme/tailwind-preset.cjs +104 -19
- package/.nx/cache/{12276756491762927325 → 4225324930345532464}/dist/libs/africanies-theme/types/africanies-africanies-theme.d.ts +21 -2
- package/.nx/cache/5151121439688073678/dist/libs/africanies-icons/README.md +69 -0
- package/.nx/cache/5151121439688073678/dist/libs/africanies-icons/assets/icons.sprite.svg +1851 -0
- package/.nx/cache/5151121439688073678/dist/libs/africanies-icons/fesm2022/africanies-africanies-icons.mjs +833 -0
- package/.nx/cache/5151121439688073678/dist/libs/africanies-icons/fesm2022/africanies-africanies-icons.mjs.map +1 -0
- package/.nx/cache/5151121439688073678/dist/libs/africanies-icons/package.json +30 -0
- package/.nx/cache/5151121439688073678/dist/libs/africanies-icons/types/africanies-africanies-icons.d.ts +108 -0
- package/.nx/cache/877026836685850193/dist/libs/africanies-models/README.md +60 -0
- package/.nx/cache/877026836685850193/dist/libs/africanies-models/fesm2022/africanies-africanies-models.mjs +613 -0
- package/.nx/cache/877026836685850193/dist/libs/africanies-models/fesm2022/africanies-africanies-models.mjs.map +1 -0
- package/.nx/cache/877026836685850193/dist/libs/africanies-models/package.json +23 -0
- package/.nx/cache/877026836685850193/dist/libs/africanies-models/types/africanies-africanies-models.d.ts +1452 -0
- package/.nx/cache/{17499961385238663835 → 9406544675747598148}/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs +765 -615
- package/.nx/cache/9406544675747598148/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +1 -0
- package/.nx/cache/{3314955264390318442 → 9406544675747598148}/dist/libs/africanies-ui/types/africanies-africanies-ui.d.ts +170 -130
- package/.nx/cache/run.json +36 -36
- package/.nx/cache/terminalOutputs/{3017748574492080228 → 12565224028063674529} +16 -7
- package/.nx/cache/terminalOutputs/{8648260256613557249 → 13478445034325959094} +175 -172
- package/.nx/cache/terminalOutputs/{7126777490381568487 → 15149466893522345489} +10 -5
- package/.nx/cache/terminalOutputs/{4082520855419352840 → 15302120112746851896} +1 -1
- package/.nx/cache/terminalOutputs/15835338512221847842 +185 -0
- package/.nx/cache/terminalOutputs/{17491371155400585077 → 17289624717336768573} +1 -1
- package/.nx/cache/terminalOutputs/17571479482482478257 +35 -0
- package/.nx/cache/terminalOutputs/{9408529484792607601 → 17960163310445607219} +1 -1
- package/.nx/cache/terminalOutputs/18393832731522001121 +21 -0
- package/.nx/cache/terminalOutputs/3088264223473143358 +8 -0
- package/.nx/cache/terminalOutputs/{3314955264390318442 → 3953970051755345887} +1 -1
- package/.nx/cache/terminalOutputs/{12276756491762927325 → 4225324930345532464} +1 -1
- package/.nx/cache/terminalOutputs/4363587767476846758 +176 -0
- package/.nx/cache/terminalOutputs/5151121439688073678 +21 -0
- package/.nx/cache/terminalOutputs/7462873189468732296 +17 -0
- package/.nx/cache/terminalOutputs/8032148447904822353 +184 -182
- package/.nx/cache/terminalOutputs/8193462679279018087 +39 -0
- package/.nx/cache/terminalOutputs/877026836685850193 +21 -0
- package/.nx/cache/terminalOutputs/9406544675747598148 +21 -0
- package/.nx/workspace-data/0091ABA9-5C90-580D-953C-8C94E763ADB5-v3.db +0 -0
- package/.nx/workspace-data/0091ABA9-5C90-580D-953C-8C94E763ADB5-v3.db-shm +0 -0
- package/.nx/workspace-data/0091ABA9-5C90-580D-953C-8C94E763ADB5-v3.db-wal +0 -0
- package/.nx/workspace-data/d/daemon.log +6813 -0
- package/.nx/workspace-data/d/server-process.json +2 -2
- package/.nx/workspace-data/file-map.json +3490 -3432
- package/.nx/workspace-data/nx_files.nxt +0 -0
- package/.nx/workspace-data/project-graph.json +7 -2
- package/apps/playground/src/app/pages/tokens-page.ts +17 -13
- package/apps/playground/src/app/snippets/filters.snippets.ts +10 -0
- package/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs +6 -1
- package/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +1 -1
- package/dist/libs/africanies-core/types/africanies-africanies-core.d.ts +6 -1
- package/dist/libs/africanies-icons/assets/icons.sprite.svg +7 -0
- package/dist/libs/africanies-icons/fesm2022/africanies-africanies-icons.mjs +1 -0
- package/dist/libs/africanies-icons/fesm2022/africanies-africanies-icons.mjs.map +1 -1
- package/dist/libs/africanies-icons/types/africanies-africanies-icons.d.ts +2 -2
- package/dist/libs/africanies-models/fesm2022/africanies-africanies-models.mjs +22 -8
- package/dist/libs/africanies-models/fesm2022/africanies-africanies-models.mjs.map +1 -1
- package/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs +22 -10
- package/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +1 -1
- package/dist/libs/africanies-theme/tailwind-preset.cjs +84 -16
- package/dist/libs/africanies-theme/types/africanies-africanies-theme.d.ts +4 -2
- package/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs +723 -618
- package/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +1 -1
- package/dist/libs/africanies-ui/types/africanies-africanies-ui.d.ts +142 -114
- package/libs/africanies-core/src/index.ts +1 -1
- package/libs/africanies-core/src/lib/notification/notification-link.ts +6 -1
- package/libs/africanies-icons/src/assets/icons.sprite.svg +7 -0
- package/libs/africanies-icons/src/lib/icon-name.ts +1 -0
- package/libs/africanies-models/src/lib/filters/configs/seed-configs.ts +22 -8
- package/libs/africanies-theme/src/lib/mode-color.safelist.ts +12 -0
- package/libs/africanies-theme/src/lib/mode-color.service.spec.ts +55 -0
- package/libs/africanies-theme/src/lib/mode-color.service.ts +11 -11
- package/libs/africanies-theme/tailwind-preset.cjs +84 -16
- package/libs/africanies-ui/src/lib/action-menu/action-menu.component.ts +3 -3
- package/libs/africanies-ui/src/lib/alert/alert.component.ts +4 -4
- package/libs/africanies-ui/src/lib/avatar/avatar-menu.component.ts +2 -2
- package/libs/africanies-ui/src/lib/button/button.component.spec.ts +7 -7
- package/libs/africanies-ui/src/lib/button/button.component.ts +5 -5
- package/libs/africanies-ui/src/lib/chip/chip.component.ts +4 -4
- package/libs/africanies-ui/src/lib/content-stack/content-stack.component.ts +1 -1
- package/libs/africanies-ui/src/lib/feedback/error-indicator.component.ts +3 -3
- package/libs/africanies-ui/src/lib/feedback/error-state.component.ts +2 -2
- package/libs/africanies-ui/src/lib/filters/filter-drawer.panel.ts +44 -27
- package/libs/africanies-ui/src/lib/forms/checkbox/checkbox.component.ts +2 -1
- package/libs/africanies-ui/src/lib/forms/file-upload/file-preview.dialog.ts +1 -1
- package/libs/africanies-ui/src/lib/forms/file-upload/file-upload.component.ts +1 -1
- package/libs/africanies-ui/src/lib/forms/form-field.classes.ts +36 -6
- package/libs/africanies-ui/src/lib/forms/otp-input/otp-input.component.ts +2 -1
- package/libs/africanies-ui/src/lib/forms/radio/radio.component.ts +2 -1
- package/libs/africanies-ui/src/lib/forms/select/select.component.ts +1 -1
- package/libs/africanies-ui/src/lib/forms/toggle/toggle.component.ts +1 -1
- package/libs/africanies-ui/src/lib/image/image.component.ts +1 -1
- package/libs/africanies-ui/src/lib/info-popover/info-popover.component.ts +2 -2
- package/libs/africanies-ui/src/lib/layout/app-shell-content-header.component.ts +1 -1
- package/libs/africanies-ui/src/lib/layout/app-shell-header.component.ts +14 -14
- package/libs/africanies-ui/src/lib/layout/app-shell.component.html +2 -2
- package/libs/africanies-ui/src/lib/layout/app-shell.component.ts +3 -3
- package/libs/africanies-ui/src/lib/layout/header-greeting.util.ts +0 -2
- package/libs/africanies-ui/src/lib/layout/header-weather.spec.ts +11 -40
- package/libs/africanies-ui/src/lib/layout/header-weather.ts +22 -63
- package/libs/africanies-ui/src/lib/navigation/shipping-mode-switch/shipping-mode-switch.component.ts +6 -6
- package/libs/africanies-ui/src/lib/navigation/side-nav/africanies-side-nav.component.html +21 -13
- package/libs/africanies-ui/src/lib/navigation/side-nav/africanies-side-nav.component.ts +13 -7
- package/libs/africanies-ui/src/lib/notifications/notification-drawer.panel.ts +6 -6
- package/libs/africanies-ui/src/lib/overlay/confirm-dialog.component.ts +2 -2
- package/libs/africanies-ui/src/lib/overlay/drawer.service.ts +2 -2
- package/libs/africanies-ui/src/lib/overlay/modal.service.ts +3 -3
- package/libs/africanies-ui/src/lib/overlay/overlay-frame.component.ts +1 -1
- package/libs/africanies-ui/src/lib/pagination/pagination.component.ts +1 -1
- package/libs/africanies-ui/src/lib/stepper/stepper.component.ts +7 -7
- package/libs/africanies-ui/src/lib/table/table-column.ts +9 -0
- package/libs/africanies-ui/src/lib/table/table.component.spec.ts +99 -0
- package/libs/africanies-ui/src/lib/table/table.component.ts +72 -30
- package/libs/africanies-ui/src/lib/toast/toast-item.component.ts +6 -6
- package/package.json +1 -1
- package/svg/hand-coins.svg +9 -0
- package/.nx/cache/12276756491762927325/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +0 -1
- package/.nx/cache/17491371155400585077/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +0 -1
- package/.nx/cache/17499961385238663835/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +0 -1
- package/.nx/cache/3314955264390318442/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +0 -1
- package/.nx/cache/4082520855419352840/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +0 -1
- package/.nx/cache/terminalOutputs/17499961385238663835 +0 -21
- /package/.nx/cache/{12276756491762927325 → 15302120112746851896}/dist/libs/africanies-theme/README.md +0 -0
- /package/.nx/cache/{12276756491762927325 → 15302120112746851896}/dist/libs/africanies-theme/package.json +0 -0
- /package/.nx/cache/{17491371155400585077 → 17289624717336768573}/dist/libs/africanies-core/README.md +0 -0
- /package/.nx/cache/{17491371155400585077 → 17289624717336768573}/dist/libs/africanies-core/package.json +0 -0
- /package/.nx/cache/{17499961385238663835 → 3953970051755345887}/dist/libs/africanies-ui/README.md +0 -0
- /package/.nx/cache/{17499961385238663835 → 3953970051755345887}/dist/libs/africanies-ui/assets/brand/africanies-logo-mini.png +0 -0
- /package/.nx/cache/{17499961385238663835 → 3953970051755345887}/dist/libs/africanies-ui/assets/brand/africanies-logo.png +0 -0
- /package/.nx/cache/{17499961385238663835 → 3953970051755345887}/dist/libs/africanies-ui/assets/brand/africanies-logo.svg +0 -0
- /package/.nx/cache/{17499961385238663835 → 3953970051755345887}/dist/libs/africanies-ui/assets/carriers/dhl.svg +0 -0
- /package/.nx/cache/{17499961385238663835 → 3953970051755345887}/dist/libs/africanies-ui/package.json +0 -0
- /package/.nx/cache/{4082520855419352840 → 4225324930345532464}/dist/libs/africanies-theme/README.md +0 -0
- /package/.nx/cache/{4082520855419352840 → 4225324930345532464}/dist/libs/africanies-theme/package.json +0 -0
- /package/.nx/cache/{3314955264390318442 → 9406544675747598148}/dist/libs/africanies-ui/README.md +0 -0
- /package/.nx/cache/{3314955264390318442 → 9406544675747598148}/dist/libs/africanies-ui/assets/brand/africanies-logo-mini.png +0 -0
- /package/.nx/cache/{3314955264390318442 → 9406544675747598148}/dist/libs/africanies-ui/assets/brand/africanies-logo.png +0 -0
- /package/.nx/cache/{3314955264390318442 → 9406544675747598148}/dist/libs/africanies-ui/assets/brand/africanies-logo.svg +0 -0
- /package/.nx/cache/{3314955264390318442 → 9406544675747598148}/dist/libs/africanies-ui/assets/carriers/dhl.svg +0 -0
- /package/.nx/cache/{3314955264390318442 → 9406544675747598148}/dist/libs/africanies-ui/package.json +0 -0
- /package/.nx/cache/terminalOutputs/{16279119293212733518 → 14005735098959303198} +0 -0
|
@@ -210,9 +210,9 @@ export {
|
|
|
210
210
|
|
|
211
211
|
// User notifications (auth required)
|
|
212
212
|
export {
|
|
213
|
+
isNotificationExternalLink,
|
|
213
214
|
mapNotification,
|
|
214
215
|
mapNotificationInboxItem,
|
|
215
|
-
isNotificationExternalLink,
|
|
216
216
|
mapNotificationList,
|
|
217
217
|
mapNotificationPayload,
|
|
218
218
|
NOTIFICATION_READ_PATH,
|
|
@@ -12,7 +12,10 @@ const QUERY_SHIPMENT_APP = 'shipment_app';
|
|
|
12
12
|
const LEGACY_PORTAL_HOST =
|
|
13
13
|
/^(?:test-)?(?:admin|customer)-(?:export|import)\.africaniestest\.com$/i;
|
|
14
14
|
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Signed export downloads and other hosts that must not be rewritten in-app.
|
|
17
|
+
* @param link
|
|
18
|
+
*/
|
|
16
19
|
export function isNotificationExternalLink(link: string): boolean {
|
|
17
20
|
const trimmed = decodeNotificationLink(link).trim();
|
|
18
21
|
if (!trimmed) {
|
|
@@ -39,6 +42,8 @@ export function isNotificationExternalLink(link: string): boolean {
|
|
|
39
42
|
* - Legacy portal hosts become relative `/portal/...` paths with query preserved.
|
|
40
43
|
* - When the notification already includes `shipment_app`, it is kept as-is.
|
|
41
44
|
* - Otherwise classic host / `shipment_app` rewriting applies for portal URLs.
|
|
45
|
+
* @param link
|
|
46
|
+
* @param mode
|
|
42
47
|
*/
|
|
43
48
|
export function resolveNotificationLinkForMode(
|
|
44
49
|
link: string | null | undefined,
|
|
@@ -744,6 +744,13 @@
|
|
|
744
744
|
<path d="M14 8H10C9.5 8 9 8.5 9 9V13C9 13.5 9.5 14 10 14V20H14V14C14.5 14 15 13.5 15 13V9C15 8.5 14.5 8 14 8Z" fill="currentColor"/></symbol>
|
|
745
745
|
<symbol id="hammer" viewBox="0 0 24 24"><path d="M9.99707 6L16.9971 13L19.9971 10L15.5171 5.52C15.5171 5.52 12.5471 6.55 10.9971 5L9.99707 6Z" fill="currentColor"/>
|
|
746
746
|
<path d="M12.797 9.79004L4.267 18.31C4.102 18.488 4 18.727 4 18.99C4 19.253 4.101 19.492 4.267 19.671C4.448 19.854 4.7 19.968 4.978 19.968C5.231 19.968 5.462 19.874 5.638 19.72L14.207 11.201L12.797 9.79004Z" fill="currentColor"/></symbol>
|
|
747
|
+
<symbol id="hand-coins" viewBox="0 0 16 15"><path
|
|
748
|
+
fill-rule="evenodd"
|
|
749
|
+
clip-rule="evenodd"
|
|
750
|
+
d="M0.142433 5.8125C0.142433 6.8115 0.394433 7.74975 0.836933 8.5695C0.62996 8.65739 0.447722 8.79474 0.30621 8.96949C0.164697 9.14424 0.0682364 9.35105 0.0252912 9.57178C-0.0176541 9.7925 -0.00577094 10.0204 0.0598977 10.2354C0.125566 10.4505 0.243013 10.6462 0.401933 10.8053L3.64643 14.049C3.95198 14.3546 4.32385 14.5858 4.73318 14.7244C5.14251 14.8631 5.57829 14.9055 6.00668 14.8485L10.4924 14.25H12.8924V15H15.5174V13.875H14.0174V8.25H15.5174V7.125H12.8924V7.875H11.3909C11.7249 6.99496 11.8402 6.04697 11.7269 5.11253C11.6135 4.17809 11.2749 3.28516 10.7402 2.51051C10.2054 1.73585 9.49058 1.10266 8.65704 0.665352C7.8235 0.228047 6.89622 -0.00028052 5.95493 2.58646e-07C4.41336 2.58646e-07 2.93493 0.612387 1.84488 1.70244C0.75482 2.7925 0.142433 4.27093 0.142433 5.8125ZM5.95493 1.125C5.0719 1.12517 4.20686 1.37472 3.45942 1.84492C2.71198 2.31512 2.11253 2.98685 1.73009 3.78277C1.34765 4.57869 1.19776 5.46644 1.29769 6.3438C1.39762 7.22116 1.7433 8.05247 2.29493 8.742L4.64768 9.7995C4.6685 9.54613 4.74629 9.30073 4.87525 9.08164C5.00421 8.86255 5.18101 8.67542 5.39243 8.53425V8.25H4.64243V7.125H6.14243C6.24189 7.125 6.33727 7.08549 6.4076 7.01517C6.47792 6.94484 6.51743 6.84946 6.51743 6.75C6.51743 6.65054 6.47792 6.55516 6.4076 6.48483C6.33727 6.41451 6.24189 6.375 6.14243 6.375H5.76743C5.40208 6.37536 5.04916 6.24237 4.77491 6.00099C4.50066 5.7596 4.32393 5.42642 4.2779 5.06398C4.23187 4.70155 4.3197 4.33477 4.52491 4.03249C4.73012 3.73022 5.03859 3.51323 5.39243 3.42225V2.625H6.51743V3.375H7.26743V4.5H5.76743C5.66798 4.5 5.57259 4.53951 5.50227 4.60984C5.43194 4.68016 5.39243 4.77554 5.39243 4.875C5.39243 4.97446 5.43194 5.06984 5.50227 5.14017C5.57259 5.21049 5.66798 5.25 5.76743 5.25H6.14243C6.50778 5.24964 6.8607 5.38263 7.13496 5.62402C7.40921 5.8654 7.58593 6.19858 7.63196 6.56102C7.67799 6.92345 7.59016 7.29023 7.38495 7.59251C7.17975 7.89478 6.87127 8.11177 6.51743 8.20275V8.25H9.23843L10.1249 7.9545C10.4921 7.23989 10.6693 6.44291 10.6398 5.64006C10.6102 4.8372 10.3748 4.05542 9.95615 3.36973C9.53748 2.68405 8.94961 2.11748 8.24894 1.72439C7.54827 1.33131 6.75833 1.12491 5.95493 1.125ZM5.62343 11.4705L1.47593 9.60675C1.42279 9.58303 1.36303 9.57868 1.30701 9.59444C1.25099 9.6102 1.20227 9.64509 1.16929 9.69304C1.13632 9.74098 1.12118 9.79897 1.1265 9.85691C1.13182 9.91486 1.15727 9.96911 1.19843 10.0103L4.44143 13.2533C4.6248 13.4368 4.84801 13.5756 5.09372 13.6588C5.33943 13.7421 5.60103 13.7675 5.85818 13.7333L10.4182 13.125H12.8924V9H10.5464L9.42143 9.375H6.32993C6.18075 9.375 6.03767 9.43426 5.93219 9.53975C5.8267 9.64524 5.76743 9.78832 5.76743 9.9375C5.76743 10.0867 5.8267 10.2298 5.93219 10.3352C6.03767 10.4407 6.18075 10.5 6.32993 10.5H9.56243L10.4774 11.415L9.68243 12.21L9.09743 11.625H6.32993C6.07793 11.625 5.83793 11.5695 5.62343 11.4705Z"
|
|
751
|
+
fill="currentColor"
|
|
752
|
+
|
|
753
|
+
/></symbol>
|
|
747
754
|
<symbol id="hand" viewBox="0 0 24 24"><path d="M17.4612 6.45C17.0612 6.05 16.4612 5.95 15.9612 6.15C15.9612 5.85 15.8612 5.55 15.5612 5.25C15.3612 5.05 14.9612 4.85 14.4612 4.85C14.1612 4.85 13.9612 4.95 13.7612 4.95C13.7612 4.75 13.6612 4.65 13.5612 4.45C13.0612 3.85 12.0612 3.85 11.5612 4.45C11.3612 4.65 11.1612 4.85 11.1612 5.05C10.9612 5.05 10.7612 4.95 10.5612 4.95C10.0612 4.95 9.76122 5.15 9.46122 5.45C8.96122 5.95 8.96122 6.75 8.96122 6.75V10.55C8.66122 10.25 8.16122 9.75 7.46122 9.75C7.26122 9.75 6.96122 9.85 6.76122 9.95C6.36122 10.15 6.16122 10.45 6.06122 10.85C5.76122 11.85 6.66122 13.25 6.66122 13.35C6.76122 13.45 7.86122 16.05 8.86122 17.15C9.86122 18.35 10.9612 19.05 13.7612 19.05C16.6612 19.05 17.9612 17.45 17.9612 13.95V8.45C17.9612 8.35 18.0612 7.15 17.4612 6.45ZM11.9612 6.05C11.9612 5.75 11.8612 5.05 12.4612 5.05C12.9612 5.05 12.9612 5.55 12.9612 6.05V10.05C12.9612 10.35 13.1612 10.55 13.4612 10.55C13.7612 10.55 13.9612 10.35 13.9612 10.05V6.25C13.9612 6.25 13.9612 5.85 14.4612 5.85C15.0612 5.85 14.9612 6.75 14.9612 6.75V10.05C14.9612 10.35 15.1612 10.55 15.4612 10.55C15.7612 10.55 15.9612 10.35 15.9612 10.05V7.65C15.9612 7.55 15.9612 7.05 16.4612 7.05C16.9612 7.05 16.9612 8.05 16.9612 8.05V13.95C16.9612 17.35 15.6612 18.05 13.7612 18.05C11.3612 18.05 10.4612 17.55 9.66122 16.45C8.76122 15.45 7.56122 12.85 7.56122 12.75C7.26122 12.45 6.86122 11.55 6.96122 11.15C6.96122 11.05 7.06122 10.95 7.16122 10.85C7.26122 10.85 7.36122 10.75 7.36122 10.75C7.76122 10.75 8.16122 11.25 8.26122 11.45L8.86122 12.35C8.96122 12.55 9.26122 12.65 9.46122 12.55C9.86122 12.55 9.96122 12.35 9.96122 12.15V6.95C9.96122 6.55 9.96122 5.95 10.4612 5.95C10.8612 5.95 10.9612 6.25 10.9612 6.75V10.05C10.9612 10.35 11.1612 10.55 11.4612 10.55C11.7612 10.55 11.9612 10.35 11.9612 10.05V6.05Z" fill="currentColor"/></symbol>
|
|
748
755
|
<symbol id="handle-corner" viewBox="0 0 24 24"><path d="M8.4 17.7L17.7 8.4V7L7 17.7H8.4Z" fill="currentColor"/>
|
|
749
756
|
<path d="M11.4 17.7L17.7 11.4V10L10 17.7H11.4Z" fill="currentColor"/>
|
|
@@ -122,7 +122,7 @@ export const updateShipmentsFilterConfig: ModuleFilterConfigModel = {
|
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
124
|
key: 'shipment_method_id',
|
|
125
|
-
label: 'Shipment
|
|
125
|
+
label: 'Shipment Methods',
|
|
126
126
|
type: 'select',
|
|
127
127
|
optionsSource: 'shipmentMethods',
|
|
128
128
|
placeholder: 'Shipment Methods',
|
|
@@ -133,6 +133,7 @@ export const updateShipmentsFilterConfig: ModuleFilterConfigModel = {
|
|
|
133
133
|
type: 'select',
|
|
134
134
|
optionsSource: 'static',
|
|
135
135
|
options: [
|
|
136
|
+
{ value: '', label: 'None' },
|
|
136
137
|
{ value: 'individual', label: 'Individual' },
|
|
137
138
|
{ value: 'business', label: 'Business' },
|
|
138
139
|
],
|
|
@@ -148,17 +149,20 @@ export const updateShipmentsFilterConfig: ModuleFilterConfigModel = {
|
|
|
148
149
|
{
|
|
149
150
|
key: 'shipment_manifest_id',
|
|
150
151
|
label: 'Shipment Manifest',
|
|
151
|
-
type: '
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
type: 'enum',
|
|
153
|
+
exclusive: true,
|
|
154
|
+
options: [
|
|
155
|
+
{ value: 'not_null', label: 'Manifest Added', color: '#25945c' },
|
|
156
|
+
{ value: 'null', label: 'Manifest Not Added', color: '#667185' },
|
|
157
|
+
],
|
|
154
158
|
},
|
|
155
159
|
{
|
|
156
160
|
key: 'api_request',
|
|
157
161
|
label: 'API Request',
|
|
158
162
|
type: 'boolean',
|
|
159
163
|
options: [
|
|
160
|
-
{ value: '1', label: 'Yes' },
|
|
161
|
-
{ value: '0', label: 'No' },
|
|
164
|
+
{ value: '1', label: 'Yes', color: '#25945c' },
|
|
165
|
+
{ value: '0', label: 'No', color: '#FF001C' },
|
|
162
166
|
],
|
|
163
167
|
},
|
|
164
168
|
{
|
|
@@ -166,8 +170,18 @@ export const updateShipmentsFilterConfig: ModuleFilterConfigModel = {
|
|
|
166
170
|
label: 'Insured',
|
|
167
171
|
type: 'boolean',
|
|
168
172
|
options: [
|
|
169
|
-
{ value: '1', label: 'Yes' },
|
|
170
|
-
{ value: '0', label: 'No' },
|
|
173
|
+
{ value: '1', label: 'Yes', color: '#3B82F6' },
|
|
174
|
+
{ value: '0', label: 'No', color: '#f48220' },
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
key: 'pay_later',
|
|
179
|
+
label: 'Pay Later',
|
|
180
|
+
type: 'enum',
|
|
181
|
+
exclusive: true,
|
|
182
|
+
options: [
|
|
183
|
+
{ value: 'credit', label: 'Credit', color: '#25945c' },
|
|
184
|
+
{ value: 'debit', label: 'Debit', color: '#667185' },
|
|
171
185
|
],
|
|
172
186
|
},
|
|
173
187
|
],
|
|
@@ -9,38 +9,50 @@
|
|
|
9
9
|
* Do not rename these strings without updating ModeColorService and THEME.md.
|
|
10
10
|
*
|
|
11
11
|
* SFN (export / green):
|
|
12
|
+
* text-export-strong bg-export-strong hover:bg-export-hover border-export-strong
|
|
12
13
|
* text-export bg-export bg-export-subtle bg-export-light border-export
|
|
13
14
|
* hover:bg-export-light hover:bg-export-subtle dark:bg-export/15 dark:hover:bg-export/15
|
|
14
15
|
* dark:bg-[color-mix(in_srgb,#1cbd5d_15%,#212529)] dark:bg-export dark:text-export dark:border-export
|
|
15
16
|
*
|
|
16
17
|
* STN (import / orange):
|
|
18
|
+
* text-import-strong bg-import-strong hover:bg-import-hover border-import-strong
|
|
17
19
|
* text-import bg-import bg-import-subtle bg-import-light border-import
|
|
18
20
|
* hover:bg-import-light hover:bg-import-subtle dark:bg-import/15 dark:hover:bg-import/15
|
|
19
21
|
* dark:bg-[color-mix(in_srgb,#f08829_15%,#212529)] dark:bg-import dark:text-import dark:border-import
|
|
20
22
|
*/
|
|
21
23
|
export const MODE_COLOR_SAFELIST = [
|
|
22
24
|
'text-export',
|
|
25
|
+
'text-export-strong',
|
|
23
26
|
'bg-export',
|
|
27
|
+
'bg-export-strong',
|
|
24
28
|
'bg-export-subtle',
|
|
25
29
|
'bg-export-light',
|
|
26
30
|
'border-export',
|
|
31
|
+
'border-export-strong',
|
|
32
|
+
'hover:bg-export-hover',
|
|
27
33
|
'hover:bg-export-light',
|
|
28
34
|
'hover:bg-export-subtle',
|
|
29
35
|
'dark:bg-export/15',
|
|
30
36
|
'dark:hover:bg-export/15',
|
|
37
|
+
'dark:hover:bg-export-light',
|
|
31
38
|
'dark:bg-[color-mix(in_srgb,#1cbd5d_15%,#212529)]',
|
|
32
39
|
'dark:bg-export',
|
|
33
40
|
'dark:text-export',
|
|
34
41
|
'dark:border-export',
|
|
35
42
|
'text-import',
|
|
43
|
+
'text-import-strong',
|
|
36
44
|
'bg-import',
|
|
45
|
+
'bg-import-strong',
|
|
37
46
|
'bg-import-subtle',
|
|
38
47
|
'bg-import-light',
|
|
39
48
|
'border-import',
|
|
49
|
+
'border-import-strong',
|
|
50
|
+
'hover:bg-import-hover',
|
|
40
51
|
'hover:bg-import-light',
|
|
41
52
|
'hover:bg-import-subtle',
|
|
42
53
|
'dark:bg-import/15',
|
|
43
54
|
'dark:hover:bg-import/15',
|
|
55
|
+
'dark:hover:bg-import-light',
|
|
44
56
|
'dark:bg-[color-mix(in_srgb,#f08829_15%,#212529)]',
|
|
45
57
|
'dark:bg-import',
|
|
46
58
|
'dark:text-import',
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { signal } from '@angular/core';
|
|
2
|
+
import { TestBed } from '@angular/core/testing';
|
|
3
|
+
|
|
4
|
+
import { ShippingModeService } from '@africanies/africanies-core';
|
|
5
|
+
import type { ShippingMode } from '@africanies/africanies-models';
|
|
6
|
+
|
|
7
|
+
import { ModeColorService } from './mode-color.service';
|
|
8
|
+
|
|
9
|
+
describe('ModeColorService', () => {
|
|
10
|
+
let mode: ReturnType<typeof signal<ShippingMode>>;
|
|
11
|
+
let service: ModeColorService;
|
|
12
|
+
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
mode = signal<ShippingMode>('sfn');
|
|
15
|
+
TestBed.configureTestingModule({
|
|
16
|
+
providers: [
|
|
17
|
+
ModeColorService,
|
|
18
|
+
{
|
|
19
|
+
provide: ShippingModeService,
|
|
20
|
+
useValue: {
|
|
21
|
+
mode: mode.asReadonly(),
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
});
|
|
26
|
+
service = TestBed.inject(ModeColorService);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('uses accessible export-strong fills and text in SFN light mode', () => {
|
|
30
|
+
const classes = service.classes();
|
|
31
|
+
expect(classes.text).toContain('text-export-strong');
|
|
32
|
+
expect(classes.primary).toContain('bg-export-strong');
|
|
33
|
+
expect(classes.ghostPrimary).toContain('text-export-strong');
|
|
34
|
+
expect(classes.activeFill).toContain('bg-export-strong');
|
|
35
|
+
expect(classes.stroked).toContain('text-export-strong');
|
|
36
|
+
expect(classes.stroked).toContain('border-export-strong');
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('keeps bright export accents for dark-mode companions in SFN', () => {
|
|
40
|
+
const classes = service.classes();
|
|
41
|
+
expect(classes.primary).toContain('dark:bg-export');
|
|
42
|
+
expect(classes.ghostPrimary).toContain('dark:text-export');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('uses accessible import-strong fills and text in STN light mode', () => {
|
|
46
|
+
mode.set('stn');
|
|
47
|
+
const classes = service.classes();
|
|
48
|
+
expect(classes.text).toContain('text-import-strong');
|
|
49
|
+
expect(classes.primary).toContain('bg-import-strong');
|
|
50
|
+
expect(classes.ghostPrimary).toContain('text-import-strong');
|
|
51
|
+
expect(classes.activeFill).toContain('bg-import-strong');
|
|
52
|
+
expect(classes.stroked).toContain('text-import-strong');
|
|
53
|
+
expect(classes.primary).not.toContain('bg-export-strong');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
@@ -9,7 +9,7 @@ import { ShippingModeService } from '@africanies/africanies-core';
|
|
|
9
9
|
* and accent text. Semantic colors (danger / warning) stay mode-independent.
|
|
10
10
|
*/
|
|
11
11
|
export interface ModeColorClasses {
|
|
12
|
-
/**
|
|
12
|
+
/** Accessible accent text — `text-export-strong` in light, `text-export` in dark. */
|
|
13
13
|
text: string;
|
|
14
14
|
/** Solid background utility, e.g. `bg-export`. */
|
|
15
15
|
bg: string;
|
|
@@ -80,41 +80,41 @@ export class ModeColorService {
|
|
|
80
80
|
// Literal strings required for Tailwind content detection — do not interpolate.
|
|
81
81
|
if (this.shippingMode.mode() === 'sfn') {
|
|
82
82
|
return {
|
|
83
|
-
text: 'text-export',
|
|
83
|
+
text: 'text-export-strong dark:text-export',
|
|
84
84
|
bg: 'bg-export',
|
|
85
85
|
bgSubtle: 'bg-export-subtle',
|
|
86
86
|
border: 'border-export',
|
|
87
87
|
primary:
|
|
88
|
-
'bg-export text-white border-transparent hover:bg-export-light',
|
|
88
|
+
'bg-export-strong text-white border-transparent hover:bg-export-hover dark:bg-export dark:hover:bg-export-light',
|
|
89
89
|
ghostPrimary:
|
|
90
|
-
'bg-transparent text-export border-transparent hover:bg-export-subtle dark:hover:bg-export/15',
|
|
90
|
+
'bg-transparent text-export-strong border-transparent hover:bg-export-subtle dark:text-export dark:hover:bg-export/15',
|
|
91
91
|
soft: 'bg-export-subtle dark:bg-export/15',
|
|
92
92
|
softSolid:
|
|
93
93
|
'bg-export-subtle dark:bg-[color-mix(in_srgb,#1cbd5d_15%,#212529)]',
|
|
94
94
|
softHover: 'hover:bg-export-subtle dark:hover:bg-export/15',
|
|
95
95
|
activeFill:
|
|
96
|
-
'bg-export text-white border-transparent dark:bg-export dark:text-white',
|
|
96
|
+
'bg-export-strong text-white border-transparent hover:bg-export-hover dark:bg-export dark:text-white dark:hover:bg-export-light',
|
|
97
97
|
stroked:
|
|
98
|
-
'bg-
|
|
98
|
+
'bg-surface text-export-strong border-export-strong hover:bg-export-subtle dark:bg-ink-950 dark:text-export dark:border-export dark:hover:bg-export/15',
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
return {
|
|
102
|
-
text: 'text-import',
|
|
102
|
+
text: 'text-import-strong dark:text-import',
|
|
103
103
|
bg: 'bg-import',
|
|
104
104
|
bgSubtle: 'bg-import-subtle',
|
|
105
105
|
border: 'border-import',
|
|
106
106
|
primary:
|
|
107
|
-
'bg-import text-white border-transparent hover:bg-import-light',
|
|
107
|
+
'bg-import-strong text-white border-transparent hover:bg-import-hover dark:bg-import dark:hover:bg-import-light',
|
|
108
108
|
ghostPrimary:
|
|
109
|
-
'bg-transparent text-import border-transparent hover:bg-import-subtle dark:hover:bg-import/15',
|
|
109
|
+
'bg-transparent text-import-strong border-transparent hover:bg-import-subtle dark:text-import dark:hover:bg-import/15',
|
|
110
110
|
soft: 'bg-import-subtle dark:bg-import/15',
|
|
111
111
|
softSolid:
|
|
112
112
|
'bg-import-subtle dark:bg-[color-mix(in_srgb,#f08829_15%,#212529)]',
|
|
113
113
|
softHover: 'hover:bg-import-subtle dark:hover:bg-import/15',
|
|
114
114
|
activeFill:
|
|
115
|
-
'bg-import text-white border-transparent dark:bg-import dark:text-white',
|
|
115
|
+
'bg-import-strong text-white border-transparent hover:bg-import-hover dark:bg-import dark:text-white dark:hover:bg-import-light',
|
|
116
116
|
stroked:
|
|
117
|
-
'bg-
|
|
117
|
+
'bg-surface text-import-strong border-import-strong hover:bg-import-subtle dark:bg-ink-950 dark:text-import dark:border-import dark:hover:bg-import/15',
|
|
118
118
|
};
|
|
119
119
|
});
|
|
120
120
|
}
|
|
@@ -92,8 +92,8 @@ function africaniesAutofillPlugin({ addBase }) {
|
|
|
92
92
|
const rules = {};
|
|
93
93
|
for (const selector of autofillSelectors) {
|
|
94
94
|
rules[selector] = {
|
|
95
|
-
WebkitTextFillColor: '#
|
|
96
|
-
caretColor: '#
|
|
95
|
+
WebkitTextFillColor: '#172033',
|
|
96
|
+
caretColor: '#172033',
|
|
97
97
|
boxShadow: '0 0 0 1000px #ffffff inset',
|
|
98
98
|
transition: 'background-color 99999s ease-in-out 0s',
|
|
99
99
|
};
|
|
@@ -143,6 +143,36 @@ function africaniesOverlayStackPlugin({ addBase }) {
|
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
/**
|
|
147
|
+
* Shared elevated card shell so list/detail pages keep one light-theme recipe.
|
|
148
|
+
*
|
|
149
|
+
* @param {import('tailwindcss/types/config').PluginAPI} api
|
|
150
|
+
*/
|
|
151
|
+
function africaniesSurfacePlugin({ addComponents }) {
|
|
152
|
+
addComponents({
|
|
153
|
+
'.africanies-card': {
|
|
154
|
+
borderRadius: '0.75rem',
|
|
155
|
+
borderWidth: '1px',
|
|
156
|
+
borderStyle: 'solid',
|
|
157
|
+
borderColor: '#dde3ea',
|
|
158
|
+
backgroundColor: '#ffffff',
|
|
159
|
+
padding: '1.25rem',
|
|
160
|
+
color: '#172033',
|
|
161
|
+
boxShadow:
|
|
162
|
+
'0 1px 2px rgb(23 32 51 / 0.04), 0 1px 3px rgb(23 32 51 / 0.06)',
|
|
163
|
+
'@media (min-width: 640px)': {
|
|
164
|
+
padding: '1.5rem',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
'.dark .africanies-card': {
|
|
168
|
+
borderColor: 'rgba(255, 255, 255, 0.1)',
|
|
169
|
+
backgroundColor: '#272729',
|
|
170
|
+
color: '#ffffff',
|
|
171
|
+
boxShadow: 'none',
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
146
176
|
/**
|
|
147
177
|
* Keep overlay scrollbars off close buttons and other end-aligned chrome.
|
|
148
178
|
*
|
|
@@ -186,6 +216,7 @@ module.exports = {
|
|
|
186
216
|
africaniesSpinPlugin,
|
|
187
217
|
africaniesOverlayStackPlugin,
|
|
188
218
|
africaniesOverlayScrollPlugin,
|
|
219
|
+
africaniesSurfacePlugin,
|
|
189
220
|
africaniesAutofillPlugin,
|
|
190
221
|
],
|
|
191
222
|
theme: {
|
|
@@ -193,56 +224,83 @@ module.exports = {
|
|
|
193
224
|
colors: {
|
|
194
225
|
black: '#000000',
|
|
195
226
|
white: '#ffffff',
|
|
227
|
+
surface: {
|
|
228
|
+
DEFAULT: '#ffffff',
|
|
229
|
+
subtle: '#f8fafc',
|
|
230
|
+
hover: '#e9eef5',
|
|
231
|
+
sunken: '#eef2f6',
|
|
232
|
+
},
|
|
196
233
|
ink: {
|
|
197
|
-
//
|
|
198
|
-
DEFAULT: '#
|
|
234
|
+
// High-contrast cool navy for light-theme body and heading text.
|
|
235
|
+
DEFAULT: '#172033',
|
|
199
236
|
blue: '#192a3e',
|
|
200
|
-
brand: '#
|
|
237
|
+
brand: '#172033',
|
|
201
238
|
// Previous ink DEFAULT — dark elevated cards / panels (`dark:bg-ink-surface`).
|
|
202
239
|
surface: '#212529',
|
|
203
240
|
950: '#272729',
|
|
204
241
|
},
|
|
205
242
|
neutral: {
|
|
243
|
+
50: '#f8fafc',
|
|
244
|
+
100: '#eef2f6',
|
|
245
|
+
200: '#dde3ea',
|
|
206
246
|
300: '#c9d5e1',
|
|
247
|
+
// Keep 300/400 stable: they are the established dark-theme foregrounds.
|
|
207
248
|
400: '#a9b5cb',
|
|
208
|
-
|
|
249
|
+
500: '#667185',
|
|
250
|
+
600: '#526071',
|
|
251
|
+
700: '#3e4a59',
|
|
252
|
+
800: '#2c3644',
|
|
253
|
+
900: '#172033',
|
|
209
254
|
},
|
|
210
255
|
border: {
|
|
211
|
-
//
|
|
212
|
-
DEFAULT: '#
|
|
213
|
-
|
|
214
|
-
strong: '#e0e6f0',
|
|
256
|
+
// Quiet card/divider chrome. Controls use the stronger `control` token.
|
|
257
|
+
DEFAULT: '#dde3ea',
|
|
258
|
+
strong: '#c4cdd8',
|
|
215
259
|
},
|
|
260
|
+
// 3.1:1 against white: visible enough for meaningful control boundaries.
|
|
261
|
+
control: '#8793a3',
|
|
262
|
+
focus: '#175cd3',
|
|
216
263
|
background: {
|
|
217
|
-
//
|
|
218
|
-
chrome: '#
|
|
264
|
+
// Cooler canvas and a clearer inset level beneath white surfaces.
|
|
265
|
+
chrome: '#f4f6f8',
|
|
219
266
|
// Nested wells inside white cards.
|
|
220
|
-
well: '#
|
|
267
|
+
well: '#eef2f6',
|
|
221
268
|
// Auth / welcome / soft hover.
|
|
222
|
-
welcome: '#
|
|
269
|
+
welcome: '#f8fafc',
|
|
270
|
+
hover: '#e9eef5',
|
|
223
271
|
},
|
|
224
272
|
export: {
|
|
225
273
|
DEFAULT: '#1cbd5d',
|
|
226
274
|
light: '#24dc6d',
|
|
227
275
|
subtle: '#e4fff3',
|
|
228
276
|
tint: '#f2fff8',
|
|
277
|
+
// Accessible normal-text / white-text-control foreground (5.43:1).
|
|
278
|
+
strong: '#0b7a3e',
|
|
279
|
+
hover: '#096833',
|
|
229
280
|
},
|
|
230
281
|
import: {
|
|
231
282
|
DEFAULT: '#f08829',
|
|
232
283
|
light: '#ffa95b',
|
|
233
284
|
subtle: '#fffcef',
|
|
285
|
+
// Accessible normal-text / white-text-control foreground (6.20:1).
|
|
286
|
+
strong: '#9a4b0b',
|
|
287
|
+
hover: '#7f3e09',
|
|
234
288
|
},
|
|
235
289
|
danger: {
|
|
236
290
|
DEFAULT: '#ff001c',
|
|
237
|
-
dark: '#
|
|
291
|
+
dark: '#b4233c',
|
|
238
292
|
strong: '#C00B19',
|
|
239
293
|
subtle: '#FFF2F2',
|
|
240
294
|
},
|
|
241
295
|
warning: {
|
|
242
296
|
DEFAULT: '#DBB316',
|
|
243
|
-
dark: '#
|
|
297
|
+
dark: '#8a5a00',
|
|
244
298
|
subtle: '#FFF6E6',
|
|
245
299
|
},
|
|
300
|
+
info: {
|
|
301
|
+
DEFAULT: '#175cd3',
|
|
302
|
+
subtle: '#eff6ff',
|
|
303
|
+
},
|
|
246
304
|
},
|
|
247
305
|
fontFamily: {
|
|
248
306
|
sans: ['Inter', 'system-ui', 'sans-serif'],
|
|
@@ -257,6 +315,16 @@ module.exports = {
|
|
|
257
315
|
'body-sm': ['0.875rem', { lineHeight: 1.4, fontWeight: 400 }],
|
|
258
316
|
caption: ['0.75rem', { lineHeight: 1.3, fontWeight: 400 }],
|
|
259
317
|
},
|
|
318
|
+
borderRadius: {
|
|
319
|
+
control: '0.5rem',
|
|
320
|
+
panel: '0.75rem',
|
|
321
|
+
},
|
|
322
|
+
boxShadow: {
|
|
323
|
+
card:
|
|
324
|
+
'0 1px 2px rgb(23 32 51 / 0.04), 0 1px 3px rgb(23 32 51 / 0.06)',
|
|
325
|
+
floating:
|
|
326
|
+
'0 12px 32px rgb(23 32 51 / 0.12), 0 2px 8px rgb(23 32 51 / 0.06)',
|
|
327
|
+
},
|
|
260
328
|
},
|
|
261
329
|
},
|
|
262
330
|
};
|
|
@@ -158,7 +158,7 @@ const MENU_PANEL_POSITIONS: ConnectedPosition[] = [
|
|
|
158
158
|
>
|
|
159
159
|
<div
|
|
160
160
|
#panel
|
|
161
|
-
class="min-w-44 rounded-md border border-border bg-
|
|
161
|
+
class="min-w-44 rounded-md border border-border bg-surface py-1 shadow-floating outline-none dark:border-white/15 dark:bg-ink-950"
|
|
162
162
|
role="menu"
|
|
163
163
|
tabindex="-1"
|
|
164
164
|
[attr.aria-label]="ariaLabel()"
|
|
@@ -246,10 +246,10 @@ export class ActionMenuComponent {
|
|
|
246
246
|
const base =
|
|
247
247
|
'flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-body-sm no-underline transition-colors ' +
|
|
248
248
|
'disabled:cursor-not-allowed disabled:opacity-50 ' +
|
|
249
|
-
'focus-visible:outline focus-visible:
|
|
249
|
+
'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-focus';
|
|
250
250
|
if (item.danger) {
|
|
251
251
|
return (
|
|
252
|
-
`${base} text-danger ` +
|
|
252
|
+
`${base} text-danger-dark dark:text-danger ` +
|
|
253
253
|
(active
|
|
254
254
|
? 'bg-danger-subtle dark:bg-danger/15'
|
|
255
255
|
: 'hover:bg-danger-subtle dark:hover:bg-danger/15')
|
|
@@ -144,11 +144,11 @@ export class AlertComponent {
|
|
|
144
144
|
protected readonly iconClass = computed(() => {
|
|
145
145
|
switch (this.variant()) {
|
|
146
146
|
case 'success':
|
|
147
|
-
return 'text-export dark:text-export-light';
|
|
147
|
+
return 'text-export-strong dark:text-export-light';
|
|
148
148
|
case 'warning':
|
|
149
149
|
return 'text-warning-dark dark:text-warning';
|
|
150
150
|
case 'danger':
|
|
151
|
-
return 'text-danger';
|
|
151
|
+
return 'text-danger-dark dark:text-danger';
|
|
152
152
|
default:
|
|
153
153
|
return 'text-ink-blue dark:text-neutral-300';
|
|
154
154
|
}
|
|
@@ -158,11 +158,11 @@ export class AlertComponent {
|
|
|
158
158
|
const base = 'm-0 text-body font-medium';
|
|
159
159
|
switch (this.variant()) {
|
|
160
160
|
case 'success':
|
|
161
|
-
return `${base} text-export dark:text-export-light`;
|
|
161
|
+
return `${base} text-export-strong dark:text-export-light`;
|
|
162
162
|
case 'warning':
|
|
163
163
|
return `${base} text-warning-dark dark:text-warning`;
|
|
164
164
|
case 'danger':
|
|
165
|
-
return `${base} text-danger`;
|
|
165
|
+
return `${base} text-danger-dark dark:text-danger`;
|
|
166
166
|
default:
|
|
167
167
|
return `${base} text-ink dark:text-white`;
|
|
168
168
|
}
|
|
@@ -45,7 +45,7 @@ import { AvatarComponent, type AvatarSize } from './avatar.component';
|
|
|
45
45
|
<button
|
|
46
46
|
type="button"
|
|
47
47
|
africaniesActionMenuTrigger
|
|
48
|
-
class="inline-flex cursor-pointer items-center gap-1 rounded-lg p-0.5 pr-1 transition-colors hover:bg-background-
|
|
48
|
+
class="inline-flex cursor-pointer items-center gap-1 rounded-lg p-0.5 pr-1 transition-colors hover:bg-background-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-focus disabled:cursor-not-allowed disabled:opacity-50 dark:hover:bg-white/10"
|
|
49
49
|
[attr.aria-label]="ariaLabel()"
|
|
50
50
|
>
|
|
51
51
|
<africanies-avatar [name]="name()" [src]="src()" [size]="size()" />
|
|
@@ -53,7 +53,7 @@ import { AvatarComponent, type AvatarSize } from './avatar.component';
|
|
|
53
53
|
<africanies-icon
|
|
54
54
|
name="chevron-down"
|
|
55
55
|
[size]="14"
|
|
56
|
-
class="shrink-0 text-neutral-
|
|
56
|
+
class="shrink-0 text-neutral-600 dark:text-neutral-400"
|
|
57
57
|
aria-hidden="true"
|
|
58
58
|
/>
|
|
59
59
|
}
|
|
@@ -65,7 +65,7 @@ describe('ButtonComponent', () => {
|
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
it('should apply primary variant classes by default (SFN / export)', () => {
|
|
68
|
-
expect(button.className).toContain('bg-export');
|
|
68
|
+
expect(button.className).toContain('bg-export-strong');
|
|
69
69
|
expect(button.className).toContain('text-white');
|
|
70
70
|
});
|
|
71
71
|
|
|
@@ -73,21 +73,21 @@ describe('ButtonComponent', () => {
|
|
|
73
73
|
mode.set('stn');
|
|
74
74
|
fixture.detectChanges();
|
|
75
75
|
|
|
76
|
-
expect(button.className).toContain('bg-import');
|
|
77
|
-
expect(button.className).not.toContain('bg-export');
|
|
76
|
+
expect(button.className).toContain('bg-import-strong');
|
|
77
|
+
expect(button.className).not.toContain('bg-export-strong');
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
it('should switch ghost-primary text accent with shipping mode', () => {
|
|
81
81
|
host.variant.set('ghost-primary');
|
|
82
82
|
fixture.detectChanges();
|
|
83
|
-
expect(button.className).toContain('text-export');
|
|
83
|
+
expect(button.className).toContain('text-export-strong');
|
|
84
84
|
expect(button.className).toContain('bg-transparent');
|
|
85
85
|
|
|
86
86
|
mode.set('stn');
|
|
87
87
|
fixture.detectChanges();
|
|
88
88
|
|
|
89
|
-
expect(button.className).toContain('text-import');
|
|
90
|
-
expect(button.className).not.toContain('text-export');
|
|
89
|
+
expect(button.className).toContain('text-import-strong');
|
|
90
|
+
expect(button.className).not.toContain('text-export-strong');
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
it('should switch variant and size classes', () => {
|
|
@@ -95,7 +95,7 @@ describe('ButtonComponent', () => {
|
|
|
95
95
|
host.size.set('sm');
|
|
96
96
|
fixture.detectChanges();
|
|
97
97
|
|
|
98
|
-
expect(button.className).toContain('bg-danger');
|
|
98
|
+
expect(button.className).toContain('bg-danger-dark');
|
|
99
99
|
expect(button.className).toContain('h-8');
|
|
100
100
|
});
|
|
101
101
|
|
|
@@ -153,7 +153,7 @@ export class ButtonComponent {
|
|
|
153
153
|
protected readonly hostClass = computed(() => {
|
|
154
154
|
const base =
|
|
155
155
|
'relative inline-flex items-center justify-center gap-2 box-border font-sans font-medium rounded-md border transition-colors cursor-pointer ' +
|
|
156
|
-
'focus-visible:outline focus-visible:
|
|
156
|
+
'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-focus ' +
|
|
157
157
|
'disabled:opacity-50 disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:cursor-not-allowed';
|
|
158
158
|
|
|
159
159
|
const sizes: Record<ButtonSize, string> = {
|
|
@@ -172,19 +172,19 @@ export class ButtonComponent {
|
|
|
172
172
|
variantClass = this.modeColor.classes().stroked;
|
|
173
173
|
} else if (variant === 'flat') {
|
|
174
174
|
variantClass =
|
|
175
|
-
'bg-
|
|
175
|
+
'bg-surface dark:bg-ink-950 text-ink dark:text-white border-control dark:border-white/15 hover:bg-background-hover dark:hover:bg-white/10';
|
|
176
176
|
} else if (variant === 'ghost') {
|
|
177
177
|
variantClass =
|
|
178
|
-
'bg-transparent text-ink dark:text-white border-transparent hover:bg-background-
|
|
178
|
+
'bg-transparent text-ink dark:text-white border-transparent hover:bg-background-hover dark:hover:bg-white/10';
|
|
179
179
|
} else if (variant === 'ghost-danger') {
|
|
180
180
|
variantClass =
|
|
181
|
-
'bg-transparent text-danger border-transparent hover:bg-danger-subtle dark:hover:bg-danger/10';
|
|
181
|
+
'bg-transparent text-danger-dark border-transparent hover:bg-danger-subtle dark:text-danger dark:hover:bg-danger/10';
|
|
182
182
|
} else if (variant === 'underline') {
|
|
183
183
|
variantClass =
|
|
184
184
|
'bg-transparent text-ink dark:text-white border-transparent underline underline-offset-2 hover:opacity-80 !px-0 !h-auto !min-h-0';
|
|
185
185
|
} else {
|
|
186
186
|
variantClass =
|
|
187
|
-
'bg-danger text-white border-transparent hover:bg-danger-dark';
|
|
187
|
+
'bg-danger-dark text-white border-transparent hover:bg-danger-strong dark:bg-danger dark:hover:bg-danger-dark';
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
return `${base} ${sizes[this.size()]} ${variantClass}`;
|
|
@@ -63,7 +63,7 @@ export type ChipSize = 'sm' | 'md';
|
|
|
63
63
|
@if (removable()) {
|
|
64
64
|
<button
|
|
65
65
|
type="button"
|
|
66
|
-
class="inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline focus-visible:
|
|
66
|
+
class="inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-focus"
|
|
67
67
|
[attr.aria-label]="removeLabel()"
|
|
68
68
|
(click)="onRemove($event)"
|
|
69
69
|
>
|
|
@@ -118,13 +118,13 @@ export class ChipComponent {
|
|
|
118
118
|
switch (this.variant()) {
|
|
119
119
|
case 'success':
|
|
120
120
|
case 'export':
|
|
121
|
-
return 'bg-export-subtle text-export dark:bg-export/15 dark:text-export-light';
|
|
121
|
+
return 'bg-export-subtle text-export-strong dark:bg-export/15 dark:text-export-light';
|
|
122
122
|
case 'import':
|
|
123
|
-
return 'bg-import-subtle text-import dark:bg-import/15 dark:text-import-light';
|
|
123
|
+
return 'bg-import-subtle text-import-strong dark:bg-import/15 dark:text-import-light';
|
|
124
124
|
case 'warning':
|
|
125
125
|
return 'bg-warning-subtle text-warning-dark dark:bg-warning/15 dark:text-warning';
|
|
126
126
|
case 'danger':
|
|
127
|
-
return 'bg-danger-subtle text-danger dark:bg-danger/15 dark:text-danger';
|
|
127
|
+
return 'bg-danger-subtle text-danger-dark dark:bg-danger/15 dark:text-danger';
|
|
128
128
|
default:
|
|
129
129
|
return 'bg-border/60 text-ink dark:bg-white/10 dark:text-neutral-200';
|
|
130
130
|
}
|