@stechquick/studio-cli 4.0.3-2
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/clean/domain/infrastructure/ICloudProviderFileSystem.js +5 -0
- package/dist/common/clean/domain/infrastructure/ICloudProviderFileSystem.js.map +1 -0
- package/dist/common/clean/domain/infrastructure/ICrypto.js +5 -0
- package/dist/common/clean/domain/infrastructure/ICrypto.js.map +1 -0
- package/dist/common/clean/domain/infrastructure/ILogger.js +5 -0
- package/dist/common/clean/domain/infrastructure/ILogger.js.map +1 -0
- package/dist/common/clean/domain/infrastructure/IMime.js +5 -0
- package/dist/common/clean/domain/infrastructure/IMime.js.map +1 -0
- package/dist/common/clean/domain/useCases/ICloudProvider.js +3 -0
- package/dist/common/clean/domain/useCases/ICloudProvider.js.map +1 -0
- package/dist/common/clean/domain/useCases/ICloudProviderPublish.js +5 -0
- package/dist/common/clean/domain/useCases/ICloudProviderPublish.js.map +1 -0
- package/dist/common/everything/accessmanager/types.js +8 -0
- package/dist/common/everything/accessmanager/types.js.map +1 -0
- package/dist/common/everything/action/types.js +5 -0
- package/dist/common/everything/action/types.js.map +1 -0
- package/dist/common/everything/befunc/runtimeModels/types.js +5 -0
- package/dist/common/everything/befunc/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/dataSet/runtimemodels/types.js +5 -0
- package/dist/common/everything/dataSet/runtimemodels/types.js.map +1 -0
- package/dist/common/everything/dataType/runtimemodels/types.js +35 -0
- package/dist/common/everything/dataType/runtimemodels/types.js.map +1 -0
- package/dist/common/everything/endpoint/runtimeModels/types.js +5 -0
- package/dist/common/everything/endpoint/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/enum/runtimeModels/types.js +3 -0
- package/dist/common/everything/enum/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/flow/runtimeModels/types.js +7 -0
- package/dist/common/everything/flow/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/restService/runtimeModels/types.js +5 -0
- package/dist/common/everything/restService/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/sla/runtimemodels/types.js +5 -0
- package/dist/common/everything/sla/runtimemodels/types.js.map +1 -0
- package/dist/common/everything/soapService/runtimeModels/types.js +6 -0
- package/dist/common/everything/soapService/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/studio/ui/IStudioUIModelBase.js +3 -0
- package/dist/common/everything/studio/ui/IStudioUIModelBase.js.map +1 -0
- package/dist/common/everything/studio/ui/IStudioUIObjectBase.js +3 -0
- package/dist/common/everything/studio/ui/IStudioUIObjectBase.js.map +1 -0
- package/dist/common/everything/workflow/runtimemodels/types.js +90 -0
- package/dist/common/everything/workflow/runtimemodels/types.js.map +1 -0
- package/dist/common/helpers/objectHelper.js +43 -0
- package/dist/common/helpers/objectHelper.js.map +1 -0
- package/dist/common/helpers/promiseHelper.js +47 -0
- package/dist/common/helpers/promiseHelper.js.map +1 -0
- package/dist/common/helpers/typeHelper.js +3 -0
- package/dist/common/helpers/typeHelper.js.map +1 -0
- package/dist/common/qCloudTemp/announcement.js +3 -0
- package/dist/common/qCloudTemp/announcement.js.map +1 -0
- package/dist/common/qCloudTemp/application.js +3 -0
- package/dist/common/qCloudTemp/application.js.map +1 -0
- package/dist/common/qCloudTemp/applicationCopy.js +3 -0
- package/dist/common/qCloudTemp/applicationCopy.js.map +1 -0
- package/dist/common/qCloudTemp/applicationVersion.js +3 -0
- package/dist/common/qCloudTemp/applicationVersion.js.map +1 -0
- package/dist/common/qCloudTemp/authentication.js +3 -0
- package/dist/common/qCloudTemp/authentication.js.map +1 -0
- package/dist/common/qCloudTemp/authorization.js +4 -0
- package/dist/common/qCloudTemp/authorization.js.map +1 -0
- package/dist/common/qCloudTemp/backoffice.js +3 -0
- package/dist/common/qCloudTemp/backoffice.js.map +1 -0
- package/dist/common/qCloudTemp/exporter.js +3 -0
- package/dist/common/qCloudTemp/exporter.js.map +1 -0
- package/dist/common/qCloudTemp/externalToken.js +3 -0
- package/dist/common/qCloudTemp/externalToken.js.map +1 -0
- package/dist/common/qCloudTemp/feedback.js +3 -0
- package/dist/common/qCloudTemp/feedback.js.map +1 -0
- package/dist/common/qCloudTemp/invitation.js +3 -0
- package/dist/common/qCloudTemp/invitation.js.map +1 -0
- package/dist/common/qCloudTemp/membership.js +3 -0
- package/dist/common/qCloudTemp/membership.js.map +1 -0
- package/dist/common/qCloudTemp/modelDatas.js +3 -0
- package/dist/common/qCloudTemp/modelDatas.js.map +1 -0
- package/dist/common/qCloudTemp/organizationGroupApplication.js +3 -0
- package/dist/common/qCloudTemp/organizationGroupApplication.js.map +1 -0
- package/dist/common/qCloudTemp/quickCloud.js +34 -0
- package/dist/common/qCloudTemp/quickCloud.js.map +1 -0
- package/dist/common/qCloudTemp/storageTypes.js +3 -0
- package/dist/common/qCloudTemp/storageTypes.js.map +1 -0
- package/dist/common/qCloudTemp/symDtoObjects.js +8 -0
- package/dist/common/qCloudTemp/symDtoObjects.js.map +1 -0
- package/dist/common/qCloudTemp/tags.js +3 -0
- package/dist/common/qCloudTemp/tags.js.map +1 -0
- package/dist/common/qCloudTemp/template.js +107 -0
- package/dist/common/qCloudTemp/template.js.map +1 -0
- package/dist/common/qCloudTemp/userPreference.js +3 -0
- package/dist/common/qCloudTemp/userPreference.js.map +1 -0
- package/dist/common/qCloudTemp/userRequest.js +8 -0
- package/dist/common/qCloudTemp/userRequest.js.map +1 -0
- package/dist/common/studioCli/messages.js +14 -0
- package/dist/common/studioCli/messages.js.map +1 -0
- package/dist/common/studioCli/protocolVersion.js +14 -0
- package/dist/common/studioCli/protocolVersion.js.map +1 -0
- package/dist/jobs/src/application/shared/fileUrlCreator.js +72 -0
- package/dist/jobs/src/application/shared/fileUrlCreator.js.map +1 -0
- package/dist/jobs/src/domain/model/IExportJob.js +3 -0
- package/dist/jobs/src/domain/model/IExportJob.js.map +1 -0
- package/dist/studio-cli/src/.ai-kit/.mcp.json +8 -0
- package/dist/studio-cli/src/.ai-kit/AGENTS.md +18 -0
- package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE-legacy.md +29 -0
- package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE-s.md +30 -0
- package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE.md +86 -0
- package/dist/studio-cli/src/.ai-kit/CLAUDE.md +12 -0
- package/dist/studio-cli/src/.ai-kit/README.md +81 -0
- package/dist/studio-cli/src/.ai-kit/agents/qjson-legacy-migrator.md +308 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-events.md +41 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author-legacy.md +29 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author-s.md +29 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author.md +33 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-styling-legacy.md +37 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-styling.md +36 -0
- package/dist/studio-cli/src/.ai-kit/examples/README.md +12 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/AllowdDates.qjson +122 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Avatarlar.qjson +1084 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/BarChart.qjson +1061 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/BarChart_Type_Time_Sample.qjson +344 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/BottomSheetScrollWithHeaderInformation.qjson +1609 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CardTitle.qjson +143 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Charts_Custom_Legend_Sample.qjson +763 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Charts_tooltipLabel_sample.qjson +631 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CheckBoxQvalue.qjson +91 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CheckboxDisabledExample.qjson +153 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Click Outside.qjson +144 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboBoxReset.qjson +839 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxAddItemWithDialog.qjson +296 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxAddItemWithTextField.qjson +186 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxDefaultSelection.qjson +99 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxWithTreeView.qjson +94 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Combobox_SelectAll.qjson +704 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComponentsInteractionExamples.qjson +722 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CookieExamples.qjson +828 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CreateComponent_WithTransmitDataSource_Sample.qjson +749 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Cryptography-with-ivKey.qjson +2159 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Dashboard.qjson +1135 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataExamples.qjson +696 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataStorageExamples.qjson +1296 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTable-Single-select-Multi-Select-TotalCalculation.qjson +441 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableAddRemoveItem.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableBoldHeader.qjson +34 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableEdit.qjson +422 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableFixedColumn.qjson +133 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableIndexExample.qjson +117 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableSearch.qjson +105 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableVerticalBorder.qjson +34 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableWithTooltip.qjson +354 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTable_ChildButtonVisibleSample.qjson +892 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerExampleApp (1).qjson +770 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerInlineExample.qjson +299 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerLocale.qjson +87 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatepickerDatenow.qjson +96 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatepickerExample.qjson +147 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Detailed_Table_Row_Expand.qjson +388 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Detailed_Table_Rows.qjson +114 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogBlockSubPage.qjson +1014 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogExample.qjson +420 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogExampleWith/304/261con.qjson +345 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogWithEagerProp.qjson +129 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DoughnutChart.qjson +1005 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Download.qjson +139 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumnChooser.qjson +341 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumnFixing.qjson +317 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumn_fix_allowFixing.qjson +466 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxExport.qjson +225 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxFilterRow.qjson +174 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxSearchPanel.qjson +170 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-columnAutoWidth.qjson +135 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridArrStoreLiveCon.qjson +201 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridArrStoreLiveConReason.qjson +290 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridExternalFilterCleaning.qjson +358 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridExternalFiltering.qjson +300 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridRowDragging.qjson +257 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_MultipleSelection.qjson +503 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_ServiceCall.qjson +204 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_SimplestGridWithArrayStore.qjson +215 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_SingleSelection.qjson +337 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_allowFixing.qjson +321 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_columnResizingMode.qjson +718 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_hoverStateEnabled.qjson +144 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_onCellClickEvent.qjson +147 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_width_menu.qjson +574 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreeListArrStoreLiveCon.qjson +302 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-color.qjson +237 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-columnreordering.qjson +241 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-editing.qjson +1471 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-extarnelfiltre.qjson +122 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Expansion_Panels.qjson +298 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/FileInput.qjson +228 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Frame_openHtmlContentInFrame.qjson +556 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Highlight_datatable_select.qjson +53 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Icon_Samples.qjson +148 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Instructions.request.qjson +605 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Intersect.qjson +423 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LightBox.qjson +809 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LineChart.qjson +1046 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LineChart_Type_Time_Sample.qjson +340 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ListExample.qjson +475 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LoginPage.qjson +525 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/MMDelay.qjson +356 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/MMtrigger.qjson +195 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/NavigationDrawerExample.qjson +808 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/NavigationDrawerWithAppBar.qjson +1621 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Parallax.qjson +381 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/PermanentStore_Example.qjson +1445 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/PieChart.qjson +1005 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Profile_Card.qjson +345 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ProgressLinear.qjson +547 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QCaptcha.qjson +318 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QDocumentViewer.qjson +41 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QFrameAllowFullScreenExample.qjson +368 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QFrameExample.qjson +117 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QIdleTimer.qjson +100 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomRotate.qjson +428 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomTypeNextTo.qjson +187 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomTypeOn.qjson +187 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLabel_URL.qjson +105 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLabel_URL_Click.qjson +133 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegend.qjson +501 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegendBlock.qjson +732 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegend_unchanged.qjson +746 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QMapExample.qjson +785 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QMenuExample.qjson +68 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QOtp.qjson +979 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QQRCode.qjson +295 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QReCaptcha.qjson +361 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QRichTextExample.qjson +139 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QRichText_Cursor_Sample.qjson +352 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QTutorialFinalDemo.qjson +494 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QVideoExample.qjson +1135 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Qlabel_Props.qjson +1591 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Qmenu-Icon-Img-SizeandColor.qjson +244 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Quick_Bind.qjson +110 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Quick_Bind_Sample.qjson +172 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Rating.qjson +101 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/RenderingComponent_Sample.qjson +1592 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/RequestExamples.qjson +680 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ResetValidation-ResetUsage.qjson +1326 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Resize.qjson +140 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Ripple.qjson +431 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Sparkline.qjson +386 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/State_storing.qjson +286 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/SwitchComponent.qjson +42 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Pagination.qjson +99 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Search.qjson +64 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Select.qjson +106 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ToolTip_props.qjson +2649 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/TooltipDisplayOfVDataTableDataTotal.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/TreeViewExample.qjson +92 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VAppBar.qjson +1681 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VAutocompleteRegex.qjson +45 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VBottomSheet.qjson +429 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VCard.qjson +1945 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VCombobox_customValidation.qjson +290 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable-slot-columnVeriyeG/303/266reRenklendirme.qjson +493 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTableIconExample.qjson +116 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTableItemAggregation.qjson +499 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Change_FooterPageText.qjson +107 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Multiple_Select_Control.qjson +50 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SetGetComboboxValue_.qjson +148 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SetItemSelect_GetSelection.qjson +627 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SlotInstances.qjson +362 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Validation.qjson +226 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_With_QTableCell_Sample.qjson +281 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_customSearchFilter.qjson +255 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_firstColumn_fixedActionsColumn.qjson +216 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_uniqueSlot_itemKey_Object.qjson +545 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDatePicker_AllowdDates.qjson +89 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDialog.qjson +3512 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VExpansionPanel_UsageAndProps.qjson +3811 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInput-Slot-VIcon-Dolu.qjson +232 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInputGetUploadedContent.qjson +111 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInput_ImagePicker.qjson +308 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFooter.qjson +1480 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VForm.qjson +410 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFormActionExample.qjson +2289 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatePicker_titleDateFormat.qjson +319 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatepickerMaxMin.qjson +36 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatepickerReset.qjson +88 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineTimePicker.qjson +149 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VListGroup.qjson +1817 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VList_NavigationMenu.qjson +1636 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VMenu_PopoverInTable.qjson +534 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VMenu_sample.qjson +470 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VStepperExample.qjson +748 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VStepper_vertical.qjson +364 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VSteppers_EditableNonLinear.qjson +658 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VSteppers_LinearWithContinueButton.qjson +719 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextFieldQuickInputFormat.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextFieldValidation.qjson +1087 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_FocusExample.qjson +329 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_Validation_examples.qjson +877 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_customValidation.qjson +159 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValueSample1.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValueSapmle2.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValue_exceptLetters.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValue_specialChars.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_keyDown.qjson +37 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_rangeOfNumber_validation.qjson +55 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextareaQuickInputFormat.qjson +37 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextarea_format_regex_sample.qjson +321 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTimelineExample.qjson +322 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Vcontainer.qjson +417 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VinlineDatePicker.qjson +61 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/V/304/261nlineDatepickerDeleteValue.qjson +304 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/alert.qjson +459 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/alertSamplePage.qjson +455 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/authorizationDashboard.qjson +24914 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/badge copy.qjson +158 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/badge.qjson +158 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/bottomSheetScrollable.qjson +3220 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/breadcrumbs.qjson +587 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/button.qjson +1765 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/cellTemplate.qjson +76 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/combobox.qjson +90 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/comboboxSelected.qjson +118 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/createChildren.qjson +406 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/createClosedPanes.qjson +245 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/creditcard.qjson +28 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/crypto.qjson +5965 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/customFilterUsingCalculateFilterExpressionEvent.qjson +305 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/customStore.qjson +156 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dataTableFormatColumn.qjson +151 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/data_table_component_access.qjson +130 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/datagridAddDynamicColumn.qjson +1381 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/datatableAddandDeleteItem.qjson +1195 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/deleteComponent.qjson +533 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/divider.qjson +185 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxColumncssClass.qjson +249 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridAddinEditingDeleting.qjson +486 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridLines.qjson +120 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridRemove.qjson +216 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDatagridHeatMap.qjson +334 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDatagridUpdate.qjson +80 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxMasterDetail.qjson +261 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxPaging_withServiceCall.qjson +159 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxRowDragging.qjson +179 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxSummary_dxTotalItem_usage.qjson +219 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxTotalItemCustomizeText.qjson +226 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxTreeList_exportToExcel.qjson +266 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dynamicComp.qjson +162 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/email.qjson +29 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/encoding.qjson +304 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/encryptedStorage_Sample.qjson +596 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileInput-1.qjson +904 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileUploadBlockComponent.qjson +68 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileUploadServiceCallBlockComp.qjson +128 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/findAndDeleteRelatedDynamicComp.qjson +211 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/first.qjson +57 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fixedActionsColumn.qjson +133 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/formatWithFormatType.qjson +1740 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/getComponent_example.qjson +491 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/globalLocalization.qjson +189 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/goldenLayout.qjson +228 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/images.qjson +1461 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/list.qjson +162 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/localization_AddLanguageRTL_Sample.qjson +1192 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/newCustomerRegister.qjson +2598 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/number.qjson +41 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/number_VTextarea.qjson +37 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/onlyAlphabetic.qjson +32 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/parentPage.qjson +292 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/pipeline.qjson +77 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/pipelineSample.qjson +422 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/placeQidDynamic.qjson +193 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/progress-circular.qjson +1056 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/qtimer.qjson +335 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/radioGroupGetValues.qjson +125 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/region_definition_example.qjson +580 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/resetAndResetValidationUsage.qjson +1827 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive1.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive2.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive3.qjson +1546 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/scrollButton.qjson +331 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/scrollDirective.qjson +297 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/selectedRow-propertyDisable.qjson +238 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/serviceCallerBlockComponent.qjson +63 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/sheet.qjson +149 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/slider.qjson +81 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/snackbars.qjson +2454 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/sso.qjson +260 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/subPage.qjson +710 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/tab.qjson +271 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/tableadditem.qjson +125 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/themeExamplePage.qjson +876 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/tiffImage.qjson +315 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/timePicker.qjson +452 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/treeview.qjson +156 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/treeview2.qjson +503 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/uniqueRowSlots.qjson +226 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/vMenu.qjson +212 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/vcarousel.qjson +659 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/vdatatable_slots_with_custom_validation_usage.qjson +1585 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/AllowdDates.qjson +126 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChartEvents.qjson +323 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChartTitle.qjson +411 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChartYTicks.qjson +399 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/CalendarUsageExample.qjson +2 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/ChartLegendFont.qjson +788 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DataTable_customSort.qjson +277 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DoughnutChartEvents.qjson +243 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Icon_Samples.qjson +181 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Instructions.request.qjson +584 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Intersect.qjson +404 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LightBox.qjson +777 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChart.qjson +1049 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChartEvents.qjson +327 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChartPointProps.qjson +416 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/MMDelay.qjson +384 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/MMtrigger.qjson +209 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/NavigationDrawerExample.qjson +899 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Parallax.qjson +416 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/PieChart.qjson +1103 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QCaptcha.qjson +409 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QDocumentViewer.qjson +149 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QFrameExample.qjson +213 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QIdleTimer.qjson +221 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomRotate.qjson +432 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/VList_NavMenu.qjson +3008 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/alertSamplePage.qjson +450 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/authorizationDashboard.qjson +24914 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/badge.qjson +151 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/breadcrumbs.qjson +563 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/button.qjson +1658 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/cellTemplate.qjson +96 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/combobox.qjson +109 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/comboboxSelected.qjson +119 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/createChildren.qjson +411 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/createClosedPanes.qjson +265 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/creditcard.qjson +49 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/crypto.qjson +5632 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/customStore.qjson +157 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dataTableFormatColumn.qjson +151 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/data_table_component_access.qjson +130 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/deleteComponent.qjson +501 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/divider.qjson +180 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxColumncssClass.qjson +249 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridLines.qjson +121 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridRemove.qjson +209 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDatagridUpdate.qjson +80 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxMasterDetail.qjson +257 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxRowDragging.qjson +175 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dynamicComp.qjson +156 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/email.qjson +177 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/encoding.qjson +304 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/images.qjson +1379 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/images_olddd.qjson +1366 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/newCustomerRegister.qjson +2598 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/number.qjson +169 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/number_VTextarea.qjson +163 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/onlyAlphabetic.qjson +164 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/parentPage.qjson +351 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/pipeline.qjson +78 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/pipelineSample.qjson +410 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/placeQidDynamic.qjson +289 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/progress-circular.qjson +1014 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/samplePageLottie.qjson +696 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/00-qjson-structure-legacy.md +65 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/00-qjson-structure.md +67 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/01-properties.md +77 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/02-events-and-scripting.md +79 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/03-layout-and-slots-legacy.md +72 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/03-layout-and-slots.md +64 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/04-styling-legacy.md +73 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/04-styling.md +177 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/05-components.md +97 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/06-services.md +68 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/07-localization.md +40 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/08-dynamic-components.md +49 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/09-page-skeletons-legacy.md +83 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/09-page-skeletons.md +87 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/10-validation-and-sync-legacy.md +69 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/10-validation-and-sync.md +78 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/11-cli-bridge.md +97 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/12-render-check.md +45 -0
- package/dist/studio-cli/src/.ai-kit/opencode.jsonc +95 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-catalog-legacy.md +120 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-catalog.md +135 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-contracts.json +14964 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-index.json +114 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-styles.json +6983 -0
- package/dist/studio-cli/src/.ai-kit/reference/events-system.md +98 -0
- package/dist/studio-cli/src/.ai-kit/reference/layout-system.md +99 -0
- package/dist/studio-cli/src/.ai-kit/reference/mapping-S-vuetify-class.md +103 -0
- package/dist/studio-cli/src/.ai-kit/reference/qjson-schema-legacy.md +189 -0
- package/dist/studio-cli/src/.ai-kit/reference/qjson-schema.md +188 -0
- package/dist/studio-cli/src/.ai-kit/reference/quick-api.md +248 -0
- package/dist/studio-cli/src/.ai-kit/reference/styling-system.md +193 -0
- package/dist/studio-cli/src/.ai-kit/skills/figma-to-qjson/SKILL.md +116 -0
- package/dist/studio-cli/src/.ai-kit/skills/quick-qjson/SKILL.md +36 -0
- package/dist/studio-cli/src/.ai-kit/tools/README.md +42 -0
- package/dist/studio-cli/src/control/controlClient.js +119 -0
- package/dist/studio-cli/src/control/controlClient.js.map +1 -0
- package/dist/studio-cli/src/control/convertToBlock.js +70 -0
- package/dist/studio-cli/src/control/convertToBlock.js.map +1 -0
- package/dist/studio-cli/src/control/pickWorkspaceDir.js +105 -0
- package/dist/studio-cli/src/control/pickWorkspaceDir.js.map +1 -0
- package/dist/studio-cli/src/control/protocolHandler.js +60 -0
- package/dist/studio-cli/src/control/protocolHandler.js.map +1 -0
- package/dist/studio-cli/src/control/pull.js +135 -0
- package/dist/studio-cli/src/control/pull.js.map +1 -0
- package/dist/studio-cli/src/control/push.js +113 -0
- package/dist/studio-cli/src/control/push.js.map +1 -0
- package/dist/studio-cli/src/control/registerProtocol.js +251 -0
- package/dist/studio-cli/src/control/registerProtocol.js.map +1 -0
- package/dist/studio-cli/src/control/startWorking.js +70 -0
- package/dist/studio-cli/src/control/startWorking.js.map +1 -0
- package/dist/studio-cli/src/control/workspaceSetup.js +66 -0
- package/dist/studio-cli/src/control/workspaceSetup.js.map +1 -0
- package/dist/studio-cli/src/index.js +193 -0
- package/dist/studio-cli/src/index.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/figmaPull.js +207 -0
- package/dist/studio-cli/src/isolatedCommands/figmaPull.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/qjsonBuild.js +26 -0
- package/dist/studio-cli/src/isolatedCommands/qjsonBuild.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/validateQjson.js +560 -0
- package/dist/studio-cli/src/isolatedCommands/validateQjson.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/validateStyles.js +672 -0
- package/dist/studio-cli/src/isolatedCommands/validateStyles.js.map +1 -0
- package/dist/studio-cli/src/server/bridgeServer.js +817 -0
- package/dist/studio-cli/src/server/bridgeServer.js.map +1 -0
- package/dist/studio-cli/src/server/peer.js +119 -0
- package/dist/studio-cli/src/server/peer.js.map +1 -0
- package/dist/studio-cli/src/server/serverInfo.js +59 -0
- package/dist/studio-cli/src/server/serverInfo.js.map +1 -0
- package/dist/studio-cli/src/server/wsRaw.js +252 -0
- package/dist/studio-cli/src/server/wsRaw.js.map +1 -0
- package/dist/studio-cli/src/util/frontmatter.js +71 -0
- package/dist/studio-cli/src/util/frontmatter.js.map +1 -0
- package/dist/studio-cli/src/util/logger.js +28 -0
- package/dist/studio-cli/src/util/logger.js.map +1 -0
- package/dist/studio-cli/src/util/modelRef.js +38 -0
- package/dist/studio-cli/src/util/modelRef.js.map +1 -0
- package/dist/studio-cli/src/util/state.js +36 -0
- package/dist/studio-cli/src/util/state.js.map +1 -0
- package/dist/studio-cli/src/version.js +6 -0
- package/dist/studio-cli/src/version.js.map +1 -0
- package/dist/ui/src/common/promiseHelper.js +6 -0
- package/dist/ui/src/common/promiseHelper.js.map +1 -0
- package/dist/ui/src/domain/model/IObject.js +3 -0
- package/dist/ui/src/domain/model/IObject.js.map +1 -0
- package/dist/ui/src/domain/model/models.js +163 -0
- package/dist/ui/src/domain/model/models.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# QJSON Schema — Authoritative Reference (`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? → [AGENT_GUIDE Step 0](../AGENT_GUIDE.md).
|
|
4
|
+
>
|
|
5
|
+
> **This file is the `S` track.** Design is authored in the node's `S` object; `O.layout` is not authored. On a **legacy** page instead (where `S` does not render) → [qjson-schema-legacy.md](qjson-schema-legacy.md).
|
|
6
|
+
>
|
|
7
|
+
> Source of truth: `common/shrimp/interfaces/ComponentInterfaces/ICompJson.ts` and `IQJson.ts`. These are the actual TypeScript interfaces the Quick runtime/compiler use. The earlier community docs described a smaller subset — this is the full schema.
|
|
8
|
+
|
|
9
|
+
## 1. File envelope (`IQJSon`)
|
|
10
|
+
|
|
11
|
+
A `.qjson` file is a JS module exporting `pjson`:
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
let pjson = {
|
|
15
|
+
"pJson": [], // ICompJson[] — authored component tree (you write this)
|
|
16
|
+
"lrids": {}, // ILRID — localization you write, by language code
|
|
17
|
+
"opt": {} // IQJsonOptions
|
|
18
|
+
};
|
|
19
|
+
export default pjson
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
An **AI-authored file carries only these three keys** (`pJson`, `lrids`, `opt`). The compiled twins `cJson` (compiled tree) and `clrids` (compiled localization) are generated by the editor/compiler on import — **omit them entirely**: never write them into a new file, and strip them from any downloaded file you edit.
|
|
23
|
+
|
|
24
|
+
Full `IQJSon` interface fields:
|
|
25
|
+
|
|
26
|
+
| Key | Type | Authored? | Notes |
|
|
27
|
+
|-----|------|-----------|-------|
|
|
28
|
+
| `pJson` | `ICompJson[]` | **you** | the component tree |
|
|
29
|
+
| `cJson` | `ICompJson[]` | generated | compiled twin of pJson; **absent in AI-authored files** (omit/strip — Studio regenerates it) |
|
|
30
|
+
| `lrids` | `ILRID` | **you** | `{ "tr-TR": {key:"'val'"}, ... }` |
|
|
31
|
+
| `clrids` | `ILRID` | generated | compiled localization; **absent in AI-authored files** (omit/strip — Studio regenerates it) |
|
|
32
|
+
| `opt` | `IQJsonOptions` | optional | page options (below) |
|
|
33
|
+
| `description` | `string` | optional | page description |
|
|
34
|
+
| `files` / `cFiles` | `Record<string,string>` | optional | TS 2.0 external handler files (`HF`) and compiled twins |
|
|
35
|
+
| `namedViews` | `Record<string, IQView>` | optional | additional named views (advanced) |
|
|
36
|
+
|
|
37
|
+
`IQJsonOptions` (`opt`):
|
|
38
|
+
|
|
39
|
+
| Field | Meaning |
|
|
40
|
+
|-------|---------|
|
|
41
|
+
| `QL` | QJSON default scripting language (`ScriptLang`). Event handlers still use explicit `HL:"TS"`; properties/bindings may use `HL:"QS"`. |
|
|
42
|
+
| `V` | schema version number. A **new `S`-system page sets `V: 2.5`** (the current version — this is what marks it as `S`-system); a legacy page has `V` missing or `< 2.0`. |
|
|
43
|
+
| `otelDiag` / `otelChannel` | telemetry tags |
|
|
44
|
+
|
|
45
|
+
> `ScriptLang = "QS" | "JS" | "TS" | "FL" | "GUI"`. `QS`=QScript, `TS`=TypeScript, `JS`=plain JS (passthrough), `FL`=Flow (visual), `GUI`=editor-generated.
|
|
46
|
+
|
|
47
|
+
AI-authoring convention: an authored file carries three keys (`pJson`, `lrids`, `opt`) and **omits `cJson`/`clrids` entirely**; the editor/compiler fills the compiled twins on import/save. The file must close with `};` then `export default pjson`.
|
|
48
|
+
|
|
49
|
+
## 2. Component node (`ICompJson`)
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
interface ICompJson {
|
|
53
|
+
T: string; // component type name (see component-catalog.md)
|
|
54
|
+
CP?: string; // CompPath for a Named component
|
|
55
|
+
P: IPropJson; // properties (ID is required)
|
|
56
|
+
E: IDictionary<IEventJson>; // events
|
|
57
|
+
C: IDictionary<IChildJson>; // children grouped by slot name
|
|
58
|
+
D?: Record<string, Record<string, IDirectiveJson>>; // directives (advanced)
|
|
59
|
+
O?: IOptJson; // options (cType, layout, ...)
|
|
60
|
+
SA?: Array<string>; // applied Styled Component names (reusable named styles)
|
|
61
|
+
S?: StyleValue; // Style-tab inline styles, keyed by resolution range
|
|
62
|
+
SC?: IStyleChild; // style overrides for child sub-elements
|
|
63
|
+
_Editor: IEditorJson; // { eID: string }
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Required for a valid node: `T`, `P.ID.H`, `_Editor.eID`, and **`C`** (use `{}` for leaf components — omitting `C` is an error). `E` is typically present (often `{}`). `O` carries `cType` and layout.
|
|
68
|
+
|
|
69
|
+
### Styling fields: `S`, `SA`, `SC` (the Style System)
|
|
70
|
+
These are produced by Studio's **Style tab** (the modern styling mechanism). The earlier community docs ignored them.
|
|
71
|
+
|
|
72
|
+
- **`S`** (`StyleValue = Record<string, string | boolean | Record<string,string>>`): inline styles keyed by **resolution range** (e.g. `"xs-xl"`, `"md-xl"`), each a map of CSS-camelCase properties: `width`/`height`, `fontColor`/`fontFamily`/`fontSize`/`fontStyle`/`fontWeight`/`lineHeight`/`textAlign`, `backgroundColor`/`color`/`iconColor`, `border*`/`boxShadow`/`boxSizing`, margins/paddings, and (on containers) `col`/`flexDirection`/`alignItems`/`justifyContent`. Empty `""` = unset.
|
|
73
|
+
- **`SA`**: array of applied **Styled Component** names (reusable named styles shared across pages).
|
|
74
|
+
- **`SC`** (`IStyleChild`): style overrides targeting a component's child sub-elements.
|
|
75
|
+
|
|
76
|
+
You hand-write `S` for **all** per-component design here — layout included (grid `col`, `flexDirection`/`alignItems`/`justifyContent`, spacing); `SA`/`SC` are normally produced by applying Styled Components in Studio. The `O.layout` field (§6) exists in the schema but belongs to the legacy era — **do not author it** on an `S`-system page. Full guidance: [knowledge/04-styling.md](../knowledge/04-styling.md).
|
|
77
|
+
|
|
78
|
+
`CP` (CompPath for Named components) and `D` (directives) are advanced/editor-managed; hand-authoring rarely needs them.
|
|
79
|
+
|
|
80
|
+
### `_Editor.eID`
|
|
81
|
+
`{ "eID": "<id>" }` — the editor's stable internal id. It is **equal to `P.ID.H` for auto-generated components** (both `EdtrComp_42`) but **may differ** when the ID is renamed in Studio (real files contain both: e.g. `ID:"PageComp"` with `eID:"EdtrComp_1"`). So equality is not required. Rules that ARE required: both `P.ID.H` and `_Editor.eID` must be present and unique per page. When hand-authoring a new component, setting `eID` = `ID` (one unique value) is the simplest valid choice.
|
|
82
|
+
|
|
83
|
+
## 3. Properties (`IPropJson` / `IPropertyJson`)
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
interface IPropertyJson {
|
|
87
|
+
H: string | object; // value/expression (the "handler")
|
|
88
|
+
T: PTyped; // "prop" | "class" | "text" | "attr"
|
|
89
|
+
DE?: boolean; // Don't-Evaluate: use H literally, skip script evaluation
|
|
90
|
+
HF?: string; // external handler file (TS 2.0)
|
|
91
|
+
HL?: ScriptLang; // property language; QS is permitted and is the default for property expressions
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
`PType` enum (how the value is applied at render — from `RenderingManager`):
|
|
96
|
+
|
|
97
|
+
| `T` | Destination | Use for |
|
|
98
|
+
|-----|-------------|---------|
|
|
99
|
+
| `"prop"` | Vue component prop | the common case (`color`, `label`, `visible`, `items`, `QLabel.text`) |
|
|
100
|
+
| `"class"` | CSS class string | `class` |
|
|
101
|
+
| `"text"` | component slot **text content** | `VIcon` icon name; raw text content |
|
|
102
|
+
| `"attr"` | DOM attribute | `data-*`, `aria-*`, masks like `format` |
|
|
103
|
+
|
|
104
|
+
Value quoting inside `H` (QScript expression semantics):
|
|
105
|
+
- String → single-quoted: `"'primary'"`
|
|
106
|
+
- Number/boolean → bare: `"10"`, `"true"`
|
|
107
|
+
- Expression/binding → bare: `"item.name"`, `"data.title"`, `"components.x.qValue"`
|
|
108
|
+
- Array → `"[1,2,3]"`; QScript object literals use `=` keys: `"[{text='A', value=1}]"`
|
|
109
|
+
|
|
110
|
+
`IPropJson` reserves `ID` (required, `IDefinedPropertyJson` — `H` is a plain string), plus `Render`, `DiscardSettings`, `class`.
|
|
111
|
+
|
|
112
|
+
## 4. Events (`IEventJson`)
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
interface IEventJson {
|
|
116
|
+
H: string | IQuickFlowModel; // handler code (TS/QScript text), or a Flow model
|
|
117
|
+
P?: string; // params. QS: "x,y,z"
|
|
118
|
+
HF?: string; // external handler file (TS 2.0)
|
|
119
|
+
I?: boolean; // immediate (run synchronously during render — used by lifecycle init)
|
|
120
|
+
C?: boolean; // custom event (triggered via quick.MM.trigger)
|
|
121
|
+
PE?: boolean; // property event (fires on a property change; charts use this)
|
|
122
|
+
TO?: number; // post-render trigger order
|
|
123
|
+
EV?: boolean; // externally visible (callable from a parent/other qjson)
|
|
124
|
+
HL: "TS"; // event handlers use TS only
|
|
125
|
+
SM?: string; // source map (debug)
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- Event handler text uses `\r\n` line breaks.
|
|
130
|
+
- Custom events you call with `quick.MM.trigger('name', [payload])` must be declared with `"C": true`.
|
|
131
|
+
- Events callable from another page/parent need `"EV": true`.
|
|
132
|
+
- Lifecycle init events are often marked `"I": true`.
|
|
133
|
+
- Use `quick.return` (never native `return`); see [scripting knowledge](../knowledge/02-events-and-scripting.md).
|
|
134
|
+
|
|
135
|
+
## 5. Children & slots (`IChildJson` / `CType`)
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
interface IChildJson { cType: CTyped; c: Array<ICompJson>; }
|
|
139
|
+
enum CType { child = "child", slot = "slot", scopedSlot = "scopedSlot" }
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
`C` is keyed by **slot name**:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
"C": {
|
|
146
|
+
"default": { "c": [ ...children... ], "cType": "slot" },
|
|
147
|
+
"item.actions": { "c": [ ...per-row cells... ], "cType": "scopedSlot" }
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
| `cType` | Meaning (from source) |
|
|
152
|
+
|---------|------------------------|
|
|
153
|
+
| `"slot"` | normal named slot |
|
|
154
|
+
| `"child"` | direct/structural child (Messaging, service components, Ghost) |
|
|
155
|
+
| `"scopedSlot"` | callback slot receiving per-item data (`VDataTable` `item.<col>` — `item` available in child bindings) |
|
|
156
|
+
|
|
157
|
+
## 6. Options (`IOptJson`)
|
|
158
|
+
|
|
159
|
+
```ts
|
|
160
|
+
interface IOptJson {
|
|
161
|
+
cType?: CTyped; // matches the node's slot context
|
|
162
|
+
dynProps?: boolean; // dynamic-prop component (e.g. CustomComponent)
|
|
163
|
+
CL?: ScriptLang; // component language (defaults to QS)
|
|
164
|
+
forceUpdateAfterPropertySetting?: boolean;
|
|
165
|
+
compDomClasses?: string; // editor-rendered DOM class string (editor-managed)
|
|
166
|
+
layout?: ILayoutJson; // legacy — see note below; { dOpt: {bp: string[]}, class: string }
|
|
167
|
+
}
|
|
168
|
+
interface ILayoutJson { dOpt: IDictionary<Array<string>>; class: string; }
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
- **`O.layout` — do not author it here.** It's the pre-`S` legacy layout mechanism (`dOpt` keyed by breakpoint → prefixed tokens, flattened into a synced `class` string). It exists in the schema and the compiler still accepts it, but on an `S`-system page grid width, flex direction/align/justify, and spacing are all `S` params (`col`, `flexDirection`, `alignItems`, `justifyContent`, margins/paddings) — see [knowledge/03-layout-and-slots.md](../knowledge/03-layout-and-slots.md) and [knowledge/04-styling.md](../knowledge/04-styling.md). (If you are actually editing a legacy page, you are in the wrong doc — see [qjson-schema-legacy.md](qjson-schema-legacy.md).)
|
|
172
|
+
|
|
173
|
+
## 7. Compiled form (`cJson`) — do not author
|
|
174
|
+
|
|
175
|
+
When compiled, handler `H` values get wrapped with sentinel delimiters (e.g. `╬...╩╩`) and `cJson`/`clrids` are populated. **AI-authored files omit `cJson`/`clrids` entirely** — never write them into a new file, and strip them from any downloaded file you edit. Author `pJson`/`lrids`, then let the editor (or the official compiler CLI) regenerate the compiled twins on import. See [validation & sync](../knowledge/10-validation-and-sync.md).
|
|
176
|
+
|
|
177
|
+
## 8. Minimal valid node
|
|
178
|
+
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"T": "QLabel",
|
|
182
|
+
"P": { "ID": { "H": "lblTitle", "T": "prop" },
|
|
183
|
+
"text": { "H": "'Hello'", "T": "prop" } },
|
|
184
|
+
"E": {}, "C": {},
|
|
185
|
+
"O": { "cType": "slot" },
|
|
186
|
+
"_Editor": { "eID": "lblTitle" }
|
|
187
|
+
}
|
|
188
|
+
```
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# Quick Runtime API (`quick.*`) — Authoritative Reference
|
|
2
|
+
|
|
3
|
+
> Source of truth: `common/shrimp/interfaces/Scripting/IGlobals.ts` in the Quick monorepo. This is the API surface available inside event/prop handlers. Extracted from the real TypeScript interface definitions — not guessed.
|
|
4
|
+
|
|
5
|
+
## Two scripting contexts
|
|
6
|
+
|
|
7
|
+
Handlers run in one of two languages (`HL` field), and the available globals differ:
|
|
8
|
+
|
|
9
|
+
| | `HL: "TS"` (TypeScript) | `HL: "QS"` (QScript) |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| Interface | `IGlobalsTS` | `IGlobalsQS` |
|
|
12
|
+
| Extra globals | `devex` | `Math`, `regex`, `typeOf`, `Date`, `Number`, `JSON`, `string`, `Object`, `js`, `Url` |
|
|
13
|
+
| Default? | **event handlers: always author `TS`** (`"HL":"TS"`) | **properties/bindings: `QS`** — the omitted-`HL` runtime default (per `IPropertyJson`; also `IOptJson.CL`) |
|
|
14
|
+
|
|
15
|
+
Both contexts share the base API below (`IGlobalsBase`). In **TS**, call framework APIs as `quick.X`. In **QScript** (props and QS handlers), the `quick.` prefix is dropped: `quick.store` → `store`, `quick.MM` → `MM`, `quick.Quick` → `Quick`, etc. Props are **always QScript** regardless of `HL`.
|
|
16
|
+
|
|
17
|
+
> `regex`, `typeOf`, `Date`, `Number`, `JSON`, `string`, `Object`, `js`, `Math` are **QScript-only** globals (`TsFilterKeysGlobals` in `IEvaluator.ts`). In TS handlers use native equivalents or `quick.*`.
|
|
18
|
+
|
|
19
|
+
> **QScript semantics that differ from JS:** (1) `||` is boolean — `a || b` returns `true`/`false`, not the value of `a` or `b`. Don't write `store.get('x') || 'default'` expecting a fallback string. (2) Property access is null-safe by default — `a.b.c.d` won't throw even if `a` is undefined; it behaves like `a?.b?.c?.d`. So defensive patterns like `(val || '')` are unnecessary and wrong in QScript props.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Top-level (`IGlobalsBase`)
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
quick.LR(key, dataSource?) // localization lookup → string. Use in EVENTS. (props use bare LR(key))
|
|
27
|
+
quick.importLocalization(langCode, {key:val}, {overrite?})
|
|
28
|
+
quick.go(...args) // shell navigation (overloaded)
|
|
29
|
+
quick.getComponent(compID) // → IComponent | null | undefined
|
|
30
|
+
quick.getFormData(componentQID?) // collect input values into an object
|
|
31
|
+
quick.setFormData(compCol)
|
|
32
|
+
quick.getArrangedFormData(formData, pairChar)
|
|
33
|
+
quick.getArrangedNestedData(obj, pairChar)
|
|
34
|
+
quick.bind(field) // two-way binding to a store path
|
|
35
|
+
quick.this // the component the handler runs on
|
|
36
|
+
quick.parent.props / quick.parent.events// external props/events passed into the page (Messaging ExternalProps/ExternalEvents)
|
|
37
|
+
quick.return(retVal) // RETURN from a handler — never use native `return`
|
|
38
|
+
quick.await(retVal)
|
|
39
|
+
quick.getConstant(constantId) // → Promise<string|undefined>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Namespaces: `Request`, `MM`, `EM`, `Quick`, `store`, `permanentStore`, `cookie`, `localStorage`, `encryptedStorage`, `sso`, `cryptography`, `encoding`, `Url`, `process`, `currentPage`, `parent`, `containerServices`, `workflow`.
|
|
43
|
+
|
|
44
|
+
> **In QScript** (all props; QS handlers) drop the `quick.` prefix: `store.get('x')`, `MM.trigger('evt')`, `Quick.go(...)`, `EM.trace(...)`. The `quick.` prefix is TS-only.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## `quick.Request` — network
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
quick.Request.async(requestObject): Promise<INetworkResponse> | undefined
|
|
52
|
+
quick.Request.download(requestObject): void
|
|
53
|
+
```
|
|
54
|
+
`IRequest` fields: `url`, `http` (`'GET'|'POST'|'PUT'|'DELETE'|'PATCH'|'MULTIPART'|'POSTBLOB'|'GETBLOB'`), `data`, `responseField`, `onSuccess`, `onFail`, `blockRender`, `showSuccessMessage`, `showErrorMessage`, `args`, `headers`, `withCredentials`, `timeout`.
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
const requestObject = {
|
|
58
|
+
url: 'https://api.example.com/data', http: 'GET',
|
|
59
|
+
onSuccess: 'onSuccessfulResponse', onFail: 'onFailedResponse',
|
|
60
|
+
blockRender: true, responseField: 'response', timeout: 2000
|
|
61
|
+
};
|
|
62
|
+
quick.Request.async(requestObject);
|
|
63
|
+
```
|
|
64
|
+
The response is available in the `onSuccess` event as `response.<responseField>`.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## `quick.MM` — Messaging (custom events)
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
quick.MM.trigger(eventName, parameters?) // fire a custom event on the page component
|
|
72
|
+
quick.MM.delay(eventName, { delayTime?, options? }) // fire after a delay (use instead of setTimeout)
|
|
73
|
+
quick.MM.get(eventName)
|
|
74
|
+
quick.MM.clearTimeout(timer)
|
|
75
|
+
let result = quick.MM.trigger('myEvent'); // can return a value
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## `quick.EM` — tracing
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
quick.EM.trace(message, { logType? }) // console/log output. Use instead of console.log
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## `quick.store` — in-memory store (4 contexts via key prefix)
|
|
87
|
+
|
|
88
|
+
> **Prefix semantics (authoritative, from source):**
|
|
89
|
+
|
|
90
|
+
| Prefix | Context |
|
|
91
|
+
|--------|---------|
|
|
92
|
+
| _(none)_ | **Page** store context (cleared on navigation) |
|
|
93
|
+
| `#` | **Bag** store context |
|
|
94
|
+
| `$` | **Global** store context |
|
|
95
|
+
| `&` | **Shared** store context |
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
quick.store.set('key', value); quick.store.get('key');
|
|
99
|
+
quick.store.set('#bagKey', v); quick.store.set('$globalKey', v); quick.store.set('&sharedKey', v);
|
|
100
|
+
quick.store.getAll(name); quick.store.delete(name); quick.store.deleteAll(name);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
> ⚠️ The earlier community docs mislabeled these (`$`=persistent, `#`=session, `&`=cache). The source defines them as **Page / Bag(#) / Global($) / Shared(&)**. For cross-session persistence use `quick.permanentStore`, not a store prefix.
|
|
104
|
+
|
|
105
|
+
## Other storage
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
quick.permanentStore.set({key, value}) / .get(key) / .delete(key) / .getAll() / .createOrChangeStore(name) / .deleteStore(name) // async, IndexedDB-backed persistence
|
|
109
|
+
quick.cookie.set(key, {value, expire}) / .get(key) / .getAll() / .delete(key)
|
|
110
|
+
quick.localStorage.set/get/clear/delete
|
|
111
|
+
quick.encryptedStorage.set/get/clear/delete // mobile only (iOS Keychain / Android EncryptedSharedPreferences)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## `quick.Quick` — the large utility namespace
|
|
117
|
+
|
|
118
|
+
### Navigation
|
|
119
|
+
```ts
|
|
120
|
+
quick.Quick.go("<<qjson:UNIQUE-ID>>", { newTab?, store?, mobileAnimation? })
|
|
121
|
+
quick.Quick.goHistory(step) // +n forward / -n back
|
|
122
|
+
quick.Quick.back()
|
|
123
|
+
quick.Quick.redirect(url, { target? }) // "_self"|"_blank"|"_parent"|"_top"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Alerts (always include `actionButtons`)
|
|
127
|
+
```ts
|
|
128
|
+
quick.Quick.alert({
|
|
129
|
+
title?, text?,
|
|
130
|
+
category?: 'Warning'|'Info'|'Success'|'Error',
|
|
131
|
+
actionButtons?: [{ name, type, clickEventName? }], // type: 'Confirm'|'Cancel'|...
|
|
132
|
+
error?: { errorMessage?, errorCode?, errorSource? }, // errorSource: 'Page'|'Network'|'Validation'
|
|
133
|
+
additionals?: { props?, events? }
|
|
134
|
+
});
|
|
135
|
+
quick.Quick.closeAlert();
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Validation
|
|
139
|
+
```ts
|
|
140
|
+
quick.Quick.validate(compID, displayAlertBox, _unused?, { skipChildrenIfInvisible? }) // → true | undefined (compID = P.ID.H, the runtime ID — NOT the _Editor.eID)
|
|
141
|
+
quick.Quick.validateAll(displayAlertBox, _unused?, { skipChildrenIfInvisible? })
|
|
142
|
+
quick.Quick.reset(compID, { triggerChangeEvent? })
|
|
143
|
+
quick.Quick.resetValidation(compID)
|
|
144
|
+
```
|
|
145
|
+
Validation rule builders (used in a component's `rules` prop, as a QScript array):
|
|
146
|
+
```ts
|
|
147
|
+
quick.Quick.validation.required(message?)
|
|
148
|
+
quick.Quick.validation.minLength(len, message?, { disableNewlineOnCount? })
|
|
149
|
+
quick.Quick.validation.maxLength(len, message?, { disableNewlineOnCount? })
|
|
150
|
+
quick.Quick.validation.email(message?)
|
|
151
|
+
quick.Quick.validation.iban(message?) quick.Quick.validation.IBANNumOnly(message?)
|
|
152
|
+
quick.Quick.validation.regex(regexVal, message?)
|
|
153
|
+
quick.Quick.validation.tckn(message?) quick.Quick.validation.vkn(message?)
|
|
154
|
+
```
|
|
155
|
+
> Authoritative rule set — note there is **no** `phone` rule here (use `format` on the input for phone masking, plus `regex`). `tckn`/`vkn` are Turkish ID/Tax-number validators.
|
|
156
|
+
|
|
157
|
+
### Dynamic components
|
|
158
|
+
```ts
|
|
159
|
+
quick.Quick.createComponent({ templateCompQID, newCompQID, dataSource?, place?, placeQID?, childName? }) // place: ElementLocation = 'Before'|'After'|'Default'
|
|
160
|
+
quick.Quick.createChildren({ parentCompQId, templateChildName, newChildName? })
|
|
161
|
+
quick.Quick.findCreateComponentRelative(sourceComp, targetCompID)
|
|
162
|
+
quick.Quick.deleteComponent(componentInstance) // IComponent or DOM element
|
|
163
|
+
quick.Quick.updateComponent(comp?)
|
|
164
|
+
quick.Quick.getComponentIdByInstance(componentInstance)
|
|
165
|
+
quick.Quick.setComponentsProperty(compId, propertyName, propertyValue)
|
|
166
|
+
quick.Quick.setComponentClass(componentInstance, classesArray)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Formatting / dates / money
|
|
170
|
+
```ts
|
|
171
|
+
quick.Quick.toMoney(number, formatType?, opt?, bigDecimal?)
|
|
172
|
+
quick.Quick.toDecimal(value, radixPoint?) quick.Quick.toBigNumber(value)
|
|
173
|
+
quick.Quick.toDate(dateString, formatType?) quick.Quick.dateFromNow(dateString, formatType?)
|
|
174
|
+
quick.Quick.toLongDate(date, fmt?) toShortDate toLongTime toShortTime
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Misc
|
|
178
|
+
```ts
|
|
179
|
+
quick.Quick.copy(object) // deep clone
|
|
180
|
+
quick.Quick.copyToClipboard(value)
|
|
181
|
+
quick.Quick.download({ data, name }) // base64 download
|
|
182
|
+
quick.Quick.shareData({ data, name })
|
|
183
|
+
quick.Quick.exportToXlsx({ fileName, sheetList:[{headers, items, sheetName?}] })
|
|
184
|
+
quick.Quick.xlsxToJson(excelToJsonData)
|
|
185
|
+
quick.Quick.loading.show() / .hide()
|
|
186
|
+
quick.Quick.render.block() / .resume()
|
|
187
|
+
quick.Quick.screen.toTop({elementId?}) / .scrollIntoView(comp) / .intoView(comp) / .YOffset / .XOffset
|
|
188
|
+
quick.Quick.setLanguage(LRType) / .getLanguage()
|
|
189
|
+
quick.Quick.setPageTitle(value) / .getPageTitle() / .getFavicon()
|
|
190
|
+
quick.Quick.theme.setTheme(name, isLight?) / .getThemeList() / .addTheme(n) / .removeTheme(n)
|
|
191
|
+
quick.Quick.region.setRegion(name) / .getRegionList() / .getCurrentRegion()
|
|
192
|
+
quick.Quick.platform.isMobile() / .isWeb() / .getPlatformType() / .getDeviceId() / .getClientInfo()
|
|
193
|
+
quick.Quick.getCurrentPosition() // → Promise<ILocationPosition>
|
|
194
|
+
quick.Quick.environment.variable["key"]
|
|
195
|
+
quick.Quick.config.get(key)
|
|
196
|
+
quick.Quick.network.isConnected
|
|
197
|
+
quick.Quick.isEditMode
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## QScript-only globals (available bare inside `HL:"QS"` handlers/props)
|
|
203
|
+
|
|
204
|
+
```ts
|
|
205
|
+
Math.floor(x) Math.random(min,max) Math.round(n, decimals) Math.findIndex(arr, key, str)
|
|
206
|
+
Date.now() Date.parse(v, month) Date.time() Date.compare(a,b) Date.ISOString() Date.differenceInDays(a,b) Date.differenceInMonths(a,b) Date.getTimezoneOffset(d)
|
|
207
|
+
Number.parse(v) Number.parseFloat(v) Number.mod(a,b)
|
|
208
|
+
JSON.parse(str)
|
|
209
|
+
string.space string.replace(str, search, replace)
|
|
210
|
+
regex(value) // build a RegExp
|
|
211
|
+
typeOf(value) // 'string'|'number'|'boolean'|'object'|...
|
|
212
|
+
Url.resolve({url}) Url.getDeepLinkParams() Url.getUrl()
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
> ⚠️ Native `Date.now()`/`new Date()`/`Math.random()` behave as defined above inside QScript via these wrappers. In **TS** handlers you have normal TS but should still avoid forbidden browser APIs (see scripting knowledge doc).
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## `quick.cryptography` / `quick.encoding` / `quick.sso`
|
|
220
|
+
|
|
221
|
+
```ts
|
|
222
|
+
await quick.cryptography.hash({ data, algorithm }) // SHA1/256/384/512
|
|
223
|
+
await quick.cryptography.encrypt({ data, key, algorithm }) // RSAOAEP/AESCTR/AESCBC/AESGCM
|
|
224
|
+
await quick.cryptography.decrypt({ encryptedData, iv, key, algorithm })
|
|
225
|
+
quick.encoding.atob(s) quick.encoding.btoa(s)
|
|
226
|
+
quick.sso.start({ clientId, authorizeEndpoint, redirectUri, scope })
|
|
227
|
+
quick.sso.validate({ urlParams, tokenEndpoint, type, onSuccess, onFail })
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Workflow / process (advanced)
|
|
231
|
+
```ts
|
|
232
|
+
quick.workflow.RunFunction({ flowId, input, ... }) quick.workflow.Commit()
|
|
233
|
+
quick.process.getMetadata() / .setMetadata({Metadata}) / .changeProcessMetadata(key, onSuccess)
|
|
234
|
+
quick.RunBefunc({ befuncId, input })
|
|
235
|
+
quick.currentPage.isRenderCompleted()
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Golden rules for handler code
|
|
241
|
+
|
|
242
|
+
1. **Never `return`** — use `quick.return(value)` / `quick.return`.
|
|
243
|
+
2. **Event handlers are always TypeScript — set `"HL": "TS"` on every handler.** (The omitted-`HL` runtime default of `QS` applies to property/binding expressions, not `E` handlers.)
|
|
244
|
+
3. In **props**, localization is bare `LR('key')`; in **events**, `quick.LR('key')`.
|
|
245
|
+
4. Avoid browser globals in handlers; use `quick.MM.delay` (not `setTimeout`), `quick.EM.trace` (not `console`), `quick.Quick.download` (not anchor downloads).
|
|
246
|
+
5. Read a service response in the `onSuccess` event as `response.<responseField>`.
|
|
247
|
+
6. **QScript prefix rule:** In QScript (props + QS handlers) write `store.get(...)`, `MM.trigger(...)`, `Quick.go(...)` — no `quick.` prefix. This doc shows `quick.X` throughout because it is the TS form; strip `quick.` when writing QScript.
|
|
248
|
+
7. **QScript `||` is boolean:** `a || b` returns `true`/`false` in QScript, not a fallback value. For a conditional expression use `if(a){a}else{b}`. Also, property paths are null-safe — no need for `?? ''` or `|| ''` guards.
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Styling System — Authoritative Reference (`S` / `SC` / `SA`)
|
|
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? → [AGENT_GUIDE Step 0](../AGENT_GUIDE.md).
|
|
4
|
+
>
|
|
5
|
+
> **This file is the `S` track** (`S` / `SC` / `SA` schema). Authoring how-to: [../knowledge/04-styling.md](../knowledge/04-styling.md). On a **legacy** page instead (where `S` does not render) → [layout-system.md](layout-system.md).
|
|
6
|
+
|
|
7
|
+
## Why styling = the `S` object, not CSS
|
|
8
|
+
|
|
9
|
+
Quick runs on **Web, Android, and iOS**. CSS only exists on Web (DOM). Mobile renders native views. So per-component styling is expressed as a **platform-neutral style object `S`** on the component node, which each platform applies natively:
|
|
10
|
+
|
|
11
|
+
- **Web** (`StyleManager`): `S` → CSS rules with `@media` ranges + `[q_UID='…']` selectors (some components have specialized style handlers).
|
|
12
|
+
- **Mobile** (`bridgets componentManager`): `S` → flattened to the single breakpoint range matching the device → promoted to top-level props → `col` converted to flex-basis %, `boxShadow` simplified → passed to the native bridge `nb_createComponent`.
|
|
13
|
+
|
|
14
|
+
**Consequence:** a project Style File (CSS) styles Web only. To style **cross-platform**, you must use `S` (the Style tab). Author `S`, not CSS, for component visuals.
|
|
15
|
+
|
|
16
|
+
## 1. Shape of `S`
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
// ICompJson.S : StyleValue
|
|
20
|
+
type StyleValue = Record<string, string | boolean | undefined | Record<string,string>>;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
In practice `S` is keyed by **resolution range**, each holding camelCase CSS-like params:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
"S": {
|
|
27
|
+
"xs-xl": { "backgroundColor": "#1976D2", "paddingLeft": "16px", "fontColor": "#ffffff" },
|
|
28
|
+
"md-xl": { "fontSize": "18px", "height": "48px" }
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- A range key is `"<from>-<to>"` over breakpoints `xs<sm<md<lg<xl`. Default full range `"xs-xl"`.
|
|
33
|
+
- A narrower range (e.g. `"md-xl"`) overrides the base for those device widths (this is "Layout Multiplexing"). Empty string `""` = unset (use component default).
|
|
34
|
+
- Breakpoint widths: `xs` 0, `sm` 600, `md` 960, `lg` 1264, `xl` ∞ (px) — `StyleHelper.matchSizeValue`.
|
|
35
|
+
|
|
36
|
+
> Note: `S` ranges are inclusive spans over the breakpoints (`"xs-xl"`, `"md-xl"`, …), unlike the legacy `dOpt` keys which are **single** breakpoints.
|
|
37
|
+
|
|
38
|
+
## 2. Per-component style definitions (`componentStyleList`)
|
|
39
|
+
|
|
40
|
+
Each component declares which style fields it supports (its `componentStyleList`), grouped into the Style-tab sections: **LAYOUT**, **TEXT** (often `inheritedStyle:true`), **APPERANCE** (sic — that's the literal key). Each group has typed editors (`type` from `COMPONENT_STYLE_TYPE`) that emit specific `param` keys with defaults. **The per-component flattened form of this data — every supported `S` param + default — is bundled in [component-styles.json](component-styles.json); that file is the single source to consult when authoring `S`.**
|
|
41
|
+
|
|
42
|
+
> **A `default` in `component-styles.json` is only the Style-tab's pre-filled suggestion — it is NOT applied automatically.** Nothing merges these defaults at render; a param takes effect only when you write that `S` key on the node yourself. If you want a listed default value (e.g. `VBtn` `fontColor:#ffffff`), write it into `S` explicitly. (Same rule as [../knowledge/04-styling.md](../knowledge/04-styling.md) — the two docs agree on this.)
|
|
43
|
+
|
|
44
|
+
### Editor types → params they emit (`COMPONENT_STYLE_TYPE`)
|
|
45
|
+
| Editor `type` | Emits these `S` params |
|
|
46
|
+
|---------------|------------------------|
|
|
47
|
+
| `break-point-picker` | `break-point` (the Style-tab's range **selector**, e.g. `"xs-xl"` — it becomes the `S` range **key**, never a param **inside** a range. **Never write `"break-point"` into an `S` range** — it is not in `component-styles.json` and it has frozen the Web runtime.) |
|
|
48
|
+
| `box-layout` | `marginTop/Right/Bottom/Left`, `paddingTop/Right/Bottom/Left` |
|
|
49
|
+
| `inner-box-layout` | `innerMargin*`, `innerPadding*` (e.g. VTextField) |
|
|
50
|
+
| `padding-input` | `inputPaddingTop/Right/Bottom/Left` |
|
|
51
|
+
| `size` | `width`, `height`, `maxWidth`, `maxHeight`, `minWidth`, `minHeight`, `unlink`, `unlinkMax`, `unlinkMin`, `isSizeCollapsed` |
|
|
52
|
+
| `grid-column` | `col` (1–12 string; `0`→hidden) |
|
|
53
|
+
| `layout-chooser` / `content-direction` | `flexDirection` (`row`/`column`), `alignItems`, `justifyContent` |
|
|
54
|
+
| `font-picker` | `fontFamily`, `fontSize`, `fontStyle`, `fontWeight`, `combinedFont`, `ThemeFont` (+ `fontColor`) — and multi-part variants (`labelFontColor`, `prefixFontSize`, …) |
|
|
55
|
+
| `color-picker` | one color param (e.g. `backgroundColor`, `fontColor`, `iconColor`); `allowGradient:true` enables gradients |
|
|
56
|
+
| `box-shadow` | `boxShadow` (CSS shadow string) |
|
|
57
|
+
| `border` | per side: `border{Top|Right|Bottom|Left}Style`, `…Width`, radius `border{TopLeft|TopRight|BottomLeft|BottomRight}Radius`, plus `defaultBorderColor`, `boxSizing`, `sides` |
|
|
58
|
+
| `display` | `position`, `top`, `bottom`, `left`, `right`, `zIndex` |
|
|
59
|
+
| `layout-input` / `basic-input` | a single numeric param (e.g. `lineHeight`) |
|
|
60
|
+
| `display-text-align` | `textAlign` |
|
|
61
|
+
| `display-text-decoration` | `textDecorationLine`, `textDecorationStyle`, `textDecorationColor` |
|
|
62
|
+
|
|
63
|
+
### `IComponentDefinition` fields (per component)
|
|
64
|
+
- `componentStyleList` — the grouped style fields above.
|
|
65
|
+
- `propMigrateList` — **old prop → style key** migration. E.g. `VBtn`/`VCard`: `color → backgroundColor`; `VTextField`: `color → labelDefaultFontColor`, `height → height`. (This is why setting a legacy `color` prop maps into `S`.)
|
|
66
|
+
- `inheritedChildList` (→ node `SC`) — cascade a parent style to child sub-components (see §4). Bundled per component in [component-styles.json](component-styles.json) as the `inheritedChildList` key.
|
|
67
|
+
- `propRemoveList` — deprecated props hidden by the editor (e.g. `VBtn`: `small`,`large`,`text`).
|
|
68
|
+
- `parentListToBlockStyle` — under these parents the **Style tab UI** hides the child's own style editing (the parent's tab drives it). E.g. `QLabel` inside `VBtn`/`VChip`/`VTabs`/`VStepper`/…; `VBtn` inside `VBtnToggle`/`VSlideGroup`. **Authoring note:** the serialized page still carries the child's own `S` (the editor writes it — see the button label in [../examples/style/MMDelay.qjson](../examples/style/MMDelay.qjson)); per rule S3 you write the child's full-default `S` alongside the parent's `SC`.
|
|
69
|
+
- `extendedDefaulStyleList` — extra defaults applied at render.
|
|
70
|
+
|
|
71
|
+
## 3. Property taxonomy (the camelCase keys you put in `S`)
|
|
72
|
+
|
|
73
|
+
**Spacing:** `marginTop|Right|Bottom|Left`, `paddingTop|Right|Bottom|Left` (+ `inner*`, `inputPadding*`).
|
|
74
|
+
**Size:** `width`, `height`, `maxWidth`, `maxHeight`, `minWidth`, `minHeight`; flags `unlink`, `unlinkMax`, `unlinkMin`, `isSizeCollapsed` (units: px/%/em/rem).
|
|
75
|
+
**Flex/grid:** `col` (1–12), `flexDirection` (`row`/`column`), `alignItems`, `justifyContent`.
|
|
76
|
+
**Text:** `fontColor`, `fontFamily`, `fontSize`, `fontStyle` (`normal`/`italic`), `fontWeight` (`100`–`900`), `combinedFont` (auto `Family-Weight`, e.g. `Roboto-Regular`), `ThemeFont`, `lineHeight`, `textAlign`, `textDecorationLine|Style|Color`. Multi-part components prefix the part: `labelFontColor`, `prefixFontSize`, `PHFontColor` (placeholder), `inputFontColor`, `errorMessageFontColor`, …
|
|
77
|
+
**Colors:** `backgroundColor` (gradient-capable), `fontColor`, `iconColor`; state variants `disabledBackgroundColor`, `hoverColor`, `activeBackgroundColor`, `selectedBackgroundColor`; icon variants `appendIconColor`, `prependInnerIconColor`, `*ActiveIconColor` (component-specific).
|
|
78
|
+
**Border:** `border{Top|Right|Bottom|Left}Style` (`solid`/`dashed`/`dotted`), `…Width` (px), `border{TopLeft|TopRight|BottomLeft|BottomRight}Radius`, `defaultBorderColor`, `boxSizing`, `sides` (CSV `"Top,Right,Bottom,Left"`).
|
|
79
|
+
**Shadow:** `boxShadow` (and `innerBoxShadow`, `hoverShadow`, … per component).
|
|
80
|
+
**Position:** `position`, `top`, `bottom`, `left`, `right`, `zIndex`.
|
|
81
|
+
|
|
82
|
+
Component-specific params exist (e.g. `VStepper`: `activeStepCircleColor`, `inactiveStepNumberFontColor`; `VTabs`: `tabsBarBackgroundColor`, `activeTabLabelFontColor`; `VDatePicker`: `dateItemSelectedBackgroundColor`). To discover the exact supported set + defaults for a component, read its block in [component-styles.json](component-styles.json) — that file is bundled with the kit and is the only source to use.
|
|
83
|
+
|
|
84
|
+
### Representative editor-suggested defaults (illustrative only)
|
|
85
|
+
|
|
86
|
+
> These are Style-tab pre-fill suggestions, **not** values applied automatically — write them into `S` explicitly if you want them. This table is illustrative; the authoritative per-component param list + defaults is [component-styles.json](component-styles.json). **Where this table and `component-styles.json` disagree, `component-styles.json` wins** — never set a param the component's JSON block doesn't list.
|
|
87
|
+
|
|
88
|
+
| Component | Notable suggested defaults |
|
|
89
|
+
|-----------|------------------|
|
|
90
|
+
| `VBtn` | `backgroundColor:#1976D2`, `fontColor:#ffffff`, `paddingLeft/Right:16px`, border radius `4px`, border width `0px`, `textAlign:center` |
|
|
91
|
+
| `QLabel` | `fontColor:#000000`, `fontFamily:Roboto`, `fontSize:16px`, `fontWeight:400`, `lineHeight:20px`, `textAlign:left` |
|
|
92
|
+
| `VCard` | `backgroundColor:#ffffff`, elevation `boxShadow` set, radius `4px` |
|
|
93
|
+
| `VCol` | `padding*:12px`, `flexDirection:column` |
|
|
94
|
+
| `VContainer` | box-layout + size + position |
|
|
95
|
+
| `VTextField` | five font groups (label/prefix/placeholder/input/errorMessage), inner border (`innerBorderBottomWidth:1px`, `innerDefaultBorderColor:#0000006b`), `activeBorderColor:#1976d2`, icon colors `#686868`/active `#1976d2` |
|
|
96
|
+
|
|
97
|
+
## 4. Child-style inheritance: `SC` (`IStyleChild`)
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
type IStyleChild = { [styleParam: string]: { [childType: string]: string } };
|
|
101
|
+
```
|
|
102
|
+
Cascades a parent's style param to a typed child as a (possibly renamed) param. Driven by each component's `inheritedChildList` — **bundled per component in [component-styles.json](component-styles.json)** (the `inheritedChildList` key of the component's block, same `{ styleParam: { ChildType: childParam } }` shape; it is SC mapping data, **not** an `S` param). When authoring, copy that block into the node's `SC` as-is; components without one get no `SC`. Example — `VBtn` sets its text color and pushes it into its label/icon children:
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{ "T": "VBtn",
|
|
106
|
+
"S": { "xs-xl": { "fontColor": "#ffffff", "backgroundColor": "#1976D2", /* …full default set per rule S3… */ } },
|
|
107
|
+
"SC": {
|
|
108
|
+
"textAlign": { "QLabel": "textAlign" },
|
|
109
|
+
"textDecorationLine": { "QLabel": "textDecorationLine" },
|
|
110
|
+
"textDecorationStyle": { "QLabel": "textDecorationStyle" },
|
|
111
|
+
"textDecorationColor": { "QLabel": "textDecorationColor" },
|
|
112
|
+
"fontColor": { "VIcon": "iconColor", "QLabel": "fontColor" },
|
|
113
|
+
"fontStyle": { "QLabel": "fontStyle" },
|
|
114
|
+
"fontSize": { "QLabel": "fontSize" },
|
|
115
|
+
"fontFamily": { "QLabel": "fontFamily" },
|
|
116
|
+
"fontWeight": { "QLabel": "fontWeight" },
|
|
117
|
+
"combinedFont": { "QLabel": "combinedFont" },
|
|
118
|
+
"lineHeight": { "QLabel": "lineHeight" },
|
|
119
|
+
"ThemeFont": { "QLabel": "ThemeFont" },
|
|
120
|
+
"backgroundColor": { "VIcon": "backgroundColor" },
|
|
121
|
+
"disabledBackgroundColor": { "VIcon": "disabledBackgroundColor" }
|
|
122
|
+
},
|
|
123
|
+
"C": { "default": { "c": [ /* QLabel + VIcon inherit the above */ ], "cType": "slot" } } }
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
This is `VBtn`'s **complete** `inheritedChildList` — an `SC` is always the **whole** block copied from [component-styles.json](component-styles.json), never a hand-picked subset (the validator flags `incomplete-SC`).
|
|
127
|
+
This is how a parent pushes its colors into the **text inside a button**, the **icon color**, etc. **It complements — does not replace — the child's own `S`:** per rule S3 the child label/icon also carries its own `S` with its full default set (values matched to the design, e.g. `fontColor:#ffffff` on a primary button's label), exactly as the editor serializes it. Keep both: child `S` + parent `SC`.
|
|
128
|
+
|
|
129
|
+
## 5. Styled Components (`SA`)
|
|
130
|
+
Reusable named styles created from the Style tab; the node references them via `SA: string[]`. Editing the styled component updates every consumer. Shareable across apps via modules. Normally produced by Studio, not hand-authored.
|
|
131
|
+
|
|
132
|
+
## 6. Hand-authoring guidance
|
|
133
|
+
- Put **everything** — visual styling (colors, fonts, borders, shadows, exact sizes) and layout (grid/flex/spacing) alike — in `S`, keyed by resolution range. Use `"xs-xl"` for "all sizes", add narrower ranges to override. Do not author `O.layout` (`dOpt`+`class`) here — that is the legacy mechanism, not used on `S`-system pages.
|
|
134
|
+
- Not every component's style schema carries flex params: `VCol`'s `flexDirection`/`alignItems`/`justifyContent`/`col` are real, supported `S` params (check the `VCol` block in `component-styles.json`) and are what drive its rendered flex axis. A `VCol` left with no `S.flexDirection` defaults to a row axis, not the `column` shown as that param's editor-default suggestion — write it explicitly when you want children to stack. Components without those params (`VRow`/`VCard`/`VContainer`, …) generally don't need a direction override; if a design genuinely needs something their `S` schema can't express, the **Web-only, last-resort** fallback is the component's own `class` prop — there is **no** equivalent fallback on Mobile, so restructure with an `S`-capable component (typically a `VCol`) instead.
|
|
135
|
+
- For a container's text/icon child (button label, etc.): give the child its own full-default `S` (values matched to the design) **and** add the parent's `SC` mapping (mirror the component's `inheritedChildList`).
|
|
136
|
+
- **Emit every default (rule S3):** a placed component's `S` includes every param that carries a `default` in its [component-styles.json](component-styles.json) block — the default value, or your override. Params with no default are optional.
|
|
137
|
+
- Values are camelCase keys with string values; sizes accept `px`/`%`/`em`/`rem`; `""` = unset.
|
|
138
|
+
- For the exact supported params + defaults of a specific component, consult its block in [component-styles.json](component-styles.json) (bundled with the kit — never a source file outside this workspace).
|
|
139
|
+
- Theme colors/fonts (Themes Settings) appear in the Style tab; prefer them for brand consistency — they're still values you put in `S`, not a separate mechanism.
|
|
140
|
+
|
|
141
|
+
## 7. Containment rules (shared, editor-enforced)
|
|
142
|
+
|
|
143
|
+
> Kept in sync with the identical block in [../knowledge/03-layout-and-slots.md](../knowledge/03-layout-and-slots.md) — update both. (Containment is enforced identically regardless of style era.)
|
|
144
|
+
|
|
145
|
+
| Rule | From |
|
|
146
|
+
|------|------|
|
|
147
|
+
| `VCol` must be a child of `VRow`; cannot be at page root | `VColExtension.acceptableParentComps={VRow}` + `restrictedComponents` + `layout.md` |
|
|
148
|
+
| `VRow` accepts only `VCol` children | `VRowExtension.acceptableChildComps={VCol}` |
|
|
149
|
+
| `VFooter` accepts only `VContainer` children | `VFooterExtension.acceptableChildComps={VContainer}` |
|
|
150
|
+
|
|
151
|
+
Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` in `VTabs`, `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks. Machine-readable: [component-index.json](component-index.json) `containmentRules`.
|
|
152
|
+
|
|
153
|
+
## 8. Breakpoint device ranges (shared)
|
|
154
|
+
|
|
155
|
+
> Kept in sync with the identical table in [../knowledge/03-layout-and-slots.md](../knowledge/03-layout-and-slots.md) — update both. `S` ranges (e.g. `"xs-xl"`, `"md-xl"`) are built from these same device boundaries.
|
|
156
|
+
|
|
157
|
+
| Key | Device | Min px | Max px |
|
|
158
|
+
|-----|--------|--------|--------|
|
|
159
|
+
| `xs` | Mobile | 0 | 600 |
|
|
160
|
+
| `sm` | Tablet | 600 | 960 |
|
|
161
|
+
| `md` | Laptop | 960 | 1264 |
|
|
162
|
+
| `lg` | Desktop | 1264 | 1904 |
|
|
163
|
+
| `xl` | TV | 1904 | ∞ |
|
|
164
|
+
|
|
165
|
+
## 9. `class` token → `S` equivalent (audit reference)
|
|
166
|
+
|
|
167
|
+
> Kept in sync with [mapping-S-vuetify-class.md](mapping-S-vuetify-class.md) — update both. This table is a **live dependency** of the class-prop audit rule (§6 above and the `S`-system pre-sync checklist at the end of [../knowledge/04-styling.md](../knowledge/04-styling.md)): before writing any `class` token as the Web-only last resort, check it here — if an `S` equivalent exists, write `S` and drop the token.
|
|
168
|
+
|
|
169
|
+
**Has an `S` equivalent (don't leave in `class` if `S` is set):**
|
|
170
|
+
|
|
171
|
+
| Class token | `S` equivalent |
|
|
172
|
+
|---|---|
|
|
173
|
+
| `pa-N` / `px-N` / `py-N` / `pt-N`/`pb-N`/`pl-N`/`pr-N` | `padding{Top,Right,Bottom,Left}` = `"Npx"` (Vuetify step `N` × 4px) |
|
|
174
|
+
| `ma-N` / `mx-N` / `my-N` / `mt-N`/`mb-N`/`ml-N`/`mr-N` / `mx-auto` | `margin{Top,Right,Bottom,Left}` = `"Npx"` / `"auto"` |
|
|
175
|
+
| `fill-height` | `height: "100%"` |
|
|
176
|
+
| `d-flex` / `flex-row` / `flex-column` / `flex-row-reverse` / `flex-column-reverse` | `flexDirection: "row"/"column"/"row-reverse"/"column-reverse"` (`VCol`-only param) |
|
|
177
|
+
| `justify-start/center/end/space-between/space-around` | `justifyContent` (`VCol`-only param) |
|
|
178
|
+
| `align-start/center/end/baseline/stretch` | `alignItems` (`VCol`-only param) |
|
|
179
|
+
| `text-h1`…`h6`, `text-subtitle-*`, `text-body-*`, `text-button`, `text-caption`, `text-overline` | `fontSize` + `fontWeight` + `lineHeight` |
|
|
180
|
+
| `font-weight-*` | `fontWeight: "100"…"900"` |
|
|
181
|
+
| `font-italic` | `fontStyle: "italic"` |
|
|
182
|
+
| `text-left/center/right/justify` | `textAlign` |
|
|
183
|
+
| `text-decoration-none/underline/line-through` | `textDecorationLine` |
|
|
184
|
+
| `<color>--text` | `fontColor` |
|
|
185
|
+
| `elevation-0`…`24` | `boxShadow` |
|
|
186
|
+
| `rounded*` | `borderTopLeftRadius`+`borderTopRightRadius`+`borderBottomLeftRadius`+`borderBottomRightRadius` |
|
|
187
|
+
| theme background color classes | `backgroundColor` |
|
|
188
|
+
|
|
189
|
+
**No `S` equivalent** (informational — leave out of the conflict check): `text-uppercase/lowercase/capitalize`, `text-truncate`, `text-no-wrap`, `d-none/d-block/d-inline` (visibility), `flex-grow-*`/`flex-shrink-*`, `order-*`, `overflow-*`, responsive/breakpoint variants (`d-md-flex`, `pa-md-4` — `S` manages breakpoints separately via range keys).
|
|
190
|
+
|
|
191
|
+
Full token-by-token table (Turkish) + the legacy-migration framing: [mapping-S-vuetify-class.md](mapping-S-vuetify-class.md).
|
|
192
|
+
|
|
193
|
+
Practical how-to and copy-paste patterns: [../knowledge/04-styling.md](../knowledge/04-styling.md).
|