@wavemaker-ai/react-codegen 1.0.0-next.27766

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 (400) hide show
  1. package/build-react-web.js +149 -0
  2. package/build-react-web.js.map +1 -0
  3. package/command.js +106 -0
  4. package/command.js.map +1 -0
  5. package/dist/transpiler/index.d.mts +77 -0
  6. package/dist/transpiler/index.mjs +48241 -0
  7. package/dist/transpiler/index.mjs.map +1 -0
  8. package/dist/transpiler/wm-styles.css +1617 -0
  9. package/index.js +122 -0
  10. package/index.js.map +1 -0
  11. package/package-lock.json +5233 -0
  12. package/package.json +104 -0
  13. package/src/app.generator.js +1291 -0
  14. package/src/app.generator.js.map +1 -0
  15. package/src/download-packages.js +193 -0
  16. package/src/download-packages.js.map +1 -0
  17. package/src/fomatter.js +20 -0
  18. package/src/fomatter.js.map +1 -0
  19. package/src/gen-app-override-css.js +379 -0
  20. package/src/gen-app-override-css.js.map +1 -0
  21. package/src/genappoverridecssold-file.js +311 -0
  22. package/src/genappoverridecssold-file.js.map +1 -0
  23. package/src/handlebar-helpers.js +51 -0
  24. package/src/handlebar-helpers.js.map +1 -0
  25. package/src/increment-builder.js +85 -0
  26. package/src/increment-builder.js.map +1 -0
  27. package/src/profiles/profile.js +24 -0
  28. package/src/profiles/profile.js.map +1 -0
  29. package/src/profiles/web-preview.profile.js +15 -0
  30. package/src/profiles/web-preview.profile.js.map +1 -0
  31. package/src/project.service.js +314 -0
  32. package/src/project.service.js.map +1 -0
  33. package/src/transpile/bind.ex.transformer.js +257 -0
  34. package/src/transpile/bind.ex.transformer.js.map +1 -0
  35. package/src/transpile/class-expression.util.js +44 -0
  36. package/src/transpile/class-expression.util.js.map +1 -0
  37. package/src/transpile/components/advanced/carousel-template.transformer.js +16 -0
  38. package/src/transpile/components/advanced/carousel-template.transformer.js.map +1 -0
  39. package/src/transpile/components/advanced/carousel.transformer.js +54 -0
  40. package/src/transpile/components/advanced/carousel.transformer.js.map +1 -0
  41. package/src/transpile/components/advanced/login.transformer.js +25 -0
  42. package/src/transpile/components/advanced/login.transformer.js.map +1 -0
  43. package/src/transpile/components/advanced/marquee.transformer.js +16 -0
  44. package/src/transpile/components/advanced/marquee.transformer.js.map +1 -0
  45. package/src/transpile/components/basic/anchor.transformer.js +13 -0
  46. package/src/transpile/components/basic/anchor.transformer.js.map +1 -0
  47. package/src/transpile/components/basic/audio.transformer.js +16 -0
  48. package/src/transpile/components/basic/audio.transformer.js.map +1 -0
  49. package/src/transpile/components/basic/html.transformer.js +15 -0
  50. package/src/transpile/components/basic/html.transformer.js.map +1 -0
  51. package/src/transpile/components/basic/icon.transformer.js +16 -0
  52. package/src/transpile/components/basic/icon.transformer.js.map +1 -0
  53. package/src/transpile/components/basic/iframe.transformer.js +16 -0
  54. package/src/transpile/components/basic/iframe.transformer.js.map +1 -0
  55. package/src/transpile/components/basic/label.transformer.js +16 -0
  56. package/src/transpile/components/basic/label.transformer.js.map +1 -0
  57. package/src/transpile/components/basic/message.transformer.js +16 -0
  58. package/src/transpile/components/basic/message.transformer.js.map +1 -0
  59. package/src/transpile/components/basic/picture.transformer.js +22 -0
  60. package/src/transpile/components/basic/picture.transformer.js.map +1 -0
  61. package/src/transpile/components/basic/progress-bar.transformer.js +18 -0
  62. package/src/transpile/components/basic/progress-bar.transformer.js.map +1 -0
  63. package/src/transpile/components/basic/progress-circle.transformer.js +16 -0
  64. package/src/transpile/components/basic/progress-circle.transformer.js.map +1 -0
  65. package/src/transpile/components/basic/richtexteditor.transformer.js +21 -0
  66. package/src/transpile/components/basic/richtexteditor.transformer.js.map +1 -0
  67. package/src/transpile/components/basic/search.transformer.js +68 -0
  68. package/src/transpile/components/basic/search.transformer.js.map +1 -0
  69. package/src/transpile/components/basic/spinner.transformer.js +16 -0
  70. package/src/transpile/components/basic/spinner.transformer.js.map +1 -0
  71. package/src/transpile/components/basic/tree.transformer.js +16 -0
  72. package/src/transpile/components/basic/tree.transformer.js.map +1 -0
  73. package/src/transpile/components/basic/video.transformer.js +16 -0
  74. package/src/transpile/components/basic/video.transformer.js.map +1 -0
  75. package/src/transpile/components/chart/chart.transformer.js +13 -0
  76. package/src/transpile/components/chart/chart.transformer.js.map +1 -0
  77. package/src/transpile/components/container/accordion-pane.transformer.js +28 -0
  78. package/src/transpile/components/container/accordion-pane.transformer.js.map +1 -0
  79. package/src/transpile/components/container/accordion.transformer.js +48 -0
  80. package/src/transpile/components/container/accordion.transformer.js.map +1 -0
  81. package/src/transpile/components/container/container.transformer.js +25 -0
  82. package/src/transpile/components/container/container.transformer.js.map +1 -0
  83. package/src/transpile/components/container/layout-grid/grid-column.transformer.js +16 -0
  84. package/src/transpile/components/container/layout-grid/grid-column.transformer.js.map +1 -0
  85. package/src/transpile/components/container/layout-grid/grid-row.transformer.js +16 -0
  86. package/src/transpile/components/container/layout-grid/grid-row.transformer.js.map +1 -0
  87. package/src/transpile/components/container/layout-grid/grid.transformer.js +16 -0
  88. package/src/transpile/components/container/layout-grid/grid.transformer.js.map +1 -0
  89. package/src/transpile/components/container/linear-layout/linear-layout-item.js +16 -0
  90. package/src/transpile/components/container/linear-layout/linear-layout-item.js.map +1 -0
  91. package/src/transpile/components/container/linear-layout/linear-layout.js +16 -0
  92. package/src/transpile/components/container/linear-layout/linear-layout.js.map +1 -0
  93. package/src/transpile/components/container/panel-content.transformer.js +16 -0
  94. package/src/transpile/components/container/panel-content.transformer.js.map +1 -0
  95. package/src/transpile/components/container/panel-footer.transformer.js +11 -0
  96. package/src/transpile/components/container/panel-footer.transformer.js.map +1 -0
  97. package/src/transpile/components/container/panel.transformer.js +20 -0
  98. package/src/transpile/components/container/panel.transformer.js.map +1 -0
  99. package/src/transpile/components/container/repeat-template.transformer.js +16 -0
  100. package/src/transpile/components/container/repeat-template.transformer.js.map +1 -0
  101. package/src/transpile/components/container/tabheader.transformer.js +13 -0
  102. package/src/transpile/components/container/tabheader.transformer.js.map +1 -0
  103. package/src/transpile/components/container/tabpane.transformer.js +32 -0
  104. package/src/transpile/components/container/tabpane.transformer.js.map +1 -0
  105. package/src/transpile/components/container/tabs.transformer.js +71 -0
  106. package/src/transpile/components/container/tabs.transformer.js.map +1 -0
  107. package/src/transpile/components/container/tile.transformer.js +16 -0
  108. package/src/transpile/components/container/tile.transformer.js.map +1 -0
  109. package/src/transpile/components/container/wizard.transformer.js +80 -0
  110. package/src/transpile/components/container/wizard.transformer.js.map +1 -0
  111. package/src/transpile/components/container/wizardaction.transformer.js +121 -0
  112. package/src/transpile/components/container/wizardaction.transformer.js.map +1 -0
  113. package/src/transpile/components/container/wizardstep.transformer.js +67 -0
  114. package/src/transpile/components/container/wizardstep.transformer.js.map +1 -0
  115. package/src/transpile/components/data/card/card-actions.transformer.js +13 -0
  116. package/src/transpile/components/data/card/card-actions.transformer.js.map +1 -0
  117. package/src/transpile/components/data/card/card-content.transformer.js +17 -0
  118. package/src/transpile/components/data/card/card-content.transformer.js.map +1 -0
  119. package/src/transpile/components/data/card/card-footer.transformer.js +13 -0
  120. package/src/transpile/components/data/card/card-footer.transformer.js.map +1 -0
  121. package/src/transpile/components/data/card/card.transformer.js +13 -0
  122. package/src/transpile/components/data/card/card.transformer.js.map +1 -0
  123. package/src/transpile/components/data/form/dynamic-fields.transformer.js +24 -0
  124. package/src/transpile/components/data/form/dynamic-fields.transformer.js.map +1 -0
  125. package/src/transpile/components/data/form/field-widget-shared.js +9 -0
  126. package/src/transpile/components/data/form/field-widget-shared.js.map +1 -0
  127. package/src/transpile/components/data/form/form-action.transformer.js +150 -0
  128. package/src/transpile/components/data/form/form-action.transformer.js.map +1 -0
  129. package/src/transpile/components/data/form/form-body.transformer.js +16 -0
  130. package/src/transpile/components/data/form/form-body.transformer.js.map +1 -0
  131. package/src/transpile/components/data/form/form-field.transformer.js +443 -0
  132. package/src/transpile/components/data/form/form-field.transformer.js.map +1 -0
  133. package/src/transpile/components/data/form/form-footer.transformer.js +16 -0
  134. package/src/transpile/components/data/form/form-footer.transformer.js.map +1 -0
  135. package/src/transpile/components/data/form/form.transformer.js +166 -0
  136. package/src/transpile/components/data/form/form.transformer.js.map +1 -0
  137. package/src/transpile/components/data/form/util.js +70 -0
  138. package/src/transpile/components/data/form/util.js.map +1 -0
  139. package/src/transpile/components/data/list/list-content.transformer.js +35 -0
  140. package/src/transpile/components/data/list/list-content.transformer.js.map +1 -0
  141. package/src/transpile/components/data/list/list-template-transformer.js +22 -0
  142. package/src/transpile/components/data/list/list-template-transformer.js.map +1 -0
  143. package/src/transpile/components/data/list/list-transformer.js +294 -0
  144. package/src/transpile/components/data/list/list-transformer.js.map +1 -0
  145. package/src/transpile/components/data/live-filter-field.transformer.js +435 -0
  146. package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -0
  147. package/src/transpile/components/data/live-form-shared.js +135 -0
  148. package/src/transpile/components/data/live-form-shared.js.map +1 -0
  149. package/src/transpile/components/data/livefilter.transformer.js +20 -0
  150. package/src/transpile/components/data/livefilter.transformer.js.map +1 -0
  151. package/src/transpile/components/data/liveform.transformer.js +40 -0
  152. package/src/transpile/components/data/liveform.transformer.js.map +1 -0
  153. package/src/transpile/components/data/table/live-table.transformer.js +15 -0
  154. package/src/transpile/components/data/table/live-table.transformer.js.map +1 -0
  155. package/src/transpile/components/data/table/table-action.transformer.js +29 -0
  156. package/src/transpile/components/data/table/table-action.transformer.js.map +1 -0
  157. package/src/transpile/components/data/table/table-column.transformer.js +124 -0
  158. package/src/transpile/components/data/table/table-column.transformer.js.map +1 -0
  159. package/src/transpile/components/data/table/table-group.transformer.js +16 -0
  160. package/src/transpile/components/data/table/table-group.transformer.js.map +1 -0
  161. package/src/transpile/components/data/table/table-row-action.transformer.js +34 -0
  162. package/src/transpile/components/data/table/table-row-action.transformer.js.map +1 -0
  163. package/src/transpile/components/data/table/table-row.transformer.js +37 -0
  164. package/src/transpile/components/data/table/table-row.transformer.js.map +1 -0
  165. package/src/transpile/components/data/table/table.transformer.js +77 -0
  166. package/src/transpile/components/data/table/table.transformer.js.map +1 -0
  167. package/src/transpile/components/data/table/utils.js +229 -0
  168. package/src/transpile/components/data/table/utils.js.map +1 -0
  169. package/src/transpile/components/dialogs/alert-dialog.transformer.js +8 -0
  170. package/src/transpile/components/dialogs/alert-dialog.transformer.js.map +1 -0
  171. package/src/transpile/components/dialogs/confirm-dialog.transformer.js +8 -0
  172. package/src/transpile/components/dialogs/confirm-dialog.transformer.js.map +1 -0
  173. package/src/transpile/components/dialogs/dialog-actions.transformer.js +56 -0
  174. package/src/transpile/components/dialogs/dialog-actions.transformer.js.map +1 -0
  175. package/src/transpile/components/dialogs/dialog-body.transformer.js +13 -0
  176. package/src/transpile/components/dialogs/dialog-body.transformer.js.map +1 -0
  177. package/src/transpile/components/dialogs/dialog-factory.js +18 -0
  178. package/src/transpile/components/dialogs/dialog-factory.js.map +1 -0
  179. package/src/transpile/components/dialogs/dialog.transformer.js +26 -0
  180. package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -0
  181. package/src/transpile/components/dialogs/iframe-dialog.transformer.js +8 -0
  182. package/src/transpile/components/dialogs/iframe-dialog.transformer.js.map +1 -0
  183. package/src/transpile/components/dialogs/login-dialog.transformer.js +44 -0
  184. package/src/transpile/components/dialogs/login-dialog.transformer.js.map +1 -0
  185. package/src/transpile/components/dialogs/page-dialog.transformer.js +16 -0
  186. package/src/transpile/components/dialogs/page-dialog.transformer.js.map +1 -0
  187. package/src/transpile/components/element/html-transformer.js +9 -0
  188. package/src/transpile/components/element/html-transformer.js.map +1 -0
  189. package/src/transpile/components/form/button-group.transformer.js +16 -0
  190. package/src/transpile/components/form/button-group.transformer.js.map +1 -0
  191. package/src/transpile/components/form/button.transformer.js +27 -0
  192. package/src/transpile/components/form/button.transformer.js.map +1 -0
  193. package/src/transpile/components/form/rating.transformer.js +19 -0
  194. package/src/transpile/components/form/rating.transformer.js.map +1 -0
  195. package/src/transpile/components/input/calendar.transformer.js +13 -0
  196. package/src/transpile/components/input/calendar.transformer.js.map +1 -0
  197. package/src/transpile/components/input/checkbox-set.transformer.js +29 -0
  198. package/src/transpile/components/input/checkbox-set.transformer.js.map +1 -0
  199. package/src/transpile/components/input/checkbox.transformer.js +47 -0
  200. package/src/transpile/components/input/checkbox.transformer.js.map +1 -0
  201. package/src/transpile/components/input/chips.transformer.js +23 -0
  202. package/src/transpile/components/input/chips.transformer.js.map +1 -0
  203. package/src/transpile/components/input/color-picker.transformer.js +19 -0
  204. package/src/transpile/components/input/color-picker.transformer.js.map +1 -0
  205. package/src/transpile/components/input/composite.transformer.js +16 -0
  206. package/src/transpile/components/input/composite.transformer.js.map +1 -0
  207. package/src/transpile/components/input/currency.transformer.js +21 -0
  208. package/src/transpile/components/input/currency.transformer.js.map +1 -0
  209. package/src/transpile/components/input/epoch/date.transformer.js +16 -0
  210. package/src/transpile/components/input/epoch/date.transformer.js.map +1 -0
  211. package/src/transpile/components/input/epoch/datetime.transformer.js +16 -0
  212. package/src/transpile/components/input/epoch/datetime.transformer.js.map +1 -0
  213. package/src/transpile/components/input/epoch/time.transformer.js +16 -0
  214. package/src/transpile/components/input/epoch/time.transformer.js.map +1 -0
  215. package/src/transpile/components/input/file-upload.transformer.js +32 -0
  216. package/src/transpile/components/input/file-upload.transformer.js.map +1 -0
  217. package/src/transpile/components/input/number.transformer.js +20 -0
  218. package/src/transpile/components/input/number.transformer.js.map +1 -0
  219. package/src/transpile/components/input/radio-set.transformer.js +25 -0
  220. package/src/transpile/components/input/radio-set.transformer.js.map +1 -0
  221. package/src/transpile/components/input/rating.transformer.js +20 -0
  222. package/src/transpile/components/input/rating.transformer.js.map +1 -0
  223. package/src/transpile/components/input/select.transformer.js +57 -0
  224. package/src/transpile/components/input/select.transformer.js.map +1 -0
  225. package/src/transpile/components/input/slider.transformer.js +28 -0
  226. package/src/transpile/components/input/slider.transformer.js.map +1 -0
  227. package/src/transpile/components/input/switch.transformer.js +21 -0
  228. package/src/transpile/components/input/switch.transformer.js.map +1 -0
  229. package/src/transpile/components/input/text.transformer.js +21 -0
  230. package/src/transpile/components/input/text.transformer.js.map +1 -0
  231. package/src/transpile/components/input/textarea.transformer.js +19 -0
  232. package/src/transpile/components/input/textarea.transformer.js.map +1 -0
  233. package/src/transpile/components/input/upload.transformer.js +19 -0
  234. package/src/transpile/components/input/upload.transformer.js.map +1 -0
  235. package/src/transpile/components/layout/footer.transformer.js +10 -0
  236. package/src/transpile/components/layout/footer.transformer.js.map +1 -0
  237. package/src/transpile/components/layout/header.transformer.js +10 -0
  238. package/src/transpile/components/layout/header.transformer.js.map +1 -0
  239. package/src/transpile/components/layout/layout-region-factory.js +46 -0
  240. package/src/transpile/components/layout/layout-region-factory.js.map +1 -0
  241. package/src/transpile/components/layout/leftnav.transformer.js +10 -0
  242. package/src/transpile/components/layout/leftnav.transformer.js.map +1 -0
  243. package/src/transpile/components/layout/rightnav.transformer.js +10 -0
  244. package/src/transpile/components/layout/rightnav.transformer.js.map +1 -0
  245. package/src/transpile/components/layout/topnav.transformer.js +10 -0
  246. package/src/transpile/components/layout/topnav.transformer.js.map +1 -0
  247. package/src/transpile/components/nav/nav-item.transformer.js +24 -0
  248. package/src/transpile/components/nav/nav-item.transformer.js.map +1 -0
  249. package/src/transpile/components/nav/nav.transformer.js +68 -0
  250. package/src/transpile/components/nav/nav.transformer.js.map +1 -0
  251. package/src/transpile/components/nav/navbar.transformer.js +120 -0
  252. package/src/transpile/components/nav/navbar.transformer.js.map +1 -0
  253. package/src/transpile/components/navigation/breadcrumb.transformer.js +16 -0
  254. package/src/transpile/components/navigation/breadcrumb.transformer.js.map +1 -0
  255. package/src/transpile/components/navigation/menu.transformer.js +36 -0
  256. package/src/transpile/components/navigation/menu.transformer.js.map +1 -0
  257. package/src/transpile/components/navigation/popover.transformer.js +23 -0
  258. package/src/transpile/components/navigation/popover.transformer.js.map +1 -0
  259. package/src/transpile/components/page/build-partial-markup.js +77 -0
  260. package/src/transpile/components/page/build-partial-markup.js.map +1 -0
  261. package/src/transpile/components/page/content.transformer.js +17 -0
  262. package/src/transpile/components/page/content.transformer.js.map +1 -0
  263. package/src/transpile/components/page/page-content.transformer.js +17 -0
  264. package/src/transpile/components/page/page-content.transformer.js.map +1 -0
  265. package/src/transpile/components/page/page.transformer.js +50 -0
  266. package/src/transpile/components/page/page.transformer.js.map +1 -0
  267. package/src/transpile/components/page/partial-container.transformer.js +16 -0
  268. package/src/transpile/components/page/partial-container.transformer.js.map +1 -0
  269. package/src/transpile/components/page/partial.transformer.js +19 -0
  270. package/src/transpile/components/page/partial.transformer.js.map +1 -0
  271. package/src/transpile/components/page/with-partial-container.js +26 -0
  272. package/src/transpile/components/page/with-partial-container.js.map +1 -0
  273. package/src/transpile/components/partial/partial-content.transformer.js +11 -0
  274. package/src/transpile/components/partial/partial-content.transformer.js.map +1 -0
  275. package/src/transpile/components/prefab/prefab-container.transformer.js +32 -0
  276. package/src/transpile/components/prefab/prefab-container.transformer.js.map +1 -0
  277. package/src/transpile/components/prefab/prefab.transformer.js +91 -0
  278. package/src/transpile/components/prefab/prefab.transformer.js.map +1 -0
  279. package/src/transpile/components/transform-register.js +247 -0
  280. package/src/transpile/components/transform-register.js.map +1 -0
  281. package/src/transpile/components/utils.js +367 -0
  282. package/src/transpile/components/utils.js.map +1 -0
  283. package/src/transpile/components/wmx-component/wmx-component.transformer.js +35 -0
  284. package/src/transpile/components/wmx-component/wmx-component.transformer.js.map +1 -0
  285. package/src/transpile/id-generator.js +87 -0
  286. package/src/transpile/id-generator.js.map +1 -0
  287. package/src/transpile/index.js +65 -0
  288. package/src/transpile/index.js.map +1 -0
  289. package/src/transpile/property/base-parser.js +13 -0
  290. package/src/transpile/property/base-parser.js.map +1 -0
  291. package/src/transpile/property/property-parser.js +278 -0
  292. package/src/transpile/property/property-parser.js.map +1 -0
  293. package/src/transpile/property/show-in-device.parser.js +17 -0
  294. package/src/transpile/property/show-in-device.parser.js.map +1 -0
  295. package/src/transpile/serialize-variables.js +322 -0
  296. package/src/transpile/serialize-variables.js.map +1 -0
  297. package/src/transpile/style/background-image.parser.js +20 -0
  298. package/src/transpile/style/background-image.parser.js.map +1 -0
  299. package/src/transpile/style/border-width.parser.js +20 -0
  300. package/src/transpile/style/border-width.parser.js.map +1 -0
  301. package/src/transpile/style/dimension-style.parser.js +70 -0
  302. package/src/transpile/style/dimension-style.parser.js.map +1 -0
  303. package/src/transpile/style/horizontal-align.parser.js +24 -0
  304. package/src/transpile/style/horizontal-align.parser.js.map +1 -0
  305. package/src/transpile/style/margin.parser.js +20 -0
  306. package/src/transpile/style/margin.parser.js.map +1 -0
  307. package/src/transpile/style/multi-dimension-style.parser.js +29 -0
  308. package/src/transpile/style/multi-dimension-style.parser.js.map +1 -0
  309. package/src/transpile/style/numeric-style.parser.js +18 -0
  310. package/src/transpile/style/numeric-style.parser.js.map +1 -0
  311. package/src/transpile/style/padding.parser.js +20 -0
  312. package/src/transpile/style/padding.parser.js.map +1 -0
  313. package/src/transpile/style/split-css-shorthand.js +60 -0
  314. package/src/transpile/style/split-css-shorthand.js.map +1 -0
  315. package/src/transpile/style/style.parser.js +15 -0
  316. package/src/transpile/style/style.parser.js.map +1 -0
  317. package/src/transpile/style.transformer.js +124 -0
  318. package/src/transpile/style.transformer.js.map +1 -0
  319. package/src/transpile/transform-markup.js +286 -0
  320. package/src/transpile/transform-markup.js.map +1 -0
  321. package/src/transpile/transpile-variables.js +35 -0
  322. package/src/transpile/transpile-variables.js.map +1 -0
  323. package/src/transpile/transpile.js +1349 -0
  324. package/src/transpile/transpile.js.map +1 -0
  325. package/src/transpile/transpiler.js +30 -0
  326. package/src/transpile/transpiler.js.map +1 -0
  327. package/src/transpile/variables-template-source.js +6 -0
  328. package/src/transpile/variables-template-source.js.map +1 -0
  329. package/src/transpile/variables-template.js +15 -0
  330. package/src/transpile/variables-template.js.map +1 -0
  331. package/src/transpile/widget-inline-style-constants.js +203 -0
  332. package/src/transpile/widget-inline-style-constants.js.map +1 -0
  333. package/src/transpile/widget-inline-style-processor.js +732 -0
  334. package/src/transpile/widget-inline-style-processor.js.map +1 -0
  335. package/src/types/index.js +6 -0
  336. package/src/types/index.js.map +1 -0
  337. package/src/utils/grouping-util.js +528 -0
  338. package/src/utils/grouping-util.js.map +1 -0
  339. package/src/utils.browser.js +903 -0
  340. package/src/utils.browser.js.map +1 -0
  341. package/src/utils.js +835 -0
  342. package/src/utils.js.map +1 -0
  343. package/src/variables/variable.transformer.js +736 -0
  344. package/src/variables/variable.transformer.js.map +1 -0
  345. package/src/wmx.generator.js +216 -0
  346. package/src/wmx.generator.js.map +1 -0
  347. package/templates/.DS_Store +0 -0
  348. package/templates/app.style.template +3 -0
  349. package/templates/app.variables.template +1 -0
  350. package/templates/component/app.libs.hbs +38 -0
  351. package/templates/component/app.script.hbs +8 -0
  352. package/templates/component/app.template.hbs +47 -0
  353. package/templates/component/component.hbs +80 -0
  354. package/templates/component/component.props.template +1 -0
  355. package/templates/component/formatter.hbs +8 -0
  356. package/templates/component/layout.hbs +33 -0
  357. package/templates/component/page.hbs +16 -0
  358. package/templates/component/partial.hbs +70 -0
  359. package/templates/component/script.template +6 -0
  360. package/templates/component/style-def.template +18 -0
  361. package/templates/component/style.template +1 -0
  362. package/templates/entity-provider.template +21 -0
  363. package/templates/foundation/layout.tsx +30 -0
  364. package/templates/pages-config.template +12 -0
  365. package/templates/partial-config.template +58 -0
  366. package/templates/project/.DS_Store +0 -0
  367. package/templates/project/.env +1 -0
  368. package/templates/project/.gitignore +2 -0
  369. package/templates/project/.prettierrc +8 -0
  370. package/templates/project/README.md +60 -0
  371. package/templates/project/app/autoLayout.css +134 -0
  372. package/templates/project/app/client.layout.tsx +193 -0
  373. package/templates/project/app/components.css +292 -0
  374. package/templates/project/app/error.tsx +27 -0
  375. package/templates/project/app/globals.css +5 -0
  376. package/templates/project/app/layout.tsx +40 -0
  377. package/templates/project/app/loading.tsx +6 -0
  378. package/templates/project/app/page.tsx +3 -0
  379. package/templates/project/app/widgetInlineStylesOverride.css +1031 -0
  380. package/templates/project/app/wm-globals.css +152 -0
  381. package/templates/project/app/wm-styles.css +4 -0
  382. package/templates/project/hooks/usePageEvents.tsx +45 -0
  383. package/templates/project/libs/appConfig.ts +14 -0
  384. package/templates/project/next-env.d.ts +5 -0
  385. package/templates/project/next.config.ts +17 -0
  386. package/templates/project/package-lock.json +5397 -0
  387. package/templates/project/package.json +41 -0
  388. package/templates/project/public/error-fallback.svg +89 -0
  389. package/templates/project/public/file.svg +1 -0
  390. package/templates/project/public/globe.svg +1 -0
  391. package/templates/project/public/next.svg +1 -0
  392. package/templates/project/public/vercel.svg +1 -0
  393. package/templates/project/public/window.svg +1 -0
  394. package/templates/project/scripts/app-custom-server.js +44 -0
  395. package/templates/project/scripts/getlibs.js +53 -0
  396. package/templates/project/tsconfig.json +36 -0
  397. package/templates/project/types/runtime-config.d.ts +9 -0
  398. package/templates/resource.resolver.template +20 -0
  399. package/templates/service.defs.template +3 -0
  400. package/templates/variables.template +255 -0
