origam 2.20.0 → 2.22.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 +99 -0
- package/dist/src/assets/css/main.css +1 -1
- package/dist/src/assets/css/tokens/dark.css +8 -16
- package/dist/src/assets/css/tokens/light.css +3 -8
- package/dist/src/assets/scss/tokens/_dark.scss +8 -16
- package/dist/src/assets/scss/tokens/_light.scss +3 -8
- package/dist/src/components/Blockquote/OrigamBlockquote.vue +15 -65
- package/dist/src/components/CommandPalette/OrigamCommandPalette.vue +8 -2
- package/dist/src/components/ContextualMenu/OrigamContextualMenu.vue +1 -1
- package/dist/src/components/Dialog/OrigamDialog.vue +1 -1
- package/dist/src/components/Dialog/OrigamDialogConfirmation.vue +1 -1
- package/dist/src/components/Drawer/OrigamDrawer.vue +12 -2
- package/dist/src/components/Menu/OrigamMenu.vue +1 -1
- package/dist/src/components/Overlay/OrigamOverlay.vue +2 -2
- package/dist/src/components/Snackbar/OrigamSnackbar.vue +1 -1
- package/dist/src/components/Snackbar/OrigamSnackbarGroup.vue +8 -2
- package/dist/src/components/Tooltip/OrigamTooltip.vue +1 -1
- package/dist/src/composables/Commons/hydration.composable.cjs +8 -3
- package/dist/src/composables/Commons/hydration.composable.d.ts +13 -5
- package/dist/src/composables/Commons/hydration.composable.js +6 -1
- package/dist/src/composables/Commons/teleport.composable.cjs +3 -0
- package/dist/src/composables/Commons/teleport.composable.d.ts +56 -0
- package/dist/src/composables/Commons/teleport.composable.js +3 -0
- package/dist/src/consts/Blockquote/blockquote.const.cjs +38 -1
- package/dist/src/consts/Blockquote/blockquote.const.d.ts +113 -0
- package/dist/src/consts/Blockquote/blockquote.const.js +37 -0
- package/dist/src/consts/Commons/variant-preset.const.cjs +2 -0
- package/dist/src/consts/Commons/variant-preset.const.d.ts +19 -8
- package/dist/src/consts/Commons/variant-preset.const.js +2 -0
- package/dist/src/interfaces/Blockquote/blockquote.interface.d.ts +59 -4
- package/dist/src/interfaces/CommandPalette/command-palette.interface.d.ts +2 -1
- package/dist/src/interfaces/Commons/attach.interface.cjs +1 -0
- package/dist/src/interfaces/Commons/attach.interface.d.ts +30 -0
- package/dist/src/interfaces/Commons/attach.interface.js +0 -0
- package/dist/src/interfaces/Drawer/drawer.interface.d.ts +24 -1
- package/dist/src/interfaces/Overlay/overlay.interface.d.ts +2 -2
- package/dist/src/interfaces/Snackbar/snackbar-group.interface.d.ts +2 -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 +10 -1
- package/dist/src/themes/origam.theme.js +10 -1
- package/dist/src/types/tokens.type.d.ts +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,62 @@ import { Ref } from 'vue';
|
|
|
15
15
|
* `teleportTarget` reste `undefined` — le composant appelant retombe
|
|
16
16
|
* alors sur son rendu non-teleporte plutot que de crasher. En SSR
|
|
17
17
|
* (`!IN_BROWSER`), toujours `undefined`, sans avertissement.
|
|
18
|
+
*
|
|
19
|
+
* @description
|
|
20
|
+
* ⛔ `useHydration()` — #attach-harmonisation. Un selecteur `string` ciblant
|
|
21
|
+
* un NOEUD FRERE cree dans la MEME passe de rendu (ex: un conteneur local
|
|
22
|
+
* que le consommateur monte lui-meme juste avant le composant qui teleporte)
|
|
23
|
+
* peut ne pas encore etre connecte a `document` au moment ou ce `computed`
|
|
24
|
+
* s'evalue pour la PREMIERE fois — mesure concrete sous Histoire (dont
|
|
25
|
+
* `OrigamApp`/`OrigamLayout` englobent chaque story dans un `<Suspense>` :
|
|
26
|
+
* l'arbre entier, y compris les freres, n'est commit dans le vrai DOM
|
|
27
|
+
* qu'une fois la resolution async terminee). `document.querySelector` n'est
|
|
28
|
+
* PAS une dependance reactive : si le premier appel echoue, le `computed`
|
|
29
|
+
* reste bloque sur `undefined` pour toujours, meme apres que la cible soit
|
|
30
|
+
* reellement montee — rien ne le marque sale.
|
|
31
|
+
*
|
|
32
|
+
* @description
|
|
33
|
+
* ⛔ UN COMPTEUR LOCAL (`mountTick`, essaye d'abord) CASSE LE SSR MARKETING.
|
|
34
|
+
* Mesure, CI (#1043) : 4 e2e marketing (Nuxt, SSR) en echec sur « sans
|
|
35
|
+
* erreur JS console » / « pas d'erreur d'hydratation ». Cause reelle,
|
|
36
|
+
* independante de `mountTick` : la toute PREMIERE evaluation du computed
|
|
37
|
+
* divergeait DEJA entre serveur et client. Cote serveur, `!IN_BROWSER` est
|
|
38
|
+
* toujours vrai (pas de `window` en SSR) -> `undefined` (teleport
|
|
39
|
+
* desactive, rendu en place). Cote client, `IN_BROWSER` est vrai DES LE
|
|
40
|
+
* DEPART, y compris pendant la passe d'HYDRATATION (avant tout
|
|
41
|
+
* `onMounted`) -> la cible (souvent `document.body`, qui existe toujours)
|
|
42
|
+
* se resout avec SUCCES sur ce tout premier rendu -> teleport deja ACTIF.
|
|
43
|
+
* Vue compare les deux rendus pendant l'hydratation : desactive vs actif,
|
|
44
|
+
* d'ou le decalage. `mountTick` n'ajoutait qu'une DEUXIEME evaluation
|
|
45
|
+
* post-montage — elle n'a jamais ete la cause du decalage, qui existait
|
|
46
|
+
* deja sur la premiere.
|
|
47
|
+
*
|
|
48
|
+
* @description
|
|
49
|
+
* Le fix : `isHydrated.value` (vrai gate, pas une simple lecture de
|
|
50
|
+
* dependance) force EXACTEMENT le meme `undefined` cote client QUE cote
|
|
51
|
+
* serveur tant que l'hydratation n'est pas terminee — `useHydration()`
|
|
52
|
+
* (deja utilise par `OrigamOverlay.vue`) seede `isHydrated` a `false` sur
|
|
53
|
+
* les DEUX rendus compares (serveur ET premiere passe client) quand l'app
|
|
54
|
+
* est reellement en SSR (`ssr` vrai), et ne bascule a `true` que dans un
|
|
55
|
+
* `onMounted` — donc APRES que l'hydratation ait deja conclu. Reutilise,
|
|
56
|
+
* ne redeclare pas.
|
|
57
|
+
*
|
|
58
|
+
* @description
|
|
59
|
+
* ⚠️ Dans une app 100% client (pas de SSR — Histoire, Tauri…),
|
|
60
|
+
* `useHydration()` renvoie `isHydrated=true` DES LE DEPART (son
|
|
61
|
+
* optimisation deliberee : « pas de delai artificiel » — voir son propre
|
|
62
|
+
* commentaire de tete) : le gate ci-dessous ne retarde donc RIEN la ou il
|
|
63
|
+
* n'y a aucune hydratation a proteger. Consequence mesuree : une cible
|
|
64
|
+
* FRERE montee dans la MEME passe de rendu que le consommateur (ex: un
|
|
65
|
+
* conteneur local qu'une story Histoire monte juste avant le composant
|
|
66
|
+
* teleportant, sous un `<Suspense>` qui ne commit l'arbre qu'une fois
|
|
67
|
+
* resolu) peut encore echouer sur cette toute premiere resolution, pour la
|
|
68
|
+
* meme raison qu'avant : `document.querySelector` n'est pas reactif. Ce
|
|
69
|
+
* n'est PAS le defaut que ce correctif vise — c'est un defaut DIFFERENT,
|
|
70
|
+
* propre a la construction du test (une cible fraiche ne preexiste jamais
|
|
71
|
+
* en usage reel), traite cote story plutot qu'en reintroduisant un
|
|
72
|
+
* compteur local ici (voir les stories CommandPalette / SnackbarGroup /
|
|
73
|
+
* Drawer, variante « Prop - attach »).
|
|
18
74
|
********************************************************/
|
|
19
75
|
export declare function useTeleport(target: Ref<boolean | string | Element>): {
|
|
20
76
|
teleportTarget: import("vue").ComputedRef<Element | undefined>;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { IN_BROWSER } from "../../consts/Commons/commons.const.js";
|
|
2
2
|
import { consoleWarn } from "../../utils/Commons/console.util.js";
|
|
3
3
|
import { computed } from "vue";
|
|
4
|
+
import { useHydration } from "./hydration.composable.js";
|
|
4
5
|
export function useTeleport(target) {
|
|
6
|
+
const isHydrated = useHydration();
|
|
5
7
|
const teleportTarget = computed(() => {
|
|
6
8
|
const _target = target.value;
|
|
7
9
|
if (_target === true || !IN_BROWSER) return void 0;
|
|
10
|
+
if (!isHydrated.value) return void 0;
|
|
8
11
|
const targetElement = _target === false ? document.body : typeof _target === "string" ? document.querySelector(_target) : _target;
|
|
9
12
|
if (targetElement == null) {
|
|
10
13
|
consoleWarn(`Unable to locate target ${_target}`);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.QUOTE_MARKS_BY_LANG = exports.BLOCKQUOTE_VARIANTS = exports.BLOCKQUOTE_LANGS = exports.BLOCKQUOTE_DEFAULTS = exports.BLOCKQUOTE_ALIGNS = void 0;
|
|
6
|
+
exports.QUOTE_MARKS_BY_LANG = exports.BLOCKQUOTE_VARIANT_PRESETS = exports.BLOCKQUOTE_VARIANTS = exports.BLOCKQUOTE_LANGS = exports.BLOCKQUOTE_DEFAULTS = exports.BLOCKQUOTE_ALIGNS = void 0;
|
|
7
7
|
var _enums = require("../../enums/index.cjs");
|
|
8
8
|
const BLOCKQUOTE_VARIANTS = exports.BLOCKQUOTE_VARIANTS = Object.values(_enums.BLOCKQUOTE_VARIANT);
|
|
9
9
|
const BLOCKQUOTE_LANGS = exports.BLOCKQUOTE_LANGS = Object.values(_enums.BLOCKQUOTE_LANG);
|
|
@@ -29,5 +29,42 @@ const QUOTE_MARKS_BY_LANG = exports.QUOTE_MARKS_BY_LANG = {
|
|
|
29
29
|
const BLOCKQUOTE_DEFAULTS = exports.BLOCKQUOTE_DEFAULTS = {
|
|
30
30
|
variant: "default",
|
|
31
31
|
lang: "auto",
|
|
32
|
+
align: "left",
|
|
32
33
|
tag: "blockquote"
|
|
34
|
+
};
|
|
35
|
+
const BLOCKQUOTE_VARIANT_PRESETS = exports.BLOCKQUOTE_VARIANT_PRESETS = {
|
|
36
|
+
default: {
|
|
37
|
+
borderInlineStart: "var(--origam-blockquote__accent---width, 4px) solid var(--origam-blockquote---resolved-accent-color, currentColor)",
|
|
38
|
+
paddingInlineStart: "calc(var(--origam-blockquote---padding-inline, 24px) + var(--origam-blockquote__accent---width, 4px))"
|
|
39
|
+
},
|
|
40
|
+
elegant: {
|
|
41
|
+
fontFamily: "serif",
|
|
42
|
+
fontSize: "xl",
|
|
43
|
+
fontStyle: "var(--origam-blockquote__elegant---font-style, italic)",
|
|
44
|
+
lineHeight: "loose",
|
|
45
|
+
paddingBlock: "var(--origam-blockquote__elegant---padding-block, 24px)",
|
|
46
|
+
borderInlineStart: "var(--origam-blockquote__accent---width, 4px) solid var(--origam-blockquote---resolved-accent-color, currentColor)",
|
|
47
|
+
paddingInlineStart: "calc(var(--origam-blockquote---padding-inline, 24px) + var(--origam-blockquote__accent---width, 4px))"
|
|
48
|
+
},
|
|
49
|
+
quoted: {
|
|
50
|
+
quoteMark: true,
|
|
51
|
+
paddingTop: "calc(var(--origam-blockquote---padding-block, 16px) + var(--origam-blockquote--quoted---glyph-padding-extra, 1rem))"
|
|
52
|
+
},
|
|
53
|
+
minimal: {
|
|
54
|
+
fontSize: "md",
|
|
55
|
+
fontStyle: "var(--origam-blockquote__minimal---font-style, italic)",
|
|
56
|
+
paddingBlock: 0,
|
|
57
|
+
paddingInline: "var(--origam-blockquote__minimal---padding-inline, 12px)",
|
|
58
|
+
borderInlineStart: "var(--origam-blockquote--minimal---accent-width, 2px) solid var(--origam-blockquote---resolved-accent-color, currentColor)",
|
|
59
|
+
paddingInlineStart: "calc(var(--origam-blockquote__minimal---padding-inline, 12px) + var(--origam-blockquote--minimal---accent-width, 2px))"
|
|
60
|
+
},
|
|
61
|
+
pull: {
|
|
62
|
+
fontFamily: "serif",
|
|
63
|
+
fontSize: "3xl",
|
|
64
|
+
fontWeight: "medium",
|
|
65
|
+
lineHeight: "snug",
|
|
66
|
+
align: "center",
|
|
67
|
+
paddingBlock: "var(--origam-blockquote__pull---padding-block, 24px)",
|
|
68
|
+
borderBlock: "var(--origam-blockquote__pull---rule-width, 2px) solid var(--origam-blockquote---resolved-accent-color, currentColor)"
|
|
69
|
+
}
|
|
33
70
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { IBlockquoteProps } from '../../interfaces/Blockquote/blockquote.interface';
|
|
1
2
|
import type { TBlockquoteAlign, TBlockquoteLang, TBlockquoteVariant } from '../../types/Blockquote/blockquote.type';
|
|
3
|
+
import type { TVariantPresets } from '../../types/Commons/variant-preset.type';
|
|
2
4
|
/**
|
|
3
5
|
* Closed list of valid `variant` values for `<OrigamBlockquote>`.
|
|
4
6
|
* Exposed so stories / consumers can iterate the matrix without
|
|
@@ -33,5 +35,116 @@ export declare const QUOTE_MARKS_BY_LANG: Record<Exclude<TBlockquoteLang, 'auto'
|
|
|
33
35
|
export declare const BLOCKQUOTE_DEFAULTS: {
|
|
34
36
|
readonly variant: TBlockquoteVariant;
|
|
35
37
|
readonly lang: TBlockquoteLang;
|
|
38
|
+
readonly align: TBlockquoteAlign;
|
|
36
39
|
readonly tag: "blockquote";
|
|
37
40
|
};
|
|
41
|
+
/*********************************************************
|
|
42
|
+
* BLOCKQUOTE_VARIANT_PRESETS
|
|
43
|
+
*
|
|
44
|
+
* @description
|
|
45
|
+
* ADR-005 D7, lot #1015 — le deuxieme composant converti, apres le pilote
|
|
46
|
+
* `OrigamKbd`. Un variant de Blockquote n'est plus un bloc SCSS : c'est ce
|
|
47
|
+
* sac de props, resolu au rang le plus faible de la chaine (prop du site
|
|
48
|
+
* d'appel > defaut de theme > PRESET > `withDefaults`).
|
|
49
|
+
*
|
|
50
|
+
* @description
|
|
51
|
+
* ⛔ CE QUE LA CONVERSION REPARE, ET C'EST SA JUSTIFICATION. Les regles
|
|
52
|
+
* `--variant-elegant` / `--variant-minimal` / `--variant-pull` declaraient
|
|
53
|
+
* `font-size` / `font-family` / `font-weight` / `line-height`
|
|
54
|
+
* DIRECTEMENT, a specificite (0,2,0) — identique a celle de la regle de
|
|
55
|
+
* base — et plus loin dans l'ordre source. Or `useTypography` n'ecrit pas
|
|
56
|
+
* ces proprietes : il ecrit la propriete custom
|
|
57
|
+
* `--origam-blockquote---{propriete}` que la regle de base consomme via
|
|
58
|
+
* `--resolved-{propriete}`. Les cinq props typographiques etaient donc
|
|
59
|
+
* VIVANTES sur `default` et `quoted` et MORTES sur les trois autres, sans
|
|
60
|
+
* aucun diagnostic — alors que la story exposait les cinq controles et que
|
|
61
|
+
* la doc les documentait.
|
|
62
|
+
* @description
|
|
63
|
+
* Verdict navigateur, chromium, Histoire statique, lot #1015 :
|
|
64
|
+
* `variant="elegant" font-size="sm"` rendait **18px**, exactement comme
|
|
65
|
+
* `variant="elegant"` nu. Apres conversion la prop gagne. C'est l'une des
|
|
66
|
+
* deux assertions ROUGE-avant / VERT-apres de `e2e/blockquote.spec.ts`.
|
|
67
|
+
*
|
|
68
|
+
* @description
|
|
69
|
+
* ⛔ CHAQUE VALEUR PORTE LA CHAINE `var()` QUE LA REGLE PORTAIT, partout ou
|
|
70
|
+
* le canal peut la transporter. `resolveSpacingValue` rend verbatim toute
|
|
71
|
+
* valeur qui n'est pas un echelon de l'echelle, et
|
|
72
|
+
* `parseBorderPositionValue` prend `match.width` EN ENTIER — donc les
|
|
73
|
+
* `calc()` et les largeurs `var(--…, repli)` voyagent telles quelles, et le
|
|
74
|
+
* canal d'override des themes survit.
|
|
75
|
+
*
|
|
76
|
+
* @description
|
|
77
|
+
* ⛔ LES CINQ VALEURS TYPOGRAPHIQUES SONT L'EXCEPTION, ET ELLE EST
|
|
78
|
+
* STRUCTURELLE. `useTypography` n'a AUCUNE echappatoire pour une valeur
|
|
79
|
+
* custom (`typography.composable.ts:210-216`) : il enveloppe toujours en
|
|
80
|
+
* `var(--origam-font__{groupe}---{valeur})`. Poser
|
|
81
|
+
* `fontSize: 'var(--origam-blockquote__elegant---font-size, 1.125rem)'`
|
|
82
|
+
* produirait le nom imbrique
|
|
83
|
+
* `var(--origam-font__size---var(--origam-blockquote__elegant---font-size, 1.125rem))`,
|
|
84
|
+
* qu'aucune feuille ne declare, et la declaration serait jetee. La ruse du
|
|
85
|
+
* pilote Kbd est donc indisponible ici — c'est **#1018**, ouvert, et il
|
|
86
|
+
* n'est PAS corrige dans ce lot. Seul `fontStyle` echappe, via
|
|
87
|
+
* `TYPOGRAPHY_PASSTHROUGH_MAP`, et son preset porte donc bien la chaine.
|
|
88
|
+
* @description
|
|
89
|
+
* Le cout de cette exception est NUL, et c'est mesure, pas suppose : chacun
|
|
90
|
+
* des 8 tokens concernes etait un ALIAS byte-pour-byte de l'echelon
|
|
91
|
+
* semantique que le preset pose a sa place (`__elegant---font-size:
|
|
92
|
+
* var(--origam-font__size---xl)` -> `fontSize: 'xl'`, et ainsi de suite),
|
|
93
|
+
* et aucun des 8 themes n'en lisait un seul. Les 8 tokens sortent donc des
|
|
94
|
+
* 4 feuilles et de `tokens.type.ts`, ce que `token-var-channels` prescrit
|
|
95
|
+
* lui-meme pour un token que plus rien ne lit.
|
|
96
|
+
*
|
|
97
|
+
* @description
|
|
98
|
+
* ⛔ CE QUE LA TABLE NE POSE PAS EST AUSSI IMPORTANT QUE CE QU'ELLE POSE.
|
|
99
|
+
* `pull` declarait `padding-inline:
|
|
100
|
+
* var(--origam-blockquote---resolved-padding-inline)` — une REDONDANCE avec
|
|
101
|
+
* la regle de base, qui pose exactement la meme valeur. L'inscrire ici
|
|
102
|
+
* emettrait une declaration INLINE, qui passerait devant la classe
|
|
103
|
+
* utilitaire qu'un `padding` du consommateur produit : la table
|
|
104
|
+
* confisquerait le canal qu'elle est censee servir. Valeur calculee
|
|
105
|
+
* identique des deux cotes tant qu'aucun `padding` n'est passe ; quand il
|
|
106
|
+
* l'est, l'axe inline de `pull` lui OBEIT desormais, ce qui va dans le sens
|
|
107
|
+
* du lot.
|
|
108
|
+
*
|
|
109
|
+
* @description
|
|
110
|
+
* ⛔ LES INDIRECTIONS `---resolved-*` NE SORTENT PAS D'ICI quand le token
|
|
111
|
+
* PUBLIC suffit. Les regles supprimees lisaient
|
|
112
|
+
* `var(--origam-blockquote---resolved-padding-inline)` et
|
|
113
|
+
* `var(--origam-blockquote---resolved-padding-block)`, deux proprietes
|
|
114
|
+
* custom que le bloc `<style scoped>` du composant synthetise lui-meme
|
|
115
|
+
* (`OrigamBlockquote.vue`, regle `.origam-blockquote`) et qu'AUCUNE feuille
|
|
116
|
+
* ne declare. Le preset nomme donc directement le token public que ces
|
|
117
|
+
* indirections resolvent — `--origam-blockquote---padding-inline, 24px` et
|
|
118
|
+
* `---padding-block, 16px` — ce qui est strictement equivalent par
|
|
119
|
+
* substitution (verifie : une seule declaration de chacune des deux
|
|
120
|
+
* indirections dans tout `packages/ds/src`, aucun modificateur ne les
|
|
121
|
+
* redeclare) et met le preset sur le canal de theme PUBLIC plutot que sur
|
|
122
|
+
* un detail interne. Le garde `ts-token-refs` cesse par la meme de
|
|
123
|
+
* rougir sur deux des quatre noms.
|
|
124
|
+
* @description
|
|
125
|
+
* ⚠️ `--origam-blockquote---resolved-accent-color` ne PEUT PAS subir le
|
|
126
|
+
* meme traitement, et c'est la seule entree de baseline que ce lot ajoute :
|
|
127
|
+
* les huit modificateurs `.origam-blockquote--accent-{intent}` REDECLARENT
|
|
128
|
+
* cette indirection. Nommer le token sous-jacent
|
|
129
|
+
* (`--origam-blockquote__accent---color`) rendrait `accent-color="primary"`
|
|
130
|
+
* inoperant sur le filet — une regression reelle. L'indirection est le
|
|
131
|
+
* mecanisme meme de l'axe `accentColor`, donc elle reste, avec un repli
|
|
132
|
+
* `currentColor` plat. ⛔ Un repli IMBRIQUE est exclu : le groupe `color`
|
|
133
|
+
* de `BORDER_REGEX` s'arrete a la premiere parenthese fermante, donc une
|
|
134
|
+
* valeur a repli imbrique ne matche pas DU TOUT et rien ne serait emis.
|
|
135
|
+
*
|
|
136
|
+
* @description
|
|
137
|
+
* ⚠️ `--origam-blockquote--minimal---accent-width` n'est declare par AUCUNE
|
|
138
|
+
* feuille — grammaire divergente, double tiret la ou le reste du composant
|
|
139
|
+
* ecrit `__`. `minimal` tombe donc toujours sur son repli `2px`. Le preset
|
|
140
|
+
* porte la chaine TELLE QUELLE : la fidelite est le travail, pas la
|
|
141
|
+
* correction. C'est **#1014**, et il n'est PAS corrige ici.
|
|
142
|
+
*
|
|
143
|
+
* @description
|
|
144
|
+
* ⚠️ `quoteMark` et `align` sont les deux moities « famille B » de ce
|
|
145
|
+
* composant — un element monte et un defaut d'alignement. D7 exige qu'elles
|
|
146
|
+
* passent par une prop COMPORTEMENTALE et que l'exemption soit documentee
|
|
147
|
+
* SUR la prop : voir leurs JSDoc dans
|
|
148
|
+
* `interfaces/Blockquote/blockquote.interface.ts`.
|
|
149
|
+
********************************************************/
|
|
150
|
+
export declare const BLOCKQUOTE_VARIANT_PRESETS: TVariantPresets<TBlockquoteVariant, IBlockquoteProps>;
|
|
@@ -15,5 +15,42 @@ export const QUOTE_MARKS_BY_LANG = {
|
|
|
15
15
|
export const BLOCKQUOTE_DEFAULTS = {
|
|
16
16
|
variant: "default",
|
|
17
17
|
lang: "auto",
|
|
18
|
+
align: "left",
|
|
18
19
|
tag: "blockquote"
|
|
19
20
|
};
|
|
21
|
+
export const BLOCKQUOTE_VARIANT_PRESETS = {
|
|
22
|
+
default: {
|
|
23
|
+
borderInlineStart: "var(--origam-blockquote__accent---width, 4px) solid var(--origam-blockquote---resolved-accent-color, currentColor)",
|
|
24
|
+
paddingInlineStart: "calc(var(--origam-blockquote---padding-inline, 24px) + var(--origam-blockquote__accent---width, 4px))"
|
|
25
|
+
},
|
|
26
|
+
elegant: {
|
|
27
|
+
fontFamily: "serif",
|
|
28
|
+
fontSize: "xl",
|
|
29
|
+
fontStyle: "var(--origam-blockquote__elegant---font-style, italic)",
|
|
30
|
+
lineHeight: "loose",
|
|
31
|
+
paddingBlock: "var(--origam-blockquote__elegant---padding-block, 24px)",
|
|
32
|
+
borderInlineStart: "var(--origam-blockquote__accent---width, 4px) solid var(--origam-blockquote---resolved-accent-color, currentColor)",
|
|
33
|
+
paddingInlineStart: "calc(var(--origam-blockquote---padding-inline, 24px) + var(--origam-blockquote__accent---width, 4px))"
|
|
34
|
+
},
|
|
35
|
+
quoted: {
|
|
36
|
+
quoteMark: true,
|
|
37
|
+
paddingTop: "calc(var(--origam-blockquote---padding-block, 16px) + var(--origam-blockquote--quoted---glyph-padding-extra, 1rem))"
|
|
38
|
+
},
|
|
39
|
+
minimal: {
|
|
40
|
+
fontSize: "md",
|
|
41
|
+
fontStyle: "var(--origam-blockquote__minimal---font-style, italic)",
|
|
42
|
+
paddingBlock: 0,
|
|
43
|
+
paddingInline: "var(--origam-blockquote__minimal---padding-inline, 12px)",
|
|
44
|
+
borderInlineStart: "var(--origam-blockquote--minimal---accent-width, 2px) solid var(--origam-blockquote---resolved-accent-color, currentColor)",
|
|
45
|
+
paddingInlineStart: "calc(var(--origam-blockquote__minimal---padding-inline, 12px) + var(--origam-blockquote--minimal---accent-width, 2px))"
|
|
46
|
+
},
|
|
47
|
+
pull: {
|
|
48
|
+
fontFamily: "serif",
|
|
49
|
+
fontSize: "3xl",
|
|
50
|
+
fontWeight: "medium",
|
|
51
|
+
lineHeight: "snug",
|
|
52
|
+
align: "center",
|
|
53
|
+
paddingBlock: "var(--origam-blockquote__pull---padding-block, 24px)",
|
|
54
|
+
borderBlock: "var(--origam-blockquote__pull---rule-width, 2px) solid var(--origam-blockquote---resolved-accent-color, currentColor)"
|
|
55
|
+
}
|
|
56
|
+
};
|
|
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VARIANT_PROP_KEY = exports.VARIANT_PRESETS = void 0;
|
|
7
|
+
var _blockquote = require("../Blockquote/blockquote.const.cjs");
|
|
7
8
|
var _kbd = require("../Kbd/kbd.const.cjs");
|
|
8
9
|
const VARIANT_PROP_KEY = exports.VARIANT_PROP_KEY = "variant";
|
|
9
10
|
const VARIANT_PRESETS = exports.VARIANT_PRESETS = {
|
|
11
|
+
"origam-blockquote": _blockquote.BLOCKQUOTE_VARIANT_PRESETS,
|
|
10
12
|
"origam-kbd": _kbd.KBD_VARIANT_PRESETS
|
|
11
13
|
};
|
|
@@ -25,12 +25,13 @@ export declare const VARIANT_PROP_KEY = "variant";
|
|
|
25
25
|
* constitue pas.
|
|
26
26
|
*
|
|
27
27
|
* @description
|
|
28
|
-
* ⛔
|
|
29
|
-
* d'ADR-005 livre le MECANISME
|
|
30
|
-
* canal `theme.variants`) et aucune
|
|
31
|
-
* avec son propre lot, parce
|
|
32
|
-
* Mesure a l'appui (2026-09-30),
|
|
33
|
-
* optimiste sur trois des quatre
|
|
28
|
+
* ⛔ DEUX COMPOSANTS CONVERTIS A CE JOUR — `OrigamKbd` (lot 2) et
|
|
29
|
+
* `OrigamBlockquote` (lot #1015). Le lot 1 d'ADR-005 livre le MECANISME
|
|
30
|
+
* (type partage, rang dans le resolveur, canal `theme.variants`) et aucune
|
|
31
|
+
* conversion : chaque composant arrive avec son propre lot, parce
|
|
32
|
+
* qu'aucun ne se convertit mecaniquement. Mesure a l'appui (2026-09-30),
|
|
33
|
+
* la taxonomie « famille A » de D5 est optimiste sur trois des quatre
|
|
34
|
+
* composants qu'elle liste :
|
|
34
35
|
* @description
|
|
35
36
|
* - `OrigamKbd` — FAIT (lot 2). Ses regles de variant posaient des
|
|
36
37
|
* PROPRIETES CUSTOM que `key-surface` consomme sur la racine ET sur les
|
|
@@ -45,8 +46,18 @@ export declare const VARIANT_PROP_KEY = "variant";
|
|
|
45
46
|
* - `OrigamBtnGroup` — recopie `--origam-btn-group---border-width` dans
|
|
46
47
|
* une propriete custom qui alimente un `calc()` de rayon interieur.
|
|
47
48
|
* Inexprimable en prop de racine.
|
|
48
|
-
* - `OrigamBlockquote` —
|
|
49
|
-
*
|
|
49
|
+
* - `OrigamBlockquote` — FAIT (lot #1015). Les deux reserves que ce
|
|
50
|
+
* paragraphe posait se sont reglees sans nouveau mecanisme. Le
|
|
51
|
+
* `calc(var(--…) + var(--…))` voyage verbatim : `resolveSpacingValue`
|
|
52
|
+
* rend telle quelle toute valeur qui n'est pas un echelon de l'echelle.
|
|
53
|
+
* Les regles imbriquees sur `__body` / `__attribution` ne dependaient
|
|
54
|
+
* pas du variant mais de la PRESENCE du glyphe, donc elles sont
|
|
55
|
+
* reecrites en selecteurs de VOISINAGE (`__mark--bg + __body`,
|
|
56
|
+
* `__mark--bg ~ __attribution`) : elles se declenchent sur la condition
|
|
57
|
+
* reelle, n'ajoutent aucun alias de classe que `no-variant-css`
|
|
58
|
+
* surveillerait, et laissent zero ecart de style calcule sur les quatre
|
|
59
|
+
* autres variants. Le vrai obstacle etait ailleurs — `useTypography` n'a
|
|
60
|
+
* aucune echappatoire pour une valeur custom (#1018).
|
|
50
61
|
* @description
|
|
51
62
|
* Seul `OrigamBtn` ne peint que des proprietes de racine — mais il depend
|
|
52
63
|
* de `IOpacityProps` / `IBackdropProps` (Q1, absents) et son `ghost` porte
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { BLOCKQUOTE_VARIANT_PRESETS } from "../Blockquote/blockquote.const.js";
|
|
1
2
|
import { KBD_VARIANT_PRESETS } from "../Kbd/kbd.const.js";
|
|
2
3
|
export const VARIANT_PROP_KEY = "variant";
|
|
3
4
|
export const VARIANT_PRESETS = {
|
|
5
|
+
"origam-blockquote": BLOCKQUOTE_VARIANT_PRESETS,
|
|
4
6
|
"origam-kbd": KBD_VARIANT_PRESETS
|
|
5
7
|
};
|
|
@@ -78,13 +78,68 @@ export interface IBlockquoteProps extends ICommonsComponentProps, ITagProps, ICo
|
|
|
78
78
|
*/
|
|
79
79
|
lang?: TBlockquoteLang;
|
|
80
80
|
/**
|
|
81
|
-
* Horizontal alignment of the citation body and attribution.
|
|
82
|
-
* `pull` variant forces `'center'` when this prop is left empty;
|
|
83
|
-
* other variants default to `'left'`.
|
|
81
|
+
* Horizontal alignment of the citation body and attribution.
|
|
84
82
|
*
|
|
85
|
-
*
|
|
83
|
+
* ## ADR-005 D7 — exemption « famille B », documentée ICI et non
|
|
84
|
+
* implicitement
|
|
85
|
+
*
|
|
86
|
+
* `'center'` sur `pull` n'est plus calculé par le composant : c'est
|
|
87
|
+
* `BLOCKQUOTE_VARIANT_PRESETS.pull.align`, résolu au rang PRESET de la
|
|
88
|
+
* chaîne. La sémantique est identique à celle du `computed`
|
|
89
|
+
* `effectiveAlign` qu'il remplace — un `align` écrit au site d'appel
|
|
90
|
+
* gagne, parce que le rang 1 du résolveur (`if (wasPassed) return
|
|
91
|
+
* fallback`) précède le rang preset.
|
|
92
|
+
*
|
|
93
|
+
* ⚠️ **Rupture, assumée.** Le centrage de `pull` dépend désormais du
|
|
94
|
+
* résolveur, que seul `createOrigam()` installe. Un consommateur qui
|
|
95
|
+
* importe le composant sans installer le plugin obtient `'left'` (la
|
|
96
|
+
* valeur `withDefaults`, qui n'existe que comme plancher sans variant).
|
|
97
|
+
* Avant la conversion, le `computed` centrait sans plugin.
|
|
98
|
+
*
|
|
99
|
+
* @default 'left' — plancher `withDefaults`, que le preset de `pull` bat
|
|
86
100
|
*/
|
|
87
101
|
align?: TBlockquoteAlign;
|
|
102
|
+
/*********************************************************
|
|
103
|
+
* quoteMark
|
|
104
|
+
*
|
|
105
|
+
* @description
|
|
106
|
+
* Monte le glyphe d'ouverture decoratif en filigrane de fond
|
|
107
|
+
* (`<span class="origam-blockquote__mark--bg">`), avec la paire de
|
|
108
|
+
* guillemets que `lang` selectionne.
|
|
109
|
+
*
|
|
110
|
+
* @description
|
|
111
|
+
* ⛔ ADR-005 D7 — EXEMPTION « FAMILLE B », DOCUMENTEE ICI ET NON
|
|
112
|
+
* IMPLICITEMENT. Ce prop existe parce que `quoted` ne se reduit PAS a
|
|
113
|
+
* des props de peinture : il MONTE UN ELEMENT. D7 interdit de laisser
|
|
114
|
+
* cet effet accroche au variant et exige que l'exemption soit ecrite
|
|
115
|
+
* sur la prop — c'est ce paragraphe.
|
|
116
|
+
*
|
|
117
|
+
* @description
|
|
118
|
+
* Le glyphe est donc pilote par `quoteMark`, et
|
|
119
|
+
* `BLOCKQUOTE_VARIANT_PRESETS.quoted` le pose a `true`. Deux
|
|
120
|
+
* consequences voulues : `quoted` reste le raccourci qu'il a toujours
|
|
121
|
+
* ete, et le glyphe devient atteignable sur N'IMPORTE QUEL variant
|
|
122
|
+
* (`<origam-blockquote variant="pull" quote-mark>`), ce que le modele
|
|
123
|
+
* SCSS rendait impossible.
|
|
124
|
+
*
|
|
125
|
+
* @description
|
|
126
|
+
* Les deux regles d'empilement que `quoted` portait (`position:
|
|
127
|
+
* relative; z-index: 1` sur `__body` et `__attribution`, pour que le
|
|
128
|
+
* texte passe devant le glyphe) suivent desormais la PRESENCE DU
|
|
129
|
+
* GLYPHE et non le variant : ce sont des selecteurs de voisinage
|
|
130
|
+
* (`__mark--bg + __body`, `__mark--bg ~ __attribution`), donc ils se
|
|
131
|
+
* declenchent exactement quand il y a quelque chose a surmonter, et
|
|
132
|
+
* laissent zero ecart de style calcule sur les quatre autres variants.
|
|
133
|
+
*
|
|
134
|
+
* @description
|
|
135
|
+
* ⚠️ Le sur-remplissage haut qui laisse de la place au glyphe
|
|
136
|
+
* (`paddingTop`) reste porte par le preset de `quoted`, pas par ce
|
|
137
|
+
* prop. `quote-mark` sur un autre variant rend donc le glyphe sans ce
|
|
138
|
+
* supplement — passer `padding-top` soi-meme le retablit.
|
|
139
|
+
*
|
|
140
|
+
* @default false
|
|
141
|
+
********************************************************/
|
|
142
|
+
quoteMark?: boolean;
|
|
88
143
|
}
|
|
89
144
|
/**
|
|
90
145
|
* Slot signatures for `<OrigamBlockquote>`. The `default` slot owns the
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ICommand } from './command.interface';
|
|
2
|
+
import type { IAttachProps } from '../Commons/attach.interface';
|
|
2
3
|
import type { ICommonsComponentProps } from '../Commons/commons.interface';
|
|
3
4
|
import type { ITypographyProps } from '../Commons/typography.interface';
|
|
4
5
|
/**
|
|
@@ -11,7 +12,7 @@ import type { ITypographyProps } from '../Commons/typography.interface';
|
|
|
11
12
|
* the listeners so consumers can pass either form interchangeably.
|
|
12
13
|
*/
|
|
13
14
|
export type TCommandPaletteHotkey = ReadonlyArray<string> | ReadonlyArray<ReadonlyArray<string>>;
|
|
14
|
-
export interface ICommandPaletteProps extends ICommonsComponentProps, Pick<ITypographyProps, 'fontSize'
|
|
15
|
+
export interface ICommandPaletteProps extends ICommonsComponentProps, Pick<ITypographyProps, 'fontSize'>, IAttachProps {
|
|
15
16
|
/** v-model — whether the palette is open. */
|
|
16
17
|
modelValue?: boolean;
|
|
17
18
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `attach` — the teleport target for a component's floating / portal
|
|
3
|
+
* surface, resolved through `useTeleport()`
|
|
4
|
+
* (`composables/Commons/teleport.composable.ts`), the SINGLE consumption
|
|
5
|
+
* point for the whole DS. Extracted from `IOverlayProps` (#attach-
|
|
6
|
+
* harmonisation) so every component that teleports declares the exact
|
|
7
|
+
* same surface instead of a half-implemented, hand-rolled `to="body"`.
|
|
8
|
+
*
|
|
9
|
+
* • `true` → no teleport, render in place.
|
|
10
|
+
* • `false` / unset → `document.body`. Vue's boolean-prop casting
|
|
11
|
+
* defaults an ABSENT prop whose declared type
|
|
12
|
+
* includes `Boolean` to `false` when the
|
|
13
|
+
* component declares no `default` for it — so
|
|
14
|
+
* "not passed" and "passed `false`" resolve
|
|
15
|
+
* identically to `document.body` by design
|
|
16
|
+
* (see `OrigamOverlay`, `OrigamMenu`).
|
|
17
|
+
* • a CSS selector string → resolved against `document.querySelector`.
|
|
18
|
+
* • an `Element` → used directly as the teleport container.
|
|
19
|
+
* • `null` → reserved for a component whose OWN default
|
|
20
|
+
* is not `document.body` (`OrigamDrawer`
|
|
21
|
+
* teleports into its `<OrigamLayout>` wrapper
|
|
22
|
+
* by default) and therefore needs a THIRD
|
|
23
|
+
* state, distinguishable from an explicit
|
|
24
|
+
* `false`, to fall back to that non-body
|
|
25
|
+
* default instead. Same tri-state pattern as
|
|
26
|
+
* `IDrawerProps.push` / `.clipped`.
|
|
27
|
+
*/
|
|
28
|
+
export interface IAttachProps {
|
|
29
|
+
attach?: boolean | string | Element | null;
|
|
30
|
+
}
|
|
File without changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IActiveProps } from '../Commons/active.interface';
|
|
2
2
|
import type { IAdjacentSlots } from '../Commons/adjacent.interface';
|
|
3
|
+
import type { IAttachProps } from '../Commons/attach.interface';
|
|
3
4
|
import type { IBgColorProps, IColorProps } from '../Commons/color.interface';
|
|
4
5
|
import type { IBorderProps } from '../Commons/border.interface';
|
|
5
6
|
import type { ICommonsComponentEmits, ICommonsComponentProps, ITagProps } from '../Commons/commons.interface';
|
|
@@ -12,7 +13,7 @@ import type { IPaddingProps } from '../Commons/padding.interface';
|
|
|
12
13
|
import type { IRoundedProps } from '../Commons/rounded.interface';
|
|
13
14
|
import type { IScrimProps } from '../Overlay/overlay-scrim.interface';
|
|
14
15
|
import type { ITransitionComponentProps } from '../Commons/transition-component.interface';
|
|
15
|
-
export interface IDrawerProps extends ITagProps, ICommonsComponentProps, IBorderProps, IElevationProps, ILayoutItemProps, IRoundedProps, IColorProps, IBgColorProps, IDensityProps, IPaddingProps, IMarginProps, ITransitionComponentProps, IScrimProps, IActiveProps, IHoverProps {
|
|
16
|
+
export interface IDrawerProps extends ITagProps, ICommonsComponentProps, IBorderProps, IElevationProps, ILayoutItemProps, IRoundedProps, IColorProps, IBgColorProps, IDensityProps, IPaddingProps, IMarginProps, ITransitionComponentProps, IScrimProps, IActiveProps, IHoverProps, IAttachProps {
|
|
16
17
|
disableResizeWatcher?: boolean;
|
|
17
18
|
disableRouteWatcher?: boolean;
|
|
18
19
|
expandOnHover?: boolean;
|
|
@@ -60,6 +61,28 @@ export interface IDrawerProps extends ITagProps, ICommonsComponentProps, IBorder
|
|
|
60
61
|
* Drawer before AppBar → drawer full-height.
|
|
61
62
|
*/
|
|
62
63
|
clipped?: boolean | null;
|
|
64
|
+
/**
|
|
65
|
+
* `attach` — inherited from `IAttachProps`, re-documented here because
|
|
66
|
+
* `OrigamDrawer`'s DEFAULT target is not `document.body` like the rest
|
|
67
|
+
* of the Overlay family: it teleports into its `<OrigamLayout>`
|
|
68
|
+
* ancestor's `.origam-layout__wrapper` (by `id`, via `useLayoutItem`),
|
|
69
|
+
* or renders inline when no `<OrigamLayout>` ancestor exists (the
|
|
70
|
+
* "orphan" case).
|
|
71
|
+
*
|
|
72
|
+
* • `null` (default) → keep the layout-wrapper / orphan-inline
|
|
73
|
+
* behaviour described above. Declared as the explicit
|
|
74
|
+
* `withDefaults` value so Vue's boolean-prop casting —
|
|
75
|
+
* which would otherwise force an UNSET `attach` to
|
|
76
|
+
* `false` — never overrides it. Same device as `push` /
|
|
77
|
+
* `clipped` above.
|
|
78
|
+
* • `true` → render in place, bypassing BOTH the layout teleport
|
|
79
|
+
* AND the orphan fallback.
|
|
80
|
+
* • `false` → `document.body`, same as the rest of the Overlay
|
|
81
|
+
* family — escapes the layout wrapper entirely.
|
|
82
|
+
* • a CSS selector `string` / an `Element` → teleport there instead
|
|
83
|
+
* of the layout wrapper.
|
|
84
|
+
*/
|
|
85
|
+
attach?: boolean | string | Element | null;
|
|
63
86
|
}
|
|
64
87
|
/**
|
|
65
88
|
* Emits fired by `<OrigamDrawer>` — v-model on the open state, plus a
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IActivatorProps } from '../Commons/activator.interface';
|
|
2
|
+
import type { IAttachProps } from '../Commons/attach.interface';
|
|
2
3
|
import type { IClickOutsideEmits } from '../Commons/clickOutside.interface';
|
|
3
4
|
import type { ICommonsComponentEmits, ICommonsComponentProps } from '../Commons/commons.interface';
|
|
4
5
|
import type { IDimensionProps } from '../Commons/dimension.interface';
|
|
@@ -7,9 +8,8 @@ import type { ILocationStrategyProps } from '../Commons/location.interface';
|
|
|
7
8
|
import type { IScrimProps } from './overlay-scrim.interface';
|
|
8
9
|
import type { IScrollStrategyProps } from '../Commons/scroll.interface';
|
|
9
10
|
import type { ITransitionComponentProps } from '../Commons/transition-component.interface';
|
|
10
|
-
export interface IOverlayProps extends ICommonsComponentProps, IDimensionProps, IActivatorProps, ILocationStrategyProps, IScrollStrategyProps, ILazyProps, ITransitionComponentProps, IScrimProps {
|
|
11
|
+
export interface IOverlayProps extends ICommonsComponentProps, IDimensionProps, IActivatorProps, ILocationStrategyProps, IScrollStrategyProps, ILazyProps, ITransitionComponentProps, IScrimProps, IAttachProps {
|
|
11
12
|
absolute?: boolean;
|
|
12
|
-
attach?: boolean | string | Element;
|
|
13
13
|
closeOnBack?: boolean;
|
|
14
14
|
contentClass?: string | Array<string>;
|
|
15
15
|
contentProps?: any;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Ref } from 'vue';
|
|
2
|
+
import type { IAttachProps } from '../Commons/attach.interface';
|
|
2
3
|
import type { ICommonsComponentProps, ITagProps } from '../Commons/commons.interface';
|
|
3
4
|
import type { ISnackbarGroupItem, ISnackbarGroupItemOptions } from './snackbar-group-item.interface';
|
|
4
5
|
import type { TSnackbarGroupDirection, TSnackbarGroupLocation } from '../../types/Snackbar/snackbar-group.type';
|
|
@@ -12,7 +13,7 @@ import type { TSnackbarGroupDirection, TSnackbarGroupLocation } from '../../type
|
|
|
12
13
|
* The component subscribes to its registered stack `id` and re-renders
|
|
13
14
|
* when the underlying `items` ref changes.
|
|
14
15
|
*/
|
|
15
|
-
export interface ISnackbarGroupProps extends ICommonsComponentProps, ITagProps {
|
|
16
|
+
export interface ISnackbarGroupProps extends ICommonsComponentProps, ITagProps, IAttachProps {
|
|
16
17
|
/**
|
|
17
18
|
* Identifier of the stack this container renders. Pair with
|
|
18
19
|
* `useSnackbarGroup({ id })` to spawn items into the same stack.
|
|
@@ -520,6 +520,17 @@ Object.keys(_align).forEach(function (key) {
|
|
|
520
520
|
}
|
|
521
521
|
});
|
|
522
522
|
});
|
|
523
|
+
var _attach = require("./Commons/attach.interface.cjs");
|
|
524
|
+
Object.keys(_attach).forEach(function (key) {
|
|
525
|
+
if (key === "default" || key === "__esModule") return;
|
|
526
|
+
if (key in exports && exports[key] === _attach[key]) return;
|
|
527
|
+
Object.defineProperty(exports, key, {
|
|
528
|
+
enumerable: true,
|
|
529
|
+
get: function () {
|
|
530
|
+
return _attach[key];
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
});
|
|
523
534
|
var _audio = require("./Commons/audio.interface.cjs");
|
|
524
535
|
Object.keys(_audio).forEach(function (key) {
|
|
525
536
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -45,6 +45,7 @@ export * from './Commons/activator.interface';
|
|
|
45
45
|
export * from './Commons/active.interface';
|
|
46
46
|
export * from './Commons/adjacent.interface';
|
|
47
47
|
export * from './Commons/align.interface';
|
|
48
|
+
export * from './Commons/attach.interface';
|
|
48
49
|
export * from './Commons/audio.interface';
|
|
49
50
|
export * from './Commons/autocomplete.interface';
|
|
50
51
|
export * from './Commons/backdrop.interface';
|
|
@@ -45,6 +45,7 @@ export * from "./Commons/activator.interface.js";
|
|
|
45
45
|
export * from "./Commons/active.interface.js";
|
|
46
46
|
export * from "./Commons/adjacent.interface.js";
|
|
47
47
|
export * from "./Commons/align.interface.js";
|
|
48
|
+
export * from "./Commons/attach.interface.js";
|
|
48
49
|
export * from "./Commons/audio.interface.js";
|
|
49
50
|
export * from "./Commons/autocomplete.interface.js";
|
|
50
51
|
export * from "./Commons/backdrop.interface.js";
|
|
@@ -525,7 +525,16 @@ const origamDarkTheme = exports.origamDarkTheme = {
|
|
|
525
525
|
text: {
|
|
526
526
|
primary: "#fafafa",
|
|
527
527
|
secondary: "#a3a3a3",
|
|
528
|
-
|
|
528
|
+
/*********************************************************
|
|
529
|
+
* #1044 — tertiary corrigé
|
|
530
|
+
*
|
|
531
|
+
* @description
|
|
532
|
+
* Était '#737373' (neutral-500), copié du mode clair sans
|
|
533
|
+
* réadapter : 4.18:1 sur ce fond, sous AA (4.5:1). Aligné sur
|
|
534
|
+
* dark.css (neutral-400, 7.85:1) — voir sa note pour la
|
|
535
|
+
* mesure complète et pourquoi ce rung s'aplatit sur secondary.
|
|
536
|
+
********************************************************/
|
|
537
|
+
tertiary: "#a3a3a3",
|
|
529
538
|
disabled: "#525252",
|
|
530
539
|
inverse: "#0a0a0a",
|
|
531
540
|
onColor: "#ffffff",
|
|
@@ -253,7 +253,16 @@ export const origamDarkTheme = {
|
|
|
253
253
|
text: {
|
|
254
254
|
primary: "#fafafa",
|
|
255
255
|
secondary: "#a3a3a3",
|
|
256
|
-
|
|
256
|
+
/*********************************************************
|
|
257
|
+
* #1044 — tertiary corrigé
|
|
258
|
+
*
|
|
259
|
+
* @description
|
|
260
|
+
* Était '#737373' (neutral-500), copié du mode clair sans
|
|
261
|
+
* réadapter : 4.18:1 sur ce fond, sous AA (4.5:1). Aligné sur
|
|
262
|
+
* dark.css (neutral-400, 7.85:1) — voir sa note pour la
|
|
263
|
+
* mesure complète et pourquoi ce rung s'aplatit sur secondary.
|
|
264
|
+
********************************************************/
|
|
265
|
+
tertiary: "#a3a3a3",
|
|
257
266
|
disabled: "#525252",
|
|
258
267
|
inverse: "#0a0a0a",
|
|
259
268
|
onColor: "#ffffff",
|