@vectoriox/iox-builder 4.32.0 → 4.32.2
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.
|
@@ -920,6 +920,9 @@ var PanelEventTypes;
|
|
|
920
920
|
/** Insert prebuilt node(s) as GLOBAL elements (data = ComponentNode[]) — the consent preset's
|
|
921
921
|
* path (D-C5: site-wide by construction). Mirrors the MakeGlobal toolbar action. */
|
|
922
922
|
PanelEventTypes["INSERT_GLOBAL"] = "insertglobal";
|
|
923
|
+
/** A click on a compound component's PART (Field label/control/help/…) — the style panel
|
|
924
|
+
* activates that part (data = { part }). Doron 2026-10-10: "both shall be selectable". */
|
|
925
|
+
PanelEventTypes["PART_SELECT"] = "partselect";
|
|
923
926
|
/** A panel wants to select a NODE it already has a reference to (e.g. the Form's nested field
|
|
924
927
|
* list). Carries `{ node }`. `OverlayService.setSelect()` alone only updates the overlay's own
|
|
925
928
|
* visual state — `selectedItem`/`selectedPath` (breadcrumb) and every other panel's idea of
|
|
@@ -10075,18 +10078,6 @@ const QUIET = {
|
|
|
10075
10078
|
backgroundColor: 'transparent', color: TOKEN$1('inkMuted', '#4a453f'),
|
|
10076
10079
|
fontSize: '11px', fontWeight: '400', padding: '2px 4px', textDecoration: 'underline',
|
|
10077
10080
|
};
|
|
10078
|
-
const SMALL_ALLOW = {
|
|
10079
|
-
backgroundColor: 'transparent', color: TOKEN$1('ink', '#1f1d1b'),
|
|
10080
|
-
borderWidth: '1px', borderStyle: 'solid', borderColor: TOKEN$1('ink', '#1f1d1b'),
|
|
10081
|
-
fontSize: '11px', fontWeight: '600', padding: '5px 10px',
|
|
10082
|
-
borderRadius: TOKEN$1('radius-control', '4px'),
|
|
10083
|
-
};
|
|
10084
|
-
const SMALL_REFUSE = {
|
|
10085
|
-
backgroundColor: 'transparent', color: TOKEN$1('inkMuted', '#6b6560'),
|
|
10086
|
-
borderWidth: '1px', borderStyle: 'solid', borderColor: TOKEN$1('line', '#d8d4d1'),
|
|
10087
|
-
fontSize: '11px', fontWeight: '600', padding: '5px 10px',
|
|
10088
|
-
borderRadius: TOKEN$1('radius-control', '4px'),
|
|
10089
|
-
};
|
|
10090
10081
|
function row(createConfig, styles, children) {
|
|
10091
10082
|
const container = createConfig('Container');
|
|
10092
10083
|
if (!container || children.some(c => !c))
|
|
@@ -10166,15 +10157,19 @@ function buildConsentPreset(createConfig) {
|
|
|
10166
10157
|
textColOf('Necessary', 'Keeps the site working: your session, your language, this very choice. Always on.'),
|
|
10167
10158
|
alwaysOn,
|
|
10168
10159
|
]);
|
|
10160
|
+
// Board C2's switches, for real: a Field in switch clothing whose NAME carries the
|
|
10161
|
+
// category ('consent-<category>') — the engine's consent runtime binds checked-state to
|
|
10162
|
+
// the decision and records on change. State lives in the cookie, never in the tree.
|
|
10169
10163
|
const categoryCard = (category, name, desc) => {
|
|
10170
|
-
const
|
|
10171
|
-
|
|
10172
|
-
|
|
10173
|
-
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
|
|
10177
|
-
|
|
10164
|
+
const sw = createConfig('Field');
|
|
10165
|
+
if (!sw)
|
|
10166
|
+
return null;
|
|
10167
|
+
setTrait(sw, 'label', name);
|
|
10168
|
+
setTrait(sw, 'labelHidden', true); // the card's own texts carry the words
|
|
10169
|
+
setTrait(sw, 'control', 'switch');
|
|
10170
|
+
setTrait(sw, 'name', `consent-${category}`);
|
|
10171
|
+
setStyleTrait(sw, 'width', 'auto');
|
|
10172
|
+
return row(createConfig, CARD, [textColOf(name, desc), sw]);
|
|
10178
10173
|
};
|
|
10179
10174
|
const analyticsCard = categoryCard('analytics', 'Analytics', 'Anonymous counts of visits and pages. Off means the analytics script never loads.');
|
|
10180
10175
|
const marketingCard = categoryCard('marketing', 'Marketing', 'Ads measurement and remarketing. Off means no ad cookies and no data shared.');
|