@@ -0,0 +1,1617 @@
1
+ /* === ./wm-globals.css === */
2
+ .app-page .app-header-shrink {
3
+ flex-shrink: 0;
4
+ }
5
+
6
+ .wm-app
7
+ .app-composite-widget:has([disabled]):not(:has([aria-readonly='true'])) {
8
+ opacity: var(--wm-btn-disabled-opacity);
9
+ cursor: not-allowed;
10
+ pointer-events: unset;
11
+ }
12
+
13
+ /* Error Boundary Component styles Start */
14
+
15
+ .error-container {
16
+ display: flex;
17
+ flex-direction: column;
18
+ align-items: center;
19
+ justify-content: center;
20
+ min-height: 100vh;
21
+ padding: 20px;
22
+ background-color: #f5f5f5;
23
+ }
24
+
25
+ .error-info-container {
26
+ display: flex;
27
+ flex-direction: column;
28
+ align-items: center;
29
+ max-width: 600px;
30
+ width: 100%;
31
+ margin-bottom: 30px;
32
+ }
33
+
34
+ .error-card {
35
+ background-color: oklch(88.5% 0.062 18.334);
36
+ border-radius: 8px;
37
+ padding: 16px;
38
+ margin: 16px 0;
39
+ width: 100%;
40
+ }
41
+
42
+ .error-card-row {
43
+ display: flex;
44
+ align-items: center;
45
+ margin-bottom: 8px;
46
+ }
47
+
48
+ .error-card-row .error-fallback-erroricon {
49
+ margin-right: 8px;
50
+ color: #f44336;
51
+ }
52
+
53
+ .error-button-container {
54
+ display: flex;
55
+ gap: 16px;
56
+ justify-content: center;
57
+ flex-wrap: wrap;
58
+ }
59
+
60
+ .error-button-container .error-fallback-gotohome-btn,
61
+ .error-button-container .error-fallback-goback-btn {
62
+ min-width: 120px;
63
+ }
64
+
65
+ /* Image container styles */
66
+ .error-image-container {
67
+ margin-bottom: 20px;
68
+ width: 120px;
69
+ height: 120px;
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ }
74
+
75
+ /* Title styles */
76
+ .error-fallback-title {
77
+ font-size: 24px;
78
+ font-weight: bold;
79
+ margin-bottom: 8px !important;
80
+ text-align: center;
81
+ }
82
+
83
+ /* Subtitle styles */
84
+ .error-fallback-subtitle {
85
+ font-size: 16px;
86
+ text-align: center;
87
+ }
88
+
89
+ /* Error label styles */
90
+ .error-fallback-error-label {
91
+ font-size: 16px;
92
+ font-weight: bold;
93
+ color: red;
94
+ }
95
+
96
+ /* Error message styles */
97
+ .error-fallback-error-message {
98
+ font-size: 14px;
99
+ color: #666;
100
+ word-break: break-word;
101
+ }
102
+
103
+ /* Error Boundary Component styles End */
104
+
105
+ /* for composite disabled styles */
106
+ .wm-app
107
+ .app-composite-widget:has([disabled]).app-composite-widget:has(
108
+ [disabled]
109
+ ):not(:has([aria-readonly='true'])) {
110
+ opacity: 0.38;
111
+ cursor: not-allowed;
112
+ }
113
+
114
+ .wm-app
115
+ .app-composite-widget:has([disabled]):not(:has([aria-readonly='true']))
116
+ * {
117
+ pointer-events: none;
118
+ }
119
+
120
+ .wm-app
121
+ .app-composite-widget:has(.app-richtexteditor .jodit-container [disabled]) {
122
+ pointer-events: auto !important;
123
+ opacity: 1 !important;
124
+ cursor: auto !important;
125
+ }
126
+
127
+ /* Ensure all Jodit children are interactive */
128
+ .wm-app
129
+ .app-composite-widget:has(.app-richtexteditor .jodit-container [disabled])
130
+ .app-richtexteditor
131
+ .jodit-container,
132
+ .wm-app
133
+ .app-composite-widget:has(.app-richtexteditor .jodit-container [disabled])
134
+ .app-richtexteditor
135
+ .jodit-container
136
+ * {
137
+ pointer-events: auto !important;
138
+ }
139
+
140
+ .app-richtexteditor[aria-readonly='true'] .jodit-workplace {
141
+ cursor: not-allowed !important ;
142
+ }
143
+
144
+ .app-loader {
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ height: 100vh;
149
+ width: 100vw;
150
+ background-color: transparent;
151
+ position: fixed;
152
+ z-index: 1000;
153
+ }
154
+
155
+ /* === ./autoLayout.css === */
156
+ /*
157
+ * Auto Layout — Predefined Static CSS Utility Classes
158
+ * Prefixed with wm- to avoid collision with foundation.css utilities.
159
+ /* ── Flex Container ── */
160
+
161
+ .wm-d-flex {
162
+ display: flex !important;
163
+ }
164
+
165
+ .wm-fd-row {
166
+ flex-direction: row !important;
167
+ }
168
+
169
+ .wm-fd-column {
170
+ flex-direction: column !important;
171
+ }
172
+
173
+ .wm-fw-nowrap {
174
+ flex-wrap: nowrap !important;
175
+ }
176
+
177
+ .wm-fw-wrap {
178
+ flex-wrap: wrap !important;
179
+ }
180
+
181
+ /* ── Flex Alignment ── */
182
+
183
+ .wm-jc-flex-start {
184
+ justify-content: flex-start !important;
185
+ }
186
+
187
+ .wm-jc-center {
188
+ justify-content: center !important;
189
+ }
190
+
191
+ .wm-jc-flex-end {
192
+ justify-content: flex-end !important;
193
+ }
194
+
195
+ .wm-jc-space-between {
196
+ justify-content: space-between !important;
197
+ }
198
+
199
+ .wm-ai-flex-start {
200
+ align-items: flex-start !important;
201
+ }
202
+
203
+ .wm-ai-center {
204
+ align-items: center !important;
205
+ }
206
+
207
+ .wm-ai-flex-end {
208
+ align-items: flex-end !important;
209
+ }
210
+
211
+ .wm-ai-stretch {
212
+ align-items: stretch !important;
213
+ }
214
+
215
+ .wm-ac-flex-start {
216
+ align-content: flex-start !important;
217
+ }
218
+
219
+ .wm-ac-center {
220
+ align-content: center !important;
221
+ }
222
+
223
+ .wm-ac-flex-end {
224
+ align-content: flex-end !important;
225
+ }
226
+
227
+ .wm-ac-space-between {
228
+ align-content: space-between !important;
229
+ }
230
+
231
+ /* ── Flex Item Sizing ── */
232
+
233
+ .wm-fs-0 {
234
+ flex-shrink: 0 !important;
235
+ }
236
+
237
+ .wm-fg-1 {
238
+ flex-grow: 1 !important;
239
+ }
240
+
241
+ .wm-as-stretch {
242
+ align-self: stretch !important;
243
+ }
244
+
245
+ /* ── Overflow (applied only when clipcontent is true) ── */
246
+
247
+ .wm-ov-hidden {
248
+ overflow: hidden !important;
249
+ }
250
+
251
+ .wm-ov-scroll {
252
+ overflow: scroll !important;
253
+ }
254
+
255
+ .wm-ovx-scroll {
256
+ overflow-x: scroll !important;
257
+ }
258
+
259
+ .wm-ovx-hidden {
260
+ overflow-x: hidden !important;
261
+ }
262
+
263
+ .wm-ovy-scroll {
264
+ overflow-y: scroll !important;
265
+ }
266
+
267
+ .wm-ovy-hidden {
268
+ overflow-y: hidden !important;
269
+ }
270
+
271
+ /* ── Position ── */
272
+
273
+ .wm-pos-relative {
274
+ position: relative !important;
275
+ }
276
+
277
+ .wm-pos-absolute {
278
+ position: absolute !important;
279
+ }
280
+
281
+ .wm-pos-sticky {
282
+ position: sticky !important;
283
+ }
284
+
285
+ .wm-pos-fixed {
286
+ position: fixed !important;
287
+ }
288
+
289
+ /* ── Dynamic CSS rules generated by codegen are appended below at build time ── */
290
+
291
+ /* === ./components.css === */
292
+ /* chips widget css */
293
+ .app-chip:hover {
294
+ background-color: var(--wm-chips-background) !important;
295
+ }
296
+
297
+ .app-chip .MuiChip-deleteIcon {
298
+ padding: 0 !important;
299
+ font-size: var(--wm-btn-icon-size) !important;
300
+ min-width: var(--wm-btn-icon-size) !important;
301
+ width: var(--wm-btn-icon-size) !important;
302
+ height: var(--wm-btn-icon-size) !important;
303
+ margin: 0 !important;
304
+ color: inherit !important;
305
+ }
306
+
307
+ /* wizard widget css */
308
+
309
+ .app-wizard .wizard-step-icon {
310
+ display: inline-flex !important;
311
+ justify-content: center !important;
312
+ align-items: center !important;
313
+ min-width: var(--wm-wizard-step-indicator-size) !important;
314
+ width: var(--wm-wizard-step-indicator-size) !important;
315
+ height: var(--wm-wizard-step-indicator-size) !important;
316
+ background: var(--wm-wizard-step-indicator-background);
317
+ border: var(--wm-wizard-step-indicator-border-width)
318
+ var(--wm-wizard-step-indicator-border-style)
319
+ var(--wm-wizard-step-indicator-border-color) !important;
320
+ border-radius: var(--wm-wizard-step-indicator-radius) !important;
321
+ }
322
+ .app-wizard .wizard-step-icon .count {
323
+ color: var(--wm-wizard-step-count-color) !important;
324
+ font-size: var(--wm-wizard-step-count-font-size) !important;
325
+ font-weight: var(--wm-wizard-step-count-font-weight) !important;
326
+ font-family: var(--wm-wizard-step-count-font-family) !important;
327
+ line-height: var(--wm-wizard-step-count-line-height) !important;
328
+ letter-spacing: var(--wm-wizard-step-count-letter-spacing) !important;
329
+ }
330
+ .app-wizard .title-wrapper .step-title {
331
+ color: var(--wm-wizard-step-title-color) !important;
332
+ font-family: var(--wm-wizard-step-title-font-family) !important;
333
+ font-weight: var(--wm-wizard-step-title-font-weight) !important;
334
+ font-size: var(--wm-wizard-step-title-font-size) !important;
335
+ line-height: var(--wm-wizard-step-title-line-height) !important;
336
+ letter-spacing: var(--wm-wizard-step-title-letter-spacing) !important;
337
+ }
338
+
339
+ .app-wizard .MuiStepConnector-root {
340
+ display: none;
341
+ }
342
+
343
+ .app-wizard .app-wizard-step .MuiStepLabel-label {
344
+ display: inline-flex;
345
+ flex-direction: row;
346
+ justify-content: flex-start;
347
+ gap: var(--wm-wizard-step-gap);
348
+ min-width: fit-content;
349
+ color: var(--wm-wizard-step-title-color);
350
+ }
351
+ .app-wizard .MuiStepLabel-label {
352
+ display: table-cell !important;
353
+ width: 50% !important;
354
+ }
355
+
356
+ .app-wizard .MuiStepLabel-root.MuiStepLabel-horizontal {
357
+ display: table-cell !important;
358
+ width: 50% !important;
359
+ }
360
+
361
+ .wm-app
362
+ .app-wizard
363
+ .app-wizard-heading
364
+ .app-wizard-steps
365
+ > .app-wizard-step
366
+ .MuiStepLabel-horizontal {
367
+ display: inline-flex !important;
368
+ flex-direction: row !important;
369
+ justify-content: flex-start !important;
370
+ min-width: fit-content !important;
371
+ color: var(--wm-wizard-step-title-color) !important;
372
+ }
373
+
374
+ .wm-app .app-wizard .app-wizard-step {
375
+ padding-left: 0px;
376
+ padding-right: 0px;
377
+ }
378
+
379
+ .wm-app .MuiStepLabel-horizontal .MuiStepLabel-horizontal {
380
+ display: inline-flex !important;
381
+ align-items: center !important;
382
+ justify-content: center !important;
383
+ color: var(--wm-anchor-color) !important;
384
+ font-size: var(--wm-anchor-font-size) !important;
385
+ font-family: var(--wm-anchor-font-family) !important;
386
+ font-weight: var(--wm-anchor-font-weight) !important;
387
+ line-height: var(--wm-anchor-line-height) !important;
388
+ letter-spacing: var(--wm-anchor-letter-spacing) !important;
389
+ text-transform: var(--wm-anchor-text-transform) !important;
390
+ text-decoration: var(--wm-anchor-text-decoration) !important;
391
+ gap: var(--wm-anchor-gap) !important;
392
+ cursor: pointer !important;
393
+ }
394
+ /* baseprefab spinner postion */
395
+ .wm-app .app-spinner.baseprefab-spinner {
396
+ background: transparent !important;
397
+ position: relative !important;
398
+ }
399
+
400
+ .wm-app
401
+ .app-date
402
+ .input-group-btn
403
+ .btn-defaul
404
+ .custom-disabled-btn
405
+ .Mui-disabled {
406
+ pointer-events: auto !important; /* allow cursor to show */
407
+ cursor: not-allowed !important;
408
+ }
409
+
410
+ /* text area readonly issue fix when readonly and disabled are false adding .wm-textarea-editable class*/
411
+ .wm-app .app-input-wrapper textarea.app-textarea.wm-textarea-editable {
412
+ pointer-events: auto !important;
413
+ }
414
+
415
+ /* date widget css Overriding */
416
+ .wm-app .app-date button {
417
+ border-width: 0;
418
+ color: initial;
419
+ }
420
+
421
+ .wm-app .app-date:not(.Mui-selected) button.MuiPickersDay-root:hover::before,
422
+ .wm-app .app-date button.MuiYearCalendar-button:hover::before,
423
+ .wm-app .app-date button.MuiMonthCalendar-button:hover::before {
424
+ --wm-btn-state-layer-opacity: 0.5;
425
+ }
426
+
427
+ .wm-app .app-date button.Mui-selected:hover::before,
428
+ .wm-app .app-date button.Mui-selected:focus::before {
429
+ background: none;
430
+ }
431
+ .wm-app .app-date button.Mui-selected {
432
+ --wm-datepicker-date-color: var(--wm-color-surface) !important;
433
+ --wm-datepicker-date-background: var(--wm-color-primary) !important;
434
+ --wm-datepicker-date-border-color: var(--wm-color-primary) !important;
435
+ background: var(--wm-datepicker-date-background) !important ;
436
+ color: var(--wm-datepicker-date-color) !important;
437
+ }
438
+ .wm-app .app-date button.Mui-disabled {
439
+ opacity: 0.38;
440
+ cursor: var(--wm-btn-cursor-disabled);
441
+ }
442
+ .wm-app .app-date .MuiPickersArrowSwitcher-root {
443
+ display: flex;
444
+ gap: 12px;
445
+ }
446
+ .wm-app .app-date .MuiDayCalendar-weekContainer button {
447
+ width: 48px;
448
+ height: 40px;
449
+ }
450
+ .MuiPickersDay-dayOutsideMonth {
451
+ color: var(--wm-datepicker-date-other-month-color);
452
+ }
453
+
454
+ .wm-app .app-date button.today-btn:hover::before,
455
+ .wm-app .app-date button.clear-btn:hover::before {
456
+ --wm-btn-state-layer-opacity: 0.5;
457
+ background-color: unset;
458
+ }
459
+
460
+ /* input component override css for start and end icons in input field */
461
+ .wm-app .app-input-wrapper .MuiInputAdornment-root {
462
+ position: unset;
463
+ margin-right: unset;
464
+ margin-left: unset;
465
+ }
466
+
467
+ /* select widget inside the table ui issue. */
468
+ .wm-app .table td.app-datagrid-cell {
469
+ line-height: unset;
470
+ }
471
+ .wm-app .app-select-wrapper .wm-native-select-root {
472
+ display: unset !important;
473
+ }
474
+
475
+ .wm-app .search-dropdown-container .app-search .dropdown-status {
476
+ display: flex;
477
+ align-items: center !important;
478
+ justify-content: center;
479
+ gap: var(--wm-space-1);
480
+ padding: var(--wm-search-status-padding);
481
+ background: var(--wm-search-status-background);
482
+ }
483
+
484
+ .wm-app .search-dropdown-container .app-search .wm-search-match-highlight {
485
+ color: var(--wm-search-dropdown-menu-item-color);
486
+ }
487
+
488
+ /* page size selector widget css */
489
+
490
+ .wm-app .pagination.page-size-selector {
491
+ border: none;
492
+ }
493
+
494
+ .wm-app .pagination.page-size-selector .MuiTablePagination-select {
495
+ font-size: var(--wm-btn-font-size);
496
+ font-family: var(--wm-btn-font-family);
497
+ font-weight: var(--wm-btn-font-weight);
498
+ color: var(--wm-color-info);
499
+ padding: 0 8px;
500
+ }
501
+
502
+ .wm-app .pagination.page-size-selector .MuiInputBase-root {
503
+ height: auto;
504
+ }
505
+
506
+ .wm-app
507
+ .pagination.page-size-selector
508
+ .MuiInputBase-root
509
+ .MuiOutlinedInput-notchedOutline {
510
+ border: none;
511
+ }
512
+
513
+ .wm-app
514
+ .pagination.page-size-selector
515
+ .MuiInputBase-root:hover
516
+ .MuiOutlinedInput-notchedOutline,
517
+ .wm-app
518
+ .pagination.page-size-selector
519
+ .MuiInputBase-root.Mui-focused
520
+ .MuiOutlinedInput-notchedOutline {
521
+ border: none;
522
+ }
523
+
524
+ .wm-app .pagination.page-size-selector .MuiInputBase-root .MuiSelect-icon {
525
+ color: var(--wm-color-info, inherit);
526
+ right: -3px;
527
+ font-size: 0.8rem;
528
+ }
529
+
530
+ .wm-app .pagination.page-size-selector .page-size-select {
531
+ margin-right: 0;
532
+ margin-left: 0;
533
+ }
534
+
535
+ .wm-app .pagination.page-size-selector .page-size-no-range {
536
+ display: none;
537
+ }
538
+
539
+ .wm-app .dropdown-menu.pagesize-options {
540
+ min-width: unset !important;
541
+ padding: var(--wm-dropdown-menu-padding);
542
+ border-radius: var(--wm-dropdown-menu-border-radius);
543
+ background-color: var(--wm-dropdown-menu-background);
544
+ box-shadow: var(--wm-dropdown-menu-box-shadow);
545
+ }
546
+
547
+ .wm-app .dropdown-menu.pagesize-options .MuiMenuItem-root {
548
+ display: flex;
549
+ align-items: center;
550
+ justify-content: flex-start;
551
+ width: 100%;
552
+ padding: var(--wm-dropdown-menu-item-padding);
553
+ font-size: var(--wm-dropdown-menu-item-font-size);
554
+ color: var(--wm-dropdown-menu-item-color);
555
+ }
556
+
557
+ .wm-app .dropdown-menu.pagesize-options .dropdown-item {
558
+ position: relative;
559
+ z-index: 0;
560
+ color: var(--wm-dropdown-menu-item-color);
561
+ background-color: transparent !important;
562
+ }
563
+
564
+ .wm-app .dropdown-menu.pagesize-options .dropdown-item:hover,
565
+ .wm-app .dropdown-menu.pagesize-options .dropdown-item.Mui-selected,
566
+ .wm-app .dropdown-menu.pagesize-options .dropdown-item.Mui-selected:hover {
567
+ background-color: transparent !important;
568
+ color: var(--wm-dropdown-menu-item-color);
569
+ }
570
+
571
+ .wm-app .dropdown-menu.pagesize-options .dropdown-item::before {
572
+ content: '';
573
+ position: absolute;
574
+ inset: 0;
575
+ z-index: -1;
576
+ opacity: 0;
577
+ background: var(--wm-dropdown-menu-item-state-layer-color);
578
+ }
579
+
580
+ .wm-app .dropdown-menu.pagesize-options .dropdown-item.Mui-selected::before,
581
+ .wm-app .dropdown-menu.pagesize-options .dropdown-item:hover::before {
582
+ opacity: var(--wm-dropdown-menu-item-state-layer-opacity-hover);
583
+ }
584
+
585
+ /* === ./widgetInlineStylesOverride.css === */
586
+ /* ==========================================================================
587
+ WaveMaker React Runtime — Aggregate Stylesheet
588
+ ==========================================================================
589
+
590
+
591
+ /* --------------------------------------------------------------------------
592
+ Utility classes
593
+ -------------------------------------------------------------------------- */
594
+
595
+ .wm-app .wm-hidden {
596
+ display: none;
597
+ }
598
+
599
+ .wm-app .wm-position-relative {
600
+ position: relative;
601
+ }
602
+
603
+ .wm-app .wm-overflow-inherit {
604
+ overflow: inherit;
605
+ }
606
+
607
+ .wm-app .wm-overflow-x-hidden {
608
+ overflow-x: hidden;
609
+ }
610
+
611
+ .wm-app .wm-touch-action-none {
612
+ touch-action: none;
613
+ }
614
+
615
+ .wm-app .wm-user-select-none {
616
+ user-select: none;
617
+ }
618
+
619
+ .wm-app .wm-will-change-transform {
620
+ will-change: transform;
621
+ }
622
+
623
+ .wm-app .wm-w-full {
624
+ width: 100%;
625
+ }
626
+
627
+ .wm-app .wm-text-center {
628
+ text-align: center;
629
+ }
630
+
631
+ .wm-app .wm-all-unset {
632
+ all: unset;
633
+ }
634
+
635
+ /* Image helpers */
636
+ .wm-app .wm-img-circle {
637
+ border-radius: 50%;
638
+ }
639
+
640
+ .wm-app .wm-w-32 {
641
+ width: 32px;
642
+ }
643
+
644
+ .wm-app .wm-h-32 {
645
+ height: 32px;
646
+ }
647
+
648
+ /* --------------------------------------------------------------------------
649
+ List component — inner container structure
650
+ -------------------------------------------------------------------------- */
651
+
652
+ .wm-app .app-livelist.app-panel .list-group .app-horizontal-list {
653
+ display: flex;
654
+ flex-direction: row;
655
+ flex-wrap: nowrap;
656
+ }
657
+
658
+ .wm-app
659
+ .app-livelist.app-panel
660
+ .list-group
661
+ .app-horizontal-list
662
+ > .app-list-item {
663
+ min-width: fit-content;
664
+ flex-shrink: 0;
665
+ }
666
+
667
+ /* --------------------------------------------------------------------------
668
+ List component — Load More footer
669
+ -------------------------------------------------------------------------- */
670
+
671
+ .wm-app .app-livelist.app-panel .app-livelist-container .wm-load-more-footer {
672
+ padding: 16px;
673
+ }
674
+
675
+ /* --------------------------------------------------------------------------
676
+ DnD sortable item
677
+ --wm-dnd-transform and --wm-dnd-transition are per-frame values from
678
+ @dnd-kit, set as inline style variables. All other DnD states use classes.
679
+ -------------------------------------------------------------------------- */
680
+
681
+ .wm-app .app-livelist.app-panel .app-livelist-container .wm-sortable-item {
682
+ transform: var(--wm-dnd-transform);
683
+ transition: var(--wm-dnd-transition);
684
+ }
685
+
686
+ .wm-app
687
+ .app-livelist.app-panel
688
+ .app-livelist-container
689
+ .wm-sortable-item.wm-dragging {
690
+ opacity: 0.5;
691
+ }
692
+
693
+ .wm-app
694
+ .app-livelist.app-panel
695
+ .app-livelist-container
696
+ .wm-sortable-item.wm-cursor-grab {
697
+ cursor: grab;
698
+ }
699
+ .wm-app .app-livelist .app-livelist-container.clearfix {
700
+ width: 100%;
701
+ height: 100%;
702
+ box-sizing: border-box;
703
+ }
704
+
705
+ /* --------------------------------------------------------------------------
706
+ Wm-anchor component — inline styles for legacy support
707
+ -------------------------------------------------------------------------- */
708
+
709
+ /* Former inline icon layout (iconposition). */
710
+ .wm-app .app-anchor.wm-anchor-link.wm-anchor-icon-top {
711
+ flex-direction: column;
712
+ align-items: center;
713
+ }
714
+
715
+ .wm-app .app-anchor.wm-anchor-link.wm-anchor-icon-right {
716
+ direction: rtl;
717
+ }
718
+
719
+ .wm-app .app-anchor.wm-anchor-link.wm-anchor-icon-left {
720
+ direction: ltr;
721
+ }
722
+
723
+ .wm-app .app-anchor.wm-anchor-link .wm-anchor-icon-media {
724
+ margin: var(--wm-anchor-icon-margin, 0 4px);
725
+ width: var(--wm-anchor-icon-width, var(--wm-anchor-icon-size));
726
+ height: var(--wm-anchor-icon-height, var(--wm-anchor-icon-size));
727
+ }
728
+
729
+ /* Former Badge sx (font-size + badge transform). */
730
+ .wm-app .app-anchor.wm-anchor-link .wm-anchor-badge {
731
+ font-size: inherit;
732
+ }
733
+
734
+ .wm-app .app-anchor.wm-anchor-link .wm-anchor-badge .wm-anchor-badge-mark {
735
+ transform: none;
736
+ }
737
+
738
+ /* --------------------------------------------------------------------------
739
+ WmHtml component — inline styles for legacy support
740
+ -------------------------------------------------------------------------- */
741
+
742
+ .wm-app .app-html-container.wm-html-root.wm-html-align-left {
743
+ text-align: left !important;
744
+ }
745
+
746
+ .wm-app .app-html-container.wm-html-root.wm-html-align-center {
747
+ text-align: center !important;
748
+ }
749
+
750
+ .wm-app .app-html-container.wm-html-root.wm-html-align-right {
751
+ text-align: right !important;
752
+ }
753
+
754
+ .wm-app .app-html-container.wm-html-root {
755
+ width: var(--wm-html-width);
756
+ height: var(--wm-html-height);
757
+ overflow: var(--wm-html-overflow);
758
+ }
759
+
760
+ /* --------------------------------------------------------------------------
761
+ WmIcon — layout + size via CSS vars on .wm-icon-root for legacy support
762
+ Runtime sets --icon-size, --icon-width, --icon-height (no --wm- prefix; see rules/rulz.txt).
763
+ -------------------------------------------------------------------------- */
764
+
765
+ .wm-app .app-icon-wrapper.wm-icon-root {
766
+ flex-direction: row;
767
+ font-size: var(--icon-size);
768
+ }
769
+
770
+ .wm-app .app-icon-wrapper.wm-icon-root.wm-icon-pos-right {
771
+ flex-direction: row-reverse;
772
+ }
773
+
774
+ .wm-app .app-icon-wrapper.wm-icon-root .wm-icon-media {
775
+ width: var(--icon-width, auto);
776
+ height: var(--icon-height, auto);
777
+ }
778
+
779
+ /* --------------------------------------------------------------------------
780
+ WmIframe — former inner sx: border/margin; dimensions via vars from runtime.
781
+ -------------------------------------------------------------------------- */
782
+
783
+ .wm-app .embed-responsive.app-iframe.wm-iframe-root {
784
+ width: var(--wm-iframe-width);
785
+ height: var(--wm-iframe-height);
786
+ }
787
+
788
+ .wm-app .embed-responsive.app-iframe.wm-iframe-root .wm-iframe-frame {
789
+ border: 0;
790
+ margin: 0;
791
+ width: var(--wm-iframe-inner-width);
792
+ height: var(--wm-iframe-inner-height);
793
+ }
794
+
795
+ /* --------------------------------------------------------------------------
796
+ WmLabel — former styled(Box) display; former inline styles on caption links.
797
+ -------------------------------------------------------------------------- */
798
+
799
+ .wm-label-root {
800
+ display: inline-block;
801
+ }
802
+
803
+ .wm-app .app-label.wm-label-root a {
804
+ color: blue;
805
+ text-decoration: underline;
806
+ }
807
+
808
+ /* WmPicture: former sx {{ objectFit: resizemode || "cover" }} — .app-picture + wm-picture-object-fit-* (Rule 5) */
809
+ .wm-app .app-picture.wm-picture-object-fit-fill {
810
+ object-fit: fill;
811
+ }
812
+
813
+ .wm-app .app-picture.wm-picture-object-fit-cover {
814
+ object-fit: cover;
815
+ }
816
+
817
+ .wm-app .app-picture.wm-picture-object-fit-contain {
818
+ object-fit: contain;
819
+ }
820
+
821
+ /* WmProgressBar: dynamic segment width via inline CSS var only */
822
+ .wm-app .app-progress .wm-progress-segment {
823
+ width: var(--wm-progress-segment-width);
824
+ }
825
+
826
+ /* WmVideo: former styled(video) { width: 100%; height: auto; } — .app-video .wm-video-media */
827
+ .wm-app .wm-video-media {
828
+ width: 100%;
829
+ height: auto;
830
+ }
831
+
832
+ /* WmProgressCircle — former default Box 150×150, SVG overflow, arc transform/transition, caption font sizes */
833
+ .wm-app .app-progress.circle.wm-progress-circle-root {
834
+ width: 150px;
835
+ height: 150px;
836
+ }
837
+
838
+ .wm-app .app-progress.circle.wm-progress-circle-root .wm-progress-circle-svg {
839
+ overflow: visible;
840
+ }
841
+
842
+ .wm-app .app-progress.circle.wm-progress-circle-root .wm-progress-circle-arc {
843
+ transform: rotate(-90deg);
844
+ transform-origin: 50% 50%;
845
+ transition: stroke-dashoffset 0.5s ease;
846
+ }
847
+
848
+ /* Shared 0.7em caption text (value, title, subtitle) */
849
+ .wm-app
850
+ .app-progress.circle.wm-progress-circle-root
851
+ .wm-progress-circle-caption-primary {
852
+ font-size: 0.7em;
853
+ }
854
+
855
+ .wm-app
856
+ .app-progress.circle.wm-progress-circle-root
857
+ .wm-progress-circle-caption-suffix {
858
+ font-size: 0.45em;
859
+ }
860
+
861
+ /* --------------------------------------------------------------------------
862
+ WmSearch — former inline static styles (dropdown may portal outside .app-search)
863
+ -------------------------------------------------------------------------- */
864
+
865
+ .wm-app .wm-search-popper,
866
+ .wm-search-popper {
867
+ z-index: 1300;
868
+ }
869
+
870
+ .wm-app .wm-search-group-title,
871
+ .wm-search-group-title {
872
+ padding: 10px 16px;
873
+ }
874
+
875
+ .wm-app .wm-search-match-highlight,
876
+ .wm-search-match-highlight {
877
+ color: var(--wm-search-dropdown-menu-item-color-matched);
878
+ }
879
+
880
+ .wm-app .wm-search-dropdown-item,
881
+ .wm-search-dropdown-item {
882
+ padding: 10px 16px;
883
+ }
884
+
885
+ .wm-app .wm-search-item-link,
886
+ .wm-search-item-link {
887
+ text-decoration: none;
888
+ color: inherit;
889
+ }
890
+
891
+ .wm-app .wm-search-item-image,
892
+ .wm-search-item-image {
893
+ margin-right: 8px;
894
+ border-radius: 100%;
895
+ }
896
+
897
+ .wm-app .wm-search-loading-spinner,
898
+ .wm-search-loading-spinner {
899
+ display: inline-flex;
900
+ vertical-align: middle;
901
+ margin-right: 8px;
902
+ }
903
+
904
+ .wm-app .wm-search-dropdown-message,
905
+ .wm-search-dropdown-message {
906
+ padding: 8px 16px;
907
+ }
908
+
909
+ .wm-app .wm-search-dropdown-completion,
910
+ .wm-search-dropdown-completion {
911
+ padding: 8px 16px;
912
+ text-align: center;
913
+ }
914
+
915
+ .wm-app .wm-search-dropdown-scroll,
916
+ .wm-search-dropdown-scroll {
917
+ max-height: 300px;
918
+ overflow: auto;
919
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
920
+ }
921
+
922
+ /* WmTree: former empty-state inline styles */
923
+ .wm-app .app-tree .wm-tree-empty-message {
924
+ padding: 16px;
925
+ color: inherit;
926
+ }
927
+
928
+ .wm-app .app-tree .wm-tree-children-list {
929
+ margin-left: 20px;
930
+ list-style: none;
931
+ padding: 0;
932
+ }
933
+
934
+ .wm-app .app-tree .wm-tree-children-open {
935
+ display: block;
936
+ }
937
+
938
+ .wm-app .app-tree .wm-tree-children-closed {
939
+ display: none;
940
+ }
941
+
942
+ /* WmSpinner: former styled(Box) image static styles */
943
+ .wm-app .app-spinner .wm-spinner-image {
944
+ width: var(--wm-spinner-image-width, 20px);
945
+ height: var(--wm-spinner-image-height, auto);
946
+ background-image: var(--wm-spinner-image-bg-image);
947
+ background-size: var(--wm-spinner-image-bg-size, 20px);
948
+ background-repeat: no-repeat;
949
+ display: inline-block;
950
+ }
951
+
952
+ .wm-app .app-spinner .wm-spinner-icon {
953
+ font-size: var(--wm-spinner-icon-size);
954
+ }
955
+
956
+ /* WmRichTextEditor: static placeholder textarea styles */
957
+ .wm-app .wm-richtexteditor-placeholder {
958
+ border: 1px solid;
959
+ border-radius: 4px;
960
+ padding: 8px;
961
+ font: inherit;
962
+ resize: vertical;
963
+ box-sizing: border-box;
964
+ }
965
+
966
+ /* EditorContainer */
967
+ .wm-app .wm-richtexteditor-root .jodit-workplace {
968
+ height: var(--richtexteditor-height, auto) !important;
969
+ }
970
+
971
+ .wm-richtexteditor-root .jodit-container {
972
+ border: 1px solid var(--wm-richtexteditor-divider);
973
+ }
974
+
975
+ .wm-app .wm-richtexteditor-root .jodit-react-container {
976
+ min-height: unset !important;
977
+ min-width: unset !important;
978
+ max-width: unset !important;
979
+ }
980
+
981
+ .wm-app .wm-richtexteditor-root .jodit-status-bar {
982
+ border: 1px solid var(--richtexteditor-divider);
983
+ border-top: none;
984
+ }
985
+
986
+ .wm-app .wm-richtexteditor-root .jodit-toolbar {
987
+ background: var(--richtexteditor-paper-bg);
988
+ border: 1px solid var(--richtexteditor-divider);
989
+ border-bottom: none;
990
+ }
991
+
992
+ .wm-app .wm-richtexteditor-root .jodit-toolbar__box {
993
+ background: var(--richtexteditor-paper-bg);
994
+ }
995
+
996
+ .wm-app .wm-richtexteditor-root .jodit-toolbar-button {
997
+ margin: 2px;
998
+ }
999
+
1000
+ .wm-app .wm-richtexteditor-root div[contenteditable='true'] {
1001
+ background: var(--wm-note-editable-background);
1002
+ color: var(--wm-note-editable-color);
1003
+ }
1004
+
1005
+ .wm-app .wm-richtexteditor-root .jodit-wysiwyg {
1006
+ padding: unset !important;
1007
+ margin: unset !important;
1008
+ min-height: 100px !important;
1009
+ }
1010
+
1011
+ .wm-app .wm-richtexteditor-root .jodit-wysiwyg ul,
1012
+ .wm-app .wm-richtexteditor-root .jodit-wysiwyg li {
1013
+ padding-left: 2em !important;
1014
+ margin: 1em 0 !important;
1015
+ list-style-type: unset;
1016
+ }
1017
+
1018
+ .wm-app .wm-richtexteditor-root .jodit-container * {
1019
+ box-sizing: border-box;
1020
+ }
1021
+
1022
+ .wm-app .wm-richtexteditor-root .jodit-wysiwyg ol {
1023
+ list-style-type: decimal;
1024
+ padding-left: 2em !important;
1025
+ margin: 1em 0 !important;
1026
+ }
1027
+
1028
+ /* Hidden Input */
1029
+ .wm-app .wm-richtexteditor-hidden-input {
1030
+ display: none;
1031
+ }
1032
+
1033
+ /* PreviewContainer */
1034
+ .wm-app .wm-richtexteditor-preview {
1035
+ margin-top: var(--richtexteditor-preview-margin-top);
1036
+ padding: var(--richtexteditor-preview-padding);
1037
+ border-radius: var(--richtexteditor-preview-radius);
1038
+ background-color: var(--richtexteditor-paper-bg);
1039
+ color: var(--richtexteditor-text-primary);
1040
+ min-height: 100px !important;
1041
+ overflow-y: auto;
1042
+ }
1043
+
1044
+ .wm-app .wm-richtexteditor-preview img {
1045
+ max-width: 100%;
1046
+ }
1047
+
1048
+ .wm-app .wm-richtexteditor-preview table {
1049
+ border-collapse: collapse;
1050
+ width: 100%;
1051
+ margin: var(--richtexteditor-preview-table-margin);
1052
+ }
1053
+
1054
+ .wm-app .wm-richtexteditor-preview th,
1055
+ .wm-app .wm-richtexteditor-preview td {
1056
+ border: 1px solid var(--richtexteditor-divider);
1057
+ padding: var(--richtexteditor-preview-cell-padding);
1058
+ }
1059
+
1060
+ /* WmCalendar: former root inline width */
1061
+ .wm-app .app-calendar.wm-calendar-root {
1062
+ width: 100%;
1063
+ }
1064
+
1065
+ /* WmChips: former MUI Box flex layout on chip list (display/flexWrap/gap) */
1066
+ .wm-chips-list {
1067
+ display: flex;
1068
+ flex-wrap: wrap;
1069
+ gap: 8px;
1070
+ }
1071
+
1072
+ /* WmChips SortableChip: former static margin + cursor/opacity from inline style */
1073
+ .wm-app .wm-chips-chip-item,
1074
+ .wm-chips-chip-item {
1075
+ margin: 2px;
1076
+ }
1077
+
1078
+ .wm-app .wm-chips-chip-item.wm-chips-chip-grab,
1079
+ .wm-chips-chip-item.wm-chips-chip-grab {
1080
+ cursor: grab;
1081
+ }
1082
+
1083
+ .wm-app .wm-chips-chip-item:not(.wm-chips-chip-grab),
1084
+ .wm-chips-chip-item:not(.wm-chips-chip-grab) {
1085
+ cursor: default;
1086
+ }
1087
+
1088
+ .wm-app .wm-chips-chip-item.wm-chips-chip-dragging,
1089
+ .wm-chips-chip-item.wm-chips-chip-dragging {
1090
+ opacity: 0.5;
1091
+ }
1092
+
1093
+ /* WmColorPicker: former root sx position:relative */
1094
+ .wm-app .input-group.app-colorpicker.wm-colorpicker-root,
1095
+ .input-group.app-colorpicker.wm-colorpicker-root {
1096
+ position: relative;
1097
+ }
1098
+
1099
+ /* Addon cursor: one of enabled | disabled (matches former pointer / not-allowed) */
1100
+ .wm-app .wm-colorpicker-addon-enabled,
1101
+ .wm-colorpicker-addon-enabled {
1102
+ cursor: pointer;
1103
+ }
1104
+
1105
+ .wm-app .wm-colorpicker-addon-disabled,
1106
+ .wm-colorpicker-addon-disabled {
1107
+ cursor: not-allowed;
1108
+ }
1109
+
1110
+ /* Portal popup: former styled(Box) ChromePicker wrapper (fixed + arrow + .chrome-picker chrome) */
1111
+ .wm-app .wm-colorpicker-popup,
1112
+ .wm-colorpicker-popup {
1113
+ position: fixed;
1114
+ z-index: 1300;
1115
+ top: var(--colorpicker-popup-top, 0);
1116
+ left: var(--colorpicker-popup-left, 0);
1117
+ margin-top: var(--colorpicker-popup-margin-top, 8px);
1118
+ }
1119
+
1120
+ .wm-app .wm-colorpicker-popup.wm-colorpicker-popup-direction-down::before,
1121
+ .wm-colorpicker-popup.wm-colorpicker-popup-direction-down::before {
1122
+ content: '';
1123
+ position: absolute;
1124
+ left: 8px;
1125
+ width: 0;
1126
+ height: 0;
1127
+ border-style: solid;
1128
+ z-index: 999999;
1129
+ top: -10px;
1130
+ border-width: 0 5px 10px 5px;
1131
+ border-color: transparent transparent #777 transparent;
1132
+ }
1133
+
1134
+ .wm-app .wm-colorpicker-popup.wm-colorpicker-popup-direction-up::before,
1135
+ .wm-colorpicker-popup.wm-colorpicker-popup-direction-up::before {
1136
+ content: '';
1137
+ position: absolute;
1138
+ left: 8px;
1139
+ width: 0;
1140
+ height: 0;
1141
+ border-style: solid;
1142
+ z-index: 999999;
1143
+ bottom: -10px;
1144
+ border-width: 10px 5px 0 5px;
1145
+ border-color: #777 transparent transparent transparent;
1146
+ }
1147
+
1148
+ .wm-app .wm-colorpicker-popup .chrome-picker,
1149
+ .wm-colorpicker-popup .chrome-picker {
1150
+ box-shadow:
1151
+ 0 2px 15px rgba(0, 0, 0, 0.12),
1152
+ 0 2px 10px rgba(0, 0, 0, 0.16) !important;
1153
+ height: auto;
1154
+ border: #777 solid 1px;
1155
+ cursor: default;
1156
+ user-select: none;
1157
+ background-color: #fff !important;
1158
+ border-radius: 4px;
1159
+ padding: 8px;
1160
+ width: 226px !important;
1161
+ box-sizing: border-box !important;
1162
+ }
1163
+
1164
+ .wm-app .wm-colorpicker-swatch,
1165
+ .wm-colorpicker-swatch {
1166
+ background-color: var(--colorpicker-swatch-bg, transparent);
1167
+ }
1168
+
1169
+ /* WmCheckboxset: former inline/sx styles */
1170
+ .wm-checkboxset-item-reset {
1171
+ all: unset;
1172
+ }
1173
+
1174
+ .wm-app .wm-checkboxset-input-readonly,
1175
+ .wm-checkboxset-input-readonly {
1176
+ background: transparent !important;
1177
+ }
1178
+
1179
+ .wm-app .wm-checkboxset-label-row {
1180
+ margin-bottom: 1px;
1181
+ }
1182
+
1183
+ .wm-app .wm-checkboxset-required-mark,
1184
+ .wm-checkboxset-required-mark {
1185
+ color: red;
1186
+ }
1187
+
1188
+ .wm-app .wm-checkboxset-group-list {
1189
+ padding-left: 2px;
1190
+ }
1191
+
1192
+ /* WmRadioset: former styled(List) static + collapsible/disabled + list width */
1193
+ .wm-radioset-styled-list {
1194
+ list-style-type: none;
1195
+ padding: 0;
1196
+ margin: 0;
1197
+ width: var(--radioset-list-width, 100%);
1198
+ }
1199
+
1200
+ .wm-radioset-styled-list.wm-radioset-list-collapsible
1201
+ li.app-list-item-group
1202
+ ul.item-group {
1203
+ padding: 0;
1204
+ display: none;
1205
+ }
1206
+
1207
+ .wm-radioset-styled-list.wm-radioset-list-collapsible
1208
+ li.app-list-item-group
1209
+ ul.collapse-open {
1210
+ display: block;
1211
+ }
1212
+
1213
+ .wm-radioset-styled-list.wm-radioset-list-disabled {
1214
+ opacity: 0.5;
1215
+ user-select: none;
1216
+ }
1217
+
1218
+ /* WmSwitch: former root / btn-group inline layout */
1219
+ .wm-app .app-switch.wm-switch-root {
1220
+ overflow: auto;
1221
+ }
1222
+
1223
+ .wm-app .app-switch .wm-switch-inner {
1224
+ overflow: visible;
1225
+ position: relative;
1226
+ }
1227
+
1228
+ /* WmFileUpload */
1229
+ .wm-app .app-fileupload.wm-fileupload-root {
1230
+ width: 100%;
1231
+ }
1232
+
1233
+ .wm-app input.file-input.wm-fileupload-file-input {
1234
+ display: none;
1235
+ }
1236
+
1237
+ .wm-app .file-list-container.wm-fileupload-file-list-container {
1238
+ overflow: auto;
1239
+ max-height: var(--fileupload-list-max-height) px;
1240
+ }
1241
+
1242
+ .wm-fileupload-media-full-width {
1243
+ width: 100%;
1244
+ }
1245
+
1246
+ /* WmNumber: former TextField static sx; dynamic props.styles on sx + htmlInput (type=text) */
1247
+ .wm-number-textfield {
1248
+ width: 100%;
1249
+ }
1250
+
1251
+ .wm-number-textfield.wm-number-textfield-disabled .wm-number-slot-input {
1252
+ -webkit-text-fill-color: inherit;
1253
+ }
1254
+
1255
+ .wm-number-helper-text {
1256
+ margin-left: 0;
1257
+ }
1258
+
1259
+ .wm-number-helper-text.wm-number-helper-text-error {
1260
+ color: #ee5f5b;
1261
+ }
1262
+
1263
+ /* WmRating only: single-class hooks (not the default pattern for other widgets — see wm-csp-widget-styles Rule 6) */
1264
+ .wm-rating-star {
1265
+ transition: all 0.2s ease-in-out;
1266
+ font-size: var(--wm-rating-star-font-size, inherit);
1267
+ color: var(--wm-rating-star-color, #ccc);
1268
+ border: 1px solid var(--wm-rating-star-border-color, transparent);
1269
+ }
1270
+
1271
+ .wm-rating-star-icon {
1272
+ color: inherit;
1273
+ }
1274
+
1275
+ .wm-rating-star.wm-rating-star-readonly {
1276
+ opacity: 0.5;
1277
+ pointer-events: none;
1278
+ }
1279
+
1280
+ /* WmSelect inline styles */
1281
+ .wm-app .app-select optgroup {
1282
+ background-color: rgba(0, 0, 0, 0.1);
1283
+ }
1284
+
1285
+ /* WmSlider inline styles */
1286
+ .wm-app .app-slider.slider .slider-container .slider-control.wm-slider-control {
1287
+ --end: var(--wm-slider-end);
1288
+ }
1289
+
1290
+ .wm-app
1291
+ .app-slider.slider
1292
+ .marker-container
1293
+ .marker-wrapper.wm-slider-marker-wrapper {
1294
+ left: var(--wm-slider-marker-left);
1295
+ }
1296
+
1297
+ /* WmText: former TextField static sx (kept low-specificity like sx output) */
1298
+ .wm-text-input:disabled {
1299
+ -webkit-text-fill-color: inherit;
1300
+ }
1301
+
1302
+ .wm-text-helper-text {
1303
+ margin-left: 0;
1304
+ }
1305
+
1306
+ .wm-text-helper-text.wm-text-helper-text-error {
1307
+ color: #ee5f5b;
1308
+ }
1309
+
1310
+ /* WmTextarea: former TextField static sx */
1311
+ .wm-textarea-root {
1312
+ width: 100%;
1313
+ }
1314
+
1315
+ .wm-textarea-input {
1316
+ height: var(--wm-textarea-height, auto) !important;
1317
+ }
1318
+
1319
+ /* WmUpload inline styles */
1320
+ .wm-upload-existing-image {
1321
+ height: 2em;
1322
+ }
1323
+
1324
+ /* WmTime: former TimePicker popper sx */
1325
+ .wm-timepicker-popper .MuiPaper-root {
1326
+ background: var(--wm-timepicker-background);
1327
+ padding: var(--wm-timepicker-padding);
1328
+ border-radius: var(--wm-timepicker-border-radius);
1329
+ width: auto;
1330
+ box-shadow: none;
1331
+ }
1332
+
1333
+ .wm-timepicker-popper .Mui-selected,
1334
+ .wm-timepicker-popper .Mui-selected:hover {
1335
+ background-color: var(--wm-btn-secondary-background) !important;
1336
+ color: var(--wm-btn-secondary-color) !important;
1337
+ }
1338
+
1339
+ /* WmDate DatePickerPopover — chained hooks for popover/calendar (dynamic width via --wm-datepicker-calendar-width on root) */
1340
+ .wm-datepicker-popover .MuiPopover-paper {
1341
+ box-shadow:
1342
+ 0px 3px 3px -2px rgba(0, 0, 0, 0.2),
1343
+ 0px 3px 4px 0px rgba(0, 0, 0, 0.14),
1344
+ 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
1345
+ border-radius: 4px;
1346
+ }
1347
+
1348
+ .wm-app .app-date.wm-datepicker-popover .MuiDateCalendar-root {
1349
+ width: var(--wm-datepicker-calendar-width);
1350
+ }
1351
+
1352
+ .wm-app .app-date.wm-datepicker-popover .wm-datepicker-popover-paper {
1353
+ width: auto;
1354
+ padding-bottom: 2px;
1355
+ background: var(--wm-datepicker-background);
1356
+ }
1357
+
1358
+ .wm-app .app-date.wm-datepicker-popover .wm-datepicker-button-bar {
1359
+ display: flex;
1360
+ justify-content: space-between;
1361
+ padding-left: 2px;
1362
+ padding-right: 2px;
1363
+ margin-top: 1px;
1364
+ }
1365
+
1366
+ .wm-app .app-date.wm-datepicker-popover .wm-datepicker-bar-btn {
1367
+ --wm-btn-color: var(--wm-color-primary);
1368
+ --wm-btn-state-layer-color: var(--wm-color-primary);
1369
+ background: none;
1370
+ border: none;
1371
+ }
1372
+
1373
+ /* WmDateTime — former styled.ts (single-class roots; calendar width stays sx on popper) */
1374
+ .wm-datetime-html-input {
1375
+ box-sizing: inherit !important;
1376
+ }
1377
+
1378
+ .wm-datetime-picker-textfield-hidden {
1379
+ display: none !important;
1380
+ }
1381
+
1382
+ .wm-datetime-input-label {
1383
+ background-color: white;
1384
+ }
1385
+
1386
+ .wm-datetime-input-label.MuiInputLabel-shrink {
1387
+ transform: translate(14px, -9px) scale(0.75);
1388
+ transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
1389
+ }
1390
+
1391
+ .wm-datetime-input-label:not(.MuiInputLabel-shrink) {
1392
+ transform: translate(14px, 16px) scale(1);
1393
+ transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
1394
+ }
1395
+
1396
+ .wm-datetime-date-picker-popper .MuiPaper-root {
1397
+ background: var(--wm-datepicker-background);
1398
+ padding: var(--wm-datepicker-padding);
1399
+ border-radius: var(--wm-datepicker-border-radius);
1400
+ }
1401
+
1402
+ .wm-datetime-date-picker-popper .MuiDateCalendar-root {
1403
+ width: var(--wm-datetime-calendar-width, 370px);
1404
+ }
1405
+
1406
+ .wm-datetime-date-picker-popper .MuiDayCalendar-header {
1407
+ justify-content: space-evenly;
1408
+ }
1409
+
1410
+ .wm-datetime-date-picker-popper .MuiDayCalendar-weekNumber {
1411
+ margin-top: 10px;
1412
+ text-align: center;
1413
+ }
1414
+
1415
+ .wm-datetime-date-picker-popper .MuiDayCalendar-slideTransition {
1416
+ min-height: 260px;
1417
+ }
1418
+
1419
+ .wm-datetime-date-picker-popper .MuiDayCalendar-weekNumberLabel {
1420
+ width: 32px !important;
1421
+ padding: 0 !important;
1422
+ }
1423
+
1424
+ .wm-datetime-date-picker-popper .MuiTypography-caption {
1425
+ padding: 0 24px;
1426
+ }
1427
+
1428
+ .wm-datetime-date-picker-popper .MuiYearCalendar-root {
1429
+ width: auto;
1430
+ }
1431
+
1432
+ .wm-datetime-date-picker-popper .MuiPickersDay-root.Mui-selected {
1433
+ background-color: var(--wm-btn-secondary-background) !important;
1434
+ color: var(--wm-btn-secondary-color);
1435
+ font-weight: bold;
1436
+ }
1437
+
1438
+ .wm-datetime-date-picker-popper .MuiMonthCalendar-button.Mui-selected {
1439
+ background-color: var(--wm-btn-secondary-background) !important;
1440
+ color: var(--wm-btn-secondary-color);
1441
+ font-weight: bold;
1442
+ }
1443
+
1444
+ .wm-datetime-date-picker-popper .MuiPickersDay-root.Mui-selected:hover {
1445
+ background-color: var(--wm-btn-secondary-background);
1446
+ color: var(--wm-btn-secondary-color);
1447
+ }
1448
+
1449
+ .wm-datetime-date-picker-popper .MuiYearCalendar-button.Mui-selected {
1450
+ background-color: var(--wm-btn-secondary-background) !important;
1451
+ color: var(--wm-btn-secondary-color);
1452
+ font-weight: bold;
1453
+ }
1454
+
1455
+ .wm-datetime-date-picker-popper .MuiPickersDay-today {
1456
+ background-color: transparent !important;
1457
+ }
1458
+
1459
+ .wm-datetime-time-picker-popper .MuiPickersLayout-root {
1460
+ display: inline-block;
1461
+ }
1462
+
1463
+ .wm-datetime-time-picker-popper .MuiPaper-root {
1464
+ background: var(--wm-timepicker-background);
1465
+ padding: var(--wm-timepicker-padding);
1466
+ border-radius: var(--wm-timepicker-border-radius);
1467
+ }
1468
+
1469
+ .wm-datetime-time-picker-popper .Mui-selected,
1470
+ .wm-datetime-time-picker-popper .Mui-selected:hover {
1471
+ background-color: var(--wm-btn-secondary-background) !important;
1472
+ color: var(--wm-btn-secondary-color) !important;
1473
+ }
1474
+
1475
+ .wm-datetime-datepicker-action-bar .MuiButton-root {
1476
+ --wm-btn-color: var(--wm-color-primary);
1477
+ --wm-btn-state-layer-color: var(--wm-color-primary);
1478
+ background: none;
1479
+ border: none;
1480
+ }
1481
+
1482
+ /* WmAccordionPane — former inline flex on title row (styles/static extraction → scoped chain; not sx) */
1483
+ .wm-app .app-accordion-panel.panel .wm-accordion-pane-title-main {
1484
+ flex: 1;
1485
+ }
1486
+
1487
+ /* --------------------------------------------------------------------------
1488
+ Layout grid — root min-width (static; designer styles still merge via inline)
1489
+ -------------------------------------------------------------------------- */
1490
+
1491
+ .wm-app .app-grid-layout.clearfix.wm-layout-grid-root {
1492
+ min-width: 100%;
1493
+ }
1494
+
1495
+ /* --------------------------------------------------------------------------
1496
+ Panel — header image icon (defaults; optional --wm-panel-icon-* from runtime)
1497
+ -------------------------------------------------------------------------- */
1498
+
1499
+ .wm-app .app-panel.panel .wm-panel-header-icon-img {
1500
+ width: var(--wm-panel-icon-width);
1501
+ height: var(--wm-panel-icon-height);
1502
+ margin: var(--wm-panel-icon-margin);
1503
+ }
1504
+
1505
+ /* --------------------------------------------------------------------------
1506
+ Tabs + TabPane — extracted from inline styles (static + state classes)
1507
+ -------------------------------------------------------------------------- */
1508
+
1509
+ .wm-app .app-tabs.clearfix .wm-tabs-heading {
1510
+ cursor: pointer;
1511
+ gap: var(--wm-anchor-gap);
1512
+ }
1513
+
1514
+ .wm-app .app-tabs.clearfix .wm-tabs-heading.wm-tabs-heading-disabled {
1515
+ cursor: not-allowed;
1516
+ }
1517
+
1518
+ .wm-app
1519
+ .app-tabs.clearfix
1520
+ .tab-content.wm-tabs-content.wm-tabs-content-vertical {
1521
+ flex: 1;
1522
+ min-width: 0;
1523
+ }
1524
+
1525
+ .wm-app .app-tabs.clearfix .tab-pane.wm-tab-pane-root {
1526
+ width: 100%;
1527
+ }
1528
+
1529
+ .wm-app .app-tabs.clearfix .tab-pane.wm-tab-pane-root.wm-tab-pane-active {
1530
+ display: block;
1531
+ }
1532
+
1533
+ .wm-app .app-tabs.clearfix .tab-pane.wm-tab-pane-root.wm-tab-pane-inactive {
1534
+ display: none;
1535
+ }
1536
+
1537
+ /* --------------------------------------------------------------------------
1538
+ App-Spinner — root for list (defaults; optional --wm-spinner-* from runtime)
1539
+ -------------------------------------------------------------------------- */
1540
+
1541
+ .wm-app .app-spinner.wm-spinner-root {
1542
+ z-index: 100;
1543
+ }
1544
+
1545
+ /* --------------------------------------------------------------------------
1546
+ WmCard — static presentation (dynamic: Card width/height; CardMedia maxHeight)
1547
+ -------------------------------------------------------------------------- */
1548
+
1549
+ .wm-app .app-card.card .app-card-avatar .wm-card-avatar-img {
1550
+ border-radius: 50%;
1551
+ }
1552
+
1553
+ .wm-app .app-card.card .app-card-image.wm-card-media-root {
1554
+ padding: 0;
1555
+ margin: 0;
1556
+ background-color: transparent;
1557
+ }
1558
+
1559
+ .wm-app
1560
+ .app-card.card
1561
+ .app-card-image.wm-card-media-root
1562
+ .card-image.wm-card-media-img {
1563
+ width: 100%;
1564
+ height: 100%;
1565
+ }
1566
+
1567
+ .wm-app .app-card-content.wm-card-content-root {
1568
+ padding: 0;
1569
+ margin: 0;
1570
+ background-color: transparent;
1571
+ }
1572
+
1573
+ .wm-app .app-card-content.wm-card-content-root:last-child {
1574
+ padding-bottom: 0;
1575
+ }
1576
+
1577
+ /* * --------------------------------------------------------------------------
1578
+ WmCard — static presentation (dynamic: Card width/height; CardMedia maxHeight)
1579
+ -------------------------------------------------------------------------- */
1580
+
1581
+ .wm-app .app-card.card .app-card-avatar .wm-card-avatar-img {
1582
+ border-radius: 50%;
1583
+ }
1584
+
1585
+ .wm-app .app-card.card .app-card-image.wm-card-media-root {
1586
+ padding: 0;
1587
+ margin: 0;
1588
+ background-color: transparent;
1589
+ }
1590
+
1591
+ .wm-app
1592
+ .app-card.card
1593
+ .app-card-image.wm-card-media-root
1594
+ .card-image.wm-card-media-img {
1595
+ width: 100%;
1596
+ height: 100%;
1597
+ }
1598
+
1599
+ .wm-app .app-card-content.wm-card-content-root {
1600
+ padding: 0;
1601
+ margin: 0;
1602
+ background-color: transparent;
1603
+ }
1604
+
1605
+ .wm-app .app-card-content.wm-card-content-root:last-child {
1606
+ padding-bottom: 0;
1607
+ }
1608
+
1609
+ /* * --------------------------------------------------------------------------
1610
+ WmButton — inline css
1611
+ -------------------------------------------------------------------------- */
1612
+
1613
+ .wm-app .btn.app-button.Mui-disabled {
1614
+ pointer-events: auto !important;
1615
+ color: var(--wm-btn-color) !important;
1616
+ }
1617
+