@stechquick/studio-cli 4.2.0-1 → 4.2.0-3

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 (358) hide show
  1. package/dist/common/helpers/aiKitResolver.js +11 -5
  2. package/dist/common/helpers/aiKitResolver.js.map +1 -1
  3. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/buildqjson.md +35 -0
  4. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/cli-bridge.md +97 -0
  5. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +48 -0
  6. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/sync.md +50 -0
  7. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/index.md +23 -0
  8. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/concepts.md +39 -0
  9. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/README.md +18 -0
  10. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consent-check-using-container-methods.qjson +1314 -0
  11. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consent-check-using-hosttrigger.qjson +1301 -0
  12. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consentHostMethods.container +81 -0
  13. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/dataroid.qjson +692 -0
  14. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-appbar.qjson +674 -0
  15. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-footer.qjson +627 -0
  16. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-page-example-with-appbar-and-footer.qjson +1122 -0
  17. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-payment-page-paymentComp-usage.qjson +1262 -0
  18. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/analytics-and-logging.md +45 -0
  19. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/host-functions.md +88 -0
  20. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/miniapp-page-structure.md +65 -0
  21. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/navigation-and-lifecycle.md +29 -0
  22. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/platform-payments.md +54 -0
  23. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/index.md +40 -0
  24. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-app-image.json +53 -0
  25. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-functions.container +145 -0
  26. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-functions.json +109 -0
  27. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/paymentComp.qjson +1867 -0
  28. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/platform-components.json +105 -0
  29. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/README.md +11 -0
  30. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/AllowdDates.qjson +126 -0
  31. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartEvents.qjson +323 -0
  32. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartTitle.qjson +411 -0
  33. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartYTicks.qjson +399 -0
  34. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
  35. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
  36. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/CalendarUsageExample.qjson +2 -0
  37. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/ChartLegendFont.qjson +788 -0
  38. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DataTable_customSort.qjson +277 -0
  39. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
  40. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DoughnutChartEvents.qjson +243 -0
  41. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
  42. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Icon_Samples.qjson +181 -0
  43. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Instructions.request.qjson +584 -0
  44. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Intersect.qjson +404 -0
  45. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LightBox.qjson +777 -0
  46. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart.qjson +1049 -0
  47. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChartEvents.qjson +327 -0
  48. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChartPointProps.qjson +416 -0
  49. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
  50. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
  51. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/MMDelay.qjson +384 -0
  52. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/MMtrigger.qjson +209 -0
  53. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerExample.qjson +899 -0
  54. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
  55. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Parallax.qjson +416 -0
  56. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/PieChart.qjson +1103 -0
  57. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QCaptcha.qjson +409 -0
  58. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QDocumentViewer.qjson +149 -0
  59. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
  60. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QFrameExample.qjson +213 -0
  61. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QIdleTimer.qjson +221 -0
  62. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomRotate.qjson +432 -0
  63. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
  64. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
  65. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
  66. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/VList_NavMenu.qjson +3008 -0
  67. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/alertSamplePage.qjson +450 -0
  68. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/authorizationDashboard.qjson +24914 -0
  69. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/badge.qjson +151 -0
  70. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
  71. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/breadcrumbs.qjson +563 -0
  72. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/button.qjson +1658 -0
  73. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/cellTemplate.qjson +96 -0
  74. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/combobox.qjson +109 -0
  75. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/comboboxSelected.qjson +119 -0
  76. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/createChildren.qjson +411 -0
  77. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/createClosedPanes.qjson +265 -0
  78. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/creditcard.qjson +49 -0
  79. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/crypto.qjson +5632 -0
  80. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
  81. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/customStore.qjson +157 -0
  82. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dataTableFormatColumn.qjson +151 -0
  83. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/data_table_component_access.qjson +130 -0
  84. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
  85. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
  86. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
  87. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/deleteComponent.qjson +501 -0
  88. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/divider.qjson +180 -0
  89. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxColumncssClass.qjson +249 -0
  90. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
  91. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridLines.qjson +121 -0
  92. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridRemove.qjson +209 -0
  93. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
  94. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridUpdate.qjson +80 -0
  95. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxMasterDetail.qjson +257 -0
  96. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
  97. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxRowDragging.qjson +175 -0
  98. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
  99. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
  100. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
  101. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dynamicComp.qjson +156 -0
  102. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
  103. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/email.qjson +177 -0
  104. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/encoding.qjson +304 -0
  105. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
  106. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
  107. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/images.qjson +1379 -0
  108. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/images_olddd.qjson +1366 -0
  109. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/newCustomerRegister.qjson +2598 -0
  110. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/number.qjson +169 -0
  111. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/number_VTextarea.qjson +163 -0
  112. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/onlyAlphabetic.qjson +164 -0
  113. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/parentPage.qjson +351 -0
  114. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/pipeline.qjson +78 -0
  115. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/pipelineSample.qjson +410 -0
  116. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/placeQidDynamic.qjson +289 -0
  117. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/progress-circular.qjson +1014 -0
  118. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/samplePageLottie.qjson +696 -0
  119. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
  120. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
  121. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/index.md +153 -0
  122. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/13-application.md +164 -0
  123. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/alert-component.md +91 -0
  124. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/appSettings.md +204 -0
  125. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +63 -0
  126. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +71 -0
  127. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-intellisense.md +42 -0
  128. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/global-localization.md +78 -0
  129. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/loading-component.md +61 -0
  130. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/local-proxy-file.md +62 -0
  131. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/pipeline.md +139 -0
  132. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/settings-file.md +66 -0
  133. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/style-file.md +58 -0
  134. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/theme.md +58 -0
  135. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/components.md +105 -0
  136. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/container-configuration.md +157 -0
  137. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/dynamic-components.md +169 -0
  138. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/events-and-scripting.md +79 -0
  139. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +15 -0
  140. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +64 -0
  141. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/localization.md +40 -0
  142. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons-legacy.md +15 -0
  143. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons.md +111 -0
  144. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/properties.md +77 -0
  145. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure-legacy.md +15 -0
  146. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure.md +67 -0
  147. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/services.md +68 -0
  148. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/styling-legacy.md +15 -0
  149. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/styling.md +177 -0
  150. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/validation-legacy.md +15 -0
  151. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/validation.md +56 -0
  152. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/legacy-track.md +15 -0
  153. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +15 -0
  154. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +144 -0
  155. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-contracts.json +16920 -0
  156. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-index.json +266 -0
  157. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-styles.json +7128 -0
  158. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/events-system.md +96 -0
  159. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/layout-system.md +15 -0
  160. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/mapping-S-vuetify-class.md +103 -0
  161. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/qjson-schema-legacy.md +15 -0
  162. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/qjson-schema.md +188 -0
  163. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/quick-api.json +1746 -0
  164. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/quick-api.md +284 -0
  165. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/styling-system.md +193 -0
  166. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/s-track.md +30 -0
  167. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/skills/quick-qjson/SKILL.md +10 -0
  168. package/dist/studio-cli/kits/miniapp-app-kit/.claude/skills/figma-to-qjson/SKILL.md +116 -0
  169. package/dist/studio-cli/kits/miniapp-app-kit/.claude/skills/quick-qjson/SKILL.md +10 -0
  170. package/dist/studio-cli/kits/miniapp-app-kit/.mcp.json +8 -0
  171. package/dist/studio-cli/kits/miniapp-app-kit/.opencode/opencode.json +19 -0
  172. package/dist/studio-cli/kits/miniapp-app-kit/.opencode/skills/figma-to-qjson/SKILL.md +116 -0
  173. package/dist/studio-cli/kits/miniapp-app-kit/.opencode/skills/quick-qjson/SKILL.md +10 -0
  174. package/dist/studio-cli/kits/miniapp-app-kit/AGENTS.md +24 -0
  175. package/dist/studio-cli/kits/miniapp-app-kit/CLAUDE.md +24 -0
  176. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/buildqjson.md +35 -0
  177. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/cli-bridge.md +97 -0
  178. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +48 -0
  179. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/sync.md +50 -0
  180. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/index.md +22 -0
  181. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/README.md +11 -0
  182. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/AllowdDates.qjson +126 -0
  183. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartEvents.qjson +323 -0
  184. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartTitle.qjson +411 -0
  185. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartYTicks.qjson +399 -0
  186. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
  187. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
  188. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/CalendarUsageExample.qjson +2 -0
  189. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/ChartLegendFont.qjson +788 -0
  190. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DataTable_customSort.qjson +277 -0
  191. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
  192. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DoughnutChartEvents.qjson +243 -0
  193. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
  194. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Icon_Samples.qjson +181 -0
  195. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Instructions.request.qjson +584 -0
  196. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Intersect.qjson +404 -0
  197. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LightBox.qjson +777 -0
  198. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart.qjson +1049 -0
  199. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChartEvents.qjson +327 -0
  200. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChartPointProps.qjson +416 -0
  201. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
  202. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
  203. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/MMDelay.qjson +384 -0
  204. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/MMtrigger.qjson +209 -0
  205. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerExample.qjson +899 -0
  206. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
  207. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Parallax.qjson +416 -0
  208. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/PieChart.qjson +1103 -0
  209. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QCaptcha.qjson +409 -0
  210. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QDocumentViewer.qjson +149 -0
  211. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
  212. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QFrameExample.qjson +213 -0
  213. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QIdleTimer.qjson +221 -0
  214. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomRotate.qjson +432 -0
  215. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
  216. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
  217. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
  218. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/VList_NavMenu.qjson +3008 -0
  219. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/alertSamplePage.qjson +450 -0
  220. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/authorizationDashboard.qjson +24914 -0
  221. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/badge.qjson +151 -0
  222. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
  223. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/breadcrumbs.qjson +563 -0
  224. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/button.qjson +1658 -0
  225. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/cellTemplate.qjson +96 -0
  226. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/combobox.qjson +109 -0
  227. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/comboboxSelected.qjson +119 -0
  228. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/createChildren.qjson +411 -0
  229. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/createClosedPanes.qjson +265 -0
  230. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/creditcard.qjson +49 -0
  231. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/crypto.qjson +5632 -0
  232. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
  233. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/customStore.qjson +157 -0
  234. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dataTableFormatColumn.qjson +151 -0
  235. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/data_table_component_access.qjson +130 -0
  236. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
  237. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
  238. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
  239. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/deleteComponent.qjson +501 -0
  240. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/divider.qjson +180 -0
  241. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxColumncssClass.qjson +249 -0
  242. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
  243. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridLines.qjson +121 -0
  244. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridRemove.qjson +209 -0
  245. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
  246. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridUpdate.qjson +80 -0
  247. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxMasterDetail.qjson +257 -0
  248. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
  249. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxRowDragging.qjson +175 -0
  250. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
  251. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
  252. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
  253. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dynamicComp.qjson +156 -0
  254. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
  255. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/email.qjson +177 -0
  256. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/encoding.qjson +304 -0
  257. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
  258. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
  259. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/images.qjson +1379 -0
  260. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/images_olddd.qjson +1366 -0
  261. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/newCustomerRegister.qjson +2598 -0
  262. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/number.qjson +169 -0
  263. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/number_VTextarea.qjson +163 -0
  264. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/onlyAlphabetic.qjson +164 -0
  265. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/parentPage.qjson +351 -0
  266. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/pipeline.qjson +78 -0
  267. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/pipelineSample.qjson +410 -0
  268. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/placeQidDynamic.qjson +289 -0
  269. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/progress-circular.qjson +1014 -0
  270. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/samplePageLottie.qjson +696 -0
  271. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
  272. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
  273. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/index.md +112 -0
  274. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/13-application.md +164 -0
  275. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/alert-component.md +91 -0
  276. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/appSettings.md +204 -0
  277. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +63 -0
  278. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +71 -0
  279. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-intellisense.md +42 -0
  280. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/global-localization.md +78 -0
  281. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/loading-component.md +61 -0
  282. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/local-proxy-file.md +62 -0
  283. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/pipeline.md +139 -0
  284. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/settings-file.md +66 -0
  285. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/style-file.md +58 -0
  286. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/theme.md +58 -0
  287. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/components.md +105 -0
  288. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/container-configuration.md +157 -0
  289. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/dynamic-components.md +169 -0
  290. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/events-and-scripting.md +79 -0
  291. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +15 -0
  292. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +64 -0
  293. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/localization.md +40 -0
  294. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons-legacy.md +15 -0
  295. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons.md +111 -0
  296. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/properties.md +77 -0
  297. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure-legacy.md +15 -0
  298. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure.md +67 -0
  299. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/services.md +68 -0
  300. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/styling-legacy.md +15 -0
  301. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/styling.md +177 -0
  302. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/validation-legacy.md +15 -0
  303. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/validation.md +56 -0
  304. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/legacy-track.md +15 -0
  305. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +15 -0
  306. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +144 -0
  307. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-contracts.json +16920 -0
  308. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-index.json +266 -0
  309. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-styles.json +7128 -0
  310. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/events-system.md +96 -0
  311. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/layout-system.md +15 -0
  312. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/mapping-S-vuetify-class.md +103 -0
  313. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/qjson-schema-legacy.md +15 -0
  314. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/qjson-schema.md +188 -0
  315. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/quick-api.json +1746 -0
  316. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/quick-api.md +284 -0
  317. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/styling-system.md +193 -0
  318. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/s-track.md +30 -0
  319. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/skills/quick-qjson/SKILL.md +10 -0
  320. package/dist/studio-cli/kits/mobile-app-kit/.claude/skills/figma-to-qjson/SKILL.md +116 -0
  321. package/dist/studio-cli/kits/mobile-app-kit/.claude/skills/quick-qjson/SKILL.md +10 -0
  322. package/dist/studio-cli/kits/mobile-app-kit/.mcp.json +8 -0
  323. package/dist/studio-cli/kits/mobile-app-kit/.opencode/opencode.json +19 -0
  324. package/dist/studio-cli/kits/mobile-app-kit/.opencode/skills/figma-to-qjson/SKILL.md +116 -0
  325. package/dist/studio-cli/kits/mobile-app-kit/.opencode/skills/quick-qjson/SKILL.md +10 -0
  326. package/dist/studio-cli/kits/mobile-app-kit/AGENTS.md +23 -0
  327. package/dist/studio-cli/kits/mobile-app-kit/CLAUDE.md +23 -0
  328. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/index.md +5 -0
  329. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +2 -2
  330. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +3 -3
  331. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/components.md +22 -14
  332. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +1 -1
  333. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +1 -1
  334. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +4 -0
  335. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +4 -0
  336. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-index.json +1 -1
  337. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/layout-system.md +1 -1
  338. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/styling-system.md +1 -1
  339. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/index.md +5 -0
  340. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +2 -2
  341. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +3 -3
  342. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/components.md +22 -14
  343. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +1 -1
  344. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +1 -1
  345. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +4 -0
  346. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +4 -0
  347. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-index.json +1 -1
  348. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/layout-system.md +1 -1
  349. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/styling-system.md +1 -1
  350. package/dist/studio-cli/src/control/kitInstall.js +28 -1
  351. package/dist/studio-cli/src/control/kitInstall.js.map +1 -1
  352. package/dist/studio-cli/src/control/pull.js +6 -3
  353. package/dist/studio-cli/src/control/pull.js.map +1 -1
  354. package/dist/studio-cli/src/version.js +1 -1
  355. package/package.json +1 -1
  356. package/dist/studio-cli/kits/super-app-kit/.ai-kit/coming-soon.md +0 -0
  357. package/dist/studio-cli/kits/super-app-kit/AGENTS.md +0 -0
  358. package/dist/studio-cli/kits/super-app-kit/CLAUDE.md +0 -0
