@vectoriox/iox-ui 5.15.0 → 5.16.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/design-core/index.d.ts +14 -6
- package/fesm2022/vectoriox-iox-ui-design-core.mjs +17 -9
- package/fesm2022/vectoriox-iox-ui-design-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui.mjs +38 -12
- package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
- package/index.d.ts +18 -3
- package/package.json +1 -1
- package/src/design-core/empty-image.ts +14 -5
- package/src/design-core/flavor-spec.generated.ts +2 -2
package/index.d.ts
CHANGED
|
@@ -184,9 +184,11 @@ declare class BuilderImageComponent {
|
|
|
184
184
|
alt: string;
|
|
185
185
|
nodeId: string;
|
|
186
186
|
/**
|
|
187
|
-
* What a MARKED image shows
|
|
188
|
-
* the shared `
|
|
189
|
-
* the blank on the live site, `null` for an unmarked image, which therefore renders
|
|
187
|
+
* What a MARKED image shows WHENEVER it has no source (design-system DS3) — set by each renderer
|
|
188
|
+
* from the shared `emptyImagePlaceholder` (`@vectoriox/iox-ui/design-core`): the "Add image" label
|
|
189
|
+
* on the canvas, the blank on the live site, `null` for an unmarked image, which therefore renders
|
|
190
|
+
* as before. It does not depend on `src`, so clearing the source (a binding emptied, a context slot
|
|
191
|
+
* not yet filled) shows it with no re-render; a renderer re-sets it only when the MARKER changes.
|
|
190
192
|
*/
|
|
191
193
|
emptySrc: string | null;
|
|
192
194
|
/**
|
|
@@ -200,8 +202,16 @@ declare class BuilderImageComponent {
|
|
|
200
202
|
* filled when the visitor interacts (see element-context-state-plan.md).
|
|
201
203
|
*/
|
|
202
204
|
get srcAttr(): string | null;
|
|
205
|
+
private get showsPlaceholder();
|
|
203
206
|
/** `data-iox-empty` while the placeholder stands in — the hook the shared fill rule keys on. */
|
|
204
207
|
get emptyAttr(): '' | null;
|
|
208
|
+
/**
|
|
209
|
+
* The placeholder is not the author's picture, so it never carries the author's alt: it is
|
|
210
|
+
* decorative (`alt=""`) and hidden from assistive technology — on the live site, in Preview and on
|
|
211
|
+
* the canvas alike (the canvas label is painted inside the placeholder, not announced as content).
|
|
212
|
+
*/
|
|
213
|
+
get altAttr(): string;
|
|
214
|
+
get ariaHiddenAttr(): 'true' | null;
|
|
205
215
|
static ɵfac: i0.ɵɵFactoryDeclaration<BuilderImageComponent, never>;
|
|
206
216
|
static ɵcmp: i0.ɵɵComponentDeclaration<BuilderImageComponent, "img[iox-img]", never, { "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "emptySrc": { "alias": "emptySrc"; "required": false; }; }, {}, never, never, false, never>;
|
|
207
217
|
}
|
|
@@ -247,6 +257,11 @@ declare class BuilderIconComponent {
|
|
|
247
257
|
/**
|
|
248
258
|
* Directive-host link: the `<a>` IS the host — no wrapper. Content is the label; styles come from
|
|
249
259
|
* `.iox-node` (the legacy `style` input is kept for builder compat but no longer inline-applied).
|
|
260
|
+
*
|
|
261
|
+
* Outside a preview (`IS_PREVIEW` unprovided — the editing canvas, the design sampler) the link keeps
|
|
262
|
+
* its real `href` so it LOOKS like the live site's (the UA link styles key on it) and stays clickable
|
|
263
|
+
* so the canvas can select it, but no click navigates: plain, modified (cmd/ctrl/shift) and middle
|
|
264
|
+
* clicks all have their default cancelled here.
|
|
250
265
|
*/
|
|
251
266
|
declare class BuilderLinkComponent {
|
|
252
267
|
isPreview: boolean;
|
package/package.json
CHANGED
|
@@ -41,12 +41,21 @@ export function emptyImageLabelSrc(label: string): string {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
44
|
+
* What a node's Image shows WHENEVER its source is empty: the canvas label (when `label` is given) or
|
|
45
|
+
* the live blank for a MARKED node; `null` — render exactly as before — for an unmarked node. It does
|
|
46
|
+
* not look at the source, so a renderer computes it once per marker/label and the component falls
|
|
47
|
+
* back to it the moment its source is cleared (a binding emptied, a context slot not yet filled).
|
|
47
48
|
*/
|
|
48
|
-
export function
|
|
49
|
-
if (src != null && src !== '') return null;
|
|
49
|
+
export function emptyImagePlaceholder(node: { elementStyle?: string | null } | null | undefined, label?: string | null): string | null {
|
|
50
50
|
if (!hasElementStyleMarker(node)) return null;
|
|
51
51
|
return label ? emptyImageLabelSrc(label) : EMPTY_IMAGE_SRC;
|
|
52
52
|
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The `src` a node's Image renders for a given source: its placeholder while the source is empty,
|
|
56
|
+
* `null` once it has one (the source itself renders) or when the node is unmarked.
|
|
57
|
+
*/
|
|
58
|
+
export function emptyImageSrc(node: { elementStyle?: string | null } | null | undefined, src: unknown, label?: string | null): string | null {
|
|
59
|
+
if (src != null && src !== '') return null;
|
|
60
|
+
return emptyImagePlaceholder(node, label);
|
|
61
|
+
}
|
|
@@ -1419,7 +1419,7 @@ export const SPEC_ELEMENT_STYLES = [
|
|
|
1419
1419
|
"fontSize": "var(--iox-size-lead)",
|
|
1420
1420
|
"fontWeight": "var(--iox-weight-body)",
|
|
1421
1421
|
"lineHeight": "var(--iox-leading-body)",
|
|
1422
|
-
"color": "
|
|
1422
|
+
"color": "inherit"
|
|
1423
1423
|
}
|
|
1424
1424
|
},
|
|
1425
1425
|
{
|
|
@@ -1434,7 +1434,7 @@ export const SPEC_ELEMENT_STYLES = [
|
|
|
1434
1434
|
"fontSize": "var(--iox-size-body)",
|
|
1435
1435
|
"fontWeight": "var(--iox-weight-body)",
|
|
1436
1436
|
"lineHeight": "var(--iox-leading-body)",
|
|
1437
|
-
"color": "
|
|
1437
|
+
"color": "inherit"
|
|
1438
1438
|
}
|
|
1439
1439
|
},
|
|
1440
1440
|
{
|