origam 2.17.0 → 2.18.0
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/CHANGELOG.md +744 -1
- package/dist/src/assets/css/main.css +1 -1
- package/dist/src/assets/css/tokens/dark.css +125 -24
- package/dist/src/assets/css/tokens/light.css +49 -12
- package/dist/src/assets/locales/en.json +21 -6
- package/dist/src/assets/locales/fr.json +21 -6
- package/dist/src/assets/scss/main.scss +10 -2
- package/dist/src/assets/scss/tokens/_dark.scss +2846 -12
- package/dist/src/assets/scss/tokens/_light.scss +49 -12
- package/dist/src/components/Alert/OrigamAlert.vue +6 -6
- package/dist/src/components/Avatar/OrigamAvatar.vue +15 -2
- package/dist/src/components/Badge/OrigamBadge.vue +7 -7
- package/dist/src/components/Breadcrumb/OrigamBreadcrumbItem.vue +23 -4
- package/dist/src/components/Btn/OrigamBtn.vue +21 -3
- package/dist/src/components/Btn/OrigamBtnGroup.vue +1 -1
- package/dist/src/components/Calendar/OrigamCalendar.vue +1 -1
- package/dist/src/components/Card/OrigamCard.vue +2 -0
- package/dist/src/components/Card/OrigamCardHeader.vue +7 -7
- package/dist/src/components/Carousel/OrigamCarousel.vue +14 -1
- package/dist/src/components/Chart/OrigamChartBoxPlot.vue +1 -1
- package/dist/src/components/Chart/OrigamChartBullet.vue +3 -2
- package/dist/src/components/Chart/OrigamChartCandlestick.vue +2 -2
- package/dist/src/components/Chart/OrigamChartCartesian.vue +49 -4
- package/dist/src/components/Chart/OrigamChartLegend.vue +39 -18
- package/dist/src/components/Chart/OrigamChartPareto.vue +7 -1
- package/dist/src/components/Chart/OrigamChartPictorial.vue +2 -2
- package/dist/src/components/Chart/OrigamChartRadar.vue +3 -1
- package/dist/src/components/Chart/OrigamChartSparkline.vue +3 -1
- package/dist/src/components/Chart/OrigamChartStreamgraph.vue +2 -1
- package/dist/src/components/Checkbox/OrigamCheckbox.vue +2 -0
- package/dist/src/components/Checkbox/OrigamCheckboxGroup.vue +36 -11
- package/dist/src/components/Chip/OrigamChip.vue +19 -4
- package/dist/src/components/Code/OrigamCode.vue +20 -3
- package/dist/src/components/ColorPickerField/OrigamColorPickerField.vue +43 -18
- package/dist/src/components/CommandPalette/OrigamCommandPalette.vue +3 -3
- package/dist/src/components/ConfirmWrapper/OrigamConfirmWrapper.vue +6 -6
- package/dist/src/components/ContextualMenu/OrigamContextualMenu.vue +0 -4
- package/dist/src/components/DataList/OrigamDataList.vue +2 -0
- package/dist/src/components/DataList/OrigamDataText.vue +6 -6
- package/dist/src/components/DataList/OrigamDataTitle.vue +6 -6
- package/dist/src/components/DataTable/OrigamDataTableHeaderCell.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableHeadersCell.vue +4 -1
- package/dist/src/components/DatePicker/OrigamDatePicker.vue +2 -0
- package/dist/src/components/DatePicker/OrigamDatePickerHeader.vue +6 -6
- package/dist/src/components/DatePickerField/OrigamDatePickerField.vue +34 -14
- package/dist/src/components/Dialog/OrigamDialog.vue +25 -0
- package/dist/src/components/Dialog/OrigamDialogConfirmation.vue +6 -0
- package/dist/src/components/ExpansionPanel/OrigamExpansionPanel.vue +2 -0
- package/dist/src/components/ExpansionPanel/OrigamExpansionPanelHeader.vue +6 -6
- package/dist/src/components/Field/OrigamField.vue +83 -28
- package/dist/src/components/FileField/OrigamFileField.vue +20 -15
- package/dist/src/components/Icon/OrigamSvgIcon.vue +3 -1
- package/dist/src/components/Img/OrigamImg.vue +9 -2
- package/dist/src/components/InfiniteScroll/OrigamInfiniteScroll.vue +34 -18
- package/dist/src/components/InlineEdit/OrigamInlineEdit.vue +46 -5
- package/dist/src/components/Input/OrigamInput.vue +6 -6
- package/dist/src/components/List/OrigamListGroup.vue +4 -0
- package/dist/src/components/List/OrigamListItem.vue +68 -4
- package/dist/src/components/Masonry/OrigamMasonry.vue +19 -3
- package/dist/src/components/Menu/OrigamMenu.vue +79 -9
- package/dist/src/components/NumberField/OrigamNumberField.vue +26 -16
- package/dist/src/components/OtpInputField/OrigamOtpInputField.vue +48 -24
- package/dist/src/components/PasswordField/OrigamPasswordField.vue +20 -15
- package/dist/src/components/Radio/OrigamRadio.vue +2 -0
- package/dist/src/components/Radio/OrigamRadioGroup.vue +36 -11
- package/dist/src/components/RatingField/OrigamRatingField.vue +58 -7
- package/dist/src/components/RatingField/OrigamRatingFieldItem.vue +78 -30
- package/dist/src/components/Select/OrigamSelect.vue +57 -34
- package/dist/src/components/SliderField/OrigamSliderField.vue +20 -10
- package/dist/src/components/Snackbar/OrigamSnackbarGroup.vue +1 -1
- package/dist/src/components/Switch/OrigamSwitch.vue +2 -0
- package/dist/src/components/Switch/OrigamSwitchTrack.vue +20 -0
- package/dist/src/components/Tabs/OrigamTab.vue +7 -4
- package/dist/src/components/Tabs/OrigamTabPanel.vue +4 -2
- package/dist/src/components/Tabs/OrigamTabs.vue +7 -5
- package/dist/src/components/TextField/OrigamTextField.vue +20 -15
- package/dist/src/components/TextareaField/OrigamTextareaField.vue +20 -15
- package/dist/src/components/Transition/OrigamExpandX.vue +19 -3
- package/dist/src/components/Transition/OrigamExpandY.vue +19 -3
- package/dist/src/components/Transition/OrigamTranslateScale.vue +26 -4
- package/dist/src/components/Video/OrigamVideo.vue +3 -2
- package/dist/src/components/VirtualScroll/OrigamVirtualScroll.vue +1 -1
- package/dist/src/components/Window/OrigamWindow.vue +20 -3
- package/dist/src/composables/Commons/accessibleCommand.composable.cjs +26 -0
- package/dist/src/composables/Commons/accessibleCommand.composable.d.ts +78 -0
- package/dist/src/composables/Commons/accessibleCommand.composable.js +20 -0
- package/dist/src/composables/Commons/activator.composable.cjs +10 -1
- package/dist/src/composables/Commons/activator.composable.js +11 -2
- package/dist/src/composables/Commons/adjacent.composable.cjs +17 -0
- package/dist/src/composables/Commons/adjacent.composable.d.ts +12 -0
- package/dist/src/composables/Commons/adjacent.composable.js +17 -0
- package/dist/src/composables/Commons/adjacentInner.composable.cjs +20 -0
- package/dist/src/composables/Commons/adjacentInner.composable.d.ts +24 -5
- package/dist/src/composables/Commons/adjacentInner.composable.js +20 -0
- package/dist/src/composables/Commons/audio.composable.cjs +14 -1
- package/dist/src/composables/Commons/audio.composable.js +14 -1
- package/dist/src/composables/Commons/backButton.composable.cjs +3 -1
- package/dist/src/composables/Commons/backButton.composable.js +3 -1
- package/dist/src/composables/Commons/border.composable.d.ts +13 -0
- package/dist/src/composables/Commons/colorEffect.composable.cjs +58 -46
- package/dist/src/composables/Commons/colorEffect.composable.d.ts +10 -5
- package/dist/src/composables/Commons/colorEffect.composable.js +70 -46
- package/dist/src/composables/Commons/createLayout.composable.cjs +21 -12
- package/dist/src/composables/Commons/createLayout.composable.js +21 -12
- package/dist/src/composables/Commons/delay.composable.d.ts +16 -0
- package/dist/src/composables/Commons/dimension.composable.d.ts +11 -0
- package/dist/src/composables/Commons/elevation.composable.cjs +6 -2
- package/dist/src/composables/Commons/elevation.composable.d.ts +37 -1
- package/dist/src/composables/Commons/elevation.composable.js +7 -2
- package/dist/src/composables/Commons/goTo.composable.cjs +4 -2
- package/dist/src/composables/Commons/goTo.composable.js +5 -3
- package/dist/src/composables/Commons/group.composable.cjs +14 -14
- package/dist/src/composables/Commons/group.composable.js +14 -14
- package/dist/src/composables/Commons/hotkey.composable.d.ts +18 -7
- package/dist/src/composables/Commons/hydration.composable.d.ts +8 -0
- package/dist/src/composables/Commons/link.composable.d.ts +20 -0
- package/dist/src/composables/Commons/locationStrategies.composable.d.ts +17 -0
- package/dist/src/composables/Commons/message.composable.d.ts +19 -5
- package/dist/src/composables/Commons/position.composable.d.ts +17 -6
- package/dist/src/composables/Commons/refs.composable.d.ts +11 -5
- package/dist/src/composables/Commons/rounded.composable.d.ts +11 -1
- package/dist/src/composables/Commons/scrolling.composable.cjs +15 -12
- package/dist/src/composables/Commons/scrolling.composable.js +15 -12
- package/dist/src/composables/Commons/size.composable.d.ts +15 -0
- package/dist/src/composables/Commons/ssrBoot.composable.cjs +9 -1
- package/dist/src/composables/Commons/ssrBoot.composable.js +10 -2
- package/dist/src/composables/Commons/stack.composable.cjs +13 -1
- package/dist/src/composables/Commons/stack.composable.js +13 -1
- package/dist/src/composables/Commons/theme-props-resolver.composable.cjs +41 -32
- package/dist/src/composables/Commons/theme-props-resolver.composable.js +41 -32
- package/dist/src/composables/Commons/validation.composable.cjs +3 -3
- package/dist/src/composables/Commons/validation.composable.js +3 -3
- package/dist/src/composables/Commons/virtual.composable.cjs +24 -8
- package/dist/src/composables/Commons/virtual.composable.js +24 -8
- package/dist/src/composables/Masonry/masonry.composable.cjs +18 -11
- package/dist/src/composables/Masonry/masonry.composable.js +18 -11
- package/dist/src/composables/Parallax/parallax.composable.cjs +1 -1
- package/dist/src/composables/Parallax/parallax.composable.js +1 -1
- package/dist/src/composables/index.cjs +36 -0
- package/dist/src/composables/index.d.ts +3 -0
- package/dist/src/composables/index.js +3 -0
- package/dist/src/consts/Chart/chart-cartesian.const.cjs +5 -2
- package/dist/src/consts/Chart/chart-cartesian.const.d.ts +42 -0
- package/dist/src/consts/Chart/chart-cartesian.const.js +3 -0
- package/dist/src/consts/Commons/border.const.cjs +2 -1
- package/dist/src/consts/Commons/border.const.d.ts +19 -0
- package/dist/src/consts/Commons/border.const.js +15 -0
- package/dist/src/consts/Commons/elevation.const.cjs +5 -1
- package/dist/src/consts/Commons/elevation.const.d.ts +52 -2
- package/dist/src/consts/Commons/elevation.const.js +4 -0
- package/dist/src/consts/Commons/ripple.const.cjs +13 -3
- package/dist/src/consts/Commons/ripple.const.js +13 -3
- package/dist/src/consts/RatingField/rating-field.const.cjs +10 -0
- package/dist/src/consts/RatingField/rating-field.const.d.ts +36 -0
- package/dist/src/consts/RatingField/rating-field.const.js +12 -0
- package/dist/src/consts/index.cjs +11 -0
- package/dist/src/consts/index.d.ts +1 -0
- package/dist/src/consts/index.js +1 -0
- package/dist/src/directives/ClickOutside/clickOutside.directive.cjs +2 -0
- package/dist/src/directives/ClickOutside/clickOutside.directive.js +2 -0
- package/dist/src/directives/Ripple/ripple.directive.cjs +2 -0
- package/dist/src/directives/Ripple/ripple.directive.js +2 -0
- package/dist/src/enums/Commons/color.enum.cjs +0 -1
- package/dist/src/enums/Commons/color.enum.d.ts +14 -5
- package/dist/src/enums/Commons/color.enum.js +0 -1
- package/dist/src/enums/Sheet/sheet.enum.d.ts +1 -1
- package/dist/src/interfaces/Chart/chart-cartesian.interface.d.ts +6 -2
- package/dist/src/interfaces/Commons/activator.interface.d.ts +3 -2
- package/dist/src/interfaces/Commons/adjacent.interface.d.ts +29 -0
- package/dist/src/interfaces/Commons/group.interface.d.ts +13 -2
- package/dist/src/interfaces/Commons/ripple.interface.d.ts +16 -0
- package/dist/src/interfaces/Commons/scroll.interface.d.ts +3 -2
- package/dist/src/interfaces/DataTable/data-table-header.interface.d.ts +2 -2
- package/dist/src/interfaces/DatePicker/date-picker-month.interface.d.ts +2 -1
- package/dist/src/interfaces/Field/field.interface.d.ts +21 -1
- package/dist/src/interfaces/Menu/menu.interface.d.ts +28 -1
- package/dist/src/interfaces/OtpInputField/otp-input-field.interface.d.ts +21 -1
- package/dist/src/interfaces/RatingField/rating-field-item.interface.d.ts +16 -1
- package/dist/src/interfaces/index.cjs +11 -0
- package/dist/src/interfaces/index.d.ts +1 -0
- package/dist/src/interfaces/index.js +1 -0
- package/dist/src/themes/origam.theme.cjs +8 -14
- package/dist/src/themes/origam.theme.js +6 -8
- package/dist/src/types/Commons/color.type.d.ts +4 -3
- package/dist/src/types/Commons/commons.type.d.ts +33 -0
- package/dist/src/types/Commons/theme.type.d.ts +2 -1
- package/dist/src/types/Sheet/sheet.type.d.ts +2 -1
- package/dist/src/types/index.cjs +22 -0
- package/dist/src/types/index.d.ts +2 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/tokens.type.d.ts +1 -1
- package/dist/src/utils/Commons/a11y.util.cjs +35 -0
- package/dist/src/utils/Commons/a11y.util.d.ts +63 -0
- package/dist/src/utils/Commons/a11y.util.js +33 -0
- package/dist/src/utils/Commons/clickOutside.util.cjs +5 -1
- package/dist/src/utils/Commons/clickOutside.util.js +5 -1
- package/dist/src/utils/Commons/color.util.cjs +10 -5
- package/dist/src/utils/Commons/color.util.d.ts +34 -5
- package/dist/src/utils/Commons/color.util.js +9 -5
- package/dist/src/utils/Commons/goTo.util.cjs +31 -14
- package/dist/src/utils/Commons/goTo.util.d.ts +1 -1
- package/dist/src/utils/Commons/goTo.util.js +31 -16
- package/dist/src/utils/Commons/location.util.cjs +18 -3
- package/dist/src/utils/Commons/location.util.js +18 -3
- package/dist/src/utils/Commons/ripple.util.cjs +5 -1
- package/dist/src/utils/Commons/ripple.util.js +5 -1
- package/dist/src/utils/index.cjs +11 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.js +1 -0
- package/package.json +13 -2
- package/dist/src/types/Commons/locale.type.cjs +0 -1
- package/dist/src/types/Commons/locale.type.d.ts +0 -0
- package/dist/src/types/Commons/locale.type.js +0 -0
|
@@ -11,8 +11,101 @@
|
|
|
11
11
|
* This file is now HAND-MAINTAINED SOURCE: edit it directly. There is no
|
|
12
12
|
* regeneration step, and no "do not edit" rule any more. A design-token
|
|
13
13
|
* pipeline may be reintroduced later, once the DS is stable.
|
|
14
|
+
*
|
|
15
|
+
* ── TWO BLOCKS, ONE DECLARATION SET ────────────────────────────────────────
|
|
16
|
+
* 1. `[data-theme="dark"], :root:not([data-theme])[data-mode="dark"]`
|
|
17
|
+
* — the theme asked for EXPLICITLY, on
|
|
18
|
+
* EITHER axis (see #807 below).
|
|
19
|
+
* 2. `@media (prefers-color-scheme: dark) {
|
|
20
|
+
* :root:not([data-theme]):not([data-mode]) }`
|
|
21
|
+
* — AUTO mode: the OS preference, and
|
|
22
|
+
* only while the page has expressed no
|
|
23
|
+
* preference of its own, ON EITHER AXIS.
|
|
24
|
+
*
|
|
25
|
+
* ⛔ BOTH guards are load-bearing, and the second one is not optional.
|
|
26
|
+
* This DS is TWO-AXIS (see `useTheme`): `data-theme` carries the brand and
|
|
27
|
+
* `data-mode` carries light/dark. `applyModeToDocument()` ALWAYS writes a
|
|
28
|
+
* CONCRETE `data-mode`, and the Nuxt plugin OMITS `data-theme` when the
|
|
29
|
+
* brand resolves to `'auto'`. A page that pinned light therefore looks like
|
|
30
|
+
* `<html data-mode="light">` — no `data-theme` at all. With `:not([data-theme])`
|
|
31
|
+
* alone this media query MATCHES that page and repaints it dark against an
|
|
32
|
+
* explicit choice. Measured in Chromium before adding `:not([data-mode])`:
|
|
33
|
+
* OS dark + `data-mode="light"` → `rgb(10,10,10)` (the dark surface) instead
|
|
34
|
+
* of `rgb(255,255,255)`. The same shape is already used by `OrigamCode.vue`.
|
|
35
|
+
*
|
|
36
|
+
* Specificity: `:root:not([data-theme]):not([data-mode])` is (0,3,0) — enough
|
|
37
|
+
* to outrank light.css's `:root, [data-theme="light"]` (0,1,0) when nothing is
|
|
38
|
+
* pinned — while failing to match at all as soon as either axis is written.
|
|
39
|
+
*
|
|
40
|
+
* ── #807 — `data-mode="dark"` SEUL NE PEIGNAIT RIEN ────────────────────────
|
|
41
|
+
* Avant ce correctif, seule la matrice runtime (`apply-theme.util.ts`)
|
|
42
|
+
* émettait des règles `[data-mode="…"]` — les feuilles statiques n'en
|
|
43
|
+
* avaient AUCUNE. Un consommateur qui appelle `useTheme().setMode('dark')`
|
|
44
|
+
* sans avoir enregistré de thème de marque obtenait `<html data-mode="dark">`
|
|
45
|
+
* et restait en clair : les deux setters de `useTheme()` ne faisaient pas la
|
|
46
|
+
* même chose. Mesuré en Chromium sur `dist/src/assets/css/main.css` :
|
|
47
|
+
* `data-mode="dark"` seul → `rgb(255,255,255)` (surface claire) au lieu de
|
|
48
|
+
* `rgb(10,10,10)`.
|
|
49
|
+
*
|
|
50
|
+
* Le correctif AJOUTE UN SÉLECTEUR à la liste du bloc 1 existant plutôt que
|
|
51
|
+
* de dupliquer un troisième bloc de ~2730 déclarations (le coût que #807
|
|
52
|
+
* chiffrait pour l'approche naïve — `main.css` était déjà passé de 364 ko à
|
|
53
|
+
* 538 ko avec le second bloc). `:root:not([data-theme])[data-mode="dark"]`
|
|
54
|
+
* a la même spécificité (0,3,0) que le sélecteur du bloc média ci-dessus et
|
|
55
|
+
* matche exactement le même monde que lui côté "explicite" : `data-theme`
|
|
56
|
+
* absent, `data-mode="dark"` posé. Les deux blocs restent mutuellement
|
|
57
|
+
* exclusifs sur l'attribut `data-mode` (présent ici, absent là) donc ne se
|
|
58
|
+
* recouvrent jamais. `data-theme="light" data-mode="dark"` reste clair : la
|
|
59
|
+
* marque (`data-theme`) gouverne dès qu'elle est posée, `data-mode` seul ne
|
|
60
|
+
* bascule que l'absence de marque.
|
|
61
|
+
*
|
|
62
|
+
* ⛔ Le sélecteur 1 (bloc explicite) et le sélecteur du bloc média restent
|
|
63
|
+
* BYTE-DIFFÉRENTS de propos : le bloc 1 est INCONDITIONNEL (s'applique quel
|
|
64
|
+
* que soit `prefers-color-scheme`) tandis que le bloc média ne s'active que
|
|
65
|
+
* si NI `data-theme` NI `data-mode` ne sont posés. Ne pas les fusionner.
|
|
66
|
+
*
|
|
67
|
+
* ⛔ Le deuxième bloc (media query, "AUTO mode") reste volontairement un
|
|
68
|
+
* SOUS-ENSEMBLE de 11 déclarations, pas une copie complète des 2731 du bloc
|
|
69
|
+
* 1 — c'est un fait préexistant à #807, non réévalué ici, et hors périmètre
|
|
70
|
+
* de ce ticket.
|
|
71
|
+
*
|
|
72
|
+
* ⛔ The two blocks carry the SAME declarations, and this file is BYTE-IDENTICAL
|
|
73
|
+
* to its twin — the whole file, header included. The pair is
|
|
74
|
+
* `src/assets/css/tokens/dark.css` ⇄ `src/assets/scss/tokens/_dark.scss`, and
|
|
75
|
+
* the same holds for every other token pair.
|
|
76
|
+
*
|
|
77
|
+
* Why it matters here in particular: `main.css` — the `./styles` export, the
|
|
78
|
+
* entry a consumer gets by default — is compiled from the SCSS side. A block
|
|
79
|
+
* present in the CSS file and missing from the SCSS one ships a bundle with NO
|
|
80
|
+
* auto dark mode, while this file and the documentation both say otherwise.
|
|
81
|
+
* That was #794. `scripts/guards/token-twins.mjs` now fails on any divergence.
|
|
82
|
+
*
|
|
83
|
+
* ── #789 — CONTRASTE : POURQUOI CES PALIERS-LÀ ─────────────────────────────
|
|
84
|
+
* Mêmes couples `bg`/`fg` blanc qu'en clair, mêmes valeurs (success
|
|
85
|
+
* `green-700`, warning `amber-700`, info `#2563eb`). S'y ajoutent deux
|
|
86
|
+
* paliers PROPRES au sombre, mesurés en Chromium, alpha composité :
|
|
87
|
+
*
|
|
88
|
+
* action--primary---bg primary-500 #8b5cf6 4.23 → primary-600 5.70
|
|
89
|
+
* action--primary---bgHover primary-400 #a78bfa 2.72 → primary-700 7.10
|
|
90
|
+
*
|
|
91
|
+
* ⛔ Le `bgHover` sombre était la pire paire du jeu — 2.72:1 en texte blanc,
|
|
92
|
+
* pire que le fond au repos — et n'était signalé nulle part.
|
|
93
|
+
*
|
|
94
|
+
* ⚠️ CONTRAINTE DE PALETTE, mesurée : sur la surface sombre `#0a0a0a`, le
|
|
95
|
+
* SEUL palier violet qui tienne À LA FOIS le texte blanc à 4.5:1 et les 3:1
|
|
96
|
+
* non textuels de 1.4.11 contre la page est `primary---600` (blanc 5.70,
|
|
97
|
+
* page 3.47). Deux paliers distincts pour repos ET survol sont donc
|
|
98
|
+
* impossibles avec du texte blanc : `bgHover` à `primary---700` tombe à
|
|
99
|
+
* 2.79 contre la page. Arbitrage assumé — le survol est transitoire et
|
|
100
|
+
* désigné par le curseur, l'état au repos reste à 3.47. L'alternative
|
|
101
|
+
* (garder `#8b5cf6` et passer `primary---fg` à l'encre en sombre) tient les
|
|
102
|
+
* deux critères mais fait du primaire la seule intention à texte foncé.
|
|
103
|
+
*
|
|
104
|
+
* Mesure, témoins et non-régression :
|
|
105
|
+
* `packages/tests/e2e/token-intent-contrast.spec.ts`.
|
|
14
106
|
*/
|
|
15
|
-
[data-theme="dark"]
|
|
107
|
+
[data-theme="dark"],
|
|
108
|
+
:root:not([data-theme])[data-mode="dark"] {
|
|
16
109
|
--origam-color__surface---default: var(--origam-color__neutral---950);
|
|
17
110
|
--origam-color__surface---raised: var(--origam-color__neutral---900);
|
|
18
111
|
--origam-color__surface---overlay: var(--origam-color__neutral---800);
|
|
@@ -22,15 +115,15 @@
|
|
|
22
115
|
--origam-color__text---primary: var(--origam-color__neutral---50);
|
|
23
116
|
--origam-color__text---secondary: var(--origam-color__neutral---400);
|
|
24
117
|
--origam-color__text---disabled: var(--origam-color__neutral---600);
|
|
25
|
-
--origam-color__text---inverse: var(--origam-color__neutral---
|
|
118
|
+
--origam-color__text---inverse: var(--origam-color__neutral---950); /* #615 — voir light.css : le bloc runtime de `origamDarkTheme` pose #0a0a0a */
|
|
26
119
|
--origam-color__text---onColor: var(--origam-color__neutral---0);
|
|
27
120
|
--origam-color__border---default: var(--origam-color__neutral---700);
|
|
28
121
|
--origam-color__border---subtle: var(--origam-color__neutral---800);
|
|
29
122
|
--origam-color__border---strong: var(--origam-color__neutral---400);
|
|
30
123
|
--origam-color__border---focus: var(--origam-color__primary---400);
|
|
31
|
-
--origam-color__action--primary---bg: var(--origam-color__primary---
|
|
124
|
+
--origam-color__action--primary---bg: var(--origam-color__primary---600);
|
|
32
125
|
--origam-color__accent---base: var(--origam-color__action--primary---bg);
|
|
33
|
-
--origam-color__action--primary---bgHover: var(--origam-color__primary---
|
|
126
|
+
--origam-color__action--primary---bgHover: var(--origam-color__primary---700);
|
|
34
127
|
--origam-color__action--primary---bgSubtle: var(--origam-color__primary---900);
|
|
35
128
|
--origam-color__action--primary---bgDisabled: var(--origam-color__neutral---800);
|
|
36
129
|
--origam-color__action--primary---fg: var(--origam-color__neutral---0);
|
|
@@ -47,12 +140,12 @@
|
|
|
47
140
|
--origam-color__action--ghost---bgDisabled: rgba(0, 0, 0, 0);
|
|
48
141
|
--origam-color__action--ghost---fg: var(--origam-color__primary---400);
|
|
49
142
|
--origam-color__action--ghost---fgDisabled: var(--origam-color__neutral---600);
|
|
50
|
-
--origam-color__feedback--success---bg: var(--origam-color__green---
|
|
143
|
+
--origam-color__feedback--success---bg: var(--origam-color__green---700);
|
|
51
144
|
--origam-color__feedback--success---bgSubtle: var(--origam-color__neutral---900);
|
|
52
145
|
--origam-color__feedback--success---fg: var(--origam-color__neutral---0);
|
|
53
146
|
--origam-color__feedback--success---fgSubtle: var(--origam-color__green---400);
|
|
54
147
|
--origam-color__feedback--success---border: var(--origam-color__green---500);
|
|
55
|
-
--origam-color__feedback--warning---bg: var(--origam-color__amber---
|
|
148
|
+
--origam-color__feedback--warning---bg: var(--origam-color__amber---700);
|
|
56
149
|
--origam-color__feedback--warning---bgSubtle: var(--origam-color__neutral---900);
|
|
57
150
|
--origam-color__feedback--warning---fg: var(--origam-color__neutral---0);
|
|
58
151
|
--origam-color__feedback--warning---fgSubtle: var(--origam-color__amber---400);
|
|
@@ -62,7 +155,7 @@
|
|
|
62
155
|
--origam-color__feedback--danger---fg: var(--origam-color__neutral---0);
|
|
63
156
|
--origam-color__feedback--danger---fgSubtle: var(--origam-color__red---400);
|
|
64
157
|
--origam-color__feedback--danger---border: var(--origam-color__red---400);
|
|
65
|
-
--origam-color__feedback--info---bg:
|
|
158
|
+
--origam-color__feedback--info---bg: #2563eb;
|
|
66
159
|
--origam-color__feedback--info---bgSubtle: var(--origam-color__neutral---900);
|
|
67
160
|
--origam-color__feedback--info---fg: var(--origam-color__neutral---0);
|
|
68
161
|
--origam-color__feedback--info---fgSubtle: var(--origam-color__blue---400);
|
|
@@ -88,7 +181,7 @@
|
|
|
88
181
|
--origam-btn---border-style: solid;
|
|
89
182
|
--origam-btn---border-color: currentColor;
|
|
90
183
|
--origam-btn---position: relative;
|
|
91
|
-
--origam-btn---density:
|
|
184
|
+
--origam-btn---density: 0px;
|
|
92
185
|
--origam-btn---width: auto;
|
|
93
186
|
--origam-btn---min-width: 64px;
|
|
94
187
|
--origam-btn---max-width: 100%;
|
|
@@ -919,8 +1012,8 @@
|
|
|
919
1012
|
--origam-field__input---padding-block-filled: 20px;
|
|
920
1013
|
--origam-field__input---padding-top: var(--origam-field__input---padding-block-md);
|
|
921
1014
|
--origam-field__input---padding-bottom: var(--origam-field__input---padding-block-md);
|
|
922
|
-
--origam-field__input---padding-start:
|
|
923
|
-
--origam-field__input---padding-end:
|
|
1015
|
+
--origam-field__input---padding-start: 0px;
|
|
1016
|
+
--origam-field__input---padding-end: 0px;
|
|
924
1017
|
--origam-field__input---opacity: 0.7;
|
|
925
1018
|
--origam-field__label---font-size: 0.75em;
|
|
926
1019
|
--origam-field__label---transition-duration: var(--origam-motion__duration---normal);
|
|
@@ -1430,6 +1523,9 @@
|
|
|
1430
1523
|
--origam-table__header-cell---padding-inline: var(--origam-space---4);
|
|
1431
1524
|
--origam-table__header-cell---border-bottom-color: var(--origam-color__border---default);
|
|
1432
1525
|
--origam-table__header-cell---border-bottom-width: var(--origam-border__width---2);
|
|
1526
|
+
/* #840 — see light.css: derived from the density-aware padding-block
|
|
1527
|
+
token so it can't drift out of sync with it. */
|
|
1528
|
+
--origam-table__header-cell---height: calc((2 * var(--origam-table__header-cell---padding-block, 12px)) + var(--origam-table__header-cell---border-bottom-width, 2px) + 18px);
|
|
1433
1529
|
--origam-table__cell---padding-block: var(--origam-space---3);
|
|
1434
1530
|
--origam-table__cell---padding-inline: var(--origam-space---4);
|
|
1435
1531
|
--origam-table__cell---border-color: var(--origam-color__border---subtle);
|
|
@@ -1996,8 +2092,9 @@
|
|
|
1996
2092
|
--origam-switch__track---background-color-disabled: var(--origam-color__surface---disabled);
|
|
1997
2093
|
--origam-switch__track---background-color-error: var(--origam-color__feedback--danger---bg);
|
|
1998
2094
|
--origam-switch__track---color-error: var(--origam-color__feedback--danger---fg);
|
|
1999
|
-
--origam-switch__track---border-color:
|
|
2000
|
-
--origam-switch__track---border-
|
|
2095
|
+
--origam-switch__track---border-color: var(--origam-color__border---default);
|
|
2096
|
+
--origam-switch__track---border-style: solid;
|
|
2097
|
+
--origam-switch__track---border-width: var(--origam-border__width---thin);
|
|
2001
2098
|
--origam-switch__track---backdrop-filter: none;
|
|
2002
2099
|
--origam-switch__thumb---size: 20px;
|
|
2003
2100
|
--origam-switch__thumb---background-color: var(--origam-color__surface---default);
|
|
@@ -2744,7 +2841,7 @@
|
|
|
2744
2841
|
--origam-tab-panels__panel--focus---outline-color: currentColor;
|
|
2745
2842
|
}
|
|
2746
2843
|
@media (prefers-color-scheme: dark) {
|
|
2747
|
-
:root:not([data-theme]) {
|
|
2844
|
+
:root:not([data-theme]):not([data-mode]) {
|
|
2748
2845
|
--origam-color__surface---default: var(--origam-color__neutral---950);
|
|
2749
2846
|
--origam-color__surface---raised: var(--origam-color__neutral---900);
|
|
2750
2847
|
--origam-color__surface---overlay: var(--origam-color__neutral---800);
|
|
@@ -2754,15 +2851,15 @@
|
|
|
2754
2851
|
--origam-color__text---primary: var(--origam-color__neutral---50);
|
|
2755
2852
|
--origam-color__text---secondary: var(--origam-color__neutral---400);
|
|
2756
2853
|
--origam-color__text---disabled: var(--origam-color__neutral---600);
|
|
2757
|
-
--origam-color__text---inverse: var(--origam-color__neutral---
|
|
2854
|
+
--origam-color__text---inverse: var(--origam-color__neutral---950); /* #615 — voir light.css : le bloc runtime de `origamDarkTheme` pose #0a0a0a */
|
|
2758
2855
|
--origam-color__text---onColor: var(--origam-color__neutral---0);
|
|
2759
2856
|
--origam-color__border---default: var(--origam-color__neutral---700);
|
|
2760
2857
|
--origam-color__border---subtle: var(--origam-color__neutral---800);
|
|
2761
2858
|
--origam-color__border---strong: var(--origam-color__neutral---400);
|
|
2762
2859
|
--origam-color__border---focus: var(--origam-color__primary---400);
|
|
2763
|
-
--origam-color__action--primary---bg: var(--origam-color__primary---
|
|
2860
|
+
--origam-color__action--primary---bg: var(--origam-color__primary---600);
|
|
2764
2861
|
--origam-color__accent---base: var(--origam-color__action--primary---bg);
|
|
2765
|
-
--origam-color__action--primary---bgHover: var(--origam-color__primary---
|
|
2862
|
+
--origam-color__action--primary---bgHover: var(--origam-color__primary---700);
|
|
2766
2863
|
--origam-color__action--primary---bgSubtle: var(--origam-color__primary---900);
|
|
2767
2864
|
--origam-color__action--primary---bgDisabled: var(--origam-color__neutral---800);
|
|
2768
2865
|
--origam-color__action--primary---fg: var(--origam-color__neutral---0);
|
|
@@ -2779,12 +2876,12 @@
|
|
|
2779
2876
|
--origam-color__action--ghost---bgDisabled: rgba(0, 0, 0, 0);
|
|
2780
2877
|
--origam-color__action--ghost---fg: var(--origam-color__primary---400);
|
|
2781
2878
|
--origam-color__action--ghost---fgDisabled: var(--origam-color__neutral---600);
|
|
2782
|
-
--origam-color__feedback--success---bg: var(--origam-color__green---
|
|
2879
|
+
--origam-color__feedback--success---bg: var(--origam-color__green---700);
|
|
2783
2880
|
--origam-color__feedback--success---bgSubtle: var(--origam-color__neutral---900);
|
|
2784
2881
|
--origam-color__feedback--success---fg: var(--origam-color__neutral---0);
|
|
2785
2882
|
--origam-color__feedback--success---fgSubtle: var(--origam-color__green---400);
|
|
2786
2883
|
--origam-color__feedback--success---border: var(--origam-color__green---500);
|
|
2787
|
-
--origam-color__feedback--warning---bg: var(--origam-color__amber---
|
|
2884
|
+
--origam-color__feedback--warning---bg: var(--origam-color__amber---700);
|
|
2788
2885
|
--origam-color__feedback--warning---bgSubtle: var(--origam-color__neutral---900);
|
|
2789
2886
|
--origam-color__feedback--warning---fg: var(--origam-color__neutral---0);
|
|
2790
2887
|
--origam-color__feedback--warning---fgSubtle: var(--origam-color__amber---400);
|
|
@@ -2794,7 +2891,7 @@
|
|
|
2794
2891
|
--origam-color__feedback--danger---fg: var(--origam-color__neutral---0);
|
|
2795
2892
|
--origam-color__feedback--danger---fgSubtle: var(--origam-color__red---400);
|
|
2796
2893
|
--origam-color__feedback--danger---border: var(--origam-color__red---400);
|
|
2797
|
-
--origam-color__feedback--info---bg:
|
|
2894
|
+
--origam-color__feedback--info---bg: #2563eb;
|
|
2798
2895
|
--origam-color__feedback--info---bgSubtle: var(--origam-color__neutral---900);
|
|
2799
2896
|
--origam-color__feedback--info---fg: var(--origam-color__neutral---0);
|
|
2800
2897
|
--origam-color__feedback--info---fgSubtle: var(--origam-color__blue---400);
|
|
@@ -2820,7 +2917,7 @@
|
|
|
2820
2917
|
--origam-btn---border-style: solid;
|
|
2821
2918
|
--origam-btn---border-color: currentColor;
|
|
2822
2919
|
--origam-btn---position: relative;
|
|
2823
|
-
--origam-btn---density:
|
|
2920
|
+
--origam-btn---density: 0px;
|
|
2824
2921
|
--origam-btn---width: auto;
|
|
2825
2922
|
--origam-btn---min-width: 64px;
|
|
2826
2923
|
--origam-btn---max-width: 100%;
|
|
@@ -3651,8 +3748,8 @@
|
|
|
3651
3748
|
--origam-field__input---padding-block-filled: 20px;
|
|
3652
3749
|
--origam-field__input---padding-top: var(--origam-field__input---padding-block-md);
|
|
3653
3750
|
--origam-field__input---padding-bottom: var(--origam-field__input---padding-block-md);
|
|
3654
|
-
--origam-field__input---padding-start:
|
|
3655
|
-
--origam-field__input---padding-end:
|
|
3751
|
+
--origam-field__input---padding-start: 0px;
|
|
3752
|
+
--origam-field__input---padding-end: 0px;
|
|
3656
3753
|
--origam-field__input---opacity: 0.7;
|
|
3657
3754
|
--origam-field__label---font-size: 0.75em;
|
|
3658
3755
|
--origam-field__label---transition-duration: var(--origam-motion__duration---normal);
|
|
@@ -4162,6 +4259,9 @@
|
|
|
4162
4259
|
--origam-table__header-cell---padding-inline: var(--origam-space---4);
|
|
4163
4260
|
--origam-table__header-cell---border-bottom-color: var(--origam-color__border---default);
|
|
4164
4261
|
--origam-table__header-cell---border-bottom-width: var(--origam-border__width---2);
|
|
4262
|
+
/* #840 — see light.css: derived from the density-aware padding-block
|
|
4263
|
+
token so it can't drift out of sync with it. */
|
|
4264
|
+
--origam-table__header-cell---height: calc((2 * var(--origam-table__header-cell---padding-block, 12px)) + var(--origam-table__header-cell---border-bottom-width, 2px) + 18px);
|
|
4165
4265
|
--origam-table__cell---padding-block: var(--origam-space---3);
|
|
4166
4266
|
--origam-table__cell---padding-inline: var(--origam-space---4);
|
|
4167
4267
|
--origam-table__cell---border-color: var(--origam-color__border---subtle);
|
|
@@ -4728,8 +4828,9 @@
|
|
|
4728
4828
|
--origam-switch__track---background-color-disabled: var(--origam-color__surface---disabled);
|
|
4729
4829
|
--origam-switch__track---background-color-error: var(--origam-color__feedback--danger---bg);
|
|
4730
4830
|
--origam-switch__track---color-error: var(--origam-color__feedback--danger---fg);
|
|
4731
|
-
--origam-switch__track---border-color:
|
|
4732
|
-
--origam-switch__track---border-
|
|
4831
|
+
--origam-switch__track---border-color: var(--origam-color__border---default);
|
|
4832
|
+
--origam-switch__track---border-style: solid;
|
|
4833
|
+
--origam-switch__track---border-width: var(--origam-border__width---thin);
|
|
4733
4834
|
--origam-switch__track---backdrop-filter: none;
|
|
4734
4835
|
--origam-switch__thumb---size: 20px;
|
|
4735
4836
|
--origam-switch__thumb---background-color: var(--origam-color__surface---default);
|
|
@@ -11,6 +11,25 @@
|
|
|
11
11
|
* This file is now HAND-MAINTAINED SOURCE: edit it directly. There is no
|
|
12
12
|
* regeneration step, and no "do not edit" rule any more. A design-token
|
|
13
13
|
* pipeline may be reintroduced later, once the DS is stable.
|
|
14
|
+
*
|
|
15
|
+
* ── #789 — CONTRASTE : POURQUOI CES PALIERS-LÀ ─────────────────────────────
|
|
16
|
+
* `feedback--{success,warning,info}---bg` portent tous un `---fg` BLANC. Le
|
|
17
|
+
* couple doit donc tenir 4.5:1 (WCAG AA, texte). Mesuré en Chromium, alpha
|
|
18
|
+
* composité, avec témoins calculables à la main :
|
|
19
|
+
*
|
|
20
|
+
* success green-500 #4caf50 2.78 → green-700 #15803d 5.02
|
|
21
|
+
* warning amber-600 #fb8c00 2.37 → amber-700 #b45309 5.02
|
|
22
|
+
* info blue-500 #2196f3 3.12 → #2563eb 5.17
|
|
23
|
+
*
|
|
24
|
+
* ⛔ Ne pas « re-éclaircir » ces trois paliers sans remesurer : sur cette
|
|
25
|
+
* palette, aucun palier plus clair ne tient AA avec du texte blanc. La
|
|
26
|
+
* mesure et ses témoins vivent dans
|
|
27
|
+
* `packages/tests/e2e/token-intent-contrast.spec.ts` — elle rougit ici.
|
|
28
|
+
*
|
|
29
|
+
* `info---bg` est le seul littéral du lot : `#2563eb` n'existe pas dans la
|
|
30
|
+
* palette primitive (son `blue---600` vaut `#1d4ed8`, soit le 700 de
|
|
31
|
+
* Tailwind). La valeur est celle de `origam.theme.ts`, ce qui ferme du même
|
|
32
|
+
* coup la divergence feuille ↔ thème que #793 suit.
|
|
14
33
|
*/
|
|
15
34
|
:root,
|
|
16
35
|
[data-theme="light"] {
|
|
@@ -20,7 +39,19 @@
|
|
|
20
39
|
--origam-color__surface---sunken: var(--origam-color__neutral---50);
|
|
21
40
|
--origam-color__surface---disabled: var(--origam-color__neutral---200);
|
|
22
41
|
--origam-color__surface---inverse: var(--origam-color__neutral---900);
|
|
23
|
-
|
|
42
|
+
/* #615 — `950`, PAS `900`. Cette feuille NE gagne PAS la cascade au niveau
|
|
43
|
+
document : `createOrigam()` appelle `applyThemes()`, qui serialise
|
|
44
|
+
`origamLightTheme` (src/themes/origam.theme.ts) en un bloc `:root { … }`
|
|
45
|
+
injecte dans <head> APRES cette feuille. A specificite egale (0,1,0) c'est
|
|
46
|
+
l'ordre source qui tranche, donc le bloc runtime gagne — et il pose
|
|
47
|
+
`#0a0a0a`, soit neutral-950. Tant que cette ligne disait `900`, le meme
|
|
48
|
+
theme « light » peignait DEUX couleurs : `#0a0a0a` a la racine et
|
|
49
|
+
`#171717` dans un sous-arbre `<OrigamThemeProvider theme="light">` (ou
|
|
50
|
+
`[data-theme="light"]` matche alors que `:root` ne matche plus). Les deux
|
|
51
|
+
valeurs mesurees en Chromium ; le contraste sur `surface.default` passe de
|
|
52
|
+
17.93:1 a 19.80:1. Si cette ligne doit revenir a `900`, c'est
|
|
53
|
+
`origam.theme.ts` qu'il faut changer AVEC, sinon la divergence revient. */
|
|
54
|
+
--origam-color__text---primary: var(--origam-color__neutral---950);
|
|
24
55
|
--origam-color__text---secondary: var(--origam-color__neutral---600);
|
|
25
56
|
--origam-color__text---disabled: var(--origam-color__neutral---400);
|
|
26
57
|
--origam-color__text---inverse: var(--origam-color__neutral---0);
|
|
@@ -48,26 +79,26 @@
|
|
|
48
79
|
--origam-color__action--ghost---bgDisabled: rgba(0, 0, 0, 0);
|
|
49
80
|
--origam-color__action--ghost---fg: var(--origam-color__primary---600);
|
|
50
81
|
--origam-color__action--ghost---fgDisabled: var(--origam-color__neutral---400);
|
|
51
|
-
--origam-color__feedback--success---bg: var(--origam-color__green---
|
|
82
|
+
--origam-color__feedback--success---bg: var(--origam-color__green---700);
|
|
52
83
|
--origam-color__feedback--success---bgSubtle: var(--origam-color__green---50);
|
|
53
84
|
--origam-color__feedback--success---fg: var(--origam-color__neutral---0);
|
|
54
85
|
--origam-color__feedback--success---fgSubtle: var(--origam-color__green---700);
|
|
55
|
-
--origam-color__feedback--success---border: var(--origam-color__green---
|
|
56
|
-
--origam-color__feedback--warning---bg: var(--origam-color__amber---
|
|
86
|
+
--origam-color__feedback--success---border: var(--origam-color__green---700);
|
|
87
|
+
--origam-color__feedback--warning---bg: var(--origam-color__amber---700);
|
|
57
88
|
--origam-color__feedback--warning---bgSubtle: var(--origam-color__amber---50);
|
|
58
89
|
--origam-color__feedback--warning---fg: var(--origam-color__neutral---0);
|
|
59
90
|
--origam-color__feedback--warning---fgSubtle: var(--origam-color__amber---700);
|
|
60
|
-
--origam-color__feedback--warning---border: var(--origam-color__amber---
|
|
91
|
+
--origam-color__feedback--warning---border: var(--origam-color__amber---700);
|
|
61
92
|
--origam-color__feedback--danger---bg: var(--origam-color__red---600);
|
|
62
93
|
--origam-color__feedback--danger---bgSubtle: var(--origam-color__red---50);
|
|
63
94
|
--origam-color__feedback--danger---fg: var(--origam-color__neutral---0);
|
|
64
95
|
--origam-color__feedback--danger---fgSubtle: var(--origam-color__red---700);
|
|
65
96
|
--origam-color__feedback--danger---border: var(--origam-color__red---400);
|
|
66
|
-
--origam-color__feedback--info---bg:
|
|
97
|
+
--origam-color__feedback--info---bg: #2563eb;
|
|
67
98
|
--origam-color__feedback--info---bgSubtle: var(--origam-color__blue---50);
|
|
68
99
|
--origam-color__feedback--info---fg: var(--origam-color__neutral---0);
|
|
69
100
|
--origam-color__feedback--info---fgSubtle: var(--origam-color__blue---700);
|
|
70
|
-
--origam-color__feedback--info---border:
|
|
101
|
+
--origam-color__feedback--info---border: #2563eb;
|
|
71
102
|
--origam-color__overlay---scrim: var(--origam-color---white);
|
|
72
103
|
--origam-gradient---sunset: linear-gradient(135deg, #ff7e5f, #feb47b);
|
|
73
104
|
--origam-gradient---ocean: linear-gradient(135deg, #2193b0, #6dd5ed);
|
|
@@ -89,7 +120,7 @@
|
|
|
89
120
|
--origam-btn---border-style: solid;
|
|
90
121
|
--origam-btn---border-color: currentColor;
|
|
91
122
|
--origam-btn---position: relative;
|
|
92
|
-
--origam-btn---density:
|
|
123
|
+
--origam-btn---density: 0px;
|
|
93
124
|
--origam-btn---width: auto;
|
|
94
125
|
--origam-btn---min-width: 64px;
|
|
95
126
|
--origam-btn---max-width: 100%;
|
|
@@ -920,8 +951,8 @@
|
|
|
920
951
|
--origam-field__input---padding-block-filled: 20px;
|
|
921
952
|
--origam-field__input---padding-top: var(--origam-field__input---padding-block-md);
|
|
922
953
|
--origam-field__input---padding-bottom: var(--origam-field__input---padding-block-md);
|
|
923
|
-
--origam-field__input---padding-start:
|
|
924
|
-
--origam-field__input---padding-end:
|
|
954
|
+
--origam-field__input---padding-start: 0px;
|
|
955
|
+
--origam-field__input---padding-end: 0px;
|
|
925
956
|
--origam-field__input---opacity: 0.7;
|
|
926
957
|
--origam-field__label---font-size: 0.75em;
|
|
927
958
|
--origam-field__label---transition-duration: var(--origam-motion__duration---normal);
|
|
@@ -1431,6 +1462,11 @@
|
|
|
1431
1462
|
--origam-table__header-cell---padding-inline: var(--origam-space---4);
|
|
1432
1463
|
--origam-table__header-cell---border-bottom-color: var(--origam-color__border---default);
|
|
1433
1464
|
--origam-table__header-cell---border-bottom-width: var(--origam-border__width---2);
|
|
1465
|
+
/* #840 — derived from the SAME density-aware padding-block token, so it
|
|
1466
|
+
never drifts out of sync with it: 2 * padding-block + border-bottom
|
|
1467
|
+
+ 18px (measured content-box line height of a single-line header
|
|
1468
|
+
cell in Chromium, constant across the 3 density rungs). */
|
|
1469
|
+
--origam-table__header-cell---height: calc((2 * var(--origam-table__header-cell---padding-block, 12px)) + var(--origam-table__header-cell---border-bottom-width, 2px) + 18px);
|
|
1434
1470
|
--origam-table__cell---padding-block: var(--origam-space---3);
|
|
1435
1471
|
--origam-table__cell---padding-inline: var(--origam-space---4);
|
|
1436
1472
|
--origam-table__cell---border-color: var(--origam-color__border---subtle);
|
|
@@ -1997,8 +2033,9 @@
|
|
|
1997
2033
|
--origam-switch__track---background-color-disabled: var(--origam-color__surface---disabled);
|
|
1998
2034
|
--origam-switch__track---background-color-error: var(--origam-color__feedback--danger---bg);
|
|
1999
2035
|
--origam-switch__track---color-error: var(--origam-color__feedback--danger---fg);
|
|
2000
|
-
--origam-switch__track---border-color:
|
|
2001
|
-
--origam-switch__track---border-
|
|
2036
|
+
--origam-switch__track---border-color: var(--origam-color__border---default);
|
|
2037
|
+
--origam-switch__track---border-style: solid;
|
|
2038
|
+
--origam-switch__track---border-width: var(--origam-border__width---thin);
|
|
2002
2039
|
--origam-switch__track---backdrop-filter: none;
|
|
2003
2040
|
--origam-switch__thumb---size: 20px;
|
|
2004
2041
|
--origam-switch__thumb---background-color: var(--origam-color__surface---default);
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"pause": "Pause the carousel",
|
|
84
84
|
"play": "Play the carousel",
|
|
85
85
|
"slide": "slide",
|
|
86
|
+
"role_description": "carousel",
|
|
86
87
|
"aria_label": {
|
|
87
88
|
"delimiter": "Carousel slide {0} of {1}"
|
|
88
89
|
}
|
|
@@ -286,7 +287,9 @@
|
|
|
286
287
|
"command_palette": {
|
|
287
288
|
"aria_label": "Command palette",
|
|
288
289
|
"placeholder": "Search…",
|
|
289
|
-
"empty_text": "No results"
|
|
290
|
+
"empty_text": "No results",
|
|
291
|
+
"footer_navigate": "Navigate",
|
|
292
|
+
"footer_select": "Select"
|
|
290
293
|
},
|
|
291
294
|
"chart": {
|
|
292
295
|
"aria_label": "Chart",
|
|
@@ -303,17 +306,22 @@
|
|
|
303
306
|
"box_plot": {
|
|
304
307
|
"aria_label": "box plot chart",
|
|
305
308
|
"desc_one": "Box plot with {count} category.",
|
|
306
|
-
"desc_other": "Box plot with {count} categories."
|
|
309
|
+
"desc_other": "Box plot with {count} categories.",
|
|
310
|
+
"box_aria_label": "{0}: min={1} Q1={2} median={3} Q3={4} max={5}"
|
|
307
311
|
},
|
|
308
312
|
"bullet": {
|
|
309
313
|
"aria_label": "bullet chart",
|
|
310
314
|
"desc_one": "Bullet chart with {count} indicator.",
|
|
311
|
-
"desc_other": "Bullet chart with {count} indicators."
|
|
315
|
+
"desc_other": "Bullet chart with {count} indicators.",
|
|
316
|
+
"bullet_aria_label": "{0}: value {1}, target {2}, {3}% achievement"
|
|
312
317
|
},
|
|
313
318
|
"candlestick": {
|
|
314
319
|
"aria_label": "candlestick chart",
|
|
315
320
|
"desc_one": "Candlestick chart with {count} candle.",
|
|
316
|
-
"desc_other": "Candlestick chart with {count} candles."
|
|
321
|
+
"desc_other": "Candlestick chart with {count} candles.",
|
|
322
|
+
"direction_bullish": "bullish",
|
|
323
|
+
"direction_bearish": "bearish",
|
|
324
|
+
"candle_aria_label": "{0}: {1}, open {2}, high {3}, low {4}, close {5}"
|
|
317
325
|
},
|
|
318
326
|
"gauge": {
|
|
319
327
|
"aria_label": "gauge chart",
|
|
@@ -344,12 +352,15 @@
|
|
|
344
352
|
"aria_label": "Pareto chart",
|
|
345
353
|
"cumulative_label": "Cumulative %",
|
|
346
354
|
"desc_one": "Pareto chart with {count} category, sorted descending by value.",
|
|
347
|
-
"desc_other": "Pareto chart with {count} categories, sorted descending by value."
|
|
355
|
+
"desc_other": "Pareto chart with {count} categories, sorted descending by value.",
|
|
356
|
+
"bar_aria_label": "{0}: {1} ({2}%, cumulative {3}%)"
|
|
348
357
|
},
|
|
349
358
|
"pictorial": {
|
|
350
359
|
"aria_label": "pictorial chart",
|
|
351
360
|
"desc_one": "Pictorial chart with {count} column.",
|
|
352
|
-
"desc_other": "Pictorial chart with {count} columns."
|
|
361
|
+
"desc_other": "Pictorial chart with {count} columns.",
|
|
362
|
+
"fill_column_aria_label": "{0}: {1} — {2}% of maximum",
|
|
363
|
+
"column_aria_label": "{0}: {1} ({2} of {3} icons)"
|
|
353
364
|
},
|
|
354
365
|
"range_selector": {
|
|
355
366
|
"aria_label": "Chart range selector"
|
|
@@ -477,6 +488,10 @@
|
|
|
477
488
|
"treeview": {
|
|
478
489
|
"aria_label": "File tree",
|
|
479
490
|
"node_children_aria_label": "{0} contents"
|
|
491
|
+
},
|
|
492
|
+
"slider_field": {
|
|
493
|
+
"thumb_start_aria_label": "{0} (start)",
|
|
494
|
+
"thumb_end_aria_label": "{0} (end)"
|
|
480
495
|
}
|
|
481
496
|
}
|
|
482
497
|
}
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"pause": "Mettre le carrousel en pause",
|
|
84
84
|
"play": "Lancer le carrousel",
|
|
85
85
|
"slide": "diapositive",
|
|
86
|
+
"role_description": "carrousel",
|
|
86
87
|
"aria_label": {
|
|
87
88
|
"delimiter": "Diapositive {0} de {1}"
|
|
88
89
|
}
|
|
@@ -286,7 +287,9 @@
|
|
|
286
287
|
"command_palette": {
|
|
287
288
|
"aria_label": "Palette de commandes",
|
|
288
289
|
"placeholder": "Rechercher…",
|
|
289
|
-
"empty_text": "Aucun résultat"
|
|
290
|
+
"empty_text": "Aucun résultat",
|
|
291
|
+
"footer_navigate": "Naviguer",
|
|
292
|
+
"footer_select": "Sélectionner"
|
|
290
293
|
},
|
|
291
294
|
"chart": {
|
|
292
295
|
"aria_label": "Graphique",
|
|
@@ -303,17 +306,22 @@
|
|
|
303
306
|
"box_plot": {
|
|
304
307
|
"aria_label": "boîte à moustaches",
|
|
305
308
|
"desc_one": "Boîte à moustaches avec {count} catégorie.",
|
|
306
|
-
"desc_other": "Boîte à moustaches avec {count} catégories."
|
|
309
|
+
"desc_other": "Boîte à moustaches avec {count} catégories.",
|
|
310
|
+
"box_aria_label": "{0} : min={1} Q1={2} médiane={3} Q3={4} max={5}"
|
|
307
311
|
},
|
|
308
312
|
"bullet": {
|
|
309
313
|
"aria_label": "graphique à puce",
|
|
310
314
|
"desc_one": "Graphique à puce avec {count} indicateur.",
|
|
311
|
-
"desc_other": "Graphique à puce avec {count} indicateurs."
|
|
315
|
+
"desc_other": "Graphique à puce avec {count} indicateurs.",
|
|
316
|
+
"bullet_aria_label": "{0} : valeur {1}, cible {2}, {3} % d'atteinte"
|
|
312
317
|
},
|
|
313
318
|
"candlestick": {
|
|
314
319
|
"aria_label": "graphique en chandeliers",
|
|
315
320
|
"desc_one": "Graphique en chandeliers avec {count} chandelier.",
|
|
316
|
-
"desc_other": "Graphique en chandeliers avec {count} chandeliers."
|
|
321
|
+
"desc_other": "Graphique en chandeliers avec {count} chandeliers.",
|
|
322
|
+
"direction_bullish": "haussier",
|
|
323
|
+
"direction_bearish": "baissier",
|
|
324
|
+
"candle_aria_label": "{0} : {1}, ouverture {2}, plus haut {3}, plus bas {4}, clôture {5}"
|
|
317
325
|
},
|
|
318
326
|
"gauge": {
|
|
319
327
|
"aria_label": "jauge",
|
|
@@ -344,12 +352,15 @@
|
|
|
344
352
|
"aria_label": "diagramme de Pareto",
|
|
345
353
|
"cumulative_label": "% cumulé",
|
|
346
354
|
"desc_one": "Diagramme de Pareto avec {count} catégorie, triée par valeur décroissante.",
|
|
347
|
-
"desc_other": "Diagramme de Pareto avec {count} catégories, triées par valeur décroissante."
|
|
355
|
+
"desc_other": "Diagramme de Pareto avec {count} catégories, triées par valeur décroissante.",
|
|
356
|
+
"bar_aria_label": "{0} : {1} ({2} %, cumul {3} %)"
|
|
348
357
|
},
|
|
349
358
|
"pictorial": {
|
|
350
359
|
"aria_label": "graphique pictural",
|
|
351
360
|
"desc_one": "Graphique pictural avec {count} colonne.",
|
|
352
|
-
"desc_other": "Graphique pictural avec {count} colonnes."
|
|
361
|
+
"desc_other": "Graphique pictural avec {count} colonnes.",
|
|
362
|
+
"fill_column_aria_label": "{0} : {1} — {2} % du maximum",
|
|
363
|
+
"column_aria_label": "{0} : {1} ({2} icônes sur {3})"
|
|
353
364
|
},
|
|
354
365
|
"range_selector": {
|
|
355
366
|
"aria_label": "Sélecteur de plage du graphique"
|
|
@@ -477,6 +488,10 @@
|
|
|
477
488
|
"treeview": {
|
|
478
489
|
"aria_label": "Arborescence de fichiers",
|
|
479
490
|
"node_children_aria_label": "Contenu de {0}"
|
|
491
|
+
},
|
|
492
|
+
"slider_field": {
|
|
493
|
+
"thumb_start_aria_label": "{0} (début)",
|
|
494
|
+
"thumb_end_aria_label": "{0} (fin)"
|
|
480
495
|
}
|
|
481
496
|
}
|
|
482
497
|
}
|
|
@@ -7,8 +7,16 @@
|
|
|
7
7
|
//
|
|
8
8
|
// Order matters: primitives must load first so semantic and component layers
|
|
9
9
|
// can resolve their alias references. Light is loaded as the default theme;
|
|
10
|
-
// dark is layered on top and activated by `data-theme="dark"
|
|
11
|
-
//
|
|
10
|
+
// dark is layered on top and activated by `data-theme="dark"`, or by the
|
|
11
|
+
// `@media (prefers-color-scheme: dark)` block that `tokens/_dark` carries at
|
|
12
|
+
// its end — which matches only `:root:not([data-theme]):not([data-mode])`, so
|
|
13
|
+
// it never overrides a page that pinned a choice on either axis.
|
|
14
|
+
//
|
|
15
|
+
// ⛔ That media query was MISSING from `_dark.scss` until #794 (it existed in
|
|
16
|
+
// the CSS twin `tokens/dark.css` only). This very comment described it as
|
|
17
|
+
// present for months while the compiled `main.css` — the `./styles` export —
|
|
18
|
+
// shipped no automatic dark mode at all. Guard 27 (`token-twins`) now fails
|
|
19
|
+
// on any divergence between a token sheet and its twin.
|
|
12
20
|
|
|
13
21
|
@forward 'tokens/primitive';
|
|
14
22
|
@forward 'tokens/light';
|