@jigx/core-sdk 1.0.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/CHANGELOG.md +95 -0
- package/README.md +87 -0
- package/dist/PACKAGE.d.ts +4 -0
- package/dist/PACKAGE.d.ts.map +1 -0
- package/dist/PACKAGE.js +5 -0
- package/dist/abstract/app-info.d.ts +8 -0
- package/dist/abstract/app-info.d.ts.map +1 -0
- package/dist/abstract/app-info.js +8 -0
- package/dist/abstract/app-name.d.ts +15 -0
- package/dist/abstract/app-name.d.ts.map +1 -0
- package/dist/abstract/app-name.js +28 -0
- package/dist/abstract/base-builder.d.ts +4 -0
- package/dist/abstract/base-builder.d.ts.map +1 -0
- package/dist/abstract/base-builder.js +3 -0
- package/dist/abstract/element-base-builder.d.ts +7 -0
- package/dist/abstract/element-base-builder.d.ts.map +1 -0
- package/dist/abstract/element-base-builder.js +11 -0
- package/dist/abstract/generic.d.ts +31 -0
- package/dist/abstract/generic.d.ts.map +1 -0
- package/dist/abstract/generic.js +2 -0
- package/dist/abstract/index.d.ts +12 -0
- package/dist/abstract/index.d.ts.map +1 -0
- package/dist/abstract/index.js +11 -0
- package/dist/abstract/register.d.ts +31 -0
- package/dist/abstract/register.d.ts.map +1 -0
- package/dist/abstract/register.js +48 -0
- package/dist/abstract/sdk.expression.d.ts +43 -0
- package/dist/abstract/sdk.expression.d.ts.map +1 -0
- package/dist/abstract/sdk.expression.js +175 -0
- package/dist/abstract/sdk.text.d.ts +23 -0
- package/dist/abstract/sdk.text.d.ts.map +1 -0
- package/dist/abstract/sdk.text.js +110 -0
- package/dist/abstract/sdk.types.d.ts +16 -0
- package/dist/abstract/sdk.types.d.ts.map +1 -0
- package/dist/abstract/sdk.types.js +88 -0
- package/dist/abstract/zod.strata.d.ts +17 -0
- package/dist/abstract/zod.strata.d.ts.map +1 -0
- package/dist/abstract/zod.strata.js +11 -0
- package/dist/abstract/zod.types.d.ts +1937 -0
- package/dist/abstract/zod.types.d.ts.map +1 -0
- package/dist/abstract/zod.types.js +848 -0
- package/dist/action/action-definition.builder.d.ts +16 -0
- package/dist/action/action-definition.builder.d.ts.map +1 -0
- package/dist/action/action-definition.builder.js +35 -0
- package/dist/action/action.descriptor.d.ts +8 -0
- package/dist/action/action.descriptor.d.ts.map +1 -0
- package/dist/action/action.descriptor.js +2 -0
- package/dist/action/index.d.ts +57 -0
- package/dist/action/index.d.ts.map +1 -0
- package/dist/action/index.js +48 -0
- package/dist/action/ja.abstract.d.ts +33 -0
- package/dist/action/ja.abstract.d.ts.map +1 -0
- package/dist/action/ja.abstract.js +58 -0
- package/dist/action/ja.action-definition.d.ts +11 -0
- package/dist/action/ja.action-definition.d.ts.map +1 -0
- package/dist/action/ja.action-definition.js +12 -0
- package/dist/action/ja.action-list.d.ts +9 -0
- package/dist/action/ja.action-list.d.ts.map +1 -0
- package/dist/action/ja.action-list.js +15 -0
- package/dist/action/ja.clear-queue.d.ts +9 -0
- package/dist/action/ja.clear-queue.d.ts.map +1 -0
- package/dist/action/ja.clear-queue.js +9 -0
- package/dist/action/ja.color.d.ts +3 -0
- package/dist/action/ja.color.d.ts.map +1 -0
- package/dist/action/ja.color.js +2 -0
- package/dist/action/ja.confirm.abstract.d.ts +16 -0
- package/dist/action/ja.confirm.abstract.d.ts.map +1 -0
- package/dist/action/ja.confirm.abstract.js +25 -0
- package/dist/action/ja.confirm.d.ts +23 -0
- package/dist/action/ja.confirm.d.ts.map +1 -0
- package/dist/action/ja.confirm.js +28 -0
- package/dist/action/ja.delete-queue-command.d.ts +9 -0
- package/dist/action/ja.delete-queue-command.d.ts.map +1 -0
- package/dist/action/ja.delete-queue-command.js +9 -0
- package/dist/action/ja.delete-sync-scope.d.ts +10 -0
- package/dist/action/ja.delete-sync-scope.d.ts.map +1 -0
- package/dist/action/ja.delete-sync-scope.js +14 -0
- package/dist/action/ja.delete-sync-status.d.ts +9 -0
- package/dist/action/ja.delete-sync-status.d.ts.map +1 -0
- package/dist/action/ja.delete-sync-status.js +9 -0
- package/dist/action/ja.evaluate.d.ts +12 -0
- package/dist/action/ja.evaluate.d.ts.map +1 -0
- package/dist/action/ja.evaluate.js +9 -0
- package/dist/action/ja.execute-action.d.ts +11 -0
- package/dist/action/ja.execute-action.d.ts.map +1 -0
- package/dist/action/ja.execute-action.js +15 -0
- package/dist/action/ja.execute-entities.d.ts +7 -0
- package/dist/action/ja.execute-entities.d.ts.map +1 -0
- package/dist/action/ja.execute-entities.js +8 -0
- package/dist/action/ja.execute-entity.abstract.d.ts +41 -0
- package/dist/action/ja.execute-entity.abstract.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.abstract.js +104 -0
- package/dist/action/ja.execute-entity.d.ts +6 -0
- package/dist/action/ja.execute-entity.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.dynamic-data.d.ts +6 -0
- package/dist/action/ja.execute-entity.dynamic-data.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.dynamic-data.js +2 -0
- package/dist/action/ja.execute-entity.generic.d.ts +11 -0
- package/dist/action/ja.execute-entity.generic.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.generic.js +2 -0
- package/dist/action/ja.execute-entity.js +8 -0
- package/dist/action/ja.execute-entity.sql.d.ts +12 -0
- package/dist/action/ja.execute-entity.sql.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.sql.js +2 -0
- package/dist/action/ja.execute-sql.abstract.d.ts +6 -0
- package/dist/action/ja.execute-sql.abstract.d.ts.map +1 -0
- package/dist/action/ja.execute-sql.abstract.js +2 -0
- package/dist/action/ja.execute-sql.d.ts +16 -0
- package/dist/action/ja.execute-sql.d.ts.map +1 -0
- package/dist/action/ja.execute-sql.js +64 -0
- package/dist/action/ja.find-replace.d.ts +12 -0
- package/dist/action/ja.find-replace.d.ts.map +1 -0
- package/dist/action/ja.find-replace.js +22 -0
- package/dist/action/ja.generate-file.d.ts +11 -0
- package/dist/action/ja.generate-file.d.ts.map +1 -0
- package/dist/action/ja.generate-file.js +19 -0
- package/dist/action/ja.generate-pdf.d.ts +10 -0
- package/dist/action/ja.generate-pdf.d.ts.map +1 -0
- package/dist/action/ja.generate-pdf.js +10 -0
- package/dist/action/ja.go-back.d.ts +9 -0
- package/dist/action/ja.go-back.d.ts.map +1 -0
- package/dist/action/ja.go-back.js +11 -0
- package/dist/action/ja.go-to.d.ts +18 -0
- package/dist/action/ja.go-to.d.ts.map +1 -0
- package/dist/action/ja.go-to.js +41 -0
- package/dist/action/ja.in-background.d.ts +95 -0
- package/dist/action/ja.in-background.d.ts.map +1 -0
- package/dist/action/ja.in-background.factory.d.ts +88 -0
- package/dist/action/ja.in-background.factory.d.ts.map +1 -0
- package/dist/action/ja.in-background.factory.js +98 -0
- package/dist/action/ja.in-background.js +247 -0
- package/dist/action/ja.info-modal.d.ts +37 -0
- package/dist/action/ja.info-modal.d.ts.map +1 -0
- package/dist/action/ja.info-modal.js +61 -0
- package/dist/action/ja.jig-actions.d.ts +16 -0
- package/dist/action/ja.jig-actions.d.ts.map +1 -0
- package/dist/action/ja.jig-actions.js +35 -0
- package/dist/action/ja.on-button.factory.d.ts +89 -0
- package/dist/action/ja.on-button.factory.d.ts.map +1 -0
- package/dist/action/ja.on-button.factory.js +86 -0
- package/dist/action/ja.open-app-settings.d.ts +6 -0
- package/dist/action/ja.open-app-settings.d.ts.map +1 -0
- package/dist/action/ja.open-app-settings.js +8 -0
- package/dist/action/ja.open-map.abstract.d.ts +6 -0
- package/dist/action/ja.open-map.abstract.d.ts.map +1 -0
- package/dist/action/ja.open-map.abstract.js +2 -0
- package/dist/action/ja.open-map.d.ts +11 -0
- package/dist/action/ja.open-map.d.ts.map +1 -0
- package/dist/action/ja.open-map.js +25 -0
- package/dist/action/ja.open-media-picker.abstract.d.ts +8 -0
- package/dist/action/ja.open-media-picker.abstract.d.ts.map +1 -0
- package/dist/action/ja.open-media-picker.abstract.js +2 -0
- package/dist/action/ja.open-media-picker.d.ts +18 -0
- package/dist/action/ja.open-media-picker.d.ts.map +1 -0
- package/dist/action/ja.open-media-picker.js +46 -0
- package/dist/action/ja.open-scanner.d.ts +14 -0
- package/dist/action/ja.open-scanner.d.ts.map +1 -0
- package/dist/action/ja.open-scanner.js +23 -0
- package/dist/action/ja.open-url.d.ts +10 -0
- package/dist/action/ja.open-url.d.ts.map +1 -0
- package/dist/action/ja.open-url.js +13 -0
- package/dist/action/ja.print.d.ts +10 -0
- package/dist/action/ja.print.d.ts.map +1 -0
- package/dist/action/ja.print.js +17 -0
- package/dist/action/ja.reset-application-state.d.ts +9 -0
- package/dist/action/ja.reset-application-state.d.ts.map +1 -0
- package/dist/action/ja.reset-application-state.js +12 -0
- package/dist/action/ja.reset-component-state.d.ts +9 -0
- package/dist/action/ja.reset-component-state.d.ts.map +1 -0
- package/dist/action/ja.reset-component-state.js +13 -0
- package/dist/action/ja.reset-screen-state.d.ts +9 -0
- package/dist/action/ja.reset-screen-state.d.ts.map +1 -0
- package/dist/action/ja.reset-screen-state.js +12 -0
- package/dist/action/ja.reset-state.d.ts +9 -0
- package/dist/action/ja.reset-state.d.ts.map +1 -0
- package/dist/action/ja.reset-state.js +13 -0
- package/dist/action/ja.retry-queue-command.d.ts +9 -0
- package/dist/action/ja.retry-queue-command.d.ts.map +1 -0
- package/dist/action/ja.retry-queue-command.js +9 -0
- package/dist/action/ja.sdk.d.ts +4 -0
- package/dist/action/ja.sdk.d.ts.map +1 -0
- package/dist/action/ja.sdk.js +2 -0
- package/dist/action/ja.set-active-tab.d.ts +13 -0
- package/dist/action/ja.set-active-tab.d.ts.map +1 -0
- package/dist/action/ja.set-active-tab.js +29 -0
- package/dist/action/ja.set-application-state.d.ts +9 -0
- package/dist/action/ja.set-application-state.d.ts.map +1 -0
- package/dist/action/ja.set-application-state.js +17 -0
- package/dist/action/ja.set-screen-state.d.ts +9 -0
- package/dist/action/ja.set-screen-state.d.ts.map +1 -0
- package/dist/action/ja.set-screen-state.js +12 -0
- package/dist/action/ja.share.d.ts +12 -0
- package/dist/action/ja.share.d.ts.map +1 -0
- package/dist/action/ja.share.js +23 -0
- package/dist/action/ja.show-alert.d.ts +33 -0
- package/dist/action/ja.show-alert.d.ts.map +1 -0
- package/dist/action/ja.show-alert.js +61 -0
- package/dist/action/ja.start-location-sharing.abstract.d.ts +6 -0
- package/dist/action/ja.start-location-sharing.abstract.d.ts.map +1 -0
- package/dist/action/ja.start-location-sharing.abstract.js +2 -0
- package/dist/action/ja.start-location-sharing.d.ts +18 -0
- package/dist/action/ja.start-location-sharing.d.ts.map +1 -0
- package/dist/action/ja.start-location-sharing.js +33 -0
- package/dist/action/ja.start-sync-scope.d.ts +9 -0
- package/dist/action/ja.start-sync-scope.d.ts.map +1 -0
- package/dist/action/ja.start-sync-scope.js +18 -0
- package/dist/action/ja.stop-location-sharing.d.ts +6 -0
- package/dist/action/ja.stop-location-sharing.d.ts.map +1 -0
- package/dist/action/ja.stop-location-sharing.js +8 -0
- package/dist/action/ja.submit-form.abstract.d.ts +11 -0
- package/dist/action/ja.submit-form.abstract.d.ts.map +1 -0
- package/dist/action/ja.submit-form.abstract.js +2 -0
- package/dist/action/ja.submit-form.d.ts +31 -0
- package/dist/action/ja.submit-form.d.ts.map +1 -0
- package/dist/action/ja.submit-form.js +124 -0
- package/dist/action/ja.swipeable-action.d.ts +19 -0
- package/dist/action/ja.swipeable-action.d.ts.map +1 -0
- package/dist/action/ja.swipeable-action.js +25 -0
- package/dist/action/ja.sync-entities.abstract.d.ts +25 -0
- package/dist/action/ja.sync-entities.abstract.d.ts.map +1 -0
- package/dist/action/ja.sync-entities.abstract.js +2 -0
- package/dist/action/ja.sync-entities.d.ts +32 -0
- package/dist/action/ja.sync-entities.d.ts.map +1 -0
- package/dist/action/ja.sync-entities.js +142 -0
- package/dist/action/ja.update-profile.d.ts +12 -0
- package/dist/action/ja.update-profile.d.ts.map +1 -0
- package/dist/action/ja.update-profile.js +20 -0
- package/dist/application/application.sdk.d.ts +84 -0
- package/dist/application/application.sdk.d.ts.map +1 -0
- package/dist/application/application.sdk.js +217 -0
- package/dist/application/application.tab.d.ts +20 -0
- package/dist/application/application.tab.d.ts.map +1 -0
- package/dist/application/application.tab.js +45 -0
- package/dist/application/context.sdk.d.ts +48 -0
- package/dist/application/context.sdk.d.ts.map +1 -0
- package/dist/application/context.sdk.js +116 -0
- package/dist/application/index.d.ts +4 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +4 -0
- package/dist/assets/example-extraction-cache.json +9 -0
- package/dist/assets/extracted-core-sdk-examples.yaml +44440 -0
- package/dist/assets/extracted-core-sdk-types.yaml +12100 -0
- package/dist/assets/stream-line-icons.csv +19281 -0
- package/dist/assets/type-extraction-cache.json +9 -0
- package/dist/builder/application-analyzer/application-analyzer.d.ts +42 -0
- package/dist/builder/application-analyzer/application-analyzer.d.ts.map +1 -0
- package/dist/builder/application-analyzer/application-analyzer.js +150 -0
- package/dist/builder/application-analyzer/create-application-analyzer.d.ts +17 -0
- package/dist/builder/application-analyzer/create-application-analyzer.d.ts.map +1 -0
- package/dist/builder/application-analyzer/create-application-analyzer.js +121 -0
- package/dist/builder/application-analyzer/index.d.ts +5 -0
- package/dist/builder/application-analyzer/index.d.ts.map +1 -0
- package/dist/builder/application-analyzer/index.js +5 -0
- package/dist/builder/application-analyzer/select-component-nodes.d.ts +7 -0
- package/dist/builder/application-analyzer/select-component-nodes.d.ts.map +1 -0
- package/dist/builder/application-analyzer/select-component-nodes.js +15 -0
- package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts +8 -0
- package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts.map +1 -0
- package/dist/builder/application-analyzer/select-datasource-node-by-id.js +20 -0
- package/dist/builder/application-analyzer/types.d.ts +60 -0
- package/dist/builder/application-analyzer/types.d.ts.map +1 -0
- package/dist/builder/application-analyzer/types.js +16 -0
- package/dist/builder/application-analyzer/utils.d.ts +3 -0
- package/dist/builder/application-analyzer/utils.d.ts.map +1 -0
- package/dist/builder/application-analyzer/utils.js +8 -0
- package/dist/builder/builder.d.ts +8 -0
- package/dist/builder/builder.d.ts.map +1 -0
- package/dist/builder/builder.js +54 -0
- package/dist/builder/index.d.ts +5 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/index.js +4 -0
- package/dist/builder/transform-summary.d.ts +3 -0
- package/dist/builder/transform-summary.d.ts.map +1 -0
- package/dist/builder/transform-summary.js +39 -0
- package/dist/builder/types.d.ts +8 -0
- package/dist/builder/types.d.ts.map +1 -0
- package/dist/builder/types.js +2 -0
- package/dist/builder/validate-datasource-ids.d.ts +17 -0
- package/dist/builder/validate-datasource-ids.d.ts.map +1 -0
- package/dist/builder/validate-datasource-ids.js +51 -0
- package/dist/component/common/index.d.ts +22 -0
- package/dist/component/common/index.d.ts.map +1 -0
- package/dist/component/common/index.js +16 -0
- package/dist/component/common/jc.avatar-field.types.d.ts +9 -0
- package/dist/component/common/jc.avatar-field.types.d.ts.map +1 -0
- package/dist/component/common/jc.avatar-field.types.js +11 -0
- package/dist/component/common/jc.chart.common.abstract.d.ts +85 -0
- package/dist/component/common/jc.chart.common.abstract.d.ts.map +1 -0
- package/dist/component/common/jc.chart.common.abstract.js +2 -0
- package/dist/component/common/jc.chart.common.builders.d.ts +37 -0
- package/dist/component/common/jc.chart.common.builders.d.ts.map +1 -0
- package/dist/component/common/jc.chart.common.builders.js +81 -0
- package/dist/component/common/jc.component.types.d.ts +101 -0
- package/dist/component/common/jc.component.types.d.ts.map +1 -0
- package/dist/component/common/jc.component.types.js +144 -0
- package/dist/component/common/jc.context.d.ts +7 -0
- package/dist/component/common/jc.context.d.ts.map +1 -0
- package/dist/component/common/jc.context.js +2 -0
- package/dist/component/common/jc.element.types.d.ts +14 -0
- package/dist/component/common/jc.element.types.d.ts.map +1 -0
- package/dist/component/common/jc.element.types.js +13 -0
- package/dist/component/common/jc.field-base.builder.d.ts +21 -0
- package/dist/component/common/jc.field-base.builder.d.ts.map +1 -0
- package/dist/component/common/jc.field-base.builder.js +101 -0
- package/dist/component/common/jc.field-base.types.d.ts +28 -0
- package/dist/component/common/jc.field-base.types.d.ts.map +1 -0
- package/dist/component/common/jc.field-base.types.js +2 -0
- package/dist/component/common/jc.left-right.element.avatar.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.avatar.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.avatar.js +18 -0
- package/dist/component/common/jc.left-right.element.badge.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.badge.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.badge.js +17 -0
- package/dist/component/common/jc.left-right.element.button.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.button.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.button.js +14 -0
- package/dist/component/common/jc.left-right.element.checkbox.d.ts +13 -0
- package/dist/component/common/jc.left-right.element.checkbox.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.checkbox.js +21 -0
- package/dist/component/common/jc.left-right.element.d.ts +31 -0
- package/dist/component/common/jc.left-right.element.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.icon.d.ts +18 -0
- package/dist/component/common/jc.left-right.element.icon.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.icon.js +32 -0
- package/dist/component/common/jc.left-right.element.image.d.ts +16 -0
- package/dist/component/common/jc.left-right.element.image.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.image.js +29 -0
- package/dist/component/common/jc.left-right.element.js +2 -0
- package/dist/component/common/jc.left-right.element.progress.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.progress.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.progress.js +17 -0
- package/dist/component/common/jc.left-right.element.switch.d.ts +13 -0
- package/dist/component/common/jc.left-right.element.switch.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.switch.js +21 -0
- package/dist/component/common/jc.left-right.element.value.d.ts +10 -0
- package/dist/component/common/jc.left-right.element.value.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.value.js +12 -0
- package/dist/component/common/jc.picker-field-options.types.d.ts +13 -0
- package/dist/component/common/jc.picker-field-options.types.d.ts.map +1 -0
- package/dist/component/common/jc.picker-field-options.types.js +2 -0
- package/dist/component/common/jc.text.types.d.ts +6 -0
- package/dist/component/common/jc.text.types.d.ts.map +1 -0
- package/dist/component/common/jc.text.types.js +2 -0
- package/dist/component/common/jc.validation.d.ts +9 -0
- package/dist/component/common/jc.validation.d.ts.map +1 -0
- package/dist/component/common/jc.validation.js +48 -0
- package/dist/component/index.d.ts +86 -0
- package/dist/component/index.d.ts.map +1 -0
- package/dist/component/index.js +83 -0
- package/dist/component/jc.abstract.d.ts +32 -0
- package/dist/component/jc.abstract.d.ts.map +1 -0
- package/dist/component/jc.abstract.factory.d.ts +488 -0
- package/dist/component/jc.abstract.factory.d.ts.map +1 -0
- package/dist/component/jc.abstract.factory.js +757 -0
- package/dist/component/jc.abstract.js +53 -0
- package/dist/component/jc.abstract.utils.d.ts +3 -0
- package/dist/component/jc.abstract.utils.d.ts.map +1 -0
- package/dist/component/jc.abstract.utils.js +26 -0
- package/dist/component/jc.amount-control.d.ts +16 -0
- package/dist/component/jc.amount-control.d.ts.map +1 -0
- package/dist/component/jc.amount-control.js +36 -0
- package/dist/component/jc.avatar-field.d.ts +11 -0
- package/dist/component/jc.avatar-field.d.ts.map +1 -0
- package/dist/component/jc.avatar-field.js +27 -0
- package/dist/component/jc.avatar.d.ts +14 -0
- package/dist/component/jc.avatar.d.ts.map +1 -0
- package/dist/component/jc.avatar.js +26 -0
- package/dist/component/jc.banner.d.ts +81 -0
- package/dist/component/jc.banner.d.ts.map +1 -0
- package/dist/component/jc.banner.js +49 -0
- package/dist/component/jc.bar-chart.d.ts +23 -0
- package/dist/component/jc.bar-chart.d.ts.map +1 -0
- package/dist/component/jc.bar-chart.js +45 -0
- package/dist/component/jc.button.d.ts +20 -0
- package/dist/component/jc.button.d.ts.map +1 -0
- package/dist/component/jc.button.js +39 -0
- package/dist/component/jc.card.abstract.d.ts +14 -0
- package/dist/component/jc.card.abstract.d.ts.map +1 -0
- package/dist/component/jc.card.abstract.js +31 -0
- package/dist/component/jc.card.on-default.d.ts +91 -0
- package/dist/component/jc.card.on-default.d.ts.map +1 -0
- package/dist/component/jc.card.on-default.js +96 -0
- package/dist/component/jc.carousel.d.ts +31 -0
- package/dist/component/jc.carousel.d.ts.map +1 -0
- package/dist/component/jc.carousel.js +58 -0
- package/dist/component/jc.chat-message.d.ts +17 -0
- package/dist/component/jc.chat-message.d.ts.map +1 -0
- package/dist/component/jc.chat-message.js +32 -0
- package/dist/component/jc.chat.d.ts +23 -0
- package/dist/component/jc.chat.d.ts.map +1 -0
- package/dist/component/jc.chat.js +68 -0
- package/dist/component/jc.checkbox.d.ts +15 -0
- package/dist/component/jc.checkbox.d.ts.map +1 -0
- package/dist/component/jc.checkbox.js +38 -0
- package/dist/component/jc.choice-field-item.d.ts +15 -0
- package/dist/component/jc.choice-field-item.d.ts.map +1 -0
- package/dist/component/jc.choice-field-item.js +41 -0
- package/dist/component/jc.choice-field.d.ts +21 -0
- package/dist/component/jc.choice-field.d.ts.map +1 -0
- package/dist/component/jc.choice-field.js +34 -0
- package/dist/component/jc.count-down.d.ts +18 -0
- package/dist/component/jc.count-down.d.ts.map +1 -0
- package/dist/component/jc.count-down.js +55 -0
- package/dist/component/jc.count-up.d.ts +15 -0
- package/dist/component/jc.count-up.d.ts.map +1 -0
- package/dist/component/jc.count-up.js +42 -0
- package/dist/component/jc.custom-component.interop.d.ts +58 -0
- package/dist/component/jc.custom-component.interop.d.ts.map +1 -0
- package/dist/component/jc.custom-component.interop.js +115 -0
- package/dist/component/jc.date-picker.d.ts +15 -0
- package/dist/component/jc.date-picker.d.ts.map +1 -0
- package/dist/component/jc.date-picker.js +31 -0
- package/dist/component/jc.divider.d.ts +7 -0
- package/dist/component/jc.divider.d.ts.map +1 -0
- package/dist/component/jc.divider.js +8 -0
- package/dist/component/jc.dropdown.d.ts +20 -0
- package/dist/component/jc.dropdown.d.ts.map +1 -0
- package/dist/component/jc.dropdown.item.d.ts +22 -0
- package/dist/component/jc.dropdown.item.d.ts.map +1 -0
- package/dist/component/jc.dropdown.item.js +85 -0
- package/dist/component/jc.dropdown.js +33 -0
- package/dist/component/jc.duration-picker.d.ts +18 -0
- package/dist/component/jc.duration-picker.d.ts.map +1 -0
- package/dist/component/jc.duration-picker.js +35 -0
- package/dist/component/jc.email-field.d.ts +11 -0
- package/dist/component/jc.email-field.d.ts.map +1 -0
- package/dist/component/jc.email-field.js +19 -0
- package/dist/component/jc.entity-field.d.ts +23 -0
- package/dist/component/jc.entity-field.d.ts.map +1 -0
- package/dist/component/jc.entity-field.js +71 -0
- package/dist/component/jc.entity.d.ts +15 -0
- package/dist/component/jc.entity.d.ts.map +1 -0
- package/dist/component/jc.entity.js +27 -0
- package/dist/component/jc.event.d.ts +22 -0
- package/dist/component/jc.event.d.ts.map +1 -0
- package/dist/component/jc.event.js +68 -0
- package/dist/component/jc.expander.d.ts +49 -0
- package/dist/component/jc.expander.d.ts.map +1 -0
- package/dist/component/jc.expander.header.d.ts +25 -0
- package/dist/component/jc.expander.header.d.ts.map +1 -0
- package/dist/component/jc.expander.header.js +39 -0
- package/dist/component/jc.expander.js +53 -0
- package/dist/component/jc.field-row.d.ts +34 -0
- package/dist/component/jc.field-row.d.ts.map +1 -0
- package/dist/component/jc.field-row.entity.d.ts +12 -0
- package/dist/component/jc.field-row.entity.d.ts.map +1 -0
- package/dist/component/jc.field-row.entity.js +35 -0
- package/dist/component/jc.field-row.js +37 -0
- package/dist/component/jc.form.d.ts +98 -0
- package/dist/component/jc.form.d.ts.map +1 -0
- package/dist/component/jc.form.js +127 -0
- package/dist/component/jc.gallery-item.d.ts +12 -0
- package/dist/component/jc.gallery-item.d.ts.map +1 -0
- package/dist/component/jc.gallery-item.js +24 -0
- package/dist/component/jc.grid-item.d.ts +15 -0
- package/dist/component/jc.grid-item.d.ts.map +1 -0
- package/dist/component/jc.grid-item.js +31 -0
- package/dist/component/jc.grid.d.ts +16 -0
- package/dist/component/jc.grid.d.ts.map +1 -0
- package/dist/component/jc.grid.js +64 -0
- package/dist/component/jc.guards.d.ts +17 -0
- package/dist/component/jc.guards.d.ts.map +1 -0
- package/dist/component/jc.guards.js +14 -0
- package/dist/component/jc.icon.d.ts +19 -0
- package/dist/component/jc.icon.d.ts.map +1 -0
- package/dist/component/jc.icon.js +41 -0
- package/dist/component/jc.image.abstract.d.ts +28 -0
- package/dist/component/jc.image.abstract.d.ts.map +1 -0
- package/dist/component/jc.image.abstract.js +52 -0
- package/dist/component/jc.image.d.ts +5 -0
- package/dist/component/jc.image.d.ts.map +1 -0
- package/dist/component/jc.image.js +2 -0
- package/dist/component/jc.image.on-carousel.d.ts +23 -0
- package/dist/component/jc.image.on-carousel.d.ts.map +1 -0
- package/dist/component/jc.image.on-carousel.js +19 -0
- package/dist/component/jc.image.on-default.d.ts +25 -0
- package/dist/component/jc.image.on-default.d.ts.map +1 -0
- package/dist/component/jc.image.on-default.js +22 -0
- package/dist/component/jc.interactive-image.d.ts +41 -0
- package/dist/component/jc.interactive-image.d.ts.map +1 -0
- package/dist/component/jc.interactive-image.item.d.ts +24 -0
- package/dist/component/jc.interactive-image.item.d.ts.map +1 -0
- package/dist/component/jc.interactive-image.item.js +78 -0
- package/dist/component/jc.interactive-image.js +78 -0
- package/dist/component/jc.jig-header.d.ts +19 -0
- package/dist/component/jc.jig-header.d.ts.map +1 -0
- package/dist/component/jc.jig-header.js +42 -0
- package/dist/component/jc.jig-widget.d.ts +15 -0
- package/dist/component/jc.jig-widget.d.ts.map +1 -0
- package/dist/component/jc.jig-widget.js +41 -0
- package/dist/component/jc.jig.d.ts +11 -0
- package/dist/component/jc.jig.d.ts.map +1 -0
- package/dist/component/jc.jig.js +24 -0
- package/dist/component/jc.line-chart.d.ts +28 -0
- package/dist/component/jc.line-chart.d.ts.map +1 -0
- package/dist/component/jc.line-chart.js +45 -0
- package/dist/component/jc.list-item.d.ts +106 -0
- package/dist/component/jc.list-item.d.ts.map +1 -0
- package/dist/component/jc.list-item.js +274 -0
- package/dist/component/jc.list-item.standalone.d.ts +13 -0
- package/dist/component/jc.list-item.standalone.d.ts.map +1 -0
- package/dist/component/jc.list-item.standalone.js +10 -0
- package/dist/component/jc.list.abstract.d.ts +36 -0
- package/dist/component/jc.list.abstract.d.ts.map +1 -0
- package/dist/component/jc.list.abstract.js +2 -0
- package/dist/component/jc.list.d.ts +39 -0
- package/dist/component/jc.list.d.ts.map +1 -0
- package/dist/component/jc.list.js +95 -0
- package/dist/component/jc.location.d.ts +41 -0
- package/dist/component/jc.location.d.ts.map +1 -0
- package/dist/component/jc.location.js +63 -0
- package/dist/component/jc.marker-item.d.ts +29 -0
- package/dist/component/jc.marker-item.d.ts.map +1 -0
- package/dist/component/jc.marker-item.js +48 -0
- package/dist/component/jc.media-field.d.ts +13 -0
- package/dist/component/jc.media-field.d.ts.map +1 -0
- package/dist/component/jc.media-field.js +37 -0
- package/dist/component/jc.menu-item.d.ts +89 -0
- package/dist/component/jc.menu-item.d.ts.map +1 -0
- package/dist/component/jc.menu-item.js +65 -0
- package/dist/component/jc.number-field.d.ts +21 -0
- package/dist/component/jc.number-field.d.ts.map +1 -0
- package/dist/component/jc.number-field.js +33 -0
- package/dist/component/jc.pie-chart.d.ts +26 -0
- package/dist/component/jc.pie-chart.d.ts.map +1 -0
- package/dist/component/jc.pie-chart.js +45 -0
- package/dist/component/jc.product-item.amount.d.ts +17 -0
- package/dist/component/jc.product-item.amount.d.ts.map +1 -0
- package/dist/component/jc.product-item.amount.js +31 -0
- package/dist/component/jc.product-item.d.ts +30 -0
- package/dist/component/jc.product-item.d.ts.map +1 -0
- package/dist/component/jc.product-item.js +68 -0
- package/dist/component/jc.progress-bar.d.ts +45 -0
- package/dist/component/jc.progress-bar.d.ts.map +1 -0
- package/dist/component/jc.progress-bar.js +58 -0
- package/dist/component/jc.rating.d.ts +17 -0
- package/dist/component/jc.rating.d.ts.map +1 -0
- package/dist/component/jc.rating.js +38 -0
- package/dist/component/jc.section.abstract.d.ts +87 -0
- package/dist/component/jc.section.abstract.d.ts.map +1 -0
- package/dist/component/jc.section.abstract.js +33 -0
- package/dist/component/jc.section.on-default.d.ts +85 -0
- package/dist/component/jc.section.on-default.d.ts.map +1 -0
- package/dist/component/jc.section.on-default.js +85 -0
- package/dist/component/jc.section.on-entity.d.ts +11 -0
- package/dist/component/jc.section.on-entity.d.ts.map +1 -0
- package/dist/component/jc.section.on-entity.js +11 -0
- package/dist/component/jc.segmented-control.d.ts +23 -0
- package/dist/component/jc.segmented-control.d.ts.map +1 -0
- package/dist/component/jc.segmented-control.js +66 -0
- package/dist/component/jc.signature-field.d.ts +11 -0
- package/dist/component/jc.signature-field.d.ts.map +1 -0
- package/dist/component/jc.signature-field.js +18 -0
- package/dist/component/jc.slider.d.ts +36 -0
- package/dist/component/jc.slider.d.ts.map +1 -0
- package/dist/component/jc.slider.js +53 -0
- package/dist/component/jc.stage.d.ts +23 -0
- package/dist/component/jc.stage.d.ts.map +1 -0
- package/dist/component/jc.stage.js +31 -0
- package/dist/component/jc.step.d.ts +30 -0
- package/dist/component/jc.step.d.ts.map +1 -0
- package/dist/component/jc.step.js +35 -0
- package/dist/component/jc.stepper.d.ts +34 -0
- package/dist/component/jc.stepper.d.ts.map +1 -0
- package/dist/component/jc.stepper.js +59 -0
- package/dist/component/jc.story-group.d.ts +18 -0
- package/dist/component/jc.story-group.d.ts.map +1 -0
- package/dist/component/jc.story-group.js +27 -0
- package/dist/component/jc.summary.abstract.d.ts +15 -0
- package/dist/component/jc.summary.abstract.d.ts.map +1 -0
- package/dist/component/jc.summary.abstract.js +29 -0
- package/dist/component/jc.summary.card.d.ts +14 -0
- package/dist/component/jc.summary.card.d.ts.map +1 -0
- package/dist/component/jc.summary.card.js +36 -0
- package/dist/component/jc.summary.counter.d.ts +12 -0
- package/dist/component/jc.summary.counter.d.ts.map +1 -0
- package/dist/component/jc.summary.counter.js +28 -0
- package/dist/component/jc.summary.default.d.ts +16 -0
- package/dist/component/jc.summary.default.d.ts.map +1 -0
- package/dist/component/jc.summary.default.js +34 -0
- package/dist/component/jc.summary.progress.d.ts +46 -0
- package/dist/component/jc.summary.progress.d.ts.map +1 -0
- package/dist/component/jc.summary.progress.js +35 -0
- package/dist/component/jc.tab-button.d.ts +18 -0
- package/dist/component/jc.tab-button.d.ts.map +1 -0
- package/dist/component/jc.tab-button.js +43 -0
- package/dist/component/jc.text-field.d.ts +20 -0
- package/dist/component/jc.text-field.d.ts.map +1 -0
- package/dist/component/jc.text-field.js +49 -0
- package/dist/component/jc.text.d.ts +24 -0
- package/dist/component/jc.text.d.ts.map +1 -0
- package/dist/component/jc.text.js +44 -0
- package/dist/component/jc.titles.d.ts +19 -0
- package/dist/component/jc.titles.d.ts.map +1 -0
- package/dist/component/jc.titles.js +34 -0
- package/dist/component/jc.trend.d.ts +18 -0
- package/dist/component/jc.trend.d.ts.map +1 -0
- package/dist/component/jc.trend.js +31 -0
- package/dist/component/jc.types.d.ts +75 -0
- package/dist/component/jc.types.d.ts.map +1 -0
- package/dist/component/jc.types.js +74 -0
- package/dist/component/jc.video-player.abstract.d.ts +28 -0
- package/dist/component/jc.video-player.abstract.d.ts.map +1 -0
- package/dist/component/jc.video-player.abstract.js +38 -0
- package/dist/component/jc.video-player.d.ts +4 -0
- package/dist/component/jc.video-player.d.ts.map +1 -0
- package/dist/component/jc.video-player.js +2 -0
- package/dist/component/jc.video-player.on-jig.d.ts +25 -0
- package/dist/component/jc.video-player.on-jig.d.ts.map +1 -0
- package/dist/component/jc.video-player.on-jig.js +31 -0
- package/dist/component/jc.view.d.ts +158 -0
- package/dist/component/jc.view.d.ts.map +1 -0
- package/dist/component/jc.view.js +85 -0
- package/dist/component/jc.web-view.abstract.d.ts +15 -0
- package/dist/component/jc.web-view.abstract.d.ts.map +1 -0
- package/dist/component/jc.web-view.abstract.js +33 -0
- package/dist/component/jc.web-view.on-default.d.ts +5 -0
- package/dist/component/jc.web-view.on-default.d.ts.map +1 -0
- package/dist/component/jc.web-view.on-default.js +4 -0
- package/dist/component/jc.web-view.on-full.d.ts +10 -0
- package/dist/component/jc.web-view.on-full.d.ts.map +1 -0
- package/dist/component/jc.web-view.on-full.js +14 -0
- package/dist/database/database.abstract.d.ts +39 -0
- package/dist/database/database.abstract.d.ts.map +1 -0
- package/dist/database/database.abstract.js +42 -0
- package/dist/database/index.d.ts +2 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +2 -0
- package/dist/datasource/datasource.abstract.d.ts +39 -0
- package/dist/datasource/datasource.abstract.d.ts.map +1 -0
- package/dist/datasource/datasource.abstract.js +47 -0
- package/dist/datasource/datasource.descriptor.d.ts +11 -0
- package/dist/datasource/datasource.descriptor.d.ts.map +1 -0
- package/dist/datasource/datasource.descriptor.js +2 -0
- package/dist/datasource/datasource.reference.d.ts +33 -0
- package/dist/datasource/datasource.reference.d.ts.map +1 -0
- package/dist/datasource/datasource.reference.js +66 -0
- package/dist/datasource/datasource.sdk.d.ts +7 -0
- package/dist/datasource/datasource.sdk.d.ts.map +1 -0
- package/dist/datasource/datasource.sdk.js +5 -0
- package/dist/datasource/datasource.sqlite.d.ts +88 -0
- package/dist/datasource/datasource.sqlite.d.ts.map +1 -0
- package/dist/datasource/datasource.sqlite.js +286 -0
- package/dist/datasource/datasource.static.d.ts +21 -0
- package/dist/datasource/datasource.static.d.ts.map +1 -0
- package/dist/datasource/datasource.static.js +30 -0
- package/dist/datasource/datasource.system.d.ts +18 -0
- package/dist/datasource/datasource.system.d.ts.map +1 -0
- package/dist/datasource/datasource.system.js +10 -0
- package/dist/datasource/entity.descriptor.d.ts +9 -0
- package/dist/datasource/entity.descriptor.d.ts.map +1 -0
- package/dist/datasource/entity.descriptor.js +2 -0
- package/dist/datasource/index.d.ts +11 -0
- package/dist/datasource/index.d.ts.map +1 -0
- package/dist/datasource/index.js +9 -0
- package/dist/datasource/sqlite-normalizer.d.ts +3 -0
- package/dist/datasource/sqlite-normalizer.d.ts.map +1 -0
- package/dist/datasource/sqlite-normalizer.js +194 -0
- package/dist/datasource/sqlite-validator.d.ts +28 -0
- package/dist/datasource/sqlite-validator.d.ts.map +1 -0
- package/dist/datasource/sqlite-validator.js +218 -0
- package/dist/function/function.abstract.d.ts +538 -0
- package/dist/function/function.abstract.d.ts.map +1 -0
- package/dist/function/function.abstract.js +271 -0
- package/dist/function/function.guard.d.ts +17 -0
- package/dist/function/function.guard.d.ts.map +1 -0
- package/dist/function/function.guard.js +62 -0
- package/dist/function/function.operation.d.ts +26 -0
- package/dist/function/function.operation.d.ts.map +1 -0
- package/dist/function/function.operation.js +118 -0
- package/dist/function/function.rest.continuation.d.ts +12 -0
- package/dist/function/function.rest.continuation.d.ts.map +1 -0
- package/dist/function/function.rest.continuation.js +24 -0
- package/dist/function/function.rest.d.ts +31 -0
- package/dist/function/function.rest.d.ts.map +1 -0
- package/dist/function/function.rest.error-builder.d.ts +38 -0
- package/dist/function/function.rest.error-builder.d.ts.map +1 -0
- package/dist/function/function.rest.error-builder.js +161 -0
- package/dist/function/function.rest.js +72 -0
- package/dist/function/function.rest.parameter-builder.d.ts +33 -0
- package/dist/function/function.rest.parameter-builder.d.ts.map +1 -0
- package/dist/function/function.rest.parameter-builder.js +81 -0
- package/dist/function/function.rest.types.d.ts +28 -0
- package/dist/function/function.rest.types.d.ts.map +1 -0
- package/dist/function/function.rest.types.js +2 -0
- package/dist/function/function.sdk.d.ts +10 -0
- package/dist/function/function.sdk.d.ts.map +1 -0
- package/dist/function/function.sdk.js +12 -0
- package/dist/function/function.soap.d.ts +19 -0
- package/dist/function/function.soap.d.ts.map +1 -0
- package/dist/function/function.soap.js +36 -0
- package/dist/function/function.soap.parameter-builder.d.ts +25 -0
- package/dist/function/function.soap.parameter-builder.d.ts.map +1 -0
- package/dist/function/function.soap.parameter-builder.js +41 -0
- package/dist/function/function.soap.types.d.ts +17 -0
- package/dist/function/function.soap.types.d.ts.map +1 -0
- package/dist/function/function.soap.types.js +2 -0
- package/dist/function/function.sql.d.ts +20 -0
- package/dist/function/function.sql.d.ts.map +1 -0
- package/dist/function/function.sql.js +53 -0
- package/dist/function/function.sql.parameter-builder.d.ts +24 -0
- package/dist/function/function.sql.parameter-builder.d.ts.map +1 -0
- package/dist/function/function.sql.parameter-builder.js +44 -0
- package/dist/function/function.sql.types.d.ts +20 -0
- package/dist/function/function.sql.types.d.ts.map +1 -0
- package/dist/function/function.sql.types.js +2 -0
- package/dist/function/function.types.d.ts +7 -0
- package/dist/function/function.types.d.ts.map +1 -0
- package/dist/function/function.types.js +2 -0
- package/dist/function/index.d.ts +17 -0
- package/dist/function/index.d.ts.map +1 -0
- package/dist/function/index.js +13 -0
- package/dist/icon/index.d.ts +3 -0
- package/dist/icon/index.d.ts.map +1 -0
- package/dist/icon/index.js +3 -0
- package/dist/icon/sdk.icon.d.ts +10 -0
- package/dist/icon/sdk.icon.d.ts.map +1 -0
- package/dist/icon/sdk.icon.data.d.ts +7 -0
- package/dist/icon/sdk.icon.data.d.ts.map +1 -0
- package/dist/icon/sdk.icon.data.js +19283 -0
- package/dist/icon/sdk.icon.js +27 -0
- package/dist/icon/sdk.icon.loader.d.ts +7 -0
- package/dist/icon/sdk.icon.loader.d.ts.map +1 -0
- package/dist/icon/sdk.icon.loader.js +15 -0
- package/dist/icon/sdk.icon.name.d.ts +7 -0
- package/dist/icon/sdk.icon.name.d.ts.map +1 -0
- package/dist/icon/sdk.icon.name.js +19305 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/jsonata/ast.d.ts +15 -0
- package/dist/jsonata/ast.d.ts.map +1 -0
- package/dist/jsonata/ast.js +118 -0
- package/dist/jsonata/base.d.ts +7 -0
- package/dist/jsonata/base.d.ts.map +1 -0
- package/dist/jsonata/base.js +43 -0
- package/dist/jsonata/builder.d.ts +28 -0
- package/dist/jsonata/builder.d.ts.map +1 -0
- package/dist/jsonata/builder.js +140 -0
- package/dist/jsonata/context.d.ts +10 -0
- package/dist/jsonata/context.d.ts.map +1 -0
- package/dist/jsonata/context.js +349 -0
- package/dist/jsonata/expression.d.ts +35 -0
- package/dist/jsonata/expression.d.ts.map +1 -0
- package/dist/jsonata/expression.js +498 -0
- package/dist/jsonata/index.d.ts +6 -0
- package/dist/jsonata/index.d.ts.map +1 -0
- package/dist/jsonata/index.js +6 -0
- package/dist/logger/index.d.ts +2 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +2 -0
- package/dist/logger/logger.d.ts +14 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +40 -0
- package/dist/runtime/auth.d.ts +19 -0
- package/dist/runtime/auth.d.ts.map +1 -0
- package/dist/runtime/auth.js +11 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +3 -0
- package/dist/runtime/system.d.ts +27 -0
- package/dist/runtime/system.d.ts.map +1 -0
- package/dist/runtime/system.js +26 -0
- package/dist/screen/common/index.d.ts +9 -0
- package/dist/screen/common/index.d.ts.map +1 -0
- package/dist/screen/common/index.js +7 -0
- package/dist/screen/common/screen.badge.d.ts +8 -0
- package/dist/screen/common/screen.badge.d.ts.map +1 -0
- package/dist/screen/common/screen.badge.js +2 -0
- package/dist/screen/common/screen.bottom-sheet.d.ts +62 -0
- package/dist/screen/common/screen.bottom-sheet.d.ts.map +1 -0
- package/dist/screen/common/screen.bottom-sheet.js +31 -0
- package/dist/screen/common/screen.callback-actions.d.ts +7 -0
- package/dist/screen/common/screen.callback-actions.d.ts.map +1 -0
- package/dist/screen/common/screen.callback-actions.js +19 -0
- package/dist/screen/common/screen.input-definition.d.ts +108 -0
- package/dist/screen/common/screen.input-definition.d.ts.map +1 -0
- package/dist/screen/common/screen.input-definition.js +109 -0
- package/dist/screen/common/screen.placeholder.d.ts +20 -0
- package/dist/screen/common/screen.placeholder.d.ts.map +1 -0
- package/dist/screen/common/screen.placeholder.js +54 -0
- package/dist/screen/common/screen.preview.actions.d.ts +47 -0
- package/dist/screen/common/screen.preview.actions.d.ts.map +1 -0
- package/dist/screen/common/screen.preview.actions.js +122 -0
- package/dist/screen/common/screen.preview.d.ts +40 -0
- package/dist/screen/common/screen.preview.d.ts.map +1 -0
- package/dist/screen/common/screen.preview.js +87 -0
- package/dist/screen/common/screen.state.d.ts +7 -0
- package/dist/screen/common/screen.state.d.ts.map +1 -0
- package/dist/screen/common/screen.state.js +2 -0
- package/dist/screen/common/screen.summary.d.ts +14 -0
- package/dist/screen/common/screen.summary.d.ts.map +1 -0
- package/dist/screen/common/screen.summary.js +22 -0
- package/dist/screen/index.d.ts +16 -0
- package/dist/screen/index.d.ts.map +1 -0
- package/dist/screen/index.js +16 -0
- package/dist/screen/screen.abstract.d.ts +105 -0
- package/dist/screen/screen.abstract.d.ts.map +1 -0
- package/dist/screen/screen.abstract.js +175 -0
- package/dist/screen/screen.calendar.d.ts +22 -0
- package/dist/screen/screen.calendar.d.ts.map +1 -0
- package/dist/screen/screen.calendar.js +32 -0
- package/dist/screen/screen.default.d.ts +65 -0
- package/dist/screen/screen.default.d.ts.map +1 -0
- package/dist/screen/screen.default.js +68 -0
- package/dist/screen/screen.document.d.ts +58 -0
- package/dist/screen/screen.document.d.ts.map +1 -0
- package/dist/screen/screen.document.js +72 -0
- package/dist/screen/screen.full-screen.d.ts +23 -0
- package/dist/screen/screen.full-screen.d.ts.map +1 -0
- package/dist/screen/screen.full-screen.js +18 -0
- package/dist/screen/screen.gallery.d.ts +15 -0
- package/dist/screen/screen.gallery.d.ts.map +1 -0
- package/dist/screen/screen.gallery.js +14 -0
- package/dist/screen/screen.grid.base.d.ts +18 -0
- package/dist/screen/screen.grid.base.d.ts.map +1 -0
- package/dist/screen/screen.grid.base.js +17 -0
- package/dist/screen/screen.grid.dynamic.d.ts +18 -0
- package/dist/screen/screen.grid.dynamic.d.ts.map +1 -0
- package/dist/screen/screen.grid.dynamic.js +26 -0
- package/dist/screen/screen.grid.static.d.ts +14 -0
- package/dist/screen/screen.grid.static.d.ts.map +1 -0
- package/dist/screen/screen.grid.static.js +12 -0
- package/dist/screen/screen.guards.d.ts +41 -0
- package/dist/screen/screen.guards.d.ts.map +1 -0
- package/dist/screen/screen.guards.js +35 -0
- package/dist/screen/screen.list.d.ts +79 -0
- package/dist/screen/screen.list.d.ts.map +1 -0
- package/dist/screen/screen.list.js +123 -0
- package/dist/screen/screen.sdk.d.ts +13 -0
- package/dist/screen/screen.sdk.d.ts.map +1 -0
- package/dist/screen/screen.sdk.js +9 -0
- package/dist/screen/screen.tabs.d.ts +27 -0
- package/dist/screen/screen.tabs.d.ts.map +1 -0
- package/dist/screen/screen.tabs.instance.d.ts +34 -0
- package/dist/screen/screen.tabs.instance.d.ts.map +1 -0
- package/dist/screen/screen.tabs.instance.js +79 -0
- package/dist/screen/screen.tabs.js +35 -0
- package/dist/screen/screen.wizard.d.ts +12 -0
- package/dist/screen/screen.wizard.d.ts.map +1 -0
- package/dist/screen/screen.wizard.instance.d.ts +20 -0
- package/dist/screen/screen.wizard.instance.d.ts.map +1 -0
- package/dist/screen/screen.wizard.instance.js +40 -0
- package/dist/screen/screen.wizard.js +23 -0
- package/dist/utils/check.d.ts +3 -0
- package/dist/utils/check.d.ts.map +1 -0
- package/dist/utils/check.js +7 -0
- package/dist/utils/convert.d.ts +2 -0
- package/dist/utils/convert.d.ts.map +1 -0
- package/dist/utils/convert.js +8 -0
- package/dist/utils/dedent.d.ts +2 -0
- package/dist/utils/dedent.d.ts.map +1 -0
- package/dist/utils/dedent.js +28 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/types.d.ts +2 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +2 -0
- package/dist/utils/utils.d.ts +9 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +49 -0
- package/dist/widget/index.d.ts +12 -0
- package/dist/widget/index.d.ts.map +1 -0
- package/dist/widget/index.js +12 -0
- package/dist/widget/jw.abstract.d.ts +27 -0
- package/dist/widget/jw.abstract.d.ts.map +1 -0
- package/dist/widget/jw.abstract.js +36 -0
- package/dist/widget/jw.actions.d.ts +17 -0
- package/dist/widget/jw.actions.d.ts.map +1 -0
- package/dist/widget/jw.actions.js +30 -0
- package/dist/widget/jw.avatar.d.ts +19 -0
- package/dist/widget/jw.avatar.d.ts.map +1 -0
- package/dist/widget/jw.avatar.js +23 -0
- package/dist/widget/jw.chart.d.ts +18 -0
- package/dist/widget/jw.chart.d.ts.map +1 -0
- package/dist/widget/jw.chart.js +23 -0
- package/dist/widget/jw.group.d.ts +28 -0
- package/dist/widget/jw.group.d.ts.map +1 -0
- package/dist/widget/jw.group.js +35 -0
- package/dist/widget/jw.image.d.ts +27 -0
- package/dist/widget/jw.image.d.ts.map +1 -0
- package/dist/widget/jw.image.js +54 -0
- package/dist/widget/jw.list.d.ts +44 -0
- package/dist/widget/jw.list.d.ts.map +1 -0
- package/dist/widget/jw.list.js +44 -0
- package/dist/widget/jw.location.d.ts +41 -0
- package/dist/widget/jw.location.d.ts.map +1 -0
- package/dist/widget/jw.location.js +54 -0
- package/dist/widget/jw.sdk.d.ts +2 -0
- package/dist/widget/jw.sdk.d.ts.map +1 -0
- package/dist/widget/jw.sdk.js +2 -0
- package/dist/widget/jw.status.condition.d.ts +20 -0
- package/dist/widget/jw.status.condition.d.ts.map +1 -0
- package/dist/widget/jw.status.condition.js +27 -0
- package/dist/widget/jw.status.d.ts +8 -0
- package/dist/widget/jw.status.d.ts.map +1 -0
- package/dist/widget/jw.status.js +11 -0
- package/dist/widget/jw.value.d.ts +24 -0
- package/dist/widget/jw.value.d.ts.map +1 -0
- package/dist/widget/jw.value.js +51 -0
- package/package.json +94 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TextValueBuilder, toBooleanOrExpression, } from '../abstract/index.js';
|
|
2
|
+
import { createActionInBackgroundBuildersFactory } from '../action/ja.in-background.factory.js';
|
|
3
|
+
import { ComponentBaseBuilder } from './jc.abstract.js';
|
|
4
|
+
import { COMPONENT_TYPE } from './jc.types.js';
|
|
5
|
+
export class JcChatMessageBuilder extends ComponentBaseBuilder {
|
|
6
|
+
onPress = createActionInBackgroundBuildersFactory((action) => {
|
|
7
|
+
this._setToConfig('onPress', action);
|
|
8
|
+
});
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
super(COMPONENT_TYPE.CHAT_MESSAGE, options);
|
|
11
|
+
this.with(options);
|
|
12
|
+
}
|
|
13
|
+
with(options) {
|
|
14
|
+
super.with(options);
|
|
15
|
+
this._config.message = TextValueBuilder.from(options?.message ?? '');
|
|
16
|
+
this._config.sender = { name: TextValueBuilder.from(options?.sender?.name ?? '') };
|
|
17
|
+
this._config.isAuthor = toBooleanOrExpression(options?.sender?.isAuthor ?? false);
|
|
18
|
+
if (options?.sentAt !== undefined) {
|
|
19
|
+
this._config.sentAt = TextValueBuilder.from(options.sentAt);
|
|
20
|
+
}
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
_validate() {
|
|
24
|
+
if (!this._config.sender) {
|
|
25
|
+
throw new Error('Sender information is required');
|
|
26
|
+
}
|
|
27
|
+
if (!this._config.message) {
|
|
28
|
+
throw new Error('Message content is required');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hhdC1tZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudC9qYy5jaGF0LW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUMvRixPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQWlCOUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG9CQUF3QztJQUV2RSxPQUFPLEdBQUcsdUNBQXVDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQUEsQ0FDckMsQ0FBQyxDQUFBO0lBRUYsWUFBWSxPQUFPLEdBQXVCLEVBQUUsRUFBRTtRQUM1QyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQUEsQ0FDbkI7SUFFUSxJQUFJLENBQUMsT0FBeUQsRUFBUTtRQUM3RSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBR25CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFBO1FBQ2xGLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQyxDQUFBO1FBRWpGLElBQUksT0FBTyxFQUFFLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzdELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFFUSxTQUFTLEdBQVM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7UUFDaEQsQ0FBQztJQUFBLENBQ0Y7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRXhwcmVzc2lvbixcbiAgdHlwZSBUZXh0VmFsdWUsXG4gIFRleHRWYWx1ZUJ1aWxkZXIsXG4gIHRvQm9vbGVhbk9yRXhwcmVzc2lvbixcbn0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyBjcmVhdGVBY3Rpb25JbkJhY2tncm91bmRCdWlsZGVyc0ZhY3RvcnkgfSBmcm9tICcuLi9hY3Rpb24vamEuaW4tYmFja2dyb3VuZC5mYWN0b3J5LmpzJ1xuaW1wb3J0IHsgdHlwZSBKY0Jhc2VJbnB1dCwgQ29tcG9uZW50QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2pjLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX1RZUEUgfSBmcm9tICcuL2pjLnR5cGVzLmpzJ1xuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGNoYXQgbWVzc2FnZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSmNDaGF0TWVzc2FnZUlucHV0IGV4dGVuZHMgSmNCYXNlSW5wdXQge1xuICByZWFkb25seSBtZXNzYWdlPzogc3RyaW5nIHwgVGV4dFZhbHVlXG4gIHJlYWRvbmx5IHNlbnRBdD86IHN0cmluZyB8IFRleHRWYWx1ZVxuICByZWFkb25seSBzZW5kZXI/OiB7XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nIHwgVGV4dFZhbHVlXG4gICAgcmVhZG9ubHkgaXNBdXRob3I/OiBib29sZWFuIHwgRXhwcmVzc2lvblxuICB9XG59XG5cbi8qKlxuICogQnVpbGRzIGNoYXQgbWVzc2FnZXMgd2l0aCBjb250ZW50LCBzZW5kZXIgaW5mbywgdGltZXN0YW1wcywgYXV0aG9yIHN0eWxpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBKY0NoYXRNZXNzYWdlQnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjQ2hhdE1lc3NhZ2VJbnB1dD4ge1xuICAvKiogQ29uZmlndXJlcyBtZXNzYWdlIHRhcCBpbnRlcmFjdGlvbnMuICovXG4gIHJlYWRvbmx5IG9uUHJlc3MgPSBjcmVhdGVBY3Rpb25JbkJhY2tncm91bmRCdWlsZGVyc0ZhY3RvcnkoKGFjdGlvbikgPT4ge1xuICAgIHRoaXMuX3NldFRvQ29uZmlnKCdvblByZXNzJywgYWN0aW9uKVxuICB9KVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEpjQ2hhdE1lc3NhZ2VJbnB1dCA9IHt9KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ0hBVF9NRVNTQUdFLCBvcHRpb25zKVxuICAgIHRoaXMud2l0aChvcHRpb25zKVxuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zPzogUGFydGlhbDxPbWl0PEpjQ2hhdE1lc3NhZ2VJbnB1dCwgJ2luc3RhbmNlSWQnPj4pOiB0aGlzIHtcbiAgICBzdXBlci53aXRoKG9wdGlvbnMpXG5cbiAgICAvLyBTZXQgZGVmYXVsdHMgdGhlbiBhcHBseSBvcHRpb25zXG4gICAgdGhpcy5fY29uZmlnLm1lc3NhZ2UgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20ob3B0aW9ucz8ubWVzc2FnZSA/PyAnJylcbiAgICB0aGlzLl9jb25maWcuc2VuZGVyID0geyBuYW1lOiBUZXh0VmFsdWVCdWlsZGVyLmZyb20ob3B0aW9ucz8uc2VuZGVyPy5uYW1lID8/ICcnKSB9XG4gICAgdGhpcy5fY29uZmlnLmlzQXV0aG9yID0gdG9Cb29sZWFuT3JFeHByZXNzaW9uKG9wdGlvbnM/LnNlbmRlcj8uaXNBdXRob3IgPz8gZmFsc2UpXG5cbiAgICBpZiAob3B0aW9ucz8uc2VudEF0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5zZW50QXQgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20ob3B0aW9ucy5zZW50QXQpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIG92ZXJyaWRlIF92YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5zZW5kZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2VuZGVyIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkJylcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9jb25maWcubWVzc2FnZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXNzYWdlIGNvbnRlbnQgaXMgcmVxdWlyZWQnKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type DatasourceId, type Expression } from '../abstract/index.js';
|
|
2
|
+
import { type DatasourceBase } from '../datasource/index.js';
|
|
3
|
+
import { type FactoryMethodsFor } from './jc.abstract.factory.js';
|
|
4
|
+
import { ComponentBaseBuilder, type JcBase, type JcBaseInput } from './jc.abstract.js';
|
|
5
|
+
declare const ALLOWED_TYPES: readonly ["component.chat-message"];
|
|
6
|
+
export interface JcChatInput extends JcBaseInput {
|
|
7
|
+
readonly data?: DatasourceId | DatasourceBase | Expression;
|
|
8
|
+
}
|
|
9
|
+
export declare class JcChatBuilder extends ComponentBaseBuilder<JcChatInput> {
|
|
10
|
+
private _item?;
|
|
11
|
+
readonly addControl: FactoryMethodsFor<typeof ALLOWED_TYPES>;
|
|
12
|
+
readonly onSend: import("../action/ja.in-background.factory.js").ActionInBackgroundBuilders;
|
|
13
|
+
readonly state: {
|
|
14
|
+
readonly message: string;
|
|
15
|
+
};
|
|
16
|
+
constructor(options?: JcChatInput);
|
|
17
|
+
data(data: DatasourceId | DatasourceBase | Expression): this;
|
|
18
|
+
with(options?: Partial<Omit<JcChatInput, 'instanceId'>>): this;
|
|
19
|
+
_validate(): void;
|
|
20
|
+
build(): JcBase;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hhdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudC9qYy5jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLFVBQVUsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUd2RixPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQW9CLE1BQU0sd0JBQXdCLENBQUE7QUFDOUUsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQW9CLE1BQU0sMEJBQTBCLENBQUE7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFJdEYsUUFBQSxNQUFNLGFBQWEscUNBSVQsQ0FBQTtBQUtWLE1BQU0sV0FBVyxXQUFZLFNBQVEsV0FBVztJQUM5QyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLGNBQWMsR0FBRyxVQUFVLENBQUE7Q0FDM0Q7QUFLRCxxQkFBYSxhQUFjLFNBQVEsb0JBQW9CLENBQUMsV0FBVyxDQUFDO0lBQ2xFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBcUI7SUFHbkMsUUFBUSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxDQUFBO0lBRzVELFFBQVEsQ0FBQyxNQUFNLDZFQUViO0lBRUYsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQTtJQUU1QyxZQUFZLE9BQU8sR0FBRSxXQUFnQixFQWNwQztJQUdELElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxHQUFHLGNBQWMsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQVMzRDtJQUVRLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FRdEU7SUFFUSxTQUFTLElBQUksSUFBSSxDQVV6QjtJQUVRLEtBQUssSUFBSSxNQUFNLENBU3ZCO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFzb3VyY2VJZCwgdHlwZSBFeHByZXNzaW9uLCB0b0V4cHJlc3Npb24gfSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbkluQmFja2dyb3VuZEJ1aWxkZXJzRmFjdG9yeSB9IGZyb20gJy4uL2FjdGlvbi9qYS5pbi1iYWNrZ3JvdW5kLmZhY3RvcnkuanMnXG5pbXBvcnQgeyBDVFggfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgRGF0YXNvdXJjZUJhc2UsIGlzRGF0YXNvdXJjZUJhc2UgfSBmcm9tICcuLi9kYXRhc291cmNlL2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBGYWN0b3J5TWV0aG9kc0ZvciwgSmNCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vamMuYWJzdHJhY3QuZmFjdG9yeS5qcydcbmltcG9ydCB7IENvbXBvbmVudEJhc2VCdWlsZGVyLCB0eXBlIEpjQmFzZSwgdHlwZSBKY0Jhc2VJbnB1dCB9IGZyb20gJy4vamMuYWJzdHJhY3QuanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8vIFJ1bnRpbWUgdmFsaWRhdGlvbjogYWxsb3dlZCBjb21wb25lbnQgdHlwZXMgZm9yIGNoYXRcbmNvbnN0IEFMTE9XRURfVFlQRVMgPSBbXG4gIENPTVBPTkVOVF9UWVBFLkNIQVRfTUVTU0FHRSxcbiAgLy8gVE9ETzogZW5hYmxlIGN1c3RvbSBjb21wb25lbnRzIElGRiByZXF1aXJlZFxuICAvLyBDT01QT05FTlRfVFlQRS5DVVNUT01fQ09NUE9ORU5ULFxuXSBhcyBjb25zdFxuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGNoYXQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjQ2hhdElucHV0IGV4dGVuZHMgSmNCYXNlSW5wdXQge1xuICByZWFkb25seSBkYXRhPzogRGF0YXNvdXJjZUlkIHwgRGF0YXNvdXJjZUJhc2UgfCBFeHByZXNzaW9uXG59XG5cbi8qKlxuICogQnVpbGQgY2hhdCBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgSmNDaGF0QnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjQ2hhdElucHV0PiB7XG4gIHByaXZhdGUgX2l0ZW0/OiB7IGJ1aWxkKCk6IEpjQmFzZSB9XG5cbiAgLyoqIENvbXBvbmVudCBmYWN0b3J5IGZvciBpbmxpbmUgY3VzdG9tIGNvbXBvbmVudCBjaGlsZHJlbi4gKi9cbiAgcmVhZG9ubHkgYWRkQ29udHJvbDogRmFjdG9yeU1ldGhvZHNGb3I8dHlwZW9mIEFMTE9XRURfVFlQRVM+XG5cbiAgLyoqIENvbmZpZ3VyZXMgc2VuZCBidXR0b24gaW50ZXJhY3Rpb25zLiAqL1xuICByZWFkb25seSBvblNlbmQgPSBjcmVhdGVBY3Rpb25JbkJhY2tncm91bmRCdWlsZGVyc0ZhY3RvcnkoKGFjdGlvbikgPT4ge1xuICAgIHRoaXMuX3NldFRvQ29uZmlnKCdvblNlbmQnLCBhY3Rpb24pXG4gIH0pXG5cbiAgcmVhZG9ubHkgc3RhdGU6IHsgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nIH1cblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKY0NoYXRJbnB1dCA9IHt9KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ0hBVCwgb3B0aW9ucylcblxuICAgIHRoaXMuYWRkQ29udHJvbCA9IG5ldyBKY0J1aWxkZXJGYWN0b3J5KEFMTE9XRURfVFlQRVMsIChjb21wb25lbnQpID0+IHtcbiAgICAgIHRoaXMuX2l0ZW0gPSBjb21wb25lbnRcbiAgICB9KVxuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIG1lc3NhZ2U6IGBAY3R4LmNvbXBvbmVudHMuJHt0aGlzLmluc3RhbmNlSWR9LnN0YXRlLm1lc3NhZ2VgLFxuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kYXRhKG9wdGlvbnMuZGF0YSlcbiAgICB9XG4gIH1cblxuICAvKiogU2V0cyBkYXRhIGV4cHJlc3Npb24gZm9yIGNoYXQgbWVzc2FnZXMuICovXG4gIGRhdGEoZGF0YTogRGF0YXNvdXJjZUlkIHwgRGF0YXNvdXJjZUJhc2UgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgaWYgKGlzRGF0YXNvdXJjZUJhc2UoZGF0YSkpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gQ1RYLmRhdGFzb3VyY2VzLmV4cHIoZGF0YS5kYXRhc291cmNlSWQpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycgJiYgZGF0YS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gdG9FeHByZXNzaW9uKGRhdGEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gQ1RYLmRhdGFzb3VyY2VzLmV4cHIoZGF0YSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9ucz86IFBhcnRpYWw8T21pdDxKY0NoYXRJbnB1dCwgJ2luc3RhbmNlSWQnPj4pOiB0aGlzIHtcbiAgICBzdXBlci53aXRoKG9wdGlvbnMpXG5cbiAgICBpZiAob3B0aW9ucz8uZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRhdGEob3B0aW9ucy5kYXRhKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBvdmVycmlkZSBfdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pdGVtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NoYXQgaXRlbSB0ZW1wbGF0ZSBpcyByZXF1aXJlZCcpXG4gICAgfVxuICAgIGlmICghdGhpcy5fY29uZmlnLm9uU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaGF0IG9uU2VuZCBhY3Rpb24gaXMgcmVxdWlyZWQnKVxuICAgIH1cbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5kYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NoYXQgZGF0YSBleHByZXNzaW9uIGlzIHJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBidWlsZCgpOiBKY0Jhc2Uge1xuICAgIHRoaXMuX3ZhbGlkYXRlKClcblxuICAgIC8vIEJ1aWxkIHRoZSBpdGVtIHRlbXBsYXRlXG4gICAgaWYgKHRoaXMuX2l0ZW0pIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5pdGVtID0gdGhpcy5faXRlbS5idWlsZCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLmJ1aWxkKClcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jc.chat.d.ts","sourceRoot":"","sources":["../../src/component/jc.chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAgB,MAAM,sBAAsB,CAAA;AAGvF,OAAO,EAAE,KAAK,cAAc,EAAoB,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,KAAK,iBAAiB,EAAoB,MAAM,0BAA0B,CAAA;AACnF,OAAO,EAAE,oBAAoB,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAItF,QAAA,MAAM,aAAa,qCAIT,CAAA;AAKV,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,cAAc,GAAG,UAAU,CAAA;CAC3D;AAKD,qBAAa,aAAc,SAAQ,oBAAoB,CAAC,WAAW,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC,CAAqB;IAGnC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,aAAa,CAAC,CAAA;IAG5D,QAAQ,CAAC,MAAM,6EAEb;IAEF,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAE5C,YAAY,OAAO,GAAE,WAAgB,EAcpC;IAGD,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,UAAU,GAAG,IAAI,CAS3D;IAEQ,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAQtE;IAEQ,SAAS,IAAI,IAAI,CAUzB;IAEQ,KAAK,IAAI,MAAM,CASvB;CACF","sourcesContent":["import { type DatasourceId, type Expression, toExpression } from '../abstract/index.js'\nimport { createActionInBackgroundBuildersFactory } from '../action/ja.in-background.factory.js'\nimport { CTX } from '../application/index.js'\nimport { type DatasourceBase, isDatasourceBase } from '../datasource/index.js'\nimport { type FactoryMethodsFor, JcBuilderFactory } from './jc.abstract.factory.js'\nimport { ComponentBaseBuilder, type JcBase, type JcBaseInput } from './jc.abstract.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n// Runtime validation: allowed component types for chat\nconst ALLOWED_TYPES = [\n COMPONENT_TYPE.CHAT_MESSAGE,\n // TODO: enable custom components IFF required\n // COMPONENT_TYPE.CUSTOM_COMPONENT,\n] as const\n\n/**\n * Input options for chat component.\n */\nexport interface JcChatInput extends JcBaseInput {\n readonly data?: DatasourceId | DatasourceBase | Expression\n}\n\n/**\n * Build chat components.\n */\nexport class JcChatBuilder extends ComponentBaseBuilder<JcChatInput> {\n private _item?: { build(): JcBase }\n\n /** Component factory for inline custom component children. */\n readonly addControl: FactoryMethodsFor<typeof ALLOWED_TYPES>\n\n /** Configures send button interactions. */\n readonly onSend = createActionInBackgroundBuildersFactory((action) => {\n this._setToConfig('onSend', action)\n })\n\n readonly state: { readonly message: string }\n\n constructor(options: JcChatInput = {}) {\n super(COMPONENT_TYPE.CHAT, options)\n\n this.addControl = new JcBuilderFactory(ALLOWED_TYPES, (component) => {\n this._item = component\n })\n\n this.state = {\n message: `@ctx.components.${this.instanceId}.state.message`,\n }\n\n if (options.data !== undefined) {\n this.data(options.data)\n }\n }\n\n /** Sets data expression for chat messages. */\n data(data: DatasourceId | DatasourceBase | Expression): this {\n if (isDatasourceBase(data)) {\n this._config.data = CTX.datasources.expr(data.datasourceId)\n } else if (typeof data === 'string' && data.startsWith('=')) {\n this._config.data = toExpression(data)\n } else {\n this._config.data = CTX.datasources.expr(data)\n }\n return this\n }\n\n override with(options?: Partial<Omit<JcChatInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options?.data !== undefined) {\n this.data(options.data)\n }\n\n return this\n }\n\n override _validate(): void {\n if (!this._item) {\n throw new Error('Chat item template is required')\n }\n if (!this._config.onSend) {\n throw new Error('Chat onSend action is required')\n }\n if (!this._config.data) {\n throw new Error('Chat data expression is required')\n }\n }\n\n override build(): JcBase {\n this._validate()\n\n // Build the item template\n if (this._item) {\n this._config.item = this._item.build()\n }\n\n return super.build()\n }\n}\n"]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { toExpression } from '../abstract/index.js';
|
|
2
|
+
import { createActionInBackgroundBuildersFactory } from '../action/ja.in-background.factory.js';
|
|
3
|
+
import { CTX } from '../application/index.js';
|
|
4
|
+
import { isDatasourceBase } from '../datasource/index.js';
|
|
5
|
+
import { JcBuilderFactory } from './jc.abstract.factory.js';
|
|
6
|
+
import { ComponentBaseBuilder } from './jc.abstract.js';
|
|
7
|
+
import { COMPONENT_TYPE } from './jc.types.js';
|
|
8
|
+
const ALLOWED_TYPES = [
|
|
9
|
+
COMPONENT_TYPE.CHAT_MESSAGE,
|
|
10
|
+
];
|
|
11
|
+
export class JcChatBuilder extends ComponentBaseBuilder {
|
|
12
|
+
_item;
|
|
13
|
+
addControl;
|
|
14
|
+
onSend = createActionInBackgroundBuildersFactory((action) => {
|
|
15
|
+
this._setToConfig('onSend', action);
|
|
16
|
+
});
|
|
17
|
+
state;
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
super(COMPONENT_TYPE.CHAT, options);
|
|
20
|
+
this.addControl = new JcBuilderFactory(ALLOWED_TYPES, (component) => {
|
|
21
|
+
this._item = component;
|
|
22
|
+
});
|
|
23
|
+
this.state = {
|
|
24
|
+
message: `@ctx.components.${this.instanceId}.state.message`,
|
|
25
|
+
};
|
|
26
|
+
if (options.data !== undefined) {
|
|
27
|
+
this.data(options.data);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
data(data) {
|
|
31
|
+
if (isDatasourceBase(data)) {
|
|
32
|
+
this._config.data = CTX.datasources.expr(data.datasourceId);
|
|
33
|
+
}
|
|
34
|
+
else if (typeof data === 'string' && data.startsWith('=')) {
|
|
35
|
+
this._config.data = toExpression(data);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this._config.data = CTX.datasources.expr(data);
|
|
39
|
+
}
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
with(options) {
|
|
43
|
+
super.with(options);
|
|
44
|
+
if (options?.data !== undefined) {
|
|
45
|
+
this.data(options.data);
|
|
46
|
+
}
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
_validate() {
|
|
50
|
+
if (!this._item) {
|
|
51
|
+
throw new Error('Chat item template is required');
|
|
52
|
+
}
|
|
53
|
+
if (!this._config.onSend) {
|
|
54
|
+
throw new Error('Chat onSend action is required');
|
|
55
|
+
}
|
|
56
|
+
if (!this._config.data) {
|
|
57
|
+
throw new Error('Chat data expression is required');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
build() {
|
|
61
|
+
this._validate();
|
|
62
|
+
if (this._item) {
|
|
63
|
+
this._config.item = this._item.build();
|
|
64
|
+
}
|
|
65
|
+
return super.build();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuY2hhdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNDLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3ZGLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBQy9GLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM3QyxPQUFPLEVBQXVCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDOUUsT0FBTyxFQUEwQixnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBaUMsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRzlDLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGNBQWMsQ0FBQyxZQUFZO0NBR25CLENBQUE7QUFZVixNQUFNLE9BQU8sYUFBYyxTQUFRLG9CQUFpQztJQUMxRCxLQUFLLENBQXNCO0lBRzFCLFVBQVUsQ0FBeUM7SUFHbkQsTUFBTSxHQUFHLHVDQUF1QyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUFBLENBQ3BDLENBQUMsQ0FBQTtJQUVPLEtBQUssQ0FBOEI7SUFFNUMsWUFBWSxPQUFPLEdBQWdCLEVBQUUsRUFBRTtRQUNyQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQTtRQUFBLENBQ3ZCLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxPQUFPLEVBQUUsbUJBQW1CLElBQUksQ0FBQyxVQUFVLGdCQUFnQjtTQUM1RCxDQUFBO1FBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pCLENBQUM7SUFBQSxDQUNGO0lBR0QsSUFBSSxDQUFDLElBQWdELEVBQVE7UUFDM0QsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM3RCxDQUFDO2FBQU0sSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2hELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFFUSxJQUFJLENBQUMsT0FBa0QsRUFBUTtRQUN0RSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRW5CLElBQUksT0FBTyxFQUFFLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBRVEsU0FBUyxHQUFTO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFDbkQsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtRQUNyRCxDQUFDO0lBQUEsQ0FDRjtJQUVRLEtBQUssR0FBVztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFHaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3hDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUFBLENBQ3JCO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFzb3VyY2VJZCwgdHlwZSBFeHByZXNzaW9uLCB0b0V4cHJlc3Npb24gfSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbkluQmFja2dyb3VuZEJ1aWxkZXJzRmFjdG9yeSB9IGZyb20gJy4uL2FjdGlvbi9qYS5pbi1iYWNrZ3JvdW5kLmZhY3RvcnkuanMnXG5pbXBvcnQgeyBDVFggfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgRGF0YXNvdXJjZUJhc2UsIGlzRGF0YXNvdXJjZUJhc2UgfSBmcm9tICcuLi9kYXRhc291cmNlL2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBGYWN0b3J5TWV0aG9kc0ZvciwgSmNCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vamMuYWJzdHJhY3QuZmFjdG9yeS5qcydcbmltcG9ydCB7IENvbXBvbmVudEJhc2VCdWlsZGVyLCB0eXBlIEpjQmFzZSwgdHlwZSBKY0Jhc2VJbnB1dCB9IGZyb20gJy4vamMuYWJzdHJhY3QuanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8vIFJ1bnRpbWUgdmFsaWRhdGlvbjogYWxsb3dlZCBjb21wb25lbnQgdHlwZXMgZm9yIGNoYXRcbmNvbnN0IEFMTE9XRURfVFlQRVMgPSBbXG4gIENPTVBPTkVOVF9UWVBFLkNIQVRfTUVTU0FHRSxcbiAgLy8gVE9ETzogZW5hYmxlIGN1c3RvbSBjb21wb25lbnRzIElGRiByZXF1aXJlZFxuICAvLyBDT01QT05FTlRfVFlQRS5DVVNUT01fQ09NUE9ORU5ULFxuXSBhcyBjb25zdFxuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGNoYXQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjQ2hhdElucHV0IGV4dGVuZHMgSmNCYXNlSW5wdXQge1xuICByZWFkb25seSBkYXRhPzogRGF0YXNvdXJjZUlkIHwgRGF0YXNvdXJjZUJhc2UgfCBFeHByZXNzaW9uXG59XG5cbi8qKlxuICogQnVpbGQgY2hhdCBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgSmNDaGF0QnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjQ2hhdElucHV0PiB7XG4gIHByaXZhdGUgX2l0ZW0/OiB7IGJ1aWxkKCk6IEpjQmFzZSB9XG5cbiAgLyoqIENvbXBvbmVudCBmYWN0b3J5IGZvciBpbmxpbmUgY3VzdG9tIGNvbXBvbmVudCBjaGlsZHJlbi4gKi9cbiAgcmVhZG9ubHkgYWRkQ29udHJvbDogRmFjdG9yeU1ldGhvZHNGb3I8dHlwZW9mIEFMTE9XRURfVFlQRVM+XG5cbiAgLyoqIENvbmZpZ3VyZXMgc2VuZCBidXR0b24gaW50ZXJhY3Rpb25zLiAqL1xuICByZWFkb25seSBvblNlbmQgPSBjcmVhdGVBY3Rpb25JbkJhY2tncm91bmRCdWlsZGVyc0ZhY3RvcnkoKGFjdGlvbikgPT4ge1xuICAgIHRoaXMuX3NldFRvQ29uZmlnKCdvblNlbmQnLCBhY3Rpb24pXG4gIH0pXG5cbiAgcmVhZG9ubHkgc3RhdGU6IHsgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nIH1cblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKY0NoYXRJbnB1dCA9IHt9KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ0hBVCwgb3B0aW9ucylcblxuICAgIHRoaXMuYWRkQ29udHJvbCA9IG5ldyBKY0J1aWxkZXJGYWN0b3J5KEFMTE9XRURfVFlQRVMsIChjb21wb25lbnQpID0+IHtcbiAgICAgIHRoaXMuX2l0ZW0gPSBjb21wb25lbnRcbiAgICB9KVxuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIG1lc3NhZ2U6IGBAY3R4LmNvbXBvbmVudHMuJHt0aGlzLmluc3RhbmNlSWR9LnN0YXRlLm1lc3NhZ2VgLFxuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kYXRhKG9wdGlvbnMuZGF0YSlcbiAgICB9XG4gIH1cblxuICAvKiogU2V0cyBkYXRhIGV4cHJlc3Npb24gZm9yIGNoYXQgbWVzc2FnZXMuICovXG4gIGRhdGEoZGF0YTogRGF0YXNvdXJjZUlkIHwgRGF0YXNvdXJjZUJhc2UgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgaWYgKGlzRGF0YXNvdXJjZUJhc2UoZGF0YSkpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gQ1RYLmRhdGFzb3VyY2VzLmV4cHIoZGF0YS5kYXRhc291cmNlSWQpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycgJiYgZGF0YS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gdG9FeHByZXNzaW9uKGRhdGEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gQ1RYLmRhdGFzb3VyY2VzLmV4cHIoZGF0YSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9ucz86IFBhcnRpYWw8T21pdDxKY0NoYXRJbnB1dCwgJ2luc3RhbmNlSWQnPj4pOiB0aGlzIHtcbiAgICBzdXBlci53aXRoKG9wdGlvbnMpXG5cbiAgICBpZiAob3B0aW9ucz8uZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRhdGEob3B0aW9ucy5kYXRhKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBvdmVycmlkZSBfdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pdGVtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NoYXQgaXRlbSB0ZW1wbGF0ZSBpcyByZXF1aXJlZCcpXG4gICAgfVxuICAgIGlmICghdGhpcy5fY29uZmlnLm9uU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaGF0IG9uU2VuZCBhY3Rpb24gaXMgcmVxdWlyZWQnKVxuICAgIH1cbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5kYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NoYXQgZGF0YSBleHByZXNzaW9uIGlzIHJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBidWlsZCgpOiBKY0Jhc2Uge1xuICAgIHRoaXMuX3ZhbGlkYXRlKClcblxuICAgIC8vIEJ1aWxkIHRoZSBpdGVtIHRlbXBsYXRlXG4gICAgaWYgKHRoaXMuX2l0ZW0pIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5pdGVtID0gdGhpcy5faXRlbS5idWlsZCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLmJ1aWxkKClcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type BooleanOrExpression } from '../abstract/index.js';
|
|
2
|
+
import { JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js';
|
|
3
|
+
export interface JcCheckboxInput extends JcFieldBaseInput {
|
|
4
|
+
initialValue?: BooleanOrExpression;
|
|
5
|
+
value?: BooleanOrExpression;
|
|
6
|
+
readonly isDanger?: BooleanOrExpression;
|
|
7
|
+
readonly isWarning?: BooleanOrExpression;
|
|
8
|
+
}
|
|
9
|
+
export declare class JcCheckboxBuilder extends JcFieldBaseBuilder<JcCheckboxInput> {
|
|
10
|
+
constructor(options: JcCheckboxInput);
|
|
11
|
+
with(options: Partial<Omit<JcCheckboxInput, 'instanceId'>>): this;
|
|
12
|
+
readonly onPress: import("../action/ja.in-background.factory.js").ActionInBackgroundBuilders;
|
|
13
|
+
readonly onBlur: never;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hlY2tib3guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQXlCLE1BQU0sc0JBQXNCLENBQUE7QUFHdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUk3RSxNQUFNLFdBQVcsZUFBZ0IsU0FBUSxnQkFBZ0I7SUFDdkQsWUFBWSxDQUFDLEVBQUUsbUJBQW1CLENBQUE7SUFDbEMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLENBQUE7SUFFM0IsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLG1CQUFtQixDQUFBO0lBQ3ZDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxtQkFBbUIsQ0FBQTtDQUN6QztBQU1ELHFCQUFhLGlCQUFrQixTQUFRLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztJQUN4RSxZQUFZLE9BQU8sRUFBRSxlQUFlLEVBRW5DO0lBRVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0EwQnpFO0lBRUQsUUFBUSxDQUFDLE9BQU8sNkVBRWQ7SUFHRixTQUFrQixNQUFNLFFBQXFCO0NBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCb29sZWFuT3JFeHByZXNzaW9uLCB0b0Jvb2xlYW5PckV4cHJlc3Npb24gfSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbkluQmFja2dyb3VuZEJ1aWxkZXJzRmFjdG9yeSB9IGZyb20gJy4uL2FjdGlvbi9qYS5pbi1iYWNrZ3JvdW5kLmZhY3RvcnkuanMnXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJy4uL3V0aWxzL2luZGV4LmpzJ1xuaW1wb3J0IHsgSmNGaWVsZEJhc2VCdWlsZGVyLCB0eXBlIEpjRmllbGRCYXNlSW5wdXQgfSBmcm9tICcuL2NvbW1vbi9pbmRleC5qcydcbmltcG9ydCB7IENPTVBPTkVOVF9UWVBFIH0gZnJvbSAnLi9qYy50eXBlcy5qcydcblxuLy8gT3B0aW9ucyBpbmNsdWRlIGlzRGlzYWJsZWQgZm9yIGNvbnZlbmllbmNlIChtb3JlIGludHVpdGl2ZSBhcyBhbiBvcHRpb24gdGhhbiBzdHlsZSlcbmV4cG9ydCBpbnRlcmZhY2UgSmNDaGVja2JveElucHV0IGV4dGVuZHMgSmNGaWVsZEJhc2VJbnB1dCB7XG4gIGluaXRpYWxWYWx1ZT86IEJvb2xlYW5PckV4cHJlc3Npb25cbiAgdmFsdWU/OiBCb29sZWFuT3JFeHByZXNzaW9uXG5cbiAgcmVhZG9ubHkgaXNEYW5nZXI/OiBCb29sZWFuT3JFeHByZXNzaW9uXG4gIHJlYWRvbmx5IGlzV2FybmluZz86IEJvb2xlYW5PckV4cHJlc3Npb25cbn1cblxuLyoqXG4gKiBCdWlsZHMgYm9vbGVhbiB0b2dnbGUgY2hlY2tib3hlcyB3aXRoIHZhbGlkYXRpb24gYW5kIGFjdGlvbnMuXG4gKiBAYWxpYXMgY29tcG9uZW50LmNoZWNrYm94XG4gKi9cbmV4cG9ydCBjbGFzcyBKY0NoZWNrYm94QnVpbGRlciBleHRlbmRzIEpjRmllbGRCYXNlQnVpbGRlcjxKY0NoZWNrYm94SW5wdXQ+IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNDaGVja2JveElucHV0KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ0hFQ0tCT1gsIG9wdGlvbnMpXG4gIH1cblxuICBvdmVycmlkZSB3aXRoKG9wdGlvbnM6IFBhcnRpYWw8T21pdDxKY0NoZWNrYm94SW5wdXQsICdpbnN0YW5jZUlkJz4+KTogdGhpcyB7XG4gICAgc3VwZXIud2l0aChvcHRpb25zKVxuXG4gICAgaWYgKG9wdGlvbnMuaW5pdGlhbFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5pbml0aWFsVmFsdWUgPSBvcHRpb25zLmluaXRpYWxWYWx1ZVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcudmFsdWUgPSBvcHRpb25zLnZhbHVlXG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gaXNPYmplY3QodGhpcy5fY29uZmlnLnN0eWxlKSA/IHRoaXMuX2NvbmZpZy5zdHlsZSA6IHt9XG4gICAgaWYgKG9wdGlvbnMuaXNEYW5nZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3R5bGUuaXNEYW5nZXIgPSB0b0Jvb2xlYW5PckV4cHJlc3Npb24ob3B0aW9ucy5pc0RhbmdlcilcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuaXNXYXJuaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0eWxlLmlzV2FybmluZyA9IHRvQm9vbGVhbk9yRXhwcmVzc2lvbihvcHRpb25zLmlzV2FybmluZylcbiAgICB9XG5cbiAgICAvLyBBdm9pZCB1bm5lY2Vzc2FyeSB7fVxuICAgIGlmIChPYmplY3Qua2V5cyhzdHlsZSkubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fY29uZmlnLnN0eWxlID0gc3R5bGVcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuX2NvbmZpZy5zdHlsZVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByZWFkb25seSBvblByZXNzID0gY3JlYXRlQWN0aW9uSW5CYWNrZ3JvdW5kQnVpbGRlcnNGYWN0b3J5KChhY3Rpb24pID0+IHtcbiAgICB0aGlzLl9zZXRUb0NvbmZpZygnb25QcmVzcycsIGFjdGlvbilcbiAgfSlcblxuICAvLyBDaGVja2JveCBoYXMgbm8gZm9jdXMvYmx1ciBsaWZlY3ljbGUg4oCUIGhpZGUgb25CbHVyIGZyb20gYmFzZSBjbGFzc1xuICBvdmVycmlkZSByZWFkb25seSBvbkJsdXIgPSB1bmRlZmluZWQgYXMgbmV2ZXJcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jc.checkbox.d.ts","sourceRoot":"","sources":["../../src/component/jc.checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAyB,MAAM,sBAAsB,CAAA;AAGtF,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI7E,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAE3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;CACzC;AAMD,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACxE,YAAY,OAAO,EAAE,eAAe,EAEnC;IAEQ,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CA0BzE;IAED,QAAQ,CAAC,OAAO,6EAEd;IAGF,SAAkB,MAAM,QAAqB;CAC9C","sourcesContent":["import { type BooleanOrExpression, toBooleanOrExpression } from '../abstract/index.js'\nimport { createActionInBackgroundBuildersFactory } from '../action/ja.in-background.factory.js'\nimport { isObject } from '../utils/index.js'\nimport { JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n// Options include isDisabled for convenience (more intuitive as an option than style)\nexport interface JcCheckboxInput extends JcFieldBaseInput {\n initialValue?: BooleanOrExpression\n value?: BooleanOrExpression\n\n readonly isDanger?: BooleanOrExpression\n readonly isWarning?: BooleanOrExpression\n}\n\n/**\n * Builds boolean toggle checkboxes with validation and actions.\n * @alias component.checkbox\n */\nexport class JcCheckboxBuilder extends JcFieldBaseBuilder<JcCheckboxInput> {\n constructor(options: JcCheckboxInput) {\n super(COMPONENT_TYPE.CHECKBOX, options)\n }\n\n override with(options: Partial<Omit<JcCheckboxInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options.initialValue !== undefined) {\n this._config.initialValue = options.initialValue\n }\n if (options.value !== undefined) {\n this._config.value = options.value\n }\n\n const style: Record<string, unknown> = isObject(this._config.style) ? this._config.style : {}\n if (options.isDanger !== undefined) {\n style.isDanger = toBooleanOrExpression(options.isDanger)\n }\n if (options.isWarning !== undefined) {\n style.isWarning = toBooleanOrExpression(options.isWarning)\n }\n\n // Avoid unnecessary {}\n if (Object.keys(style).length > 0) {\n this._config.style = style\n } else {\n delete this._config.style\n }\n\n return this\n }\n\n readonly onPress = createActionInBackgroundBuildersFactory((action) => {\n this._setToConfig('onPress', action)\n })\n\n // Checkbox has no focus/blur lifecycle — hide onBlur from base class\n override readonly onBlur = undefined as never\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { toBooleanOrExpression } from '../abstract/index.js';
|
|
2
|
+
import { createActionInBackgroundBuildersFactory } from '../action/ja.in-background.factory.js';
|
|
3
|
+
import { isObject } from '../utils/index.js';
|
|
4
|
+
import { JcFieldBaseBuilder } from './common/index.js';
|
|
5
|
+
import { COMPONENT_TYPE } from './jc.types.js';
|
|
6
|
+
export class JcCheckboxBuilder extends JcFieldBaseBuilder {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super(COMPONENT_TYPE.CHECKBOX, options);
|
|
9
|
+
}
|
|
10
|
+
with(options) {
|
|
11
|
+
super.with(options);
|
|
12
|
+
if (options.initialValue !== undefined) {
|
|
13
|
+
this._config.initialValue = options.initialValue;
|
|
14
|
+
}
|
|
15
|
+
if (options.value !== undefined) {
|
|
16
|
+
this._config.value = options.value;
|
|
17
|
+
}
|
|
18
|
+
const style = isObject(this._config.style) ? this._config.style : {};
|
|
19
|
+
if (options.isDanger !== undefined) {
|
|
20
|
+
style.isDanger = toBooleanOrExpression(options.isDanger);
|
|
21
|
+
}
|
|
22
|
+
if (options.isWarning !== undefined) {
|
|
23
|
+
style.isWarning = toBooleanOrExpression(options.isWarning);
|
|
24
|
+
}
|
|
25
|
+
if (Object.keys(style).length > 0) {
|
|
26
|
+
this._config.style = style;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
delete this._config.style;
|
|
30
|
+
}
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
onPress = createActionInBackgroundBuildersFactory((action) => {
|
|
34
|
+
this._setToConfig('onPress', action);
|
|
35
|
+
});
|
|
36
|
+
onBlur = undefined;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50L2pjLmNoZWNrYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN0RixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUMvRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLG1CQUFtQixDQUFBO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFlOUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFtQztJQUN4RSxZQUFZLE9BQXdCLEVBQUU7UUFDcEMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFBQSxDQUN4QztJQUVRLElBQUksQ0FBQyxPQUFxRCxFQUFRO1FBQ3pFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFbkIsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUE7UUFDbEQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQ3BDLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBNEIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDN0YsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLEtBQUssQ0FBQyxRQUFRLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzFELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsS0FBSyxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDNUQsQ0FBQztRQUdELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQTtRQUMzQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBRVEsT0FBTyxHQUFHLHVDQUF1QyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUFBLENBQ3JDLENBQUMsQ0FBQTtJQUdnQixNQUFNLEdBQUcsU0FBa0IsQ0FBQTtDQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQm9vbGVhbk9yRXhwcmVzc2lvbiwgdG9Cb29sZWFuT3JFeHByZXNzaW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyBjcmVhdGVBY3Rpb25JbkJhY2tncm91bmRCdWlsZGVyc0ZhY3RvcnkgfSBmcm9tICcuLi9hY3Rpb24vamEuaW4tYmFja2dyb3VuZC5mYWN0b3J5LmpzJ1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICcuLi91dGlscy9pbmRleC5qcydcbmltcG9ydCB7IEpjRmllbGRCYXNlQnVpbGRlciwgdHlwZSBKY0ZpZWxkQmFzZUlucHV0IH0gZnJvbSAnLi9jb21tb24vaW5kZXguanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8vIE9wdGlvbnMgaW5jbHVkZSBpc0Rpc2FibGVkIGZvciBjb252ZW5pZW5jZSAobW9yZSBpbnR1aXRpdmUgYXMgYW4gb3B0aW9uIHRoYW4gc3R5bGUpXG5leHBvcnQgaW50ZXJmYWNlIEpjQ2hlY2tib3hJbnB1dCBleHRlbmRzIEpjRmllbGRCYXNlSW5wdXQge1xuICBpbml0aWFsVmFsdWU/OiBCb29sZWFuT3JFeHByZXNzaW9uXG4gIHZhbHVlPzogQm9vbGVhbk9yRXhwcmVzc2lvblxuXG4gIHJlYWRvbmx5IGlzRGFuZ2VyPzogQm9vbGVhbk9yRXhwcmVzc2lvblxuICByZWFkb25seSBpc1dhcm5pbmc/OiBCb29sZWFuT3JFeHByZXNzaW9uXG59XG5cbi8qKlxuICogQnVpbGRzIGJvb2xlYW4gdG9nZ2xlIGNoZWNrYm94ZXMgd2l0aCB2YWxpZGF0aW9uIGFuZCBhY3Rpb25zLlxuICogQGFsaWFzIGNvbXBvbmVudC5jaGVja2JveFxuICovXG5leHBvcnQgY2xhc3MgSmNDaGVja2JveEJ1aWxkZXIgZXh0ZW5kcyBKY0ZpZWxkQmFzZUJ1aWxkZXI8SmNDaGVja2JveElucHV0PiB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEpjQ2hlY2tib3hJbnB1dCkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkNIRUNLQk9YLCBvcHRpb25zKVxuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zOiBQYXJ0aWFsPE9taXQ8SmNDaGVja2JveElucHV0LCAnaW5zdGFuY2VJZCc+Pik6IHRoaXMge1xuICAgIHN1cGVyLndpdGgob3B0aW9ucylcblxuICAgIGlmIChvcHRpb25zLmluaXRpYWxWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuaW5pdGlhbFZhbHVlID0gb3B0aW9ucy5pbml0aWFsVmFsdWVcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnZhbHVlID0gb3B0aW9ucy52YWx1ZVxuICAgIH1cblxuICAgIGNvbnN0IHN0eWxlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGlzT2JqZWN0KHRoaXMuX2NvbmZpZy5zdHlsZSkgPyB0aGlzLl9jb25maWcuc3R5bGUgOiB7fVxuICAgIGlmIChvcHRpb25zLmlzRGFuZ2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0eWxlLmlzRGFuZ2VyID0gdG9Cb29sZWFuT3JFeHByZXNzaW9uKG9wdGlvbnMuaXNEYW5nZXIpXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmlzV2FybmluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdHlsZS5pc1dhcm5pbmcgPSB0b0Jvb2xlYW5PckV4cHJlc3Npb24ob3B0aW9ucy5pc1dhcm5pbmcpXG4gICAgfVxuXG4gICAgLy8gQXZvaWQgdW5uZWNlc3Nhcnkge31cbiAgICBpZiAoT2JqZWN0LmtleXMoc3R5bGUpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5zdHlsZSA9IHN0eWxlXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB0aGlzLl9jb25maWcuc3R5bGVcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcmVhZG9ubHkgb25QcmVzcyA9IGNyZWF0ZUFjdGlvbkluQmFja2dyb3VuZEJ1aWxkZXJzRmFjdG9yeSgoYWN0aW9uKSA9PiB7XG4gICAgdGhpcy5fc2V0VG9Db25maWcoJ29uUHJlc3MnLCBhY3Rpb24pXG4gIH0pXG5cbiAgLy8gQ2hlY2tib3ggaGFzIG5vIGZvY3VzL2JsdXIgbGlmZWN5Y2xlIOKAlCBoaWRlIG9uQmx1ciBmcm9tIGJhc2UgY2xhc3NcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgb25CbHVyID0gdW5kZWZpbmVkIGFzIG5ldmVyXG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Expression, type InstanceId, type TextValue, TextValueBuilder } from '../abstract/index.js';
|
|
2
|
+
import { type JcBase, type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js';
|
|
3
|
+
export interface JcChoiceFieldItemInput extends JcBaseInput {
|
|
4
|
+
readonly instanceId?: InstanceId;
|
|
5
|
+
readonly title?: string | TextValue | TextValueBuilder;
|
|
6
|
+
readonly value?: Expression;
|
|
7
|
+
}
|
|
8
|
+
export declare class JcChoiceFieldItemBuilder extends ComponentBaseBuilder<JcChoiceFieldItemInput> {
|
|
9
|
+
constructor(options?: JcChoiceFieldItemInput);
|
|
10
|
+
with(options?: Partial<Omit<JcChoiceFieldItemInput, 'instanceId'>>): this;
|
|
11
|
+
title(title: string | TextValue | TextValueBuilder): this;
|
|
12
|
+
value(value: Expression): this;
|
|
13
|
+
build(): JcBase;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hvaWNlLWZpZWxkLWl0ZW0uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuY2hvaWNlLWZpZWxkLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssVUFBVSxFQUNmLEtBQUssVUFBVSxFQUNmLEtBQUssU0FBUyxFQUNkLGdCQUFnQixFQUVqQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBTXRGLE1BQU0sV0FBVyxzQkFBdUIsU0FBUSxXQUFXO0lBRXpELFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLENBQUE7SUFFaEMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLENBQUE7SUFFdEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQTtDQUM1QjtBQUtELHFCQUFhLHdCQUF5QixTQUFRLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hGLFlBQVksT0FBTyxHQUFFLHNCQUEyQixFQVMvQztJQUVRLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQWVqRjtJQUdELEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBRXhEO0lBR0QsS0FBSyxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUU3QjtJQUVRLEtBQUssSUFBSSxNQUFNLENBVXZCO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEV4cHJlc3Npb24sXG4gIHR5cGUgSW5zdGFuY2VJZCxcbiAgdHlwZSBUZXh0VmFsdWUsXG4gIFRleHRWYWx1ZUJ1aWxkZXIsXG4gIHRvRXhwcmVzc2lvbixcbn0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyB0eXBlIEpjQmFzZSwgdHlwZSBKY0Jhc2VJbnB1dCwgQ29tcG9uZW50QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2pjLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX1RZUEUgfSBmcm9tICcuL2pjLnR5cGVzLmpzJ1xuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGNob2ljZSBmaWVsZCBpdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjQ2hvaWNlRmllbGRJdGVtSW5wdXQgZXh0ZW5kcyBKY0Jhc2VJbnB1dCB7XG4gIC8qKiBVbmlxdWUgY29tcG9uZW50IGlkZW50aWZpZXIgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZD86IEluc3RhbmNlSWRcbiAgLyoqIERpc3BsYXkgdGl0bGUgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyXG4gIC8qKiBVbmlxdWUgdmFsdWUgZXhwcmVzc2lvbiAoPUBjdHguY3VycmVudC5pdGVtLlBST1BFUlRZKSAqL1xuICByZWFkb25seSB2YWx1ZT86IEV4cHJlc3Npb25cbn1cblxuLyoqXG4gKiBCdWlsZHMgY2hvaWNlIGZpZWxkIGl0ZW1zIHdpdGggdGl0bGUgZGlzcGxheSBhbmQgdW5pcXVlIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEpjQ2hvaWNlRmllbGRJdGVtQnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjQ2hvaWNlRmllbGRJdGVtSW5wdXQ+IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNDaG9pY2VGaWVsZEl0ZW1JbnB1dCA9IHt9KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ0hPSUNFX0ZJRUxEX0lURU0sIG9wdGlvbnMpXG5cbiAgICAvLyBTZXQgZGVmYXVsdHNcbiAgICB0aGlzLl9jb25maWcudGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oJyAnKVxuICAgIHRoaXMuX2NvbmZpZy52YWx1ZSA9IHRvRXhwcmVzc2lvbignPUBjdHguY3VycmVudC5pdGVtLmlkJylcblxuICAgIC8vIEFwcGx5IG9wdGlvbnNcbiAgICB0aGlzLndpdGgob3B0aW9ucylcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9ucz86IFBhcnRpYWw8T21pdDxKY0Nob2ljZUZpZWxkSXRlbUlucHV0LCAnaW5zdGFuY2VJZCc+Pik6IHRoaXMge1xuICAgIHN1cGVyLndpdGgob3B0aW9ucylcblxuICAgIGlmIChvcHRpb25zPy50aXRsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgdGl0bGUgPSBvcHRpb25zLnRpdGxlXG4gICAgICBpZiAodHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJyAmJiB0aXRsZS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgICAgdGl0bGUgPSB0b0V4cHJlc3Npb24odGl0bGUpXG4gICAgICB9XG4gICAgICB0aGlzLl9jb25maWcudGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20odGl0bGUpXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcudmFsdWUgPSB0b0V4cHJlc3Npb24ob3B0aW9ucy52YWx1ZSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqIFNldCBkaXNwbGF5IHRpdGxlLiAqL1xuICB0aXRsZSh0aXRsZTogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLndpdGgoeyB0aXRsZSB9KVxuICB9XG5cbiAgLyoqIFNldCB1bmlxdWUgdmFsdWUgKD1AY3R4LmN1cnJlbnQuaXRlbS5QUk9QRVJUWSkuICovXG4gIHZhbHVlKHZhbHVlOiBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IHZhbHVlIH0pXG4gIH1cblxuICBvdmVycmlkZSBidWlsZCgpOiBKY0Jhc2Uge1xuICAgIC8vIFZhbGlkYXRlIHJlcXVpcmVkIGZpZWxkc1xuICAgIGlmICghdGhpcy5fY29uZmlnLnRpdGxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nob2ljZSBmaWVsZCBpdGVtIHRpdGxlIGlzIHJlcXVpcmVkJylcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9jb25maWcudmFsdWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2hvaWNlIGZpZWxkIGl0ZW0gdmFsdWUgaXMgcmVxdWlyZWQnKVxuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5idWlsZCgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jc.choice-field-item.d.ts","sourceRoot":"","sources":["../../src/component/jc.choice-field-item.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,gBAAgB,EAEjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAMtF,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IAEzD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAEhC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAA;IAEtD,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAA;CAC5B;AAKD,qBAAa,wBAAyB,SAAQ,oBAAoB,CAAC,sBAAsB,CAAC;IACxF,YAAY,OAAO,GAAE,sBAA2B,EAS/C;IAEQ,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAejF;IAGD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAExD;IAGD,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAE7B;IAEQ,KAAK,IAAI,MAAM,CAUvB;CACF","sourcesContent":["import {\n type Expression,\n type InstanceId,\n type TextValue,\n TextValueBuilder,\n toExpression,\n} from '../abstract/index.js'\nimport { type JcBase, type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n/**\n * Input options for choice field item.\n */\nexport interface JcChoiceFieldItemInput extends JcBaseInput {\n /** Unique component identifier */\n readonly instanceId?: InstanceId\n /** Display title */\n readonly title?: string | TextValue | TextValueBuilder\n /** Unique value expression (=@ctx.current.item.PROPERTY) */\n readonly value?: Expression\n}\n\n/**\n * Builds choice field items with title display and unique values.\n */\nexport class JcChoiceFieldItemBuilder extends ComponentBaseBuilder<JcChoiceFieldItemInput> {\n constructor(options: JcChoiceFieldItemInput = {}) {\n super(COMPONENT_TYPE.CHOICE_FIELD_ITEM, options)\n\n // Set defaults\n this._config.title = TextValueBuilder.from(' ')\n this._config.value = toExpression('=@ctx.current.item.id')\n\n // Apply options\n this.with(options)\n }\n\n override with(options?: Partial<Omit<JcChoiceFieldItemInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options?.title !== undefined) {\n let title = options.title\n if (typeof title === 'string' && title.startsWith('=')) {\n title = toExpression(title)\n }\n this._config.title = TextValueBuilder.from(title)\n }\n if (options?.value !== undefined) {\n this._config.value = toExpression(options.value)\n }\n\n return this\n }\n\n /** Set display title. */\n title(title: string | TextValue | TextValueBuilder): this {\n return this.with({ title })\n }\n\n /** Set unique value (=@ctx.current.item.PROPERTY). */\n value(value: Expression): this {\n return this.with({ value })\n }\n\n override build(): JcBase {\n // Validate required fields\n if (!this._config.title) {\n throw new Error('Choice field item title is required')\n }\n if (!this._config.value) {\n throw new Error('Choice field item value is required')\n }\n\n return super.build()\n }\n}\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { TextValueBuilder, toExpression, } from '../abstract/index.js';
|
|
2
|
+
import { ComponentBaseBuilder } from './jc.abstract.js';
|
|
3
|
+
import { COMPONENT_TYPE } from './jc.types.js';
|
|
4
|
+
export class JcChoiceFieldItemBuilder extends ComponentBaseBuilder {
|
|
5
|
+
constructor(options = {}) {
|
|
6
|
+
super(COMPONENT_TYPE.CHOICE_FIELD_ITEM, options);
|
|
7
|
+
this._config.title = TextValueBuilder.from(' ');
|
|
8
|
+
this._config.value = toExpression('=@ctx.current.item.id');
|
|
9
|
+
this.with(options);
|
|
10
|
+
}
|
|
11
|
+
with(options) {
|
|
12
|
+
super.with(options);
|
|
13
|
+
if (options?.title !== undefined) {
|
|
14
|
+
let title = options.title;
|
|
15
|
+
if (typeof title === 'string' && title.startsWith('=')) {
|
|
16
|
+
title = toExpression(title);
|
|
17
|
+
}
|
|
18
|
+
this._config.title = TextValueBuilder.from(title);
|
|
19
|
+
}
|
|
20
|
+
if (options?.value !== undefined) {
|
|
21
|
+
this._config.value = toExpression(options.value);
|
|
22
|
+
}
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
title(title) {
|
|
26
|
+
return this.with({ title });
|
|
27
|
+
}
|
|
28
|
+
value(value) {
|
|
29
|
+
return this.with({ value });
|
|
30
|
+
}
|
|
31
|
+
build() {
|
|
32
|
+
if (!this._config.title) {
|
|
33
|
+
throw new Error('Choice field item title is required');
|
|
34
|
+
}
|
|
35
|
+
if (!this._config.value) {
|
|
36
|
+
throw new Error('Choice field item value is required');
|
|
37
|
+
}
|
|
38
|
+
return super.build();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hvaWNlLWZpZWxkLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50L2pjLmNob2ljZS1maWVsZC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsWUFBWSxHQUNiLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUFpQyxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFpQjlDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBNEM7SUFDeEYsWUFBWSxPQUFPLEdBQTJCLEVBQUUsRUFBRTtRQUNoRCxLQUFLLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBR2hELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUcxRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQUEsQ0FDbkI7SUFFUSxJQUFJLENBQUMsT0FBNkQsRUFBUTtRQUNqRixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRW5CLElBQUksT0FBTyxFQUFFLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQ3pCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkQsS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM3QixDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBR0QsS0FBSyxDQUFDLEtBQTRDLEVBQVE7UUFDeEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQzVCO0lBR0QsS0FBSyxDQUFDLEtBQWlCLEVBQVE7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQzVCO0lBRVEsS0FBSyxHQUFXO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUN4RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO1FBQ3hELENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUFBLENBQ3JCO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEV4cHJlc3Npb24sXG4gIHR5cGUgSW5zdGFuY2VJZCxcbiAgdHlwZSBUZXh0VmFsdWUsXG4gIFRleHRWYWx1ZUJ1aWxkZXIsXG4gIHRvRXhwcmVzc2lvbixcbn0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyB0eXBlIEpjQmFzZSwgdHlwZSBKY0Jhc2VJbnB1dCwgQ29tcG9uZW50QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2pjLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX1RZUEUgfSBmcm9tICcuL2pjLnR5cGVzLmpzJ1xuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGNob2ljZSBmaWVsZCBpdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjQ2hvaWNlRmllbGRJdGVtSW5wdXQgZXh0ZW5kcyBKY0Jhc2VJbnB1dCB7XG4gIC8qKiBVbmlxdWUgY29tcG9uZW50IGlkZW50aWZpZXIgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZD86IEluc3RhbmNlSWRcbiAgLyoqIERpc3BsYXkgdGl0bGUgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyXG4gIC8qKiBVbmlxdWUgdmFsdWUgZXhwcmVzc2lvbiAoPUBjdHguY3VycmVudC5pdGVtLlBST1BFUlRZKSAqL1xuICByZWFkb25seSB2YWx1ZT86IEV4cHJlc3Npb25cbn1cblxuLyoqXG4gKiBCdWlsZHMgY2hvaWNlIGZpZWxkIGl0ZW1zIHdpdGggdGl0bGUgZGlzcGxheSBhbmQgdW5pcXVlIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEpjQ2hvaWNlRmllbGRJdGVtQnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjQ2hvaWNlRmllbGRJdGVtSW5wdXQ+IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNDaG9pY2VGaWVsZEl0ZW1JbnB1dCA9IHt9KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ0hPSUNFX0ZJRUxEX0lURU0sIG9wdGlvbnMpXG5cbiAgICAvLyBTZXQgZGVmYXVsdHNcbiAgICB0aGlzLl9jb25maWcudGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oJyAnKVxuICAgIHRoaXMuX2NvbmZpZy52YWx1ZSA9IHRvRXhwcmVzc2lvbignPUBjdHguY3VycmVudC5pdGVtLmlkJylcblxuICAgIC8vIEFwcGx5IG9wdGlvbnNcbiAgICB0aGlzLndpdGgob3B0aW9ucylcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9ucz86IFBhcnRpYWw8T21pdDxKY0Nob2ljZUZpZWxkSXRlbUlucHV0LCAnaW5zdGFuY2VJZCc+Pik6IHRoaXMge1xuICAgIHN1cGVyLndpdGgob3B0aW9ucylcblxuICAgIGlmIChvcHRpb25zPy50aXRsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgdGl0bGUgPSBvcHRpb25zLnRpdGxlXG4gICAgICBpZiAodHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJyAmJiB0aXRsZS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgICAgdGl0bGUgPSB0b0V4cHJlc3Npb24odGl0bGUpXG4gICAgICB9XG4gICAgICB0aGlzLl9jb25maWcudGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20odGl0bGUpXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcudmFsdWUgPSB0b0V4cHJlc3Npb24ob3B0aW9ucy52YWx1ZSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqIFNldCBkaXNwbGF5IHRpdGxlLiAqL1xuICB0aXRsZSh0aXRsZTogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLndpdGgoeyB0aXRsZSB9KVxuICB9XG5cbiAgLyoqIFNldCB1bmlxdWUgdmFsdWUgKD1AY3R4LmN1cnJlbnQuaXRlbS5QUk9QRVJUWSkuICovXG4gIHZhbHVlKHZhbHVlOiBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IHZhbHVlIH0pXG4gIH1cblxuICBvdmVycmlkZSBidWlsZCgpOiBKY0Jhc2Uge1xuICAgIC8vIFZhbGlkYXRlIHJlcXVpcmVkIGZpZWxkc1xuICAgIGlmICghdGhpcy5fY29uZmlnLnRpdGxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nob2ljZSBmaWVsZCBpdGVtIHRpdGxlIGlzIHJlcXVpcmVkJylcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9jb25maWcudmFsdWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2hvaWNlIGZpZWxkIGl0ZW0gdmFsdWUgaXMgcmVxdWlyZWQnKVxuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5idWlsZCgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type DatasourceId, type Expression } from '../abstract/index.js';
|
|
2
|
+
import { JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js';
|
|
3
|
+
import { JcChoiceFieldItemBuilder } from './jc.choice-field-item.js';
|
|
4
|
+
export interface JcChoiceFieldInput extends JcFieldBaseInput {
|
|
5
|
+
readonly data?: DatasourceId | Expression | {
|
|
6
|
+
datasourceId: string;
|
|
7
|
+
};
|
|
8
|
+
readonly initialValue?: string | number | boolean | Expression;
|
|
9
|
+
readonly value?: string | number | boolean | Expression;
|
|
10
|
+
readonly isMultiple?: boolean | Expression;
|
|
11
|
+
readonly itemsPerRow?: number | Expression;
|
|
12
|
+
}
|
|
13
|
+
export declare class JcChoiceFieldBuilder extends JcFieldBaseBuilder<JcChoiceFieldInput> {
|
|
14
|
+
constructor(options: JcChoiceFieldInput);
|
|
15
|
+
with(options: Partial<Omit<JcChoiceFieldInput, 'instanceId'>>): this;
|
|
16
|
+
readonly addControl: {
|
|
17
|
+
item: (options?: import("./jc.choice-field-item.js").JcChoiceFieldItemInput | undefined) => JcChoiceFieldItemBuilder;
|
|
18
|
+
};
|
|
19
|
+
readonly onBlur: never;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hvaWNlLWZpZWxkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50L2pjLmNob2ljZS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsS0FBSyxZQUFZLEVBQ2pCLEtBQUssVUFBVSxFQUVoQixNQUFNLHNCQUFzQixDQUFBO0FBRTdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFNcEUsTUFBTSxXQUFXLGtCQUFtQixTQUFRLGdCQUFnQjtJQUUxRCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRztRQUFFLFlBQVksRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFBO0lBR3BFLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUE7SUFHOUQsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLFVBQVUsQ0FBQTtJQUd2RCxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxHQUFHLFVBQVUsQ0FBQTtJQUcxQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQTtDQUMzQztBQVNELHFCQUFhLG9CQUFxQixTQUFRLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO0lBQzlFLFlBQVksT0FBTyxFQUFFLGtCQUFrQixFQUV0QztJQUVRLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FvQjVFO0lBR0QsUUFBUSxDQUFDLFVBQVU7O01BRWxCO0lBR0QsU0FBa0IsTUFBTSxRQUFxQjtDQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFzc2lnbkJ1aWxkZXJGYWN0b3J5LFxuICB0eXBlIERhdGFzb3VyY2VJZCxcbiAgdHlwZSBFeHByZXNzaW9uLFxuICB0b0Jvb2xlYW5PckV4cHJlc3Npb24sXG59IGZyb20gJy4uL2Fic3RyYWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgbm9ybWFsaXplRGF0YXNvdXJjZSB9IGZyb20gJy4uL2FwcGxpY2F0aW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgSmNGaWVsZEJhc2VCdWlsZGVyLCB0eXBlIEpjRmllbGRCYXNlSW5wdXQgfSBmcm9tICcuL2NvbW1vbi9pbmRleC5qcydcbmltcG9ydCB7IEpjQ2hvaWNlRmllbGRJdGVtQnVpbGRlciB9IGZyb20gJy4vamMuY2hvaWNlLWZpZWxkLWl0ZW0uanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8qKlxuICogQ2hvaWNlIGZpZWxkIHNwZWNpZmljIGlucHV0IGludGVyZmFjZSBleHRlbmRpbmcgYmFzZSBmaWVsZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKY0Nob2ljZUZpZWxkSW5wdXQgZXh0ZW5kcyBKY0ZpZWxkQmFzZUlucHV0IHtcbiAgLyoqIERhdGEgc291cmNlIGZvciBjaG9pY2UgaXRlbXMgKi9cbiAgcmVhZG9ubHkgZGF0YT86IERhdGFzb3VyY2VJZCB8IEV4cHJlc3Npb24gfCB7IGRhdGFzb3VyY2VJZDogc3RyaW5nIH1cblxuICAvKiogSW5pdGlhbCBzZWxlY3RlZCB2YWx1ZShzKSAqL1xuICByZWFkb25seSBpbml0aWFsVmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgRXhwcmVzc2lvblxuXG4gIC8qKiBDdXJyZW50IHNlbGVjdGVkIHZhbHVlKHMpICovXG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IEV4cHJlc3Npb25cblxuICAvKiogV2hldGhlciBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgYWxsb3dlZCAqL1xuICByZWFkb25seSBpc011bHRpcGxlPzogYm9vbGVhbiB8IEV4cHJlc3Npb25cblxuICAvKiogTnVtYmVyIG9mIGl0ZW1zIHBlciByb3cgaW4gZ3JpZCBsYXlvdXQgKi9cbiAgcmVhZG9ubHkgaXRlbXNQZXJSb3c/OiBudW1iZXIgfCBFeHByZXNzaW9uXG59XG5cbi8qKlxuICogQnVpbGRzIGNob2ljZSBmaWVsZHMgZm9yIGZvcm1zLCB3aXRoIHJhZGlvL29wdGlvbiBzZWxlY3Rpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBAYWxpYXMgY29tcG9uZW50LmNob2ljZS1maWVsZFxuICpcbiAqIFNlbGVjdHMgb3B0aW9ucyB1c2luZyByYWRpbyBidXR0b25zIG9yIGNoZWNrYm94ZXMgaW50ZXJmYWNlIHdpdGhcbiAqIGdyaWQgbGF5b3V0IGFuZCBjdXN0b20gdGVtcGxhdGVzLlxuICovXG5leHBvcnQgY2xhc3MgSmNDaG9pY2VGaWVsZEJ1aWxkZXIgZXh0ZW5kcyBKY0ZpZWxkQmFzZUJ1aWxkZXI8SmNDaG9pY2VGaWVsZElucHV0PiB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEpjQ2hvaWNlRmllbGRJbnB1dCkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkNIT0lDRV9GSUVMRCwgb3B0aW9ucylcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9uczogUGFydGlhbDxPbWl0PEpjQ2hvaWNlRmllbGRJbnB1dCwgJ2luc3RhbmNlSWQnPj4pOiB0aGlzIHtcbiAgICBzdXBlci53aXRoKG9wdGlvbnMpXG5cbiAgICBpZiAob3B0aW9ucy5kYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gbm9ybWFsaXplRGF0YXNvdXJjZShvcHRpb25zLmRhdGEpXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmluaXRpYWxWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuaW5pdGlhbFZhbHVlID0gb3B0aW9ucy5pbml0aWFsVmFsdWVcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnZhbHVlID0gb3B0aW9ucy52YWx1ZVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pc011bHRpcGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5pc011bHRpcGxlID0gdG9Cb29sZWFuT3JFeHByZXNzaW9uKG9wdGlvbnMuaXNNdWx0aXBsZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuaXRlbXNQZXJSb3cgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLml0ZW1zUGVyUm93ID0gb3B0aW9ucy5pdGVtc1BlclJvd1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKiogRmFjdG9yeSBmb3IgYWRkaW5nIGNob2ljZSBmaWVsZCBpdGVtICovXG4gIHJlYWRvbmx5IGFkZENvbnRyb2wgPSB7XG4gICAgaXRlbTogYXNzaWduQnVpbGRlckZhY3RvcnkoSmNDaG9pY2VGaWVsZEl0ZW1CdWlsZGVyLCB0aGlzLl9jb25maWcsICdpdGVtJyksXG4gIH1cblxuICAvLyBDaG9pY2UgZmllbGQgaGFzIG5vIGZvY3VzL2JsdXIgbGlmZWN5Y2xlIOKAlCBoaWRlIG9uQmx1ciBmcm9tIGJhc2UgY2xhc3NcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgb25CbHVyID0gdW5kZWZpbmVkIGFzIG5ldmVyXG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jc.choice-field.d.ts","sourceRoot":"","sources":["../../src/component/jc.choice-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAMpE,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAE1D,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAGpE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAG9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAGvD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;IAG1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;CAC3C;AASD,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,kBAAkB,CAAC;IAC9E,YAAY,OAAO,EAAE,kBAAkB,EAEtC;IAEQ,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAoB5E;IAGD,QAAQ,CAAC,UAAU;;MAElB;IAGD,SAAkB,MAAM,QAAqB;CAC9C","sourcesContent":["import {\n assignBuilderFactory,\n type DatasourceId,\n type Expression,\n toBooleanOrExpression,\n} from '../abstract/index.js'\nimport { normalizeDatasource } from '../application/index.js'\nimport { JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js'\nimport { JcChoiceFieldItemBuilder } from './jc.choice-field-item.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n/**\n * Choice field specific input interface extending base field.\n */\nexport interface JcChoiceFieldInput extends JcFieldBaseInput {\n /** Data source for choice items */\n readonly data?: DatasourceId | Expression | { datasourceId: string }\n\n /** Initial selected value(s) */\n readonly initialValue?: string | number | boolean | Expression\n\n /** Current selected value(s) */\n readonly value?: string | number | boolean | Expression\n\n /** Whether multiple selection is allowed */\n readonly isMultiple?: boolean | Expression\n\n /** Number of items per row in grid layout */\n readonly itemsPerRow?: number | Expression\n}\n\n/**\n * Builds choice fields for forms, with radio/option selection and validation.\n * @alias component.choice-field\n *\n * Selects options using radio buttons or checkboxes interface with\n * grid layout and custom templates.\n */\nexport class JcChoiceFieldBuilder extends JcFieldBaseBuilder<JcChoiceFieldInput> {\n constructor(options: JcChoiceFieldInput) {\n super(COMPONENT_TYPE.CHOICE_FIELD, options)\n }\n\n override with(options: Partial<Omit<JcChoiceFieldInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options.data !== undefined) {\n this._config.data = normalizeDatasource(options.data)\n }\n if (options.initialValue !== undefined) {\n this._config.initialValue = options.initialValue\n }\n if (options.value !== undefined) {\n this._config.value = options.value\n }\n if (options.isMultiple !== undefined) {\n this._config.isMultiple = toBooleanOrExpression(options.isMultiple)\n }\n if (options.itemsPerRow !== undefined) {\n this._config.itemsPerRow = options.itemsPerRow\n }\n\n return this\n }\n\n /** Factory for adding choice field item */\n readonly addControl = {\n item: assignBuilderFactory(JcChoiceFieldItemBuilder, this._config, 'item'),\n }\n\n // Choice field has no focus/blur lifecycle — hide onBlur from base class\n override readonly onBlur = undefined as never\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { assignBuilderFactory, toBooleanOrExpression, } from '../abstract/index.js';
|
|
2
|
+
import { normalizeDatasource } from '../application/index.js';
|
|
3
|
+
import { JcFieldBaseBuilder } from './common/index.js';
|
|
4
|
+
import { JcChoiceFieldItemBuilder } from './jc.choice-field-item.js';
|
|
5
|
+
import { COMPONENT_TYPE } from './jc.types.js';
|
|
6
|
+
export class JcChoiceFieldBuilder extends JcFieldBaseBuilder {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super(COMPONENT_TYPE.CHOICE_FIELD, options);
|
|
9
|
+
}
|
|
10
|
+
with(options) {
|
|
11
|
+
super.with(options);
|
|
12
|
+
if (options.data !== undefined) {
|
|
13
|
+
this._config.data = normalizeDatasource(options.data);
|
|
14
|
+
}
|
|
15
|
+
if (options.initialValue !== undefined) {
|
|
16
|
+
this._config.initialValue = options.initialValue;
|
|
17
|
+
}
|
|
18
|
+
if (options.value !== undefined) {
|
|
19
|
+
this._config.value = options.value;
|
|
20
|
+
}
|
|
21
|
+
if (options.isMultiple !== undefined) {
|
|
22
|
+
this._config.isMultiple = toBooleanOrExpression(options.isMultiple);
|
|
23
|
+
}
|
|
24
|
+
if (options.itemsPerRow !== undefined) {
|
|
25
|
+
this._config.itemsPerRow = options.itemsPerRow;
|
|
26
|
+
}
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
addControl = {
|
|
30
|
+
item: assignBuilderFactory(JcChoiceFieldItemBuilder, this._config, 'item'),
|
|
31
|
+
};
|
|
32
|
+
onBlur = undefined;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY2hvaWNlLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudC9qYy5jaG9pY2UtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9CQUFvQixFQUdwQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sbUJBQW1CLENBQUE7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQTZCOUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFzQztJQUM5RSxZQUFZLE9BQTJCLEVBQUU7UUFDdkMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFBQSxDQUM1QztJQUVRLElBQUksQ0FBQyxPQUF3RCxFQUFRO1FBQzVFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFbkIsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUE7UUFDbEQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQ3BDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtRQUNoRCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBR1EsVUFBVSxHQUFHO1FBQ3BCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztLQUMzRSxDQUFBO0lBR2lCLE1BQU0sR0FBRyxTQUFrQixDQUFBO0NBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXNzaWduQnVpbGRlckZhY3RvcnksXG4gIHR5cGUgRGF0YXNvdXJjZUlkLFxuICB0eXBlIEV4cHJlc3Npb24sXG4gIHRvQm9vbGVhbk9yRXhwcmVzc2lvbixcbn0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyBub3JtYWxpemVEYXRhc291cmNlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24vaW5kZXguanMnXG5pbXBvcnQgeyBKY0ZpZWxkQmFzZUJ1aWxkZXIsIHR5cGUgSmNGaWVsZEJhc2VJbnB1dCB9IGZyb20gJy4vY29tbW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgSmNDaG9pY2VGaWVsZEl0ZW1CdWlsZGVyIH0gZnJvbSAnLi9qYy5jaG9pY2UtZmllbGQtaXRlbS5qcydcbmltcG9ydCB7IENPTVBPTkVOVF9UWVBFIH0gZnJvbSAnLi9qYy50eXBlcy5qcydcblxuLyoqXG4gKiBDaG9pY2UgZmllbGQgc3BlY2lmaWMgaW5wdXQgaW50ZXJmYWNlIGV4dGVuZGluZyBiYXNlIGZpZWxkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjQ2hvaWNlRmllbGRJbnB1dCBleHRlbmRzIEpjRmllbGRCYXNlSW5wdXQge1xuICAvKiogRGF0YSBzb3VyY2UgZm9yIGNob2ljZSBpdGVtcyAqL1xuICByZWFkb25seSBkYXRhPzogRGF0YXNvdXJjZUlkIHwgRXhwcmVzc2lvbiB8IHsgZGF0YXNvdXJjZUlkOiBzdHJpbmcgfVxuXG4gIC8qKiBJbml0aWFsIHNlbGVjdGVkIHZhbHVlKHMpICovXG4gIHJlYWRvbmx5IGluaXRpYWxWYWx1ZT86IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBFeHByZXNzaW9uXG5cbiAgLyoqIEN1cnJlbnQgc2VsZWN0ZWQgdmFsdWUocykgKi9cbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgRXhwcmVzc2lvblxuXG4gIC8qKiBXaGV0aGVyIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBhbGxvd2VkICovXG4gIHJlYWRvbmx5IGlzTXVsdGlwbGU/OiBib29sZWFuIHwgRXhwcmVzc2lvblxuXG4gIC8qKiBOdW1iZXIgb2YgaXRlbXMgcGVyIHJvdyBpbiBncmlkIGxheW91dCAqL1xuICByZWFkb25seSBpdGVtc1BlclJvdz86IG51bWJlciB8IEV4cHJlc3Npb25cbn1cblxuLyoqXG4gKiBCdWlsZHMgY2hvaWNlIGZpZWxkcyBmb3IgZm9ybXMsIHdpdGggcmFkaW8vb3B0aW9uIHNlbGVjdGlvbiBhbmQgdmFsaWRhdGlvbi5cbiAqIEBhbGlhcyBjb21wb25lbnQuY2hvaWNlLWZpZWxkXG4gKlxuICogU2VsZWN0cyBvcHRpb25zIHVzaW5nIHJhZGlvIGJ1dHRvbnMgb3IgY2hlY2tib3hlcyBpbnRlcmZhY2Ugd2l0aFxuICogZ3JpZCBsYXlvdXQgYW5kIGN1c3RvbSB0ZW1wbGF0ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBKY0Nob2ljZUZpZWxkQnVpbGRlciBleHRlbmRzIEpjRmllbGRCYXNlQnVpbGRlcjxKY0Nob2ljZUZpZWxkSW5wdXQ+IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNDaG9pY2VGaWVsZElucHV0KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ0hPSUNFX0ZJRUxELCBvcHRpb25zKVxuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zOiBQYXJ0aWFsPE9taXQ8SmNDaG9pY2VGaWVsZElucHV0LCAnaW5zdGFuY2VJZCc+Pik6IHRoaXMge1xuICAgIHN1cGVyLndpdGgob3B0aW9ucylcblxuICAgIGlmIChvcHRpb25zLmRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLmRhdGEgPSBub3JtYWxpemVEYXRhc291cmNlKG9wdGlvbnMuZGF0YSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuaW5pdGlhbFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5pbml0aWFsVmFsdWUgPSBvcHRpb25zLmluaXRpYWxWYWx1ZVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcudmFsdWUgPSBvcHRpb25zLnZhbHVlXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmlzTXVsdGlwbGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLmlzTXVsdGlwbGUgPSB0b0Jvb2xlYW5PckV4cHJlc3Npb24ob3B0aW9ucy5pc011bHRpcGxlKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pdGVtc1BlclJvdyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuaXRlbXNQZXJSb3cgPSBvcHRpb25zLml0ZW1zUGVyUm93XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKiBGYWN0b3J5IGZvciBhZGRpbmcgY2hvaWNlIGZpZWxkIGl0ZW0gKi9cbiAgcmVhZG9ubHkgYWRkQ29udHJvbCA9IHtcbiAgICBpdGVtOiBhc3NpZ25CdWlsZGVyRmFjdG9yeShKY0Nob2ljZUZpZWxkSXRlbUJ1aWxkZXIsIHRoaXMuX2NvbmZpZywgJ2l0ZW0nKSxcbiAgfVxuXG4gIC8vIENob2ljZSBmaWVsZCBoYXMgbm8gZm9jdXMvYmx1ciBsaWZlY3ljbGUg4oCUIGhpZGUgb25CbHVyIGZyb20gYmFzZSBjbGFzc1xuICBvdmVycmlkZSByZWFkb25seSBvbkJsdXIgPSB1bmRlZmluZWQgYXMgbmV2ZXJcbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Expression } from '../abstract/index.js';
|
|
2
|
+
import { type CountDownAlign, type CountDownSize, type JcCountDownLabels } from './common/index.js';
|
|
3
|
+
import { type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js';
|
|
4
|
+
export interface JcCountDownInput extends JcBaseInput {
|
|
5
|
+
readonly expiresAt?: string | Expression;
|
|
6
|
+
readonly align?: CountDownAlign | Expression;
|
|
7
|
+
readonly size?: CountDownSize | Expression;
|
|
8
|
+
readonly labels?: JcCountDownLabels;
|
|
9
|
+
}
|
|
10
|
+
export declare class JcCountDownBuilder extends ComponentBaseBuilder<JcCountDownInput> {
|
|
11
|
+
readonly onPress: import("../action/ja.in-background.factory.js").ActionInBackgroundBuilders;
|
|
12
|
+
readonly onFinish: import("../action/ja.in-background.factory.js").ActionInBackgroundBuilders;
|
|
13
|
+
constructor(options?: JcCountDownInput);
|
|
14
|
+
expiresAt(timestamp: string | Expression): this;
|
|
15
|
+
with(options?: Partial<Omit<JcCountDownInput, 'instanceId'>>): this;
|
|
16
|
+
_validate(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY291bnQtZG93bi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudC9qYy5jb3VudC1kb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBd0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUU1RSxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssYUFBYSxFQUNsQixLQUFLLGlCQUFpQixFQUl2QixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBTXpFLE1BQU0sV0FBVyxnQkFBaUIsU0FBUSxXQUFXO0lBQ25ELFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUFBO0lBQ3hDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxjQUFjLEdBQUcsVUFBVSxDQUFBO0lBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEdBQUcsVUFBVSxDQUFBO0lBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxpQkFBaUIsQ0FBQTtDQUNwQztBQU1ELHFCQUFhLGtCQUFtQixTQUFRLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDO0lBRTVFLFFBQVEsQ0FBQyxPQUFPLDZFQUVkO0lBR0YsUUFBUSxDQUFDLFFBQVEsNkVBRWY7SUFFRixZQUFZLE9BQU8sR0FBRSxnQkFBcUIsRUFrQnpDO0lBTUQsU0FBUyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FHOUM7SUFFUSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FpQjNFO0lBRVEsU0FBUyxJQUFJLElBQUksQ0FJekI7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRXhwcmVzc2lvbiwgdG9TdHJpbmdPckV4cHJlc3Npb24gfSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbkluQmFja2dyb3VuZEJ1aWxkZXJzRmFjdG9yeSB9IGZyb20gJy4uL2FjdGlvbi9qYS5pbi1iYWNrZ3JvdW5kLmZhY3RvcnkuanMnXG5pbXBvcnQge1xuICB0eXBlIENvdW50RG93bkFsaWduLFxuICB0eXBlIENvdW50RG93blNpemUsXG4gIHR5cGUgSmNDb3VudERvd25MYWJlbHMsXG4gIHRvQ291bnREb3duQWxpZ24sXG4gIHRvQ291bnREb3duTGFiZWxzLFxuICB0b0NvdW50RG93blNpemUsXG59IGZyb20gJy4vY29tbW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBKY0Jhc2VJbnB1dCwgQ29tcG9uZW50QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2pjLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX1RZUEUgfSBmcm9tICcuL2pjLnR5cGVzLmpzJ1xuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGNvdW50ZG93biBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSmNDb3VudERvd25JbnB1dCBleHRlbmRzIEpjQmFzZUlucHV0IHtcbiAgcmVhZG9ubHkgZXhwaXJlc0F0Pzogc3RyaW5nIHwgRXhwcmVzc2lvblxuICByZWFkb25seSBhbGlnbj86IENvdW50RG93bkFsaWduIHwgRXhwcmVzc2lvblxuICByZWFkb25seSBzaXplPzogQ291bnREb3duU2l6ZSB8IEV4cHJlc3Npb25cbiAgcmVhZG9ubHkgbGFiZWxzPzogSmNDb3VudERvd25MYWJlbHNcbn1cblxuLyoqXG4gKiBCdWlsZHMgY291bnRkb3duIHRpbWVycyB3aXRoIHJlbWFpbmluZyB0aW1lIGRpc3BsYXksIGFjdGlvbnMuXG4gKiBAYWxpYXMgY29tcG9uZW50LmNvdW50ZG93blxuICovXG5leHBvcnQgY2xhc3MgSmNDb3VudERvd25CdWlsZGVyIGV4dGVuZHMgQ29tcG9uZW50QmFzZUJ1aWxkZXI8SmNDb3VudERvd25JbnB1dD4ge1xuICAvKiogQ29uZmlndXJlcyBjb3VudGRvd24gaW50ZXJhY3Rpb25zLiAqL1xuICByZWFkb25seSBvblByZXNzID0gY3JlYXRlQWN0aW9uSW5CYWNrZ3JvdW5kQnVpbGRlcnNGYWN0b3J5KChhY3Rpb24pID0+IHtcbiAgICB0aGlzLl9zZXRUb0NvbmZpZygnb25QcmVzcycsIGFjdGlvbilcbiAgfSlcblxuICAvKiogQ29uZmlndXJlcyBleHBpcmF0aW9uIGFjdGlvbnMuICovXG4gIHJlYWRvbmx5IG9uRmluaXNoID0gY3JlYXRlQWN0aW9uSW5CYWNrZ3JvdW5kQnVpbGRlcnNGYWN0b3J5KChhY3Rpb24pID0+IHtcbiAgICB0aGlzLl9zZXRUb0NvbmZpZygnb25GaW5pc2gnLCBhY3Rpb24pXG4gIH0pXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNDb3VudERvd25JbnB1dCA9IHt9KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ09VTlRET1dOLCBvcHRpb25zKVxuXG4gICAgLy8gRGVmYXVsdCB0byA2IGhvdXJzIGZyb20gbm93XG4gICAgdGhpcy5fY29uZmlnLmV4cGlyZXNBdCA9IG5ldyBEYXRlKERhdGUubm93KCkgKyA2ICogNjAgKiA2MCAqIDEwMDApLnRvSVNPU3RyaW5nKClcblxuICAgIGlmIChvcHRpb25zLmV4cGlyZXNBdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuZXhwaXJlc0F0ID0gdG9TdHJpbmdPckV4cHJlc3Npb24ob3B0aW9ucy5leHBpcmVzQXQpXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmFsaWduICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5hbGlnbiA9IHRvQ291bnREb3duQWxpZ24ob3B0aW9ucy5hbGlnbilcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuc2l6ZSA9IHRvQ291bnREb3duU2l6ZShvcHRpb25zLnNpemUpXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmxhYmVscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcubGFiZWxzID0gdG9Db3VudERvd25MYWJlbHMob3B0aW9ucy5sYWJlbHMpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGFyZ2V0IGV4cGlyYXRpb24gdGltZS5cbiAgICogQHBhcmFtIHRpbWVzdGFtcCBJU08gODYwMSBkYXRlL3RpbWUgc3RyaW5nIG9yIGV4cHJlc3Npb25cbiAgICovXG4gIGV4cGlyZXNBdCh0aW1lc3RhbXA6IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9jb25maWcuZXhwaXJlc0F0ID0gdG9TdHJpbmdPckV4cHJlc3Npb24odGltZXN0YW1wKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBvdmVycmlkZSB3aXRoKG9wdGlvbnM/OiBQYXJ0aWFsPE9taXQ8SmNDb3VudERvd25JbnB1dCwgJ2luc3RhbmNlSWQnPj4pOiB0aGlzIHtcbiAgICBzdXBlci53aXRoKG9wdGlvbnMpXG5cbiAgICBpZiAob3B0aW9ucz8uZXhwaXJlc0F0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5leHBpcmVzQXQgPSB0b1N0cmluZ09yRXhwcmVzc2lvbihvcHRpb25zLmV4cGlyZXNBdClcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmFsaWduICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5hbGlnbiA9IHRvQ291bnREb3duQWxpZ24ob3B0aW9ucy5hbGlnbilcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LnNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnNpemUgPSB0b0NvdW50RG93blNpemUob3B0aW9ucy5zaXplKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ubGFiZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5sYWJlbHMgPSB0b0NvdW50RG93bkxhYmVscyhvcHRpb25zLmxhYmVscylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgb3ZlcnJpZGUgX3ZhbGlkYXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29uZmlnLmV4cGlyZXNBdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VudGRvd24gZXhwaXJlc0F0IGlzIHJlcXVpcmVkJylcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jc.count-down.d.ts","sourceRoot":"","sources":["../../src/component/jc.count-down.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,sBAAsB,CAAA;AAE5E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAIvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAMzE,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAA;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,UAAU,CAAA;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;CACpC;AAMD,qBAAa,kBAAmB,SAAQ,oBAAoB,CAAC,gBAAgB,CAAC;IAE5E,QAAQ,CAAC,OAAO,6EAEd;IAGF,QAAQ,CAAC,QAAQ,6EAEf;IAEF,YAAY,OAAO,GAAE,gBAAqB,EAkBzC;IAMD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAG9C;IAEQ,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAiB3E;IAEQ,SAAS,IAAI,IAAI,CAIzB;CACF","sourcesContent":["import { type Expression, toStringOrExpression } from '../abstract/index.js'\nimport { createActionInBackgroundBuildersFactory } from '../action/ja.in-background.factory.js'\nimport {\n type CountDownAlign,\n type CountDownSize,\n type JcCountDownLabels,\n toCountDownAlign,\n toCountDownLabels,\n toCountDownSize,\n} from './common/index.js'\nimport { type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n/**\n * Input options for countdown component.\n */\nexport interface JcCountDownInput extends JcBaseInput {\n readonly expiresAt?: string | Expression\n readonly align?: CountDownAlign | Expression\n readonly size?: CountDownSize | Expression\n readonly labels?: JcCountDownLabels\n}\n\n/**\n * Builds countdown timers with remaining time display, actions.\n * @alias component.countdown\n */\nexport class JcCountDownBuilder extends ComponentBaseBuilder<JcCountDownInput> {\n /** Configures countdown interactions. */\n readonly onPress = createActionInBackgroundBuildersFactory((action) => {\n this._setToConfig('onPress', action)\n })\n\n /** Configures expiration actions. */\n readonly onFinish = createActionInBackgroundBuildersFactory((action) => {\n this._setToConfig('onFinish', action)\n })\n\n constructor(options: JcCountDownInput = {}) {\n super(COMPONENT_TYPE.COUNTDOWN, options)\n\n // Default to 6 hours from now\n this._config.expiresAt = new Date(Date.now() + 6 * 60 * 60 * 1000).toISOString()\n\n if (options.expiresAt !== undefined) {\n this._config.expiresAt = toStringOrExpression(options.expiresAt)\n }\n if (options.align !== undefined) {\n this._config.align = toCountDownAlign(options.align)\n }\n if (options.size !== undefined) {\n this._config.size = toCountDownSize(options.size)\n }\n if (options.labels !== undefined) {\n this._config.labels = toCountDownLabels(options.labels)\n }\n }\n\n /**\n * Sets target expiration time.\n * @param timestamp ISO 8601 date/time string or expression\n */\n expiresAt(timestamp: string | Expression): this {\n this._config.expiresAt = toStringOrExpression(timestamp)\n return this\n }\n\n override with(options?: Partial<Omit<JcCountDownInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options?.expiresAt !== undefined) {\n this._config.expiresAt = toStringOrExpression(options.expiresAt)\n }\n if (options?.align !== undefined) {\n this._config.align = toCountDownAlign(options.align)\n }\n if (options?.size !== undefined) {\n this._config.size = toCountDownSize(options.size)\n }\n if (options?.labels !== undefined) {\n this._config.labels = toCountDownLabels(options.labels)\n }\n\n return this\n }\n\n override _validate(): void {\n if (!this._config.expiresAt) {\n throw new Error('Countdown expiresAt is required')\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { toStringOrExpression } from '../abstract/index.js';
|
|
2
|
+
import { createActionInBackgroundBuildersFactory } from '../action/ja.in-background.factory.js';
|
|
3
|
+
import { toCountDownAlign, toCountDownLabels, toCountDownSize, } from './common/index.js';
|
|
4
|
+
import { ComponentBaseBuilder } from './jc.abstract.js';
|
|
5
|
+
import { COMPONENT_TYPE } from './jc.types.js';
|
|
6
|
+
export class JcCountDownBuilder extends ComponentBaseBuilder {
|
|
7
|
+
onPress = createActionInBackgroundBuildersFactory((action) => {
|
|
8
|
+
this._setToConfig('onPress', action);
|
|
9
|
+
});
|
|
10
|
+
onFinish = createActionInBackgroundBuildersFactory((action) => {
|
|
11
|
+
this._setToConfig('onFinish', action);
|
|
12
|
+
});
|
|
13
|
+
constructor(options = {}) {
|
|
14
|
+
super(COMPONENT_TYPE.COUNTDOWN, options);
|
|
15
|
+
this._config.expiresAt = new Date(Date.now() + 6 * 60 * 60 * 1000).toISOString();
|
|
16
|
+
if (options.expiresAt !== undefined) {
|
|
17
|
+
this._config.expiresAt = toStringOrExpression(options.expiresAt);
|
|
18
|
+
}
|
|
19
|
+
if (options.align !== undefined) {
|
|
20
|
+
this._config.align = toCountDownAlign(options.align);
|
|
21
|
+
}
|
|
22
|
+
if (options.size !== undefined) {
|
|
23
|
+
this._config.size = toCountDownSize(options.size);
|
|
24
|
+
}
|
|
25
|
+
if (options.labels !== undefined) {
|
|
26
|
+
this._config.labels = toCountDownLabels(options.labels);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
expiresAt(timestamp) {
|
|
30
|
+
this._config.expiresAt = toStringOrExpression(timestamp);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
with(options) {
|
|
34
|
+
super.with(options);
|
|
35
|
+
if (options?.expiresAt !== undefined) {
|
|
36
|
+
this._config.expiresAt = toStringOrExpression(options.expiresAt);
|
|
37
|
+
}
|
|
38
|
+
if (options?.align !== undefined) {
|
|
39
|
+
this._config.align = toCountDownAlign(options.align);
|
|
40
|
+
}
|
|
41
|
+
if (options?.size !== undefined) {
|
|
42
|
+
this._config.size = toCountDownSize(options.size);
|
|
43
|
+
}
|
|
44
|
+
if (options?.labels !== undefined) {
|
|
45
|
+
this._config.labels = toCountDownLabels(options.labels);
|
|
46
|
+
}
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
_validate() {
|
|
50
|
+
if (!this._config.expiresAt) {
|
|
51
|
+
throw new Error('Countdown expiresAt is required');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY291bnQtZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuY291bnQtZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDNUUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDL0YsT0FBTyxFQUlMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsZUFBZSxHQUNoQixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBb0Isb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBZ0I5QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQXNDO0lBRW5FLE9BQU8sR0FBRyx1Q0FBdUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFBQSxDQUNyQyxDQUFDLENBQUE7SUFHTyxRQUFRLEdBQUcsdUNBQXVDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQUEsQ0FDdEMsQ0FBQyxDQUFBO0lBRUYsWUFBWSxPQUFPLEdBQXFCLEVBQUUsRUFBRTtRQUMxQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUd4QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFaEYsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNsRSxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN0RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbkQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDekQsQ0FBQztJQUFBLENBQ0Y7SUFNRCxTQUFTLENBQUMsU0FBOEIsRUFBUTtRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN4RCxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFFUSxJQUFJLENBQUMsT0FBdUQsRUFBUTtRQUMzRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRW5CLElBQUksT0FBTyxFQUFFLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDbEUsQ0FBQztRQUNELElBQUksT0FBTyxFQUFFLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEQsQ0FBQztRQUNELElBQUksT0FBTyxFQUFFLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFFUSxTQUFTLEdBQVM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQ3BELENBQUM7SUFBQSxDQUNGO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEV4cHJlc3Npb24sIHRvU3RyaW5nT3JFeHByZXNzaW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyBjcmVhdGVBY3Rpb25JbkJhY2tncm91bmRCdWlsZGVyc0ZhY3RvcnkgfSBmcm9tICcuLi9hY3Rpb24vamEuaW4tYmFja2dyb3VuZC5mYWN0b3J5LmpzJ1xuaW1wb3J0IHtcbiAgdHlwZSBDb3VudERvd25BbGlnbixcbiAgdHlwZSBDb3VudERvd25TaXplLFxuICB0eXBlIEpjQ291bnREb3duTGFiZWxzLFxuICB0b0NvdW50RG93bkFsaWduLFxuICB0b0NvdW50RG93bkxhYmVscyxcbiAgdG9Db3VudERvd25TaXplLFxufSBmcm9tICcuL2NvbW1vbi9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgSmNCYXNlSW5wdXQsIENvbXBvbmVudEJhc2VCdWlsZGVyIH0gZnJvbSAnLi9qYy5hYnN0cmFjdC5qcydcbmltcG9ydCB7IENPTVBPTkVOVF9UWVBFIH0gZnJvbSAnLi9qYy50eXBlcy5qcydcblxuLyoqXG4gKiBJbnB1dCBvcHRpb25zIGZvciBjb3VudGRvd24gY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjQ291bnREb3duSW5wdXQgZXh0ZW5kcyBKY0Jhc2VJbnB1dCB7XG4gIHJlYWRvbmx5IGV4cGlyZXNBdD86IHN0cmluZyB8IEV4cHJlc3Npb25cbiAgcmVhZG9ubHkgYWxpZ24/OiBDb3VudERvd25BbGlnbiB8IEV4cHJlc3Npb25cbiAgcmVhZG9ubHkgc2l6ZT86IENvdW50RG93blNpemUgfCBFeHByZXNzaW9uXG4gIHJlYWRvbmx5IGxhYmVscz86IEpjQ291bnREb3duTGFiZWxzXG59XG5cbi8qKlxuICogQnVpbGRzIGNvdW50ZG93biB0aW1lcnMgd2l0aCByZW1haW5pbmcgdGltZSBkaXNwbGF5LCBhY3Rpb25zLlxuICogQGFsaWFzIGNvbXBvbmVudC5jb3VudGRvd25cbiAqL1xuZXhwb3J0IGNsYXNzIEpjQ291bnREb3duQnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjQ291bnREb3duSW5wdXQ+IHtcbiAgLyoqIENvbmZpZ3VyZXMgY291bnRkb3duIGludGVyYWN0aW9ucy4gKi9cbiAgcmVhZG9ubHkgb25QcmVzcyA9IGNyZWF0ZUFjdGlvbkluQmFja2dyb3VuZEJ1aWxkZXJzRmFjdG9yeSgoYWN0aW9uKSA9PiB7XG4gICAgdGhpcy5fc2V0VG9Db25maWcoJ29uUHJlc3MnLCBhY3Rpb24pXG4gIH0pXG5cbiAgLyoqIENvbmZpZ3VyZXMgZXhwaXJhdGlvbiBhY3Rpb25zLiAqL1xuICByZWFkb25seSBvbkZpbmlzaCA9IGNyZWF0ZUFjdGlvbkluQmFja2dyb3VuZEJ1aWxkZXJzRmFjdG9yeSgoYWN0aW9uKSA9PiB7XG4gICAgdGhpcy5fc2V0VG9Db25maWcoJ29uRmluaXNoJywgYWN0aW9uKVxuICB9KVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEpjQ291bnREb3duSW5wdXQgPSB7fSkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkNPVU5URE9XTiwgb3B0aW9ucylcblxuICAgIC8vIERlZmF1bHQgdG8gNiBob3VycyBmcm9tIG5vd1xuICAgIHRoaXMuX2NvbmZpZy5leHBpcmVzQXQgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgNiAqIDYwICogNjAgKiAxMDAwKS50b0lTT1N0cmluZygpXG5cbiAgICBpZiAob3B0aW9ucy5leHBpcmVzQXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLmV4cGlyZXNBdCA9IHRvU3RyaW5nT3JFeHByZXNzaW9uKG9wdGlvbnMuZXhwaXJlc0F0KVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5hbGlnbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuYWxpZ24gPSB0b0NvdW50RG93bkFsaWduKG9wdGlvbnMuYWxpZ24pXG4gICAgfVxuICAgIGlmIChvcHRpb25zLnNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnNpemUgPSB0b0NvdW50RG93blNpemUob3B0aW9ucy5zaXplKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5sYWJlbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLmxhYmVscyA9IHRvQ291bnREb3duTGFiZWxzKG9wdGlvbnMubGFiZWxzKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRhcmdldCBleHBpcmF0aW9uIHRpbWUuXG4gICAqIEBwYXJhbSB0aW1lc3RhbXAgSVNPIDg2MDEgZGF0ZS90aW1lIHN0cmluZyBvciBleHByZXNzaW9uXG4gICAqL1xuICBleHBpcmVzQXQodGltZXN0YW1wOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fY29uZmlnLmV4cGlyZXNBdCA9IHRvU3RyaW5nT3JFeHByZXNzaW9uKHRpbWVzdGFtcClcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zPzogUGFydGlhbDxPbWl0PEpjQ291bnREb3duSW5wdXQsICdpbnN0YW5jZUlkJz4+KTogdGhpcyB7XG4gICAgc3VwZXIud2l0aChvcHRpb25zKVxuXG4gICAgaWYgKG9wdGlvbnM/LmV4cGlyZXNBdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuZXhwaXJlc0F0ID0gdG9TdHJpbmdPckV4cHJlc3Npb24ob3B0aW9ucy5leHBpcmVzQXQpXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5hbGlnbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuYWxpZ24gPSB0b0NvdW50RG93bkFsaWduKG9wdGlvbnMuYWxpZ24pXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5zaXplICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5zaXplID0gdG9Db3VudERvd25TaXplKG9wdGlvbnMuc2l6ZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmxhYmVscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcubGFiZWxzID0gdG9Db3VudERvd25MYWJlbHMob3B0aW9ucy5sYWJlbHMpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIG92ZXJyaWRlIF92YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5leHBpcmVzQXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ291bnRkb3duIGV4cGlyZXNBdCBpcyByZXF1aXJlZCcpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Expression } from '../abstract/index.js';
|
|
2
|
+
import { type CountUpSize, type JcCountUpLabels } from './common/index.js';
|
|
3
|
+
import { type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js';
|
|
4
|
+
export interface JcCountUpInput extends JcBaseInput {
|
|
5
|
+
readonly startTimestamp?: number | Expression;
|
|
6
|
+
readonly size?: CountUpSize | Expression;
|
|
7
|
+
readonly labels?: JcCountUpLabels;
|
|
8
|
+
}
|
|
9
|
+
export declare class JcCountUpBuilder extends ComponentBaseBuilder<JcCountUpInput> {
|
|
10
|
+
constructor(options?: JcCountUpInput);
|
|
11
|
+
startTimestamp(timestamp: number | Expression): this;
|
|
12
|
+
with(options?: Partial<Omit<JcCountUpInput, 'instanceId'>>): this;
|
|
13
|
+
_validate(): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY291bnQtdXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuY291bnQtdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUF3QixNQUFNLHNCQUFzQixDQUFBO0FBQzVFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxlQUFlLEVBR3JCLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFNekUsTUFBTSxXQUFXLGNBQWUsU0FBUSxXQUFXO0lBQ2pELFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUFBO0lBQzdDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEdBQUcsVUFBVSxDQUFBO0lBQ3hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxlQUFlLENBQUE7Q0FDbEM7QUFNRCxxQkFBYSxnQkFBaUIsU0FBUSxvQkFBb0IsQ0FBQyxjQUFjLENBQUM7SUFDeEUsWUFBWSxPQUFPLEdBQUUsY0FBbUIsRUFldkM7SUFNRCxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUduRDtJQUVRLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FjekU7SUFFUSxTQUFTLElBQUksSUFBSSxDQUl6QjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBFeHByZXNzaW9uLCB0b051bWJlck9yRXhwcmVzc2lvbiB9IGZyb20gJy4uL2Fic3RyYWN0L2luZGV4LmpzJ1xuaW1wb3J0IHtcbiAgdHlwZSBDb3VudFVwU2l6ZSxcbiAgdHlwZSBKY0NvdW50VXBMYWJlbHMsXG4gIHRvQ291bnRVcExhYmVscyxcbiAgdG9Db3VudFVwU2l6ZSxcbn0gZnJvbSAnLi9jb21tb24vaW5kZXguanMnXG5pbXBvcnQgeyB0eXBlIEpjQmFzZUlucHV0LCBDb21wb25lbnRCYXNlQnVpbGRlciB9IGZyb20gJy4vamMuYWJzdHJhY3QuanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8qKlxuICogSW5wdXQgb3B0aW9ucyBmb3IgY291bnQtdXAgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjQ291bnRVcElucHV0IGV4dGVuZHMgSmNCYXNlSW5wdXQge1xuICByZWFkb25seSBzdGFydFRpbWVzdGFtcD86IG51bWJlciB8IEV4cHJlc3Npb25cbiAgcmVhZG9ubHkgc2l6ZT86IENvdW50VXBTaXplIHwgRXhwcmVzc2lvblxuICByZWFkb25seSBsYWJlbHM/OiBKY0NvdW50VXBMYWJlbHNcbn1cblxuLyoqXG4gKiBCdWlsZHMgY291bnQtdXAgdGltZXJzIHdpdGggZWxhcHNlZCB0aW1lIGRpc3BsYXksIGxhYmVscy5cbiAqIEBhbGlhcyBjb21wb25lbnQuY291bnQtdXBcbiAqL1xuZXhwb3J0IGNsYXNzIEpjQ291bnRVcEJ1aWxkZXIgZXh0ZW5kcyBDb21wb25lbnRCYXNlQnVpbGRlcjxKY0NvdW50VXBJbnB1dD4ge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKY0NvdW50VXBJbnB1dCA9IHt9KSB7XG4gICAgc3VwZXIoQ09NUE9ORU5UX1RZUEUuQ09VTlRfVVAsIG9wdGlvbnMpXG5cbiAgICAvLyBEZWZhdWx0IHN0YXJ0VGltZXN0YW1wIHRvIG5vd1xuICAgIHRoaXMuX2NvbmZpZy5zdGFydFRpbWVzdGFtcCA9IERhdGUubm93KClcblxuICAgIGlmIChvcHRpb25zLnN0YXJ0VGltZXN0YW1wICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5zdGFydFRpbWVzdGFtcCA9IHRvTnVtYmVyT3JFeHByZXNzaW9uKG9wdGlvbnMuc3RhcnRUaW1lc3RhbXApXG4gICAgfVxuICAgIGlmIChvcHRpb25zLnNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnNpemUgPSB0b0NvdW50VXBTaXplKG9wdGlvbnMuc2l6ZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubGFiZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5sYWJlbHMgPSB0b0NvdW50VXBMYWJlbHMob3B0aW9ucy5sYWJlbHMpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgc3RhcnRpbmcgdGltZXN0YW1wIGZvciB0aW1lci5cbiAgICogQHBhcmFtIHRpbWVzdGFtcCBVbml4IHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHNcbiAgICovXG4gIHN0YXJ0VGltZXN0YW1wKHRpbWVzdGFtcDogbnVtYmVyIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX2NvbmZpZy5zdGFydFRpbWVzdGFtcCA9IHRvTnVtYmVyT3JFeHByZXNzaW9uKHRpbWVzdGFtcClcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zPzogUGFydGlhbDxPbWl0PEpjQ291bnRVcElucHV0LCAnaW5zdGFuY2VJZCc+Pik6IHRoaXMge1xuICAgIHN1cGVyLndpdGgob3B0aW9ucylcblxuICAgIGlmIChvcHRpb25zPy5zdGFydFRpbWVzdGFtcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuc3RhcnRUaW1lc3RhbXAgPSB0b051bWJlck9yRXhwcmVzc2lvbihvcHRpb25zLnN0YXJ0VGltZXN0YW1wKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucz8uc2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuc2l6ZSA9IHRvQ291bnRVcFNpemUob3B0aW9ucy5zaXplKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ubGFiZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5sYWJlbHMgPSB0b0NvdW50VXBMYWJlbHMob3B0aW9ucy5sYWJlbHMpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIG92ZXJyaWRlIF92YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29uZmlnLnN0YXJ0VGltZXN0YW1wID09PSB1bmRlZmluZWQgfHwgdGhpcy5fY29uZmlnLnN0YXJ0VGltZXN0YW1wID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdW50LXVwIHN0YXJ0VGltZXN0YW1wIGlzIHJlcXVpcmVkJylcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jc.count-up.d.ts","sourceRoot":"","sources":["../../src/component/jc.count-up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EAGrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAMzE,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;CAClC;AAMD,qBAAa,gBAAiB,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IACxE,YAAY,OAAO,GAAE,cAAmB,EAevC;IAMD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGnD;IAEQ,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAczE;IAEQ,SAAS,IAAI,IAAI,CAIzB;CACF","sourcesContent":["import { type Expression, toNumberOrExpression } from '../abstract/index.js'\nimport {\n type CountUpSize,\n type JcCountUpLabels,\n toCountUpLabels,\n toCountUpSize,\n} from './common/index.js'\nimport { type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n/**\n * Input options for count-up component.\n */\nexport interface JcCountUpInput extends JcBaseInput {\n readonly startTimestamp?: number | Expression\n readonly size?: CountUpSize | Expression\n readonly labels?: JcCountUpLabels\n}\n\n/**\n * Builds count-up timers with elapsed time display, labels.\n * @alias component.count-up\n */\nexport class JcCountUpBuilder extends ComponentBaseBuilder<JcCountUpInput> {\n constructor(options: JcCountUpInput = {}) {\n super(COMPONENT_TYPE.COUNT_UP, options)\n\n // Default startTimestamp to now\n this._config.startTimestamp = Date.now()\n\n if (options.startTimestamp !== undefined) {\n this._config.startTimestamp = toNumberOrExpression(options.startTimestamp)\n }\n if (options.size !== undefined) {\n this._config.size = toCountUpSize(options.size)\n }\n if (options.labels !== undefined) {\n this._config.labels = toCountUpLabels(options.labels)\n }\n }\n\n /**\n * Sets starting timestamp for timer.\n * @param timestamp Unix timestamp in milliseconds\n */\n startTimestamp(timestamp: number | Expression): this {\n this._config.startTimestamp = toNumberOrExpression(timestamp)\n return this\n }\n\n override with(options?: Partial<Omit<JcCountUpInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options?.startTimestamp !== undefined) {\n this._config.startTimestamp = toNumberOrExpression(options.startTimestamp)\n }\n if (options?.size !== undefined) {\n this._config.size = toCountUpSize(options.size)\n }\n if (options?.labels !== undefined) {\n this._config.labels = toCountUpLabels(options.labels)\n }\n\n return this\n }\n\n override _validate(): void {\n if (this._config.startTimestamp === undefined || this._config.startTimestamp === null) {\n throw new Error('Count-up startTimestamp is required')\n }\n }\n}\n"]}
|