@exponential_app/eui 0.2.0 → 0.3.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/catalog/a11y.json +15 -1
- package/catalog/core.catalog.json +142 -0
- package/catalog/core.schema.json +198 -1
- package/catalog/host.json +10 -0
- package/catalog/macros.json +541 -1
- package/catalog/recipes.json +2 -2
- package/catalog/strings.json +5 -0
- package/catalog/theme.schema.json +2066 -212
- package/conformance/manifest.json +5 -5
- package/dist/chunks/{index-gtk2gwsb.js → index-4z7f2bp1.js} +160 -33
- package/dist/chunks/{index-gtk2gwsb.js.map → index-4z7f2bp1.js.map} +6 -5
- package/dist/chunks/{index-5fmaa0xq.js → index-abcjanhc.js} +629 -3
- package/dist/chunks/{index-5fmaa0xq.js.map → index-abcjanhc.js.map} +2 -2
- package/dist/chunks/{index-62yzr94z.js → index-dx45asrf.js} +99 -3
- package/dist/chunks/{index-62yzr94z.js.map → index-dx45asrf.js.map} +2 -2
- package/dist/chunks/{index-bg2jsgjq.js → index-h3zgfghf.js} +304 -6
- package/dist/chunks/{index-bg2jsgjq.js.map → index-h3zgfghf.js.map} +2 -2
- package/dist/conformance.js +7901 -614
- package/dist/conformance.js.map +2 -2
- package/dist/entries/prompt.js +2 -2
- package/dist/entries/schema.js +2 -2
- package/dist/host/index.js +20 -4
- package/dist/host/index.js.map +1 -1
- package/dist/index.js +46 -5
- package/dist/index.js.map +4 -3
- package/dist/types/src/catalog.generated.d.ts +23 -3
- package/dist/types/src/host/contract.d.ts +17 -0
- package/dist/types/src/host/exposes.d.ts +68 -0
- package/dist/types/src/host/index.d.ts +1 -0
- package/dist/types/src/host/package.d.ts +8 -0
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/text-clusters.d.ts +11 -0
- package/dist/types/src/web/primitives/carousel.d.ts +17 -0
- package/dist/types/src/web/primitives/index.d.ts +3 -0
- package/dist/types/src/web/primitives/mosaic.d.ts +30 -0
- package/dist/types/src/web/primitives/outline.d.ts +22 -0
- package/dist/web/index.js +8 -2
- package/dist/web/index.js.map +4 -4
- package/dist/web/primitives/index.js +59 -1
- package/dist/web/primitives/index.js.map +6 -3
- package/docs/components.generated.json +150 -1
- package/docs/package-format.md +56 -1
- package/docs/round-6-contract.md +108 -0
- package/docs/themes.generated.json +39 -2
- package/fixtures/bind-time.json +1464 -0
- package/fixtures/catalog-components.json +96 -0
- package/fixtures/catalog-macros.json +1159 -48
- package/fixtures/conformance-baseline.json +46073 -44448
- package/fixtures/conformance-known.json +76 -64
- package/fixtures/host-router.json +539 -1
- package/fixtures/kitchen-sink.expanded.json +614 -1
- package/fixtures/kitchen-sink.json +69 -1
- package/fixtures/primitive-specimens.json +3 -0
- package/fixtures/prompt-budget.json +14 -14
- package/fixtures/specimens.json +122 -0
- package/fixtures/text-clusters.json +65 -0
- package/fixtures/theme-recipes.json +4617 -1691
- package/fixtures/theme-resolved.json +1154 -2
- package/generated/ExponentialUICatalog.generated.kt +13 -13
- package/generated/ExponentialUICatalog.generated.swift +13 -13
- package/generated/ExponentialUIThemes.generated.kt +7 -7
- package/generated/ExponentialUIThemes.generated.swift +7 -7
- package/generated/catalog.descriptions.generated.rs +1 -1
- package/generated/catalog.generated.rs +18 -18
- package/generated/catalog.themes.generated.rs +8 -8
- package/generated/core.descriptions.json +96 -0
- package/generated/core.runtime.json +86 -0
- package/package.json +1 -1
- package/themes/neutral.theme.json +288 -0
|
@@ -620,6 +620,34 @@ var core_runtime_default = {
|
|
|
620
620
|
enum: "traceStatus"
|
|
621
621
|
}
|
|
622
622
|
}
|
|
623
|
+
},
|
|
624
|
+
outlineItem: {
|
|
625
|
+
properties: {
|
|
626
|
+
id: {
|
|
627
|
+
type: "string",
|
|
628
|
+
required: true
|
|
629
|
+
},
|
|
630
|
+
title: {
|
|
631
|
+
type: "string",
|
|
632
|
+
required: true,
|
|
633
|
+
bindable: true
|
|
634
|
+
},
|
|
635
|
+
count: {
|
|
636
|
+
type: "number",
|
|
637
|
+
bindable: true
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
picture: {
|
|
642
|
+
properties: {
|
|
643
|
+
src: {
|
|
644
|
+
type: "url",
|
|
645
|
+
required: true
|
|
646
|
+
},
|
|
647
|
+
alt: {
|
|
648
|
+
type: "string"
|
|
649
|
+
}
|
|
650
|
+
}
|
|
623
651
|
}
|
|
624
652
|
},
|
|
625
653
|
functions: {
|
|
@@ -1709,12 +1737,44 @@ var core_runtime_default = {
|
|
|
1709
1737
|
indicators: {
|
|
1710
1738
|
type: "boolean",
|
|
1711
1739
|
default: true
|
|
1740
|
+
},
|
|
1741
|
+
counter: {
|
|
1742
|
+
type: "boolean",
|
|
1743
|
+
default: false
|
|
1744
|
+
},
|
|
1745
|
+
thumbnails: {
|
|
1746
|
+
type: "array",
|
|
1747
|
+
items: {
|
|
1748
|
+
type: "url"
|
|
1749
|
+
}
|
|
1712
1750
|
}
|
|
1713
1751
|
},
|
|
1714
1752
|
events: [
|
|
1715
1753
|
"change"
|
|
1716
1754
|
]
|
|
1717
1755
|
},
|
|
1756
|
+
Mosaic: {
|
|
1757
|
+
kind: "macro",
|
|
1758
|
+
group: "media",
|
|
1759
|
+
lite: false,
|
|
1760
|
+
children: "none",
|
|
1761
|
+
props: {
|
|
1762
|
+
pictures: {
|
|
1763
|
+
type: "array",
|
|
1764
|
+
items: {
|
|
1765
|
+
type: "object",
|
|
1766
|
+
shape: "picture"
|
|
1767
|
+
},
|
|
1768
|
+
required: true
|
|
1769
|
+
},
|
|
1770
|
+
label: {
|
|
1771
|
+
type: "string"
|
|
1772
|
+
}
|
|
1773
|
+
},
|
|
1774
|
+
events: [
|
|
1775
|
+
"select"
|
|
1776
|
+
]
|
|
1777
|
+
},
|
|
1718
1778
|
Tabs: {
|
|
1719
1779
|
kind: "native",
|
|
1720
1780
|
group: "navigation",
|
|
@@ -1994,6 +2054,32 @@ var core_runtime_default = {
|
|
|
1994
2054
|
"select"
|
|
1995
2055
|
]
|
|
1996
2056
|
},
|
|
2057
|
+
Outline: {
|
|
2058
|
+
kind: "macro",
|
|
2059
|
+
group: "navigation",
|
|
2060
|
+
lite: true,
|
|
2061
|
+
children: "none",
|
|
2062
|
+
props: {
|
|
2063
|
+
items: {
|
|
2064
|
+
type: "array",
|
|
2065
|
+
items: {
|
|
2066
|
+
type: "object",
|
|
2067
|
+
shape: "outlineItem"
|
|
2068
|
+
},
|
|
2069
|
+
required: true
|
|
2070
|
+
},
|
|
2071
|
+
value: {
|
|
2072
|
+
type: "string",
|
|
2073
|
+
bindable: true
|
|
2074
|
+
},
|
|
2075
|
+
caption: {
|
|
2076
|
+
type: "string"
|
|
2077
|
+
}
|
|
2078
|
+
},
|
|
2079
|
+
events: [
|
|
2080
|
+
"select"
|
|
2081
|
+
]
|
|
2082
|
+
},
|
|
1997
2083
|
Stepper: {
|
|
1998
2084
|
kind: "macro",
|
|
1999
2085
|
group: "navigation",
|
|
@@ -4146,7 +4232,7 @@ var basic_map_default = {
|
|
|
4146
4232
|
};
|
|
4147
4233
|
// packages/exponential-ui/catalog/macros.json
|
|
4148
4234
|
var macros_default = {
|
|
4149
|
-
$comment: 'VAPP-85: the ONE declarative macro table. A macro component (core.catalog.json `kind: macro`) expands into this template before painting; the TS reference expander (src/macros.ts) and the Rust core apply the same table and fixtures/catalog-macros.json locks the output. Template node = { part, component, props?, style?, children?, slots?, $if?, $any?, $each?, $as?, $on?, $context?, $set?, $recipe?, $a11y? }. Values: `"{props.x}"` alone = the raw prop (a data BINDING passes through untouched, so two-way binding survives); `"{props.x|fallback}"` = with a default; `{…}` inside a longer string interpolates; `{id}` = the macro node\'s id; `{len(props.rows)}` = an array length; `{range(props.max|5)}` = the indexes 0..n-1 (for `$each`); `{index}` = the current $each index; `{!path}` negates. Value objects: $map {from, cases, default}, $cond [condition, then, else], $eq [a, b] (a number equals a string spelling it), $lt [a, b], $add [a, b], $sub [a, b], $clamp [value, min, max] (a missing bound does not clamp), $percent [value, max] (→ "N%"), $coalesce [a, b, …], $text value (→ the value as a string, absent when missing), $not condition, $fill [template, {name: value}] (ALWAYS emits the core `fill` call: the template is usually a `$string.<id>` sentence with `{name}` placeholders the surface\'s string table resolves at bind time). Object KEYS interpolate too (`"@media (max-width: $breakpoint.{props.collapseBelow|md})"`). `$if` = a condition or an array of conditions (all must hold); `$any` = an array where one must hold. `$each` repeats a part per item of an array (`$as` names the item, default `item`). Children: `"$children"` splices the author\'s children, `"$slot:name"` splices an author slot in place; `slots: {"trigger": "$slot:trigger"}` copies an author slot, `slots: {"footer": {template node}}` builds one as a part. `$on: {"press": "change"}` routes the author\'s `on.change` handler to this part\'s `press` (merging `$context` into an event action\'s context); without `$on` the author\'s `on` map stays on the root. `$set: {"press": {"prop": "open", "value": "{!props.open}"}}` = TWO-WAY BINDING (round 1): when the author\'s `props.open` is a data binding `{path}`, this part\'s `press` action also carries `functionCall: {call: "set", args: {path, value}}` (the value evaluated like any template value, so usually a call), key order `event` then `functionCall`; a literal prop adds nothing (the host owns the state through the routed event); when the author\'s routed handler is itself a FUNCTION (an Action carries one), it wins, no `set` is added and the reducer reports an issue. `$a11y: {role, label, description, level, expanded, current, selected, pressed, checked, valueNow, valueMin, valueMax, hidden, autoFocus}` = the part\'s ACCESSIBILITY (docs/round-1-contract.md §6): evaluated like props (a bound input emits a call) into the expanded node\'s `accessibility`; `role` is one of catalog/a11y.json `roles`; on the root the author\'s `accessibility` label/description win. Ids: the root keeps the author\'s id, parts get `<id>.<part>` and `<id>.<part>.<index>` under `$each`. Every expanded node carries `recipe: {macro, part, props}` where props = `recipeProps` evaluated from the author\'s props (+ a part\'s `$recipe`); the THEME (VAPP-92) keys its visual recipes on that, so nothing here states a colour, a border or a font — only structure and token-named spacing, radius and control heights. VAPP-163: the expansion ROOT\'s recipe also carries `authored` = the top-level keys of the style written ON the macro node (condition blocks count as one key), SORTED, omitted when none; painters apply native recipe < node style < part recipe < those authored keys, so an author\'s colour or size on a Heading/Badge beats the theme\'s part recipe while the template\'s own structure does not (only the author\'s keys count: a macro node an outer template drew passes on just its root\'s `authored`, never template style). Macros may use other macros (Row → TreeGuides); expansion recurses until every node is native (innermost recipe wins). ROUND 1 (docs/round-1-contract.md §1, BOUND INPUTS): when an expression input is a data binding `{path}` or a function call, the expander does NOT evaluate — it EMITS an A2UI function call the renderer evaluates at bind time, over the core functions: interpolation → concat, `|fallback` → fallback (as an operand; a whole-string MEMBER of props/style/context passes the binding itself through, so two-way binding survives), `!` → not, len → len, $map → map, $cond → cond, $eq → eq, $lt → lt, $add → add, $sub → sub, $percent → percent, $text → text, $coalesce → coalesce, $not → not; a `$if`/`$any` whose conditions are bound emits the part WITH `visible` = the bound condition (`and{values}` over several bound `$if`s, `or{values}` over several bound `$any`s; literal conditions still decide at expansion); `$each` over a bound array emits nothing (use List with a template); a `$recipe` value may therefore be a call too (renderers resolve recipe props like props). RESPONSIVE PROPS: an author prop `{base, sm?, md?, lg?, xl?}` on a `responsive` prop is evaluated per breakpoint: a part\'s style is computed with the `base` values, then once per breakpoint named (ascending sm<md<lg<xl, each key inheriting the last smaller one) and every key that changed lands in a `"@media (min-width: $breakpoint.<bp>)"` block of that part; props and conditions see the `base` value. Strings of the form `$string.<id>` (catalog/strings.json) are built-in UI copy the renderer shows in the surface locale. Round 3 (VAPP-102): AFTER the table is applied the core runs ONE post-expansion pass, src/tree-guides.ts applyTreeGuides (Rust: tree_guides::apply): over every node\'s children in order, each Row root (`recipe.macro` Row, part root) contributes its numeric `recipe.props.depth` (anything else counts as depth 0 and ends every subtree), the ×4 treeGuides rule (elbow at depth-1, tee while a later sibling follows, pass-through for every ancestor level that continues) fills the Row\'s `guides` part (a TreeGuides) with `elbowAt`/`tee`/`passThrough`; fixtures/tree-guides.json locks the rule, catalog-macros.json the filled trees.',
|
|
4235
|
+
$comment: 'VAPP-85: the ONE declarative macro table. A macro component (core.catalog.json `kind: macro`) expands into this template before painting; the TS reference expander (src/macros.ts) and the Rust core apply the same table and fixtures/catalog-macros.json locks the output. Template node = { part, component, props?, style?, children?, slots?, $if?, $any?, $each?, $as?, $on?, $context?, $set?, $recipe?, $a11y? }. Values: `"{props.x}"` alone = the raw prop (a data BINDING passes through untouched, so two-way binding survives); `"{props.x|fallback}"` = with a default; `{…}` inside a longer string interpolates; `{id}` = the macro node\'s id; `{len(props.rows)}` = an array length; `{range(props.max|5)}` = the indexes 0..n-1 (for `$each`); `{index}` = the current $each index; `{!path}` negates. Value objects: $map {from, cases, default}, $cond [condition, then, else], $eq [a, b] (a number equals a string spelling it), $lt [a, b], $add [a, b], $sub [a, b], $clamp [value, min, max] (a missing bound does not clamp), $percent [value, max] (→ "N%"), $coalesce [a, b, …], $text value (→ the value as a string, absent when missing), $not condition, $fill [template, {name: value}] (ALWAYS emits the core `fill` call: the template is usually a `$string.<id>` sentence with `{name}` placeholders the surface\'s string table resolves at bind time). Object KEYS interpolate too (`"@media (max-width: $breakpoint.{props.collapseBelow|md})"`). `$if` = a condition or an array of conditions (all must hold); `$any` = an array where one must hold. `$each` repeats a part per item of an array (`$as` names the item, default `item`). Children: `"$children"` splices the author\'s children, `"$slot:name"` splices an author slot in place; `slots: {"trigger": "$slot:trigger"}` copies an author slot, `slots: {"footer": {template node}}` builds one as a part. `$on: {"press": "change"}` routes the author\'s `on.change` handler to this part\'s `press` (merging `$context` into an event action\'s context); without `$on` the author\'s `on` map stays on the root. `$set: {"press": {"prop": "open", "value": "{!props.open}"}}` = TWO-WAY BINDING (round 1): when the author\'s `props.open` is a data binding `{path}`, this part\'s `press` action also carries `functionCall: {call: "set", args: {path, value}}` (the value evaluated like any template value, so usually a call), key order `event` then `functionCall`; a literal prop adds nothing (the host owns the state through the routed event); when the author\'s routed handler is itself a FUNCTION (an Action carries one), it wins, no `set` is added and the reducer reports an issue. `$a11y: {role, label, description, level, expanded, current, selected, pressed, checked, valueNow, valueMin, valueMax, hidden, autoFocus}` = the part\'s ACCESSIBILITY (docs/round-1-contract.md §6): evaluated like props (a bound input emits a call) into the expanded node\'s `accessibility`; `role` is one of catalog/a11y.json `roles`; on the root the author\'s `accessibility` label/description win. Ids: the root keeps the author\'s id, parts get `<id>.<part>` and `<id>.<part>.<index>` under `$each`. Every expanded node carries `recipe: {macro, part, props}` where props = `recipeProps` evaluated from the author\'s props (+ a part\'s `$recipe`); the THEME (VAPP-92) keys its visual recipes on that, so nothing here states a colour, a border or a font — only structure and token-named spacing, radius and control heights. VAPP-163: the expansion ROOT\'s recipe also carries `authored` = the top-level keys of the style written ON the macro node (condition blocks count as one key), SORTED, omitted when none; painters apply native recipe < node style < part recipe < those authored keys, so an author\'s colour or size on a Heading/Badge beats the theme\'s part recipe while the template\'s own structure does not (only the author\'s keys count: a macro node an outer template drew passes on just its root\'s `authored`, never template style). Macros may use other macros (Row → TreeGuides); expansion recurses until every node is native (innermost recipe wins). ROUND 1 (docs/round-1-contract.md §1, BOUND INPUTS): when an expression input is a data binding `{path}` or a function call, the expander does NOT evaluate — it EMITS an A2UI function call the renderer evaluates at bind time, over the core functions: interpolation → concat, `|fallback` → fallback (as an operand; a whole-string MEMBER of props/style/context passes the binding itself through, so two-way binding survives), `!` → not, len → len, $map → map, $cond → cond, $eq → eq, $lt → lt, $add → add, $sub → sub, $percent → percent, $text → text, $coalesce → coalesce, $not → not; a `$if`/`$any` whose conditions are bound emits the part WITH `visible` = the bound condition (`and{values}` over several bound `$if`s, `or{values}` over several bound `$any`s; literal conditions still decide at expansion); `$each` over a bound array emits nothing (use List with a template); a `$recipe` value may therefore be a call too (renderers resolve recipe props like props). RESPONSIVE PROPS: an author prop `{base, sm?, md?, lg?, xl?}` on a `responsive` prop is evaluated per breakpoint: a part\'s style is computed with the `base` values, then once per breakpoint named (ascending sm<md<lg<xl, each key inheriting the last smaller one) and every key that changed lands in a `"@media (min-width: $breakpoint.<bp>)"` block of that part; props and conditions see the `base` value. Strings of the form `$string.<id>` (catalog/strings.json) are built-in UI copy the renderer shows in the surface locale. Round 3 (VAPP-102): AFTER the table is applied the core runs ONE post-expansion pass, src/tree-guides.ts applyTreeGuides (Rust: tree_guides::apply): over every node\'s children in order, each Row root (`recipe.macro` Row, part root) contributes its numeric `recipe.props.depth` (anything else counts as depth 0 and ends every subtree), the ×4 treeGuides rule (elbow at depth-1, tee while a later sibling follows, pass-through for every ancestor level that continues) fills the Row\'s `guides` part (a TreeGuides) with `elbowAt`/`tee`/`passThrough`; fixtures/tree-guides.json locks the rule, catalog-macros.json the filled trees. EXP-1495 (docs/round-6-contract.md): Outline (the anchor list) and Mosaic (the wide picture group) are macros over Box/Text/Image.',
|
|
4150
4236
|
macros: {
|
|
4151
4237
|
Stack: {
|
|
4152
4238
|
recipeProps: [],
|
|
@@ -6480,6 +6566,169 @@ var macros_default = {
|
|
|
6480
6566
|
]
|
|
6481
6567
|
}
|
|
6482
6568
|
},
|
|
6569
|
+
Outline: {
|
|
6570
|
+
recipeProps: [],
|
|
6571
|
+
root: {
|
|
6572
|
+
part: "root",
|
|
6573
|
+
component: "Box",
|
|
6574
|
+
$a11y: {
|
|
6575
|
+
role: "navigation",
|
|
6576
|
+
label: "{props.caption|$string.outline}"
|
|
6577
|
+
},
|
|
6578
|
+
style: {
|
|
6579
|
+
display: "flex",
|
|
6580
|
+
flexDirection: "column",
|
|
6581
|
+
gap: "$spacing.xxs",
|
|
6582
|
+
minWidth: 0
|
|
6583
|
+
},
|
|
6584
|
+
children: [
|
|
6585
|
+
{
|
|
6586
|
+
part: "caption",
|
|
6587
|
+
component: "Text",
|
|
6588
|
+
$if: "props.caption",
|
|
6589
|
+
props: {
|
|
6590
|
+
text: "{props.caption}",
|
|
6591
|
+
variant: "caption",
|
|
6592
|
+
lines: 1
|
|
6593
|
+
},
|
|
6594
|
+
$a11y: {
|
|
6595
|
+
hidden: true
|
|
6596
|
+
}
|
|
6597
|
+
},
|
|
6598
|
+
{
|
|
6599
|
+
part: "row",
|
|
6600
|
+
component: "Box",
|
|
6601
|
+
$each: "props.items",
|
|
6602
|
+
$as: "item",
|
|
6603
|
+
props: {
|
|
6604
|
+
pressable: true
|
|
6605
|
+
},
|
|
6606
|
+
style: {
|
|
6607
|
+
display: "flex",
|
|
6608
|
+
flexDirection: "row",
|
|
6609
|
+
alignItems: "center",
|
|
6610
|
+
gap: "$spacing.xs",
|
|
6611
|
+
position: "relative",
|
|
6612
|
+
height: "$control.rowCompact",
|
|
6613
|
+
paddingHorizontal: "$spacing.sm",
|
|
6614
|
+
minWidth: 0,
|
|
6615
|
+
overflow: "hidden",
|
|
6616
|
+
cursor: "pointer"
|
|
6617
|
+
},
|
|
6618
|
+
$recipe: {
|
|
6619
|
+
active: {
|
|
6620
|
+
$eq: [
|
|
6621
|
+
"{item.id}",
|
|
6622
|
+
"{props.value}"
|
|
6623
|
+
]
|
|
6624
|
+
}
|
|
6625
|
+
},
|
|
6626
|
+
$a11y: {
|
|
6627
|
+
role: "link",
|
|
6628
|
+
label: {
|
|
6629
|
+
$cond: [
|
|
6630
|
+
"item.count",
|
|
6631
|
+
{
|
|
6632
|
+
$fill: [
|
|
6633
|
+
"$string.outlineRow",
|
|
6634
|
+
{
|
|
6635
|
+
title: "{item.title}",
|
|
6636
|
+
count: "{item.count}"
|
|
6637
|
+
}
|
|
6638
|
+
]
|
|
6639
|
+
},
|
|
6640
|
+
"{item.title}"
|
|
6641
|
+
]
|
|
6642
|
+
},
|
|
6643
|
+
current: {
|
|
6644
|
+
$cond: [
|
|
6645
|
+
{
|
|
6646
|
+
$eq: [
|
|
6647
|
+
"{item.id}",
|
|
6648
|
+
"{props.value}"
|
|
6649
|
+
]
|
|
6650
|
+
},
|
|
6651
|
+
"location",
|
|
6652
|
+
false
|
|
6653
|
+
]
|
|
6654
|
+
}
|
|
6655
|
+
},
|
|
6656
|
+
$on: {
|
|
6657
|
+
press: "select"
|
|
6658
|
+
},
|
|
6659
|
+
$context: {
|
|
6660
|
+
id: "{item.id}"
|
|
6661
|
+
},
|
|
6662
|
+
$set: {
|
|
6663
|
+
press: {
|
|
6664
|
+
prop: "value",
|
|
6665
|
+
value: "{item.id}"
|
|
6666
|
+
}
|
|
6667
|
+
},
|
|
6668
|
+
children: [
|
|
6669
|
+
{
|
|
6670
|
+
part: "bar",
|
|
6671
|
+
component: "Box",
|
|
6672
|
+
$if: {
|
|
6673
|
+
$eq: [
|
|
6674
|
+
"{item.id}",
|
|
6675
|
+
"{props.value}"
|
|
6676
|
+
]
|
|
6677
|
+
},
|
|
6678
|
+
$a11y: {
|
|
6679
|
+
hidden: true
|
|
6680
|
+
},
|
|
6681
|
+
style: {
|
|
6682
|
+
position: "absolute",
|
|
6683
|
+
insetInlineStart: 0,
|
|
6684
|
+
top: 0,
|
|
6685
|
+
bottom: 0,
|
|
6686
|
+
width: 2
|
|
6687
|
+
}
|
|
6688
|
+
},
|
|
6689
|
+
{
|
|
6690
|
+
part: "title",
|
|
6691
|
+
component: "Text",
|
|
6692
|
+
props: {
|
|
6693
|
+
text: "{item.title}",
|
|
6694
|
+
lines: 1
|
|
6695
|
+
},
|
|
6696
|
+
$recipe: {
|
|
6697
|
+
active: {
|
|
6698
|
+
$eq: [
|
|
6699
|
+
"{item.id}",
|
|
6700
|
+
"{props.value}"
|
|
6701
|
+
]
|
|
6702
|
+
}
|
|
6703
|
+
},
|
|
6704
|
+
style: {
|
|
6705
|
+
flexGrow: 1,
|
|
6706
|
+
flexShrink: 1,
|
|
6707
|
+
flexBasis: 0,
|
|
6708
|
+
minWidth: 0
|
|
6709
|
+
}
|
|
6710
|
+
},
|
|
6711
|
+
{
|
|
6712
|
+
part: "count",
|
|
6713
|
+
component: "Text",
|
|
6714
|
+
$if: "item.count",
|
|
6715
|
+
props: {
|
|
6716
|
+
text: "· {item.count}",
|
|
6717
|
+
variant: "caption",
|
|
6718
|
+
lines: 1
|
|
6719
|
+
},
|
|
6720
|
+
$a11y: {
|
|
6721
|
+
hidden: true
|
|
6722
|
+
},
|
|
6723
|
+
style: {
|
|
6724
|
+
flexShrink: 0
|
|
6725
|
+
}
|
|
6726
|
+
}
|
|
6727
|
+
]
|
|
6728
|
+
}
|
|
6729
|
+
]
|
|
6730
|
+
}
|
|
6731
|
+
},
|
|
6483
6732
|
Stepper: {
|
|
6484
6733
|
recipeProps: [
|
|
6485
6734
|
"orientation"
|
|
@@ -8294,6 +8543,383 @@ var macros_default = {
|
|
|
8294
8543
|
}
|
|
8295
8544
|
]
|
|
8296
8545
|
}
|
|
8546
|
+
},
|
|
8547
|
+
Mosaic: {
|
|
8548
|
+
recipeProps: [],
|
|
8549
|
+
root: {
|
|
8550
|
+
part: "root",
|
|
8551
|
+
component: "Box",
|
|
8552
|
+
$a11y: {
|
|
8553
|
+
role: "group",
|
|
8554
|
+
label: "{props.label}"
|
|
8555
|
+
},
|
|
8556
|
+
style: {
|
|
8557
|
+
display: "flex",
|
|
8558
|
+
flexDirection: "row",
|
|
8559
|
+
width: "100%",
|
|
8560
|
+
aspectRatio: 1.6,
|
|
8561
|
+
minWidth: 0
|
|
8562
|
+
},
|
|
8563
|
+
children: [
|
|
8564
|
+
{
|
|
8565
|
+
part: "lead",
|
|
8566
|
+
component: "Box",
|
|
8567
|
+
$if: "props.pictures.0",
|
|
8568
|
+
props: {
|
|
8569
|
+
pressable: true
|
|
8570
|
+
},
|
|
8571
|
+
style: {
|
|
8572
|
+
position: "relative",
|
|
8573
|
+
overflow: "hidden",
|
|
8574
|
+
minWidth: 0,
|
|
8575
|
+
minHeight: 0,
|
|
8576
|
+
cursor: "pointer",
|
|
8577
|
+
flexGrow: {
|
|
8578
|
+
$cond: [
|
|
8579
|
+
{
|
|
8580
|
+
$lt: [
|
|
8581
|
+
2,
|
|
8582
|
+
"{len(props.pictures)}"
|
|
8583
|
+
]
|
|
8584
|
+
},
|
|
8585
|
+
0,
|
|
8586
|
+
1
|
|
8587
|
+
]
|
|
8588
|
+
},
|
|
8589
|
+
flexShrink: {
|
|
8590
|
+
$cond: [
|
|
8591
|
+
{
|
|
8592
|
+
$lt: [
|
|
8593
|
+
2,
|
|
8594
|
+
"{len(props.pictures)}"
|
|
8595
|
+
]
|
|
8596
|
+
},
|
|
8597
|
+
0,
|
|
8598
|
+
1
|
|
8599
|
+
]
|
|
8600
|
+
},
|
|
8601
|
+
flexBasis: {
|
|
8602
|
+
$cond: [
|
|
8603
|
+
{
|
|
8604
|
+
$lt: [
|
|
8605
|
+
2,
|
|
8606
|
+
"{len(props.pictures)}"
|
|
8607
|
+
]
|
|
8608
|
+
},
|
|
8609
|
+
"60%",
|
|
8610
|
+
0
|
|
8611
|
+
]
|
|
8612
|
+
},
|
|
8613
|
+
height: "100%"
|
|
8614
|
+
},
|
|
8615
|
+
$recipe: {
|
|
8616
|
+
size: {
|
|
8617
|
+
$cond: [
|
|
8618
|
+
{
|
|
8619
|
+
$lt: [
|
|
8620
|
+
2,
|
|
8621
|
+
"{len(props.pictures)}"
|
|
8622
|
+
]
|
|
8623
|
+
},
|
|
8624
|
+
"large",
|
|
8625
|
+
{
|
|
8626
|
+
$cond: [
|
|
8627
|
+
{
|
|
8628
|
+
$lt: [
|
|
8629
|
+
1,
|
|
8630
|
+
"{len(props.pictures)}"
|
|
8631
|
+
]
|
|
8632
|
+
},
|
|
8633
|
+
"half",
|
|
8634
|
+
"large"
|
|
8635
|
+
]
|
|
8636
|
+
}
|
|
8637
|
+
]
|
|
8638
|
+
}
|
|
8639
|
+
},
|
|
8640
|
+
$a11y: {
|
|
8641
|
+
role: "button",
|
|
8642
|
+
label: "{props.pictures.0.alt}"
|
|
8643
|
+
},
|
|
8644
|
+
$on: {
|
|
8645
|
+
press: "select"
|
|
8646
|
+
},
|
|
8647
|
+
$context: {
|
|
8648
|
+
index: 0
|
|
8649
|
+
},
|
|
8650
|
+
children: [
|
|
8651
|
+
{
|
|
8652
|
+
part: "image",
|
|
8653
|
+
component: "Image",
|
|
8654
|
+
props: {
|
|
8655
|
+
src: "{props.pictures.0.src}",
|
|
8656
|
+
alt: "{props.pictures.0.alt}",
|
|
8657
|
+
fit: "cover"
|
|
8658
|
+
},
|
|
8659
|
+
$a11y: {
|
|
8660
|
+
hidden: true
|
|
8661
|
+
},
|
|
8662
|
+
style: {
|
|
8663
|
+
position: "absolute",
|
|
8664
|
+
inset: 0,
|
|
8665
|
+
width: "100%",
|
|
8666
|
+
height: "100%"
|
|
8667
|
+
}
|
|
8668
|
+
}
|
|
8669
|
+
]
|
|
8670
|
+
},
|
|
8671
|
+
{
|
|
8672
|
+
part: "pair",
|
|
8673
|
+
component: "Box",
|
|
8674
|
+
$if: [
|
|
8675
|
+
{
|
|
8676
|
+
$eq: [
|
|
8677
|
+
"{len(props.pictures)}",
|
|
8678
|
+
2
|
|
8679
|
+
]
|
|
8680
|
+
}
|
|
8681
|
+
],
|
|
8682
|
+
props: {
|
|
8683
|
+
pressable: true
|
|
8684
|
+
},
|
|
8685
|
+
style: {
|
|
8686
|
+
position: "relative",
|
|
8687
|
+
overflow: "hidden",
|
|
8688
|
+
minWidth: 0,
|
|
8689
|
+
minHeight: 0,
|
|
8690
|
+
cursor: "pointer",
|
|
8691
|
+
flexGrow: 1,
|
|
8692
|
+
flexShrink: 1,
|
|
8693
|
+
flexBasis: 0,
|
|
8694
|
+
height: "100%"
|
|
8695
|
+
},
|
|
8696
|
+
$recipe: {
|
|
8697
|
+
size: "half"
|
|
8698
|
+
},
|
|
8699
|
+
$a11y: {
|
|
8700
|
+
role: "button",
|
|
8701
|
+
label: "{props.pictures.1.alt}"
|
|
8702
|
+
},
|
|
8703
|
+
$on: {
|
|
8704
|
+
press: "select"
|
|
8705
|
+
},
|
|
8706
|
+
$context: {
|
|
8707
|
+
index: 1
|
|
8708
|
+
},
|
|
8709
|
+
children: [
|
|
8710
|
+
{
|
|
8711
|
+
part: "image",
|
|
8712
|
+
component: "Image",
|
|
8713
|
+
props: {
|
|
8714
|
+
src: "{props.pictures.1.src}",
|
|
8715
|
+
alt: "{props.pictures.1.alt}",
|
|
8716
|
+
fit: "cover"
|
|
8717
|
+
},
|
|
8718
|
+
$a11y: {
|
|
8719
|
+
hidden: true
|
|
8720
|
+
},
|
|
8721
|
+
style: {
|
|
8722
|
+
position: "absolute",
|
|
8723
|
+
inset: 0,
|
|
8724
|
+
width: "100%",
|
|
8725
|
+
height: "100%"
|
|
8726
|
+
}
|
|
8727
|
+
}
|
|
8728
|
+
]
|
|
8729
|
+
},
|
|
8730
|
+
{
|
|
8731
|
+
part: "side",
|
|
8732
|
+
component: "Box",
|
|
8733
|
+
$if: {
|
|
8734
|
+
$lt: [
|
|
8735
|
+
2,
|
|
8736
|
+
"{len(props.pictures)}"
|
|
8737
|
+
]
|
|
8738
|
+
},
|
|
8739
|
+
style: {
|
|
8740
|
+
display: "flex",
|
|
8741
|
+
flexDirection: "column",
|
|
8742
|
+
flexGrow: 1,
|
|
8743
|
+
flexShrink: 1,
|
|
8744
|
+
flexBasis: 0,
|
|
8745
|
+
minWidth: 0,
|
|
8746
|
+
height: "100%"
|
|
8747
|
+
},
|
|
8748
|
+
children: [
|
|
8749
|
+
{
|
|
8750
|
+
part: "top",
|
|
8751
|
+
component: "Box",
|
|
8752
|
+
$if: "props.pictures.1",
|
|
8753
|
+
props: {
|
|
8754
|
+
pressable: true
|
|
8755
|
+
},
|
|
8756
|
+
style: {
|
|
8757
|
+
position: "relative",
|
|
8758
|
+
overflow: "hidden",
|
|
8759
|
+
minWidth: 0,
|
|
8760
|
+
minHeight: 0,
|
|
8761
|
+
cursor: "pointer",
|
|
8762
|
+
flexGrow: 1,
|
|
8763
|
+
flexShrink: 1,
|
|
8764
|
+
flexBasis: 0,
|
|
8765
|
+
width: "100%"
|
|
8766
|
+
},
|
|
8767
|
+
$recipe: {
|
|
8768
|
+
size: "small"
|
|
8769
|
+
},
|
|
8770
|
+
$a11y: {
|
|
8771
|
+
role: "button",
|
|
8772
|
+
label: "{props.pictures.1.alt}"
|
|
8773
|
+
},
|
|
8774
|
+
$on: {
|
|
8775
|
+
press: "select"
|
|
8776
|
+
},
|
|
8777
|
+
$context: {
|
|
8778
|
+
index: 1
|
|
8779
|
+
},
|
|
8780
|
+
children: [
|
|
8781
|
+
{
|
|
8782
|
+
part: "image",
|
|
8783
|
+
component: "Image",
|
|
8784
|
+
props: {
|
|
8785
|
+
src: "{props.pictures.1.src}",
|
|
8786
|
+
alt: "{props.pictures.1.alt}",
|
|
8787
|
+
fit: "cover"
|
|
8788
|
+
},
|
|
8789
|
+
$a11y: {
|
|
8790
|
+
hidden: true
|
|
8791
|
+
},
|
|
8792
|
+
style: {
|
|
8793
|
+
position: "absolute",
|
|
8794
|
+
inset: 0,
|
|
8795
|
+
width: "100%",
|
|
8796
|
+
height: "100%"
|
|
8797
|
+
}
|
|
8798
|
+
}
|
|
8799
|
+
]
|
|
8800
|
+
},
|
|
8801
|
+
{
|
|
8802
|
+
part: "bottom",
|
|
8803
|
+
component: "Box",
|
|
8804
|
+
$if: "props.pictures.2",
|
|
8805
|
+
props: {
|
|
8806
|
+
pressable: true
|
|
8807
|
+
},
|
|
8808
|
+
style: {
|
|
8809
|
+
position: "relative",
|
|
8810
|
+
overflow: "hidden",
|
|
8811
|
+
minWidth: 0,
|
|
8812
|
+
minHeight: 0,
|
|
8813
|
+
cursor: "pointer",
|
|
8814
|
+
flexGrow: 1,
|
|
8815
|
+
flexShrink: 1,
|
|
8816
|
+
flexBasis: 0,
|
|
8817
|
+
width: "100%"
|
|
8818
|
+
},
|
|
8819
|
+
$recipe: {
|
|
8820
|
+
size: "small"
|
|
8821
|
+
},
|
|
8822
|
+
$a11y: {
|
|
8823
|
+
role: "button",
|
|
8824
|
+
label: {
|
|
8825
|
+
$cond: [
|
|
8826
|
+
{
|
|
8827
|
+
$lt: [
|
|
8828
|
+
3,
|
|
8829
|
+
"{len(props.pictures)}"
|
|
8830
|
+
]
|
|
8831
|
+
},
|
|
8832
|
+
{
|
|
8833
|
+
$fill: [
|
|
8834
|
+
"$string.morePicturesLabel",
|
|
8835
|
+
{
|
|
8836
|
+
alt: "{props.pictures.2.alt}",
|
|
8837
|
+
count: {
|
|
8838
|
+
$sub: [
|
|
8839
|
+
"{len(props.pictures)}",
|
|
8840
|
+
3
|
|
8841
|
+
]
|
|
8842
|
+
}
|
|
8843
|
+
}
|
|
8844
|
+
]
|
|
8845
|
+
},
|
|
8846
|
+
"{props.pictures.2.alt}"
|
|
8847
|
+
]
|
|
8848
|
+
}
|
|
8849
|
+
},
|
|
8850
|
+
$on: {
|
|
8851
|
+
press: "select"
|
|
8852
|
+
},
|
|
8853
|
+
$context: {
|
|
8854
|
+
index: 2
|
|
8855
|
+
},
|
|
8856
|
+
children: [
|
|
8857
|
+
{
|
|
8858
|
+
part: "image",
|
|
8859
|
+
component: "Image",
|
|
8860
|
+
props: {
|
|
8861
|
+
src: "{props.pictures.2.src}",
|
|
8862
|
+
alt: "{props.pictures.2.alt}",
|
|
8863
|
+
fit: "cover"
|
|
8864
|
+
},
|
|
8865
|
+
$a11y: {
|
|
8866
|
+
hidden: true
|
|
8867
|
+
},
|
|
8868
|
+
style: {
|
|
8869
|
+
position: "absolute",
|
|
8870
|
+
inset: 0,
|
|
8871
|
+
width: "100%",
|
|
8872
|
+
height: "100%"
|
|
8873
|
+
}
|
|
8874
|
+
},
|
|
8875
|
+
{
|
|
8876
|
+
part: "more",
|
|
8877
|
+
component: "Box",
|
|
8878
|
+
$if: {
|
|
8879
|
+
$lt: [
|
|
8880
|
+
3,
|
|
8881
|
+
"{len(props.pictures)}"
|
|
8882
|
+
]
|
|
8883
|
+
},
|
|
8884
|
+
$a11y: {
|
|
8885
|
+
hidden: true
|
|
8886
|
+
},
|
|
8887
|
+
style: {
|
|
8888
|
+
position: "absolute",
|
|
8889
|
+
inset: 0,
|
|
8890
|
+
display: "flex",
|
|
8891
|
+
alignItems: "center",
|
|
8892
|
+
justifyContent: "center"
|
|
8893
|
+
},
|
|
8894
|
+
children: [
|
|
8895
|
+
{
|
|
8896
|
+
part: "moreLabel",
|
|
8897
|
+
component: "Text",
|
|
8898
|
+
props: {
|
|
8899
|
+
text: {
|
|
8900
|
+
$fill: [
|
|
8901
|
+
"$string.morePictures",
|
|
8902
|
+
{
|
|
8903
|
+
count: {
|
|
8904
|
+
$sub: [
|
|
8905
|
+
"{len(props.pictures)}",
|
|
8906
|
+
3
|
|
8907
|
+
]
|
|
8908
|
+
}
|
|
8909
|
+
}
|
|
8910
|
+
]
|
|
8911
|
+
},
|
|
8912
|
+
lines: 1
|
|
8913
|
+
}
|
|
8914
|
+
}
|
|
8915
|
+
]
|
|
8916
|
+
}
|
|
8917
|
+
]
|
|
8918
|
+
}
|
|
8919
|
+
]
|
|
8920
|
+
}
|
|
8921
|
+
]
|
|
8922
|
+
}
|
|
8297
8923
|
}
|
|
8298
8924
|
}
|
|
8299
8925
|
};
|
|
@@ -8380,5 +9006,5 @@ function coreLite2() {
|
|
|
8380
9006
|
|
|
8381
9007
|
export { basic_map_default, coreCatalog2, CORE_CATALOG_ID2, CORE_LITE_CATALOG_ID2, A2UI_BASIC_CATALOG_ID2, A2UI_VERSION2, SUPPORTED_CATALOG_IDS2, UNKNOWN_COMPONENT2, coreMacros2, TOKEN_GROUPS2, parseTokenRef2, isKnownToken2, catalogView2, sharedCatalogView2, componentDef2, isOffered2, componentNames2, coreLite2 };
|
|
8382
9008
|
|
|
8383
|
-
//# debugId=
|
|
8384
|
-
//# sourceMappingURL=index-
|
|
9009
|
+
//# debugId=A1A315F6C68A2DA064756E2164756E21
|
|
9010
|
+
//# sourceMappingURL=index-abcjanhc.js.map
|