@mj-biz-apps/forms-ng 0.0.0 → 0.2.0
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/lib/builder/builder-models.d.ts +27 -0
- package/dist/lib/builder/builder-models.d.ts.map +1 -0
- package/dist/lib/builder/builder-models.js +15 -0
- package/dist/lib/builder/builder-models.js.map +1 -0
- package/dist/lib/builder/builder-state.service.d.ts +48 -0
- package/dist/lib/builder/builder-state.service.d.ts.map +1 -0
- package/dist/lib/builder/builder-state.service.js +231 -0
- package/dist/lib/builder/builder-state.service.js.map +1 -0
- package/dist/lib/builder/builder-styles.d.ts +12 -0
- package/dist/lib/builder/builder-styles.d.ts.map +1 -0
- package/dist/lib/builder/builder-styles.js +74 -0
- package/dist/lib/builder/builder-styles.js.map +1 -0
- package/dist/lib/builder/conditional-rule-editor.component.d.ts +53 -0
- package/dist/lib/builder/conditional-rule-editor.component.d.ts.map +1 -0
- package/dist/lib/builder/conditional-rule-editor.component.js +282 -0
- package/dist/lib/builder/conditional-rule-editor.component.js.map +1 -0
- package/dist/lib/builder/design-panel.component.d.ts +71 -0
- package/dist/lib/builder/design-panel.component.d.ts.map +1 -0
- package/dist/lib/builder/design-panel.component.js +530 -0
- package/dist/lib/builder/design-panel.component.js.map +1 -0
- package/dist/lib/builder/design-panel.styles.d.ts +10 -0
- package/dist/lib/builder/design-panel.styles.d.ts.map +1 -0
- package/dist/lib/builder/design-panel.styles.js +78 -0
- package/dist/lib/builder/design-panel.styles.js.map +1 -0
- package/dist/lib/builder/design-state.service.d.ts +51 -0
- package/dist/lib/builder/design-state.service.d.ts.map +1 -0
- package/dist/lib/builder/design-state.service.js +108 -0
- package/dist/lib/builder/design-state.service.js.map +1 -0
- package/dist/lib/builder/distribution-links.d.ts +29 -0
- package/dist/lib/builder/distribution-links.d.ts.map +1 -0
- package/dist/lib/builder/distribution-links.js +53 -0
- package/dist/lib/builder/distribution-links.js.map +1 -0
- package/dist/lib/builder/distribution-manager.component.d.ts +53 -0
- package/dist/lib/builder/distribution-manager.component.d.ts.map +1 -0
- package/dist/lib/builder/distribution-manager.component.js +330 -0
- package/dist/lib/builder/distribution-manager.component.js.map +1 -0
- package/dist/lib/builder/distribution.service.d.ts +62 -0
- package/dist/lib/builder/distribution.service.d.ts.map +1 -0
- package/dist/lib/builder/distribution.service.js +140 -0
- package/dist/lib/builder/distribution.service.js.map +1 -0
- package/dist/lib/builder/entity-names.d.ts +20 -0
- package/dist/lib/builder/entity-names.d.ts.map +1 -0
- package/dist/lib/builder/entity-names.js +20 -0
- package/dist/lib/builder/entity-names.js.map +1 -0
- package/dist/lib/builder/form-builder.component.d.ts +92 -0
- package/dist/lib/builder/form-builder.component.d.ts.map +1 -0
- package/dist/lib/builder/form-builder.component.js +627 -0
- package/dist/lib/builder/form-builder.component.js.map +1 -0
- package/dist/lib/builder/form-builder.styles.d.ts +3 -0
- package/dist/lib/builder/form-builder.styles.d.ts.map +1 -0
- package/dist/lib/builder/form-builder.styles.js +94 -0
- package/dist/lib/builder/form-builder.styles.js.map +1 -0
- package/dist/lib/builder/form-preview-modal.component.d.ts +25 -0
- package/dist/lib/builder/form-preview-modal.component.d.ts.map +1 -0
- package/dist/lib/builder/form-preview-modal.component.js +90 -0
- package/dist/lib/builder/form-preview-modal.component.js.map +1 -0
- package/dist/lib/builder/index.d.ts +31 -0
- package/dist/lib/builder/index.d.ts.map +1 -0
- package/dist/lib/builder/index.js +32 -0
- package/dist/lib/builder/index.js.map +1 -0
- package/dist/lib/builder/json-fields.d.ts +14 -0
- package/dist/lib/builder/json-fields.d.ts.map +1 -0
- package/dist/lib/builder/json-fields.js +100 -0
- package/dist/lib/builder/json-fields.js.map +1 -0
- package/dist/lib/builder/publish.service.d.ts +34 -0
- package/dist/lib/builder/publish.service.d.ts.map +1 -0
- package/dist/lib/builder/publish.service.js +110 -0
- package/dist/lib/builder/publish.service.js.map +1 -0
- package/dist/lib/builder/qr-code.d.ts +26 -0
- package/dist/lib/builder/qr-code.d.ts.map +1 -0
- package/dist/lib/builder/qr-code.js +361 -0
- package/dist/lib/builder/qr-code.js.map +1 -0
- package/dist/lib/builder/question-editor.component.d.ts +41 -0
- package/dist/lib/builder/question-editor.component.d.ts.map +1 -0
- package/dist/lib/builder/question-editor.component.js +228 -0
- package/dist/lib/builder/question-editor.component.js.map +1 -0
- package/dist/lib/builder/question-type-catalog.d.ts +29 -0
- package/dist/lib/builder/question-type-catalog.d.ts.map +1 -0
- package/dist/lib/builder/question-type-catalog.js +43 -0
- package/dist/lib/builder/question-type-catalog.js.map +1 -0
- package/dist/lib/builder/reorder.d.ts +10 -0
- package/dist/lib/builder/reorder.d.ts.map +1 -0
- package/dist/lib/builder/reorder.js +18 -0
- package/dist/lib/builder/reorder.js.map +1 -0
- package/dist/lib/builder/snapshot-builder.d.ts +16 -0
- package/dist/lib/builder/snapshot-builder.d.ts.map +1 -0
- package/dist/lib/builder/snapshot-builder.js +93 -0
- package/dist/lib/builder/snapshot-builder.js.map +1 -0
- package/dist/lib/builder/style-tokens.d.ts +54 -0
- package/dist/lib/builder/style-tokens.d.ts.map +1 -0
- package/dist/lib/builder/style-tokens.js +71 -0
- package/dist/lib/builder/style-tokens.js.map +1 -0
- package/dist/lib/builder/validation-rule-editor.component.d.ts +27 -0
- package/dist/lib/builder/validation-rule-editor.component.d.ts.map +1 -0
- package/dist/lib/builder/validation-rule-editor.component.js +179 -0
- package/dist/lib/builder/validation-rule-editor.component.js.map +1 -0
- package/dist/lib/dashboard/components/distribution-chart.component.d.ts +14 -0
- package/dist/lib/dashboard/components/distribution-chart.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/distribution-chart.component.js +85 -0
- package/dist/lib/dashboard/components/distribution-chart.component.js.map +1 -0
- package/dist/lib/dashboard/components/funnel-chart.component.d.ts +14 -0
- package/dist/lib/dashboard/components/funnel-chart.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/funnel-chart.component.js +101 -0
- package/dist/lib/dashboard/components/funnel-chart.component.js.map +1 -0
- package/dist/lib/dashboard/components/question-breakdown.component.d.ts +16 -0
- package/dist/lib/dashboard/components/question-breakdown.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/question-breakdown.component.js +213 -0
- package/dist/lib/dashboard/components/question-breakdown.component.js.map +1 -0
- package/dist/lib/dashboard/components/response-detail.component.d.ts +11 -0
- package/dist/lib/dashboard/components/response-detail.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/response-detail.component.js +113 -0
- package/dist/lib/dashboard/components/response-detail.component.js.map +1 -0
- package/dist/lib/dashboard/components/response-list.component.d.ts +27 -0
- package/dist/lib/dashboard/components/response-list.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/response-list.component.js +196 -0
- package/dist/lib/dashboard/components/response-list.component.js.map +1 -0
- package/dist/lib/dashboard/components/summary-stats.component.d.ts +12 -0
- package/dist/lib/dashboard/components/summary-stats.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/summary-stats.component.js +112 -0
- package/dist/lib/dashboard/components/summary-stats.component.js.map +1 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.d.ts +64 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.d.ts.map +1 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.js +397 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.js.map +1 -0
- package/dist/lib/dashboard/index.d.ts +19 -0
- package/dist/lib/dashboard/index.d.ts.map +1 -0
- package/dist/lib/dashboard/index.js +19 -0
- package/dist/lib/dashboard/index.js.map +1 -0
- package/dist/lib/dashboard/models/reporting.model.d.ts +125 -0
- package/dist/lib/dashboard/models/reporting.model.d.ts.map +1 -0
- package/dist/lib/dashboard/models/reporting.model.js +2 -0
- package/dist/lib/dashboard/models/reporting.model.js.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.d.ts +21 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.d.ts.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.js +83 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.js.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.d.ts +18 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.d.ts.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.js +147 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.js.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting.service.d.ts +45 -0
- package/dist/lib/dashboard/services/forms-reporting.service.d.ts.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting.service.js +230 -0
- package/dist/lib/dashboard/services/forms-reporting.service.js.map +1 -0
- package/dist/lib/dashboard/services/reporting-aggregations.d.ts +40 -0
- package/dist/lib/dashboard/services/reporting-aggregations.d.ts.map +1 -0
- package/dist/lib/dashboard/services/reporting-aggregations.js +379 -0
- package/dist/lib/dashboard/services/reporting-aggregations.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js +104 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.js +83 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js +83 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js +172 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js +90 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js +274 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js +91 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js +100 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.js +174 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.js +118 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.js +93 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.js +132 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.js +77 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.js +108 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.js +99 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.js +100 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.js +274 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.js +67 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.js +90 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.js +124 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.js +86 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.js +67 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.js +86 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.js +61 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.js +63 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.js +69 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.js +63 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.js +98 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.js +80 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.js +59 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.js +84 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.js +146 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.js +61 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.js +59 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.js +132 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.js.map +1 -0
- package/dist/lib/generated/class-registrations-manifest.d.ts +6 -0
- package/dist/lib/generated/class-registrations-manifest.d.ts.map +1 -0
- package/dist/lib/generated/class-registrations-manifest.js +6 -0
- package/dist/lib/generated/class-registrations-manifest.js.map +1 -0
- package/dist/lib/generated/generated-forms.module.d.ts +61 -0
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -0
- package/dist/lib/generated/generated-forms.module.js +207 -0
- package/dist/lib/generated/generated-forms.module.js.map +1 -0
- package/dist/lib/home/forms-home-dashboard.component.d.ts +61 -0
- package/dist/lib/home/forms-home-dashboard.component.d.ts.map +1 -0
- package/dist/lib/home/forms-home-dashboard.component.js +379 -0
- package/dist/lib/home/forms-home-dashboard.component.js.map +1 -0
- package/dist/lib/home/forms-home.service.d.ts +24 -0
- package/dist/lib/home/forms-home.service.d.ts.map +1 -0
- package/dist/lib/home/forms-home.service.js +92 -0
- package/dist/lib/home/forms-home.service.js.map +1 -0
- package/dist/lib/home/home-aggregations.d.ts +23 -0
- package/dist/lib/home/home-aggregations.d.ts.map +1 -0
- package/dist/lib/home/home-aggregations.js +64 -0
- package/dist/lib/home/home-aggregations.js.map +1 -0
- package/dist/lib/home/home-models.d.ts +60 -0
- package/dist/lib/home/home-models.d.ts.map +1 -0
- package/dist/lib/home/home-models.js +34 -0
- package/dist/lib/home/home-models.js.map +1 -0
- package/dist/lib/home/index.d.ts +13 -0
- package/dist/lib/home/index.d.ts.map +1 -0
- package/dist/lib/home/index.js +13 -0
- package/dist/lib/home/index.js.map +1 -0
- package/dist/lib/widget/api/form-upload.service.d.ts +41 -0
- package/dist/lib/widget/api/form-upload.service.d.ts.map +1 -0
- package/dist/lib/widget/api/form-upload.service.js +124 -0
- package/dist/lib/widget/api/form-upload.service.js.map +1 -0
- package/dist/lib/widget/api/forms-api.config.d.ts +55 -0
- package/dist/lib/widget/api/forms-api.config.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.config.js +40 -0
- package/dist/lib/widget/api/forms-api.config.js.map +1 -0
- package/dist/lib/widget/api/forms-api.graphql.service.d.ts +20 -0
- package/dist/lib/widget/api/forms-api.graphql.service.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.graphql.service.js +96 -0
- package/dist/lib/widget/api/forms-api.graphql.service.js.map +1 -0
- package/dist/lib/widget/api/forms-api.interface.d.ts +45 -0
- package/dist/lib/widget/api/forms-api.interface.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.interface.js +8 -0
- package/dist/lib/widget/api/forms-api.interface.js.map +1 -0
- package/dist/lib/widget/api/forms-api.mock.service.d.ts +12 -0
- package/dist/lib/widget/api/forms-api.mock.service.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.mock.service.js +41 -0
- package/dist/lib/widget/api/forms-api.mock.service.js.map +1 -0
- package/dist/lib/widget/api/mock-form.data.d.ts +8 -0
- package/dist/lib/widget/api/mock-form.data.d.ts.map +1 -0
- package/dist/lib/widget/api/mock-form.data.js +192 -0
- package/dist/lib/widget/api/mock-form.data.js.map +1 -0
- package/dist/lib/widget/api/submission-mapping.d.ts +60 -0
- package/dist/lib/widget/api/submission-mapping.d.ts.map +1 -0
- package/dist/lib/widget/api/submission-mapping.js +47 -0
- package/dist/lib/widget/api/submission-mapping.js.map +1 -0
- package/dist/lib/widget/components/form-one-question.component.d.ts +43 -0
- package/dist/lib/widget/components/form-one-question.component.d.ts.map +1 -0
- package/dist/lib/widget/components/form-one-question.component.js +194 -0
- package/dist/lib/widget/components/form-one-question.component.js.map +1 -0
- package/dist/lib/widget/components/form-progress.component.d.ts +9 -0
- package/dist/lib/widget/components/form-progress.component.d.ts.map +1 -0
- package/dist/lib/widget/components/form-progress.component.js +47 -0
- package/dist/lib/widget/components/form-progress.component.js.map +1 -0
- package/dist/lib/widget/components/form-scroll.component.d.ts +23 -0
- package/dist/lib/widget/components/form-scroll.component.d.ts.map +1 -0
- package/dist/lib/widget/components/form-scroll.component.js +132 -0
- package/dist/lib/widget/components/form-scroll.component.js.map +1 -0
- package/dist/lib/widget/components/questions/form-question.component.d.ts +68 -0
- package/dist/lib/widget/components/questions/form-question.component.d.ts.map +1 -0
- package/dist/lib/widget/components/questions/form-question.component.js +541 -0
- package/dist/lib/widget/components/questions/form-question.component.js.map +1 -0
- package/dist/lib/widget/components/questions/input-mode.d.ts +13 -0
- package/dist/lib/widget/components/questions/input-mode.d.ts.map +1 -0
- package/dist/lib/widget/components/questions/input-mode.js +42 -0
- package/dist/lib/widget/components/questions/input-mode.js.map +1 -0
- package/dist/lib/widget/components/turnstile-challenge.component.d.ts +52 -0
- package/dist/lib/widget/components/turnstile-challenge.component.d.ts.map +1 -0
- package/dist/lib/widget/components/turnstile-challenge.component.js +123 -0
- package/dist/lib/widget/components/turnstile-challenge.component.js.map +1 -0
- package/dist/lib/widget/core/answer-value.d.ts +17 -0
- package/dist/lib/widget/core/answer-value.d.ts.map +1 -0
- package/dist/lib/widget/core/answer-value.js +41 -0
- package/dist/lib/widget/core/answer-value.js.map +1 -0
- package/dist/lib/widget/core/autosave-controller.d.ts +65 -0
- package/dist/lib/widget/core/autosave-controller.d.ts.map +1 -0
- package/dist/lib/widget/core/autosave-controller.js +134 -0
- package/dist/lib/widget/core/autosave-controller.js.map +1 -0
- package/dist/lib/widget/core/client-id.d.ts +17 -0
- package/dist/lib/widget/core/client-id.d.ts.map +1 -0
- package/dist/lib/widget/core/client-id.js +52 -0
- package/dist/lib/widget/core/client-id.js.map +1 -0
- package/dist/lib/widget/core/form-runtime.d.ts +34 -0
- package/dist/lib/widget/core/form-runtime.d.ts.map +1 -0
- package/dist/lib/widget/core/form-runtime.js +123 -0
- package/dist/lib/widget/core/form-runtime.js.map +1 -0
- package/dist/lib/widget/core/one-question-stepper.d.ts +20 -0
- package/dist/lib/widget/core/one-question-stepper.d.ts.map +1 -0
- package/dist/lib/widget/core/one-question-stepper.js +23 -0
- package/dist/lib/widget/core/one-question-stepper.js.map +1 -0
- package/dist/lib/widget/core/submit-phase.d.ts +31 -0
- package/dist/lib/widget/core/submit-phase.d.ts.map +1 -0
- package/dist/lib/widget/core/submit-phase.js +21 -0
- package/dist/lib/widget/core/submit-phase.js.map +1 -0
- package/dist/lib/widget/core/theming.d.ts +17 -0
- package/dist/lib/widget/core/theming.d.ts.map +1 -0
- package/dist/lib/widget/core/theming.js +36 -0
- package/dist/lib/widget/core/theming.js.map +1 -0
- package/dist/lib/widget/core/turnstile-gate.d.ts +42 -0
- package/dist/lib/widget/core/turnstile-gate.d.ts.map +1 -0
- package/dist/lib/widget/core/turnstile-gate.js +61 -0
- package/dist/lib/widget/core/turnstile-gate.js.map +1 -0
- package/dist/lib/widget/core/turnstile-loader.d.ts +34 -0
- package/dist/lib/widget/core/turnstile-loader.d.ts.map +1 -0
- package/dist/lib/widget/core/turnstile-loader.js +68 -0
- package/dist/lib/widget/core/turnstile-loader.js.map +1 -0
- package/dist/lib/widget/core/validation.d.ts +19 -0
- package/dist/lib/widget/core/validation.d.ts.map +1 -0
- package/dist/lib/widget/core/validation.js +105 -0
- package/dist/lib/widget/core/validation.js.map +1 -0
- package/dist/lib/widget/index.d.ts +27 -0
- package/dist/lib/widget/index.d.ts.map +1 -0
- package/dist/lib/widget/index.js +30 -0
- package/dist/lib/widget/index.js.map +1 -0
- package/dist/lib/widget/mj-form.component.d.ts +114 -0
- package/dist/lib/widget/mj-form.component.d.ts.map +1 -0
- package/dist/lib/widget/mj-form.component.js +428 -0
- package/dist/lib/widget/mj-form.component.js.map +1 -0
- package/dist/lib/widget/register-element.d.ts +8 -0
- package/dist/lib/widget/register-element.d.ts.map +1 -0
- package/dist/lib/widget/register-element.js +98 -0
- package/dist/lib/widget/register-element.js.map +1 -0
- package/dist/public-api.d.ts +23 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +33 -0
- package/dist/public-api.js.map +1 -0
- package/dist/widget-entry.d.ts +2 -0
- package/dist/widget-entry.d.ts.map +1 -0
- package/dist/widget-entry.js +20 -0
- package/dist/widget-entry.js.map +1 -0
- package/package.json +53 -5
- package/README.md +0 -3
|
@@ -0,0 +1,530 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, inject, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
// Import directly from the widget source module (no cross-package re-export — CLAUDE.md rule 5).
|
|
5
|
+
import { applyStyleTokens } from '../widget/core/theming';
|
|
6
|
+
import { DesignStateService } from './design-state.service';
|
|
7
|
+
import { BRAND_TOKENS, FONT_OPTIONS, readBrandToken, readRadiusPx, toStyleTokens } from './style-tokens';
|
|
8
|
+
import { BUILDER_CONTROL_STYLES } from './builder-styles';
|
|
9
|
+
import { DESIGN_PANEL_STYLES } from './design-panel.styles';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/forms";
|
|
12
|
+
const _c0 = ["previewHost"];
|
|
13
|
+
const _forTrack0 = ($index, $item) => $item.ID;
|
|
14
|
+
const _forTrack1 = ($index, $item) => $item.stack;
|
|
15
|
+
function DesignPanelComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
17
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "p");
|
|
18
|
+
i0.ɵɵtext(2);
|
|
19
|
+
i0.ɵɵelementEnd();
|
|
20
|
+
i0.ɵɵelementStart(3, "button", 11);
|
|
21
|
+
i0.ɵɵlistener("click", function DesignPanelComponent_Conditional_7_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.reload()); });
|
|
22
|
+
i0.ɵɵtext(4, "Retry");
|
|
23
|
+
i0.ɵɵelementEnd()();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
26
|
+
i0.ɵɵadvance(2);
|
|
27
|
+
i0.ɵɵtextInterpolate1("Couldn\u2019t load themes: ", ctx_r2.loadError);
|
|
28
|
+
i0.ɵɵadvance();
|
|
29
|
+
i0.ɵɵproperty("disabled", ctx_r2.busy);
|
|
30
|
+
} }
|
|
31
|
+
function DesignPanelComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
i0.ɵɵelementStart(0, "p", 7);
|
|
33
|
+
i0.ɵɵtext(1, "No themes exist yet. Ask an admin to seed the theme gallery.");
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
} }
|
|
36
|
+
function DesignPanelComponent_For_11_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
i0.ɵɵelementStart(0, "span", 30);
|
|
38
|
+
i0.ɵɵtext(1, "Applied");
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
} }
|
|
41
|
+
function DesignPanelComponent_For_11_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵelementStart(0, "span", 31);
|
|
43
|
+
i0.ɵɵtext(1);
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const style_r5 = i0.ɵɵnextContext().$implicit;
|
|
47
|
+
i0.ɵɵadvance();
|
|
48
|
+
i0.ɵɵtextInterpolate(style_r5.Description);
|
|
49
|
+
} }
|
|
50
|
+
function DesignPanelComponent_For_11_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
52
|
+
i0.ɵɵelementStart(0, "li")(1, "button", 28);
|
|
53
|
+
i0.ɵɵlistener("click", function DesignPanelComponent_For_11_Template_button_click_1_listener() { const style_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.select(style_r5)); });
|
|
54
|
+
i0.ɵɵelementStart(2, "span", 29);
|
|
55
|
+
i0.ɵɵtext(3);
|
|
56
|
+
i0.ɵɵelementEnd();
|
|
57
|
+
i0.ɵɵconditionalCreate(4, DesignPanelComponent_For_11_Conditional_4_Template, 2, 0, "span", 30);
|
|
58
|
+
i0.ɵɵconditionalCreate(5, DesignPanelComponent_For_11_Conditional_5_Template, 2, 1, "span", 31);
|
|
59
|
+
i0.ɵɵelementEnd()();
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
const style_r5 = ctx.$implicit;
|
|
62
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
63
|
+
i0.ɵɵadvance();
|
|
64
|
+
i0.ɵɵclassProp("is-selected", ctx_r2.isSelected(style_r5));
|
|
65
|
+
i0.ɵɵproperty("disabled", ctx_r2.busy);
|
|
66
|
+
i0.ɵɵattribute("aria-pressed", ctx_r2.isSelected(style_r5));
|
|
67
|
+
i0.ɵɵadvance(2);
|
|
68
|
+
i0.ɵɵtextInterpolate(style_r5.Name);
|
|
69
|
+
i0.ɵɵadvance();
|
|
70
|
+
i0.ɵɵconditional(ctx_r2.isApplied(style_r5) ? 4 : -1);
|
|
71
|
+
i0.ɵɵadvance();
|
|
72
|
+
i0.ɵɵconditional(style_r5.Description ? 5 : -1);
|
|
73
|
+
} }
|
|
74
|
+
function DesignPanelComponent_Conditional_20_For_40_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
i0.ɵɵelementStart(0, "option", 46);
|
|
76
|
+
i0.ɵɵtext(1);
|
|
77
|
+
i0.ɵɵelementEnd();
|
|
78
|
+
} if (rf & 2) {
|
|
79
|
+
const font_r7 = ctx.$implicit;
|
|
80
|
+
i0.ɵɵproperty("value", font_r7.stack);
|
|
81
|
+
i0.ɵɵadvance();
|
|
82
|
+
i0.ɵɵtextInterpolate(font_r7.label);
|
|
83
|
+
} }
|
|
84
|
+
function DesignPanelComponent_Conditional_20_For_48_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelementStart(0, "option", 46);
|
|
86
|
+
i0.ɵɵtext(1);
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
} if (rf & 2) {
|
|
89
|
+
const font_r8 = ctx.$implicit;
|
|
90
|
+
i0.ɵɵproperty("value", font_r8.stack);
|
|
91
|
+
i0.ɵɵadvance();
|
|
92
|
+
i0.ɵɵtextInterpolate(font_r8.label);
|
|
93
|
+
} }
|
|
94
|
+
function DesignPanelComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
96
|
+
i0.ɵɵelementStart(0, "section", 13)(1, "h3", 32);
|
|
97
|
+
i0.ɵɵtext(2, "Branding");
|
|
98
|
+
i0.ɵɵelementEnd();
|
|
99
|
+
i0.ɵɵelementStart(3, "p", 5);
|
|
100
|
+
i0.ɵɵtext(4, "Editing changes the theme itself. Duplicate first to avoid changing a shared preset.");
|
|
101
|
+
i0.ɵɵelementEnd();
|
|
102
|
+
i0.ɵɵelementStart(5, "label", 33)(6, "span", 34);
|
|
103
|
+
i0.ɵɵtext(7, "Theme name");
|
|
104
|
+
i0.ɵɵelementEnd();
|
|
105
|
+
i0.ɵɵelementStart(8, "input", 35);
|
|
106
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandName, $event) || (ctx_r2.brandName = $event); return i0.ɵɵresetView($event); });
|
|
107
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_8_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
108
|
+
i0.ɵɵelementEnd()();
|
|
109
|
+
i0.ɵɵelementStart(9, "div", 33)(10, "span", 34);
|
|
110
|
+
i0.ɵɵtext(11, "Primary color");
|
|
111
|
+
i0.ɵɵelementEnd();
|
|
112
|
+
i0.ɵɵelementStart(12, "div", 36)(13, "input", 37);
|
|
113
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_13_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandPrimary, $event) || (ctx_r2.brandPrimary = $event); return i0.ɵɵresetView($event); });
|
|
114
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_13_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
115
|
+
i0.ɵɵelementEnd();
|
|
116
|
+
i0.ɵɵelementStart(14, "input", 38);
|
|
117
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandPrimary, $event) || (ctx_r2.brandPrimary = $event); return i0.ɵɵresetView($event); });
|
|
118
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_14_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
119
|
+
i0.ɵɵelementEnd()()();
|
|
120
|
+
i0.ɵɵelementStart(15, "div", 33)(16, "span", 34);
|
|
121
|
+
i0.ɵɵtext(17, "Accent color (hover / strong)");
|
|
122
|
+
i0.ɵɵelementEnd();
|
|
123
|
+
i0.ɵɵelementStart(18, "div", 36)(19, "input", 39);
|
|
124
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandAccent, $event) || (ctx_r2.brandAccent = $event); return i0.ɵɵresetView($event); });
|
|
125
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_19_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
126
|
+
i0.ɵɵelementEnd();
|
|
127
|
+
i0.ɵɵelementStart(20, "input", 40);
|
|
128
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandAccent, $event) || (ctx_r2.brandAccent = $event); return i0.ɵɵresetView($event); });
|
|
129
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_20_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
130
|
+
i0.ɵɵelementEnd()()();
|
|
131
|
+
i0.ɵɵelementStart(21, "div", 33)(22, "span", 34);
|
|
132
|
+
i0.ɵɵtext(23, "Page background");
|
|
133
|
+
i0.ɵɵelementEnd();
|
|
134
|
+
i0.ɵɵelementStart(24, "div", 36)(25, "input", 41);
|
|
135
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_25_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandPageBg, $event) || (ctx_r2.brandPageBg = $event); return i0.ɵɵresetView($event); });
|
|
136
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_25_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
137
|
+
i0.ɵɵelementEnd();
|
|
138
|
+
i0.ɵɵelementStart(26, "input", 42);
|
|
139
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_26_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandPageBg, $event) || (ctx_r2.brandPageBg = $event); return i0.ɵɵresetView($event); });
|
|
140
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_26_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
141
|
+
i0.ɵɵelementEnd()()();
|
|
142
|
+
i0.ɵɵelementStart(27, "div", 33)(28, "span", 34);
|
|
143
|
+
i0.ɵɵtext(29, "Card background");
|
|
144
|
+
i0.ɵɵelementEnd();
|
|
145
|
+
i0.ɵɵelementStart(30, "div", 36)(31, "input", 43);
|
|
146
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_31_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandCardBg, $event) || (ctx_r2.brandCardBg = $event); return i0.ɵɵresetView($event); });
|
|
147
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_31_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
148
|
+
i0.ɵɵelementEnd();
|
|
149
|
+
i0.ɵɵelementStart(32, "input", 44);
|
|
150
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_32_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandCardBg, $event) || (ctx_r2.brandCardBg = $event); return i0.ɵɵresetView($event); });
|
|
151
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_32_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
152
|
+
i0.ɵɵelementEnd()()();
|
|
153
|
+
i0.ɵɵelementStart(33, "label", 33)(34, "span", 34);
|
|
154
|
+
i0.ɵɵtext(35, "Body font");
|
|
155
|
+
i0.ɵɵelementEnd();
|
|
156
|
+
i0.ɵɵelementStart(36, "select", 35);
|
|
157
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_select_ngModelChange_36_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.fontBody, $event) || (ctx_r2.fontBody = $event); return i0.ɵɵresetView($event); });
|
|
158
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_select_ngModelChange_36_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
159
|
+
i0.ɵɵelementStart(37, "option", 45);
|
|
160
|
+
i0.ɵɵtext(38, "Theme default");
|
|
161
|
+
i0.ɵɵelementEnd();
|
|
162
|
+
i0.ɵɵrepeaterCreate(39, DesignPanelComponent_Conditional_20_For_40_Template, 2, 2, "option", 46, _forTrack1);
|
|
163
|
+
i0.ɵɵelementEnd()();
|
|
164
|
+
i0.ɵɵelementStart(41, "label", 33)(42, "span", 34);
|
|
165
|
+
i0.ɵɵtext(43, "Heading font");
|
|
166
|
+
i0.ɵɵelementEnd();
|
|
167
|
+
i0.ɵɵelementStart(44, "select", 35);
|
|
168
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_select_ngModelChange_44_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.fontDisplay, $event) || (ctx_r2.fontDisplay = $event); return i0.ɵɵresetView($event); });
|
|
169
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_select_ngModelChange_44_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
170
|
+
i0.ɵɵelementStart(45, "option", 45);
|
|
171
|
+
i0.ɵɵtext(46, "Theme default");
|
|
172
|
+
i0.ɵɵelementEnd();
|
|
173
|
+
i0.ɵɵrepeaterCreate(47, DesignPanelComponent_Conditional_20_For_48_Template, 2, 2, "option", 46, _forTrack1);
|
|
174
|
+
i0.ɵɵelementEnd()();
|
|
175
|
+
i0.ɵɵelementStart(49, "label", 33)(50, "span", 34);
|
|
176
|
+
i0.ɵɵtext(51);
|
|
177
|
+
i0.ɵɵelementEnd();
|
|
178
|
+
i0.ɵɵelementStart(52, "input", 47);
|
|
179
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_52_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.radiusPx, $event) || (ctx_r2.radiusPx = $event); return i0.ɵɵresetView($event); });
|
|
180
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_52_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
181
|
+
i0.ɵɵelementEnd()();
|
|
182
|
+
i0.ɵɵelementStart(53, "label", 33)(54, "span", 34);
|
|
183
|
+
i0.ɵɵtext(55, "Logo URL");
|
|
184
|
+
i0.ɵɵelementEnd();
|
|
185
|
+
i0.ɵɵelementStart(56, "input", 48);
|
|
186
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_56_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.brandLogo, $event) || (ctx_r2.brandLogo = $event); return i0.ɵɵresetView($event); });
|
|
187
|
+
i0.ɵɵlistener("ngModelChange", function DesignPanelComponent_Conditional_20_Template_input_ngModelChange_56_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onBrandInput()); });
|
|
188
|
+
i0.ɵɵelementEnd();
|
|
189
|
+
i0.ɵɵelementStart(57, "span", 49);
|
|
190
|
+
i0.ɵɵtext(58, "Shown at the top of the form.");
|
|
191
|
+
i0.ɵɵelementEnd()();
|
|
192
|
+
i0.ɵɵelementStart(59, "div", 9)(60, "button", 10);
|
|
193
|
+
i0.ɵɵlistener("click", function DesignPanelComponent_Conditional_20_Template_button_click_60_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveBranding()); });
|
|
194
|
+
i0.ɵɵtext(61, " Save branding ");
|
|
195
|
+
i0.ɵɵelementEnd()()();
|
|
196
|
+
} if (rf & 2) {
|
|
197
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
198
|
+
i0.ɵɵadvance(8);
|
|
199
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandName);
|
|
200
|
+
i0.ɵɵadvance(5);
|
|
201
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandPrimary);
|
|
202
|
+
i0.ɵɵadvance();
|
|
203
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandPrimary);
|
|
204
|
+
i0.ɵɵadvance(5);
|
|
205
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandAccent);
|
|
206
|
+
i0.ɵɵadvance();
|
|
207
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandAccent);
|
|
208
|
+
i0.ɵɵadvance(5);
|
|
209
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandPageBg);
|
|
210
|
+
i0.ɵɵadvance();
|
|
211
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandPageBg);
|
|
212
|
+
i0.ɵɵadvance(5);
|
|
213
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandCardBg);
|
|
214
|
+
i0.ɵɵadvance();
|
|
215
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandCardBg);
|
|
216
|
+
i0.ɵɵadvance(4);
|
|
217
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.fontBody);
|
|
218
|
+
i0.ɵɵadvance(3);
|
|
219
|
+
i0.ɵɵrepeater(ctx_r2.fontOptions);
|
|
220
|
+
i0.ɵɵadvance(5);
|
|
221
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.fontDisplay);
|
|
222
|
+
i0.ɵɵadvance(3);
|
|
223
|
+
i0.ɵɵrepeater(ctx_r2.fontOptions);
|
|
224
|
+
i0.ɵɵadvance(4);
|
|
225
|
+
i0.ɵɵtextInterpolate1("Corner radius \u2014 ", ctx_r2.radiusPx, "px");
|
|
226
|
+
i0.ɵɵadvance();
|
|
227
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.radiusPx);
|
|
228
|
+
i0.ɵɵadvance(4);
|
|
229
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.brandLogo);
|
|
230
|
+
i0.ɵɵadvance(4);
|
|
231
|
+
i0.ɵɵproperty("disabled", ctx_r2.busy);
|
|
232
|
+
} }
|
|
233
|
+
function DesignPanelComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
234
|
+
i0.ɵɵelementStart(0, "p", 14);
|
|
235
|
+
i0.ɵɵtext(1);
|
|
236
|
+
i0.ɵɵelementEnd();
|
|
237
|
+
} if (rf & 2) {
|
|
238
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
239
|
+
i0.ɵɵadvance();
|
|
240
|
+
i0.ɵɵtextInterpolate(ctx_r2.status);
|
|
241
|
+
} }
|
|
242
|
+
function DesignPanelComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
243
|
+
i0.ɵɵelement(0, "img", 17);
|
|
244
|
+
} if (rf & 2) {
|
|
245
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
246
|
+
i0.ɵɵproperty("src", ctx_r2.brandLogo, i0.ɵɵsanitizeUrl);
|
|
247
|
+
} }
|
|
248
|
+
/**
|
|
249
|
+
* The builder "Design" panel (FORMS_BUILD_PLAN §9 polish). Lets the author:
|
|
250
|
+
* 1. pick which existing {@link mjBizAppsFormsFormStyleEntity} applies to the form
|
|
251
|
+
* (sets `Form.StyleID`),
|
|
252
|
+
* 2. see a LIVE token preview and edit an expanded set of theme controls (colors,
|
|
253
|
+
* fonts, corner radius, logo) — all written into `FormStyle.CSSVariables`,
|
|
254
|
+
* 3. open a full, fillable **Preview** of the real form via `previewRequested` (the
|
|
255
|
+
* parent builder owns the tree + modal).
|
|
256
|
+
*
|
|
257
|
+
* v1 scope: select a FormStyle + create/edit FormStyle rows with existing columns only.
|
|
258
|
+
* Per-form (not per-style) overrides would need new `Form` columns — deferred.
|
|
259
|
+
*/
|
|
260
|
+
export class DesignPanelComponent {
|
|
261
|
+
design = inject(DesignStateService);
|
|
262
|
+
// OnPush: async mutations (after await) must markForCheck or the view never updates.
|
|
263
|
+
cdr = inject(ChangeDetectorRef);
|
|
264
|
+
/** The form being styled (StyleID is written here). */
|
|
265
|
+
form;
|
|
266
|
+
/** Emitted after the form's StyleID changes so the parent can persist/refresh. */
|
|
267
|
+
styleApplied = new EventEmitter();
|
|
268
|
+
/** Emitted with the current (edited) theme tokens so the parent opens the fill-it preview. */
|
|
269
|
+
previewRequested = new EventEmitter();
|
|
270
|
+
previewHost;
|
|
271
|
+
fontOptions = FONT_OPTIONS;
|
|
272
|
+
styles = [];
|
|
273
|
+
selected = null;
|
|
274
|
+
busy = false;
|
|
275
|
+
loadError = '';
|
|
276
|
+
status = '';
|
|
277
|
+
/** Theme-editor working values (bound to inputs; committed on save). */
|
|
278
|
+
brandName = '';
|
|
279
|
+
brandLogo = '';
|
|
280
|
+
brandPrimary = '';
|
|
281
|
+
brandAccent = '';
|
|
282
|
+
brandPageBg = '';
|
|
283
|
+
brandCardBg = '';
|
|
284
|
+
fontBody = '';
|
|
285
|
+
fontDisplay = '';
|
|
286
|
+
radiusPx = 12;
|
|
287
|
+
async ngOnInit() {
|
|
288
|
+
await this.reload();
|
|
289
|
+
}
|
|
290
|
+
/** (Re)load the theme presets + the form's assigned style; surfaces load failures. */
|
|
291
|
+
async reload() {
|
|
292
|
+
this.busy = true;
|
|
293
|
+
this.loadError = '';
|
|
294
|
+
const result = await this.design.loadStyles(this.form.StyleID);
|
|
295
|
+
this.busy = false;
|
|
296
|
+
if (!result.success) {
|
|
297
|
+
this.loadError = result.error ?? 'Could not load themes.';
|
|
298
|
+
this.cdr.markForCheck();
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
this.styles = result.styles;
|
|
302
|
+
this.selected = this.styles.find((s) => s.ID === this.form.StyleID) ?? this.styles[0] ?? null;
|
|
303
|
+
this.syncBrandFields();
|
|
304
|
+
this.cdr.markForCheck();
|
|
305
|
+
this.applyPreview();
|
|
306
|
+
}
|
|
307
|
+
// -- selection ------------------------------------------------------------
|
|
308
|
+
isSelected(style) {
|
|
309
|
+
return this.selected?.ID === style.ID;
|
|
310
|
+
}
|
|
311
|
+
isApplied(style) {
|
|
312
|
+
return this.form.StyleID === style.ID;
|
|
313
|
+
}
|
|
314
|
+
select(style) {
|
|
315
|
+
this.selected = style;
|
|
316
|
+
this.syncBrandFields();
|
|
317
|
+
this.applyPreview();
|
|
318
|
+
}
|
|
319
|
+
/** Persist the selected style onto the form (`Form.StyleID`). */
|
|
320
|
+
async applyToForm() {
|
|
321
|
+
if (!this.selected || this.busy) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
this.busy = true;
|
|
325
|
+
const ok = await this.design.applyStyleToForm(this.form, this.selected.ID);
|
|
326
|
+
this.busy = false;
|
|
327
|
+
if (ok) {
|
|
328
|
+
this.status = `Applied “${this.selected.Name}” to this form.`;
|
|
329
|
+
this.styleApplied.emit(this.selected.ID);
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
this.status = 'Could not apply the style — see logs.';
|
|
333
|
+
}
|
|
334
|
+
this.cdr.markForCheck();
|
|
335
|
+
}
|
|
336
|
+
/** Ask the parent builder to open the full, fillable preview with the current theme. */
|
|
337
|
+
requestPreview() {
|
|
338
|
+
this.previewRequested.emit(this.buildPreviewTokens());
|
|
339
|
+
}
|
|
340
|
+
// -- theme edit -----------------------------------------------------------
|
|
341
|
+
syncBrandFields() {
|
|
342
|
+
this.brandName = this.selected?.Name ?? '';
|
|
343
|
+
this.brandLogo = this.selected?.LogoURL ?? '';
|
|
344
|
+
const css = this.selected?.CSSVariables ?? null;
|
|
345
|
+
this.brandPrimary = readBrandToken(css, BRAND_TOKENS.primary);
|
|
346
|
+
this.brandAccent = readBrandToken(css, BRAND_TOKENS.primaryStrong);
|
|
347
|
+
this.brandPageBg = readBrandToken(css, BRAND_TOKENS.pageBg);
|
|
348
|
+
this.brandCardBg = readBrandToken(css, BRAND_TOKENS.cardBg);
|
|
349
|
+
this.fontBody = readBrandToken(css, BRAND_TOKENS.fontBody);
|
|
350
|
+
this.fontDisplay = readBrandToken(css, BRAND_TOKENS.fontDisplay);
|
|
351
|
+
this.radiusPx = readRadiusPx(css) || 12;
|
|
352
|
+
}
|
|
353
|
+
/** Duplicate the selected preset so edits don't touch the shared original. */
|
|
354
|
+
async duplicateSelected() {
|
|
355
|
+
if (!this.selected || this.busy) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
this.busy = true;
|
|
359
|
+
const copy = await this.design.duplicateStyle(this.selected);
|
|
360
|
+
this.busy = false;
|
|
361
|
+
if (copy) {
|
|
362
|
+
this.styles = [...this.styles, copy];
|
|
363
|
+
this.selected = copy;
|
|
364
|
+
this.syncBrandFields();
|
|
365
|
+
this.status = `Created an editable copy “${copy.Name}”.`;
|
|
366
|
+
this.cdr.markForCheck();
|
|
367
|
+
this.applyPreview();
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
this.status = 'Could not duplicate the style — see logs.';
|
|
371
|
+
this.cdr.markForCheck();
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
/** Live-preview the in-progress edits without saving. */
|
|
375
|
+
onBrandInput() {
|
|
376
|
+
this.applyPreview();
|
|
377
|
+
}
|
|
378
|
+
/** Persist theme edits onto the (ideally duplicated) style. */
|
|
379
|
+
async saveBranding() {
|
|
380
|
+
if (!this.selected || this.busy) {
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
this.busy = true;
|
|
384
|
+
const ok = await this.design.saveBranding(this.selected, {
|
|
385
|
+
name: this.brandName,
|
|
386
|
+
logoURL: this.brandLogo,
|
|
387
|
+
tokens: this.editedTokenMap(),
|
|
388
|
+
radiusPx: this.radiusPx,
|
|
389
|
+
});
|
|
390
|
+
this.busy = false;
|
|
391
|
+
this.status = ok ? 'Theme saved.' : 'Could not save theme — see logs.';
|
|
392
|
+
this.cdr.markForCheck();
|
|
393
|
+
this.applyPreview();
|
|
394
|
+
}
|
|
395
|
+
/** The non-radius token edits, keyed by token name (blank values clear the token). */
|
|
396
|
+
editedTokenMap() {
|
|
397
|
+
return {
|
|
398
|
+
[BRAND_TOKENS.primary]: this.brandPrimary,
|
|
399
|
+
[BRAND_TOKENS.primaryStrong]: this.brandAccent,
|
|
400
|
+
[BRAND_TOKENS.pageBg]: this.brandPageBg,
|
|
401
|
+
[BRAND_TOKENS.cardBg]: this.brandCardBg,
|
|
402
|
+
[BRAND_TOKENS.fontBody]: this.fontBody,
|
|
403
|
+
[BRAND_TOKENS.fontDisplay]: this.fontDisplay,
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
// -- preview --------------------------------------------------------------
|
|
407
|
+
/** Build the runtime tokens for the selected style with unsaved edits layered on. */
|
|
408
|
+
buildPreviewTokens() {
|
|
409
|
+
const tokens = this.selected ? toStyleTokens(this.selected) : { cssVariables: {} };
|
|
410
|
+
for (const [token, value] of Object.entries(this.editedTokenMap())) {
|
|
411
|
+
if (value.trim()) {
|
|
412
|
+
tokens.cssVariables[token] = value.trim();
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
for (const radiusToken of ['--mjf-card-radius', '--mjf-input-radius', '--mjf-choice-radius', '--mjf-btn-radius']) {
|
|
416
|
+
tokens.cssVariables[radiusToken] = `${this.radiusPx}px`;
|
|
417
|
+
}
|
|
418
|
+
tokens.logoURL = this.brandLogo.trim() || tokens.logoURL;
|
|
419
|
+
return tokens;
|
|
420
|
+
}
|
|
421
|
+
/** Apply the current theme (with unsaved edits) to the inline sample via the widget's applier. */
|
|
422
|
+
applyPreview() {
|
|
423
|
+
const host = this.previewHost?.nativeElement;
|
|
424
|
+
if (!host || !this.selected) {
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
applyStyleTokens(host, this.buildPreviewTokens());
|
|
428
|
+
}
|
|
429
|
+
static ɵfac = function DesignPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DesignPanelComponent)(); };
|
|
430
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DesignPanelComponent, selectors: [["mjf-design-panel"]], viewQuery: function DesignPanelComponent_Query(rf, ctx) { if (rf & 1) {
|
|
431
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
432
|
+
} if (rf & 2) {
|
|
433
|
+
let _t;
|
|
434
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.previewHost = _t.first);
|
|
435
|
+
} }, inputs: { form: "form" }, outputs: { styleApplied: "styleApplied", previewRequested: "previewRequested" }, features: [i0.ɵɵProvidersFeature([DesignStateService])], decls: 48, vars: 8, consts: [["previewHost", ""], [1, "dp"], [1, "dp-controls"], ["aria-labelledby", "dp-styles-title"], ["id", "dp-styles-title", 1, "dp-title"], [1, "dp-hint"], ["role", "alert", 1, "dp-empty"], [1, "dp-empty"], ["role", "list", 1, "dp-style-list"], [1, "dp-actions"], ["type", "button", 1, "mjf-btn", "mjf-btn--primary", 3, "click", "disabled"], ["type", "button", 1, "mjf-btn", "mjf-btn--ghost", 3, "click", "disabled"], ["aria-hidden", "true", 1, "fa-solid", "fa-eye"], ["aria-labelledby", "dp-brand-title", 1, "qe-section"], ["role", "status", 1, "dp-status"], ["aria-label", "Style preview", 1, "dp-preview"], [1, "dp-preview-frame"], ["alt", "", 1, "dp-prev-logo", 3, "src"], [1, "dp-prev-eyebrow"], [1, "dp-prev-title"], [1, "dp-prev-sub"], [1, "dp-prev-card"], [1, "dp-prev-q"], [1, "dp-prev-choices"], [1, "dp-prev-choice", "is-on"], [1, "dp-prev-choice"], [1, "dp-prev-input"], ["type", "button", 1, "dp-prev-btn"], ["type", "button", 1, "dp-style", 3, "click", "disabled"], [1, "dp-style-name"], [1, "mjf-pill"], [1, "dp-style-desc"], ["id", "dp-brand-title", 1, "dp-title"], [1, "mjf-field"], [1, "mjf-field-label"], [1, "mjf-input", 3, "ngModelChange", "ngModel"], [1, "dp-color-row"], ["type", "color", "aria-label", "Primary color", 1, "dp-color", 3, "ngModelChange", "ngModel"], ["placeholder", "Hex or CSS color", "aria-label", "Primary color hex", 1, "mjf-input", 3, "ngModelChange", "ngModel"], ["type", "color", "aria-label", "Accent color", 1, "dp-color", 3, "ngModelChange", "ngModel"], ["placeholder", "Hex or CSS color", "aria-label", "Accent color hex", 1, "mjf-input", 3, "ngModelChange", "ngModel"], ["type", "color", "aria-label", "Page background color", 1, "dp-color", 3, "ngModelChange", "ngModel"], ["placeholder", "Hex or CSS color", "aria-label", "Page background hex", 1, "mjf-input", 3, "ngModelChange", "ngModel"], ["type", "color", "aria-label", "Card background color", 1, "dp-color", 3, "ngModelChange", "ngModel"], ["placeholder", "Hex or CSS color", "aria-label", "Card background hex", 1, "mjf-input", 3, "ngModelChange", "ngModel"], ["value", ""], [3, "value"], ["type", "range", "min", "0", "max", "28", "step", "2", "aria-label", "Corner radius in pixels", 3, "ngModelChange", "ngModel"], ["placeholder", "https://\u2026/logo.svg", 1, "mjf-input", 3, "ngModelChange", "ngModel"], [1, "mjf-field-hint"]], template: function DesignPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
436
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
437
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "section", 3)(3, "h3", 4);
|
|
438
|
+
i0.ɵɵtext(4, "Theme");
|
|
439
|
+
i0.ɵɵelementEnd();
|
|
440
|
+
i0.ɵɵelementStart(5, "p", 5);
|
|
441
|
+
i0.ɵɵtext(6, "Pick a preset. The sample updates instantly; \u201CApply\u201D saves it to this form. Use \u201CPreview form\u201D to fill the real form before publishing.");
|
|
442
|
+
i0.ɵɵelementEnd();
|
|
443
|
+
i0.ɵɵconditionalCreate(7, DesignPanelComponent_Conditional_7_Template, 5, 2, "div", 6)(8, DesignPanelComponent_Conditional_8_Template, 2, 0, "p", 7);
|
|
444
|
+
i0.ɵɵelementStart(9, "ul", 8);
|
|
445
|
+
i0.ɵɵrepeaterCreate(10, DesignPanelComponent_For_11_Template, 6, 7, "li", null, _forTrack0);
|
|
446
|
+
i0.ɵɵelementEnd();
|
|
447
|
+
i0.ɵɵelementStart(12, "div", 9)(13, "button", 10);
|
|
448
|
+
i0.ɵɵlistener("click", function DesignPanelComponent_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.applyToForm()); });
|
|
449
|
+
i0.ɵɵtext(14, "Apply to form");
|
|
450
|
+
i0.ɵɵelementEnd();
|
|
451
|
+
i0.ɵɵelementStart(15, "button", 11);
|
|
452
|
+
i0.ɵɵlistener("click", function DesignPanelComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.duplicateSelected()); });
|
|
453
|
+
i0.ɵɵtext(16, "Duplicate & edit");
|
|
454
|
+
i0.ɵɵelementEnd();
|
|
455
|
+
i0.ɵɵelementStart(17, "button", 11);
|
|
456
|
+
i0.ɵɵlistener("click", function DesignPanelComponent_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.requestPreview()); });
|
|
457
|
+
i0.ɵɵelement(18, "i", 12);
|
|
458
|
+
i0.ɵɵtext(19, " Preview form");
|
|
459
|
+
i0.ɵɵelementEnd()()();
|
|
460
|
+
i0.ɵɵconditionalCreate(20, DesignPanelComponent_Conditional_20_Template, 62, 15, "section", 13);
|
|
461
|
+
i0.ɵɵconditionalCreate(21, DesignPanelComponent_Conditional_21_Template, 2, 1, "p", 14);
|
|
462
|
+
i0.ɵɵelementEnd();
|
|
463
|
+
i0.ɵɵelementStart(22, "div", 15)(23, "div", 16, 0);
|
|
464
|
+
i0.ɵɵconditionalCreate(25, DesignPanelComponent_Conditional_25_Template, 1, 1, "img", 17);
|
|
465
|
+
i0.ɵɵelementStart(26, "p", 18);
|
|
466
|
+
i0.ɵɵtext(27, "Preview");
|
|
467
|
+
i0.ɵɵelementEnd();
|
|
468
|
+
i0.ɵɵelementStart(28, "h2", 19);
|
|
469
|
+
i0.ɵɵtext(29);
|
|
470
|
+
i0.ɵɵelementEnd();
|
|
471
|
+
i0.ɵɵelementStart(30, "p", 20);
|
|
472
|
+
i0.ɵɵtext(31, "This is how the selected theme looks to respondents.");
|
|
473
|
+
i0.ɵɵelementEnd();
|
|
474
|
+
i0.ɵɵelementStart(32, "div", 21)(33, "p", 22);
|
|
475
|
+
i0.ɵɵtext(34, "1 \u00B7 How likely are you to recommend us?");
|
|
476
|
+
i0.ɵɵelementEnd();
|
|
477
|
+
i0.ɵɵelementStart(35, "div", 23)(36, "span", 24);
|
|
478
|
+
i0.ɵɵtext(37, "Very likely");
|
|
479
|
+
i0.ɵɵelementEnd();
|
|
480
|
+
i0.ɵɵelementStart(38, "span", 25);
|
|
481
|
+
i0.ɵɵtext(39, "Somewhat");
|
|
482
|
+
i0.ɵɵelementEnd();
|
|
483
|
+
i0.ɵɵelementStart(40, "span", 25);
|
|
484
|
+
i0.ɵɵtext(41, "Not likely");
|
|
485
|
+
i0.ɵɵelementEnd()()();
|
|
486
|
+
i0.ɵɵelementStart(42, "div", 21)(43, "p", 22);
|
|
487
|
+
i0.ɵɵtext(44, "2 \u00B7 Any other feedback?");
|
|
488
|
+
i0.ɵɵelementEnd();
|
|
489
|
+
i0.ɵɵelement(45, "div", 26);
|
|
490
|
+
i0.ɵɵelementEnd();
|
|
491
|
+
i0.ɵɵelementStart(46, "button", 27);
|
|
492
|
+
i0.ɵɵtext(47, "Submit");
|
|
493
|
+
i0.ɵɵelementEnd()()()();
|
|
494
|
+
} if (rf & 2) {
|
|
495
|
+
i0.ɵɵadvance(7);
|
|
496
|
+
i0.ɵɵconditional(ctx.loadError ? 7 : ctx.styles.length === 0 ? 8 : -1);
|
|
497
|
+
i0.ɵɵadvance(3);
|
|
498
|
+
i0.ɵɵrepeater(ctx.styles);
|
|
499
|
+
i0.ɵɵadvance(3);
|
|
500
|
+
i0.ɵɵproperty("disabled", ctx.busy || !ctx.selected || ctx.selected && ctx.isApplied(ctx.selected));
|
|
501
|
+
i0.ɵɵadvance(2);
|
|
502
|
+
i0.ɵɵproperty("disabled", ctx.busy || !ctx.selected);
|
|
503
|
+
i0.ɵɵadvance(2);
|
|
504
|
+
i0.ɵɵproperty("disabled", ctx.busy);
|
|
505
|
+
i0.ɵɵadvance(3);
|
|
506
|
+
i0.ɵɵconditional(ctx.selected ? 20 : -1);
|
|
507
|
+
i0.ɵɵadvance();
|
|
508
|
+
i0.ɵɵconditional(ctx.status ? 21 : -1);
|
|
509
|
+
i0.ɵɵadvance(4);
|
|
510
|
+
i0.ɵɵconditional(ctx.brandLogo ? 25 : -1);
|
|
511
|
+
i0.ɵɵadvance(4);
|
|
512
|
+
i0.ɵɵtextInterpolate(ctx.form.Name);
|
|
513
|
+
} }, dependencies: [CommonModule, FormsModule, i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.RangeValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel], styles: ["[_nghost-%COMP%] {\n --mjf-builder-gap: 16px;\n --mjf-builder-radius: var(--mj-radius-md, 8px);\n}\n.mjf-input[_ngcontent-%COMP%] {\n width: 100%;\n box-sizing: border-box;\n padding: 8px 10px;\n font: inherit;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mjf-builder-radius);\n transition: border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-input[_ngcontent-%COMP%]:focus {\n outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary));\n outline-offset: 1px;\n border-color: var(--mj-brand-primary);\n}\ntextarea.mjf-input[_ngcontent-%COMP%] { min-height: 64px; resize: vertical; }\n.mjf-field[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--mjf-builder-gap); }\n.mjf-field-label[_ngcontent-%COMP%] { font-size: 0.8125rem; font-weight: 600; color: var(--mj-text-secondary); }\n.mjf-field-hint[_ngcontent-%COMP%] { font-size: 0.75rem; color: var(--mj-text-muted); }\n.mjf-row[_ngcontent-%COMP%] { display: flex; gap: 8px; align-items: center; }\n.mjf-btn[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 8px 14px; font: inherit; font-weight: 600; cursor: pointer;\n border-radius: var(--mjf-btn-radius, var(--mjf-builder-radius));\n border: 1px solid transparent;\n transition: background var(--mj-transition-base, 0.15s ease), border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-btn[_ngcontent-%COMP%]:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }\n.mjf-btn[_ngcontent-%COMP%]:disabled { opacity: 0.5; cursor: not-allowed; }\n.mjf-btn--primary[_ngcontent-%COMP%] { color: var(--mj-brand-on-primary, var(--mj-text-inverse)); background: var(--mj-brand-primary); }\n.mjf-btn--primary[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-brand-primary-hover, var(--mj-brand-primary)); }\n.mjf-btn--ghost[_ngcontent-%COMP%] { color: var(--mj-text-secondary); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--ghost[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-btn--danger[_ngcontent-%COMP%] { color: var(--mj-status-error, var(--mj-color-error-600)); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--danger[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-pill[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center; gap: 5px;\n padding: 3px 9px; font-size: 0.75rem; font-weight: 600;\n border-radius: var(--mjf-pill-radius, var(--mj-radius-full, 999px));\n color: var(--mj-text-secondary); background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n}\n.mjf-switch[_ngcontent-%COMP%] {\n position: relative; display: inline-block; width: 38px; height: 22px; flex: none; cursor: pointer;\n border-radius: var(--mj-radius-full, 999px); background: var(--mj-border-strong);\n transition: background var(--mj-transition-base, 0.15s ease);\n border: none; padding: 0;\n}\n.mjf-switch[_ngcontent-%COMP%]::after {\n content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px;\n border-radius: 50%; background: var(--mj-bg-surface);\n transition: transform var(--mj-transition-base, 0.15s ease);\n}\n.mjf-switch.is-on[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.mjf-switch.is-on[_ngcontent-%COMP%]::after { transform: translateX(16px); }\n.mjf-switch[_ngcontent-%COMP%]:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }", ".dp[_ngcontent-%COMP%] { display: grid; grid-template-columns: minmax(280px, 360px) 1fr; gap: 20px; height: 100%; min-height: 0; }\n.dp-controls[_ngcontent-%COMP%] { overflow-y: auto; padding-right: 4px; }\n.dp-title[_ngcontent-%COMP%] { font-size: 0.95rem; font-weight: 700; color: var(--mj-text-primary); margin: 0 0 4px; }\n.dp-hint[_ngcontent-%COMP%] { font-size: 0.8125rem; color: var(--mj-text-muted); margin: 0 0 12px; }\n.dp-empty[_ngcontent-%COMP%] { font-size: 0.875rem; color: var(--mj-text-muted); padding: 16px 0; }\n\n\n\n.dp-style-list[_ngcontent-%COMP%] { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }\n.dp-style[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; width: 100%; text-align: left; padding: 12px 14px; cursor: pointer; font: inherit; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface-card, var(--mj-bg-surface)); color: var(--mj-text-primary); }\n.dp-style[_ngcontent-%COMP%]:hover:not(:disabled) { border-color: var(--mj-border-strong); background: var(--mj-bg-surface-hover); }\n.dp-style.is-selected[_ngcontent-%COMP%] { border-color: var(--mj-brand-primary); box-shadow: 0 0 0 1px var(--mj-brand-primary); }\n.dp-style[_ngcontent-%COMP%]:disabled { opacity: 0.5; cursor: not-allowed; }\n.dp-style-name[_ngcontent-%COMP%] { font-weight: 700; }\n.dp-style-desc[_ngcontent-%COMP%] { font-size: 0.75rem; color: var(--mj-text-muted); }\n\n.dp-actions[_ngcontent-%COMP%] { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }\n.dp-status[_ngcontent-%COMP%] { font-size: 0.8125rem; color: var(--mj-text-secondary); margin-top: 12px; }\n\n\n\n.dp-color-row[_ngcontent-%COMP%] { display: flex; gap: 8px; align-items: center; }\n.dp-color[_ngcontent-%COMP%] { flex: none; width: 44px; height: 38px; padding: 2px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); }\n\n\n\n.dp-preview[_ngcontent-%COMP%] { min-width: 0; overflow-y: auto; border-radius: var(--mj-radius-lg, 12px); border: 1px solid var(--mj-border-default); }\n.dp-preview-frame[_ngcontent-%COMP%] {\n min-height: 100%;\n padding: 28px 24px;\n font-family: var(--mjf-font-body, var(--mj-font-family, inherit));\n color: var(--mj-text-primary);\n background: var(--mjf-page-bg, var(--mj-bg-page));\n background-image: var(--mjf-page-bg-image, none);\n}\n.dp-prev-logo[_ngcontent-%COMP%] { max-height: 40px; max-width: 160px; margin-bottom: 16px; display: block; }\n.dp-prev-eyebrow[_ngcontent-%COMP%] { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mjf-eyebrow, var(--mjf-accent, var(--mj-brand-primary))); margin: 0 0 6px; }\n.dp-prev-title[_ngcontent-%COMP%] { font-family: var(--mjf-font-display, var(--mj-font-family, inherit)); font-weight: var(--mjf-display-weight, 700); letter-spacing: var(--mjf-display-tracking, normal); font-size: 1.6rem; margin: 0 0 6px; color: var(--mj-text-primary); }\n.dp-prev-sub[_ngcontent-%COMP%] { color: var(--mj-text-secondary); margin: 0 0 20px; font-size: 0.9rem; }\n.dp-prev-card[_ngcontent-%COMP%] {\n padding: 18px 18px 20px;\n margin-bottom: 14px;\n border-radius: var(--mjf-card-radius, var(--mj-radius-lg, 12px));\n border: 1px solid var(--mjf-card-border, var(--mj-border-default));\n background: var(--mjf-card-bg, var(--mj-bg-surface));\n box-shadow: var(--mjf-card-shadow, none);\n backdrop-filter: var(--mjf-card-backdrop, none);\n}\n.dp-prev-q[_ngcontent-%COMP%] { font-weight: 600; margin: 0 0 12px; color: var(--mj-text-primary); }\n.dp-prev-choices[_ngcontent-%COMP%] { display: flex; flex-wrap: wrap; gap: 8px; }\n.dp-prev-choice[_ngcontent-%COMP%] {\n padding: 8px 14px; font-size: 0.85rem; font-weight: 600;\n border-radius: var(--mjf-choice-radius, var(--mj-radius-md, 8px));\n border: 1px solid var(--mjf-choice-border, var(--mj-border-default));\n background: var(--mjf-choice-bg, var(--mj-bg-surface));\n color: var(--mj-text-secondary);\n}\n.dp-prev-choice.is-on[_ngcontent-%COMP%] { border-color: var(--mjf-accent, var(--mj-brand-primary)); color: var(--mjf-on-accent, var(--mj-text-inverse)); background: var(--mjf-accent, var(--mj-brand-primary)); }\n.dp-prev-input[_ngcontent-%COMP%] { height: 40px; border-radius: var(--mjf-input-radius, var(--mj-radius-md, 8px)); border: 1px solid var(--mjf-input-border, var(--mj-border-default)); background: var(--mjf-input-bg, var(--mj-bg-surface)); }\n.dp-prev-btn[_ngcontent-%COMP%] {\n margin-top: 6px; padding: 11px 22px; font: inherit; font-weight: 700; cursor: pointer;\n border-radius: var(--mjf-btn-radius, var(--mj-radius-md, 8px)); border: none;\n color: var(--mjf-on-accent, var(--mj-brand-on-primary, var(--mj-text-inverse)));\n background: var(--mjf-accent-gradient, var(--mjf-accent, var(--mj-brand-primary)));\n}\n\n@media (max-width: 900px) {\n .dp[_ngcontent-%COMP%] { grid-template-columns: 1fr; overflow-y: auto; }\n .dp-preview[_ngcontent-%COMP%] { min-height: 360px; }\n}"], changeDetection: 0 });
|
|
514
|
+
}
|
|
515
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DesignPanelComponent, [{
|
|
516
|
+
type: Component,
|
|
517
|
+
args: [{ selector: 'mjf-design-panel', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule], providers: [DesignStateService], template: "<div class=\"dp\">\n <!-- LEFT: style picker + branding editor -->\n <div class=\"dp-controls\">\n <section aria-labelledby=\"dp-styles-title\">\n <h3 id=\"dp-styles-title\" class=\"dp-title\">Theme</h3>\n <p class=\"dp-hint\">Pick a preset. The sample updates instantly; \u201CApply\u201D saves it to this form. Use \u201CPreview form\u201D to fill the real form before publishing.</p>\n\n @if (loadError) {\n <div class=\"dp-empty\" role=\"alert\">\n <p>Couldn\u2019t load themes: {{ loadError }}</p>\n <button type=\"button\" class=\"mjf-btn mjf-btn--ghost\" [disabled]=\"busy\" (click)=\"reload()\">Retry</button>\n </div>\n } @else if (styles.length === 0) {\n <p class=\"dp-empty\">No themes exist yet. Ask an admin to seed the theme gallery.</p>\n }\n <ul class=\"dp-style-list\" role=\"list\">\n @for (style of styles; track style.ID) {\n <li>\n <button\n type=\"button\"\n class=\"dp-style\"\n [class.is-selected]=\"isSelected(style)\"\n [attr.aria-pressed]=\"isSelected(style)\"\n [disabled]=\"busy\"\n (click)=\"select(style)\"\n >\n <span class=\"dp-style-name\">{{ style.Name }}</span>\n @if (isApplied(style)) {\n <span class=\"mjf-pill\">Applied</span>\n }\n @if (style.Description) {\n <span class=\"dp-style-desc\">{{ style.Description }}</span>\n }\n </button>\n </li>\n }\n </ul>\n\n <div class=\"dp-actions\">\n <button\n type=\"button\"\n class=\"mjf-btn mjf-btn--primary\"\n [disabled]=\"busy || !selected || (selected && isApplied(selected))\"\n (click)=\"applyToForm()\"\n >Apply to form</button>\n <button\n type=\"button\"\n class=\"mjf-btn mjf-btn--ghost\"\n [disabled]=\"busy || !selected\"\n (click)=\"duplicateSelected()\"\n >Duplicate & edit</button>\n <button\n type=\"button\"\n class=\"mjf-btn mjf-btn--ghost\"\n [disabled]=\"busy\"\n (click)=\"requestPreview()\"\n ><i class=\"fa-solid fa-eye\" aria-hidden=\"true\"></i> Preview form</button>\n </div>\n </section>\n\n @if (selected) {\n <section class=\"qe-section\" aria-labelledby=\"dp-brand-title\">\n <h3 id=\"dp-brand-title\" class=\"dp-title\">Branding</h3>\n <p class=\"dp-hint\">Editing changes the theme itself. Duplicate first to avoid changing a shared preset.</p>\n\n <label class=\"mjf-field\">\n <span class=\"mjf-field-label\">Theme name</span>\n <input class=\"mjf-input\" [(ngModel)]=\"brandName\" (ngModelChange)=\"onBrandInput()\" />\n </label>\n\n <div class=\"mjf-field\">\n <span class=\"mjf-field-label\">Primary color</span>\n <div class=\"dp-color-row\">\n <input\n type=\"color\"\n class=\"dp-color\"\n [(ngModel)]=\"brandPrimary\"\n (ngModelChange)=\"onBrandInput()\"\n aria-label=\"Primary color\"\n />\n <input\n class=\"mjf-input\"\n [(ngModel)]=\"brandPrimary\"\n (ngModelChange)=\"onBrandInput()\"\n placeholder=\"Hex or CSS color\"\n aria-label=\"Primary color hex\"\n />\n </div>\n </div>\n\n <div class=\"mjf-field\">\n <span class=\"mjf-field-label\">Accent color (hover / strong)</span>\n <div class=\"dp-color-row\">\n <input\n type=\"color\"\n class=\"dp-color\"\n [(ngModel)]=\"brandAccent\"\n (ngModelChange)=\"onBrandInput()\"\n aria-label=\"Accent color\"\n />\n <input\n class=\"mjf-input\"\n [(ngModel)]=\"brandAccent\"\n (ngModelChange)=\"onBrandInput()\"\n placeholder=\"Hex or CSS color\"\n aria-label=\"Accent color hex\"\n />\n </div>\n </div>\n\n <div class=\"mjf-field\">\n <span class=\"mjf-field-label\">Page background</span>\n <div class=\"dp-color-row\">\n <input type=\"color\" class=\"dp-color\" [(ngModel)]=\"brandPageBg\" (ngModelChange)=\"onBrandInput()\" aria-label=\"Page background color\" />\n <input class=\"mjf-input\" [(ngModel)]=\"brandPageBg\" (ngModelChange)=\"onBrandInput()\" placeholder=\"Hex or CSS color\" aria-label=\"Page background hex\" />\n </div>\n </div>\n\n <div class=\"mjf-field\">\n <span class=\"mjf-field-label\">Card background</span>\n <div class=\"dp-color-row\">\n <input type=\"color\" class=\"dp-color\" [(ngModel)]=\"brandCardBg\" (ngModelChange)=\"onBrandInput()\" aria-label=\"Card background color\" />\n <input class=\"mjf-input\" [(ngModel)]=\"brandCardBg\" (ngModelChange)=\"onBrandInput()\" placeholder=\"Hex or CSS color\" aria-label=\"Card background hex\" />\n </div>\n </div>\n\n <label class=\"mjf-field\">\n <span class=\"mjf-field-label\">Body font</span>\n <select class=\"mjf-input\" [(ngModel)]=\"fontBody\" (ngModelChange)=\"onBrandInput()\">\n <option value=\"\">Theme default</option>\n @for (font of fontOptions; track font.stack) {\n <option [value]=\"font.stack\">{{ font.label }}</option>\n }\n </select>\n </label>\n\n <label class=\"mjf-field\">\n <span class=\"mjf-field-label\">Heading font</span>\n <select class=\"mjf-input\" [(ngModel)]=\"fontDisplay\" (ngModelChange)=\"onBrandInput()\">\n <option value=\"\">Theme default</option>\n @for (font of fontOptions; track font.stack) {\n <option [value]=\"font.stack\">{{ font.label }}</option>\n }\n </select>\n </label>\n\n <label class=\"mjf-field\">\n <span class=\"mjf-field-label\">Corner radius \u2014 {{ radiusPx }}px</span>\n <input\n type=\"range\"\n min=\"0\"\n max=\"28\"\n step=\"2\"\n [(ngModel)]=\"radiusPx\"\n (ngModelChange)=\"onBrandInput()\"\n aria-label=\"Corner radius in pixels\"\n />\n </label>\n\n <label class=\"mjf-field\">\n <span class=\"mjf-field-label\">Logo URL</span>\n <input\n class=\"mjf-input\"\n [(ngModel)]=\"brandLogo\"\n (ngModelChange)=\"onBrandInput()\"\n placeholder=\"https://\u2026/logo.svg\"\n />\n <span class=\"mjf-field-hint\">Shown at the top of the form.</span>\n </label>\n\n <div class=\"dp-actions\">\n <button type=\"button\" class=\"mjf-btn mjf-btn--primary\" [disabled]=\"busy\" (click)=\"saveBranding()\">\n Save branding\n </button>\n </div>\n </section>\n }\n\n @if (status) {\n <p class=\"dp-status\" role=\"status\">{{ status }}</p>\n }\n </div>\n\n <!-- RIGHT: live preview (tokens applied to this host by applyStyleTokens) -->\n <div class=\"dp-preview\" aria-label=\"Style preview\">\n <div class=\"dp-preview-frame\" #previewHost>\n @if (brandLogo) {\n <img class=\"dp-prev-logo\" [src]=\"brandLogo\" alt=\"\" />\n }\n <p class=\"dp-prev-eyebrow\">Preview</p>\n <h2 class=\"dp-prev-title\">{{ form.Name }}</h2>\n <p class=\"dp-prev-sub\">This is how the selected theme looks to respondents.</p>\n\n <div class=\"dp-prev-card\">\n <p class=\"dp-prev-q\">1 \u00B7 How likely are you to recommend us?</p>\n <div class=\"dp-prev-choices\">\n <span class=\"dp-prev-choice is-on\">Very likely</span>\n <span class=\"dp-prev-choice\">Somewhat</span>\n <span class=\"dp-prev-choice\">Not likely</span>\n </div>\n </div>\n\n <div class=\"dp-prev-card\">\n <p class=\"dp-prev-q\">2 \u00B7 Any other feedback?</p>\n <div class=\"dp-prev-input\"></div>\n </div>\n\n <button type=\"button\" class=\"dp-prev-btn\">Submit</button>\n </div>\n </div>\n</div>\n", styles: ["\n:host {\n --mjf-builder-gap: 16px;\n --mjf-builder-radius: var(--mj-radius-md, 8px);\n}\n.mjf-input {\n width: 100%;\n box-sizing: border-box;\n padding: 8px 10px;\n font: inherit;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mjf-builder-radius);\n transition: border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-input:focus {\n outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary));\n outline-offset: 1px;\n border-color: var(--mj-brand-primary);\n}\ntextarea.mjf-input { min-height: 64px; resize: vertical; }\n.mjf-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--mjf-builder-gap); }\n.mjf-field-label { font-size: 0.8125rem; font-weight: 600; color: var(--mj-text-secondary); }\n.mjf-field-hint { font-size: 0.75rem; color: var(--mj-text-muted); }\n.mjf-row { display: flex; gap: 8px; align-items: center; }\n.mjf-btn {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 8px 14px; font: inherit; font-weight: 600; cursor: pointer;\n border-radius: var(--mjf-btn-radius, var(--mjf-builder-radius));\n border: 1px solid transparent;\n transition: background var(--mj-transition-base, 0.15s ease), border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-btn:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }\n.mjf-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n.mjf-btn--primary { color: var(--mj-brand-on-primary, var(--mj-text-inverse)); background: var(--mj-brand-primary); }\n.mjf-btn--primary:hover:not(:disabled) { background: var(--mj-brand-primary-hover, var(--mj-brand-primary)); }\n.mjf-btn--ghost { color: var(--mj-text-secondary); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--ghost:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-btn--danger { color: var(--mj-status-error, var(--mj-color-error-600)); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--danger:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-pill {\n display: inline-flex; align-items: center; gap: 5px;\n padding: 3px 9px; font-size: 0.75rem; font-weight: 600;\n border-radius: var(--mjf-pill-radius, var(--mj-radius-full, 999px));\n color: var(--mj-text-secondary); background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n}\n.mjf-switch {\n position: relative; display: inline-block; width: 38px; height: 22px; flex: none; cursor: pointer;\n border-radius: var(--mj-radius-full, 999px); background: var(--mj-border-strong);\n transition: background var(--mj-transition-base, 0.15s ease);\n border: none; padding: 0;\n}\n.mjf-switch::after {\n content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px;\n border-radius: 50%; background: var(--mj-bg-surface);\n transition: transform var(--mj-transition-base, 0.15s ease);\n}\n.mjf-switch.is-on { background: var(--mj-brand-primary); }\n.mjf-switch.is-on::after { transform: translateX(16px); }\n.mjf-switch:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }\n", "\n.dp { display: grid; grid-template-columns: minmax(280px, 360px) 1fr; gap: 20px; height: 100%; min-height: 0; }\n.dp-controls { overflow-y: auto; padding-right: 4px; }\n.dp-title { font-size: 0.95rem; font-weight: 700; color: var(--mj-text-primary); margin: 0 0 4px; }\n.dp-hint { font-size: 0.8125rem; color: var(--mj-text-muted); margin: 0 0 12px; }\n.dp-empty { font-size: 0.875rem; color: var(--mj-text-muted); padding: 16px 0; }\n\n/* Style picker */\n.dp-style-list { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }\n.dp-style { display: flex; flex-direction: column; gap: 4px; width: 100%; text-align: left; padding: 12px 14px; cursor: pointer; font: inherit; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface-card, var(--mj-bg-surface)); color: var(--mj-text-primary); }\n.dp-style:hover:not(:disabled) { border-color: var(--mj-border-strong); background: var(--mj-bg-surface-hover); }\n.dp-style.is-selected { border-color: var(--mj-brand-primary); box-shadow: 0 0 0 1px var(--mj-brand-primary); }\n.dp-style:disabled { opacity: 0.5; cursor: not-allowed; }\n.dp-style-name { font-weight: 700; }\n.dp-style-desc { font-size: 0.75rem; color: var(--mj-text-muted); }\n\n.dp-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }\n.dp-status { font-size: 0.8125rem; color: var(--mj-text-secondary); margin-top: 12px; }\n\n/* Color inputs */\n.dp-color-row { display: flex; gap: 8px; align-items: center; }\n.dp-color { flex: none; width: 44px; height: 38px; padding: 2px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); }\n\n/* ------- Live preview surface (form tokens; each falls back to a --mj-* token) ------- */\n.dp-preview { min-width: 0; overflow-y: auto; border-radius: var(--mj-radius-lg, 12px); border: 1px solid var(--mj-border-default); }\n.dp-preview-frame {\n min-height: 100%;\n padding: 28px 24px;\n font-family: var(--mjf-font-body, var(--mj-font-family, inherit));\n color: var(--mj-text-primary);\n background: var(--mjf-page-bg, var(--mj-bg-page));\n background-image: var(--mjf-page-bg-image, none);\n}\n.dp-prev-logo { max-height: 40px; max-width: 160px; margin-bottom: 16px; display: block; }\n.dp-prev-eyebrow { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mjf-eyebrow, var(--mjf-accent, var(--mj-brand-primary))); margin: 0 0 6px; }\n.dp-prev-title { font-family: var(--mjf-font-display, var(--mj-font-family, inherit)); font-weight: var(--mjf-display-weight, 700); letter-spacing: var(--mjf-display-tracking, normal); font-size: 1.6rem; margin: 0 0 6px; color: var(--mj-text-primary); }\n.dp-prev-sub { color: var(--mj-text-secondary); margin: 0 0 20px; font-size: 0.9rem; }\n.dp-prev-card {\n padding: 18px 18px 20px;\n margin-bottom: 14px;\n border-radius: var(--mjf-card-radius, var(--mj-radius-lg, 12px));\n border: 1px solid var(--mjf-card-border, var(--mj-border-default));\n background: var(--mjf-card-bg, var(--mj-bg-surface));\n box-shadow: var(--mjf-card-shadow, none);\n backdrop-filter: var(--mjf-card-backdrop, none);\n}\n.dp-prev-q { font-weight: 600; margin: 0 0 12px; color: var(--mj-text-primary); }\n.dp-prev-choices { display: flex; flex-wrap: wrap; gap: 8px; }\n.dp-prev-choice {\n padding: 8px 14px; font-size: 0.85rem; font-weight: 600;\n border-radius: var(--mjf-choice-radius, var(--mj-radius-md, 8px));\n border: 1px solid var(--mjf-choice-border, var(--mj-border-default));\n background: var(--mjf-choice-bg, var(--mj-bg-surface));\n color: var(--mj-text-secondary);\n}\n.dp-prev-choice.is-on { border-color: var(--mjf-accent, var(--mj-brand-primary)); color: var(--mjf-on-accent, var(--mj-text-inverse)); background: var(--mjf-accent, var(--mj-brand-primary)); }\n.dp-prev-input { height: 40px; border-radius: var(--mjf-input-radius, var(--mj-radius-md, 8px)); border: 1px solid var(--mjf-input-border, var(--mj-border-default)); background: var(--mjf-input-bg, var(--mj-bg-surface)); }\n.dp-prev-btn {\n margin-top: 6px; padding: 11px 22px; font: inherit; font-weight: 700; cursor: pointer;\n border-radius: var(--mjf-btn-radius, var(--mj-radius-md, 8px)); border: none;\n color: var(--mjf-on-accent, var(--mj-brand-on-primary, var(--mj-text-inverse)));\n background: var(--mjf-accent-gradient, var(--mjf-accent, var(--mj-brand-primary)));\n}\n\n@media (max-width: 900px) {\n .dp { grid-template-columns: 1fr; overflow-y: auto; }\n .dp-preview { min-height: 360px; }\n}\n"] }]
|
|
518
|
+
}], null, { form: [{
|
|
519
|
+
type: Input,
|
|
520
|
+
args: [{ required: true }]
|
|
521
|
+
}], styleApplied: [{
|
|
522
|
+
type: Output
|
|
523
|
+
}], previewRequested: [{
|
|
524
|
+
type: Output
|
|
525
|
+
}], previewHost: [{
|
|
526
|
+
type: ViewChild,
|
|
527
|
+
args: ['previewHost']
|
|
528
|
+
}] }); })();
|
|
529
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DesignPanelComponent, { className: "DesignPanelComponent", filePath: "lib/builder/design-panel.component.ts", lineNumber: 47 }); })();
|
|
530
|
+
//# sourceMappingURL=design-panel.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-panel.component.js","sourceRoot":"","sources":["../../../src/lib/builder/design-panel.component.ts","../../../src/lib/builder/design-panel.component.html"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design panel styles — plain-CSS string (the package builds with `ngc` only, no SCSS).
|
|
3
|
+
*
|
|
4
|
+
* The controls use `--mj-*` builder tokens. The PREVIEW surface (`.dp-preview-frame`
|
|
5
|
+
* and its children) styles itself with `--mjf-*` form tokens that `applyStyleTokens`
|
|
6
|
+
* sets on the host at runtime, each falling back to a `--mj-*` token — so the preview
|
|
7
|
+
* re-themes exactly like the published widget and carries no hardcoded colors.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DESIGN_PANEL_STYLES = "\n.dp { display: grid; grid-template-columns: minmax(280px, 360px) 1fr; gap: 20px; height: 100%; min-height: 0; }\n.dp-controls { overflow-y: auto; padding-right: 4px; }\n.dp-title { font-size: 0.95rem; font-weight: 700; color: var(--mj-text-primary); margin: 0 0 4px; }\n.dp-hint { font-size: 0.8125rem; color: var(--mj-text-muted); margin: 0 0 12px; }\n.dp-empty { font-size: 0.875rem; color: var(--mj-text-muted); padding: 16px 0; }\n\n/* Style picker */\n.dp-style-list { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }\n.dp-style { display: flex; flex-direction: column; gap: 4px; width: 100%; text-align: left; padding: 12px 14px; cursor: pointer; font: inherit; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface-card, var(--mj-bg-surface)); color: var(--mj-text-primary); }\n.dp-style:hover:not(:disabled) { border-color: var(--mj-border-strong); background: var(--mj-bg-surface-hover); }\n.dp-style.is-selected { border-color: var(--mj-brand-primary); box-shadow: 0 0 0 1px var(--mj-brand-primary); }\n.dp-style:disabled { opacity: 0.5; cursor: not-allowed; }\n.dp-style-name { font-weight: 700; }\n.dp-style-desc { font-size: 0.75rem; color: var(--mj-text-muted); }\n\n.dp-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }\n.dp-status { font-size: 0.8125rem; color: var(--mj-text-secondary); margin-top: 12px; }\n\n/* Color inputs */\n.dp-color-row { display: flex; gap: 8px; align-items: center; }\n.dp-color { flex: none; width: 44px; height: 38px; padding: 2px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); }\n\n/* ------- Live preview surface (form tokens; each falls back to a --mj-* token) ------- */\n.dp-preview { min-width: 0; overflow-y: auto; border-radius: var(--mj-radius-lg, 12px); border: 1px solid var(--mj-border-default); }\n.dp-preview-frame {\n min-height: 100%;\n padding: 28px 24px;\n font-family: var(--mjf-font-body, var(--mj-font-family, inherit));\n color: var(--mj-text-primary);\n background: var(--mjf-page-bg, var(--mj-bg-page));\n background-image: var(--mjf-page-bg-image, none);\n}\n.dp-prev-logo { max-height: 40px; max-width: 160px; margin-bottom: 16px; display: block; }\n.dp-prev-eyebrow { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mjf-eyebrow, var(--mjf-accent, var(--mj-brand-primary))); margin: 0 0 6px; }\n.dp-prev-title { font-family: var(--mjf-font-display, var(--mj-font-family, inherit)); font-weight: var(--mjf-display-weight, 700); letter-spacing: var(--mjf-display-tracking, normal); font-size: 1.6rem; margin: 0 0 6px; color: var(--mj-text-primary); }\n.dp-prev-sub { color: var(--mj-text-secondary); margin: 0 0 20px; font-size: 0.9rem; }\n.dp-prev-card {\n padding: 18px 18px 20px;\n margin-bottom: 14px;\n border-radius: var(--mjf-card-radius, var(--mj-radius-lg, 12px));\n border: 1px solid var(--mjf-card-border, var(--mj-border-default));\n background: var(--mjf-card-bg, var(--mj-bg-surface));\n box-shadow: var(--mjf-card-shadow, none);\n backdrop-filter: var(--mjf-card-backdrop, none);\n}\n.dp-prev-q { font-weight: 600; margin: 0 0 12px; color: var(--mj-text-primary); }\n.dp-prev-choices { display: flex; flex-wrap: wrap; gap: 8px; }\n.dp-prev-choice {\n padding: 8px 14px; font-size: 0.85rem; font-weight: 600;\n border-radius: var(--mjf-choice-radius, var(--mj-radius-md, 8px));\n border: 1px solid var(--mjf-choice-border, var(--mj-border-default));\n background: var(--mjf-choice-bg, var(--mj-bg-surface));\n color: var(--mj-text-secondary);\n}\n.dp-prev-choice.is-on { border-color: var(--mjf-accent, var(--mj-brand-primary)); color: var(--mjf-on-accent, var(--mj-text-inverse)); background: var(--mjf-accent, var(--mj-brand-primary)); }\n.dp-prev-input { height: 40px; border-radius: var(--mjf-input-radius, var(--mj-radius-md, 8px)); border: 1px solid var(--mjf-input-border, var(--mj-border-default)); background: var(--mjf-input-bg, var(--mj-bg-surface)); }\n.dp-prev-btn {\n margin-top: 6px; padding: 11px 22px; font: inherit; font-weight: 700; cursor: pointer;\n border-radius: var(--mjf-btn-radius, var(--mj-radius-md, 8px)); border: none;\n color: var(--mjf-on-accent, var(--mj-brand-on-primary, var(--mj-text-inverse)));\n background: var(--mjf-accent-gradient, var(--mjf-accent, var(--mj-brand-primary)));\n}\n\n@media (max-width: 900px) {\n .dp { grid-template-columns: 1fr; overflow-y: auto; }\n .dp-preview { min-height: 360px; }\n}\n";
|
|
10
|
+
//# sourceMappingURL=design-panel.styles.d.ts.map
|