@wavemaker/foundation-css 11.15.1-rc.248 → 11.15.2-rc.249
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/cjs/foundation-css.cjs +1260 -12
- package/cjs/src_tokens_mobile_components_accordion-pane_accordion-pane_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_accordion_accordion_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_anchor_anchor_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_barcodescanner_barcodescanner_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_bottomsheet_bottomsheet_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_button_button_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_calendar_calendar_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_camera_camera_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_cards_cards_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_carousel_carousel_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_checkboxset_checkboxset_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_chips_chips_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_container_container_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_currency_currency_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_dropdown-menu_dropdown-menu_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_form-controls_form-controls_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_form-wrapper_form-wrapper_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_label_label_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_list_list_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_login_login_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_lottie_lottie_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_message_message_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_modal-dialog_modal-dialog_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_nav_nav_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_navbar_navbar_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_navitem_navitem_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_page-left-nav_page-left-nav_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_panel_panel_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_partial-container_partial-container_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_picture_picture_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_popover_popover_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_progress-bar_progress-bar_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_radioset_radioset_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_rating_rating_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_search_search_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_select_select_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_spinner_spinner_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_switch_switch_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_tabbar_tabbar_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_tabs_tabs_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_tile_tile_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_webview_webview_json.foundation-css.cjs +1 -1
- package/cjs/src_tokens_mobile_components_wizard_wizard_json.foundation-css.cjs +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/native_mobile.index.d.ts +17 -0
- package/native_mobile.index.js +17 -5
- package/native_mobile.index.js.map +1 -1
- package/npm-shrinkwrap.json +95 -117
- package/package-lock.json +95 -117
- package/package.json +13 -4
- package/src/node/index.d.ts +1 -0
- package/src/node/index.js +2 -0
- package/src/node/index.js.map +1 -0
- package/src/styles/mobile/components/advanced/carousel.less +6 -12
- package/src/styles/mobile/components/advanced/login.less +1 -4
- package/src/styles/mobile/components/advanced/webview.less +1 -4
- package/src/styles/mobile/components/basic/anchor.less +2 -2
- package/src/styles/mobile/components/basic/bottomsheet.less +5 -12
- package/src/styles/mobile/components/basic/button.less +3 -12
- package/src/styles/mobile/components/basic/buttongroup.less +3 -12
- package/src/styles/mobile/components/basic/label.less +7 -4
- package/src/styles/mobile/components/basic/lottie.less +7 -4
- package/src/styles/mobile/components/basic/message.less +6 -10
- package/src/styles/mobile/components/basic/picture.less +4 -16
- package/src/styles/mobile/components/basic/progress-bar.less +0 -1
- package/src/styles/mobile/components/basic/search.less +5 -20
- package/src/styles/mobile/components/basic/spinner.less +1 -1
- package/src/styles/mobile/components/container/accordion/accordionpane.less +6 -0
- package/src/styles/mobile/components/container/accordion.less +35 -3
- package/src/styles/mobile/components/container/panel.less +0 -5
- package/src/styles/mobile/components/container/tabs/tab-header.less +14 -3
- package/src/styles/mobile/components/container/tile.less +1 -4
- package/src/styles/mobile/components/container/wizard.less +3 -9
- package/src/styles/mobile/components/container.less +8 -32
- package/src/styles/mobile/components/data/card.less +1 -4
- package/src/styles/mobile/components/data/form.less +143 -37
- package/src/styles/mobile/components/data/list.less +1 -4
- package/src/styles/mobile/components/device/barcodescanner.less +2 -5
- package/src/styles/mobile/components/device/camera.less +1 -4
- package/src/styles/mobile/components/dialogs/dialog.less +17 -4
- package/src/styles/mobile/components/input/calendar.less +46 -38
- package/src/styles/mobile/components/input/checkboxset.less +1 -2
- package/src/styles/mobile/components/input/chips.less +8 -19
- package/src/styles/mobile/components/input/currency.less +14 -17
- package/src/styles/mobile/components/input/radioset.less +1 -2
- package/src/styles/mobile/components/input/rating.less +1 -1
- package/src/styles/mobile/components/input/select.less +26 -64
- package/src/styles/mobile/components/input/switch.less +1 -2
- package/src/styles/mobile/components/input/toggle.less +1 -1
- package/src/styles/mobile/components/navigation/appnavbar.less +11 -15
- package/src/styles/mobile/components/navigation/menu.less +3 -11
- package/src/styles/mobile/components/navigation/popover.less +22 -15
- package/src/styles/mobile/components/page/left-panel.less +0 -1
- package/src/styles/mobile/components/page/partial-container.less +1 -0
- package/src/styles/mobile/components/page/tabbar.less +9 -8
- package/src/styles/mobile/components/tokens.dark.css +25 -9
- package/src/styles/mobile/components/tokens.light.css +198 -241
- package/src/styles/mobile/components/variables/accordion.variant.less +4 -0
- package/src/styles/mobile/components/variables/button.variant.less +19 -79
- package/src/styles/mobile/components/variables/carousel.variant.less +2 -3
- package/src/styles/mobile/components/variables/container.variant.less +6 -24
- package/src/styles/mobile/components/variables/form-controls.variant.less +9 -8
- package/src/styles/mobile/components/variables/picture.variant.less +3 -12
- package/src/styles/mobile/components/variables/tabbar.variant.less +1 -0
- package/src/styles/mobile/components/variables/tabs.variant.less +7 -0
- package/src/styles/mobile/studio/advanced/carousel.less +4 -2
- package/src/styles/mobile/studio/advanced/login.less +1 -4
- package/src/styles/mobile/studio/advanced/webview.less +1 -4
- package/src/styles/mobile/studio/basic/label.less +0 -8
- package/src/styles/mobile/studio/basic/message.less +1 -2
- package/src/styles/mobile/studio/container/accordion.less +1 -4
- package/src/styles/mobile/studio/container/container.less +2 -8
- package/src/styles/mobile/studio/container/tabs.less +10 -2
- package/src/styles/mobile/studio/data/card.less +1 -1
- package/src/styles/mobile/studio/device/barcode.less +2 -8
- package/src/styles/mobile/studio/input/calendar.less +66 -6
- package/src/styles/mobile/studio/input/checkboxset.less +21 -6
- package/src/styles/mobile/studio/input/currency.less +9 -1
- package/src/styles/mobile/studio/input/form.less +10 -40
- package/src/styles/mobile/studio/input/rating.less +1 -1
- package/src/styles/mobile/studio/input/select.less +33 -0
- package/src/styles/mobile/studio/input/toggle.less +3 -2
- package/src/styles/mobile/studio/layouts/tabbar.less +4 -5
- package/src/styles/mobile/studio/navigation/nav.less +0 -17
- package/src/styles/mobile/studio/navigation/popover.less +2 -5
- package/src/token-validation/component-token-schema.d.ts +169 -0
- package/src/token-validation/component-token-schema.js +146 -0
- package/src/token-validation/component-token-schema.js.map +1 -0
- package/src/token-validation/constants.d.ts +41 -0
- package/src/token-validation/constants.js +54 -0
- package/src/token-validation/constants.js.map +1 -0
- package/src/token-validation/global-token-schema.d.ts +37 -0
- package/src/token-validation/global-token-schema.js +41 -0
- package/src/token-validation/global-token-schema.js.map +1 -0
- package/src/token-validation/validate-token.d.ts +72 -0
- package/src/token-validation/validate-token.js +939 -0
- package/src/token-validation/validate-token.js.map +1 -0
- package/src/token-validation/validate-value.d.ts +13 -0
- package/src/token-validation/validate-value.js +57 -0
- package/src/token-validation/validate-value.js.map +1 -0
- package/src/token-validation/validator-utils/common/constants.d.ts +172 -0
- package/src/token-validation/validator-utils/common/constants.js +258 -0
- package/src/token-validation/validator-utils/common/constants.js.map +1 -0
- package/src/token-validation/validator-utils/common/primitives.d.ts +14 -0
- package/src/token-validation/validator-utils/common/primitives.js +35 -0
- package/src/token-validation/validator-utils/common/primitives.js.map +1 -0
- package/src/token-validation/validator-utils/common/utils.d.ts +152 -0
- package/src/token-validation/validator-utils/common/utils.js +316 -0
- package/src/token-validation/validator-utils/common/utils.js.map +1 -0
- package/src/token-validation/validator-utils/native_mobile.d.ts +1 -0
- package/src/token-validation/validator-utils/native_mobile.js +120 -0
- package/src/token-validation/validator-utils/native_mobile.js.map +1 -0
- package/src/token-validation/validator-utils/web.d.ts +1 -0
- package/src/token-validation/validator-utils/web.js +72 -0
- package/src/token-validation/validator-utils/web.js.map +1 -0
- package/src/tokens/mobile/components/accordion/accordion.json +172 -4
- package/src/tokens/mobile/components/accordion-pane/accordion-pane.json +65 -0
- package/src/tokens/mobile/components/anchor/anchor.json +5 -15
- package/src/tokens/mobile/components/barcodescanner/barcodescanner.json +10 -38
- package/src/tokens/mobile/components/bottomsheet/bottomsheet.json +28 -92
- package/src/tokens/mobile/components/button/button.json +24 -121
- package/src/tokens/mobile/components/calendar/calendar.json +262 -158
- package/src/tokens/mobile/components/camera/camera.json +5 -31
- package/src/tokens/mobile/components/cards/cards.json +1 -27
- package/src/tokens/mobile/components/carousel/carousel.json +25 -69
- package/src/tokens/mobile/components/checkboxset/checkboxset.json +6 -16
- package/src/tokens/mobile/components/chips/chips.json +8 -80
- package/src/tokens/mobile/components/container/container.json +22 -158
- package/src/tokens/mobile/components/currency/currency.json +89 -5
- package/src/tokens/mobile/components/dropdown-menu/dropdown-menu.json +15 -87
- package/src/tokens/mobile/components/form-controls/form-controls.json +140 -142
- package/src/tokens/mobile/components/form-wrapper/form-wrapper.json +0 -8
- package/src/tokens/mobile/components/label/label.json +0 -34
- package/src/tokens/mobile/components/list/list.json +5 -31
- package/src/tokens/mobile/components/login/login.json +5 -31
- package/src/tokens/mobile/components/lottie/lottie.json +23 -29
- package/src/tokens/mobile/components/message/message.json +37 -61
- package/src/tokens/mobile/components/modal-dialog/modal-dialog.json +54 -8
- package/src/tokens/mobile/components/nav/nav.json +1 -48
- package/src/tokens/mobile/components/navbar/navbar.json +61 -95
- package/src/tokens/mobile/components/navitem/navitem.json +4 -4
- package/src/tokens/mobile/components/{left-nav/left-nav.json → page-left-nav/page-left-nav.json} +1 -9
- package/src/tokens/mobile/components/panel/panel.json +0 -10
- package/src/tokens/mobile/components/partial-container/partial-container.json +23 -0
- package/src/tokens/mobile/components/picture/picture.json +9 -63
- package/src/tokens/mobile/components/popover/popover.json +105 -97
- package/src/tokens/mobile/components/progress-bar/progress-bar.json +0 -8
- package/src/tokens/mobile/components/radioset/radioset.json +5 -15
- package/src/tokens/mobile/components/rating/rating.json +5 -7
- package/src/tokens/mobile/components/search/search.json +25 -155
- package/src/tokens/mobile/components/select/select.json +223 -165
- package/src/tokens/mobile/components/spinner/spinner.json +5 -7
- package/src/tokens/mobile/components/switch/switch.json +5 -15
- package/src/tokens/mobile/components/tabbar/tabbar.json +48 -54
- package/src/tokens/mobile/components/tabs/tabs.json +113 -5
- package/src/tokens/mobile/components/tile/tile.json +5 -31
- package/src/tokens/mobile/components/webview/webview.json +5 -31
- package/src/tokens/mobile/components/wizard/wizard.json +8 -56
- package/cjs/src_tokens_mobile_components_left-nav_left-nav_json.foundation-css.cjs +0 -14
- package/src/styles/mobile/components/input/epoch/date.less +0 -44
- package/src/styles/mobile/components/input/epoch/datetime.less +0 -38
- package/src/styles/mobile/components/input/epoch/time.less +0 -38
- package/src/styles/mobile/components/input/number.less +0 -40
- package/src/styles/mobile/components/input/text.less +0 -69
- package/src/styles/mobile/components/input/textarea.less +0 -63
- package/src/styles/mobile/components/variables/select.variant.less +0 -3
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export const VALIDATION_RULES = {
|
|
2
|
+
STRUCTURE: "structure", // Enforces component mapping structure via schema (e.g. mapping required)
|
|
3
|
+
METADATA: "metadata", // Enforces token metadata via schema (type + attributes.subtype/description)
|
|
4
|
+
REFERENCES: "references", // Enables reference validation logic (refExists keyword)
|
|
5
|
+
OVERRIDES: "overrides" // Enables override-vs-foundation mapping validation (overrideContext keyword)
|
|
6
|
+
};
|
|
7
|
+
export const ERROR_TYPES = Object.freeze({
|
|
8
|
+
INVALID_REFERENCE: "reference error",
|
|
9
|
+
INVALID_FIELD: "invalid field",
|
|
10
|
+
MISSING_FIELD: "missing field",
|
|
11
|
+
INVALID_VALUE: "invalid value",
|
|
12
|
+
INVALID_STRUCTURE: "invalid structure",
|
|
13
|
+
INVALID_JSON: "invalid json",
|
|
14
|
+
BUILD_ERROR: "build error"
|
|
15
|
+
});
|
|
16
|
+
export const TOKEN_TYPES = Object.freeze({
|
|
17
|
+
GLOBAL: "global",
|
|
18
|
+
COMPONENT: "component"
|
|
19
|
+
});
|
|
20
|
+
export const VALIDATION_SCOPE = Object.freeze({
|
|
21
|
+
FOUNDATION: "foundation",
|
|
22
|
+
PROJECT: "project"
|
|
23
|
+
});
|
|
24
|
+
export const FOLDER_TYPE = Object.freeze({
|
|
25
|
+
WEB: "web",
|
|
26
|
+
MOBILE: "mobile"
|
|
27
|
+
});
|
|
28
|
+
export const TOKEN_VALUE_TYPES = ["color", "radius", "font", "space"];
|
|
29
|
+
//Defines allowed properties for specific JSON paths to produce contextual error messages for invalid structure validations.
|
|
30
|
+
export const ALLOWED_PROPERTIES_BY_CONTEXT = [
|
|
31
|
+
{
|
|
32
|
+
match: path => path && !path.includes("."), // component root
|
|
33
|
+
allowed: ["meta", "mapping", "appearances"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
match: path => path.endsWith(".attributes"),
|
|
37
|
+
allowed: ["subtype", "description"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
match: path => path.endsWith(".appearances"),
|
|
41
|
+
allowed: ["mapping", "states", "variantGroups"]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
match: path => path.endsWith(".states"),
|
|
45
|
+
allowed: null // dynamic state names
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
export const VALUE_RELATED_KEYWORDS = new Set(["type", "enum", "const", "minimum", "maximum", "minLength", "maxLength", "pattern"]);
|
|
49
|
+
export const PLATFORM = {
|
|
50
|
+
WEB: "web",
|
|
51
|
+
MOBILE: "native_mobile",
|
|
52
|
+
BOTH: "both"
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"./","sources":["src/token-validation/constants.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,WAAW,EAAI,0EAA0E;IACpG,QAAQ,EAAE,UAAU,EAAM,6EAA6E;IACvG,UAAU,EAAE,YAAY,EAAE,yDAAyD;IACnF,SAAS,EAAE,WAAW,CAAI,8EAA8E;CACzG,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,iBAAiB,EAAE,iBAAiB;IACpC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAG,aAAa;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,GAAG,EAAG,KAAK;IACX,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtE,4HAA4H;AAC5H,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C;QACE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,iBAAiB;QAC7D,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;KAC5C;IACD;QACE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC3C,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KACpC;IACD;QACE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5C,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC;KAChD;IACD;QACE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,OAAO,EAAE,IAAI,CAAC,sBAAsB;KACrC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAEpI,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAG,KAAK;IACX,MAAM,EAAG,eAAe;IACxB,IAAI,EAAG,MAAM;CACd,CAAA","sourcesContent":["export const VALIDATION_RULES = {\n STRUCTURE: \"structure\", // Enforces component mapping structure via schema (e.g. mapping required)\n METADATA: \"metadata\", // Enforces token metadata via schema (type + attributes.subtype/description)\n REFERENCES: \"references\", // Enables reference validation logic (refExists keyword)\n OVERRIDES: \"overrides\" // Enables override-vs-foundation mapping validation (overrideContext keyword)\n};\n\nexport const ERROR_TYPES = Object.freeze({\n INVALID_REFERENCE: \"reference error\",\n INVALID_FIELD: \"invalid field\",\n MISSING_FIELD: \"missing field\",\n INVALID_VALUE: \"invalid value\",\n INVALID_STRUCTURE: \"invalid structure\",\n INVALID_JSON: \"invalid json\",\n BUILD_ERROR : \"build error\"\n});\n\nexport const TOKEN_TYPES = Object.freeze({\n GLOBAL: \"global\",\n COMPONENT: \"component\"\n});\n\nexport const VALIDATION_SCOPE = Object.freeze({\n FOUNDATION: \"foundation\",\n PROJECT: \"project\"\n});\n\nexport const FOLDER_TYPE = Object.freeze({\n WEB : \"web\",\n MOBILE: \"mobile\"\n})\n\nexport const TOKEN_VALUE_TYPES = [\"color\", \"radius\", \"font\", \"space\"];\n\n//Defines allowed properties for specific JSON paths to produce contextual error messages for invalid structure validations.\nexport const ALLOWED_PROPERTIES_BY_CONTEXT = [\n {\n match: path => path && !path.includes(\".\"), // component root\n allowed: [\"meta\", \"mapping\", \"appearances\"]\n },\n {\n match: path => path.endsWith(\".attributes\"),\n allowed: [\"subtype\", \"description\"]\n },\n {\n match: path => path.endsWith(\".appearances\"),\n allowed: [\"mapping\", \"states\", \"variantGroups\"]\n },\n {\n match: path => path.endsWith(\".states\"),\n allowed: null // dynamic state names\n }\n];\n\nexport const VALUE_RELATED_KEYWORDS = new Set([\"type\", \"enum\", \"const\", \"minimum\", \"maximum\", \"minLength\", \"maxLength\", \"pattern\"]);\n\nexport const PLATFORM = {\n WEB : \"web\",\n MOBILE : \"native_mobile\",\n BOTH : \"both\"\n}\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export default function getGlobalTokenSchema(): {
|
|
2
|
+
$schema: string;
|
|
3
|
+
type: string;
|
|
4
|
+
additionalProperties: {
|
|
5
|
+
$ref: string;
|
|
6
|
+
};
|
|
7
|
+
definitions: {
|
|
8
|
+
globalTokenNode: {
|
|
9
|
+
type: string;
|
|
10
|
+
leafMustHaveValue: boolean;
|
|
11
|
+
properties: {
|
|
12
|
+
value: {
|
|
13
|
+
type: string;
|
|
14
|
+
minLength: number;
|
|
15
|
+
refExists: boolean;
|
|
16
|
+
};
|
|
17
|
+
type: {
|
|
18
|
+
type: string;
|
|
19
|
+
enum: string[];
|
|
20
|
+
};
|
|
21
|
+
attributes: {
|
|
22
|
+
type: string;
|
|
23
|
+
additionalProperties: {
|
|
24
|
+
type: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
meta: {
|
|
28
|
+
type: string;
|
|
29
|
+
additionalProperties: boolean;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
additionalProperties: {
|
|
33
|
+
$ref: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { TOKEN_VALUE_TYPES } from "./constants.js";
|
|
2
|
+
export default function getGlobalTokenSchema() {
|
|
3
|
+
return {
|
|
4
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"$ref": "#/definitions/globalTokenNode"
|
|
8
|
+
},
|
|
9
|
+
"definitions": {
|
|
10
|
+
"globalTokenNode": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"leafMustHaveValue": true,
|
|
13
|
+
"properties": {
|
|
14
|
+
"value": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"refExists": true
|
|
18
|
+
},
|
|
19
|
+
"type": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": TOKEN_VALUE_TYPES
|
|
22
|
+
},
|
|
23
|
+
"attributes": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"additionalProperties": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"meta": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"additionalProperties": true
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"additionalProperties": {
|
|
35
|
+
"$ref": "#/definitions/globalTokenNode"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=global-token-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-token-schema.js","sourceRoot":"./","sources":["src/token-validation/global-token-schema.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC1C,OAAO;QACL,SAAS,EAAE,yCAAyC;QACpD,MAAM,EAAE,QAAQ;QAEhB,sBAAsB,EAAE;YACtB,MAAM,EAAE,+BAA+B;SACxC;QAED,aAAa,EAAE;YACb,iBAAiB,EAAE;gBACjB,MAAM,EAAE,QAAQ;gBAChB,mBAAmB,EAAE,IAAI;gBAEzB,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,MAAM,EAAE,QAAQ;wBAChB,WAAW,EAAE,CAAC;wBACd,WAAW,EAAE,IAAI;qBAClB;oBACD,MAAM,EAAE;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,iBAAiB;qBAC1B;oBAED,YAAY,EAAE;wBACZ,MAAM,EAAE,QAAQ;wBAChB,sBAAsB,EAAE;4BACtB,MAAM,EAAE,QAAQ;yBACjB;qBACF;oBAED,MAAM,EAAE;wBACN,MAAM,EAAE,QAAQ;wBAChB,sBAAsB,EAAE,IAAI;qBAC7B;iBACF;gBAED,sBAAsB,EAAE;oBACtB,MAAM,EAAE,+BAA+B;iBACxC;aACF;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { TOKEN_VALUE_TYPES } from \"./constants.js\";\n\nexport default function getGlobalTokenSchema() {\n return {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"type\": \"object\",\n\n \"additionalProperties\": {\n \"$ref\": \"#/definitions/globalTokenNode\"\n },\n\n \"definitions\": {\n \"globalTokenNode\": {\n \"type\": \"object\",\n \"leafMustHaveValue\": true,\n\n \"properties\": {\n \"value\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"refExists\": true\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": TOKEN_VALUE_TYPES\n },\n\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n },\n\n \"meta\": {\n \"type\": \"object\",\n \"additionalProperties\": true\n }\n },\n\n \"additionalProperties\": {\n \"$ref\": \"#/definitions/globalTokenNode\"\n }\n }\n }\n };\n}"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export class TokenValidator {
|
|
2
|
+
constructor(args: any);
|
|
3
|
+
externalGlobalTokenJsons: any;
|
|
4
|
+
validationErrors: any[];
|
|
5
|
+
ajvEngine: TokenAjvEngine;
|
|
6
|
+
ajv: Ajv;
|
|
7
|
+
platform: any;
|
|
8
|
+
foundationTokensDir: string;
|
|
9
|
+
validateTokenJson({ json, validationConfig, tokenType }: {
|
|
10
|
+
json: any;
|
|
11
|
+
validationConfig?: {} | undefined;
|
|
12
|
+
tokenType: any;
|
|
13
|
+
}): void;
|
|
14
|
+
getValidationErrors(): any[];
|
|
15
|
+
}
|
|
16
|
+
export class TokenFolderValidator {
|
|
17
|
+
constructor(args: any);
|
|
18
|
+
validationScope: any;
|
|
19
|
+
projectOverrideDirs: any;
|
|
20
|
+
validationErrors: any[];
|
|
21
|
+
ajvEngine: TokenAjvEngine;
|
|
22
|
+
ajv: Ajv;
|
|
23
|
+
platform: any;
|
|
24
|
+
foundationTokensDir: string;
|
|
25
|
+
resolvedValidationTargets: ({
|
|
26
|
+
type: "global";
|
|
27
|
+
dir: string;
|
|
28
|
+
} | {
|
|
29
|
+
type: "component";
|
|
30
|
+
dir: string;
|
|
31
|
+
})[];
|
|
32
|
+
createAjvContext(): void;
|
|
33
|
+
isFoundation: boolean | undefined;
|
|
34
|
+
isProject: boolean | undefined;
|
|
35
|
+
resolveValidationTargets(): ({
|
|
36
|
+
type: "global";
|
|
37
|
+
dir: string;
|
|
38
|
+
} | {
|
|
39
|
+
type: "component";
|
|
40
|
+
dir: string;
|
|
41
|
+
})[];
|
|
42
|
+
validateFolder(validationConfig?: {}): void;
|
|
43
|
+
getValidationErrors(): any[];
|
|
44
|
+
resolveProjectOverrideDirs(overridesDir: any): {
|
|
45
|
+
globalDir: string | null;
|
|
46
|
+
componentsDir: string | null;
|
|
47
|
+
};
|
|
48
|
+
validateFile(filePath: any, validate: any): void;
|
|
49
|
+
parseJsonSafely(filePath: any): {
|
|
50
|
+
ok: boolean;
|
|
51
|
+
json: any;
|
|
52
|
+
error?: undefined;
|
|
53
|
+
} | {
|
|
54
|
+
ok: boolean;
|
|
55
|
+
error: unknown;
|
|
56
|
+
json?: undefined;
|
|
57
|
+
};
|
|
58
|
+
traverseAndValidateJsonFiles(dir: any, validate: any, visitedSet?: Set<any>): void;
|
|
59
|
+
/**
|
|
60
|
+
* Generates a Markdown validation report summarizing all errors.
|
|
61
|
+
* Output:
|
|
62
|
+
* - Creates a README-style markdown file listing validation errors in generated folder
|
|
63
|
+
*/
|
|
64
|
+
generateValidationReport(outputDir: any): void;
|
|
65
|
+
}
|
|
66
|
+
declare class TokenAjvEngine {
|
|
67
|
+
validatorEngine: Ajv;
|
|
68
|
+
registerCustomValidations(): void;
|
|
69
|
+
getValidatorEngine(): Ajv;
|
|
70
|
+
}
|
|
71
|
+
import Ajv from "ajv";
|
|
72
|
+
export {};
|