├── .env.dist ├── .eslintignore ├── .eslintrc ├── .gitignore ├── .mocharc.json ├── .npmignore ├── .prettierignore ├── DEVELOPER.README.md ├── LICENSE.txt ├── README.md ├── bower.json ├── copyright.txt ├── extra └── footer-umd-package.js ├── index.html ├── mocha.opts ├── package-lock.json ├── package.json ├── src ├── _interfaces │ ├── generated-metadata │ │ ├── icon-library.json │ │ ├── readme.md │ │ ├── sass-metadata.json │ │ ├── sass-output.json │ │ ├── sass-schema.json │ │ └── schema.json │ └── index.ts ├── ch5-animation │ ├── ch5-animation.spec.ts │ ├── ch5-animation.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-animation-attributes.ts │ │ ├── i-ch5-animation-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-animation.ts ├── ch5-background │ ├── ch5-background.spec.ts │ ├── ch5-background.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-background-attributes.ts │ │ ├── i-ch5-background-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-background.ts ├── ch5-base │ ├── ch5-base-class.ts │ └── ch5-base-log.ts ├── ch5-button-list │ ├── base-classes │ │ ├── ch5-button-list-base.ts │ │ ├── ch5-button-list-individual-button-base.ts │ │ ├── ch5-button-list-label-base.ts │ │ ├── ch5-button-list-mode-base.ts │ │ └── ch5-button-list-mode-state-base.ts │ ├── ch5-button-list-individual-button.ts │ ├── ch5-button-list-label.ts │ ├── ch5-button-list-mode-state.ts │ ├── ch5-button-list-mode.ts │ ├── ch5-button-list.spec.ts │ ├── ch5-button-list.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-button-list-attributes.ts │ │ ├── i-ch5-button-list-documentation.ts │ │ ├── i-ch5-button-list-individual-button-attributes.ts │ │ ├── i-ch5-button-list-individual-button-documentation.ts │ │ ├── i-ch5-button-list-label-documentation.ts │ │ ├── i-ch5-button-list-mode-attributes.ts │ │ ├── i-ch5-button-list-mode-documentation.ts │ │ ├── i-ch5-button-list-mode-state-attributes.ts │ │ ├── i-ch5-button-list-mode-state-documentation.ts │ │ ├── index.ts │ │ ├── t-ch5-button-list.ts │ │ └── t-for-ch5-button-list-contract.ts ├── ch5-button │ ├── ch5-button-base.ts │ ├── ch5-button-label.ts │ ├── ch5-button-mode-state.ts │ ├── ch5-button-mode.ts │ ├── ch5-button-pressinfo.ts │ ├── ch5-button-signal.ts │ ├── ch5-button-utils.ts │ ├── ch5-button.spec.ts │ ├── ch5-button.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-button-attributes.ts │ │ ├── i-ch5-button-documentation.ts │ │ ├── i-ch5-button-label-attributes.ts │ │ ├── i-ch5-button-mode-attributes.ts │ │ ├── i-ch5-button-mode-common.ts │ │ ├── i-ch5-button-mode-state-attributes.ts │ │ ├── i-ch5-button.ts │ │ ├── index.ts │ │ ├── t-ch5-button.ts │ │ └── t-for-ch5-button-list-contract.ts ├── ch5-color-chip │ ├── ch5-color-chip.spec.ts │ ├── ch5-color-chip.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-color-chip-attributes.ts │ │ ├── i-ch5-color-chip-documentation.ts │ │ └── index.ts ├── ch5-color-picker │ ├── ch5-color-picker.spec.ts │ ├── ch5-color-picker.ts │ ├── color-picker.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-color-picker-attributes.ts │ │ ├── i-ch5-color-picker-documentation.ts │ │ └── index.ts ├── ch5-common-input │ ├── ch5-common-input.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-common-input-attributes.ts │ │ ├── i-ch5-common-input-documentation.ts │ │ ├── i-ch5-common-input.ts │ │ ├── index.ts │ │ └── t-ch5-common-input.ts ├── ch5-common │ ├── ch5-augment-var-signals-names.spec.ts │ ├── ch5-augment-var-signals-names.ts │ ├── ch5-common-attributes.ts │ ├── ch5-common-log.ts │ ├── ch5-common-signal.ts │ ├── ch5-common.ts │ ├── ch5-config.ts │ ├── ch5-log.ts │ ├── ch5-mutation-observer.ts │ ├── ch5-pressable-button.ts │ ├── ch5-pressable-slider.ts │ ├── ch5-pressable.ts │ ├── ch5-signal-attribute-registry.ts │ ├── interfaces │ │ ├── common │ │ │ ├── i-ch5-common-attributes-appendclasswheninviewport.ts │ │ │ ├── i-ch5-common-attributes-customclass.ts │ │ │ ├── i-ch5-common-attributes-customstyle.ts │ │ │ ├── i-ch5-common-attributes-dir.ts │ │ │ ├── i-ch5-common-attributes-id.ts │ │ │ ├── i-ch5-common-attributes-noshowtype.ts │ │ │ ├── i-ch5-common-attributes-receivestatecustomclass.ts │ │ │ ├── i-ch5-common-attributes-receivestatecustomstyle.ts │ │ │ ├── i-ch5-common-attributes-receivestateenable.ts │ │ │ ├── i-ch5-common-attributes-receivestatehidepulse.ts │ │ │ ├── i-ch5-common-attributes-receivestateshow.ts │ │ │ ├── i-ch5-common-attributes-receivestateshowpulse.ts │ │ │ ├── i-ch5-common-attributes-sendeventonshow.ts │ │ │ ├── i-ch5-common-attributes-show.ts │ │ │ ├── i-ch5-common-class.ts │ │ │ ├── i-ch5-common-debug.ts │ │ │ ├── i-ch5-common-disabled.ts │ │ │ ├── i-ch5-common-role.ts │ │ │ └── i-ch5-common-style.ts │ │ ├── i-ch5-button-list-attributes.ts │ │ ├── i-ch5-button-list-documentation.ts │ │ ├── i-ch5-common-animation.ts │ │ ├── i-ch5-common-attributes-animation.ts │ │ ├── i-ch5-common-attributes-color-chip.ts │ │ ├── i-ch5-common-attributes-datetime.ts │ │ ├── i-ch5-common-attributes-dpad-child.ts │ │ ├── i-ch5-common-attributes-set3.ts │ │ ├── i-ch5-common-attributes-template.ts │ │ ├── i-ch5-common-attributes-text.ts │ │ ├── i-ch5-common-attributes-toggle.ts │ │ ├── i-ch5-common-attributes-video-documentation.ts │ │ ├── i-ch5-common-attributes-video-switcher.ts │ │ ├── i-ch5-common-attributes-video.ts │ │ ├── i-ch5-common-attributes.ts │ │ ├── i-ch5-common-ch5-text.ts │ │ ├── i-ch5-common-color-chip.ts │ │ ├── i-ch5-common-datetime.ts │ │ ├── i-ch5-common-documentation-text.ts │ │ ├── i-ch5-common-documentation-toggle.ts │ │ ├── i-ch5-common-documentation-video-switcher.ts │ │ ├── i-ch5-common-set3.ts │ │ ├── i-ch5-common-wo-disable.ts │ │ ├── i-ch5-common.ts │ │ ├── i-ch5-gestureable.ts │ │ ├── i-ch5-subpage-reference-list-attributes.ts │ │ ├── i-ch5-subpage-reference-list-documentation.ts │ │ ├── i-ch5-tab-button-attributes.ts │ │ ├── i-ch5-tab-button-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-common.ts │ └── utils │ │ ├── animation │ │ ├── animator.ts │ │ └── user-scroll-events.ts │ │ ├── ch5-color-utils.ts │ │ ├── common-functions.ts │ │ ├── component-helper.ts │ │ ├── html-callback.ts │ │ ├── index.ts │ │ ├── math │ │ └── easings.ts │ │ ├── orientation-helper.ts │ │ ├── tick.ts │ │ └── viewport.ts ├── ch5-core │ ├── ch5-component.ts │ ├── ch5-core-intersection-observer.ts │ ├── ch5-debug.ts │ ├── ch5-heartbeat.ts │ ├── ch5-platform.ts │ ├── ch5-properties.ts │ ├── ch5-property.ts │ ├── ch5-signal-behavior-subject.ts │ ├── ch5-signal-bridge-receive.ts │ ├── ch5-signal-bridge.ts │ ├── ch5-signal-factory.spec.ts │ ├── ch5-signal-factory.ts │ ├── ch5-signal.ts │ ├── ch5-translation-class.ts │ ├── ch5-translation-configuration.ts │ ├── ch5-translation-factory.ts │ ├── ch5-translation-listeners.ts │ ├── ch5-translation-utility.ts │ ├── ch5-uid.spec.ts │ ├── ch5-uid.ts │ ├── ch5-version.ts │ ├── get-scrollable-parent.ts │ ├── index.ts │ ├── interfaces-sig-com.ts │ ├── readme.md │ ├── resize-observer.ts │ ├── types │ │ ├── callbacks.ts │ │ ├── ch5-platform-info.ts │ │ ├── core.ts │ │ ├── signal.table.ts │ │ └── signal.type.ts │ └── utility-functions │ │ ├── components.ts │ │ ├── debounce.ts │ │ ├── get-signal.ts │ │ ├── is-crestron-device.ts │ │ ├── is-crestron-touchscreen.ts │ │ ├── is-ios-device.ts │ │ ├── is-mobile-device.ts │ │ ├── is-safari-mobile.ts │ │ ├── is-touch-device.ts │ │ ├── publish-signal.ts │ │ ├── signals.ts │ │ ├── subscribe-in-view-port-change.ts │ │ ├── subscribe-signal-script.ts │ │ ├── subscribe-signal.ts │ │ ├── textformat.ts │ │ ├── translation-interface-register.ts │ │ ├── trigger-translation.ts │ │ └── unsubscribe-signal.ts ├── ch5-custom-attrs │ ├── ch5-attrs-appendclass.ts │ ├── ch5-attrs-appendstyle.ts │ ├── ch5-attrs-enable.ts │ ├── ch5-attrs-hidepulse.ts │ ├── ch5-attrs-i18n.ts │ ├── ch5-attrs-innerhtml.ts │ ├── ch5-attrs-log.ts │ ├── ch5-attrs-mutation-observer.ts │ ├── ch5-attrs-show.ts │ ├── ch5-attrs-showpulse.ts │ ├── ch5-attrs-text-content.ts │ ├── ch5-custom-attributes.ts │ ├── index.ts │ ├── interfaces │ │ ├── helpers │ │ │ ├── custom-attribute.ts │ │ │ └── i-custom-attribute.ts │ │ ├── i-ch5-attrs-appendclass.ts │ │ ├── i-ch5-attrs-appendstyle.ts │ │ ├── i-ch5-attrs-enable.ts │ │ ├── i-ch5-attrs-hidepulse.ts │ │ ├── i-ch5-attrs-i18n.ts │ │ ├── i-ch5-attrs-innerhtml.ts │ │ ├── i-ch5-attrs-keep-sig-subscription.ts │ │ ├── i-ch5-attrs-noshow-type.ts │ │ ├── i-ch5-attrs-show.ts │ │ ├── i-ch5-attrs-showpulse.ts │ │ ├── i-ch5-attrs-text-content.ts │ │ ├── index.ts │ │ └── t-ch5-attrs.ts │ └── utils │ │ ├── ch5-attrs-constants.ts │ │ └── ch5-attrs-utility.ts ├── ch5-datetime │ ├── ch5-datetime.spec.ts │ ├── ch5-datetime.ts │ ├── date-time-util.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-datetime-attributes.ts │ │ ├── i-ch5-datetime-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-datetime.ts ├── ch5-dpad │ ├── ch5-dpad-button-base.ts │ ├── ch5-dpad-button.ts │ ├── ch5-dpad-utils.ts │ ├── ch5-dpad.spec.ts │ ├── ch5-dpad.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-dpad-attributes.ts │ │ ├── i-ch5-dpad-button-attributes.ts │ │ ├── i-ch5-dpad-button-base-attributes.ts │ │ ├── i-ch5-dpad-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-dpad.ts ├── ch5-emulator │ ├── ch5-emulator.s001-003.spec.ts │ ├── ch5-emulator.s004.spec.ts │ ├── ch5-emulator.s005.spec.ts │ ├── ch5-emulator.s006.spec.ts │ ├── ch5-emulator.s007.spec.ts │ ├── ch5-emulator.s008.spec.ts │ ├── ch5-emulator.s009.spec.ts │ ├── ch5-emulator.ts │ ├── emulator.spec.testdata.scenario.json │ ├── emulator.spec.testdata.scenario001.json │ ├── emulator.spec.testdata.scenario002.json │ ├── emulator.spec.testdata.scenario003.json │ ├── emulator.spec.testdata.scenario004.json │ ├── emulator.spec.testdata.scenario005.json │ ├── emulator.spec.testdata.scenario006.json │ ├── emulator.spec.testdata.scenario007.json │ ├── emulator.spec.testdata.scenario008.json │ ├── index.ts │ ├── js-interface-mock.ts │ ├── mocha.async.delay.ts │ └── readme.md ├── ch5-form │ ├── ch5-form.spec.ts │ ├── ch5-form.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-form-attributes.ts │ │ ├── i-ch5-form-documentation.ts │ │ └── index.ts ├── ch5-image │ ├── ch5-image-mode.ts │ ├── ch5-image-uri-model.ts │ ├── ch5-image.spec.ts │ ├── ch5-image.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-image-attributes.ts │ │ ├── i-ch5-image-documentation.ts │ │ ├── i-ch5-image-mode-attributes.ts │ │ ├── i-ch5-image-mode-documentation.ts │ │ ├── i-ch5-image.ts │ │ └── index.ts ├── ch5-import-htmlsnippet │ ├── ch5-import-htmlsnippet.spec.ts │ ├── ch5-import-htmlsnippet.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-htmlsnippet-documentation.ts │ │ ├── i-ch5-import-htmlsnippet-attributes.ts │ │ └── index.ts │ └── readme.md ├── ch5-jointotext-boolean │ ├── ch5-jointotext-boolean.spec.ts │ ├── ch5-jointotext-boolean.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-jointotext-boolean-attributes.ts │ │ ├── i-ch5-jointotext-boolean-documentation.ts │ │ └── index.ts ├── ch5-jointotext-numeric │ ├── ch5-jointotext-numeric.spec.ts │ ├── ch5-jointotext-numeric.ts │ ├── format │ │ ├── float-format.ts │ │ ├── hex-format.ts │ │ ├── numeric-format-factory.ts │ │ ├── numeric-format.ts │ │ ├── percentage-format.ts │ │ ├── raw-format.ts │ │ ├── signed-format.ts │ │ ├── time-format.ts │ │ └── unsigned-format.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-jointotext-numeric-attributes.ts │ │ ├── i-ch5-jointotext-numeric-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-jointotext-numeric.ts ├── ch5-jointotext-string │ ├── ch5-jointotext-string.spec.ts │ ├── ch5-jointotext-string.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-jointotext-string-attributes.ts │ │ ├── i-ch5-jointotext-string-documentation.ts │ │ └── index.ts ├── ch5-keypad │ ├── ch5-keypad-btn.ts │ ├── ch5-keypad-utils.ts │ ├── ch5-keypad.spec.ts │ ├── ch5-keypad.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-keypad-attributes.ts │ │ ├── i-ch5-keypad-btn-attributes.ts │ │ ├── i-ch5-keypad-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-keypad.ts ├── ch5-label │ ├── ch5-label.spec.ts │ ├── ch5-label.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-label-attributes.ts │ │ ├── i-ch5-label-documentation.ts │ │ └── index.ts ├── ch5-list │ ├── animation │ │ ├── ch5-animation-factory.ts │ │ ├── ch5-animation.ts │ │ ├── ch5-standard-animation.ts │ │ └── ch5-web-animation.ts │ ├── ch5-list-abstract-helper.ts │ ├── ch5-list-animation.ts │ ├── ch5-list-buffered-items.ts │ ├── ch5-list-event-manager.ts │ ├── ch5-list-log.ts │ ├── ch5-list-signal-manager.ts │ ├── ch5-list-size-resolver.ts │ ├── ch5-list-template.ts │ ├── ch5-list.spec.ts │ ├── ch5-list.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-list-attributes.ts │ │ ├── i-ch5-list-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-list.ts │ ├── passiveEventListeners.ts │ └── readme.md ├── ch5-logger │ ├── appender │ │ ├── AbstractAppender.ts │ │ ├── AppenderFactory.ts │ │ └── RemoteAppender.ts │ ├── enums │ │ └── index.ts │ ├── helpers │ │ ├── LogMessage.ts │ │ ├── LogMessagesFilter.ts │ │ └── index.ts │ ├── index.ts │ ├── logger │ │ ├── Logger.ts │ │ └── index.ts │ ├── services │ │ ├── RequestService.ts │ │ └── index.ts │ ├── tests │ │ └── filterMessage.spec.ts │ ├── types │ │ └── index.ts │ └── utility │ │ ├── getLogger.ts │ │ ├── getRemoteAppender.ts │ │ ├── index.ts │ │ └── uriSchemaValidation.ts ├── ch5-modal-dialog │ ├── ch5-modal-dialog.spec.ts │ ├── ch5-modal-dialog.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-modal-dialog-attributes.ts │ │ ├── i-ch5-modal-dialog-documentation.ts │ │ └── index.ts │ └── readme.md ├── ch5-overlay-panel │ ├── ch5-overlay-panel.spec.ts │ ├── ch5-overlay-panel.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-overlay-panel-attributes.ts │ │ ├── i-ch5-overlay-panel-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-overlay-panel.ts │ └── readme.md ├── ch5-qrcode │ ├── ch5-qrcode-properties.ts │ ├── ch5-qrcode.spec.ts │ ├── ch5-qrcode.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-qrcode-attributes.ts │ │ ├── i-ch5-qrcode-documentation.ts │ │ └── index.ts ├── ch5-resync │ ├── ch5-resync.spec.ts │ ├── ch5-resync.ts │ └── models │ │ ├── ch5-clear-range-data-model.ts │ │ ├── ch5-exclude-prefixes-model.ts │ │ ├── ch5-resync-constants.ts │ │ ├── ch5-resync-reset-event-names-enum.ts │ │ ├── ch5-states-at-default-value-model.ts │ │ └── resynchronization-request-model.ts ├── ch5-segmented-gauge │ ├── ch5-segmented-gauge.spec.ts │ ├── ch5-segmented-gauge.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-segmented-gauge-attributes.ts │ │ ├── i-ch5-segmented-gauge-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-segmented-gauge.ts ├── ch5-select-option │ ├── ch5-select-option.spec.ts │ ├── ch5-select-option.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-select-option-attributes.ts │ │ ├── i-ch5-select-option-documentation.ts │ │ ├── index.ts │ │ └── types │ │ └── t-ch5-select-option-icon-position.ts ├── ch5-select │ ├── ch5-select.spec.ts │ ├── ch5-select.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-select-attributes.ts │ │ ├── i-ch5-select-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-select.ts ├── ch5-signal-level-gauge │ ├── ch5-signal-level-gauge.spec.ts │ ├── ch5-signal-level-gauge.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-signal-level-gauge-attributes.ts │ │ ├── i-ch5-signal-level-gauge-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-signal-level-gauge.ts ├── ch5-slider │ ├── ch5-slider-button-label.ts │ ├── ch5-slider-button.ts │ ├── ch5-slider-title-label.ts │ ├── ch5-slider.spec.ts │ ├── ch5-slider.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-slider-attributes.ts │ │ ├── i-ch5-slider-button-attributes.ts │ │ ├── i-ch5-slider-button-documentation.ts │ │ ├── i-ch5-slider-button-label-documentation.ts │ │ ├── i-ch5-slider-documentation.ts │ │ ├── i-ch5-slider-title-label-attributes.ts │ │ ├── i-ch5-slider-title-label-documentation.ts │ │ ├── index.ts │ │ ├── t-ch5-slider-button.ts │ │ └── t-ch5-slider.ts │ └── readme.md ├── ch5-spinner │ ├── ch5-mouse-velocity.ts │ ├── ch5-spinner-events.ts │ ├── ch5-spinner-mutation-observer.ts │ ├── ch5-spinner-scroll.ts │ ├── ch5-spinner-template.ts │ ├── ch5-spinner.spec.ts │ ├── ch5-spinner.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-spinner-attributes.ts │ │ ├── i-ch5-spinner-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-spinner.ts ├── ch5-subpage-reference-list │ ├── ch5-subpage-reference-list.spec.ts │ ├── ch5-subpage-reference-list.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-subpage-reference-list-attributes.ts │ │ ├── i-ch5-subpage-reference-list-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-subpage-reference-list.ts │ └── refresh-ch5-subpage-reference-list.ts ├── ch5-tab-button │ ├── ch5-tab-button-individual-button.ts │ ├── ch5-tab-button-label.ts │ ├── ch5-tab-button.spec.ts │ ├── ch5-tab-button.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-tab-button-attributes.ts │ │ ├── i-ch5-tab-button-documentation.ts │ │ ├── i-ch5-tab-button-individual-button-attributes.ts │ │ ├── i-ch5-tab-button-individual-button-documentation.ts │ │ ├── i-ch5-tab-button-label-documentation.ts │ │ ├── index.ts │ │ ├── t-ch5-tab-button.ts │ │ └── t-for-ch5-button-list-contract.ts ├── ch5-template │ ├── ch5-template-structure.ts │ ├── ch5-template.spec.ts │ ├── ch5-template.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-template-attributes.ts │ │ ├── i-ch5-template-documentation.ts │ │ └── index.ts │ └── refresh-ch5-template.ts ├── ch5-text │ ├── ch5-text.spec.ts │ ├── ch5-text.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-text-attributes.ts │ │ ├── i-ch5-text-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-text.ts ├── ch5-textinput │ ├── ch5-textinput-mask.ts │ ├── ch5-textinput.spec.ts │ ├── ch5-textinput.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-text-input-attributes.ts │ │ ├── i-ch5-text-input-documentation.ts │ │ ├── i-ch5-text-input.ts │ │ ├── index.ts │ │ └── t-ch5-text-input.ts ├── ch5-toggle │ ├── ch5-toggle.spec.ts │ ├── ch5-toggle.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-toggle-attributes.ts │ │ ├── i-ch5-toggle-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-toggle.ts ├── ch5-touch │ ├── ch5-touch-activity.ts │ └── index.ts ├── ch5-triggerview │ ├── ch5-triggerview-child.ts │ ├── ch5-triggerview-slides-manager.ts │ ├── ch5-triggerview-swiper.ts │ ├── ch5-triggerview.spec.ts │ ├── ch5-triggerview.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-triggerview-attributes.ts │ │ ├── i-ch5-triggerview-child-attributes.ts │ │ ├── i-ch5-triggerview-child-documentation.ts │ │ ├── i-ch5-triggerview-documentation.ts │ │ └── index.ts │ └── utils.ts ├── ch5-video-switcher │ ├── ch5-video-switcher-screen-label.ts │ ├── ch5-video-switcher-screen.ts │ ├── ch5-video-switcher-source-label.ts │ ├── ch5-video-switcher-source.ts │ ├── ch5-video-switcher.spec.ts │ ├── ch5-video-switcher.ts │ ├── drag-drop-touch.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-video-switcher-attributes.ts │ │ ├── i-ch5-video-switcher-documentation.ts │ │ ├── i-ch5-video-switcher-screen-attributes.ts │ │ ├── i-ch5-video-switcher-screen-documentation.ts │ │ ├── i-ch5-video-switcher-screen-label-documentation.ts │ │ ├── i-ch5-video-switcher-source-attributes.ts │ │ ├── i-ch5-video-switcher-source-documentation.ts │ │ ├── i-ch5-video-switcher-source-label-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-video-switcher.ts ├── ch5-video │ ├── ch5-video-snapshot.ts │ ├── ch5-video-touch-manager.ts │ ├── ch5-video-utils.ts │ ├── ch5-video.spec.ts │ ├── ch5-video.ts │ ├── index.ts │ ├── interfaces │ │ ├── i-ch5-video-attributes.ts │ │ ├── i-ch5-video-documentation.ts │ │ ├── i-ch5-video-helper.ts │ │ ├── index.ts │ │ └── t-ch5-video.ts │ └── readme.md ├── ch5-wifi-signal-level-gauge │ ├── ch5-wifi-signal-level-gauge.spec.ts │ ├── ch5-wifi-signal-level-gauge.ts │ ├── index.ts │ └── interfaces │ │ ├── i-ch5-wifi-signal-level-gauge-attributes.ts │ │ ├── i-ch5-wifi-signal-level-gauge-documentation.ts │ │ ├── index.ts │ │ └── t-ch5-wifi-signal-level-gauge.ts ├── index.ts ├── typings │ ├── dragdroptouch.d.ts │ └── mycolorpicker.d.ts └── utility-models │ ├── ch5-role-attribute-mapping.ts │ └── index.ts ├── tsconfig.amd.json ├── tsconfig.base.json ├── tsconfig.cjs.json ├── tsconfig.esm.json ├── tsconfig.umd.json ├── tsconfig.webpack.json ├── tsconfig.webpack_implicit_ce.json ├── wct.conf.json ├── wct_tests ├── assets │ └── img │ │ ├── finger.svg │ │ ├── idea.svg │ │ ├── lists.svg │ │ ├── nav_icon_0.svg │ │ ├── nav_icon_1.svg │ │ ├── nav_icon_2.svg │ │ ├── nav_icon_3.svg │ │ ├── nav_icon_4.svg │ │ ├── nav_icon_5.svg │ │ ├── nav_icon_6.svg │ │ ├── ok.svg │ │ ├── page.svg │ │ ├── something.svg │ │ └── video.svg ├── ch5-accessibility-attributes │ ├── ch5-common-role-attribute.html │ └── index.html ├── ch5-animation │ ├── ch5-animation-attributes-animationstyle.html │ ├── ch5-animation-attributes-disabled.html │ ├── ch5-animation-attributes-noShowType-emulation.html │ ├── ch5-animation-attributes-noshowtype.html │ ├── ch5-animation-attributes-preload-cachepage.html │ ├── ch5-animation-attributes-receivestateanimate.html │ ├── ch5-animation-attributes-receivestateanimationstyle.html │ ├── ch5-animation-attributes-receivestateframespersecond.html │ ├── ch5-animation-attributes-show.html │ ├── ch5-animation-attributes-size.html │ ├── ch5-animation-attributes-startanimating.html │ ├── ch5-animation-attributes.html │ ├── emulator │ │ ├── noShowType.json │ │ ├── preloadcachepage.json │ │ ├── receivestateanimate.json │ │ ├── receivestateanimationstyle.json │ │ └── receivestateframespersecond.json │ └── index.html ├── ch5-background │ ├── ch5-background-color.html │ ├── ch5-background-img-bg-color.html │ ├── ch5-background-refresh-rate.html │ ├── ch5-background-repeat.html │ ├── ch5-background-scale.html │ ├── ch5-background-transition-duration.html │ ├── ch5-background-transition-effect.html │ ├── ch5-background-url.html │ ├── emulator │ │ └── receivestatevalue.json │ └── index.html ├── ch5-button-list │ ├── ch5-button-list-attributes-buttoncheckbox.html │ ├── ch5-button-list-attributes-buttonhalignlabel.html │ ├── ch5-button-list-attributes-buttoniconclass.html │ ├── ch5-button-list-attributes-buttoniconposition.html │ ├── ch5-button-list-attributes-buttoniconurl.html │ ├── ch5-button-list-attributes-buttonmode.html │ ├── ch5-button-list-attributes-buttonpressed.html │ ├── ch5-button-list-attributes-buttonselected.html │ ├── ch5-button-list-attributes-buttonshape.html │ ├── ch5-button-list-attributes-buttontype.html │ ├── ch5-button-list-attributes-buttonvalignlabel.html │ ├── ch5-button-list-attributes-centeritems.html │ ├── ch5-button-list-attributes-columns.html │ ├── ch5-button-list-attributes-contractname.html │ ├── ch5-button-list-attributes-endless.html │ ├── ch5-button-list-attributes-numberOfItems.html │ ├── ch5-button-list-attributes-orientation.html │ ├── ch5-button-list-attributes-rows.html │ ├── ch5-button-list-attributes-scrollbar.html │ ├── ch5-button-list-attributes.html │ ├── ch5-button-list-button-advanced-behaviour.html │ ├── ch5-button-list-button-checkbox.html │ ├── ch5-button-list-customClass.html │ ├── ch5-button-list-customStyle.html │ ├── ch5-button-list-mode-attributes-checkboxposition.html │ ├── ch5-button-list-mode-attributes-halignlabel.html │ ├── ch5-button-list-mode-attributes-iconposition.html │ ├── ch5-button-list-mode-attributes-type.html │ ├── ch5-button-list-mode-attributes-valignlabel.html │ ├── ch5-button-list-mode-attributes.html │ ├── ch5-button-list-mode-state-attributes-checkboxposition.html │ ├── ch5-button-list-mode-state-attributes-halignlabel.html │ ├── ch5-button-list-mode-state-attributes-iconposition.html │ ├── ch5-button-list-mode-state-attributes-state.html │ ├── ch5-button-list-mode-state-attributes-type.html │ ├── ch5-button-list-mode-state-attributes-valignlabel.html │ ├── ch5-button-list-mode-state-attributes.html │ ├── emulator │ │ └── receivestatenumberofitems.json │ ├── index.html │ └── js │ │ └── helpers.js ├── ch5-button │ ├── ch5-button-all-combinations.html │ ├── ch5-button-backgroundimagefilltype.html │ ├── ch5-button-backgroundimageurl.html │ ├── ch5-button-checkbox.html │ ├── ch5-button-customclass.html │ ├── ch5-button-customstyle.html │ ├── ch5-button-default.html │ ├── ch5-button-disabled.html │ ├── ch5-button-events.html │ ├── ch5-button-hvalignlabel.html │ ├── ch5-button-icons.html │ ├── ch5-button-iconurlfilltype.html │ ├── ch5-button-iconurlfilltypemode.html │ ├── ch5-button-labels.html │ ├── ch5-button-mode.html │ ├── ch5-button-multimode-buttonlabel.html │ ├── ch5-button-multimode-buttonmode.html │ ├── ch5-button-multimode-buttonmodelabel.html │ ├── ch5-button-multimode-buttonmodestate.html │ ├── ch5-button-multimode-buttonmodestatelabel.html │ ├── ch5-button-orientation.html │ ├── ch5-button-receivestatebackgroundimageurl.html │ ├── ch5-button-selected.html │ ├── ch5-button-shapes.html │ ├── ch5-button-show.html │ ├── ch5-button-sizes.html │ ├── ch5-button-stretch.html │ ├── ch5-button-types.html │ ├── emulator │ │ ├── alignments.json │ │ ├── checkbox.json │ │ ├── customstyle.json │ │ ├── labels.json │ │ ├── multimode-buttonlabel.json │ │ ├── selected.json │ │ ├── show.json │ │ └── types.json │ ├── index.html │ └── js │ │ └── helpers.js ├── ch5-color-chip │ ├── ch5-color-chip-attributes-maxValue.html │ ├── ch5-color-chip-attributes-receiveStateBlueValue.html │ ├── ch5-color-chip-attributes-receiveStateGreenValue.html │ ├── ch5-color-chip-attributes-receiveStateRedValue.html │ ├── ch5-color-chip-attributes-sendEventColorBlueOnChange.html │ ├── ch5-color-chip-attributes-sendEventColorGreenOnChange.html │ ├── ch5-color-chip-attributes-sendEventColorRedOnChange.html │ ├── ch5-color-chip-attributes-sendEventOnClick.html │ ├── ch5-color-chip-attributes.html │ ├── emulator │ │ ├── receiveStateBlueValue.json │ │ ├── receiveStateGreenValue.json │ │ ├── receiveStateRedValue.json │ │ ├── sendEventColorBlueOnChange.json │ │ ├── sendEventColorGreenOnChange.json │ │ ├── sendEventColorRedOnChange.json │ │ └── sendEventOnClick.json │ └── index.html ├── ch5-color-picker │ ├── ch5-color-picker-attributes-maxValue.html │ ├── ch5-color-picker-attributes-receiveStateBlueValue.html │ ├── ch5-color-picker-attributes-receiveStateGreenValue.html │ ├── ch5-color-picker-attributes-receiveStateRedValue.html │ ├── ch5-color-picker-attributes-sendEventColorBlueOnChange.html │ ├── ch5-color-picker-attributes-sendEventColorGreenOnChange.html │ ├── ch5-color-picker-attributes-sendEventColorRedOnChange.html │ ├── ch5-color-picker-attributes.html │ ├── emulator │ │ ├── receiveStateBlueValue.json │ │ ├── receiveStateGreenValue.json │ │ ├── receiveStateRedValue.json │ │ ├── sendEventColorBlueOnChange.json │ │ ├── sendEventColorGreenOnChange.json │ │ └── sendEventColorRedOnChange.json │ └── index.html ├── ch5-datetime │ ├── ch5-datetime-attributes-display.html │ ├── ch5-datetime-attributes-display24hourformat.html │ ├── ch5-datetime-attributes-displayampm.html │ ├── ch5-datetime-attributes-displayseconds.html │ ├── ch5-datetime-attributes-displaytwodigitshour.html │ ├── ch5-datetime-attributes-horizontalalignment.html │ ├── ch5-datetime-attributes-receivestatedisplay24hourformat.html │ ├── ch5-datetime-attributes-receivestatedisplayampm.html │ ├── ch5-datetime-attributes-receivestatedisplayseconds.html │ ├── ch5-datetime-attributes-receivestatedisplaytwodigitshour.html │ ├── ch5-datetime-attributes-receivestatedisplaytype.html │ ├── ch5-datetime-attributes-receivestatestylefordate.html │ ├── ch5-datetime-attributes-receivestatetimeoffsethours.html │ ├── ch5-datetime-attributes-stylefordate.html │ ├── ch5-datetime-attributes-timeoffsethours.html │ ├── ch5-datetime-attributes.html │ ├── emulator │ │ └── receivestatetimeoffsethours.json │ ├── index.html │ └── js │ │ └── helper.js ├── ch5-dpad │ ├── ch5-dpad-attributes-disable-center-button.html │ ├── ch5-dpad-attributes-hide-center-button.html │ ├── ch5-dpad-attributes-receive-state-disable-center-button.html │ ├── ch5-dpad-attributes-receive-state-hide-center-button.html │ ├── ch5-dpad-attributes-send-event-on-click-start.html │ ├── ch5-dpad-attributes-shapes.html │ ├── ch5-dpad-attributes-sizes.html │ ├── ch5-dpad-attributes-stretch.html │ ├── ch5-dpad-attributes-types.html │ ├── ch5-dpad-attributes.html │ ├── ch5-dpad-button-attributes-iconclass.html │ ├── ch5-dpad-button-attributes-iconurl.html │ ├── ch5-dpad-button-attributes-keys.html │ ├── ch5-dpad-button-attributes-label.html │ ├── ch5-dpad-button-attributes-pressed.html │ ├── ch5-dpad-contractname-usecontractforcustomclass.html │ ├── ch5-dpad-contractname-usecontractforcustomstyle.html │ ├── ch5-dpad-contractname-usecontractfordisablecenterbutton.html │ ├── ch5-dpad-contractname-usecontractforenable.html │ ├── ch5-dpad-contractname-usecontractforhidecenterbutton.html │ ├── ch5-dpad-contractname-usecontractforshow.html │ ├── ch5-dpad-default.html │ ├── ch5-dpad-events.html │ ├── emulator │ │ ├── receivestatedisablecenterbutton.json │ │ ├── receivestatehidecenterbutton.json │ │ ├── receivestatenumericjoins.json │ │ └── types.json │ ├── index.html │ └── js │ │ └── helpers.js ├── ch5-form │ ├── ch5-form-basic.html │ ├── ch5-form-cancel-button-icon.html │ ├── ch5-form-cancel-button-label.html │ ├── ch5-form-cancel-button-style.html │ ├── ch5-form-cancel-button-type.html │ ├── ch5-form-hide-cancel-button.html │ ├── ch5-form-hide-submit-button.html │ ├── ch5-form-submit-button-icon.html │ ├── ch5-form-submit-button-label.html │ ├── ch5-form-submit-button-style.html │ ├── ch5-form-submit-button-type.html │ └── index.html ├── ch5-image │ ├── ch5-image-alt.html │ ├── ch5-image-attributes-allow-position-data-to-be-sent.html │ ├── ch5-image-attributes-allow-values-on-move.html │ ├── ch5-image-attributes-receive-state-allow-position-data-to-be-sent.html │ ├── ch5-image-attributes-receive-state-allow-values-on-move.html │ ├── ch5-image-attributes-send-event-xposition.html │ ├── ch5-image-attributes-send-event-yposition.html │ ├── ch5-image-height.html │ ├── ch5-image-intersection-observer.html │ ├── ch5-image-mutation-observer.html │ ├── ch5-image-refresh-rate.html │ ├── ch5-image-url.html │ ├── ch5-image-width.html │ ├── emulator │ │ ├── receivestateallowpositiondatatobesent.json │ │ ├── receivestateallowvaluesonmove.json │ │ ├── sendeventxposition.json │ │ └── sendeventyposition.json │ └── index.html ├── ch5-import-htmlsnippet │ ├── ch5-import-htmlsnippet.html │ ├── ch5-sample-elements.html │ └── index.html ├── ch5-jointotext-boolean │ ├── ch5-jointotext-boolean-attributes.html │ ├── emulator │ │ └── receivestatevalue.json │ └── index.html ├── ch5-jointotext-numeric │ ├── ch5-jointotext-numeric-attributes.html │ ├── emulator │ │ └── receivestatevalue.json │ └── index.html ├── ch5-jointotext-string │ ├── ch5-jointotext-string-attributes.html │ ├── emulator │ │ └── receivestatevalue.json │ └── index.html ├── ch5-keypad │ ├── ch5-keypad-attributes-contractname.html │ ├── ch5-keypad-attributes-displaylabelmajoronly.html │ ├── ch5-keypad-attributes-hide-asterisk-button.html │ ├── ch5-keypad-attributes-hide-pound-button.html │ ├── ch5-keypad-attributes-no-contractname.html │ ├── ch5-keypad-attributes-receive-state-hide-asterisk-button.html │ ├── ch5-keypad-attributes-receive-state-hide-pound-button.html │ ├── ch5-keypad-attributes-receivestateextrashowbutton.html │ ├── ch5-keypad-attributes-sendeventonclickstart.html │ ├── ch5-keypad-attributes-shapes.html │ ├── ch5-keypad-attributes-showextrabutton.html │ ├── ch5-keypad-attributes-sizes.html │ ├── ch5-keypad-attributes-stretch.html │ ├── ch5-keypad-attributes-textorientation.html │ ├── ch5-keypad-attributes-types.html │ ├── ch5-keypad-attributes-use-contract-for-hide-asterisk-button.html │ ├── ch5-keypad-attributes-use-contract-for-hide-pound-button.html │ ├── ch5-keypad-attributes.html │ ├── ch5-keypad-button-attributes-iconclass.html │ ├── ch5-keypad-button-attributes-key.html │ ├── ch5-keypad-button-attributes-labelmajor.html │ ├── ch5-keypad-button-attributes-labelminor.html │ ├── ch5-keypad-button-attributes-pressed.html │ ├── ch5-keypad-default.html │ ├── emulator │ │ ├── receivestateextrabuttonshow.json │ │ ├── receivestatehideasteriskbutton.json │ │ └── receivestatehidepoundbutton.json │ └── index.html ├── ch5-list │ ├── ch5-list-endless.html │ ├── ch5-list-join-increment.html │ ├── ch5-list-orientation.html │ ├── ch5-list-size.html │ └── index.html ├── ch5-modal-dialog │ ├── ch5-modal-dialog-closable.html │ ├── ch5-modal-dialog-closeIcon.html │ ├── ch5-modal-dialog-dismissable.html │ ├── ch5-modal-dialog-height-width.html │ ├── ch5-modal-dialog-label.html │ ├── ch5-modal-dialog-mask.html │ ├── ch5-modal-dialog-maskStyle.html │ ├── ch5-modal-dialog-ok-cancel.html │ ├── ch5-modal-dialog-overflow.html │ ├── ch5-modal-dialog-prompt.html │ ├── ch5-modal-dialog-stretch.html │ ├── ch5-modal-dialog-title.html │ └── index.html ├── ch5-overlay-panel │ ├── ch5-overlay-panel-tests.html │ └── index.html ├── ch5-qrcode │ ├── ch5-qrcode-attributes-background-color.html │ ├── ch5-qrcode-attributes-color.html │ ├── ch5-qrcode-attributes-noShowType-emulation.html │ ├── ch5-qrcode-attributes-receive-state-qr-code.html │ ├── ch5-qrcode-attributes-show.html │ ├── ch5-qrcode-attributes-size.html │ ├── ch5-qrcode-attributes.html │ ├── emulator │ │ ├── noShowType.json │ │ └── receivestateqrcode.json │ └── index.html ├── ch5-segmented-gauge │ ├── ch5-segmented-gauge-attributes-gaugeledstyle.html │ ├── ch5-segmented-gauge-attributes-max-value.html │ ├── ch5-segmented-gauge-attributes-min-value.html │ ├── ch5-segmented-gauge-attributes-numberofsegments.html │ ├── ch5-segmented-gauge-attributes-orientation.html │ ├── ch5-segmented-gauge-attributes-preload-cache-page.html │ ├── ch5-segmented-gauge-attributes-primarystategraphic.html │ ├── ch5-segmented-gauge-attributes-receiveStateValue.html │ ├── ch5-segmented-gauge-attributes-secondarystategraphic.html │ ├── ch5-segmented-gauge-attributes-sendEventOnClick.html │ ├── ch5-segmented-gauge-attributes-tertiarystategraphic.html │ ├── ch5-segmented-gauge-attributes-touchsettable.html │ ├── ch5-segmented-gauge-attributes-value.html │ ├── ch5-segmented-gauge-attributes.html │ ├── emulator │ │ ├── preloadcachepage.json │ │ ├── receivestatevalue.json │ │ └── sendeventonclick.json │ └── index.html ├── ch5-select │ ├── dimensions.html │ ├── index.html │ ├── mode.html │ ├── multi-selection.html │ ├── single-selection.html │ └── size.html ├── ch5-signal-level-gauge │ ├── ch5-signal-level-gauge-attributes-max-value.html │ ├── ch5-signal-level-gauge-attributes-min-value.html │ ├── ch5-signal-level-gauge-attributes-numberOfBars.html │ ├── ch5-signal-level-gauge-attributes-orientation.html │ ├── ch5-signal-level-gauge-attributes-receiveStateValue.html │ ├── ch5-signal-level-gauge-attributes-signal-bar-spacing.html │ ├── ch5-signal-level-gauge-attributes-size.html │ ├── ch5-signal-level-gauge-attributes-value.html │ ├── ch5-signal-level-gauge-attributes.html │ ├── ch5-signal-level-gauge-preload-cache-testcases.html │ ├── emulator │ │ ├── preload-cache-test-cases.json │ │ └── receiveStateValue.json │ └── index.html ├── ch5-slider │ ├── ch5-slider-alignment-attribute.html │ ├── ch5-slider-disabled-attribute.html │ ├── ch5-slider-handle-shape.html │ ├── ch5-slider-handle-size.html │ ├── ch5-slider-iconurlfilltype-attribute.html │ ├── ch5-slider-key-attribute.html │ ├── ch5-slider-max.html │ ├── ch5-slider-min.html │ ├── ch5-slider-noHandle-attribute.html │ ├── ch5-slider-onoffonly-attribute.html │ ├── ch5-slider-orientation.html │ ├── ch5-slider-page-preload-cache.html │ ├── ch5-slider-range.html │ ├── ch5-slider-receivestateicon-attributes.html │ ├── ch5-slider-receivestatelabel-attribute.html │ ├── ch5-slider-size.html │ ├── ch5-slider-step.html │ ├── ch5-slider-stretch-attribute.html │ ├── ch5-slider-tapsettable.html │ ├── ch5-slider-ticks-show-values.html │ ├── ch5-slider-ticks.html │ ├── ch5-slider-tooltips-display-type.html │ ├── ch5-slider-tooltips.html │ ├── ch5-slider-value-high.html │ ├── ch5-slider-value.html │ ├── emulator │ │ ├── preloadcachepage.json │ │ ├── receivestateicons.json │ │ ├── receivestatelabel.json │ │ └── receivestateshowonoffonly.json │ └── index.html ├── ch5-spinner │ ├── ch5-spinner-endless.html │ ├── ch5-spinner-iconPosition.html │ ├── ch5-spinner-itemHeight.html │ ├── ch5-spinner-receiveStateLabel_url.html │ ├── ch5-spinner-receiveStateSize.html │ ├── ch5-spinner-receiveStateValue.html │ ├── ch5-spinner-resize.html │ ├── ch5-spinner-selectedValue.html │ ├── ch5-spinner-sendEventOnChange.html │ ├── ch5-spinner-sendEventOnFocus.html │ ├── ch5-spinner-size.html │ ├── ch5-spinner-visibleItemScroll.html │ ├── emulator │ │ ├── receiveStateLabel_Url.json │ │ ├── receiveStateSize.json │ │ ├── receiveStateValue.json │ │ ├── sendEventOnChange.json │ │ ├── sendEventOnFocus.json │ │ └── sendEventOnOverFlow_underFlow.json │ └── index.html ├── ch5-subpage-reference-list │ ├── ch5-subpage-reference-list-attributes-booleanJoinIncrement.html │ ├── ch5-subpage-reference-list-attributes-centeritems.html │ ├── ch5-subpage-reference-list-attributes-column.html │ ├── ch5-subpage-reference-list-attributes-endless.html │ ├── ch5-subpage-reference-list-attributes-numberofitems.html │ ├── ch5-subpage-reference-list-attributes-numericJoinIncrement.html │ ├── ch5-subpage-reference-list-attributes-orientation.html │ ├── ch5-subpage-reference-list-attributes-receiveStateNumberOfItems.html │ ├── ch5-subpage-reference-list-attributes-rows.html │ ├── ch5-subpage-reference-list-attributes-scrollbar.html │ ├── ch5-subpage-reference-list-attributes-stretch.html │ ├── ch5-subpage-reference-list-attributes-stringJoinIncrement.html │ ├── ch5-subpage-reference-list-attributes-subpageReceiveStateEnable.html │ ├── ch5-subpage-reference-list-attributes-subpageReceiveStateScrollTo.html │ ├── ch5-subpage-reference-list-attributes-subpageReceiveStateShow.html │ ├── ch5-subpage-reference-list-attributes.html │ ├── emulator │ │ ├── booleanjoinoffset.json │ │ ├── numericjoinoffset.json │ │ ├── receivestatenumberofitems.json │ │ ├── stringjoinoffset.json │ │ ├── subpagereceivestateenable.json │ │ ├── subpagereceivestatescrollto.json │ │ └── subpagereceivestatevisible.json │ └── index.html ├── ch5-tab-button │ ├── ch5-tab-button-attribute-contractname.html │ ├── ch5-tab-button-attributes-buttoniconclass.html │ ├── ch5-tab-button-attributes-buttoniconposition.html │ ├── ch5-tab-button-attributes-buttoniconurl.html │ ├── ch5-tab-button-attributes-buttonshape.html │ ├── ch5-tab-button-attributes-buttonsignals.html │ ├── ch5-tab-button-attributes-buttontype.html │ ├── ch5-tab-button-attributes-numberOfItems.html │ ├── ch5-tab-button-attributes-orientation.html │ ├── ch5-tab-button-attributes-preload-cache-page.html │ ├── ch5-tab-button-attributes.html │ ├── ch5-tab-button-customClass.html │ ├── ch5-tab-button-customStyle.html │ ├── emulator │ │ ├── buttonreceivestateenable.json │ │ └── receivestatenumberofitems.json │ └── index.html ├── ch5-template │ ├── ch5-template-attributes.html │ ├── ch5-template-generate-states-and-events.html │ ├── ch5-template-in-template.html │ ├── ch5-template-increment-join-values.html │ ├── ch5-template-rename-states-and-events.html │ ├── ch5-template-validations.html │ ├── ch5-template-wrapper-div.html │ └── index.html ├── ch5-text │ ├── ch5-text-attributes-horizontal-alignment.html │ ├── ch5-text-attributes-multiline-support.html │ ├── ch5-text-attributes-receive-state-label.html │ ├── ch5-text-attributes-receive-state-script-label-html.html │ ├── ch5-text-attributes-truncate-text.html │ ├── ch5-text-attributes-vertical-alignment.html │ ├── ch5-text-attributes.html │ ├── emulator │ │ ├── receivestatelabel.json │ │ └── receivestatescriptlabelhtml.json │ └── index.html ├── ch5-textinput │ ├── ch5-textinput-attributes-icon-position.html │ ├── ch5-textinput-attributes-max-length.html │ ├── ch5-textinput-attributes-max-value.html │ ├── ch5-textinput-attributes-min-length.html │ ├── ch5-textinput-attributes-min-value.html │ ├── ch5-textinput-attributes-minimum-font-size.html │ ├── ch5-textinput-attributes-receive-state-focus.html │ ├── ch5-textinput-attributes-receive-state-value.html │ ├── ch5-textinput-attributes-scaling.html │ ├── ch5-textinput-attributes-send-event-on-blur.html │ ├── ch5-textinput-attributes-send-event-on-change.html │ ├── ch5-textinput-attributes-send-event-on-focus.html │ ├── ch5-textinput-attributes-size.html │ ├── ch5-textinput-attributes-stretch.html │ ├── ch5-textinput-attributes-tab-index.html │ ├── ch5-textinput-attributes-text-transform.html │ ├── ch5-textinput-attributes-type.html │ ├── ch5-textinput-attributes.html │ ├── ch5-textinput-disabled-attribute.html │ ├── ch5-textinput-stretches.html │ ├── emulator │ │ ├── receivestatefocus.json │ │ ├── receivestatevalue.json │ │ ├── sendeventonblur.json │ │ ├── sendeventonchange.json │ │ └── sendeventonfocus.json │ └── index.html ├── ch5-toggle │ ├── ch5-toggle-attributes-handle-shape.html │ ├── ch5-toggle-attributes-icon-off.html │ ├── ch5-toggle-attributes-icon-on.html │ ├── ch5-toggle-attributes-label-off.html │ ├── ch5-toggle-attributes-label-on.html │ ├── ch5-toggle-attributes-label.html │ ├── ch5-toggle-attributes-orientation.html │ ├── ch5-toggle-attributes-receive-state-script-label-html.html │ ├── ch5-toggle-attributes-receive-state-value.html │ ├── ch5-toggle-attributes-send-event-on-click.html │ ├── ch5-toggle-attributes-size.html │ ├── ch5-toggle-attributes-value.html │ ├── ch5-toggle-attributes.html │ ├── ch5-toggle-disabled.html │ ├── emulator │ │ ├── receivestatescriptlabelhtml.json │ │ ├── receivestatevalue.json │ │ └── sendeventonclick.json │ └── index.html ├── ch5-triggerview │ ├── ch5-triggerview-active-view.html │ ├── ch5-triggerview-basic.html │ ├── ch5-triggerview-endless.html │ ├── ch5-triggerview-gestureable.html │ └── index.html ├── ch5-video-switcher │ ├── ch5-video-switcher-attributes-contract-screen-label-type.html │ ├── ch5-video-switcher-attributes-contract-source-label-type.html │ ├── ch5-video-switcher-attributes-display-screen-label.html │ ├── ch5-video-switcher-attributes-endless.html │ ├── ch5-video-switcher-attributes-number-of-screen-columns.html │ ├── ch5-video-switcher-attributes-number-of-screens.html │ ├── ch5-video-switcher-attributes-number-of-source-list-divisions.html │ ├── ch5-video-switcher-attributes-number-of-sources.html │ ├── ch5-video-switcher-attributes-receive-state-number-of-screens.html │ ├── ch5-video-switcher-attributes-receive-state-screen-label.html │ ├── ch5-video-switcher-attributes-receive-state-script-screen-label-html.html │ ├── ch5-video-switcher-attributes-receive-state-script-source-label-html.html │ ├── ch5-video-switcher-attributes-receive-state-source-changed.html │ ├── ch5-video-switcher-attributes-receive-state-source-label.html │ ├── ch5-video-switcher-attributes-screen-aspect-ratio.html │ ├── ch5-video-switcher-attributes-scrollbar.html │ ├── ch5-video-switcher-attributes-send-event-on-change.html │ ├── ch5-video-switcher-attributes-send-event-on-drop.html │ ├── ch5-video-switcher-attributes-source-list-position.html │ ├── ch5-video-switcher-attributes-use-contract-for-enable.html │ ├── ch5-video-switcher-attributes-use-contract-for-show.html │ ├── ch5-video-switcher-attributes.html │ ├── emulator │ │ ├── receivestatenumberofscreens.json │ │ ├── receivestatescreenlabel.json │ │ ├── receivestatescriptscreenlabelhtml.json │ │ ├── receivestatescriptsourcelabelhtml.json │ │ ├── receivestatesourcechanged.json │ │ ├── receivestatesourcelabel.json │ │ ├── sendeventonchange.json │ │ └── sendeventondrop.json │ └── index.html ├── ch5-video │ ├── ch5-video-attributes-aspectratio.html │ ├── ch5-video-attributes-receiveStatePassword.html │ ├── ch5-video-attributes-receiveStateSelect.html │ ├── ch5-video-attributes-receiveStateSnapshotPassword.html │ ├── ch5-video-attributes-receiveStateSnapshotRefreshRate.html │ ├── ch5-video-attributes-receiveStateSnapshotURL.html │ ├── ch5-video-attributes-receiveStateSnapshotUserId.html │ ├── ch5-video-attributes-receiveStateSourceType.html │ ├── ch5-video-attributes-receiveStateURL.html │ ├── ch5-video-attributes-receiveStateUserId.html │ ├── ch5-video-attributes-receiveStateVideoCount.html │ ├── ch5-video-attributes-size.html │ ├── ch5-video-attributes-snapshotrefreshrate.html │ ├── ch5-video-attributes-sourcetype.html │ ├── ch5-video-attributes-stretch.html │ ├── ch5-video-attributes.html │ ├── ch5-video-controls.html │ ├── ch5-video-size.html │ ├── emulator │ │ ├── receivestatepassword.json │ │ ├── receivestateplay.json │ │ ├── receivestateselect.json │ │ ├── receivestatesnapshotpassword.json │ │ ├── receivestatesnapshotrefreshrate.json │ │ ├── receivestatesnapshoturl.json │ │ ├── receivestatesnapshotuserid.json │ │ ├── receivestatesourcetype.json │ │ ├── receivestateurl.json │ │ ├── receivestateuserid.json │ │ ├── receivestatevideocount.json │ │ ├── sendeventerrorcode.json │ │ ├── sendeventerrormessage.json │ │ ├── sendeventonclick.json │ │ ├── sendeventresolution.json │ │ ├── sendeventretrycount.json │ │ ├── sendeventselectionchange.json │ │ ├── sendeventselectionsourcetype.json │ │ ├── sendeventselectionurl.json │ │ ├── sendeventsnapshotlastupdatetime.json │ │ ├── sendeventsnapshotstatus.json │ │ ├── sendeventsnapshoturl.json │ │ └── sendeventstate.json │ └── index.html ├── ch5-wifi-signal-level-gauge │ ├── ch5-wifi-signal-level-gauge-attributes-alignment.html │ ├── ch5-wifi-signal-level-gauge-attributes-gaugestyle.html │ ├── ch5-wifi-signal-level-gauge-attributes-maxvalue.html │ ├── ch5-wifi-signal-level-gauge-attributes-minvalue.html │ ├── ch5-wifi-signal-level-gauge-attributes-receiveStateValue.html │ ├── ch5-wifi-signal-level-gauge-attributes-size.html │ ├── ch5-wifi-signal-level-gauge-attributes-value.html │ ├── ch5-wifi-signal-level-gauge-attributes.html │ ├── ch5-wifi-signal-level-gauge-preload-cache-testcases.html │ ├── emulator │ │ ├── preload-cache-test-cases.json │ │ └── receivestatevalue.json │ └── index.html ├── component-config │ ├── config-attributes.html │ └── index.html ├── general │ ├── component-creation-from-js.html │ ├── debounce-utility.html │ ├── index.html │ └── subscribe-when-in-view-port.html ├── index.html ├── join-nr-as-signal-names │ ├── data-ch5-attrs.html │ ├── index.html │ ├── receive-signal-attrs.html │ └── utility-functions.html ├── js │ └── helpers.js ├── language-translation │ ├── index.html │ ├── language-translation.html │ └── language-translation.js ├── run-all.html └── themes │ └── crestron-components-assets │ ├── base.css │ ├── dark-theme.css │ ├── default-theme.css │ ├── external.css │ ├── high-contrast-theme.css │ └── light-theme.css ├── webcomponentsjs └── webcomponents-lite.js ├── webpack.common.config.js ├── webpack.dev.config.js ├── webpack.prod.config.js └── yarn.lock /.env.dist: -------------------------------------------------------------------------------- 1 | BUILD_VERSION=X.XX.XX.XX 2 | BUILD_DATE=YYYY-MM-DD -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | build_bundles 4 | src/**/**.spec.ts 5 | compiled_bundles -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | node_modules 4 | npm-debug.log 5 | yarn-error.log 6 | .env 7 | dist 8 | build_bundles 9 | build_bundles_dev 10 | compiled_bundles 11 | docs 12 | coverage 13 | bower_components 14 | test-report.xml 15 | mochawesome-report 16 | .nyc_output 17 | .vscode/settings.json -------------------------------------------------------------------------------- /.mocharc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extension": ["js"], 3 | "reporter": "spec", 4 | "package": "./package.json", 5 | "slow": 75, 6 | "timeout": 2000, 7 | "ui": "bdd", 8 | "spec": ["compiled_bundles/umd/**/*.spec.js"], 9 | "require": [ 10 | "jsdom-global/register" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | tsconfig.global.json 2 | tsconfig.*.json 3 | tslint.json 4 | .prettierignore 5 | src 6 | *.log 7 | *.js.map -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # package.json is formatted by package managers, so we ignore it here 2 | package.json 3 | package-lock.json 4 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "temporary", 3 | "description": "Temporary", 4 | "main": "index.js", 5 | "authors": [ 6 | "Crestron" 7 | ], 8 | "license": "ISC", 9 | "homepage": "", 10 | "ignore": [ 11 | "**/.*", 12 | "node_modules", 13 | "bower_components", 14 | "test", 15 | "tests" 16 | ], 17 | "dependencies": { 18 | "web-component-tester": "Polymer/web-component-tester#^6.5.0" 19 | } 20 | } -------------------------------------------------------------------------------- /copyright.txt: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. -------------------------------------------------------------------------------- /extra/footer-umd-package.js: -------------------------------------------------------------------------------- 1 | /* extra/footer-umd-package.js */ 2 | 3 | // generated code by WebPack only for umd distributions 4 | window['bridgeReceiveIntegerFromNative'] = CrComLib.bridgeReceiveIntegerFromNative; 5 | window['bridgeReceiveBooleanFromNative'] = CrComLib.bridgeReceiveBooleanFromNative; 6 | window['bridgeReceiveStringFromNative'] = CrComLib.bridgeReceiveStringFromNative; 7 | window['bridgeReceiveObjectFromNative'] = CrComLib.bridgeReceiveObjectFromNative; -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /mocha.opts: -------------------------------------------------------------------------------- 1 | --compiler ts:tsc 2 | --reporter spec 3 | --ui bdd 4 | --recursive 5 | --require jsdom-global/register 6 | compiled_bundles/umd/**/*.spec.js 7 | 8 | -------------------------------------------------------------------------------- /src/_interfaces/generated-metadata/readme.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | # Extension schema generation folder 6 | This folder contains the generated schema and other json output files from the library and theme code. 7 | -------------------------------------------------------------------------------- /src/ch5-animation/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-animation'; -------------------------------------------------------------------------------- /src/ch5-animation/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-animation'; 2 | export * from './i-ch5-animation-attributes'; 3 | export * from './i-ch5-animation-documentation'; 4 | -------------------------------------------------------------------------------- /src/ch5-animation/interfaces/t-ch5-animation.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5AnimationSize = 'regular' |'small' |'large' |'x-large'; 9 | export type TCh5AnimationStyle = 'ring' | 'spinner' | 'roller'; -------------------------------------------------------------------------------- /src/ch5-background/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-background'; -------------------------------------------------------------------------------- /src/ch5-background/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './t-ch5-background'; 9 | export * from "./i-ch5-background-attributes"; 10 | -------------------------------------------------------------------------------- /src/ch5-background/interfaces/t-ch5-background.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5BackgroundRepeat = 'no-repeat' | 'repeat' | 'repeat-x' | 'repeat-y'; 9 | 10 | export type TCh5BackgroundScale = 'stretch' | 'fill' | 'fit'; 11 | 12 | export type TCh5BackgroundTransitionEffect = 'ease' | 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out'; -------------------------------------------------------------------------------- /src/ch5-button-list/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-button-list'; 2 | export * from './ch5-button-list-mode'; 3 | export * from './ch5-button-list-label'; 4 | export * from './ch5-button-list-mode-state'; 5 | export * from './ch5-button-list-individual-button'; -------------------------------------------------------------------------------- /src/ch5-button-list/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-button-list'; 2 | export * from './i-ch5-button-list-attributes'; 3 | export * from './i-ch5-button-list-documentation'; 4 | export * from './i-ch5-button-list-mode-attributes'; 5 | export * from './i-ch5-button-list-mode-documentation'; 6 | export * from "./i-ch5-button-list-label-documentation"; 7 | export * from './i-ch5-button-list-mode-state-attributes'; 8 | export * from './i-ch5-button-list-mode-state-documentation'; 9 | export * from './i-ch5-button-list-individual-button-attributes'; 10 | export * from './i-ch5-button-list-individual-button-documentation'; -------------------------------------------------------------------------------- /src/ch5-button-list/interfaces/t-for-ch5-button-list-contract.ts: -------------------------------------------------------------------------------- 1 | export interface ICh5ButtonListContractObj { 2 | index: number; 3 | clickHoldTime: number; 4 | contractName: string; 5 | parentComponent: string; 6 | }; -------------------------------------------------------------------------------- /src/ch5-button/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-button-base'; 9 | export * from './ch5-button'; 10 | export * from './ch5-button-label'; 11 | export * from './ch5-button-mode'; 12 | export * from './ch5-button-mode-state'; 13 | -------------------------------------------------------------------------------- /src/ch5-button/interfaces/i-ch5-button.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICh5ButtonAttributes } from "./i-ch5-button-attributes"; 9 | import { ICh5Common } from "../../ch5-common/interfaces"; 10 | 11 | /** 12 | * @ignore 13 | * TODO - to remove this file, the below properties must be in ICh5ButtonAttributes 14 | */ 15 | export interface ICh5Button extends ICh5ButtonAttributes, ICh5Common { 16 | 17 | } -------------------------------------------------------------------------------- /src/ch5-button/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./t-ch5-button"; 9 | export * from "./i-ch5-button-attributes"; 10 | export * from "./i-ch5-button-label-attributes"; 11 | export * from "./i-ch5-button-mode-attributes"; 12 | export * from "./i-ch5-button-mode-state-attributes"; 13 | -------------------------------------------------------------------------------- /src/ch5-button/interfaces/t-for-ch5-button-list-contract.ts: -------------------------------------------------------------------------------- 1 | export interface ICh5ButtonListContractObj { 2 | index: number; 3 | clickHoldTime: number; 4 | contractName: string; 5 | parentComponent: string; 6 | }; -------------------------------------------------------------------------------- /src/ch5-color-chip/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-color-chip'; -------------------------------------------------------------------------------- /src/ch5-color-chip/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | 2 | export * from './i-ch5-color-chip-attributes'; 3 | export * from './i-ch5-color-chip-documentation'; 4 | -------------------------------------------------------------------------------- /src/ch5-color-picker/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-color-picker'; -------------------------------------------------------------------------------- /src/ch5-color-picker/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | 2 | export * from './i-ch5-color-picker-attributes'; 3 | export * from './i-ch5-color-picker-documentation'; 4 | -------------------------------------------------------------------------------- /src/ch5-common-input/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-common-input'; 9 | -------------------------------------------------------------------------------- /src/ch5-common-input/interfaces/i-ch5-common-input-documentation.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICh5CommonInputAttributes } from "."; 9 | import { ICh5Common } from "../../ch5-common/interfaces"; 10 | 11 | /** 12 | * @ignore 13 | */ 14 | export interface ICh5CommonInputDocumentation extends ICh5Common, ICh5CommonInputAttributes { 15 | } -------------------------------------------------------------------------------- /src/ch5-common-input/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './i-ch5-common-input'; 9 | export * from "./i-ch5-common-input-attributes"; 10 | export * from './t-ch5-common-input'; 11 | -------------------------------------------------------------------------------- /src/ch5-common-input/interfaces/t-ch5-common-input.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5CommonInputFeedbackModes = 'direct' | 'submit'; -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-appendclasswheninviewport.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForAppendClassWhenInViewPort { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`appendclasswheninviewport` attribute", 17 | * "***", 18 | * "Applies the provided value as class name while the component is visible and removes the class name when not visible." 19 | * ] 20 | * @name appendclasswheninviewport 21 | * @attributeType "String" 22 | */ 23 | appendClassWhenInViewPort: string; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-customclass.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForCustomClass { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`customclass` attribute", 17 | * "***", 18 | * "Contains a list of space delimited CSS classes that are applied on the component" 19 | * ] 20 | * @name customclass 21 | * @hideWhen [ 22 | * {"receiveStateCustomClass": ["true"] } 23 | * ] 24 | * @attributeType "String" 25 | */ 26 | customClass: string; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-customstyle.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForCustomStyle { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`customstyle` attribute", 17 | * "***", 18 | * "Contains a list of semicolon delimited style classes applied on the component." 19 | * ] 20 | * @name customstyle 21 | * @attributeType "String" 22 | */ 23 | customStyle: string; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-id.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForId { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`id` attribute", 17 | * "***", 18 | * "This is a standard id HTML attribute." 19 | * ] 20 | * @name id 21 | * @attributeType "String" 22 | */ 23 | id: string; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-noshowtype.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { TCh5ShowType } from "./../t-ch5-common"; 9 | 10 | /** 11 | * @ignore 12 | */ 13 | export interface ICh5CommonAttributesForNoShowType { 14 | 15 | /** 16 | * @documentation 17 | * [ 18 | * "`noshowtype` attribute", 19 | * "***", 20 | * "This property reflects the type of the visibility of the item. See the 'data-ch5-noshow-type' ", 21 | * "custom HTML attribute for further information." 22 | * ] 23 | * @name noshowtype 24 | * @default display 25 | * @attributeType "String" 26 | */ 27 | noshowType: TCh5ShowType; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-receivestatehidepulse.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForReceiveStateHidePulse { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`receivestatehidepulse` attribute", 17 | * "***", 18 | * "on transition from false to true, this signal will direct if the component is no longer visible." 19 | * ] 20 | * @name receivestatehidepulse 21 | * @join {"direction": "state", "isContractName": true, "booleanJoin": 1} 22 | * @attributeType "Join" 23 | */ 24 | receiveStateHidePulse: string; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-receivestateshow.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForReceiveStateShow { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`receivestateshow` attribute", 17 | * "***", 18 | * "When true, the boolean value of the signal determines if the component is visible." 19 | * ] 20 | * @name receivestateshow 21 | * @join {"direction": "state", "isContractName": true, "booleanJoin": 1} 22 | * @attributeType "Join" 23 | */ 24 | receiveStateShow: string; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-receivestateshowpulse.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForReceiveStateShowPulse { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`receivestateshowpulse` attribute", 17 | * "***", 18 | * "on transition from false to true, this signal directs the component to become visible." 19 | * ] 20 | * @name receivestateshowpulse 21 | * @join {"direction": "state", "isContractName": true, "booleanJoin": 1} 22 | * @attributeType "Join" 23 | */ 24 | receiveStateShowPulse: string; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-attributes-show.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonAttributesForShow { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`show` attribute", 17 | * "***", 18 | * "The visibility of the component depends upon the boolean value. The component is visible ", 19 | * "when the value is true and hides when it is false." 20 | * ] 21 | * @name show 22 | * @default true 23 | * @attributeType "Boolean" 24 | */ 25 | show: boolean; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-class.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonForClass { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`class` attribute", 17 | * "***", 18 | * "This is a standard class HTML attribute." 19 | * ] 20 | * @name class 21 | * @attributeType "String" 22 | */ 23 | class: string; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-debug.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { TBoolAttribute } from "./../t-ch5-common"; 9 | 10 | /** 11 | * @ignore 12 | */ 13 | export interface ICh5CommonForDebug { 14 | 15 | /** 16 | * @documentation 17 | * [ 18 | * "`debug` attribute", 19 | * "***", 20 | * "The default value is false. Used to get useful developer-related information about component behavior." 21 | * ] 22 | * @name debug 23 | * @default true 24 | * @attributeType "Boolean" 25 | */ 26 | debug: TBoolAttribute; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-disabled.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { TBoolAttribute } from "./../t-ch5-common"; 9 | 10 | /** 11 | * @ignore 12 | */ 13 | export interface ICh5CommonForDisabled { 14 | 15 | /** 16 | * @documentation 17 | * [ 18 | * "`disabled` attribute", 19 | * "***", 20 | * "The default value is false. This property will direct the component to change CSS and event listeners ", 21 | * "to reflect a disabled state when true." 22 | * ] 23 | * @name disabled 24 | * @default false 25 | * @attributeType "Boolean" 26 | */ 27 | disabled: TBoolAttribute; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/common/i-ch5-common-style.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICh5CommonForStyle { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`style` attribute", 17 | * "***", 18 | * "This is a standard style HTML attribute." 19 | * ] 20 | * @name style 21 | * @attributeType "String" 22 | */ 23 | style: string; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/i-ch5-common-datetime.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICh5CommonForClass } from "./common/i-ch5-common-class"; 9 | import { ICh5CommonForDebug } from "./common/i-ch5-common-debug"; 10 | import { ICh5CommonForRole } from "./common/i-ch5-common-role"; 11 | import { ICh5CommonForStyle } from "./common/i-ch5-common-style"; 12 | import { ICh5AttributesDateTime } from "./i-ch5-common-attributes-datetime"; 13 | 14 | /** 15 | * @ignore 16 | */ 17 | export interface ICh5CommonDateTime extends ICh5CommonForDebug, ICh5CommonForRole, ICh5CommonForStyle, ICh5CommonForClass, ICh5AttributesDateTime { 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/i-ch5-common-wo-disable.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICh5CommonForClass } from "./common/i-ch5-common-class"; 9 | import { ICh5CommonForDebug } from "./common/i-ch5-common-debug"; 10 | import { ICh5CommonForRole } from "./common/i-ch5-common-role"; 11 | import { ICh5CommonForStyle } from "./common/i-ch5-common-style"; 12 | import { ICh5CommonAttributesTemplate } from "./i-ch5-common-attributes-template"; 13 | 14 | /** 15 | * @ignore 16 | */ 17 | export interface ICh5CommonWoDisable extends ICh5CommonForDebug, ICh5CommonForRole, ICh5CommonForStyle, ICh5CommonForClass, ICh5CommonAttributesTemplate {} 18 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/i-ch5-gestureable.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { TBoolAttribute } from "./t-ch5-common"; 9 | 10 | /** 11 | * @ignore 12 | */ 13 | export interface ICh5Gestureable { 14 | 15 | /** 16 | * @documentation 17 | * [ 18 | * "`gestureable` attribute", 19 | * "***", 20 | * "The default value is false. When set to true, gesturing will be supported. ", 21 | * "Adding this will change the behavior inside of the component." 22 | * ] 23 | * @name gestureable 24 | * @attributeType "Boolean" 25 | */ 26 | gestureable: TBoolAttribute; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/ch5-common/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./t-ch5-common"; 9 | export * from "./i-ch5-common"; 10 | export * from "./i-ch5-common-attributes"; 11 | export * from "./i-ch5-gestureable"; 12 | export * from "./i-ch5-common-attributes-animation"; 13 | export * from "./i-ch5-common-attributes-set3"; 14 | export * from "./i-ch5-subpage-reference-list-attributes"; -------------------------------------------------------------------------------- /src/ch5-common/interfaces/t-ch5-common.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TBoolAttribute = 'false' | 'true'; 9 | 10 | export type TCh5ShowType = 'visibility' | 'display' | 'remove'; 11 | 12 | export type TCh5ProcessUriParams = { 13 | protocol: string; 14 | user: string; 15 | password: string; 16 | url: string; 17 | }; 18 | -------------------------------------------------------------------------------- /src/ch5-common/utils/animation/user-scroll-events.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export const USER_SCROLL_EVENTS = ['mousedown', 'wheel', 'DOMMouseScroll', 'mousewheel', 'keyup', 'touchmove']; -------------------------------------------------------------------------------- /src/ch5-common/utils/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './common-functions'; -------------------------------------------------------------------------------- /src/ch5-core/ch5-translation-configuration.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export class Ch5TranslationConfiguration { 9 | 10 | public static translationTokenStartDelimiter: string = '-+'; 11 | public static translationTokenEndDelimiter: string = '+-'; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/ch5-core/ch5-uid.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * Tests for the Ch5Uid class 10 | */ 11 | 12 | import { expect } from 'chai'; 13 | import { describe } from 'mocha'; 14 | import {Ch5Uid} from "./ch5-uid"; 15 | 16 | describe('Ch5Uid', () => { 17 | it('Multiple calls to getUid should return different ids', (done:MochaDone) => { 18 | 19 | const ids:string[] = []; 20 | let id = ''; 21 | 22 | for (let i = 0; i < 1000; i++) { 23 | id = Ch5Uid.getUid(); 24 | expect(ids).to.not.contain(id); 25 | ids.push(id); 26 | } 27 | 28 | done(); 29 | }); 30 | }); -------------------------------------------------------------------------------- /src/ch5-core/ch5-uid.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * Allows generating an unique id among the ch5 components 10 | */ 11 | export class Ch5Uid { 12 | private static _id = 0; 13 | private static _prefix = "cr-id-"; 14 | 15 | public static getUid() { 16 | return Ch5Uid._prefix + (++Ch5Uid._id); 17 | } 18 | } -------------------------------------------------------------------------------- /src/ch5-core/readme.md: -------------------------------------------------------------------------------- 1 | #Crestron Components Core 2 | 3 | Contains Core/Common functionality and code that will be used by the Crestron Web Components, Crestron Emulator and Crestron Showcase App. 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/ch5-core/resize-observer.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | // import ResizeObserver from 'resize-observer-polyfill'; 8 | 9 | /** 10 | * Utility function that returns the first scrollable parent 11 | */ 12 | export function resizeObserver(node: HTMLElement, callback: any) { 13 | const myObserver = new ResizeObserver(callback); 14 | myObserver.observe(node); 15 | } 16 | -------------------------------------------------------------------------------- /src/ch5-core/types/ch5-platform-info.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export interface ICh5PlatformInfo { 9 | capabilities: ICh5PlatformInfoCapabilities; 10 | version: string; 11 | name: string; 12 | } 13 | 14 | export interface ICh5PlatformInfoCapabilities { 15 | supportsTouchActivity: boolean; 16 | supportCredentialIntercept: ICh5PlatformInfoSupportCredentialIntercept; 17 | } 18 | 19 | export interface ICh5PlatformInfoSupportCredentialIntercept { 20 | http: string; 21 | https: string; 22 | } 23 | -------------------------------------------------------------------------------- /src/ch5-core/types/signal.table.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { TCh5Signal } from "./signal.type"; 9 | 10 | export type TCh5SignalHashTable = { 11 | [key: string]: TCh5Signal; 12 | } 13 | -------------------------------------------------------------------------------- /src/ch5-core/utility-functions/is-crestron-device.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * Returns whether the browser is running on a Crestron device, such as TSW 10 | */ 11 | export function isCrestronDevice(): boolean { 12 | return window.navigator.userAgent.toLowerCase().includes("crestron"); 13 | } -------------------------------------------------------------------------------- /src/ch5-core/utility-functions/is-ios-device.ts: -------------------------------------------------------------------------------- 1 | 2 | export function isIosDevice(): boolean { 3 | if ((window.navigator.platform === 'iPad' || window.navigator.platform === 'iPhone') && navigator.maxTouchPoints >= 1) { 4 | if (/iPad|iPhone/.test(window.navigator.userAgent)) { 5 | return true; 6 | } 7 | } else if (window.navigator.platform === 'MacIntel') { 8 | if (/Macintosh/.test(window.navigator.userAgent)) { 9 | return true; 10 | } 11 | } 12 | return false; 13 | } -------------------------------------------------------------------------------- /src/ch5-core/utility-functions/is-mobile-device.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * Returns whether the browser is mobile 10 | * 11 | * Recommended by 12 | * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent 13 | */ 14 | export function isMobileDevice(): boolean { 15 | return window.navigator.userAgent.toLowerCase().includes("mobi"); 16 | } -------------------------------------------------------------------------------- /src/ch5-core/utility-functions/is-safari-mobile.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * Returns whether the browser is Safari mobile 10 | */ 11 | export function isSafariMobile(): boolean { 12 | const ua = window.navigator.userAgent.toLowerCase(); 13 | 14 | // since the launch of iPadOS, iPadOS Safari shows desktop versions of websites by default 15 | const isiPadOS = ua.indexOf('ipad') > -1 || ua.indexOf('macintosh') > -1 && 'ontouchend' in document; 16 | 17 | const iOS = isiPadOS || !!ua.match(/iPhone/i); 18 | const webkit = !!ua.match(/WebKit/i); 19 | return !!(iOS && webkit && !ua.match(/CriOS/i)); 20 | } -------------------------------------------------------------------------------- /src/ch5-core/utility-functions/is-touch-device.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * Returns whether the browser is touch-capable 10 | */ 11 | export function isTouchDevice(): boolean { 12 | return !!(('ontouchstart' in window) 13 | || (navigator.maxTouchPoints > 0)); 14 | } -------------------------------------------------------------------------------- /src/ch5-core/utility-functions/signals.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { Ch5SignalFactory } from "../ch5-signal-factory"; 9 | 10 | /** 11 | * Utility function that returns the number of active subscriptions of CH5 Components 12 | */ 13 | export function getSubscriptionsCount() { 14 | const signals = Ch5SignalFactory.getInstance().getStates(); 15 | return signals; 16 | } -------------------------------------------------------------------------------- /src/ch5-custom-attrs/ch5-attrs-log.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export class Ch5AttrsLog { 9 | 10 | public static info(debug: boolean, message?: any, ...optionalParams: any[]): void { 11 | const ts: string = (new Date()).toISOString(); 12 | if (debug) { 13 | console.info(ts, 'Ch5CustomAttributes', ':', message, optionalParams); 14 | } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/ch5-custom-attrs/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-attrs-log'; 9 | export * from './ch5-custom-attributes'; 10 | export * from './ch5-attrs-show'; 11 | export * from './ch5-attrs-showpulse'; 12 | export * from './ch5-attrs-enable'; 13 | export * from './ch5-attrs-hidepulse'; 14 | export * from './ch5-attrs-text-content'; 15 | export * from './ch5-attrs-innerhtml'; 16 | export * from './ch5-attrs-appendclass'; 17 | export * from './ch5-attrs-appendstyle'; 18 | export * from './ch5-attrs-i18n'; 19 | -------------------------------------------------------------------------------- /src/ch5-custom-attrs/interfaces/helpers/custom-attribute.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICustomAttribute } from "./i-custom-attribute"; 9 | 10 | export abstract class CustomAttribute implements ICustomAttribute { 11 | private _type: T | null = null; 12 | 13 | public get type(): T { 14 | const self: CustomAttribute = this; 15 | if (!self._type) { 16 | throw new Error("Type is null "); 17 | } 18 | return self._type as T; 19 | } 20 | 21 | public set type(value: T) { 22 | this._type = value; 23 | } 24 | } -------------------------------------------------------------------------------- /src/ch5-custom-attrs/interfaces/helpers/i-custom-attribute.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export interface ICustomAttribute { 9 | /** 10 | * @name type 11 | */ 12 | type: T; 13 | } 14 | -------------------------------------------------------------------------------- /src/ch5-custom-attrs/interfaces/i-ch5-attrs-enable.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICustomAttribute } from "./helpers/i-custom-attribute"; 9 | 10 | // tslint:disable-next-line:no-unused-expression 11 | /** 12 | * @isattribute true 13 | * @name data-ch5-enable 14 | * @documentation 15 | * [ 16 | * "`data-ch5-enable` custom attribute", 17 | * "***", 18 | * "Specifies whether or not an element is enable based upon the value of the state. Works with standard HTML elements. " 19 | * ] 20 | */ 21 | export interface ICh5AttrsEnable extends ICustomAttribute { 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/ch5-custom-attrs/interfaces/i-ch5-attrs-i18n.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICustomAttribute } from "./helpers/i-custom-attribute"; 9 | 10 | // tslint:disable-next-line:no-unused-expression 11 | /** 12 | * @isattribute true 13 | * @name data-ch5-i18n 14 | * @documentation 15 | * [ 16 | * "`data-ch5-i18n` custom attribute", 17 | * "***", 18 | * "The 'data-ch5-i18n' custom HTML attribute allows for text content translation to be applied to ", 19 | * "standard HTML elements." 20 | * ] 21 | */ 22 | 23 | export interface ICh5AttrsI18n extends ICustomAttribute { 24 | 25 | } -------------------------------------------------------------------------------- /src/ch5-custom-attrs/interfaces/i-ch5-attrs-keep-sig-subscription.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICustomAttribute } from "./helpers/i-custom-attribute"; 9 | 10 | // tslint:disable-next-line:no-unused-expression 11 | /** 12 | * @isattribute true 13 | * @name data-ch5-keep-sig-subscription 14 | * @documentation 15 | * [ 16 | * "`data-ch5-keep-sig-subscription` custom attribute", 17 | * "***", 18 | * "Keeps the state subscription key generated by hidepulse, showpulse, or show custom attributes." 19 | * ] 20 | */ 21 | 22 | // tslint:disable-next-line:no-empty-interface 23 | export interface ICh5AttrsKeepSigSubscription extends ICustomAttribute { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ch5-custom-attrs/utils/ch5-attrs-constants.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export interface Ich5AttributeTranlate { 9 | dataCh5AttrName: string; 10 | elementIdPrefix: string; 11 | randomNumberLength: number; 12 | subAttributePosition: number; 13 | subAttributeType: string; 14 | defaultIndex: number; 15 | } 16 | 17 | export const CH5_I18N_ATTRIBUTE_CONSTANT: Ich5AttributeTranlate = { 18 | dataCh5AttrName: 'data-ch5-i18n', 19 | elementIdPrefix: 'ch5_translate_', 20 | randomNumberLength: 10, 21 | subAttributePosition: 2, 22 | subAttributeType: 'inner', 23 | defaultIndex: -1 24 | }; 25 | -------------------------------------------------------------------------------- /src/ch5-custom-attrs/utils/ch5-attrs-utility.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * function randomFixedInteger generate random number with specified length 10 | * @param {number} numberLength 11 | */ 12 | export function randomFixedInteger(numberLength: number): number { 13 | let randomNumber: number = 0; 14 | randomNumber = Math.floor(Math.pow(10, numberLength - 1) + Math.random() 15 | * (Math.pow(10, numberLength) - Math.pow(10, numberLength - 1) - 1)); 16 | 17 | return randomNumber; 18 | } -------------------------------------------------------------------------------- /src/ch5-datetime/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-datetime'; -------------------------------------------------------------------------------- /src/ch5-datetime/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './t-ch5-datetime'; 9 | export * from './i-ch5-datetime-attributes'; 10 | export * from './i-ch5-datetime-documentation'; 11 | -------------------------------------------------------------------------------- /src/ch5-datetime/interfaces/t-ch5-datetime.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5DateTimeStyleForDate = 'MM-dd-yyyy' | 'M-dd-yyyy' | 'M-d-yyyy' | 'MM-dd-yy' | 'M-dd-yy' | 'M-d-yy' | 'dd_MM_yyyy' | 'd_MM_yyyy' | 'd_M_yyyy' | 'dd_MM_yy' | 'd_MM_yy' | 'd_M_yy' | 'd MMM yyyy' | 'MMM d yyyy' | 'd MMMM yyyy' | 'MMMM d yyyy' | 'yyyy-MM-dd' | 'yyyy_MM_dd' | 'MMM d, yyyy' | 'yyyy MM, dd' | 'yyyy MMMM, dd' | 'MMMM d, yyyy'; 9 | export type TCh5DateTimeHorizontalAlignment = 'center' | 'left' | 'right'; 10 | export type TCh5DateTimeDisplayType = 'datetime' | 'date' | 'time'; 11 | -------------------------------------------------------------------------------- /src/ch5-dpad/ch5-dpad-utils.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export class CH5DpadUtils { 9 | 10 | // the join number is applied to the up button, join+1 applies to down, 11 | // join+2 applies to left, join+3 applies to right, join+4 to center 12 | public static readonly sendEventOnClickSigCountToAdd = { 13 | up: 0, 14 | down: 1, 15 | left: 2, 16 | right: 3, 17 | center: 4 18 | }; 19 | 20 | public static readonly contractSuffix = { 21 | up: 'Up', 22 | down: 'Down', 23 | left: 'Left', 24 | right: 'Right', 25 | center: 'Center' 26 | }; 27 | 28 | } -------------------------------------------------------------------------------- /src/ch5-dpad/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-dpad'; -------------------------------------------------------------------------------- /src/ch5-dpad/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-dpad-attributes"; 9 | export * from './i-ch5-dpad-button-attributes'; 10 | export * from './i-ch5-dpad-button-base-attributes'; 11 | -------------------------------------------------------------------------------- /src/ch5-dpad/interfaces/t-ch5-dpad.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present' | 'Crestron Electronics' | 'Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form' | 'machine 4 | // or natural' | 'without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5DpadType = 'default' | 'primary' | 'info' | 'text' | 'danger' | 'warning' | 'success' | 'secondary'; 9 | 10 | export type TCh5DpadShape = 'plus' | 'circle'; 11 | 12 | export type TCh5DpadStretch = 'both' | 'width' | 'height'; 13 | 14 | export type TCh5DpadChildButtonType = 'up' | 'down' | 'left' | 'right' | 'center'; 15 | 16 | export type TCh5DpadSize = 'regular' | 'x-small' | 'small' | 'large' | 'x-large'; -------------------------------------------------------------------------------- /src/ch5-emulator/emulator.spec.testdata.scenario001.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "hall_lights_tap", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "hall_lights_selected", 10 | "type": "b", 11 | "logic": "set", 12 | "value": true 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/ch5-emulator/emulator.spec.testdata.scenario002.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "b", 5 | "event": "volume_up_press", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "volume_level", 10 | "type": "n", 11 | "logic": "set", 12 | "value": 65535 13 | }, 14 | { 15 | "state": "volume_level_desc", 16 | "type": "s", 17 | "logic": "set", 18 | "value": "Raising Volume!" 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/ch5-emulator/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-emulator'; 9 | -------------------------------------------------------------------------------- /src/ch5-emulator/mocha.async.delay.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | const EMULATOR_ASYNC_DELAY = 40; 9 | 10 | export function emulatorAsyncDelay(doneFn: MochaDone, testFn: (...args: any[]) => void, testFnDelay = EMULATOR_ASYNC_DELAY) { 11 | setTimeout(() => { 12 | testFn(), 13 | doneFn(); 14 | }, testFnDelay); 15 | } 16 | -------------------------------------------------------------------------------- /src/ch5-emulator/readme.md: -------------------------------------------------------------------------------- 1 | # Crestron emulator 2 | 3 | 4 | Emulates signals according to a predefined logic. 5 | -------------------------------------------------------------------------------- /src/ch5-form/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-form'; -------------------------------------------------------------------------------- /src/ch5-form/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-form-attributes"; -------------------------------------------------------------------------------- /src/ch5-image/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-image'; 9 | export * from './ch5-image-mode'; -------------------------------------------------------------------------------- /src/ch5-image/interfaces/i-ch5-image-mode-attributes.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | /** 9 | * @ignore 10 | */ 11 | export interface ICH5ImageModeAttributes { 12 | 13 | /** 14 | * @documentation 15 | * [ 16 | * "`url` attribute", 17 | * "***", 18 | * "Must be a supported image format, including JPEG, GIF, PNG, SVG, and BMP." 19 | * ] 20 | * @name url 21 | * @attributeType "ImageURL" 22 | */ 23 | url: string; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ch5-image/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './i-ch5-image'; 9 | export * from "./i-ch5-image-attributes"; 10 | export * from './i-ch5-image-mode-attributes'; 11 | -------------------------------------------------------------------------------- /src/ch5-import-htmlsnippet/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-import-htmlsnippet'; -------------------------------------------------------------------------------- /src/ch5-import-htmlsnippet/interfaces/i-ch5-import-htmlsnippet-attributes.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICh5CommonAttributes } from "../../ch5-common/interfaces"; 9 | 10 | /** 11 | * @ignore 12 | */ 13 | export interface ICh5ImportHtmlSnippetAttributes extends ICh5CommonAttributes { 14 | /** 15 | * @documentation 16 | * [ 17 | * "`url` attribute", 18 | * "***", 19 | * "The HTML file path." 20 | * ] 21 | * @name url 22 | * @attributeType "ImageURL" 23 | */ 24 | url: string; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/ch5-import-htmlsnippet/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-import-htmlsnippet-attributes"; -------------------------------------------------------------------------------- /src/ch5-jointotext-boolean/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-jointotext-boolean'; -------------------------------------------------------------------------------- /src/ch5-jointotext-boolean/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i-ch5-jointotext-boolean-attributes'; 2 | export * from './i-ch5-jointotext-boolean-documentation'; -------------------------------------------------------------------------------- /src/ch5-jointotext-numeric/format/numeric-format.ts: -------------------------------------------------------------------------------- 1 | export abstract class NumericFormat { 2 | 3 | public abstract format(value: number, options: {}): string | number; 4 | 5 | } -------------------------------------------------------------------------------- /src/ch5-jointotext-numeric/format/raw-format.ts: -------------------------------------------------------------------------------- 1 | import { NumericFormat } from "./numeric-format"; 2 | 3 | export type RawFormatOptions = {} 4 | 5 | export class RawFormat extends NumericFormat { 6 | 7 | // eslint-disable-next-line @typescript-eslint/no-unused-vars 8 | public format(value: number, options: RawFormatOptions) { 9 | // raw integer - e.g. "%r" -- used for a raw integer 10 | if (isNaN(value)){ 11 | return "0"; 12 | } 13 | value = Math.abs(value); 14 | value = value > 65535 ? 65535 : value; 15 | return value.toString(); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /src/ch5-jointotext-numeric/format/unsigned-format.ts: -------------------------------------------------------------------------------- 1 | import { NumericFormat } from "./numeric-format"; 2 | 3 | export type UnsignedFormatOptions = { 4 | length: number; 5 | } 6 | 7 | export class UnsignedFormat extends NumericFormat { 8 | 9 | public format(value: number, options: UnsignedFormatOptions) { 10 | const { length } = options; 11 | if (isNaN(value)){ 12 | return "".padStart(length,"0"); 13 | } 14 | value = Math.abs(value); 15 | value = value > 65535 ? 65535 : value; 16 | 17 | return value.toString().padStart(length,"0"); 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /src/ch5-jointotext-numeric/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-jointotext-numeric'; -------------------------------------------------------------------------------- /src/ch5-jointotext-numeric/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-jointotext-numeric'; 2 | export * from './i-ch5-jointotext-numeric-attributes'; 3 | export * from './i-ch5-jointotext-numeric-documentation'; -------------------------------------------------------------------------------- /src/ch5-jointotext-numeric/interfaces/t-ch5-jointotext-numeric.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5JoinInfoNumericFormats = 'signed' | 'float' | 'percentage' | 'hex' | 'raw' | 'unsigned' | 'time'; 9 | -------------------------------------------------------------------------------- /src/ch5-jointotext-string/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-jointotext-string'; -------------------------------------------------------------------------------- /src/ch5-jointotext-string/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i-ch5-jointotext-string-attributes'; 2 | export * from './i-ch5-jointotext-string-documentation'; -------------------------------------------------------------------------------- /src/ch5-keypad/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-keypad'; -------------------------------------------------------------------------------- /src/ch5-keypad/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-keypad-btn-attributes"; 9 | export * from "./i-ch5-keypad-attributes"; 10 | -------------------------------------------------------------------------------- /src/ch5-label/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-label'; -------------------------------------------------------------------------------- /src/ch5-label/interfaces/i-ch5-label-attributes.ts: -------------------------------------------------------------------------------- 1 | import { ICh5CommonAttributes } from "../../ch5-common/interfaces"; 2 | 3 | /** 4 | * @ignore 5 | */ 6 | export interface ICh5LabelAttributes extends ICh5CommonAttributes { 7 | /** 8 | * @documentation 9 | * [ 10 | * "`label` attribute", 11 | * "***", 12 | * "Label" 13 | * ] 14 | * @name label 15 | * @default 16 | * @attributeType "String" 17 | */ 18 | label: string; 19 | 20 | /** 21 | * @documentation 22 | * [ 23 | * "`receiveStateLabel` attribute", 24 | * "***", 25 | * "Select a serial join to receive feedback from the control system. The value of this join gets assigned to the label as text. " 26 | * ] 27 | * @name receivestatelabel 28 | * @join {"direction": "state", "isContractName": true, "stringJoin": 1} 29 | * @attributeType "Join" 30 | */ 31 | receiveStateLabel: string; 32 | 33 | } -------------------------------------------------------------------------------- /src/ch5-label/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | 2 | export * from './i-ch5-label-attributes'; 3 | export * from './i-ch5-label-documentation'; 4 | -------------------------------------------------------------------------------- /src/ch5-list/animation/ch5-animation-factory.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { Ch5Animation } from './ch5-animation'; 9 | import { Ch5StandardAnimation } from './ch5-standard-animation'; 10 | 11 | export class Ch5AnimationFactory { 12 | 13 | public getAnimation(duration: number, easeMode: string, wrapper: HTMLElement) { 14 | const animationInstance: Ch5Animation = new Ch5StandardAnimation(duration, easeMode, wrapper); 15 | return animationInstance; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/ch5-list/ch5-list-log.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export class Ch5ListLog { 9 | 10 | public static info(debug: boolean, message?: any, ...optionalParams: any[]): void { 11 | const ts: string = (new Date()).toISOString(); 12 | if (debug) { 13 | console.info(ts, '[Ch5-List]', ':', message, optionalParams); 14 | } 15 | } 16 | 17 | public static error(debug: boolean, message?: any, ...optionalParams: any[]): void { 18 | const ts: string = (new Date()).toISOString(); 19 | if (debug) { 20 | console.error(ts, '[Ch5-List]', ':', message, optionalParams); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/ch5-list/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-list'; -------------------------------------------------------------------------------- /src/ch5-list/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-list-attributes"; 9 | export * from "./t-ch5-list"; 10 | -------------------------------------------------------------------------------- /src/ch5-list/interfaces/t-ch5-list.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5ListElementOrientation = 'vertical' | 'horizontal'; 9 | -------------------------------------------------------------------------------- /src/ch5-logger/appender/AppenderFactory.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 to the present, Crestron Electronics, Inc. 3 | * All rights reserved. 4 | * No part of this software may be reproduced in any form, machine 5 | * or natural, without the express written consent of Crestron Electronics. 6 | * Use of this source code is subject to the terms of the Crestron Software License Agreement 7 | * under which you licensed this source code. 8 | */ 9 | 10 | import { AppendersEnum } from '../enums/index'; 11 | import { RemoteAppender } from './RemoteAppender'; 12 | import { TAppenderConfig } from '../types'; 13 | 14 | export class AppenderFactory { 15 | 16 | public getAppender(appender: AppendersEnum, sendLogTimeOffset: number = 0, appenderConfig: TAppenderConfig) { 17 | 18 | if (appender === AppendersEnum.remote) { 19 | return RemoteAppender.getInstance(sendLogTimeOffset, appenderConfig); 20 | } 21 | 22 | throw new Error('Appender type is invalid'); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/ch5-logger/enums/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export enum LogLevelEnum { 9 | default = 0, 10 | info = 1, 11 | warning = 2, 12 | error = 3, 13 | } 14 | 15 | export enum AppendersEnum { 16 | remote = 'remote', 17 | console = 'console', 18 | } 19 | 20 | export enum LogEndpointsEnum { 21 | log = 'log' 22 | } 23 | -------------------------------------------------------------------------------- /src/ch5-logger/helpers/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './LogMessage'; 9 | export * from './LogMessagesFilter'; 10 | -------------------------------------------------------------------------------- /src/ch5-logger/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './helpers/index'; 9 | export * from './logger/index'; 10 | export * from './utility/index'; 11 | -------------------------------------------------------------------------------- /src/ch5-logger/logger/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export { Logger } from './Logger'; 9 | -------------------------------------------------------------------------------- /src/ch5-logger/services/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './RequestService'; 9 | -------------------------------------------------------------------------------- /src/ch5-logger/types/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { LogLevelEnum } from '../enums/index'; 9 | 10 | export type TDataLog = { 11 | level: LogLevelEnum; 12 | source: string; 13 | message: string; 14 | } 15 | 16 | export type TLogMessageType = any[]; 17 | 18 | export type TAppenderConfig = { 19 | hostname: string; // hostname or IP 20 | port: string; 21 | secure: boolean; 22 | }; -------------------------------------------------------------------------------- /src/ch5-logger/utility/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './getLogger'; 9 | export * from './getRemoteAppender'; 10 | export * from './uriSchemaValidation'; 11 | -------------------------------------------------------------------------------- /src/ch5-logger/utility/uriSchemaValidation.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export function uriSchemaValidation(uri: string) { 9 | // TODO Implement URI schema validation 10 | return uri !== ''; 11 | } 12 | -------------------------------------------------------------------------------- /src/ch5-modal-dialog/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-modal-dialog'; 9 | -------------------------------------------------------------------------------- /src/ch5-modal-dialog/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-modal-dialog-attributes"; -------------------------------------------------------------------------------- /src/ch5-modal-dialog/readme.md: -------------------------------------------------------------------------------- 1 | # Crestron ch5-modal-dialog web component -------------------------------------------------------------------------------- /src/ch5-overlay-panel/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-overlay-panel'; 9 | -------------------------------------------------------------------------------- /src/ch5-overlay-panel/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-overlay-panel-attributes"; 9 | export * from "./t-ch5-overlay-panel"; -------------------------------------------------------------------------------- /src/ch5-overlay-panel/interfaces/t-ch5-overlay-panel.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5OverlayPanelPositionOffset = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' 9 | | 'bottom-right' | 'left-center' | 'right-center'; 10 | 11 | export type TCh5OverlayPanelOverflow = 'scroll' | 'show'; 12 | 13 | export type TCh5OverlayPanelStretch = 'both' | 'width' | 'height'; -------------------------------------------------------------------------------- /src/ch5-overlay-panel/readme.md: -------------------------------------------------------------------------------- 1 | # Crestron ch5-overlay-panel web component 2 | 3 | -------------------------------------------------------------------------------- /src/ch5-qrcode/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-qrcode'; -------------------------------------------------------------------------------- /src/ch5-qrcode/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i-ch5-qrcode-attributes'; 2 | export * from './i-ch5-qrcode-documentation'; 3 | -------------------------------------------------------------------------------- /src/ch5-resync/models/ch5-clear-range-data-model.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export interface ICh5ClearRangeDataModel { 9 | boolean: { 10 | stateNames: string[], 11 | joinLow: number, 12 | joinHigh: number 13 | }; 14 | numeric: { 15 | stateNames: string[], 16 | joinLow: number, 17 | joinHigh: number 18 | }; 19 | string: { 20 | stateNames: string[], 21 | joinLow: number, 22 | joinHigh: number 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /src/ch5-resync/models/ch5-exclude-prefixes-model.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export interface ICh5ExcludePrefixesModel { 9 | excludePrefixes: string[]; 10 | } 11 | -------------------------------------------------------------------------------- /src/ch5-resync/models/ch5-resync-constants.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export class Ch5ResyncConstants { 9 | public static readonly JOIN_NUMBER_SIGNAL_NAME_PREFIX = "fb"; 10 | } 11 | -------------------------------------------------------------------------------- /src/ch5-resync/models/ch5-resync-reset-event-names-enum.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export enum ResetEventNames { 9 | startOfUpdateRange = 'StartOfUpdateRange', 10 | startOfUpdateRangeSO = 'StartOfUpdateRangeSO', 11 | clearAll = 'ClearAll', 12 | clearRange = 'ClearRange', 13 | endOfUpdate = 'EndOfUpdate', 14 | startOfUpdate = 'StartOfUpdate', 15 | } 16 | -------------------------------------------------------------------------------- /src/ch5-resync/models/ch5-states-at-default-value-model.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | 9 | export type ICh5StatesAtDefaultValueModelJoinNames = Record; 10 | export type ICh5StatesAtDefaultValueModel = Record; 11 | -------------------------------------------------------------------------------- /src/ch5-resync/models/resynchronization-request-model.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICh5ClearRangeDataModel } from "./ch5-clear-range-data-model"; 9 | 10 | export interface IResynchronizationRequestModel { 11 | id: string; 12 | state: string; 13 | value?: { 14 | excludePrefixes?: string[], 15 | range?: ICh5ClearRangeDataModel 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /src/ch5-segmented-gauge/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-segmented-gauge'; -------------------------------------------------------------------------------- /src/ch5-segmented-gauge/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-segmented-gauge'; 2 | export * from './i-ch5-segmented-gauge-attributes'; 3 | export * from './i-ch5-segmented-gauge-documentation'; 4 | -------------------------------------------------------------------------------- /src/ch5-segmented-gauge/interfaces/t-ch5-segmented-gauge.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SegmentedGaugeOrientation = 'horizontal' | 'vertical'; 9 | export type TCh5SegmentedGaugeGaugeLedStyle = 'rectangle' | 'circle'; 10 | export type TCh5SegmentedGaugeStateGraphic = 'green' | 'yellow' | 'red' | 'blue' | 'orange' | 'white' | 'inactive'; 11 | -------------------------------------------------------------------------------- /src/ch5-select-option/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-select-option'; 9 | -------------------------------------------------------------------------------- /src/ch5-select-option/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-select-option-attributes"; -------------------------------------------------------------------------------- /src/ch5-select-option/interfaces/types/t-ch5-select-option-icon-position.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SelectOptionIconPosition = 'first' | 'last'; 9 | -------------------------------------------------------------------------------- /src/ch5-select/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-select'; 9 | -------------------------------------------------------------------------------- /src/ch5-select/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./t-ch5-select"; 9 | export * from "./i-ch5-select-attributes"; -------------------------------------------------------------------------------- /src/ch5-select/interfaces/t-ch5-select.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SelectIconPosition = 'first' | 'last'; 9 | 10 | export type TCh5SelectMode = 'plain' | 'panel'; 11 | -------------------------------------------------------------------------------- /src/ch5-signal-level-gauge/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-signal-level-gauge'; -------------------------------------------------------------------------------- /src/ch5-signal-level-gauge/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-signal-level-gauge'; 2 | export * from './i-ch5-signal-level-gauge-attributes'; 3 | export * from './i-ch5-signal-level-gauge-documentation'; 4 | -------------------------------------------------------------------------------- /src/ch5-signal-level-gauge/interfaces/t-ch5-signal-level-gauge.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SignalLevelGaugeOrientation = 'horizontal' | 'vertical'; 9 | export type TCh5SignalLevelGaugeSize = 'regular' | 'small' | 'large' | 'x-large'; 10 | 11 | -------------------------------------------------------------------------------- /src/ch5-slider/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-slider'; 2 | export * from './ch5-slider-button'; 3 | -------------------------------------------------------------------------------- /src/ch5-slider/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-slider'; 2 | export * from './i-ch5-slider-attributes'; 3 | export * from './i-ch5-slider-documentation'; 4 | export * from './t-ch5-slider-button'; 5 | export * from './i-ch5-slider-button-attributes'; 6 | export * from './i-ch5-slider-button-documentation'; 7 | export * from './i-ch5-slider-title-label-attributes'; 8 | export * from './i-ch5-slider-title-label-documentation'; 9 | export * from './i-ch5-slider-button-label-documentation'; -------------------------------------------------------------------------------- /src/ch5-slider/interfaces/t-ch5-slider-button.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SliderButtonKey = 'on' | 'off'; 9 | export type TCh5IconUrlFillType = 'stretch' | 'stretch-aspect' | 'center' | 'tile' | 'initial'; 10 | export type TCh5SliderButtonShape = 'rounded-rectangle' | 'rectangle' | 'tab' | 'circle' | 'oval'; 11 | export type TCh5SliderButtonVerticalAlignLabel = 'middle' | 'top' | 'bottom'; 12 | export type TCh5SliderButtonType = 'default' | 'primary' | 'info' | 'text' | 'danger' | 'warning' | 'success' | 'secondary'; 13 | export type TCh5SliderButtonHorizontalAlignLabel = 'left' | 'right' | 'center'; -------------------------------------------------------------------------------- /src/ch5-slider/interfaces/t-ch5-slider.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SliderHandleShape = 'rounded-rectangle' | 'rectangle' | 'circle' | 'oval'; 9 | export enum TCh5SliderHandle { VALUE = 0, HIGHVALUE = 1 }; 10 | export type TCh5SliderOrientation = 'horizontal' | 'vertical'; 11 | export type TCh5SliderSize = 'regular' | 'x-small' | 'small' | 'large' | 'x-large'; 12 | export type TCh5SliderHandleSize = 'regular' | 'x-small' | 'small' | 'large' | 'x-large'; 13 | export type TCh5SliderStretch = 'both' | 'height' | 'width'; 14 | export type TCh5SliderToolTipShowType = 'off' | 'on' | 'auto'; 15 | export type TCh5SliderToolTipDisplayType = '%' | 'value'; -------------------------------------------------------------------------------- /src/ch5-slider/readme.md: -------------------------------------------------------------------------------- 1 | # Crestron ch5-slider web component 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/ch5-spinner/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-spinner'; -------------------------------------------------------------------------------- /src/ch5-spinner/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './i-ch5-spinner-attributes'; 9 | export * from './t-ch5-spinner'; -------------------------------------------------------------------------------- /src/ch5-spinner/interfaces/t-ch5-spinner.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SpinnerFeedbackModes = 'direct' | 'submit'; 9 | 10 | export type TCh5SpinnerIconPosition = 'first' | 'last'; -------------------------------------------------------------------------------- /src/ch5-subpage-reference-list/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-subpage-reference-list'; 2 | export { refreshCh5subpageReferenceList } from './refresh-ch5-subpage-reference-list'; -------------------------------------------------------------------------------- /src/ch5-subpage-reference-list/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-subpage-reference-list'; 2 | export * from './i-ch5-subpage-reference-list-attributes'; 3 | export * from './i-ch5-subpage-reference-list-documentation'; 4 | -------------------------------------------------------------------------------- /src/ch5-subpage-reference-list/interfaces/t-ch5-subpage-reference-list.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5SubpageReferenceListStretch = 'both'; 9 | export type TCh5SubpageReferenceListOrientation = 'horizontal' | 'vertical'; 10 | export type TCh5SubpageReferenceListAttributesLoadItems = 'visible-only' | 'load-new' | 'all'; -------------------------------------------------------------------------------- /src/ch5-subpage-reference-list/refresh-ch5-subpage-reference-list.ts: -------------------------------------------------------------------------------- 1 | import { Subject } from "rxjs"; 2 | 3 | export const ch5subpageReferenceListSubject = new Subject(); 4 | 5 | export const refreshCh5subpageReferenceList = (ch5subpageReferenceListId: string) => { 6 | ch5subpageReferenceListSubject.next(ch5subpageReferenceListId); 7 | } -------------------------------------------------------------------------------- /src/ch5-tab-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-tab-button'; 2 | export * from './ch5-tab-button-label'; 3 | export * from './ch5-tab-button-individual-button'; -------------------------------------------------------------------------------- /src/ch5-tab-button/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i-ch5-tab-button-attributes'; 2 | export * from './i-ch5-tab-button-documentation'; 3 | export * from './i-ch5-tab-button-label-documentation'; 4 | export * from './i-ch5-tab-button-individual-button-attributes'; 5 | export * from './i-ch5-tab-button-individual-button-documentation'; 6 | -------------------------------------------------------------------------------- /src/ch5-tab-button/interfaces/t-for-ch5-button-list-contract.ts: -------------------------------------------------------------------------------- 1 | export interface ICh5ButtonListContractObj { 2 | index: number; 3 | clickHoldTime: number; 4 | contractName: string; 5 | parentComponent: string; 6 | }; -------------------------------------------------------------------------------- /src/ch5-template/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-template'; 9 | export { refreshCh5Template } from './refresh-ch5-template'; 10 | -------------------------------------------------------------------------------- /src/ch5-template/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './i-ch5-template-attributes'; 9 | -------------------------------------------------------------------------------- /src/ch5-template/refresh-ch5-template.ts: -------------------------------------------------------------------------------- 1 | import { Subject } from "rxjs"; 2 | 3 | export const ch5TemplateSubject = new Subject(); 4 | 5 | export const refreshCh5Template = (ch5TemplateId: string) => { 6 | ch5TemplateSubject.next(ch5TemplateId); 7 | } -------------------------------------------------------------------------------- /src/ch5-text/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-text'; 2 | -------------------------------------------------------------------------------- /src/ch5-text/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i-ch5-text-attributes'; 2 | export * from './i-ch5-text-documentation'; 3 | export * from './t-ch5-text'; 4 | -------------------------------------------------------------------------------- /src/ch5-text/interfaces/t-ch5-text.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5TextHorizontalAlignment = 'center' | 'left' | 'right'; 9 | export type TCh5TextVerticalAlignment = 'middle' | 'top' | 'bottom'; 10 | -------------------------------------------------------------------------------- /src/ch5-textinput/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-textinput'; -------------------------------------------------------------------------------- /src/ch5-textinput/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-text-input"; 9 | export * from './i-ch5-text-input-attributes'; 10 | export * from "./t-ch5-text-input"; -------------------------------------------------------------------------------- /src/ch5-textinput/interfaces/t-ch5-text-input.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5TextInputSize = 'regular' | 'x-small' | 'small' | 'large' | 'x-large'; 9 | 10 | export type TCh5TextInputIconPosition = 'first' | 'last'; 11 | 12 | export type TCh5TextInputStretch = 'fixed' | 'width' | 'content'; 13 | 14 | export type TCh5TextInputTextTransform = 'none' | 'capitalize' | 'uppercase' | 'lowercase'; 15 | 16 | export type TCh5TextInputType = 'text' | 'number' | 'email' | 'password'; 17 | 18 | -------------------------------------------------------------------------------- /src/ch5-toggle/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-toggle'; -------------------------------------------------------------------------------- /src/ch5-toggle/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i-ch5-toggle-attributes'; 2 | export * from './i-ch5-toggle-documentation'; 3 | export * from './t-ch5-toggle'; -------------------------------------------------------------------------------- /src/ch5-toggle/interfaces/t-ch5-toggle.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5ToggleHandleShape = 'circle' | 'rectangle'; 9 | export type TCh5ToggleOrientation = 'horizontal' | 'vertical'; 10 | export type TCh5ToggleSize = 'regular' | 'x-small' | 'small' | 'large' | 'x-large'; 11 | export type TCh5ToggleFeedbackMode = 'direct' | 'submit'; 12 | -------------------------------------------------------------------------------- /src/ch5-touch/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-touch-activity'; 9 | -------------------------------------------------------------------------------- /src/ch5-triggerview/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-triggerview-child'; 9 | export * from './ch5-triggerview'; -------------------------------------------------------------------------------- /src/ch5-triggerview/interfaces/i-ch5-triggerview-child-documentation.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | import { ICh5TriggerViewChildAttributes } from "."; 9 | import { ICh5Common } from "../../ch5-common/interfaces"; 10 | 11 | /** 12 | * @ignore 13 | */ 14 | export interface ICh5TriggerViewChildDocumentation extends ICh5Common, ICh5TriggerViewChildAttributes { 15 | } -------------------------------------------------------------------------------- /src/ch5-triggerview/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from "./i-ch5-triggerview-attributes"; 9 | export * from "./i-ch5-triggerview-child-attributes"; -------------------------------------------------------------------------------- /src/ch5-video-switcher/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-video-switcher'; 2 | export * from './ch5-video-switcher-screen'; 3 | export * from './ch5-video-switcher-screen-label'; 4 | export * from './ch5-video-switcher-source'; 5 | export * from './ch5-video-switcher-source-label'; -------------------------------------------------------------------------------- /src/ch5-video-switcher/interfaces/i-ch5-video-switcher-screen-attributes.ts: -------------------------------------------------------------------------------- 1 | import { TCh5VideoSwitcherScreenAlignLabel } from "./t-ch5-video-switcher"; 2 | 3 | /** 4 | * @ignore 5 | */ 6 | export interface ICh5VideoSwitcherScreenAttributes { 7 | /** 8 | * @documentation 9 | * [ 10 | * "`labelInnerHTML` attribute", 11 | * "***", 12 | * "Ability to provide a template that applies for the individual screen in the list." 13 | * ] 14 | * @name labelinnerhtml 15 | * @attributeType "String" 16 | * @hidden true 17 | */ 18 | labelInnerHTML: string; 19 | /** 20 | * @documentation 21 | * [ 22 | * "`alignLabel` attribute", 23 | * "***", 24 | * "Set the label alignment on the screen window as either left, center(default) and right." 25 | * ] 26 | * @name alignlabel 27 | * @default center 28 | * @attributeType "EnumeratedValue" 29 | */ 30 | alignLabel: TCh5VideoSwitcherScreenAlignLabel; 31 | } -------------------------------------------------------------------------------- /src/ch5-video-switcher/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i-ch5-video-switcher-attributes'; 2 | export * from './i-ch5-video-switcher-documentation'; 3 | export * from './i-ch5-video-switcher-screen-attributes'; 4 | export * from './i-ch5-video-switcher-screen-documentation'; 5 | export * from './i-ch5-video-switcher-screen-label-documentation'; 6 | export * from './i-ch5-video-switcher-source-attributes'; 7 | export * from './i-ch5-video-switcher-source-documentation'; 8 | export * from './i-ch5-video-switcher-source-label-documentation'; 9 | export * from './t-ch5-video-switcher'; -------------------------------------------------------------------------------- /src/ch5-video-switcher/interfaces/t-ch5-video-switcher.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2024 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5VideoSwitcherSourceListPosition = 'top' | 'left' | 'right' | 'bottom'; 9 | export type TCh5VideoSwitcherScreenAspectRatio = 'stretch' | '16:9' | '4:3'; 10 | export type TCh5VideoSwitcherContractSourceLabelType = 'none' | 'textContent' | 'innerHTML'; 11 | export type TCh5VideoSwitcherContractScreenLabelType = 'none' | 'textContent' | 'innerHTML'; 12 | export type TCh5VideoSwitcherScreenAlignLabel = 'center' | 'left' | 'right'; -------------------------------------------------------------------------------- /src/ch5-video/ch5-video-utils.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export class CH5VideoUtils { 9 | 10 | public static readonly VIDEO_ACTION = { 11 | START: 'start', 12 | STARTED: 'started', 13 | STOP: 'stop', 14 | STOPPED: 'stopped', 15 | RESIZE: 'resize', 16 | RESIZED: 'resized', 17 | REFILL: 'refill', 18 | SNAPSHOT: 'snapshot', 19 | MARK: 'mark', 20 | NOURL: 'nourl', 21 | FULLSCREEN: 'fullscreen', 22 | ERROR: 'error', 23 | EMPTY: '' 24 | }; 25 | 26 | } -------------------------------------------------------------------------------- /src/ch5-video/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-video'; -------------------------------------------------------------------------------- /src/ch5-video/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './t-ch5-video'; 9 | export * from './i-ch5-video-helper'; 10 | export * from './i-ch5-video-attributes'; 11 | export * from './i-ch5-video-documentation'; -------------------------------------------------------------------------------- /src/ch5-video/interfaces/t-ch5-video.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5VideoAspectRatio = '16:9' | '4:3'; 9 | export type TCh5VideoSourceType = 'Network' | 'HDMI'; 10 | export type TCh5VideoSize = 'regular' | 'x-small' | 'small' | 'large' | 'x-large' | 'xx-large'; 11 | -------------------------------------------------------------------------------- /src/ch5-wifi-signal-level-gauge/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ch5-wifi-signal-level-gauge'; -------------------------------------------------------------------------------- /src/ch5-wifi-signal-level-gauge/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './t-ch5-wifi-signal-level-gauge'; 2 | export * from './i-ch5-wifi-signal-level-gauge-attributes'; 3 | export * from './i-ch5-wifi-signal-level-gauge-documentation'; -------------------------------------------------------------------------------- /src/ch5-wifi-signal-level-gauge/interfaces/t-ch5-wifi-signal-level-gauge.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export type TCh5WifiSignalLevelGaugeGaugeStyle = 'light' | 'accents' | 'dark'; 9 | export type TCh5WifiSignalLevelGaugeAlignment = 'up' | 'down' | 'left' | 'right'; 10 | export type TCh5WifiSignalLevelGaugeSize = 'regular' | 'small' | 'large' | 'x-large'; 11 | 12 | -------------------------------------------------------------------------------- /src/typings/dragdroptouch.d.ts: -------------------------------------------------------------------------------- 1 | declare module "drag-drop-touch"; -------------------------------------------------------------------------------- /src/typings/mycolorpicker.d.ts: -------------------------------------------------------------------------------- 1 | declare module "@raghavendradabbir/mycolorpicker"; -------------------------------------------------------------------------------- /src/utility-models/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 to the present, Crestron Electronics, Inc. 2 | // All rights reserved. 3 | // No part of this software may be reproduced in any form, machine 4 | // or natural, without the express written consent of Crestron Electronics. 5 | // Use of this source code is subject to the terms of the Crestron Software License Agreement 6 | // under which you licensed this source code. 7 | 8 | export * from './ch5-role-attribute-mapping'; 9 | -------------------------------------------------------------------------------- /tsconfig.amd.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base", 3 | "compilerOptions": { 4 | "module": "amd", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 5 | "outDir": "./compiled_bundles/amd", /* Redirect output structure to the directory. */ 6 | "declarationDir": "./compiled_bundles/amd" 7 | } 8 | } -------------------------------------------------------------------------------- /tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base", 3 | "compilerOptions": { 4 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 5 | "outDir": "./compiled_bundles/cjs", /* Redirect output structure to the directory. */ 6 | "declarationDir": "./compiled_bundles/cjs" 7 | } 8 | } -------------------------------------------------------------------------------- /tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base", 3 | "compilerOptions": { 4 | "moduleResolution":"node", 5 | "allowSyntheticDefaultImports": true, 6 | "target": "es6", 7 | "module": "es6", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 8 | "outDir": "./compiled_bundles/esm", /* Redirect output structure to the directory. */ 9 | "declarationDir": "./compiled_bundles/esm" 10 | } 11 | } -------------------------------------------------------------------------------- /tsconfig.umd.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base", 3 | "compilerOptions": { 4 | "module": "umd", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 5 | "outDir": "./compiled_bundles/umd", /* Redirect output structure to the directory. */ 6 | "declarationDir": "./compiled_bundles/umd" 7 | }, 8 | "include": ["**/*.ts"] 9 | } -------------------------------------------------------------------------------- /tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.cjs", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "outDir": null, 6 | "declarationDir": "./@types" 7 | } 8 | } -------------------------------------------------------------------------------- /tsconfig.webpack_implicit_ce.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.cjs", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es6", 6 | "outDir": null, 7 | "declarationDir": "./@types" 8 | } 9 | } -------------------------------------------------------------------------------- /wct.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": { 3 | "local": { 4 | "disabled": false, 5 | "browsers": [ 6 | "chrome" 7 | ], 8 | "browserOptions": { 9 | "chrome": [ 10 | "window-size=1920,1080", 11 | "headless", 12 | "disable-gpu" 13 | ] 14 | } 15 | }, 16 | "junit-reporter": {} 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /wct_tests/assets/img/idea.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wct_tests/assets/img/lists.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wct_tests/assets/img/nav_icon_0.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wct_tests/assets/img/nav_icon_1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wct_tests/assets/img/nav_icon_2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wct_tests/assets/img/nav_icon_3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wct_tests/assets/img/nav_icon_4.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wct_tests/assets/img/nav_icon_5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wct_tests/assets/img/nav_icon_6.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wct_tests/assets/img/ok.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wct_tests/assets/img/page.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wct_tests/assets/img/something.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wct_tests/assets/img/video.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wct_tests/ch5-accessibility-attributes/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /wct_tests/ch5-animation/emulator/noShowType.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_remove", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "string", 11 | "logic": "remove" 12 | } 13 | ] 14 | }, 15 | { 16 | "type": "boolean", 17 | "event": "trigger_display", 18 | "trigger": true, 19 | "actions": [ 20 | { 21 | "state": "trigger_event_listener", 22 | "type": "string", 23 | "logic": "display" 24 | } 25 | ] 26 | }, 27 | { 28 | "type": "boolean", 29 | "event": "trigger_visibility", 30 | "trigger": true, 31 | "actions": [ 32 | { 33 | "state": "trigger_event_listener", 34 | "type": "string", 35 | "logic": "visibility" 36 | } 37 | ] 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /wct_tests/ch5-animation/emulator/receivestateanimate.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-animation/emulator/receivestateanimationstyle.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_0", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "s", 11 | "logic": "set", 12 | "value": "roller" 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_1", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "s", 24 | "logic": "set", 25 | "value": "spinner" 26 | } 27 | ] 28 | }, 29 | { 30 | "type": "boolean", 31 | "event": "trigger_event_2", 32 | "trigger": true, 33 | "actions": [ 34 | { 35 | "state": "trigger_event_listener", 36 | "type": "s", 37 | "logic": "set", 38 | "value": "ring" 39 | } 40 | ] 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /wct_tests/ch5-animation/emulator/receivestateframespersecond.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 1 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener_2", 23 | "type": "n", 24 | "logic": "set", 25 | "value": -10 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-background/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 22 | 23 | -------------------------------------------------------------------------------- /wct_tests/ch5-button/emulator/alignments.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_set_selected_state", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "receive_selected_state", 10 | "type": "b", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-button/emulator/checkbox.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_type_change_danger", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "current_type", 10 | "type": "s", 11 | "logic": "set", 12 | "value": "danger" 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_type_change_warning", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "current_type", 23 | "type": "s", 24 | "logic": "set", 25 | "value": "warning" 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-button/emulator/selected.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "hall_lights_tap", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "hall_lights_selected", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-chip/emulator/sendEventColorBlueOnChange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": "change", 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "set", 12 | "value": 134 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "set", 25 | "value": 176 26 | } 27 | ] 28 | }, 29 | { 30 | "type": "boolean", 31 | "event": "trigger_Blue", 32 | "trigger": true, 33 | "actions": [ 34 | { 35 | "state": "trigger_event_listener", 36 | "type": "n", 37 | "logic": "set", 38 | "value": 126 39 | } 40 | ] 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-chip/emulator/sendEventColorGreenOnChange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": "change", 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "set", 12 | "value": 134 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "set", 25 | "value": 176 26 | } 27 | ] 28 | }, 29 | { 30 | "type": "boolean", 31 | "event": "trigger_Blue", 32 | "trigger": true, 33 | "actions": [ 34 | { 35 | "state": "trigger_event_listener", 36 | "type": "n", 37 | "logic": "set", 38 | "value": 126 39 | } 40 | ] 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-chip/emulator/sendEventColorRedOnChange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": "change", 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "set", 12 | "value": 134 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "set", 25 | "value": 176 26 | } 27 | ] 28 | }, 29 | { 30 | "type": "boolean", 31 | "event": "trigger_Blue", 32 | "trigger": true, 33 | "actions": [ 34 | { 35 | "state": "trigger_event_listener", 36 | "type": "n", 37 | "logic": "set", 38 | "value": 126 39 | } 40 | ] 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-chip/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /wct_tests/ch5-color-picker/emulator/receiveStateBlueValue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-picker/emulator/receiveStateGreenValue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-picker/emulator/receiveStateRedValue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-picker/emulator/sendEventColorBlueOnChange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 1 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "decrement", 25 | "offset": 1 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-picker/emulator/sendEventColorGreenOnChange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 1 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "decrement", 25 | "offset": 1 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-picker/emulator/sendEventColorRedOnChange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 1 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "decrement", 25 | "offset": 1 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-color-picker/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /wct_tests/ch5-datetime/js/helper.js: -------------------------------------------------------------------------------- 1 | async function runSinonSetTimeout(time, clock) { 2 | return new Promise((resolve) => { 3 | setTimeout(resolve, time); 4 | clock && clock.tick(time); 5 | }); 6 | } 7 | 8 | async function runSinonTimer(time, clock) { 9 | await runSinonSetTimeout(time, clock); 10 | } 11 | -------------------------------------------------------------------------------- /wct_tests/ch5-dpad/emulator/receivestatedisablecenterbutton.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-dpad/emulator/receivestatehidecenterbutton.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-dpad/emulator/receivestatenumericjoins.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "6", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "fb6", 10 | "type": "boolean", 11 | "value": true 12 | } 13 | ] 14 | } 15 | ], 16 | "onStart" : [{ 17 | "state": "fb6", 18 | "type": "boolean", 19 | "value": true 20 | }] 21 | } -------------------------------------------------------------------------------- /wct_tests/ch5-form/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 25 | 26 | -------------------------------------------------------------------------------- /wct_tests/ch5-image/emulator/receivestateallowpositiondatatobesent.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-image/emulator/receivestateallowvaluesonmove.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-image/emulator/sendeventxposition.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-image/emulator/sendeventyposition.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-import-htmlsnippet/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /wct_tests/ch5-jointotext-boolean/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /wct_tests/ch5-jointotext-numeric/emulator/receivestatevalue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_change_value", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "temperature", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 5 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-jointotext-numeric/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /wct_tests/ch5-jointotext-string/emulator/receivestatevalue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_change_value", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "garage_door_status", 10 | "type": "s", 11 | "logic": "set", 12 | "value": "No feedback" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-jointotext-string/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /wct_tests/ch5-keypad/emulator/receivestateextrabuttonshow.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "receive_trigger_event", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | }, 15 | { 16 | "type": "boolean", 17 | "event": "trigger_event_1", 18 | "trigger": true, 19 | "actions": [ 20 | { 21 | "state": "receive_state_event_1", 22 | "type": "boolean", 23 | "logic": "set", 24 | "value": true 25 | } 26 | ] 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /wct_tests/ch5-keypad/emulator/receivestatehideasteriskbutton.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-keypad/emulator/receivestatehidepoundbutton.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-list/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 18 | 19 | -------------------------------------------------------------------------------- /wct_tests/ch5-modal-dialog/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /wct_tests/ch5-overlay-panel/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /wct_tests/ch5-qrcode/emulator/noShowType.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_remove", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "string", 11 | "logic": "remove" 12 | } 13 | ] 14 | }, 15 | { 16 | "type": "boolean", 17 | "event": "trigger_display", 18 | "trigger": true, 19 | "actions": [ 20 | { 21 | "state": "trigger_event_listener", 22 | "type": "string", 23 | "logic": "display" 24 | } 25 | ] 26 | }, 27 | { 28 | "type": "boolean", 29 | "event": "trigger_visibility", 30 | "trigger": true, 31 | "actions": [ 32 | { 33 | "state": "trigger_event_listener", 34 | "type": "string", 35 | "logic": "visibility" 36 | } 37 | ] 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /wct_tests/ch5-qrcode/emulator/receivestateqrcode.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "set_qr_code", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "type": "string", 10 | "state": "receive_qr_code", 11 | "logic": "set", 12 | "value": "https://crestron.com/" 13 | } 14 | ] 15 | } 16 | ], 17 | "onStart": [ 18 | { 19 | "state": "receive_qr_code", 20 | "type": "string", 21 | "value": "https://www.crestron.com/Products/Audio/Accessories/Power-Accessories" 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /wct_tests/ch5-qrcode/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /wct_tests/ch5-segmented-gauge/emulator/preloadcachepage.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 3277.5 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "decrement", 25 | "offset": 3277.5 26 | } 27 | ] 28 | } 29 | ], 30 | "onStart": [ 31 | { 32 | "state": "trigger_event_listener", 33 | "type": "number", 34 | "value": 20 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /wct_tests/ch5-segmented-gauge/emulator/receivestatevalue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "set", 12 | "value": 200 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "set", 25 | "value": -10000 26 | } 27 | ] 28 | }, 29 | { 30 | "type": "boolean", 31 | "event": "trigger_event_3", 32 | "trigger": true, 33 | "actions": [ 34 | { 35 | "state": "trigger_event_listener", 36 | "type": "n", 37 | "logic": "set", 38 | "value": 65537 39 | } 40 | ] 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /wct_tests/ch5-segmented-gauge/emulator/sendeventonclick.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-select/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /wct_tests/ch5-slider/emulator/preloadcachepage.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_0", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener_0", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | }, 15 | { 16 | "type": "boolean", 17 | "event": "trigger_event_1", 18 | "trigger": true, 19 | "actions": [ 20 | { 21 | "state": "trigger_event_listener_1", 22 | "type": "boolean", 23 | "logic": "toggle" 24 | } 25 | ] 26 | }, 27 | { 28 | "type": "boolean", 29 | "event": "trigger_event_2", 30 | "trigger": true, 31 | "actions": [ 32 | { 33 | "state": "trigger_event_listener_2", 34 | "type": "boolean", 35 | "logic": "toggle" 36 | } 37 | ] 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /wct_tests/ch5-slider/emulator/receivestateicons.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "s", 11 | "logic": "set", 12 | "value": "fas fa-user" 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener_1", 23 | "type": "s", 24 | "logic": "set", 25 | "value": "https://img.icons8.com/material/24/000000/search.png" 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-slider/emulator/receivestatelabel.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "s", 11 | "logic": "set", 12 | "value": "Advance" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-slider/emulator/receivestateshowonoffonly.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "b", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-spinner/emulator/receiveStateSize.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "b", 5 | "event": "trig1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "receive_spinner_size", 10 | "type": "number", 11 | "logic": "set", 12 | "value": 10 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "b", 18 | "event": "trig2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "receive_spinner_size", 23 | "type": "number", 24 | "logic": "set", 25 | "value": 30 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-spinner/emulator/receiveStateValue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "b", 5 | "event": "trig1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "receive_spinner_value", 10 | "type": "number", 11 | "logic": "set", 12 | "value": 5 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "b", 18 | "event": "trig2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "receive_spinner_value", 23 | "type": "number", 24 | "logic": "set", 25 | "value": 3 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-spinner/emulator/sendEventOnChange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { "type": "number", 4 | "event": "spin1.change", 5 | "trigger": "&change", 6 | "actions": [ 7 | { 8 | "state": "spin1.value", 9 | "type": "number", 10 | "logic": "set", 11 | "value": 5 12 | } 13 | ] 14 | } 15 | ], 16 | "onStart":[ 17 | ] 18 | } -------------------------------------------------------------------------------- /wct_tests/ch5-spinner/emulator/sendEventOnFocus.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "number", 5 | "event": "slider1.focus", 6 | "trigger": "&focus", 7 | "actions": [ 8 | { 9 | "state": "slider1.value", 10 | "type": "number", 11 | "logic": "set", 12 | "value": 5 13 | } 14 | ] 15 | } 16 | ], 17 | "onStart":[ 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-spinner/emulator/sendEventOnOverFlow_underFlow.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "b", 5 | "event": "trig1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "btn_receive_label", 10 | "type": "string", 11 | "logic": "set", 12 | "value": "Spinner overflows" 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "b", 18 | "event": "trig2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "btn_receive_label", 23 | "type": "string", 24 | "logic": "set", 25 | "value": "Spinner is underoverflow" 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-subpage-reference-list/emulator/booleanjoinoffset.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "boolean", 11 | "logic": "toggle" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /wct_tests/ch5-subpage-reference-list/emulator/numericjoinoffset.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 1 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "decrement", 25 | "offset": 1 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-subpage-reference-list/emulator/receivestatenumberofitems.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "number", 5 | "event": "trigger_signal", 6 | "trigger": "&change", 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "link" 12 | } 13 | ] 14 | } 15 | ], 16 | "onStart": [ 17 | { 18 | "state": "trigger_event_listener-0", 19 | "type": "string", 20 | "value": "a" 21 | }, 22 | { 23 | "state": "trigger_event_listener-1", 24 | "type": "string", 25 | "value": "" 26 | }, 27 | { 28 | "state": "trigger_event_listener-2", 29 | "type": "string", 30 | "value": "" 31 | }, 32 | { 33 | "state": "trigger_event_listener-3", 34 | "type": "number", 35 | "value": 10 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /wct_tests/ch5-subpage-reference-list/emulator/stringjoinoffset.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "type": "string", 10 | "state": "trigger_event_listener", 11 | "logic": "set", 12 | "value": "String Signal" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-subpage-reference-list/emulator/subpagereceivestateenable.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "type": "string", 10 | "state": "trigger_event_listener", 11 | "logic": "set", 12 | "value": "String Signal" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-subpage-reference-list/emulator/subpagereceivestatescrollto.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 1 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "decrement", 25 | "offset": 1 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /wct_tests/ch5-subpage-reference-list/emulator/subpagereceivestatevisible.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "type": "string", 10 | "state": "trigger_event_listener", 11 | "logic": "set", 12 | "value": "String Signal" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-tab-button/emulator/receivestatenumberofitems.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "number", 5 | "event": "trigger_signal", 6 | "trigger": "&change", 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "link" 12 | } 13 | ] 14 | } 15 | ], 16 | "onStart": [ 17 | { 18 | "state": "trigger_event_listener-0", 19 | "type": "string", 20 | "value": "a" 21 | }, 22 | { 23 | "state": "trigger_event_listener-1", 24 | "type": "string", 25 | "value": "" 26 | }, 27 | { 28 | "state": "trigger_event_listener-2", 29 | "type": "string", 30 | "value": "" 31 | }, 32 | { 33 | "state": "trigger_event_listener-3", 34 | "type": "number", 35 | "value": 10 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /wct_tests/ch5-template/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /wct_tests/ch5-text/emulator/receivestatelabel.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "type": "string", 10 | "state": "trigger_event_listener", 11 | "logic": "set", 12 | "value": "String Signal" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-text/emulator/receivestatescriptlabelhtml.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "type": "string", 10 | "state": "trigger_event_listener", 11 | "logic": "set", 12 | "value": "String Signal" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-text/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /wct_tests/ch5-textinput/emulator/receivestatefocus.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-textinput/emulator/receivestatevalue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-textinput/emulator/sendeventonblur.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-textinput/emulator/sendeventonchange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-textinput/emulator/sendeventonfocus.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-toggle/emulator/receivestatescriptlabelhtml.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-toggle/emulator/receivestatevalue.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-toggle/emulator/sendeventonclick.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-triggerview/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 18 | 19 | -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/receivestatenumberofscreens.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | { 4 | "type": "boolean", 5 | "event": "trigger_event_1", 6 | "trigger": true, 7 | "actions": [ 8 | { 9 | "state": "trigger_event_listener", 10 | "type": "n", 11 | "logic": "increment", 12 | "offset": 1 13 | } 14 | ] 15 | }, 16 | { 17 | "type": "boolean", 18 | "event": "trigger_event_2", 19 | "trigger": true, 20 | "actions": [ 21 | { 22 | "state": "trigger_event_listener", 23 | "type": "n", 24 | "logic": "decrement", 25 | "offset": 1 26 | } 27 | ] 28 | } 29 | ], 30 | "onStart": [ 31 | { 32 | "state": "trigger_event_listener", 33 | "type": "number", 34 | "value": 5 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/receivestatescreenlabel.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/receivestatescriptscreenlabelhtml.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/receivestatescriptsourcelabelhtml.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/receivestatesourcechanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/receivestatesourcelabel.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/sendeventonchange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video-switcher/emulator/sendeventondrop.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestatepassword.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestateplay.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestateselect.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestatesnapshotpassword.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestatesnapshotrefreshrate.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestatesnapshoturl.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestatesnapshotuserid.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestateurl.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestateuserid.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/receivestatevideocount.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventerrorcode.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventerrormessage.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventonclick.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "boolean", 12 | "logic": "toggle" 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventresolution.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventretrycount.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventselectionchange.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventselectionsourcetype.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventselectionurl.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventsnapshotlastupdatetime.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventsnapshotstatus.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventsnapshoturl.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "type": "string", 11 | "state": "trigger_event_listener", 12 | "logic": "set", 13 | "value": "String Signal" 14 | } 15 | ] 16 | } 17 | 18 | ] 19 | } -------------------------------------------------------------------------------- /wct_tests/ch5-video/emulator/sendeventstate.json: -------------------------------------------------------------------------------- 1 | { 2 | "cues": [ 3 | 4 | { 5 | "type": "boolean", 6 | "event": "trigger_event_1", 7 | "trigger": true, 8 | "actions": [ 9 | { 10 | "state": "trigger_event_listener", 11 | "type": "n", 12 | "logic": "increment", 13 | "offset": 1 14 | } 15 | ] 16 | }, 17 | { 18 | "type": "boolean", 19 | "event": "trigger_event_2", 20 | "trigger": true, 21 | "actions": [ 22 | { 23 | "state": "trigger_event_listener", 24 | "type": "n", 25 | "logic": "decrement", 26 | "offset": 1 27 | } 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /wct_tests/ch5-wifi-signal-level-gauge/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /wct_tests/component-config/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /wct_tests/general/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /wct_tests/join-nr-as-signal-names/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /wct_tests/language-translation/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /wct_tests/language-translation/language-translation.js: -------------------------------------------------------------------------------- 1 | crComLibTranslator = CrComLib.translationFactory.translator; 2 | CrComLib.registerTranslationInterface(crComLibTranslator, "-+", "+-"); 3 | crComLibTranslator.init({ 4 | fallbackLng: "en", 5 | language: "en", 6 | debug: true, 7 | resources: { 8 | en: { 9 | translation: { 10 | label: "EN", 11 | }, 12 | }, 13 | de: { 14 | translation: { 15 | label: "DE", 16 | }, 17 | }, 18 | cz: { 19 | translation: { 20 | label: "CZ", 21 | }, 22 | }, 23 | }, 24 | }); 25 | --------------------------------------------------------------------------------