@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.
Files changed (209) hide show
  1. package/cjs/foundation-css.cjs +1260 -12
  2. package/cjs/src_tokens_mobile_components_accordion-pane_accordion-pane_json.foundation-css.cjs +14 -0
  3. package/cjs/src_tokens_mobile_components_accordion_accordion_json.foundation-css.cjs +1 -1
  4. package/cjs/src_tokens_mobile_components_anchor_anchor_json.foundation-css.cjs +1 -1
  5. package/cjs/src_tokens_mobile_components_barcodescanner_barcodescanner_json.foundation-css.cjs +1 -1
  6. package/cjs/src_tokens_mobile_components_bottomsheet_bottomsheet_json.foundation-css.cjs +1 -1
  7. package/cjs/src_tokens_mobile_components_button_button_json.foundation-css.cjs +1 -1
  8. package/cjs/src_tokens_mobile_components_calendar_calendar_json.foundation-css.cjs +1 -1
  9. package/cjs/src_tokens_mobile_components_camera_camera_json.foundation-css.cjs +1 -1
  10. package/cjs/src_tokens_mobile_components_cards_cards_json.foundation-css.cjs +1 -1
  11. package/cjs/src_tokens_mobile_components_carousel_carousel_json.foundation-css.cjs +1 -1
  12. package/cjs/src_tokens_mobile_components_checkboxset_checkboxset_json.foundation-css.cjs +1 -1
  13. package/cjs/src_tokens_mobile_components_chips_chips_json.foundation-css.cjs +1 -1
  14. package/cjs/src_tokens_mobile_components_container_container_json.foundation-css.cjs +1 -1
  15. package/cjs/src_tokens_mobile_components_currency_currency_json.foundation-css.cjs +1 -1
  16. package/cjs/src_tokens_mobile_components_dropdown-menu_dropdown-menu_json.foundation-css.cjs +1 -1
  17. package/cjs/src_tokens_mobile_components_form-controls_form-controls_json.foundation-css.cjs +1 -1
  18. package/cjs/src_tokens_mobile_components_form-wrapper_form-wrapper_json.foundation-css.cjs +1 -1
  19. package/cjs/src_tokens_mobile_components_label_label_json.foundation-css.cjs +1 -1
  20. package/cjs/src_tokens_mobile_components_list_list_json.foundation-css.cjs +1 -1
  21. package/cjs/src_tokens_mobile_components_login_login_json.foundation-css.cjs +1 -1
  22. package/cjs/src_tokens_mobile_components_lottie_lottie_json.foundation-css.cjs +1 -1
  23. package/cjs/src_tokens_mobile_components_message_message_json.foundation-css.cjs +1 -1
  24. package/cjs/src_tokens_mobile_components_modal-dialog_modal-dialog_json.foundation-css.cjs +1 -1
  25. package/cjs/src_tokens_mobile_components_nav_nav_json.foundation-css.cjs +1 -1
  26. package/cjs/src_tokens_mobile_components_navbar_navbar_json.foundation-css.cjs +1 -1
  27. package/cjs/src_tokens_mobile_components_navitem_navitem_json.foundation-css.cjs +1 -1
  28. package/cjs/src_tokens_mobile_components_page-left-nav_page-left-nav_json.foundation-css.cjs +14 -0
  29. package/cjs/src_tokens_mobile_components_panel_panel_json.foundation-css.cjs +1 -1
  30. package/cjs/src_tokens_mobile_components_partial-container_partial-container_json.foundation-css.cjs +14 -0
  31. package/cjs/src_tokens_mobile_components_picture_picture_json.foundation-css.cjs +1 -1
  32. package/cjs/src_tokens_mobile_components_popover_popover_json.foundation-css.cjs +1 -1
  33. package/cjs/src_tokens_mobile_components_progress-bar_progress-bar_json.foundation-css.cjs +1 -1
  34. package/cjs/src_tokens_mobile_components_radioset_radioset_json.foundation-css.cjs +1 -1
  35. package/cjs/src_tokens_mobile_components_rating_rating_json.foundation-css.cjs +1 -1
  36. package/cjs/src_tokens_mobile_components_search_search_json.foundation-css.cjs +1 -1
  37. package/cjs/src_tokens_mobile_components_select_select_json.foundation-css.cjs +1 -1
  38. package/cjs/src_tokens_mobile_components_spinner_spinner_json.foundation-css.cjs +1 -1
  39. package/cjs/src_tokens_mobile_components_switch_switch_json.foundation-css.cjs +1 -1
  40. package/cjs/src_tokens_mobile_components_tabbar_tabbar_json.foundation-css.cjs +1 -1
  41. package/cjs/src_tokens_mobile_components_tabs_tabs_json.foundation-css.cjs +1 -1
  42. package/cjs/src_tokens_mobile_components_tile_tile_json.foundation-css.cjs +1 -1
  43. package/cjs/src_tokens_mobile_components_webview_webview_json.foundation-css.cjs +1 -1
  44. package/cjs/src_tokens_mobile_components_wizard_wizard_json.foundation-css.cjs +1 -1
  45. package/index.d.ts +1 -0
  46. package/index.js +1 -0
  47. package/index.js.map +1 -1
  48. package/native_mobile.index.d.ts +17 -0
  49. package/native_mobile.index.js +17 -5
  50. package/native_mobile.index.js.map +1 -1
  51. package/npm-shrinkwrap.json +95 -117
  52. package/package-lock.json +95 -117
  53. package/package.json +13 -4
  54. package/src/node/index.d.ts +1 -0
  55. package/src/node/index.js +2 -0
  56. package/src/node/index.js.map +1 -0
  57. package/src/styles/mobile/components/advanced/carousel.less +6 -12
  58. package/src/styles/mobile/components/advanced/login.less +1 -4
  59. package/src/styles/mobile/components/advanced/webview.less +1 -4
  60. package/src/styles/mobile/components/basic/anchor.less +2 -2
  61. package/src/styles/mobile/components/basic/bottomsheet.less +5 -12
  62. package/src/styles/mobile/components/basic/button.less +3 -12
  63. package/src/styles/mobile/components/basic/buttongroup.less +3 -12
  64. package/src/styles/mobile/components/basic/label.less +7 -4
  65. package/src/styles/mobile/components/basic/lottie.less +7 -4
  66. package/src/styles/mobile/components/basic/message.less +6 -10
  67. package/src/styles/mobile/components/basic/picture.less +4 -16
  68. package/src/styles/mobile/components/basic/progress-bar.less +0 -1
  69. package/src/styles/mobile/components/basic/search.less +5 -20
  70. package/src/styles/mobile/components/basic/spinner.less +1 -1
  71. package/src/styles/mobile/components/container/accordion/accordionpane.less +6 -0
  72. package/src/styles/mobile/components/container/accordion.less +35 -3
  73. package/src/styles/mobile/components/container/panel.less +0 -5
  74. package/src/styles/mobile/components/container/tabs/tab-header.less +14 -3
  75. package/src/styles/mobile/components/container/tile.less +1 -4
  76. package/src/styles/mobile/components/container/wizard.less +3 -9
  77. package/src/styles/mobile/components/container.less +8 -32
  78. package/src/styles/mobile/components/data/card.less +1 -4
  79. package/src/styles/mobile/components/data/form.less +143 -37
  80. package/src/styles/mobile/components/data/list.less +1 -4
  81. package/src/styles/mobile/components/device/barcodescanner.less +2 -5
  82. package/src/styles/mobile/components/device/camera.less +1 -4
  83. package/src/styles/mobile/components/dialogs/dialog.less +17 -4
  84. package/src/styles/mobile/components/input/calendar.less +46 -38
  85. package/src/styles/mobile/components/input/checkboxset.less +1 -2
  86. package/src/styles/mobile/components/input/chips.less +8 -19
  87. package/src/styles/mobile/components/input/currency.less +14 -17
  88. package/src/styles/mobile/components/input/radioset.less +1 -2
  89. package/src/styles/mobile/components/input/rating.less +1 -1
  90. package/src/styles/mobile/components/input/select.less +26 -64
  91. package/src/styles/mobile/components/input/switch.less +1 -2
  92. package/src/styles/mobile/components/input/toggle.less +1 -1
  93. package/src/styles/mobile/components/navigation/appnavbar.less +11 -15
  94. package/src/styles/mobile/components/navigation/menu.less +3 -11
  95. package/src/styles/mobile/components/navigation/popover.less +22 -15
  96. package/src/styles/mobile/components/page/left-panel.less +0 -1
  97. package/src/styles/mobile/components/page/partial-container.less +1 -0
  98. package/src/styles/mobile/components/page/tabbar.less +9 -8
  99. package/src/styles/mobile/components/tokens.dark.css +25 -9
  100. package/src/styles/mobile/components/tokens.light.css +198 -241
  101. package/src/styles/mobile/components/variables/accordion.variant.less +4 -0
  102. package/src/styles/mobile/components/variables/button.variant.less +19 -79
  103. package/src/styles/mobile/components/variables/carousel.variant.less +2 -3
  104. package/src/styles/mobile/components/variables/container.variant.less +6 -24
  105. package/src/styles/mobile/components/variables/form-controls.variant.less +9 -8
  106. package/src/styles/mobile/components/variables/picture.variant.less +3 -12
  107. package/src/styles/mobile/components/variables/tabbar.variant.less +1 -0
  108. package/src/styles/mobile/components/variables/tabs.variant.less +7 -0
  109. package/src/styles/mobile/studio/advanced/carousel.less +4 -2
  110. package/src/styles/mobile/studio/advanced/login.less +1 -4
  111. package/src/styles/mobile/studio/advanced/webview.less +1 -4
  112. package/src/styles/mobile/studio/basic/label.less +0 -8
  113. package/src/styles/mobile/studio/basic/message.less +1 -2
  114. package/src/styles/mobile/studio/container/accordion.less +1 -4
  115. package/src/styles/mobile/studio/container/container.less +2 -8
  116. package/src/styles/mobile/studio/container/tabs.less +10 -2
  117. package/src/styles/mobile/studio/data/card.less +1 -1
  118. package/src/styles/mobile/studio/device/barcode.less +2 -8
  119. package/src/styles/mobile/studio/input/calendar.less +66 -6
  120. package/src/styles/mobile/studio/input/checkboxset.less +21 -6
  121. package/src/styles/mobile/studio/input/currency.less +9 -1
  122. package/src/styles/mobile/studio/input/form.less +10 -40
  123. package/src/styles/mobile/studio/input/rating.less +1 -1
  124. package/src/styles/mobile/studio/input/select.less +33 -0
  125. package/src/styles/mobile/studio/input/toggle.less +3 -2
  126. package/src/styles/mobile/studio/layouts/tabbar.less +4 -5
  127. package/src/styles/mobile/studio/navigation/nav.less +0 -17
  128. package/src/styles/mobile/studio/navigation/popover.less +2 -5
  129. package/src/token-validation/component-token-schema.d.ts +169 -0
  130. package/src/token-validation/component-token-schema.js +146 -0
  131. package/src/token-validation/component-token-schema.js.map +1 -0
  132. package/src/token-validation/constants.d.ts +41 -0
  133. package/src/token-validation/constants.js +54 -0
  134. package/src/token-validation/constants.js.map +1 -0
  135. package/src/token-validation/global-token-schema.d.ts +37 -0
  136. package/src/token-validation/global-token-schema.js +41 -0
  137. package/src/token-validation/global-token-schema.js.map +1 -0
  138. package/src/token-validation/validate-token.d.ts +72 -0
  139. package/src/token-validation/validate-token.js +939 -0
  140. package/src/token-validation/validate-token.js.map +1 -0
  141. package/src/token-validation/validate-value.d.ts +13 -0
  142. package/src/token-validation/validate-value.js +57 -0
  143. package/src/token-validation/validate-value.js.map +1 -0
  144. package/src/token-validation/validator-utils/common/constants.d.ts +172 -0
  145. package/src/token-validation/validator-utils/common/constants.js +258 -0
  146. package/src/token-validation/validator-utils/common/constants.js.map +1 -0
  147. package/src/token-validation/validator-utils/common/primitives.d.ts +14 -0
  148. package/src/token-validation/validator-utils/common/primitives.js +35 -0
  149. package/src/token-validation/validator-utils/common/primitives.js.map +1 -0
  150. package/src/token-validation/validator-utils/common/utils.d.ts +152 -0
  151. package/src/token-validation/validator-utils/common/utils.js +316 -0
  152. package/src/token-validation/validator-utils/common/utils.js.map +1 -0
  153. package/src/token-validation/validator-utils/native_mobile.d.ts +1 -0
  154. package/src/token-validation/validator-utils/native_mobile.js +120 -0
  155. package/src/token-validation/validator-utils/native_mobile.js.map +1 -0
  156. package/src/token-validation/validator-utils/web.d.ts +1 -0
  157. package/src/token-validation/validator-utils/web.js +72 -0
  158. package/src/token-validation/validator-utils/web.js.map +1 -0
  159. package/src/tokens/mobile/components/accordion/accordion.json +172 -4
  160. package/src/tokens/mobile/components/accordion-pane/accordion-pane.json +65 -0
  161. package/src/tokens/mobile/components/anchor/anchor.json +5 -15
  162. package/src/tokens/mobile/components/barcodescanner/barcodescanner.json +10 -38
  163. package/src/tokens/mobile/components/bottomsheet/bottomsheet.json +28 -92
  164. package/src/tokens/mobile/components/button/button.json +24 -121
  165. package/src/tokens/mobile/components/calendar/calendar.json +262 -158
  166. package/src/tokens/mobile/components/camera/camera.json +5 -31
  167. package/src/tokens/mobile/components/cards/cards.json +1 -27
  168. package/src/tokens/mobile/components/carousel/carousel.json +25 -69
  169. package/src/tokens/mobile/components/checkboxset/checkboxset.json +6 -16
  170. package/src/tokens/mobile/components/chips/chips.json +8 -80
  171. package/src/tokens/mobile/components/container/container.json +22 -158
  172. package/src/tokens/mobile/components/currency/currency.json +89 -5
  173. package/src/tokens/mobile/components/dropdown-menu/dropdown-menu.json +15 -87
  174. package/src/tokens/mobile/components/form-controls/form-controls.json +140 -142
  175. package/src/tokens/mobile/components/form-wrapper/form-wrapper.json +0 -8
  176. package/src/tokens/mobile/components/label/label.json +0 -34
  177. package/src/tokens/mobile/components/list/list.json +5 -31
  178. package/src/tokens/mobile/components/login/login.json +5 -31
  179. package/src/tokens/mobile/components/lottie/lottie.json +23 -29
  180. package/src/tokens/mobile/components/message/message.json +37 -61
  181. package/src/tokens/mobile/components/modal-dialog/modal-dialog.json +54 -8
  182. package/src/tokens/mobile/components/nav/nav.json +1 -48
  183. package/src/tokens/mobile/components/navbar/navbar.json +61 -95
  184. package/src/tokens/mobile/components/navitem/navitem.json +4 -4
  185. package/src/tokens/mobile/components/{left-nav/left-nav.json → page-left-nav/page-left-nav.json} +1 -9
  186. package/src/tokens/mobile/components/panel/panel.json +0 -10
  187. package/src/tokens/mobile/components/partial-container/partial-container.json +23 -0
  188. package/src/tokens/mobile/components/picture/picture.json +9 -63
  189. package/src/tokens/mobile/components/popover/popover.json +105 -97
  190. package/src/tokens/mobile/components/progress-bar/progress-bar.json +0 -8
  191. package/src/tokens/mobile/components/radioset/radioset.json +5 -15
  192. package/src/tokens/mobile/components/rating/rating.json +5 -7
  193. package/src/tokens/mobile/components/search/search.json +25 -155
  194. package/src/tokens/mobile/components/select/select.json +223 -165
  195. package/src/tokens/mobile/components/spinner/spinner.json +5 -7
  196. package/src/tokens/mobile/components/switch/switch.json +5 -15
  197. package/src/tokens/mobile/components/tabbar/tabbar.json +48 -54
  198. package/src/tokens/mobile/components/tabs/tabs.json +113 -5
  199. package/src/tokens/mobile/components/tile/tile.json +5 -31
  200. package/src/tokens/mobile/components/webview/webview.json +5 -31
  201. package/src/tokens/mobile/components/wizard/wizard.json +8 -56
  202. package/cjs/src_tokens_mobile_components_left-nav_left-nav_json.foundation-css.cjs +0 -14
  203. package/src/styles/mobile/components/input/epoch/date.less +0 -44
  204. package/src/styles/mobile/components/input/epoch/datetime.less +0 -38
  205. package/src/styles/mobile/components/input/epoch/time.less +0 -38
  206. package/src/styles/mobile/components/input/number.less +0 -40
  207. package/src/styles/mobile/components/input/text.less +0 -69
  208. package/src/styles/mobile/components/input/textarea.less +0 -63
  209. 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 {};