@@ -0,0 +1,64 @@
1
+ # Layout & Slots (`C` and `O`) — `S` system
2
+
3
+ > ⚠️ **STOP — before applying any rule below, confirm which style system the target page is on.** Read its root-level `opt.V` (and whether its nodes carry an `S` object): **`opt.V >= 2.0` / has `S` → S system**; **`opt.V` missing or `< 2.0` → legacy**. The two systems are not interchangeable on a page. Unsure how to route? → [index.md Step 0](../index.md).
4
+ >
5
+ > **This file is the `S` track.** Grid width, flex direction/align/justify, and spacing are authored as `S` params (how-to: [styling.md](styling.md)); `O.layout` is not authored. On a **legacy** page instead → [layout-and-slots-legacy.md](layout-and-slots-legacy.md).
6
+
7
+ ## Children (`C`) — grouped by slot
8
+
9
+ ```json
10
+ "C": {
11
+ "default": { "c": [ /* children */ ], "cType": "slot" },
12
+ "item.actions": { "c": [ /* per-row cells */ ], "cType": "scopedSlot" }
13
+ }
14
+ ```
15
+
16
+ `cType` (from `CType` enum):
17
+ | value | meaning |
18
+ |-------|---------|
19
+ | `"slot"` | normal named slot (most visible UI) |
20
+ | `"child"` | structural child (`Messaging`, service component, `Ghost`) |
21
+ | `"scopedSlot"` | per-item callback slot — `item.<field>` is available in child bindings (e.g. `VDataTable` `item.<col>`) |
22
+
23
+ The slot **key** is the slot name; `default` is the main slot. Leaves use `"C": {}`.
24
+
25
+ ## Options (`O`) — cType only
26
+
27
+ ```json
28
+ "O": { "cType": "slot" }
29
+ ```
30
+
31
+ `O.cType` mirrors the node's slot context and is always authored. Do **not** author `O.layout` (`dOpt`/`class`) here — that is the legacy mechanism; on an `S`-system page grid width, flex direction, align, justify, and spacing all go in `S` instead ([styling.md](styling.md)).
32
+
33
+ Breakpoint device ranges — the boundaries `S` resolution ranges like `"xs-xl"`/`"md-xl"` are built from:
34
+
35
+ | Key | Device | Range |
36
+ |-----|--------|-------|
37
+ | `xs` | Mobile | 0–600px |
38
+ | `sm` | Tablet | 600–960px |
39
+ | `md` | Laptop | 960–1264px |
40
+ | `lg` | Desktop | 1264–1904px |
41
+ | `xl` | TV | 1904px+ |
42
+
43
+ ## The grid: VContainer → VRow → VCol
44
+ ```
45
+ VContainer (class "container container--fluid")
46
+ └─ VRow (12 columns, default align-items: stretch)
47
+ └─ VCol (width via S.col)
48
+ └─ VCard / content
49
+ ```
50
+
51
+ ### Containment rules (editor-enforced placement)
52
+ The Studio editor enforces these on drag-drop (source: component extensions `acceptableParentComps`/`acceptableChildComps`; official `layout.md`). They're best practice — runtime/Vuetify is lenient, but **author to these** so the Studio editor accepts the tree as-is:
53
+ - **`VCol` must be a child of `VRow`** and must not sit at the page root. (`layout.md`: "You cannot use VCol alone or within any other components. Always use VCol with VRow as its parent.")
54
+ - **`VRow` should contain only `VCol`** children — put content inside a `VCol`, not directly in the `VRow`.
55
+ - **`VFooter` accepts only `VContainer`** children.
56
+ - Container components with item parts must hold their documented item components: `VStepper`→`VStepperStep`/`VStepperContent`, `VExpansionPanels`→`VExpansionPanel`, `VCarousel`→`VCarouselItem`, `VTabs` holds `VTab`/`VTabItem` as **sibling pairs** (not nested; see [components.md](components.md) Tabs).
57
+ - Canonical wrapper for a page: `VContainer > VRow > VCol > content`.
58
+
59
+ Follow the editor's placement rules. Machine-readable rules: [../reference/component-index.json](../reference/component-index.json) `containmentRules`.
60
+
61
+ **Width, stacking, equal-height cards.** Set a `VCol`'s width with **`S.col`** (1–12, range-keyed, e.g. `"xs-xl": {"col":"3"}`). `VCol` is itself a flex container whose direction is **not** column unless you set it — left unset it lays children out as a row, so two components dropped straight into a `VCol` render side-by-side instead of stacked; fix with **`S.flexDirection: "column"`** on that `VCol`. Worked examples (stacked label/value, equal-height cards) + the full param list: [styling.md](styling.md).
62
+
63
+ ## Scoped slots in tables
64
+ Custom cells use a `C` key `item.<columnValue>` with `cType:"scopedSlot"`. Inside it, `item.<field>` reads the row; for `VDataTable.click:row` the row arrives as the `index` param (`"P":"index:any,row:any"`). See [components.md](components.md).
@@ -0,0 +1,40 @@
1
+ # Localization (`lrids`, `LR`)
2
+
3
+ ## `lrids` structure — by language code, values single-quoted
4
+ ```json
5
+ "lrids": {
6
+ "tr-TR": { "save": "'Kaydet'", "userName": "'Kullanıcı Adı:'" },
7
+ "en-US": { "save": "'Save'", "userName": "'User Name:'" }
8
+ }
9
+ ```
10
+ - Group by language code (`tr-TR`, `en-US`, …).
11
+ - Every value is a single-quoted string (same quoting model as prop `H`).
12
+ - Every key used by `LR`/`quick.LR` must exist in **all** required languages.
13
+ - **Omit `clrids` entirely** — the compiler generates it on import (compiled values look like `╬'Kaydet'╩╩`). Never author `clrids`, and strip it from any existing file you edit.
14
+
15
+ ## Context rule: `LR` in props, `quick.LR` in events
16
+ | Context | Use |
17
+ |---------|-----|
18
+ | Props (`P.H`, QScript) | bare `LR('key')` |
19
+ | Events (`E.H`, TS) | `quick.LR('key')` |
20
+
21
+ Props:
22
+ ```json
23
+ "text": { "H": "LR('save')", "T": "prop" }
24
+ ```
25
+ Events:
26
+ ```typescript
27
+ quick.Quick.alert({ text: quick.LR('genericError'), category:'Error', actionButtons:[{name: quick.LR('ok'), type:'Confirm'}] });
28
+ ```
29
+ `quick.LR(key, dataSource?)` returns the localized string. Never call `quick.LR` inside a prop.
30
+
31
+ ## Static vs localized text
32
+ Static = a quoted literal (`"H": "'Kaydet'"`); localized = wrap the key (`"H": "LR('save')"`). Apostrophe inside a QScript string is doubled: `'Premium''u'`.
33
+
34
+ ## Workflow
35
+ 1. Pick a stable key.
36
+ 2. Add it under every language block in `lrids`.
37
+ 3. Reference with `LR('key')` (props) / `quick.LR('key')` (events).
38
+ 4. Verify no language is missing the key before finishing.
39
+
40
+ There is also a runtime `quick.importLocalization(langCode, {...})` and global localization qjsons in some projects — but for a single page, `lrids` is what you author.
@@ -0,0 +1,15 @@
1
+ # STOP — legacy pages cannot be edited in this workspace
2
+
3
+ If the target page's root-level `opt.V` is **missing or `< 2.0`**, it is a legacy page. **Do not edit it.** Tell the user the page is legacy and cannot be authored from a mobile workspace, and make no changes.
4
+
5
+ There is no way to author it correctly here: mobile does not apply the legacy `O.layout` css mechanism, so the page cannot be restyled through it, and `S` does not render on a `V < 2.0` page either. Both style systems are dead ends on that page. Converting it is a migration, not an edit — it needs a decision from the user, not a side effect of the task you were given.
6
+
7
+ ## This is not about stray legacy fragments
8
+
9
+ A page with `opt.V >= 2.0` that merely *carries* some `O.layout` (`dOpt`/`class`) is **not** a legacy page. Studio's editor injects those fragments into some components on its own, and on mobile they have no effect at all. That page is an ordinary `S` page:
10
+
11
+ - Author its design in `S`, as normal — go back to `s-track.md`.
12
+ - Never read `O.layout` to work out how the page currently looks; it does not affect the rendering.
13
+ - When you edit such a page, strip its `O.layout` (`dOpt`/`class`) so the page comes out clean.
14
+
15
+ The test is **`opt.V`**, not whether legacy css is present.
@@ -0,0 +1,111 @@
1
+ # Page Skeletons — `S` system
2
+
3
+ > ⚠️ **STOP — before applying any rule below, confirm which style system the target page is on.** Read its root-level `opt.V` (and whether its nodes carry an `S` object): **`opt.V >= 2.0` / has `S` → S system**; **`opt.V` missing or `< 2.0` → legacy**. The two systems are not interchangeable on a page. Unsure how to route? → [index.md Step 0](../index.md).
4
+ >
5
+ > **This file is the `S` track** (starting a brand-new page). A new page's `opt.V` is always the current version — **author it as `opt.V: 2.5`** (this marks the page as `S`-system; the skeleton below already sets it). Adding a section to an **existing legacy page** instead → [page-skeletons-legacy.md](page-skeletons-legacy.md).
6
+
7
+ Start every new page from one of these. Structure: `Messaging` (event hub) → optional service `CustomComponent` (only if the project uses one) → `VContainer` (layout root). For a **new page the `VContainer` content root is required** (not merely canonical): wrap all UI content in a single top-level `VContainer`, with `Messaging` and the optional service component as the only other top-level `pJson` siblings. This is a **new-page rule only** — when editing an existing page, keep its current root and do **not** add a `VContainer` unless the user asks.
8
+
9
+ ## Skeleton — framework-native (no service component)
10
+ ```javascript
11
+ let pjson = {
12
+ "pJson": [
13
+ {
14
+ "T": "Messaging",
15
+ "P": { "ID": { "H": "msg", "T": "prop" } },
16
+ "E": {
17
+ "PreRender": { "H": "quick.MM.trigger('fetchData');\r\n", "I": true, "HL": "TS" },
18
+ "fetchData": { "H": "let req=<any>{};\r\nreq.url='/api/data';\r\nreq.http='GET';\r\nreq.data=null;\r\nreq.blockRender=false;\r\nreq.responseField='data';\r\nreq.onSuccess='onData';\r\nreq.onFail='onFail';\r\nquick.Request.async(req);\r\n", "C": true, "HL": "TS" },
19
+ "onData": { "H": "let resData = response.data;\r\n/* process resData */\r\n", "C": true, "HL": "TS" },
20
+ "onFail": { "H": "quick.Quick.alert({ title:'Hata', text:'Bir hata oluştu.', category:'Error', actionButtons:[{ name:'Tamam', type:'Confirm' }] });\r\n", "C": true, "HL": "TS" }
21
+ },
22
+ "C": {}, "O": { "cType": "child" }, "_Editor": { "eID": "msg" }
23
+ },
24
+ {
25
+ "T": "VContainer",
26
+ "P": { "ID": { "H": "pageContainer", "T": "prop" },
27
+ "class": { "H": "'container container--fluid'", "T": "class" } },
28
+ "E": {},
29
+ "C": { "default": { "c": [ /* PAGE CONTENT */ ], "cType": "slot" } },
30
+ "O": { "cType": "child" }, "_Editor": { "eID": "pageContainer" }
31
+ }
32
+ ],
33
+ "lrids": {}, "opt": { "V": 2.5 }
34
+ };
35
+ export default pjson
36
+ ```
37
+
38
+ ## Skeleton — with project ServiceCaller (only if the project provides one)
39
+ Same as above, plus a `CustomComponent` after `Messaging` (see [services.md](services.md) Pattern B), with init in its `onLoad`.
40
+
41
+ ## Centered content scaffold (drop into PAGE CONTENT)
42
+
43
+ > **VCard children do not stack automatically** — `VCard`'s default slot is a flex-row container. Always place a `VRow > VCol(flexDirection:column)` inside `VCard` before adding content; otherwise labels/inputs render side-by-side instead of stacked.
44
+
45
+ ```json
46
+ { "T": "VRow", "P": { "ID": { "H": "rowMain", "T": "prop" } }, "E": {},
47
+ "C": { "default": { "c": [
48
+ { "T": "VCol", "P": { "ID": { "H": "colMain", "T": "prop" } },
49
+ "S": { "xs-xl": { "col": "12", "justifyContent": "center", "paddingTop": "0px", "paddingRight": "0px", "paddingBottom": "0px", "paddingLeft": "0px" } },
50
+ "E": {},
51
+ "C": { "default": { "c": [
52
+ { "T": "VCard", "P": { "ID": { "H": "cardMain", "T": "prop" } },
53
+ "S": { "xs-xl": { "backgroundColor": "#ffffff", "boxShadow": "none", "paddingTop": "16px", "paddingRight": "16px", "paddingBottom": "16px", "paddingLeft": "16px", "borderTopLeftRadius": "8px", "borderTopRightRadius": "8px", "borderBottomLeftRadius": "8px", "borderBottomRightRadius": "8px" } },
54
+ "E": {}, "C": { "default": { "c": [
55
+ { "T": "VRow", "P": { "ID": { "H": "rowCardContent", "T": "prop" } },
56
+ "S": { "xs-xl": { "marginTop": "0px", "marginRight": "0px", "marginBottom": "0px", "marginLeft": "0px" } },
57
+ "E": {}, "C": { "default": { "c": [
58
+ { "T": "VCol", "P": { "ID": { "H": "colCardContent", "T": "prop" } },
59
+ "S": { "xs-xl": { "col": "12", "flexDirection": "column", "paddingTop": "0px", "paddingRight": "0px", "paddingBottom": "0px", "paddingLeft": "0px" } },
60
+ "E": {}, "C": { "default": { "c": [
61
+ { "T": "QLabel", "P": { "ID": { "H": "lblPageTitle", "T": "prop" },
62
+ "text": { "H": "'Page Title'", "T": "prop" } },
63
+ "S": { "xs-xl": { "fontSize": "24px", "fontWeight": "700", "fontColor": "#1976D2", "fontFamily": "", "fontStyle": "", "combinedFont": "", "ThemeFont": "", "lineHeight": "" } },
64
+ "E": {}, "C": {}, "O": { "cType": "slot" }, "_Editor": { "eID": "lblPageTitle" } }
65
+ ], "cType": "slot" } },
66
+ "O": { "cType": "slot" }, "_Editor": { "eID": "colCardContent" } }
67
+ ], "cType": "slot" } },
68
+ "O": { "cType": "slot" }, "_Editor": { "eID": "rowCardContent" } }
69
+ ], "cType": "slot" } },
70
+ "O": { "cType": "slot" }, "_Editor": { "eID": "cardMain" } }
71
+ ], "cType": "slot" } },
72
+ "O": { "cType": "slot" },
73
+ "_Editor": { "eID": "colMain" } }
74
+ ], "cType": "slot" } },
75
+ "O": { "cType": "slot" }, "_Editor": { "eID": "rowMain" } }
76
+ ```
77
+
78
+ ## Styling — every component carries an `S` (don't skip it)
79
+ The skeletons above are intentionally minimal: **structure + `class` only**. They are *not* a finished page. A real page also sets each component's visual design in its top-level **`S`** object — the cross-platform Style tag the editor serializes (sibling to `T`/`P`/`E`/`C`/`O`/`_Editor`). After you drop in a section, give its components their `S`:
80
+
81
+ ```json
82
+ { "T": "VCard", "P": { "ID": { "H": "cardMain", "T": "prop" } },
83
+ "S": { "xs-xl": {
84
+ "backgroundColor": "#ffffff",
85
+ "borderTopLeftRadius": "8px", "borderTopRightRadius": "8px",
86
+ "borderBottomLeftRadius": "8px", "borderBottomRightRadius": "8px",
87
+ "paddingTop": "16px", "paddingRight": "16px", "paddingBottom": "16px", "paddingLeft": "16px",
88
+ "boxShadow": "0 2px 8px rgba(0,0,0,0.08)" } },
89
+ "E": {}, "C": { "default": { "c": [
90
+ { "T": "VRow", "P": { "ID": { "H": "rowCardContent", "T": "prop" } },
91
+ "S": { "xs-xl": { "marginTop": "0px", "marginRight": "0px", "marginBottom": "0px", "marginLeft": "0px" } },
92
+ "E": {}, "C": { "default": { "c": [
93
+ { "T": "VCol", "P": { "ID": { "H": "colCardContent", "T": "prop" } },
94
+ "S": { "xs-xl": { "col": "12", "flexDirection": "column", "paddingTop": "0px", "paddingRight": "0px", "paddingBottom": "0px", "paddingLeft": "0px" } },
95
+ "E": {}, "C": { "default": { "c": [ /* content here */ ], "cType": "slot" } },
96
+ "O": { "cType": "slot" }, "_Editor": { "eID": "colCardContent" } }
97
+ ], "cType": "slot" } },
98
+ "O": { "cType": "slot" }, "_Editor": { "eID": "rowCardContent" } }
99
+ ], "cType": "slot" } },
100
+ "O": { "cType": "slot" }, "_Editor": { "eID": "cardMain" } }
101
+ ```
102
+
103
+ - `S` is **range-keyed** (`"xs-xl"` = all sizes; narrower ranges like `"md-xl"` override for larger screens). Values are strings; `""` = unset.
104
+ - Pull the supported param names + editor defaults for each `T` from [../reference/component-styles.json](../reference/component-styles.json) — don't invent params.
105
+ - Style a child's text/icon (e.g. a `VBtn` label color) through the **parent's `SC`**, not the child's own `S`.
106
+ - **Everything goes in `S`** — layout (flex/grid/spacing/direction, where the component's style block in [../reference/component-styles.json](../reference/component-styles.json) supports it) and visuals (color/font/border/shadow/exact size) alike. `O.layout` (`dOpt`+`class`) is legacy; don't author it. Reach for the component's `class` prop only as a Web-only last resort when `S` truly has no param for it — never on Mobile.
107
+
108
+ Full how-to: [styling.md](styling.md). **A page delivered with no `S` is unstyled — the styling pass is part of authoring, not an optional extra.**
109
+
110
+ ## Large-page policy (incremental)
111
+ Don't rewrite a whole page in one shot. Write the skeleton + scaffold, then add **1–3 sections per edit**, validate, and report progress. Reuse examples from [../examples/style/](../examples/style/) (the `S`-system set) and neighboring project pages rather than re-deriving structures.
@@ -0,0 +1,77 @@
1
+ # Properties (`P`)
2
+
3
+ Each prop is `{ "H": value/expression, "T": kind, "HL": language? }`.
4
+
5
+ ```json
6
+ "P": {
7
+ "ID": { "H": "btnSave", "T": "prop" },
8
+ "color": { "H": "'primary'", "T": "prop" },
9
+ "visible": { "H": "true", "T": "prop" },
10
+ "class": { "H": "'rounded-lg'", "T": "class" },
11
+ "items": { "H": "[{text='A', value=1}]", "T": "prop", "HL": "QS" }
12
+ }
13
+ ```
14
+
15
+ ## `T` — prop kind (PType)
16
+ | `T` | Applied as | Use for |
17
+ |-----|-----------|---------|
18
+ | `"prop"` | Vue prop | the default case incl. `QLabel.text`, `items`, `color`, `visible` |
19
+ | `"class"` | CSS class | `class` |
20
+ | `"text"` | slot text content | `VIcon` icon name; raw text — `H` is still a QScript string, so single-quote it: `"'mdi-home'"` |
21
+ | `"attr"` | DOM attribute | `data-*`, `aria-*`, input `format` masks |
22
+
23
+ ## `HL` — language (defaults to `QS`)
24
+ `HL` is optional and **defaults to QScript**. Set `"HL": "TS"` only if a prop expression needs TypeScript (rare — props are usually QScript). The vast majority of real props omit `HL` and are therefore QScript.
25
+
26
+ ## Quoting inside `H`
27
+ | Value | Write | Example |
28
+ |-------|-------|---------|
29
+ | string | single-quoted | `"'primary'"` |
30
+ | number / bool | bare | `"10"`, `"true"` |
31
+ | expression / binding | bare | `"item.name"`, `"data.title"`, `"components.x.qValue"` |
32
+ | array | bracketed | `"[1,2,3]"`, `"['Jan','Feb']"` |
33
+ | object array (QScript) | `=` keys | `"[{text='A', value=1}]"` |
34
+
35
+ Apostrophe inside a QScript string → double it: `'Premium''u Keşfet'`.
36
+
37
+ ## QScript expression power (corrected vs older docs)
38
+ Prop `H` values are **QScript expressions** and **can include conditionals**. Real files do this routinely:
39
+
40
+ ```json
41
+ "color": {
42
+ "H": "if(data.statusColor == 1){'red'}else if(data.statusColor == 2){'orange'}else{'blue'}",
43
+ "T": "prop"
44
+ }
45
+ ```
46
+ The `if/else` block returns the last evaluated value — conditionals are fully supported in props.
47
+
48
+ Available bare in QScript props: `LR(...)`, `components.*`, `data.*` (in dynamic templates), `item.*` (in scoped slots), `Math`, `Date`, `Number`, `JSON`, `string`, `regex`, `typeOf`. Framework namespaces drop the `quick.` prefix: `store.get('x')`, `Quick.go(...)`, `MM.trigger(...)`. See [reference/quick-api.md](../reference/quick-api.md) for the full list.
49
+
50
+ > **QScript ≠ JS in two key ways:** (1) `||` returns a boolean, not a fallback value — use `if(a){a}else{b}` for a conditional fallback. (2) Property access is always null-safe (`a.b.c` won't throw if `a` is undefined), so `|| ''` guards are both wrong and unnecessary.
51
+
52
+ ### When to still pre-compute instead of expression-in-prop
53
+ Conditionals work, but for **heavy** per-row formatting (date parsing, concatenation, lookups across rows) it's cleaner and faster to pre-format in the service/load callback and read a plain field in the prop:
54
+
55
+ ```typescript
56
+ rows.forEach(r => { r.displayDate = quick.Quick.toShortDate(quick.Quick.toDate(r.date)); });
57
+ components.tbl.items = rows;
58
+ ```
59
+ ```json
60
+ "text": { "H": "item.displayDate", "T": "prop" }
61
+ ```
62
+ This keeps prop expressions simple and avoids repeating logic per render.
63
+
64
+ ## Localization in props
65
+ Use bare `LR('key')` (never `quick.LR` in a prop):
66
+ ```json
67
+ "text": { "H": "LR('save')", "T": "prop" }
68
+ ```
69
+ See [localization.md](localization.md).
70
+
71
+ ## Special Quick props
72
+ `ID` (required, unique), `visible`, `Render`, `qValue`, `class` — see your track's component catalog §5 ([S](../reference/component-catalog.md) / [legacy](../reference/component-catalog-legacy.md)). Use `qValue` for input values and to open/close dialogs.
73
+
74
+ ## The two text gotchas
75
+ - `QLabel.text` → `T: "prop"`.
76
+ - `VIcon` icon name → `text` with `T: "text"`. The `H` value is still a QScript string — always single-quote it: `"H": "'mdi-home'"`, never bare `"H": "mdi-home"`.
77
+ (See your track's catalog §6.)
@@ -0,0 +1,15 @@
1
+ # STOP — legacy pages cannot be edited in this workspace
2
+
3
+ If the target page's root-level `opt.V` is **missing or `< 2.0`**, it is a legacy page. **Do not edit it.** Tell the user the page is legacy and cannot be authored from a mobile workspace, and make no changes.
4
+
5
+ There is no way to author it correctly here: mobile does not apply the legacy `O.layout` css mechanism, so the page cannot be restyled through it, and `S` does not render on a `V < 2.0` page either. Both style systems are dead ends on that page. Converting it is a migration, not an edit — it needs a decision from the user, not a side effect of the task you were given.
6
+
7
+ ## This is not about stray legacy fragments
8
+
9
+ A page with `opt.V >= 2.0` that merely *carries* some `O.layout` (`dOpt`/`class`) is **not** a legacy page. Studio's editor injects those fragments into some components on its own, and on mobile they have no effect at all. That page is an ordinary `S` page:
10
+
11
+ - Author its design in `S`, as normal — go back to `s-track.md`.
12
+ - Never read `O.layout` to work out how the page currently looks; it does not affect the rendering.
13
+ - When you edit such a page, strip its `O.layout` (`dOpt`/`class`) so the page comes out clean.
14
+
15
+ The test is **`opt.V`**, not whether legacy css is present.
@@ -0,0 +1,67 @@
1
+ # QJSON Structure (start here) — `S` system
2
+
3
+ > ⚠️ **STOP — before applying any rule below, confirm which style system the target page is on.** Read its root-level `opt.V` (and whether its nodes carry an `S` object): **`opt.V >= 2.0` / has `S` → S system**; **`opt.V` missing or `< 2.0` → legacy**. The two systems are not interchangeable on a page. Unsure how to route? → [index.md Step 0](../index.md).
4
+ >
5
+ > **This file is the `S` track** (new page, or `opt.V >= 2.0`). Design — visual **and** layout — is authored in each node's `S` object; `O.layout` is not authored here. On a **legacy** page instead → [qjson-structure-legacy.md](qjson-structure-legacy.md).
6
+
7
+ A `.qjson` file is a **JavaScript module** describing one UI page as a tree of components. You author `pJson` (the tree) and `lrids` (localization); the editor/compiler generates the compiled twins `cJson`/`clrids`.
8
+
9
+ ```javascript
10
+ let pjson = {
11
+ "pJson": [ /* component tree — you write this */ ],
12
+ "lrids": {}, // localization you write
13
+ "opt": { "V": 2.5 } // page options — a NEW page sets V to the current schema version (2.5); this marks it as S-system
14
+ };
15
+ export default pjson
16
+ ```
17
+
18
+ Rules: an AI-authored file carries these **three** keys (`pJson`, `lrids`, `opt`); the file ends with `};` then `export default pjson`. The compiled twins `cJson`/`clrids` are **omitted entirely** — don't write them into a new file, and strip them from any existing file you edit (see "What you never author" below). Full envelope (incl. optional `description`, `files`, `namedViews`, `opt.QL/V`) is in [reference/qjson-schema.md](../reference/qjson-schema.md).
19
+
20
+ ## The component node — same six fields at every depth
21
+
22
+ ```json
23
+ {
24
+ "T": "ComponentType",
25
+ "P": { "ID": { "H": "myId", "T": "prop" } },
26
+ "E": {},
27
+ "C": {},
28
+ "O": { "cType": "slot" },
29
+ "_Editor": { "eID": "myId" }
30
+ }
31
+ ```
32
+
33
+ | Field | Holds | Detailed in |
34
+ |-------|-------|-------------|
35
+ | `T` | component type name | [reference/component-catalog.md](../reference/component-catalog.md) |
36
+ | `P` | props | [properties.md](properties.md) |
37
+ | `E` | events | [events-and-scripting.md](events-and-scripting.md) |
38
+ | `C` | children grouped by slot | [layout-and-slots.md](layout-and-slots.md) |
39
+ | `O` | options: `cType` (always authored). The `layout` sub-field (`dOpt`/`class`) is the legacy mechanism — **not authored here**; grid/flex/spacing go in `S` | [layout-and-slots.md](layout-and-slots.md) |
40
+ | `_Editor.eID` | equals `P.ID.H` when auto-generated, but **may differ** after a Studio rename — equality is *not* required (both must be present + unique) | this file |
41
+
42
+ `CP`, `D`, `SA` are advanced editor-managed fields you normally don't hand-author. **`S`/`SC` are the exception: you must hand-author them** — see [s-track.md](../s-track.md) rule S3 and [styling.md](styling.md). A component left without an `S` (when it carries visual or layout-flow intent) is the most common authoring miss, not an optional editor step.
43
+
44
+ ## The ID rules
45
+ 1. Every component has `P.ID.H`, **unique** within the page.
46
+ 2. Every component has `_Editor.eID`, also **unique**.
47
+ 3. `P.ID.H` is the runtime/reference id (`components.<ID>`); `_Editor.eID` is the editor's stable internal id.
48
+
49
+ These two are **equal for auto-generated components** (both `EdtrComp_42`) but legitimately **differ** once the ID is renamed in Studio (e.g. `ID:"btnSave"`, `eID:"EdtrComp_42"`) — real files contain both cases, so a mismatch is **not** an error. When you hand-author a new component, the simplest valid choice is to set `eID` = `ID` (one unique value). Never reuse an `eID` or an `ID`.
50
+
51
+ ## Build order (top-down)
52
+ ```
53
+ pJson
54
+ ├─ Messaging (event hub; no UI)
55
+ ├─ [service component] (optional; only if the project uses one)
56
+ └─ VContainer (layout root)
57
+ └─ VRow → VCol → VCard → content (labels, buttons, tables, inputs, charts)
58
+ ```
59
+
60
+ For each node decide, in order: `T` → `P` → `E` → `C` → `O` → copy ID into `_Editor.eID`.
61
+
62
+ > **New page: the `VContainer` layout root is required, not optional.** Wrap all UI/visual content in a single top-level `VContainer`; the only non-`VContainer` top-level `pJson` siblings allowed are `Messaging` (event hub) and an optional service component. This applies to **new pages only** — when editing an existing page, keep its current root and do **not** insert a `VContainer` unless the user explicitly asks (see [s-track.md](../s-track.md) rule S4).
63
+
64
+ Copy a full starting skeleton from [page-skeletons.md](page-skeletons.md).
65
+
66
+ ## What you never author
67
+ `cJson` and `clrids` are **compiled output** (handler strings get wrapped in `╬…╩╩` sentinels). Author `pJson`/`lrids` only, and **leave the compiled twins out of the file entirely** — don't write them into a new page, and strip them if the file already has them. Studio/the compiler regenerates them on import — see [validation.md](validation.md).
@@ -0,0 +1,68 @@
1
+ # Services (REST)
2
+
3
+ Two patterns. **Check existing project pages first** and follow whichever the project uses.
4
+
5
+ ## Pattern A — `quick.Request.async` (framework-native, default)
6
+ Call from any event; success/fail route to custom events on the same component (usually `Messaging`).
7
+
8
+ ```typescript
9
+ let req = <any>{};
10
+ req.url = '/api/products/list';
11
+ req.http = 'GET'; // GET|POST|PUT|DELETE|PATCH|MULTIPART|POSTBLOB|GETBLOB
12
+ req.data = null; // body for POST/PUT
13
+ req.blockRender = false;
14
+ req.responseField = 'productList';
15
+ req.onSuccess = 'onProductsSuccess';
16
+ req.onFail = 'onProductsFail';
17
+ quick.Request.async(req);
18
+ ```
19
+
20
+ Read the result in the success event as `response.<responseField>`:
21
+ ```json
22
+ "onProductsSuccess": {
23
+ "H": "if (response.productList != null) {\r\n let resData = response.productList;\r\n components.tblProducts.items = resData.resultList;\r\n}\r\n",
24
+ "C": true, "HL": "TS"
25
+ }
26
+ "onProductsFail": {
27
+ "H": "quick.Quick.alert({ title:'Hata', text:'İstek başarısız', category:'Error', actionButtons:[{ name:'Tamam', type:'Confirm' }] });\r\n",
28
+ "C": true, "HL": "TS"
29
+ }
30
+ ```
31
+
32
+ `IRequest` fields: `url`, `http`, `data`, `responseField`, `onSuccess`, `onFail`, `blockRender`, `showSuccessMessage`, `showErrorMessage`, `headers`, `withCredentials`, `timeout`, `args`. Inline `await` form also works:
33
+ ```typescript
34
+ const respo = await quick.Request.async(req);
35
+ let result = (<any>respo).data;
36
+ ```
37
+
38
+ ## Pattern B — project ServiceCaller `CustomComponent`
39
+ Some projects centralize calls in a reusable `CustomComponent` (a service proxy) with `onLoad` / `onServiceSuccessCallBack` / `onServiceFailCallBack`. Use it **only if the project already provides one** (copy its `QJsonPath` from an existing page).
40
+
41
+ ```json
42
+ { "T": "CustomComponent", "P": {
43
+ "ID": { "H": "serviceCallerComp", "T": "prop" },
44
+ "QJsonPath": { "H": "'<<qjson:path/to/ServiceCallerCustomComponent>>'", "T": "prop" } },
45
+ "E": {
46
+ "onLoad": { "H": "quick.store.set('page', 0);\r\nquick.MM.trigger('getProducts', [{ page: 0 }]);\r\n", "HL": "TS" },
47
+ "onServiceSuccessCallBack": { "H": "/* capture → null → process */", "C": true, "P": "serviceResponse:any", "HL": "TS" },
48
+ "onServiceFailCallBack": { "H": "/* alert with actionButtons */", "C": true, "P": "serviceResponse:any", "HL": "TS" }
49
+ },
50
+ "C": { "default": { "c": [ { "T": "Ghost", "P": { "ID": { "H": "ghostComp", "T": "prop" } }, "E": {}, "C": {}, "O": { "cType": "child" }, "_Editor": { "eID": "ghostComp" } } ], "cType": "child" } },
51
+ "O": { "cType": "child", "dynProps": true }, "_Editor": { "eID": "serviceCallerComp" } }
52
+ ```
53
+ Each call is a custom event on `Messaging` that builds a `requestObj` and calls `(<any>components.serviceCallerComp).serviceCall(requestObj)`. In the success callback, **capture → null → process**:
54
+ ```typescript
55
+ if (serviceResponse.getProducts != null) {
56
+ let resData = serviceResponse.getProducts; // capture
57
+ serviceResponse.getProducts = null; // null immediately
58
+ components.tblProducts.items = resData.resultList; // process
59
+ }
60
+ ```
61
+
62
+ ## Rules that prevent the common failures
63
+ - Close the request object literal with `};` before the next call (missing `;` → "not callable").
64
+ - Triggered custom events need `"C": true`; declare `P` to match the trigger payload.
65
+ - `responseField` / event names must match exactly across trigger, request, and callback.
66
+ - Fail alerts must include `actionButtons`.
67
+ - Initialize in **one** place (service `onLoad` or `Messaging.PreRender`).
68
+ - Don't assign `VDataTable.headers`/static `items` in callbacks — those are component props; assign only dynamic rows.
@@ -0,0 +1,15 @@
1
+ # STOP — legacy pages cannot be edited in this workspace
2
+
3
+ If the target page's root-level `opt.V` is **missing or `< 2.0`**, it is a legacy page. **Do not edit it.** Tell the user the page is legacy and cannot be authored from a mobile workspace, and make no changes.
4
+
5
+ There is no way to author it correctly here: mobile does not apply the legacy `O.layout` css mechanism, so the page cannot be restyled through it, and `S` does not render on a `V < 2.0` page either. Both style systems are dead ends on that page. Converting it is a migration, not an edit — it needs a decision from the user, not a side effect of the task you were given.
6
+
7
+ ## This is not about stray legacy fragments
8
+
9
+ A page with `opt.V >= 2.0` that merely *carries* some `O.layout` (`dOpt`/`class`) is **not** a legacy page. Studio's editor injects those fragments into some components on its own, and on mobile they have no effect at all. That page is an ordinary `S` page:
10
+
11
+ - Author its design in `S`, as normal — go back to `s-track.md`.
12
+ - Never read `O.layout` to work out how the page currently looks; it does not affect the rendering.
13
+ - When you edit such a page, strip its `O.layout` (`dOpt`/`class`) so the page comes out clean.
14
+
15
+ The test is **`opt.V`**, not whether legacy css is present.