@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.
- package/dist/common/helpers/aiKitResolver.js +11 -5
- package/dist/common/helpers/aiKitResolver.js.map +1 -1
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/buildqjson.md +35 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/cli-bridge.md +97 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +48 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/sync.md +50 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/index.md +23 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/concepts.md +39 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/README.md +18 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consent-check-using-container-methods.qjson +1314 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consent-check-using-hosttrigger.qjson +1301 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consentHostMethods.container +81 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/dataroid.qjson +692 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-appbar.qjson +674 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-footer.qjson +627 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-page-example-with-appbar-and-footer.qjson +1122 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-payment-page-paymentComp-usage.qjson +1262 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/analytics-and-logging.md +45 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/host-functions.md +88 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/miniapp-page-structure.md +65 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/navigation-and-lifecycle.md +29 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/platform-payments.md +54 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/index.md +40 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-app-image.json +53 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-functions.container +145 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-functions.json +109 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/paymentComp.qjson +1867 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/platform-components.json +105 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/README.md +11 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/AllowdDates.qjson +126 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartEvents.qjson +323 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartTitle.qjson +411 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartYTicks.qjson +399 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/CalendarUsageExample.qjson +2 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/ChartLegendFont.qjson +788 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DataTable_customSort.qjson +277 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DoughnutChartEvents.qjson +243 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Icon_Samples.qjson +181 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Instructions.request.qjson +584 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Intersect.qjson +404 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LightBox.qjson +777 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart.qjson +1049 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChartEvents.qjson +327 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChartPointProps.qjson +416 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/MMDelay.qjson +384 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/MMtrigger.qjson +209 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerExample.qjson +899 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Parallax.qjson +416 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/PieChart.qjson +1103 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QCaptcha.qjson +409 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QDocumentViewer.qjson +149 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QFrameExample.qjson +213 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QIdleTimer.qjson +221 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomRotate.qjson +432 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/VList_NavMenu.qjson +3008 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/alertSamplePage.qjson +450 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/authorizationDashboard.qjson +24914 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/badge.qjson +151 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/breadcrumbs.qjson +563 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/button.qjson +1658 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/cellTemplate.qjson +96 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/combobox.qjson +109 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/comboboxSelected.qjson +119 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/createChildren.qjson +411 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/createClosedPanes.qjson +265 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/creditcard.qjson +49 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/crypto.qjson +5632 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/customStore.qjson +157 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dataTableFormatColumn.qjson +151 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/data_table_component_access.qjson +130 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/deleteComponent.qjson +501 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/divider.qjson +180 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxColumncssClass.qjson +249 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridLines.qjson +121 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridRemove.qjson +209 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridUpdate.qjson +80 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxMasterDetail.qjson +257 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxRowDragging.qjson +175 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dynamicComp.qjson +156 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/email.qjson +177 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/encoding.qjson +304 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/images.qjson +1379 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/images_olddd.qjson +1366 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/newCustomerRegister.qjson +2598 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/number.qjson +169 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/number_VTextarea.qjson +163 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/onlyAlphabetic.qjson +164 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/parentPage.qjson +351 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/pipeline.qjson +78 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/pipelineSample.qjson +410 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/placeQidDynamic.qjson +289 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/progress-circular.qjson +1014 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/samplePageLottie.qjson +696 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/index.md +153 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/13-application.md +164 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/alert-component.md +91 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/appSettings.md +204 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +63 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +71 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-intellisense.md +42 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/global-localization.md +78 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/loading-component.md +61 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/local-proxy-file.md +62 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/pipeline.md +139 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/settings-file.md +66 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/style-file.md +58 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/theme.md +58 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/components.md +105 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/container-configuration.md +157 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/dynamic-components.md +169 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/events-and-scripting.md +79 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +64 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/localization.md +40 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons-legacy.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons.md +111 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/properties.md +77 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure-legacy.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure.md +67 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/services.md +68 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/styling-legacy.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/styling.md +177 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/validation-legacy.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/validation.md +56 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/legacy-track.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +144 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-contracts.json +16920 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-index.json +266 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-styles.json +7128 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/events-system.md +96 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/layout-system.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/mapping-S-vuetify-class.md +103 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/qjson-schema-legacy.md +15 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/qjson-schema.md +188 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/quick-api.json +1746 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/quick-api.md +284 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/styling-system.md +193 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/s-track.md +30 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/skills/quick-qjson/SKILL.md +10 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.claude/skills/figma-to-qjson/SKILL.md +116 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.claude/skills/quick-qjson/SKILL.md +10 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.mcp.json +8 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.opencode/opencode.json +19 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.opencode/skills/figma-to-qjson/SKILL.md +116 -0
- package/dist/studio-cli/kits/miniapp-app-kit/.opencode/skills/quick-qjson/SKILL.md +10 -0
- package/dist/studio-cli/kits/miniapp-app-kit/AGENTS.md +24 -0
- package/dist/studio-cli/kits/miniapp-app-kit/CLAUDE.md +24 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/buildqjson.md +35 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/cli-bridge.md +97 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +48 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/sync.md +50 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/index.md +22 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/README.md +11 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/AllowdDates.qjson +126 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartEvents.qjson +323 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartTitle.qjson +411 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartYTicks.qjson +399 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/CalendarUsageExample.qjson +2 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/ChartLegendFont.qjson +788 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DataTable_customSort.qjson +277 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DoughnutChartEvents.qjson +243 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Icon_Samples.qjson +181 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Instructions.request.qjson +584 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Intersect.qjson +404 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LightBox.qjson +777 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart.qjson +1049 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChartEvents.qjson +327 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChartPointProps.qjson +416 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/MMDelay.qjson +384 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/MMtrigger.qjson +209 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerExample.qjson +899 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Parallax.qjson +416 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/PieChart.qjson +1103 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QCaptcha.qjson +409 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QDocumentViewer.qjson +149 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QFrameExample.qjson +213 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QIdleTimer.qjson +221 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomRotate.qjson +432 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/VList_NavMenu.qjson +3008 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/alertSamplePage.qjson +450 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/authorizationDashboard.qjson +24914 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/badge.qjson +151 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/breadcrumbs.qjson +563 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/button.qjson +1658 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/cellTemplate.qjson +96 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/combobox.qjson +109 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/comboboxSelected.qjson +119 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/createChildren.qjson +411 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/createClosedPanes.qjson +265 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/creditcard.qjson +49 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/crypto.qjson +5632 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/customStore.qjson +157 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dataTableFormatColumn.qjson +151 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/data_table_component_access.qjson +130 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/deleteComponent.qjson +501 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/divider.qjson +180 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxColumncssClass.qjson +249 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridLines.qjson +121 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridRemove.qjson +209 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridUpdate.qjson +80 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxMasterDetail.qjson +257 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxRowDragging.qjson +175 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dynamicComp.qjson +156 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/email.qjson +177 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/encoding.qjson +304 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/images.qjson +1379 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/images_olddd.qjson +1366 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/newCustomerRegister.qjson +2598 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/number.qjson +169 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/number_VTextarea.qjson +163 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/onlyAlphabetic.qjson +164 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/parentPage.qjson +351 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/pipeline.qjson +78 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/pipelineSample.qjson +410 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/placeQidDynamic.qjson +289 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/progress-circular.qjson +1014 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/samplePageLottie.qjson +696 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/index.md +112 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/13-application.md +164 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/alert-component.md +91 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/appSettings.md +204 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +63 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +71 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-intellisense.md +42 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/global-localization.md +78 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/loading-component.md +61 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/local-proxy-file.md +62 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/pipeline.md +139 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/settings-file.md +66 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/style-file.md +58 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/theme.md +58 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/components.md +105 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/container-configuration.md +157 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/dynamic-components.md +169 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/events-and-scripting.md +79 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +64 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/localization.md +40 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons-legacy.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons.md +111 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/properties.md +77 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure-legacy.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure.md +67 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/services.md +68 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/styling-legacy.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/styling.md +177 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/validation-legacy.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/validation.md +56 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/legacy-track.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +144 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-contracts.json +16920 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-index.json +266 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-styles.json +7128 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/events-system.md +96 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/layout-system.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/mapping-S-vuetify-class.md +103 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/qjson-schema-legacy.md +15 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/qjson-schema.md +188 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/quick-api.json +1746 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/quick-api.md +284 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/styling-system.md +193 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/s-track.md +30 -0
- package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/skills/quick-qjson/SKILL.md +10 -0
- package/dist/studio-cli/kits/mobile-app-kit/.claude/skills/figma-to-qjson/SKILL.md +116 -0
- package/dist/studio-cli/kits/mobile-app-kit/.claude/skills/quick-qjson/SKILL.md +10 -0
- package/dist/studio-cli/kits/mobile-app-kit/.mcp.json +8 -0
- package/dist/studio-cli/kits/mobile-app-kit/.opencode/opencode.json +19 -0
- package/dist/studio-cli/kits/mobile-app-kit/.opencode/skills/figma-to-qjson/SKILL.md +116 -0
- package/dist/studio-cli/kits/mobile-app-kit/.opencode/skills/quick-qjson/SKILL.md +10 -0
- package/dist/studio-cli/kits/mobile-app-kit/AGENTS.md +23 -0
- package/dist/studio-cli/kits/mobile-app-kit/CLAUDE.md +23 -0
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/index.md +5 -0
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +2 -2
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +3 -3
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/components.md +22 -14
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +1 -1
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +1 -1
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +4 -0
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +4 -0
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-index.json +1 -1
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/layout-system.md +1 -1
- package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/styling-system.md +1 -1
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/index.md +5 -0
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +2 -2
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +3 -3
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/components.md +22 -14
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +1 -1
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +1 -1
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +4 -0
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +4 -0
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-index.json +1 -1
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/layout-system.md +1 -1
- package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/styling-system.md +1 -1
- package/dist/studio-cli/src/control/kitInstall.js +28 -1
- package/dist/studio-cli/src/control/kitInstall.js.map +1 -1
- package/dist/studio-cli/src/control/pull.js +6 -3
- package/dist/studio-cli/src/control/pull.js.map +1 -1
- package/dist/studio-cli/src/version.js +1 -1
- package/package.json +1 -1
- package/dist/studio-cli/kits/super-app-kit/.ai-kit/coming-soon.md +0 -0
- package/dist/studio-cli/kits/super-app-kit/AGENTS.md +0 -0
- package/dist/studio-cli/kits/super-app-kit/CLAUDE.md +0 -0
package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Component List · the app's component prop catalog
|
|
2
|
+
|
|
3
|
+
Declares, per component type, **which props exist**, their types, their allowed values and their editor defaults. It is what makes a component's props appear in the Studio property panel and gives them defaults.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → General → Component List** → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
For the built-in components and their `S` params, use the kit's own reference — [../components.md](../components.md) and [../reference/component-styles.json](../../reference/component-styles.json). The Component List is the **app-level** catalog: where a project describes its domain components and any extra props.
|
|
8
|
+
|
|
9
|
+
## Shape
|
|
10
|
+
|
|
11
|
+
A JS/TS module holding a `componentOptions` object keyed by component type, exported under the name `plateauUIComponentOptions`:
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
var componentOptions = {
|
|
15
|
+
QOtp: {
|
|
16
|
+
qValue: { type: "Array<any>" },
|
|
17
|
+
length: { type: Number, editorDefaultValue: "4" },
|
|
18
|
+
type: { type: String, options: ["'number'", "'text'", "'password'"], editorDefaultValue: "'text'" },
|
|
19
|
+
preventPaste: { type: Boolean, editorDefaultValue: "true" },
|
|
20
|
+
width: { type: String, editorDefaultValue: "'147px'" },
|
|
21
|
+
readonly: { type: Boolean }
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
if (typeof exports === 'object' && typeof module === 'object') {
|
|
26
|
+
module.exports = componentOptions;
|
|
27
|
+
} else {
|
|
28
|
+
window["plateauUIComponentOptions"] = componentOptions;
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
| Field | Meaning |
|
|
33
|
+
|---|---|
|
|
34
|
+
| `type` | The prop's type — `String`, `Number`, `Boolean`, or a type name as a string (`"Array<any>"`). |
|
|
35
|
+
| `options` | The allowed values, offered as a dropdown in the editor. |
|
|
36
|
+
| `editorDefaultValue` | The value the editor pre-fills when the prop is added. |
|
|
37
|
+
|
|
38
|
+
## Values use the prop-`H` quoting model
|
|
39
|
+
|
|
40
|
+
`options` and `editorDefaultValue` are written the same way a prop's `H` is → [../properties.md](../properties.md):
|
|
41
|
+
|
|
42
|
+
| Value | Write |
|
|
43
|
+
|---|---|
|
|
44
|
+
| string | single-quoted inside the string — `"'text'"`, `"'147px'"` |
|
|
45
|
+
| number | bare — `"4"` |
|
|
46
|
+
| boolean | bare — `"true"` |
|
|
47
|
+
|
|
48
|
+
Writing `"text"` instead of `"'text'"` yields an identifier, not a string — the classic mistake here.
|
|
49
|
+
|
|
50
|
+
## What it changes
|
|
51
|
+
|
|
52
|
+
- **In the editor:** which props a component offers, their dropdowns, and their pre-filled defaults.
|
|
53
|
+
- **At runtime:** it is handed to the renderer as the app's component settings.
|
|
54
|
+
|
|
55
|
+
It describes props; it does not implement components. A component still has to exist for the app to render it — declaring props for an unknown type gives you editor entries that render nothing.
|
|
56
|
+
|
|
57
|
+
## Rules that prevent the common failures
|
|
58
|
+
|
|
59
|
+
- Quote values as you would in a prop `H` — strings single-quoted inside the string, numbers and booleans bare.
|
|
60
|
+
- Don't duplicate the built-in registry here; consult [../reference/component-styles.json](../../reference/component-styles.json) for built-ins and keep this file for the app's own components.
|
|
61
|
+
- `editorDefaultValue` only pre-fills the editor — it is not a runtime fallback. A page that never sets the prop does not get this value at runtime.
|
|
62
|
+
- Adding a prop here does not create behaviour; the component must already support it.
|
|
63
|
+
- Creating the file is not enough — it must be selected in App Settings → General → Component List.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Container Services File · the host integration layer
|
|
2
|
+
|
|
3
|
+
A JS module of **callbacks the hosting container provides to the app**. When the app runs inside a shell — a superapp, a native wrapper, another portal — this file is how the runtime asks the host for things: the current user, the real URL for a call, the device scanner, logout.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → General → Container Services** → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
## Shape
|
|
8
|
+
|
|
9
|
+
A module exporting an object under the name `plateauUIContainerServices`. Every member is optional — implement only the hooks your host actually supports; the runtime falls back to its own behaviour for the rest.
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
var containerServices = {
|
|
13
|
+
getURL: function (url, mode) {
|
|
14
|
+
// mode is "ui" or "service"; return the final URL
|
|
15
|
+
return environmentBase + url;
|
|
16
|
+
},
|
|
17
|
+
userContextCb: function () { return host.currentUser; },
|
|
18
|
+
logout: function () { host.signOut(); }
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
if (typeof exports === 'object' && typeof module === 'object') {
|
|
22
|
+
module.exports = containerServices;
|
|
23
|
+
} else {
|
|
24
|
+
window["plateauUIContainerServices"] = containerServices;
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## The hooks
|
|
29
|
+
|
|
30
|
+
| Hook | Purpose |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `getURL(url, mode)` | Resolve the final URL for a call. `mode` is `"ui"` or `"service"`. The place to do environment-based domains and proxying. |
|
|
33
|
+
| `hostTriggerCb(functionName, params, pageNameArray)` | Invoke a function on the host. This is what backs `quick.Quick.host.trigger` — deprecated in favour of Container Configuration and `quick.container`, but still needed by the pages that call it. |
|
|
34
|
+
| `getPlateauIAM()` | The host's IAM object. |
|
|
35
|
+
| `authenticatedCb()` | Whether the user is authenticated. |
|
|
36
|
+
| `userContextCb()` / `customerContextCb()` | Current user / customer context. |
|
|
37
|
+
| `getCurrentLanguageCb()` | The host's active language. |
|
|
38
|
+
| `resourceCb(resource)` | Fetch a resource from the host. |
|
|
39
|
+
| `getStoreDataCb(storeData)` | Read host-side stored data. |
|
|
40
|
+
| `callMessageBox(messageType, messages, title)` | Show a host-native message box. |
|
|
41
|
+
| `print` / `scan` / `ocr` / `biometric` | Device capabilities exposed by the host. |
|
|
42
|
+
| `getContainerName()` | Identify the host. |
|
|
43
|
+
| `logout()` | Log out through the host. |
|
|
44
|
+
| `network` | Host-provided network layer. |
|
|
45
|
+
| `extensions` | Named custom hooks — see below. |
|
|
46
|
+
|
|
47
|
+
## `extensions` can take over engine behaviour
|
|
48
|
+
|
|
49
|
+
`extensions` holds host-specific named hooks, and some of them **replace** what the engine would otherwise do. The clearest case: if `extensions.loadingCounter` exists, the engine hands loading state to it and **does not render the Loading Component at all** → [loading-component.md](loading-component.md).
|
|
50
|
+
|
|
51
|
+
So when a selected Loading Component never appears in a hosted app, check this file before assuming the loading setting is wrong.
|
|
52
|
+
|
|
53
|
+
## Not the same as Container Configuration
|
|
54
|
+
|
|
55
|
+
Two different things share the word "container":
|
|
56
|
+
|
|
57
|
+
| | |
|
|
58
|
+
|---|---|
|
|
59
|
+
| **Container Services File** *(this doc)* | A JS file of low-level host callbacks the **runtime** calls. Selected in App Settings → General. |
|
|
60
|
+
| **Container Configuration** | A separate model — *not* a setting file — where you declare the host functions the app may call, with parameters, return types and mock data. Those become `quick.container.yourFunction()` in page code. Created from **+ Add New → Application Configuration → Container Configuration**, or from the CLI as a `.container` file. |
|
|
61
|
+
|
|
62
|
+
If the task is "call a function on the host from a page", that is `quick.container.*` and Container Configuration — not this file.
|
|
63
|
+
|
|
64
|
+
## Rules that prevent the common failures
|
|
65
|
+
|
|
66
|
+
- Every hook is optional; implement only what the host supports rather than stubbing the whole interface.
|
|
67
|
+
- `getURL` runs for both UI and service loads — branch on `mode` or you will rewrite URLs you didn't mean to.
|
|
68
|
+
- Check `extensions` before debugging "the engine ignores my setting"; an extension may be taking that behaviour over.
|
|
69
|
+
- Don't put page logic here — this file belongs to the host integration, not to any screen.
|
|
70
|
+
- Keep it in step with its IntelliSense companion → [container-services-intellisense.md](container-services-intellisense.md).
|
|
71
|
+
- Creating the file is not enough — it must be selected in App Settings → General → Container Services.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Container Services IntelliSense · editor type hints for the host layer
|
|
2
|
+
|
|
3
|
+
A declarations file that tells the **Studio code editor** what the Container Services File exposes, so those calls autocomplete and type-check while you write handlers.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → General → Container Services Intellisense** → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
## It is editor-only
|
|
8
|
+
|
|
9
|
+
This is the one setting file that **never reaches the running app**. It is not written into the app's runtime settings and the engine has no notion of it — it exists purely to make authoring easier.
|
|
10
|
+
|
|
11
|
+
What follows from that:
|
|
12
|
+
|
|
13
|
+
- Changing it cannot fix, break, or alter any runtime behaviour. If a host call misbehaves at runtime, the bug is in the Container Services File → [container-services-file.md](container-services-file.md).
|
|
14
|
+
- An app can run perfectly with this setting empty; you simply lose autocomplete.
|
|
15
|
+
- It is not proof of anything. A member declared here may not exist in the services file at all.
|
|
16
|
+
|
|
17
|
+
## Shape
|
|
18
|
+
|
|
19
|
+
TypeScript declarations mirroring the surface the services file implements:
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
interface IContainerServices {
|
|
23
|
+
getURL?(url: string, mode: "ui" | "service"): string | undefined;
|
|
24
|
+
userContextCb?(): IUserContext;
|
|
25
|
+
getContainerName?(): string;
|
|
26
|
+
logout?(): any;
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Nothing keeps it in sync
|
|
31
|
+
|
|
32
|
+
The two files are matched by convention only — no build step, no validation, and no warning when they disagree. Drift is silent and shows up as **autocomplete that lies**: a suggested member that does not exist, or a real member the editor never offers.
|
|
33
|
+
|
|
34
|
+
When you change the Container Services File, update this one in the same pass.
|
|
35
|
+
|
|
36
|
+
## Rules that prevent the common failures
|
|
37
|
+
|
|
38
|
+
- Never diagnose a runtime problem from this file; it does not run. Read the services file.
|
|
39
|
+
- Don't trust it as an inventory of what the host supports — verify against the services file.
|
|
40
|
+
- Update both files together; nothing will tell you they have drifted.
|
|
41
|
+
- An empty selection here is harmless, unlike the other General settings.
|
|
42
|
+
- Creating the file is not enough — it must be selected in App Settings → General → Container Services Intellisense.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Global Localization · app-wide translations
|
|
2
|
+
|
|
3
|
+
Translation keys shared by **every page** in the app. Page-level `lrids` live inside the page that uses them; global localization is the layer beneath, so a key defined once is available everywhere.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → Localization** (not General) → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
For how keys are written and referenced — `lrids` structure, `LR` in props vs `quick.LR` in events — see [../localization.md](../localization.md). This doc covers only the app-wide layer.
|
|
8
|
+
|
|
9
|
+
## Shape
|
|
10
|
+
|
|
11
|
+
A `.qjson` file carrying `lrids` and no UI. Same structure as a page's `lrids`:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
"lrids": {
|
|
15
|
+
"tr-TR": { "save": "'Kaydet'", "cancel": "'İptal'" },
|
|
16
|
+
"en-US": { "save": "'Save'", "cancel": "'Cancel'" }
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
As always, author `lrids` only — never `clrids`.
|
|
21
|
+
|
|
22
|
+
## Several files, in order
|
|
23
|
+
|
|
24
|
+
The Localization tab is an **ordered list**, not a single dropdown:
|
|
25
|
+
|
|
26
|
+
- Add a row, pick a file in it, and drag rows to reorder.
|
|
27
|
+
- A file already picked disappears from the other rows' options — each file can appear once.
|
|
28
|
+
- Remove a row to release its file back into the options.
|
|
29
|
+
|
|
30
|
+
Splitting translations across files (per module, per domain, a shared base) is the normal pattern.
|
|
31
|
+
|
|
32
|
+
## Merge rule: first wins
|
|
33
|
+
|
|
34
|
+
Studio merges the selected files **top to bottom into one** before the app runs. A key already defined by an earlier file is **not** overridden by a later one.
|
|
35
|
+
|
|
36
|
+
So the order is the precedence order: **put the file that should win first**. Adding an "overrides" file at the bottom of the list does nothing — move it to the top.
|
|
37
|
+
|
|
38
|
+
## Language at runtime
|
|
39
|
+
|
|
40
|
+
| Call | Does |
|
|
41
|
+
|---|---|
|
|
42
|
+
| `quick.Quick.getLanguage()` | Current language code. Default is `tr-TR`. |
|
|
43
|
+
| `quick.Quick.setLanguage(code)` | Switches the app's language. |
|
|
44
|
+
| `quick.LR(key)` | Resolves a key in events. |
|
|
45
|
+
| `LR(key)` | Resolves a key in props (QScript). |
|
|
46
|
+
|
|
47
|
+
`tr-TR` and `en-US` exist by default; further languages are added from the editor's **Localization → Add Language**, where each language declares its text direction (LTR / RTL).
|
|
48
|
+
|
|
49
|
+
## Parametric keys
|
|
50
|
+
|
|
51
|
+
Placeholders use `{}` in the text and are filled through the second argument:
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
let userInfo = quick.LR('UserName', { firstName: 'Ahmet', lastName: 'Yıldız' });
|
|
55
|
+
|
|
56
|
+
const person = { name: "Ahmet", surname: "Bulut" };
|
|
57
|
+
let info = quick.LR('userInfo', { person });
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Translations from a service
|
|
61
|
+
|
|
62
|
+
Localization can also arrive at runtime from a backend, imported into the same lookup:
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
quick.importLocalization(langCode, resourceList, { overrite: true });
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The usual place for this is the pipeline's `PreRender`, so it happens once at startup → [pipeline.md](pipeline.md).
|
|
69
|
+
|
|
70
|
+
> The option is spelled **`overrite`**, not `overwrite`. Spelling it correctly silently disables the override.
|
|
71
|
+
|
|
72
|
+
## Rules that prevent the common failures
|
|
73
|
+
|
|
74
|
+
- Every key must exist in **all** supported languages; a missing key falls back to the raw key at runtime.
|
|
75
|
+
- Order the files by precedence — first wins, and a later file cannot override an earlier one.
|
|
76
|
+
- Don't duplicate a key across global and page `lrids` expecting the page to win; keep each key in one place.
|
|
77
|
+
- Creating the file is not enough — it must be selected in App Settings → Localization. If the app has global localization files but none selected, the tab is flagged and **Export and Publish are blocked**.
|
|
78
|
+
- Author `lrids`; never write `clrids`.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Loading Component · the app's loading screen
|
|
2
|
+
|
|
3
|
+
The screen the app shows while blocking work is in flight. Build it once and every blocking request in the app covers itself with your design instead of nothing.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → Loading** → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
## The Loading tab holds three things
|
|
8
|
+
|
|
9
|
+
| Field | What it is |
|
|
10
|
+
|---|---|
|
|
11
|
+
| **Web Lottie** | A Lottie animation file used for loading on web. **Add New** imports one. |
|
|
12
|
+
| **Loading Component** | The `.qjson` loading screen itself — the subject of this doc. |
|
|
13
|
+
| **Mobile Lottie** | The Lottie animation used for loading on mobile. |
|
|
14
|
+
|
|
15
|
+
The two Lottie rows only appear if the organization has the Lottie capability. On mobile, the selected mobile Lottie is what ships as the loading animation.
|
|
16
|
+
|
|
17
|
+
## When it shows
|
|
18
|
+
|
|
19
|
+
The engine keeps a **counter of in-flight blocking operations**:
|
|
20
|
+
|
|
21
|
+
- Counter goes to **1** → your loading qjson is rendered as a child page into the app root.
|
|
22
|
+
- Counter drops to **0 or less** → the loading screen is cleared.
|
|
23
|
+
|
|
24
|
+
A service call joins that counter by asking for it — `blockRender: true` on the request → [../services.md](../services.md). A request without `blockRender` runs invisibly and never raises the loading screen.
|
|
25
|
+
|
|
26
|
+
Only one loading screen exists at a time, no matter how many requests overlap; it stays up until the **last** one finishes.
|
|
27
|
+
|
|
28
|
+
## Driving it yourself
|
|
29
|
+
|
|
30
|
+
Blocking requests raise the loading screen on their own, but you can also control it directly:
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
quick.Quick.loading.show();
|
|
34
|
+
quick.Quick.loading.hide();
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Use this for slow work the network layer cannot see — a heavy computation, or a multi-step flow you want covered from start to finish.
|
|
38
|
+
|
|
39
|
+
**`show()` and `hide()` are not symmetric.** `show()` adds one to the in-flight counter; `hide()` sets the counter straight to **zero**. A single `hide()` therefore tears the loading screen down for *everything* currently pending, including blocking requests you did not start.
|
|
40
|
+
|
|
41
|
+
- Don't treat `hide()` as the inverse of `show()` — it is a reset, not a decrement.
|
|
42
|
+
- Never call `hide()` from shared code (a pipeline handler, a reusable component) while page requests may still be running.
|
|
43
|
+
- For ordinary service calls, let `blockRender` manage the counter; reach for manual control only when nothing else will raise it.
|
|
44
|
+
|
|
45
|
+
## It receives nothing
|
|
46
|
+
|
|
47
|
+
Unlike the Alert Component, the loading screen is rendered with **no props and no events**. It cannot know what is loading, which page asked, or how long it will take, and it has no way to call back.
|
|
48
|
+
|
|
49
|
+
So: build it as a self-contained animation. Do not design it around a message passed in from the caller — there is no such message. If a screen needs a contextual "Saving…" text, that belongs on the page, not here.
|
|
50
|
+
|
|
51
|
+
## Shape
|
|
52
|
+
|
|
53
|
+
A normal `.qjson`: a `Messaging` root plus the visual — typically a full-screen overlay with a spinner or a Lottie animation. No parent communication, no action buttons.
|
|
54
|
+
|
|
55
|
+
## Rules that prevent the common failures
|
|
56
|
+
|
|
57
|
+
- Don't read `quick.parent.props` here; nothing is passed. It will be empty.
|
|
58
|
+
- Don't put logic that must run per request in the loading component — it is mounted and cleared by a counter, not once per call.
|
|
59
|
+
- Requests only trigger it with `blockRender: true`; if the loading screen "never appears", check that first.
|
|
60
|
+
- Keep it cheap to render: it mounts on every blocking call.
|
|
61
|
+
- Creating the file is not enough — it must be selected in App Settings → Loading.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Local Proxy File · dev-time request redirection
|
|
2
|
+
|
|
3
|
+
A redirect table for **development**. It intercepts outgoing calls whose URL matches a pattern and sends them somewhere else — a service running on localhost, a different environment, or another micro-UI. It lets you point a page at real endpoints without editing the page.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → General → Local Proxy File** → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
## It needs a switch in the Settings File
|
|
8
|
+
|
|
9
|
+
The proxy is inert until the app is told to use it:
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
useLocalProxyOnClient: true
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
That line goes in the **Settings File**, not here → [settings-file.md](settings-file.md). Studio's Live Preview turns it on by itself, so a mapping that works in preview but not elsewhere usually means this flag is missing.
|
|
16
|
+
|
|
17
|
+
## Format
|
|
18
|
+
|
|
19
|
+
YAML, one `pattern: target` pair per line. `##` starts a comment.
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
## Service redirection (local)
|
|
23
|
+
service/campaign-delete/: http://localhost:3002/campaignManagament-sym/campaign-delete
|
|
24
|
+
|
|
25
|
+
## Service redirection (remote)
|
|
26
|
+
service/campaign-create/: https://apigateway.myPlatform.onplateau.com/campaignManagament-sym/campaign-create/
|
|
27
|
+
|
|
28
|
+
## API redirection
|
|
29
|
+
/api/users: https://reqres.in/api/users
|
|
30
|
+
|
|
31
|
+
## MicroUI redirection (URL)
|
|
32
|
+
/microUI/processmanager: http://URL
|
|
33
|
+
|
|
34
|
+
## MicroUI redirection (file system)
|
|
35
|
+
/microUI/authorization: ../../authorization/authorizationUI
|
|
36
|
+
|
|
37
|
+
## Symphony qjson redirection
|
|
38
|
+
/moneytransfer/qjsonfunc: http://localhost:3001/moneytransfer/qjsonfunc
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The key is a fragment of the outgoing URL; a request whose URL matches it is redirected to the target. Targets can be a local server, a remote environment, or — for micro-UIs — a path on disk.
|
|
42
|
+
|
|
43
|
+
## What it is for
|
|
44
|
+
|
|
45
|
+
| Redirect | Typical use |
|
|
46
|
+
|---|---|
|
|
47
|
+
| Service calls | Point a service at a locally running backend instead of the deployed one. |
|
|
48
|
+
| API paths | Swap an endpoint for a mock or a public test API. |
|
|
49
|
+
| Micro-UI | Load another UI from a URL or straight from the file system. |
|
|
50
|
+
| qjson functions | Serve page functions from a local server. |
|
|
51
|
+
|
|
52
|
+
## Development only
|
|
53
|
+
|
|
54
|
+
This is a local-development mechanism. It is not a routing layer for a published app — do not design runtime behaviour around it, and do not assume a mapping here will exist for real users.
|
|
55
|
+
|
|
56
|
+
## Rules that prevent the common failures
|
|
57
|
+
|
|
58
|
+
- Without `useLocalProxyOnClient: true` in the Settings File the file does nothing — check that before debugging mappings.
|
|
59
|
+
- When a call reaches the wrong host during preview, look here first; the page is usually innocent.
|
|
60
|
+
- Keep environment-specific hosts in this file, not hard-coded in pages, so the pages stay portable.
|
|
61
|
+
- Don't rely on it in published apps — it is a development tool.
|
|
62
|
+
- Creating the file is not enough — it must be selected in App Settings → General → Local Proxy File.
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Pipeline · app-wide request/response hooks
|
|
2
|
+
|
|
3
|
+
One file per app that intercepts **every** service call and a few global lifecycle points. Use it for cross-cutting concerns — auth headers, tracing, global error handling, network-status reactions — instead of repeating that logic on every page.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → General → Pipeline**. Until it is selected there it does nothing, no matter how correct the file is → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
## Shape
|
|
8
|
+
|
|
9
|
+
A pipeline is a normal `.qjson` file whose `pJson` is a **single `Messaging` component**. All pipeline behavior lives in that component's `E` block — there is no UI.
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
"pJson": [
|
|
13
|
+
{ "T": "Messaging",
|
|
14
|
+
"P": { "ID": { "H": "pipelineComp", "T": "prop" } },
|
|
15
|
+
"E": {
|
|
16
|
+
"onBeforeRequest": { "H": "...", "C": true, "EV": true, "HL": "TS" }
|
|
17
|
+
},
|
|
18
|
+
"C": {}, "O": { "cType": "child" }, "_Editor": { "eID": "pipelineComp" } }
|
|
19
|
+
]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Every pipeline event needs `"EV": true`
|
|
23
|
+
|
|
24
|
+
The engine calls these handlers **from outside the page**, so each one must be marked externally visible:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{ "H": "…", "C": true, "EV": true, "HL": "TS" }
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
- `"EV": true` — **required**. This is the *External Visible* checkbox in the Studio editor. Only externally-visible events are registered as callable pipeline methods; when the engine fires an event it does not find, it just returns nothing. So a missing `EV` fails **silently** — no error, the pipeline simply never runs.
|
|
31
|
+
- `"C": true` — custom event.
|
|
32
|
+
- `"HL": "TS"` — pipeline handlers are TypeScript, not QScript.
|
|
33
|
+
|
|
34
|
+
## Events
|
|
35
|
+
|
|
36
|
+
| Event | Parameter | Fires |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| `onBeforeRequest` | `requestObject: IRequest` | Before every outgoing request. Add/update/delete headers, body, timeout. |
|
|
39
|
+
| `onAfterResponse` | `response: INetworkResponse` | After every **successful** response. |
|
|
40
|
+
| `onAfterErrorResponse` | `response: INetworkResponse` | After every **failed** response. |
|
|
41
|
+
| `onPostRender` | — | After each page render in the app. |
|
|
42
|
+
| `logHandler` | `messages: IMessage` | For every log written (page `quick.EM.trace` and engine logs). |
|
|
43
|
+
| `onNetworkStatusChange` | `isNetworkConnected: boolean` | When connectivity changes (online/offline). |
|
|
44
|
+
| `applicationEnd` | — | When the app shuts down: the browser unloads the page, or a host embedding the app closes/destroys it. Use it for teardown — flush logs, clear stored state, notify a host. |
|
|
45
|
+
|
|
46
|
+
`applicationEnd` is **not** in the starter template and not in most sample pipelines — add it yourself when you need shutdown behavior. It is a real engine event, not a custom one.
|
|
47
|
+
|
|
48
|
+
The parameter is not declared in `P`; declare it at the top of the handler:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
declare var requestObject: IRequest;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Parameter shapes
|
|
55
|
+
|
|
56
|
+
`requestObject` is the same `IRequest` used by `quick.Request.async` → [../services.md](../services.md). Commonly touched: `url`, `headers`, `data`, `timeout`.
|
|
57
|
+
|
|
58
|
+
`response` (`INetworkResponse`): `data`, `headers`, `status`, `statusText`.
|
|
59
|
+
|
|
60
|
+
`messages` (`IMessage`): `message`, `type` (`Debug` | `MobilDebug` | `Trace` | `Warning` | `Error`), `time`, `caller`.
|
|
61
|
+
|
|
62
|
+
## Custom pipeline events
|
|
63
|
+
|
|
64
|
+
The built-in list is not closed. A host embedding the app can trigger **any** pipeline event by name, passing its own arguments — so a pipeline can expose app-specific hooks the host calls at will. Such an event is defined exactly like the built-in ones (`"C": true`, `"EV": true`) and reads its arguments with `declare var`.
|
|
65
|
+
|
|
66
|
+
Only names the pipeline actually exposes do anything; triggering an unknown name is a no-op.
|
|
67
|
+
|
|
68
|
+
## Typical handlers
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
// onBeforeRequest
|
|
72
|
+
declare var requestObject: IRequest;
|
|
73
|
+
|
|
74
|
+
requestObject.headers["pipelineKey"] = "pipelineValue";
|
|
75
|
+
|
|
76
|
+
let token = quick.store.get("#authToken");
|
|
77
|
+
requestObject.headers["Authorization"] = token;
|
|
78
|
+
|
|
79
|
+
if (requestObject.url.indexOf("employees") > -1) {
|
|
80
|
+
requestObject.headers["pipelineKey2"] = "pipelineValue2";
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
requestObject.timeout = 20000;
|
|
84
|
+
delete requestObject.headers["unwanted"];
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
// onAfterErrorResponse
|
|
89
|
+
declare var response: INetworkResponse;
|
|
90
|
+
|
|
91
|
+
quick.EM.trace(response.status);
|
|
92
|
+
quick.EM.trace(response.statusText);
|
|
93
|
+
response.data["handled"] = true;
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
// logHandler
|
|
98
|
+
declare var messages: IMessage;
|
|
99
|
+
|
|
100
|
+
let messageMsg = messages.message;
|
|
101
|
+
let messageType = messages.type;
|
|
102
|
+
let messageCaller = messages.caller;
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
// applicationEnd — no parameter; runs once as the app shuts down
|
|
107
|
+
quick.EM.trace("application is closing");
|
|
108
|
+
quick.store.set("#session", null);
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## It can hold ordinary events too
|
|
112
|
+
|
|
113
|
+
The `Messaging` component is a normal component, so you may add regular events beside the pipeline hooks — most usefully `PreRender` (`"I": true`) to bootstrap the app once, with its own custom callbacks:
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
// PreRender — load localization bundles at startup
|
|
117
|
+
let request1: IRequest = {
|
|
118
|
+
url: '/api/localization/bundles',
|
|
119
|
+
http: 'get',
|
|
120
|
+
data: { locale: 'tr' },
|
|
121
|
+
responseField: 'data',
|
|
122
|
+
onSuccess: 'localizationOnSuccess',
|
|
123
|
+
onFail: 'localizationOnFail',
|
|
124
|
+
blockRender: true,
|
|
125
|
+
};
|
|
126
|
+
quick.Request.async(request1);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Those callbacks are ordinary custom events (`"C": true`) and do **not** need `EV`.
|
|
130
|
+
|
|
131
|
+
## Rules that prevent the common failures
|
|
132
|
+
|
|
133
|
+
- **Missing `"EV": true` is the number-one pipeline bug** — the handler never runs and nothing reports it. Check it on every pipeline event.
|
|
134
|
+
- Use `"HL": "TS"`; these handlers are TypeScript.
|
|
135
|
+
- Declare the parameter with `declare var …` — it is not passed via `P`.
|
|
136
|
+
- `onBeforeRequest` runs for **every** request; guard URL-specific logic with a check on `requestObject.url` or you will corrupt unrelated calls.
|
|
137
|
+
- Mutate the given object (`requestObject` / `response`) in place; don't reassign it.
|
|
138
|
+
- Creating the file is not enough — it must be selected in App Settings → General → Pipeline.
|
|
139
|
+
- One pipeline per app. Don't scatter global request logic across pages when a pipeline exists.
|
package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/settings-file.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Settings File · app-level runtime knobs
|
|
2
|
+
|
|
3
|
+
A YAML file of runtime settings the engine reads at startup — service URL prefixes, regional settings, back-button behaviour, and the switch that turns the local proxy on.
|
|
4
|
+
|
|
5
|
+
Selected in **App Settings → General → Settings File** → [appSettings.md](appSettings.md).
|
|
6
|
+
|
|
7
|
+
## The one thing to understand: authored vs generated
|
|
8
|
+
|
|
9
|
+
When the app is exported or published, Studio produces a **single settings document**: your Settings File content **plus** a block of keys it generates from the App Settings selections. The generated block is appended after yours, so on a duplicate key **the generated value wins**.
|
|
10
|
+
|
|
11
|
+
So there are two disjoint sets of keys, and mixing them up is the classic failure here.
|
|
12
|
+
|
|
13
|
+
### Generated by Studio — never author these
|
|
14
|
+
|
|
15
|
+
These come from your App Settings selections and the app's contents:
|
|
16
|
+
|
|
17
|
+
| Key | Comes from |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `rootqjson` | The app's start page. |
|
|
20
|
+
| `alertqjson` | App Settings → Alert Component → [alert-component.md](alert-component.md) |
|
|
21
|
+
| `loadingqjson`, `loadingfile` | App Settings → Loading → [loading-component.md](loading-component.md) |
|
|
22
|
+
| `pipelineqjson` | App Settings → Pipeline → [pipeline.md](pipeline.md) |
|
|
23
|
+
| `globalLocalizationqjson` | App Settings → Localization → [global-localization.md](global-localization.md) |
|
|
24
|
+
| `csspath` | Every CSS file in the app → [style-file.md](style-file.md) |
|
|
25
|
+
| `fontPath` | Uploaded font files. |
|
|
26
|
+
| `containerServicesPath`, `componentListPath` | The matching General selections. |
|
|
27
|
+
| `localproxy` | App Settings → Local Proxy File → [local-proxy-file.md](local-proxy-file.md) |
|
|
28
|
+
| `title` | General → **Site title**. |
|
|
29
|
+
| `iamV2` | The oAuth tab. |
|
|
30
|
+
| `appSettings`, `fileMap`, `certificate` | The app's own configuration and file index. |
|
|
31
|
+
|
|
32
|
+
Writing any of these by hand is at best ignored and at worst confusing — change the corresponding App Settings selection instead.
|
|
33
|
+
|
|
34
|
+
### Authored here
|
|
35
|
+
|
|
36
|
+
The runtime knobs App Settings has no field for:
|
|
37
|
+
|
|
38
|
+
| Key | Meaning |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `useLocalProxyOnClient` | Turns the Local Proxy File on. Required for it to do anything → [local-proxy-file.md](local-proxy-file.md) |
|
|
41
|
+
| `serviceURL` | Prefix prepended to service call URLs. |
|
|
42
|
+
| `selectedServiceUrl` | Which configured service URL is active. |
|
|
43
|
+
| `defaultServiceHeader` | Headers added to every service call by default. |
|
|
44
|
+
| `qjsonURLPrefix` | Prefix for fetching page files. |
|
|
45
|
+
| `regionalDefinition` | Regional/locale settings. |
|
|
46
|
+
| `disableBackManagement` | Turns off the engine's browser-back handling. |
|
|
47
|
+
| `blockFontRequest` | Suppresses the automatic font request. |
|
|
48
|
+
| `serviceWorkerPath` | Where the service worker is served from. |
|
|
49
|
+
| `backendInf` | Backend info, including container name and IAM flags. |
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
useLocalProxyOnClient: true
|
|
53
|
+
serviceURL: https://apigateway.example.onplateau.com
|
|
54
|
+
disableBackManagement: false
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Where it overlaps with the pipeline
|
|
58
|
+
|
|
59
|
+
`defaultServiceHeader` sets headers statically for every call; the pipeline's `onBeforeRequest` sets them dynamically per call. Use the Settings File for constants and the pipeline for anything conditional → [pipeline.md](pipeline.md).
|
|
60
|
+
|
|
61
|
+
## Rules that prevent the common failures
|
|
62
|
+
|
|
63
|
+
- Never hand-write a generated key (`title`, `alertqjson`, `pipelineqjson`, `csspath`, …) — set it through App Settings; the generated value overrides yours anyway.
|
|
64
|
+
- `useLocalProxyOnClient: true` lives **here**, not in the Local Proxy File. A proxy that "does nothing" is usually this line missing.
|
|
65
|
+
- Put per-request logic in the pipeline, not in `defaultServiceHeader`.
|
|
66
|
+
- Creating the file is not enough — it must be selected in App Settings → General → Settings File.
|
package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/style-file.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Style File · app-wide CSS
|
|
2
|
+
|
|
3
|
+
Project-level CSS applied across the whole app. Created from **+ Add New → Style File**.
|
|
4
|
+
|
|
5
|
+
> ⚠️ **CSS is Web-only and the last resort.** Quick renders on Web, Android and iOS; CSS exists only on Web. Style a component with its `S` object first, then its `class` prop, and only then reach for a Style File — the full priority order is in [../styling.md](../styling.md). Anything you put here simply does not exist on mobile.
|
|
6
|
+
|
|
7
|
+
Legitimate uses: pseudo-selectors, project-wide rules, and `@font-face` — things neither `S` nor `class` can express.
|
|
8
|
+
|
|
9
|
+
## It is not selected — it is collected
|
|
10
|
+
|
|
11
|
+
Unlike every other setting file, a Style File has **no dropdown in App Settings**. Every CSS file in the app is gathered and applied automatically (a file overridden by a module override is skipped).
|
|
12
|
+
|
|
13
|
+
Consequences:
|
|
14
|
+
|
|
15
|
+
- Creating a Style File is enough to make it live. There is nothing to "assign", and nothing to forget to assign.
|
|
16
|
+
- You cannot disable one from App Settings — to stop its rules applying, change or delete the file.
|
|
17
|
+
- Rules from several files all land in the same place, so ordinary CSS specificity decides conflicts.
|
|
18
|
+
|
|
19
|
+
## Multiple style files are an enterprise feature
|
|
20
|
+
|
|
21
|
+
By default an app has a single Style File. Support for several CSS files is enabled per organization; once enabled, a **CSS** entry appears in **+ Add New** alongside *Style File*. If that entry is missing, the organization does not have the feature — that is not a bug.
|
|
22
|
+
|
|
23
|
+
## Scoping: prefix every rule with `body .v-application`
|
|
24
|
+
|
|
25
|
+
The runtime renders inside Vuetify, so a bare selector will not win. Every rule must be scoped:
|
|
26
|
+
|
|
27
|
+
```css
|
|
28
|
+
body .v-application .v-text-field { background: lightgrey; }
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
A rule without the `body .v-application` prefix is the single most common reason a Style File "does nothing".
|
|
32
|
+
|
|
33
|
+
## Fonts and `@font-face`
|
|
34
|
+
|
|
35
|
+
Font files are uploaded into the app (**+ Add New → Upload From Local**, or under a module) and referenced by their font token in `url(...)`:
|
|
36
|
+
|
|
37
|
+
```css
|
|
38
|
+
@font-face {
|
|
39
|
+
font-family: DXIcons;
|
|
40
|
+
src: local("DevExtreme Generic Icons"), url("<<woff2:icmn8uep-j6k3-ke30-kkam-nj2hwwav>>") format("woff2");
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Accepted formats: `.woff`, `.woff2`, `.ttf`.
|
|
45
|
+
|
|
46
|
+
The `<<woff2:…>>` token is resolved to a real path when the app is exported or published. In an exported local project you may have to write the `@font-face` rule yourself with the correct font id.
|
|
47
|
+
|
|
48
|
+
## Style File vs Theme
|
|
49
|
+
|
|
50
|
+
They are not alternatives. A **Theme** defines named colors and fonts that pages consume through the Style tab and `S`, and it works on every platform → [theme.md](theme.md). A Style File is raw Web CSS. Put design tokens in the theme; keep the Style File for what CSS alone can do.
|
|
51
|
+
|
|
52
|
+
## Rules that prevent the common failures
|
|
53
|
+
|
|
54
|
+
- Confirm `S` genuinely cannot do it before writing CSS — see [../styling.md](../styling.md).
|
|
55
|
+
- Never rely on a Style File for anything the app needs on mobile; it will not be there.
|
|
56
|
+
- Prefix every selector with `body .v-application`.
|
|
57
|
+
- Don't hard-code colors here that the theme already names.
|
|
58
|
+
- Don't look for a Style File dropdown in App Settings — there isn't one; the file applies as soon as it exists.
|