@ongov/ontario-design-system-component-library 6.0.0-alpha.5 → 6.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.d.ts +43 -0
- package/components/index.js +2169 -0
- package/components/index.js.map +1 -0
- package/components/ontario-accordion.d.ts +11 -0
- package/components/ontario-accordion.js +378 -0
- package/components/ontario-accordion.js.map +1 -0
- package/components/ontario-aside.d.ts +11 -0
- package/components/ontario-aside.js +171 -0
- package/components/ontario-aside.js.map +1 -0
- package/components/ontario-back-to-top.d.ts +11 -0
- package/components/ontario-back-to-top.js +119 -0
- package/components/ontario-back-to-top.js.map +1 -0
- package/components/ontario-badge.d.ts +11 -0
- package/components/ontario-badge.js +9 -0
- package/components/ontario-badge.js.map +1 -0
- package/components/ontario-blockquote.d.ts +11 -0
- package/components/ontario-blockquote.js +145 -0
- package/components/ontario-blockquote.js.map +1 -0
- package/components/ontario-button.d.ts +11 -0
- package/components/ontario-button.js +237 -0
- package/components/ontario-button.js.map +1 -0
- package/components/ontario-callout.d.ts +11 -0
- package/components/ontario-callout.js +170 -0
- package/components/ontario-callout.js.map +1 -0
- package/components/ontario-card-collection.d.ts +11 -0
- package/components/ontario-card-collection.js +111 -0
- package/components/ontario-card-collection.js.map +1 -0
- package/components/ontario-card.d.ts +11 -0
- package/components/ontario-card.js +389 -0
- package/components/ontario-card.js.map +1 -0
- package/components/ontario-checkboxes.d.ts +11 -0
- package/components/ontario-checkboxes.js +428 -0
- package/components/ontario-checkboxes.js.map +1 -0
- package/components/ontario-critical-alert.d.ts +11 -0
- package/components/ontario-critical-alert.js +128 -0
- package/components/ontario-critical-alert.js.map +1 -0
- package/components/ontario-date-input.d.ts +11 -0
- package/components/ontario-date-input.js +623 -0
- package/components/ontario-date-input.js.map +1 -0
- package/components/ontario-dropdown-list.d.ts +11 -0
- package/components/ontario-dropdown-list.js +449 -0
- package/components/ontario-dropdown-list.js.map +1 -0
- package/components/ontario-fieldset.d.ts +11 -0
- package/components/ontario-fieldset.js +167 -0
- package/components/ontario-fieldset.js.map +1 -0
- package/components/ontario-footer.d.ts +11 -0
- package/components/ontario-footer.js +455 -0
- package/components/ontario-footer.js.map +1 -0
- package/components/ontario-form-container.d.ts +11 -0
- package/components/ontario-form-container.js +74 -0
- package/components/ontario-form-container.js.map +1 -0
- package/components/ontario-header-overflow-menu.d.ts +11 -0
- package/components/ontario-header-overflow-menu.js +9 -0
- package/components/ontario-header-overflow-menu.js.map +1 -0
- package/components/ontario-header.d.ts +11 -0
- package/components/ontario-header.js +900 -0
- package/components/ontario-header.js.map +1 -0
- package/components/ontario-hint-expander.d.ts +11 -0
- package/components/ontario-hint-expander.js +9 -0
- package/components/ontario-hint-expander.js.map +1 -0
- package/components/ontario-hint-text.d.ts +11 -0
- package/components/ontario-hint-text.js +9 -0
- package/components/ontario-hint-text.js.map +1 -0
- package/components/ontario-icon-accessibility.d.ts +11 -0
- package/components/ontario-icon-accessibility.js +170 -0
- package/components/ontario-icon-accessibility.js.map +1 -0
- package/components/ontario-icon-account.d.ts +11 -0
- package/components/ontario-icon-account.js +170 -0
- package/components/ontario-icon-account.js.map +1 -0
- package/components/ontario-icon-add-alt.d.ts +11 -0
- package/components/ontario-icon-add-alt.js +171 -0
- package/components/ontario-icon-add-alt.js.map +1 -0
- package/components/ontario-icon-add.d.ts +11 -0
- package/components/ontario-icon-add.js +171 -0
- package/components/ontario-icon-add.js.map +1 -0
- package/components/ontario-icon-alert-error.d.ts +11 -0
- package/components/ontario-icon-alert-error.js +9 -0
- package/components/ontario-icon-alert-error.js.map +1 -0
- package/components/ontario-icon-alert-information.d.ts +11 -0
- package/components/ontario-icon-alert-information.js +9 -0
- package/components/ontario-icon-alert-information.js.map +1 -0
- package/components/ontario-icon-alert-success.d.ts +11 -0
- package/components/ontario-icon-alert-success.js +9 -0
- package/components/ontario-icon-alert-success.js.map +1 -0
- package/components/ontario-icon-alert-warning.d.ts +11 -0
- package/components/ontario-icon-alert-warning.js +9 -0
- package/components/ontario-icon-alert-warning.js.map +1 -0
- package/components/ontario-icon-arrow-up.d.ts +11 -0
- package/components/ontario-icon-arrow-up.js +171 -0
- package/components/ontario-icon-arrow-up.js.map +1 -0
- package/components/ontario-icon-attach.d.ts +11 -0
- package/components/ontario-icon-attach.js +172 -0
- package/components/ontario-icon-attach.js.map +1 -0
- package/components/ontario-icon-bookmark-off.d.ts +11 -0
- package/components/ontario-icon-bookmark-off.js +170 -0
- package/components/ontario-icon-bookmark-off.js.map +1 -0
- package/components/ontario-icon-bookmark-on.d.ts +11 -0
- package/components/ontario-icon-bookmark-on.js +170 -0
- package/components/ontario-icon-bookmark-on.js.map +1 -0
- package/components/ontario-icon-calendar.d.ts +11 -0
- package/components/ontario-icon-calendar.js +170 -0
- package/components/ontario-icon-calendar.js.map +1 -0
- package/components/ontario-icon-camera.d.ts +11 -0
- package/components/ontario-icon-camera.js +170 -0
- package/components/ontario-icon-camera.js.map +1 -0
- package/components/ontario-icon-chevron-down.d.ts +11 -0
- package/components/ontario-icon-chevron-down.js +9 -0
- package/components/ontario-icon-chevron-down.js.map +1 -0
- package/components/ontario-icon-chevron-left.d.ts +11 -0
- package/components/ontario-icon-chevron-left.js +9 -0
- package/components/ontario-icon-chevron-left.js.map +1 -0
- package/components/ontario-icon-chevron-right.d.ts +11 -0
- package/components/ontario-icon-chevron-right.js +171 -0
- package/components/ontario-icon-chevron-right.js.map +1 -0
- package/components/ontario-icon-chevron-up.d.ts +11 -0
- package/components/ontario-icon-chevron-up.js +9 -0
- package/components/ontario-icon-chevron-up.js.map +1 -0
- package/components/ontario-icon-clock.d.ts +11 -0
- package/components/ontario-icon-clock.js +170 -0
- package/components/ontario-icon-clock.js.map +1 -0
- package/components/ontario-icon-close-header.d.ts +11 -0
- package/components/ontario-icon-close-header.js +171 -0
- package/components/ontario-icon-close-header.js.map +1 -0
- package/components/ontario-icon-close.d.ts +11 -0
- package/components/ontario-icon-close.js +171 -0
- package/components/ontario-icon-close.js.map +1 -0
- package/components/ontario-icon-cloud.d.ts +11 -0
- package/components/ontario-icon-cloud.js +170 -0
- package/components/ontario-icon-cloud.js.map +1 -0
- package/components/ontario-icon-collapse.d.ts +11 -0
- package/components/ontario-icon-collapse.js +168 -0
- package/components/ontario-icon-collapse.js.map +1 -0
- package/components/ontario-icon-credit-card.d.ts +11 -0
- package/components/ontario-icon-credit-card.js +171 -0
- package/components/ontario-icon-credit-card.js.map +1 -0
- package/components/ontario-icon-critical-alert-warning.d.ts +11 -0
- package/components/ontario-icon-critical-alert-warning.js +188 -0
- package/components/ontario-icon-critical-alert-warning.js.map +1 -0
- package/components/ontario-icon-delete.d.ts +11 -0
- package/components/ontario-icon-delete.js +170 -0
- package/components/ontario-icon-delete.js.map +1 -0
- package/components/ontario-icon-document.d.ts +11 -0
- package/components/ontario-icon-document.js +170 -0
- package/components/ontario-icon-document.js.map +1 -0
- package/components/ontario-icon-download.d.ts +11 -0
- package/components/ontario-icon-download.js +170 -0
- package/components/ontario-icon-download.js.map +1 -0
- package/components/ontario-icon-dropdown-arrow.d.ts +11 -0
- package/components/ontario-icon-dropdown-arrow.js +142 -0
- package/components/ontario-icon-dropdown-arrow.js.map +1 -0
- package/components/ontario-icon-edit.d.ts +11 -0
- package/components/ontario-icon-edit.js +170 -0
- package/components/ontario-icon-edit.js.map +1 -0
- package/components/ontario-icon-email.d.ts +11 -0
- package/components/ontario-icon-email.js +171 -0
- package/components/ontario-icon-email.js.map +1 -0
- package/components/ontario-icon-expand.d.ts +11 -0
- package/components/ontario-icon-expand.js +168 -0
- package/components/ontario-icon-expand.js.map +1 -0
- package/components/ontario-icon-export.d.ts +11 -0
- package/components/ontario-icon-export.js +170 -0
- package/components/ontario-icon-export.js.map +1 -0
- package/components/ontario-icon-facebook-alt.d.ts +11 -0
- package/components/ontario-icon-facebook-alt.js +170 -0
- package/components/ontario-icon-facebook-alt.js.map +1 -0
- package/components/ontario-icon-facebook.d.ts +11 -0
- package/components/ontario-icon-facebook.js +170 -0
- package/components/ontario-icon-facebook.js.map +1 -0
- package/components/ontario-icon-favourite-off.d.ts +11 -0
- package/components/ontario-icon-favourite-off.js +170 -0
- package/components/ontario-icon-favourite-off.js.map +1 -0
- package/components/ontario-icon-favourite-on.d.ts +11 -0
- package/components/ontario-icon-favourite-on.js +170 -0
- package/components/ontario-icon-favourite-on.js.map +1 -0
- package/components/ontario-icon-filter.d.ts +11 -0
- package/components/ontario-icon-filter.js +170 -0
- package/components/ontario-icon-filter.js.map +1 -0
- package/components/ontario-icon-flickr.d.ts +11 -0
- package/components/ontario-icon-flickr.js +170 -0
- package/components/ontario-icon-flickr.js.map +1 -0
- package/components/ontario-icon-grid.d.ts +11 -0
- package/components/ontario-icon-grid.js +170 -0
- package/components/ontario-icon-grid.js.map +1 -0
- package/components/ontario-icon-help.d.ts +11 -0
- package/components/ontario-icon-help.js +171 -0
- package/components/ontario-icon-help.js.map +1 -0
- package/components/ontario-icon-instagram.d.ts +11 -0
- package/components/ontario-icon-instagram.js +170 -0
- package/components/ontario-icon-instagram.js.map +1 -0
- package/components/ontario-icon-interac-en-alt.d.ts +11 -0
- package/components/ontario-icon-interac-en-alt.js +203 -0
- package/components/ontario-icon-interac-en-alt.js.map +1 -0
- package/components/ontario-icon-interac-en.d.ts +11 -0
- package/components/ontario-icon-interac-en.js +202 -0
- package/components/ontario-icon-interac-en.js.map +1 -0
- package/components/ontario-icon-interac-fr-alt.d.ts +11 -0
- package/components/ontario-icon-interac-fr-alt.js +203 -0
- package/components/ontario-icon-interac-fr-alt.js.map +1 -0
- package/components/ontario-icon-interac-fr.d.ts +11 -0
- package/components/ontario-icon-interac-fr.js +183 -0
- package/components/ontario-icon-interac-fr.js.map +1 -0
- package/components/ontario-icon-linkedin-alt.d.ts +11 -0
- package/components/ontario-icon-linkedin-alt.js +170 -0
- package/components/ontario-icon-linkedin-alt.js.map +1 -0
- package/components/ontario-icon-linkedin.d.ts +11 -0
- package/components/ontario-icon-linkedin.js +170 -0
- package/components/ontario-icon-linkedin.js.map +1 -0
- package/components/ontario-icon-list.d.ts +11 -0
- package/components/ontario-icon-list.js +170 -0
- package/components/ontario-icon-list.js.map +1 -0
- package/components/ontario-icon-live-chat.d.ts +11 -0
- package/components/ontario-icon-live-chat.js +170 -0
- package/components/ontario-icon-live-chat.js.map +1 -0
- package/components/ontario-icon-location-off.d.ts +11 -0
- package/components/ontario-icon-location-off.js +170 -0
- package/components/ontario-icon-location-off.js.map +1 -0
- package/components/ontario-icon-location-on.d.ts +11 -0
- package/components/ontario-icon-location-on.js +170 -0
- package/components/ontario-icon-location-on.js.map +1 -0
- package/components/ontario-icon-lock-off.d.ts +11 -0
- package/components/ontario-icon-lock-off.js +170 -0
- package/components/ontario-icon-lock-off.js.map +1 -0
- package/components/ontario-icon-lock-on.d.ts +11 -0
- package/components/ontario-icon-lock-on.js +170 -0
- package/components/ontario-icon-lock-on.js.map +1 -0
- package/components/ontario-icon-map.d.ts +11 -0
- package/components/ontario-icon-map.js +170 -0
- package/components/ontario-icon-map.js.map +1 -0
- package/components/ontario-icon-mastercard-alt.d.ts +11 -0
- package/components/ontario-icon-mastercard-alt.js +161 -0
- package/components/ontario-icon-mastercard-alt.js.map +1 -0
- package/components/ontario-icon-mastercard.d.ts +11 -0
- package/components/ontario-icon-mastercard.js +173 -0
- package/components/ontario-icon-mastercard.js.map +1 -0
- package/components/ontario-icon-media-fast-forward.d.ts +11 -0
- package/components/ontario-icon-media-fast-forward.js +167 -0
- package/components/ontario-icon-media-fast-forward.js.map +1 -0
- package/components/ontario-icon-media-fast-rewind.d.ts +11 -0
- package/components/ontario-icon-media-fast-rewind.js +170 -0
- package/components/ontario-icon-media-fast-rewind.js.map +1 -0
- package/components/ontario-icon-media-pause.d.ts +11 -0
- package/components/ontario-icon-media-pause.js +167 -0
- package/components/ontario-icon-media-pause.js.map +1 -0
- package/components/ontario-icon-media-play.d.ts +11 -0
- package/components/ontario-icon-media-play.js +167 -0
- package/components/ontario-icon-media-play.js.map +1 -0
- package/components/ontario-icon-media-stop.d.ts +11 -0
- package/components/ontario-icon-media-stop.js +167 -0
- package/components/ontario-icon-media-stop.js.map +1 -0
- package/components/ontario-icon-menu-header.d.ts +11 -0
- package/components/ontario-icon-menu-header.js +171 -0
- package/components/ontario-icon-menu-header.js.map +1 -0
- package/components/ontario-icon-menu.d.ts +11 -0
- package/components/ontario-icon-menu.js +171 -0
- package/components/ontario-icon-menu.js.map +1 -0
- package/components/ontario-icon-microphone-off.d.ts +11 -0
- package/components/ontario-icon-microphone-off.js +170 -0
- package/components/ontario-icon-microphone-off.js.map +1 -0
- package/components/ontario-icon-microphone-on.d.ts +11 -0
- package/components/ontario-icon-microphone-on.js +170 -0
- package/components/ontario-icon-microphone-on.js.map +1 -0
- package/components/ontario-icon-more-vertical.d.ts +11 -0
- package/components/ontario-icon-more-vertical.js +170 -0
- package/components/ontario-icon-more-vertical.js.map +1 -0
- package/components/ontario-icon-new-window.d.ts +11 -0
- package/components/ontario-icon-new-window.js +171 -0
- package/components/ontario-icon-new-window.js.map +1 -0
- package/components/ontario-icon-next.d.ts +11 -0
- package/components/ontario-icon-next.js +170 -0
- package/components/ontario-icon-next.js.map +1 -0
- package/components/ontario-icon-notification.d.ts +11 -0
- package/components/ontario-icon-notification.js +170 -0
- package/components/ontario-icon-notification.js.map +1 -0
- package/components/ontario-icon-password-hide.d.ts +11 -0
- package/components/ontario-icon-password-hide.js +170 -0
- package/components/ontario-icon-password-hide.js.map +1 -0
- package/components/ontario-icon-password-show.d.ts +11 -0
- package/components/ontario-icon-password-show.js +170 -0
- package/components/ontario-icon-password-show.js.map +1 -0
- package/components/ontario-icon-phone.d.ts +11 -0
- package/components/ontario-icon-phone.js +171 -0
- package/components/ontario-icon-phone.js.map +1 -0
- package/components/ontario-icon-photo.d.ts +11 -0
- package/components/ontario-icon-photo.js +170 -0
- package/components/ontario-icon-photo.js.map +1 -0
- package/components/ontario-icon-pin-location-off.d.ts +11 -0
- package/components/ontario-icon-pin-location-off.js +170 -0
- package/components/ontario-icon-pin-location-off.js.map +1 -0
- package/components/ontario-icon-pin-location-on.d.ts +11 -0
- package/components/ontario-icon-pin-location-on.js +170 -0
- package/components/ontario-icon-pin-location-on.js.map +1 -0
- package/components/ontario-icon-previous.d.ts +11 -0
- package/components/ontario-icon-previous.js +170 -0
- package/components/ontario-icon-previous.js.map +1 -0
- package/components/ontario-icon-print.d.ts +11 -0
- package/components/ontario-icon-print.js +170 -0
- package/components/ontario-icon-print.js.map +1 -0
- package/components/ontario-icon-remove-alt.d.ts +11 -0
- package/components/ontario-icon-remove-alt.js +171 -0
- package/components/ontario-icon-remove-alt.js.map +1 -0
- package/components/ontario-icon-remove.d.ts +11 -0
- package/components/ontario-icon-remove.js +171 -0
- package/components/ontario-icon-remove.js.map +1 -0
- package/components/ontario-icon-replay.d.ts +11 -0
- package/components/ontario-icon-replay.js +170 -0
- package/components/ontario-icon-replay.js.map +1 -0
- package/components/ontario-icon-rss-feed.d.ts +11 -0
- package/components/ontario-icon-rss-feed.js +170 -0
- package/components/ontario-icon-rss-feed.js.map +1 -0
- package/components/ontario-icon-save.d.ts +11 -0
- package/components/ontario-icon-save.js +170 -0
- package/components/ontario-icon-save.js.map +1 -0
- package/components/ontario-icon-search-white.d.ts +11 -0
- package/components/ontario-icon-search-white.js +173 -0
- package/components/ontario-icon-search-white.js.map +1 -0
- package/components/ontario-icon-search.d.ts +11 -0
- package/components/ontario-icon-search.js +171 -0
- package/components/ontario-icon-search.js.map +1 -0
- package/components/ontario-icon-sentiment-1.d.ts +11 -0
- package/components/ontario-icon-sentiment-1.js +170 -0
- package/components/ontario-icon-sentiment-1.js.map +1 -0
- package/components/ontario-icon-sentiment-2.d.ts +11 -0
- package/components/ontario-icon-sentiment-2.js +170 -0
- package/components/ontario-icon-sentiment-2.js.map +1 -0
- package/components/ontario-icon-sentiment-3.d.ts +11 -0
- package/components/ontario-icon-sentiment-3.js +170 -0
- package/components/ontario-icon-sentiment-3.js.map +1 -0
- package/components/ontario-icon-sentiment-4.d.ts +11 -0
- package/components/ontario-icon-sentiment-4.js +170 -0
- package/components/ontario-icon-sentiment-4.js.map +1 -0
- package/components/ontario-icon-sentiment-5.d.ts +11 -0
- package/components/ontario-icon-sentiment-5.js +170 -0
- package/components/ontario-icon-sentiment-5.js.map +1 -0
- package/components/ontario-icon-settings.d.ts +11 -0
- package/components/ontario-icon-settings.js +170 -0
- package/components/ontario-icon-settings.js.map +1 -0
- package/components/ontario-icon-share.d.ts +11 -0
- package/components/ontario-icon-share.js +170 -0
- package/components/ontario-icon-share.js.map +1 -0
- package/components/ontario-icon-sort-alphabetical-ascending.d.ts +11 -0
- package/components/ontario-icon-sort-alphabetical-ascending.js +170 -0
- package/components/ontario-icon-sort-alphabetical-ascending.js.map +1 -0
- package/components/ontario-icon-sort-alphabetical-descending.d.ts +11 -0
- package/components/ontario-icon-sort-alphabetical-descending.js +170 -0
- package/components/ontario-icon-sort-alphabetical-descending.js.map +1 -0
- package/components/ontario-icon-sort-ascending.d.ts +11 -0
- package/components/ontario-icon-sort-ascending.js +170 -0
- package/components/ontario-icon-sort-ascending.js.map +1 -0
- package/components/ontario-icon-sort-descending.d.ts +11 -0
- package/components/ontario-icon-sort-descending.js +170 -0
- package/components/ontario-icon-sort-descending.js.map +1 -0
- package/components/ontario-icon-sort-variant.d.ts +11 -0
- package/components/ontario-icon-sort-variant.js +167 -0
- package/components/ontario-icon-sort-variant.js.map +1 -0
- package/components/ontario-icon-sort.d.ts +11 -0
- package/components/ontario-icon-sort.js +170 -0
- package/components/ontario-icon-sort.js.map +1 -0
- package/components/ontario-icon-tag.d.ts +11 -0
- package/components/ontario-icon-tag.js +170 -0
- package/components/ontario-icon-tag.js.map +1 -0
- package/components/ontario-icon-text-message.d.ts +11 -0
- package/components/ontario-icon-text-message.js +170 -0
- package/components/ontario-icon-text-message.js.map +1 -0
- package/components/ontario-icon-timer.d.ts +11 -0
- package/components/ontario-icon-timer.js +170 -0
- package/components/ontario-icon-timer.js.map +1 -0
- package/components/ontario-icon-transport-bicycle.d.ts +11 -0
- package/components/ontario-icon-transport-bicycle.js +170 -0
- package/components/ontario-icon-transport-bicycle.js.map +1 -0
- package/components/ontario-icon-transport-bus.d.ts +11 -0
- package/components/ontario-icon-transport-bus.js +170 -0
- package/components/ontario-icon-transport-bus.js.map +1 -0
- package/components/ontario-icon-transport-car.d.ts +11 -0
- package/components/ontario-icon-transport-car.js +170 -0
- package/components/ontario-icon-transport-car.js.map +1 -0
- package/components/ontario-icon-transport-walk.d.ts +11 -0
- package/components/ontario-icon-transport-walk.js +170 -0
- package/components/ontario-icon-transport-walk.js.map +1 -0
- package/components/ontario-icon-tty.d.ts +11 -0
- package/components/ontario-icon-tty.js +171 -0
- package/components/ontario-icon-tty.js.map +1 -0
- package/components/ontario-icon-twitter-alt.d.ts +11 -0
- package/components/ontario-icon-twitter-alt.js +170 -0
- package/components/ontario-icon-twitter-alt.js.map +1 -0
- package/components/ontario-icon-twitter.d.ts +11 -0
- package/components/ontario-icon-twitter.js +170 -0
- package/components/ontario-icon-twitter.js.map +1 -0
- package/components/ontario-icon-upload.d.ts +11 -0
- package/components/ontario-icon-upload.js +170 -0
- package/components/ontario-icon-upload.js.map +1 -0
- package/components/ontario-icon-video.d.ts +11 -0
- package/components/ontario-icon-video.js +170 -0
- package/components/ontario-icon-video.js.map +1 -0
- package/components/ontario-icon-visa.d.ts +11 -0
- package/components/ontario-icon-visa.js +148 -0
- package/components/ontario-icon-visa.js.map +1 -0
- package/components/ontario-icon-vote-dislike.d.ts +11 -0
- package/components/ontario-icon-vote-dislike.js +170 -0
- package/components/ontario-icon-vote-dislike.js.map +1 -0
- package/components/ontario-icon-vote-like.d.ts +11 -0
- package/components/ontario-icon-vote-like.js +170 -0
- package/components/ontario-icon-vote-like.js.map +1 -0
- package/components/ontario-icon-vpn-key.d.ts +11 -0
- package/components/ontario-icon-vpn-key.js +170 -0
- package/components/ontario-icon-vpn-key.js.map +1 -0
- package/components/ontario-icon-wheelchair.d.ts +11 -0
- package/components/ontario-icon-wheelchair.js +170 -0
- package/components/ontario-icon-wheelchair.js.map +1 -0
- package/components/ontario-icon-wifi.d.ts +11 -0
- package/components/ontario-icon-wifi.js +170 -0
- package/components/ontario-icon-wifi.js.map +1 -0
- package/components/ontario-icon-youtube.d.ts +11 -0
- package/components/ontario-icon-youtube.js +170 -0
- package/components/ontario-icon-youtube.js.map +1 -0
- package/components/ontario-input.d.ts +11 -0
- package/components/ontario-input.js +419 -0
- package/components/ontario-input.js.map +1 -0
- package/components/ontario-language-toggle.d.ts +11 -0
- package/components/ontario-language-toggle.js +9 -0
- package/components/ontario-language-toggle.js.map +1 -0
- package/components/ontario-loading-indicator.d.ts +11 -0
- package/components/ontario-loading-indicator.js +181 -0
- package/components/ontario-loading-indicator.js.map +1 -0
- package/components/ontario-page-alert.d.ts +11 -0
- package/components/ontario-page-alert.js +172 -0
- package/components/ontario-page-alert.js.map +1 -0
- package/components/ontario-radio-buttons.d.ts +11 -0
- package/components/ontario-radio-buttons.js +430 -0
- package/components/ontario-radio-buttons.js.map +1 -0
- package/components/ontario-search-box.d.ts +11 -0
- package/components/ontario-search-box.js +283 -0
- package/components/ontario-search-box.js.map +1 -0
- package/components/ontario-step-indicator.d.ts +11 -0
- package/components/ontario-step-indicator.js +172 -0
- package/components/ontario-step-indicator.js.map +1 -0
- package/components/ontario-table.d.ts +11 -0
- package/components/ontario-table.js +392 -0
- package/components/ontario-table.js.map +1 -0
- package/components/ontario-task-list.d.ts +11 -0
- package/components/ontario-task-list.js +211 -0
- package/components/ontario-task-list.js.map +1 -0
- package/components/ontario-task.d.ts +11 -0
- package/components/ontario-task.js +327 -0
- package/components/ontario-task.js.map +1 -0
- package/components/ontario-textarea.d.ts +11 -0
- package/components/ontario-textarea.js +327 -0
- package/components/ontario-textarea.js.map +1 -0
- package/components/p-6uqsTY-M.js +171 -0
- package/components/p-6uqsTY-M.js.map +1 -0
- package/components/p-A8xwC5QP.js +24 -0
- package/components/p-A8xwC5QP.js.map +1 -0
- package/components/p-BBhl-3u7.js +169 -0
- package/components/p-BBhl-3u7.js.map +1 -0
- package/components/p-BF0_OXTe.js +64 -0
- package/components/p-BF0_OXTe.js.map +1 -0
- package/components/p-BHTls9cv.js +286 -0
- package/components/p-BHTls9cv.js.map +1 -0
- package/components/p-BOcd5PoR.js +330 -0
- package/components/p-BOcd5PoR.js.map +1 -0
- package/components/p-BxXM4eur.js +29 -0
- package/components/p-BxXM4eur.js.map +1 -0
- package/components/p-C-t5TNzY.js +10 -0
- package/components/p-C-t5TNzY.js.map +1 -0
- package/components/p-C0Xvjp7G.js +282 -0
- package/components/p-C0Xvjp7G.js.map +1 -0
- package/components/p-C73HZQcq.js +89 -0
- package/components/p-C73HZQcq.js.map +1 -0
- package/components/p-CI209psv.js +271 -0
- package/components/p-CI209psv.js.map +1 -0
- package/components/p-CIdZS10A.js +20 -0
- package/components/p-CIdZS10A.js.map +1 -0
- package/components/p-CNDrx73J.js +145 -0
- package/components/p-CNDrx73J.js.map +1 -0
- package/components/p-CNqFEifG.js +34 -0
- package/components/p-CNqFEifG.js.map +1 -0
- package/components/p-CRMogYVY.js +168 -0
- package/components/p-CRMogYVY.js.map +1 -0
- package/components/p-CXTm9jmr.js +141 -0
- package/components/p-CXTm9jmr.js.map +1 -0
- package/components/p-CXfntdg5.js +7 -0
- package/components/p-CXfntdg5.js.map +1 -0
- package/components/p-C__FBxsY.js +145 -0
- package/components/p-C__FBxsY.js.map +1 -0
- package/components/p-Cdm-Ot0O.js +95 -0
- package/components/p-Cdm-Ot0O.js.map +1 -0
- package/components/p-CeFeBwzQ.js +331 -0
- package/components/p-CeFeBwzQ.js.map +1 -0
- package/components/p-DGFFJaKo.js +168 -0
- package/components/p-DGFFJaKo.js.map +1 -0
- package/components/p-DIe1tcOp.js +197 -0
- package/components/p-DIe1tcOp.js.map +1 -0
- package/components/p-DJOzeqZ-.js +168 -0
- package/components/p-DJOzeqZ-.js.map +1 -0
- package/components/p-DMH_JI3w.js +6 -0
- package/components/p-DMH_JI3w.js.map +1 -0
- package/components/p-DgMhpSmi.js +324 -0
- package/components/p-DgMhpSmi.js.map +1 -0
- package/components/p-TS9NoIOc.js +11 -0
- package/components/p-TS9NoIOc.js.map +1 -0
- package/components/p-V_1wpeJe.js +17 -0
- package/components/p-V_1wpeJe.js.map +1 -0
- package/components/p-dXtLd1df.js +63 -0
- package/components/p-dXtLd1df.js.map +1 -0
- package/components/p-vdzS-daB.js +145 -0
- package/components/p-vdzS-daB.js.map +1 -0
- package/package.json +9 -7
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h } from './index.js';
|
|
2
|
+
import { C as ConsoleMessageClass } from './p-Cdm-Ot0O.js';
|
|
3
|
+
import { v as validateValueAgainstArray, b as validateLanguage } from './p-CNqFEifG.js';
|
|
4
|
+
import { t as translations } from './p-DgMhpSmi.js';
|
|
5
|
+
import { T as TaskStatuses } from './p-A8xwC5QP.js';
|
|
6
|
+
|
|
7
|
+
const ontarioTaskListCss =
|
|
8
|
+
'.ontario-task-list{border-top:0.125rem solid #cccccc;padding:0;margin:0 0.5rem}.ontario-task-list__item{max-width:100%;list-style-type:none}';
|
|
9
|
+
|
|
10
|
+
const OntarioTaskList$1 = /*@__PURE__*/ proxyCustomElement(
|
|
11
|
+
class OntarioTaskList extends H {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.__registerHost();
|
|
15
|
+
this.__attachShadow();
|
|
16
|
+
/**
|
|
17
|
+
* Allows consumers to define the heading level for the task list component.
|
|
18
|
+
*
|
|
19
|
+
* Accepts 'h1', 'h2', 'h3' or 'h4'. Default is 'h2'.
|
|
20
|
+
*/
|
|
21
|
+
this.headingLevel = 'h2';
|
|
22
|
+
/**
|
|
23
|
+
* The language of the component.
|
|
24
|
+
* This is used for translations, and is by default set through event listeners checking for a language property from the header. If none are passed, it will default to English.
|
|
25
|
+
*/
|
|
26
|
+
this.language = 'en';
|
|
27
|
+
/**
|
|
28
|
+
* State to track the number of completed tasks.
|
|
29
|
+
*/
|
|
30
|
+
this.completedTasks = 0;
|
|
31
|
+
/**
|
|
32
|
+
* State to track the total number of tasks.
|
|
33
|
+
*/
|
|
34
|
+
this.totalTasks = 0;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Watch for changes in `headingLevel` prop to validate its value.
|
|
38
|
+
*/
|
|
39
|
+
validateHeadingLevel(newValue) {
|
|
40
|
+
const allowedValues = ['h1', 'h2', 'h3', 'h4', 'h5'];
|
|
41
|
+
// Validate the new value against the allowed values
|
|
42
|
+
const isValid = validateValueAgainstArray(newValue, allowedValues);
|
|
43
|
+
if (!isValid) {
|
|
44
|
+
const message = new ConsoleMessageClass();
|
|
45
|
+
message
|
|
46
|
+
.addDesignSystemTag()
|
|
47
|
+
.addMonospaceText(' headingLevel ')
|
|
48
|
+
.addRegularText('on')
|
|
49
|
+
.addMonospaceText(' <ontario-task-list> ')
|
|
50
|
+
.addRegularText('was set to an invalid value; only ')
|
|
51
|
+
.addMonospaceText(allowedValues.join(', '))
|
|
52
|
+
.addRegularText(' are supported. The default value ')
|
|
53
|
+
.addMonospaceText('h2')
|
|
54
|
+
.addRegularText(' is assumed.')
|
|
55
|
+
.printMessage();
|
|
56
|
+
this.headingLevel = 'h2';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Counts the total tasks and completed tasks by querying for `ontario-task` elements.
|
|
61
|
+
*/
|
|
62
|
+
countTasks() {
|
|
63
|
+
var _a;
|
|
64
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
65
|
+
const tasks = slot ? slot.assignedElements().filter((el) => el.tagName.toLowerCase() === 'ontario-task') : [];
|
|
66
|
+
this.totalTasks = tasks.length;
|
|
67
|
+
this.completedTasks = tasks.filter((task) => {
|
|
68
|
+
// Get the status directly from the light DOM
|
|
69
|
+
const status = task.getAttribute('data-task-status');
|
|
70
|
+
return status === TaskStatuses.Completed;
|
|
71
|
+
}).length;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Lifecycle method: before the component loads, validate heading level.
|
|
75
|
+
*/
|
|
76
|
+
async componentWillLoad() {
|
|
77
|
+
this.validateHeadingLevel(this.headingLevel);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Ensure tasks are counted after custom elements are fully upgraded.
|
|
81
|
+
*/
|
|
82
|
+
connectedCallback() {
|
|
83
|
+
// Wait for the custom element to be fully defined before counting
|
|
84
|
+
customElements.whenDefined('ontario-task').then(() => {
|
|
85
|
+
setTimeout(() => {
|
|
86
|
+
this.countTasks();
|
|
87
|
+
}, OntarioTaskList.TASK_COUNT_DELAY_MS);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Use slotchange and MutationObserver to track changes in slot content.
|
|
92
|
+
*/
|
|
93
|
+
componentDidLoad() {
|
|
94
|
+
var _a;
|
|
95
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
96
|
+
if (slot) {
|
|
97
|
+
slot.addEventListener('slotchange', () => {
|
|
98
|
+
this.countTasks();
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
// Observe changes to the light DOM for accurate counting
|
|
102
|
+
const observer = new MutationObserver((_mutations) => {
|
|
103
|
+
this.countTasks();
|
|
104
|
+
});
|
|
105
|
+
observer.observe(this.el, {
|
|
106
|
+
childList: true,
|
|
107
|
+
subtree: true,
|
|
108
|
+
attributes: true,
|
|
109
|
+
attributeFilter: ['data-task-status'],
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
componentDidRender() {
|
|
113
|
+
setTimeout(() => {
|
|
114
|
+
this.countTasks();
|
|
115
|
+
}, OntarioTaskList.TASK_COUNT_DELAY_MS);
|
|
116
|
+
}
|
|
117
|
+
render() {
|
|
118
|
+
// Resolve the language to ensure valid translations are used.
|
|
119
|
+
const resolvedLanguage = validateLanguage(this.language);
|
|
120
|
+
const headingProps = {
|
|
121
|
+
class: { 'ontario-task-list__heading': true },
|
|
122
|
+
};
|
|
123
|
+
return h(
|
|
124
|
+
'div',
|
|
125
|
+
{ key: 'a389053e03a8d52095e0a04f2600d4d901ede22b', class: 'ontario-task-list__container' },
|
|
126
|
+
h(this.headingLevel, headingProps, this.label),
|
|
127
|
+
h(
|
|
128
|
+
'p',
|
|
129
|
+
{
|
|
130
|
+
'key': '042d4bdcb20ea407a5447ce39086bc1bfae79697',
|
|
131
|
+
'class': 'ontario-task-list__completion-text',
|
|
132
|
+
'aria-live': 'polite',
|
|
133
|
+
},
|
|
134
|
+
translations.taskGroup.completed[resolvedLanguage],
|
|
135
|
+
'\u00A0',
|
|
136
|
+
this.completedTasks,
|
|
137
|
+
'\u00A0',
|
|
138
|
+
translations.taskGroup.outOf[resolvedLanguage],
|
|
139
|
+
'\u00A0',
|
|
140
|
+
this.totalTasks,
|
|
141
|
+
'\u00A0',
|
|
142
|
+
translations.taskGroup.tasks[resolvedLanguage],
|
|
143
|
+
),
|
|
144
|
+
h(
|
|
145
|
+
'ul',
|
|
146
|
+
{ key: 'bbb9b7ce952f9c83cc090b504f87e5253bde8368', class: 'ontario-task-list', role: 'list' },
|
|
147
|
+
h('slot', { key: '4337d382dcc73690ef4b9cb98a3ed69972f9e20e' }),
|
|
148
|
+
),
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
get el() {
|
|
152
|
+
return this;
|
|
153
|
+
}
|
|
154
|
+
static get watchers() {
|
|
155
|
+
return {
|
|
156
|
+
headingLevel: ['validateHeadingLevel'],
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
static get style() {
|
|
160
|
+
return ontarioTaskListCss;
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
[
|
|
164
|
+
257,
|
|
165
|
+
'ontario-task-list',
|
|
166
|
+
{
|
|
167
|
+
label: [1],
|
|
168
|
+
headingLevel: [1, 'heading-level'],
|
|
169
|
+
language: [1025],
|
|
170
|
+
completedTasks: [32],
|
|
171
|
+
totalTasks: [32],
|
|
172
|
+
},
|
|
173
|
+
undefined,
|
|
174
|
+
{
|
|
175
|
+
headingLevel: ['validateHeadingLevel'],
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
);
|
|
179
|
+
/**
|
|
180
|
+
* Class-level constant for task count delay in milliseconds.
|
|
181
|
+
*
|
|
182
|
+
* This delay ensures that the `ontario-task` custom elements are fully upgraded and rendered
|
|
183
|
+
* in the DOM before the `countTasks` method is executed. Without this delay, the component
|
|
184
|
+
* might attempt to query or count tasks before they are properly initialized, leading to
|
|
185
|
+
* inaccurate task counts.
|
|
186
|
+
*/
|
|
187
|
+
OntarioTaskList$1.TASK_COUNT_DELAY_MS = 50;
|
|
188
|
+
function defineCustomElement$1() {
|
|
189
|
+
if (typeof customElements === 'undefined') {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const components = ['ontario-task-list'];
|
|
193
|
+
components.forEach((tagName) => {
|
|
194
|
+
switch (tagName) {
|
|
195
|
+
case 'ontario-task-list':
|
|
196
|
+
if (!customElements.get(tagName)) {
|
|
197
|
+
customElements.define(tagName, OntarioTaskList$1);
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
defineCustomElement$1();
|
|
204
|
+
|
|
205
|
+
const OntarioTaskList = OntarioTaskList$1;
|
|
206
|
+
const defineCustomElement = defineCustomElement$1;
|
|
207
|
+
|
|
208
|
+
export { OntarioTaskList, defineCustomElement };
|
|
209
|
+
//# sourceMappingURL=ontario-task-list.js.map
|
|
210
|
+
|
|
211
|
+
//# sourceMappingURL=ontario-task-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ontario-task-list.js","mappings":"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","names":["OntarioTaskList","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ontario-task-list/ontario-task-list.scss?tag=ontario-task-list&encapsulation=shadow","src/components/ontario-task-list/ontario-task-list.tsx"],"sourcesContent":["@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/1-variables/colours.variables' as colours;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/2-tools/functions/global.functions' as\n\tglobalFunctions;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/1-variables/global.variables' as globalVariables;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/1-variables/spacing.variables' as spacing;\n\n.ontario-task-list {\n\tborder-top: globalFunctions.px-to-rem(2) solid colours.$ontario-greyscale-20;\n\tpadding: spacing.$spacing-0;\n\tmargin: spacing.$spacing-0 spacing.$spacing-2;\n}\n\n.ontario-task-list__item {\n\tmax-width: globalVariables.$full-width;\n\tlist-style-type: none;\n}\n","import { h, Component, Element, Prop, State, Watch } from '@stencil/core';\nimport { Language } from '../../utils/common/language-types';\nimport { ConsoleMessageClass } from '../../utils/console-message/console-message';\nimport { validateLanguage } from '../../utils/validation/validation-functions';\nimport translations from '../../translations/global.i18n.json';\nimport { HeadingLevel } from '../../utils/common/common.interface';\nimport { validateValueAgainstArray } from '../../utils/validation/validation-functions';\nimport { TaskStatuses } from '../../utils/common/task-statuses.enum';\nexport type TaskListHeadingLevel = 'h1' | Exclude<HeadingLevel, 'h6'>;\n\n@Component({\n\ttag: 'ontario-task-list',\n\tstyleUrl: 'ontario-task-list.scss',\n\tshadow: true,\n})\nexport class OntarioTaskList {\n\t@Element() el: HTMLElement;\n\n\t/**\n\t * The label prop used for the task list heading.\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * Allows consumers to define the heading level for the task list component.\n\t *\n\t * Accepts 'h1', 'h2', 'h3' or 'h4'. Default is 'h2'.\n\t */\n\t@Prop() headingLevel: TaskListHeadingLevel = 'h2';\n\n\t/**\n\t * The language of the component.\n\t * This is used for translations, and is by default set through event listeners checking for a language property from the header. If none are passed, it will default to English.\n\t */\n\t@Prop({ mutable: true }) language?: Language = 'en';\n\n\t/**\n\t * State to track the number of completed tasks.\n\t */\n\t@State() completedTasks: number = 0;\n\n\t/**\n\t * State to track the total number of tasks.\n\t */\n\t@State() totalTasks: number = 0;\n\n\t/**\n\t * Class-level constant for task count delay in milliseconds.\n\t *\n\t * This delay ensures that the `ontario-task` custom elements are fully upgraded and rendered\n\t * in the DOM before the `countTasks` method is executed. Without this delay, the component\n\t * might attempt to query or count tasks before they are properly initialized, leading to\n\t * inaccurate task counts.\n\t */\n\tprivate static readonly TASK_COUNT_DELAY_MS = 50;\n\n\t/**\n\t * Watch for changes in `headingLevel` prop to validate its value.\n\t */\n\t@Watch('headingLevel')\n\tvalidateHeadingLevel(newValue: string) {\n\t\tconst allowedValues: TaskListHeadingLevel[] = ['h1', 'h2', 'h3', 'h4', 'h5'];\n\n\t\t// Validate the new value against the allowed values\n\t\tconst isValid = validateValueAgainstArray(newValue, allowedValues);\n\n\t\tif (!isValid) {\n\t\t\tconst message = new ConsoleMessageClass();\n\t\t\tmessage\n\t\t\t\t.addDesignSystemTag()\n\t\t\t\t.addMonospaceText(' headingLevel ')\n\t\t\t\t.addRegularText('on')\n\t\t\t\t.addMonospaceText(' <ontario-task-list> ')\n\t\t\t\t.addRegularText('was set to an invalid value; only ')\n\t\t\t\t.addMonospaceText(allowedValues.join(', '))\n\t\t\t\t.addRegularText(' are supported. The default value ')\n\t\t\t\t.addMonospaceText('h2')\n\t\t\t\t.addRegularText(' is assumed.')\n\t\t\t\t.printMessage();\n\n\t\t\tthis.headingLevel = 'h2';\n\t\t}\n\t}\n\n\t/**\n\t * Counts the total tasks and completed tasks by querying for `ontario-task` elements.\n\t */\n\tcountTasks() {\n\t\tconst slot = this.el.shadowRoot?.querySelector('slot');\n\t\tconst tasks = slot\n\t\t\t? (slot.assignedElements().filter((el) => el.tagName.toLowerCase() === 'ontario-task') as HTMLElement[])\n\t\t\t: [];\n\n\t\tthis.totalTasks = tasks.length;\n\n\t\tthis.completedTasks = tasks.filter((task) => {\n\t\t\t// Get the status directly from the light DOM\n\t\t\tconst status = task.getAttribute('data-task-status');\n\t\t\treturn status === TaskStatuses.Completed;\n\t\t}).length;\n\t}\n\n\t/**\n\t * Lifecycle method: before the component loads, validate heading level.\n\t */\n\tasync componentWillLoad() {\n\t\tthis.validateHeadingLevel(this.headingLevel);\n\t}\n\n\t/**\n\t * Ensure tasks are counted after custom elements are fully upgraded.\n\t */\n\tconnectedCallback() {\n\t\t// Wait for the custom element to be fully defined before counting\n\t\tcustomElements.whenDefined('ontario-task').then(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.countTasks();\n\t\t\t}, OntarioTaskList.TASK_COUNT_DELAY_MS);\n\t\t});\n\t}\n\n\t/**\n\t * Use slotchange and MutationObserver to track changes in slot content.\n\t */\n\tcomponentDidLoad() {\n\t\tconst slot = this.el.shadowRoot?.querySelector('slot');\n\t\tif (slot) {\n\t\t\tslot.addEventListener('slotchange', () => {\n\t\t\t\tthis.countTasks();\n\t\t\t});\n\t\t}\n\n\t\t// Observe changes to the light DOM for accurate counting\n\t\tconst observer = new MutationObserver((_mutations) => {\n\t\t\tthis.countTasks();\n\t\t});\n\t\tobserver.observe(this.el, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: ['data-task-status'],\n\t\t});\n\t}\n\n\tcomponentDidRender() {\n\t\tsetTimeout(() => {\n\t\t\tthis.countTasks();\n\t\t}, OntarioTaskList.TASK_COUNT_DELAY_MS);\n\t}\n\n\trender() {\n\t\t// Resolve the language to ensure valid translations are used.\n\t\tconst resolvedLanguage = validateLanguage(this.language);\n\n\t\tconst headingProps = {\n\t\t\tclass: { 'ontario-task-list__heading': true },\n\t\t};\n\n\t\treturn (\n\t\t\t<div class=\"ontario-task-list__container\">\n\t\t\t\t{h(this.headingLevel, headingProps, this.label)}\n\n\t\t\t\t<p class=\"ontario-task-list__completion-text\" aria-live=\"polite\">\n\t\t\t\t\t{translations.taskGroup.completed[resolvedLanguage]} \n\t\t\t\t\t{this.completedTasks} \n\t\t\t\t\t{translations.taskGroup.outOf[resolvedLanguage]} \n\t\t\t\t\t{this.totalTasks} \n\t\t\t\t\t{translations.taskGroup.tasks[resolvedLanguage]}\n\t\t\t\t</p>\n\n\t\t\t\t<ul class=\"ontario-task-list\" role=\"list\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t}\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from '../dist/types/components';
|
|
2
|
+
|
|
3
|
+
interface OntarioTask extends Components.OntarioTask, HTMLElement {}
|
|
4
|
+
export const OntarioTask: {
|
|
5
|
+
prototype: OntarioTask;
|
|
6
|
+
new (): OntarioTask;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h } from './index.js';
|
|
2
|
+
import { C as ConsoleMessageClass } from './p-Cdm-Ot0O.js';
|
|
3
|
+
import { T as TaskStatuses, a as TaskToBadgeColour } from './p-A8xwC5QP.js';
|
|
4
|
+
import { v as validateValueAgainstArray, b as validateLanguage } from './p-CNqFEifG.js';
|
|
5
|
+
import { c as constructHintTextObject } from './p-CIdZS10A.js';
|
|
6
|
+
import { t as translations } from './p-DgMhpSmi.js';
|
|
7
|
+
import { d as defineCustomElement$3 } from './p-6uqsTY-M.js';
|
|
8
|
+
import { d as defineCustomElement$2 } from './p-BBhl-3u7.js';
|
|
9
|
+
|
|
10
|
+
const ontarioTaskCss =
|
|
11
|
+
'.ontario-task{border-bottom:0.125rem solid #cccccc;padding:1.25rem 0;list-style:none}.ontario-task__content{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:1rem}@media screen and (max-width: 40em){.ontario-task__content{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0.5rem}}.ontario-task .ontario-task__text{display:flex;flex-direction:column}.ontario-task__label{text-align:left;margin:0;font-size:1.1875rem;font-weight:600;display:inline-block}@media screen and (max-width: 40em){.ontario-task__label{margin-bottom:0.5rem}}.ontario-task__label a{text-decoration:none;color:inherit}.ontario-task__label a:hover{text-decoration:underline}.ontario-task__link{display:block;text-decoration:none;color:#0066CC;font-weight:normal}.ontario-task__hint-text--true{margin-bottom:0.5rem}.ontario-task--error{padding-left:1rem;border-left:0.25rem solid #CD0000;margin-left:-0.125rem}.ontario-task .ontario-hint{margin-bottom:0}.ontario-task:focus-within{outline:4px solid #009ADB}.ontario-task__link .ontario-task__label{text-decoration:underline}.ontario-task__link:focus{outline:none;box-shadow:none}.ontario-task:has(.ontario-task__link):hover{background-color:rgb(242.25, 242.25, 242.25)}.ontario-task--status-completed .ontario-task__link .ontario-task__label,.ontario-task--status-inprogress .ontario-task__link .ontario-task__label,.ontario-task--status-notstarted .ontario-task__link .ontario-task__label,.ontario-task--status-optional .ontario-task__link .ontario-task__label,.ontario-task--status-error .ontario-task__link .ontario-task__label{color:#0066CC;text-decoration:underline}.ontario-task--status-completed .ontario-task__link:visited .ontario-task__label,.ontario-task--status-inprogress .ontario-task__link:visited .ontario-task__label,.ontario-task--status-notstarted .ontario-task__link:visited .ontario-task__label,.ontario-task--status-optional .ontario-task__link:visited .ontario-task__label,.ontario-task--status-error .ontario-task__link:visited .ontario-task__label{color:#551A8B}.ontario-task--status-completed .ontario-task__link:hover .ontario-task__label,.ontario-task--status-inprogress .ontario-task__link:hover .ontario-task__label,.ontario-task--status-notstarted .ontario-task__link:hover .ontario-task__label,.ontario-task--status-optional .ontario-task__link:hover .ontario-task__label,.ontario-task--status-error .ontario-task__link:hover .ontario-task__label{color:#00478F}.ontario-task--status-completed .ontario-task__link:active .ontario-task__label,.ontario-task--status-inprogress .ontario-task__link:active .ontario-task__label,.ontario-task--status-notstarted .ontario-task__link:active .ontario-task__label,.ontario-task--status-optional .ontario-task__link:active .ontario-task__label,.ontario-task--status-error .ontario-task__link:active .ontario-task__label{color:#002142}ontario-hint-text::part(hint-text){margin:0}';
|
|
12
|
+
|
|
13
|
+
const OntarioTask$1 = /*@__PURE__*/ proxyCustomElement(
|
|
14
|
+
class OntarioTask extends H {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.__registerHost();
|
|
18
|
+
this.__attachShadow();
|
|
19
|
+
/**
|
|
20
|
+
* Disables the task link when set to `true`.
|
|
21
|
+
*
|
|
22
|
+
* Default is `false`, meaning the link will be active if provided.
|
|
23
|
+
*/
|
|
24
|
+
this.deactivateLink = false;
|
|
25
|
+
/**
|
|
26
|
+
* Defines the status of the task, with default set to 'NotStarted'.
|
|
27
|
+
*
|
|
28
|
+
* Accepts values from `TaskStatuses` enum: `NotStarted`, `InProgress`, `Completed`.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Defines the status of the task, with default set to 'NotStarted'.
|
|
32
|
+
*
|
|
33
|
+
* Accepts values from `TaskStatuses` enum: `NotStarted`, `InProgress`, `Completed`, etc.
|
|
34
|
+
*/
|
|
35
|
+
this.taskStatus = TaskStatuses.NotStarted;
|
|
36
|
+
/**
|
|
37
|
+
* Allows consumers to define the heading level for the task label.
|
|
38
|
+
*
|
|
39
|
+
* Accepts 'h2', 'h3' or 'h4'. Default is 'h3'.
|
|
40
|
+
*/
|
|
41
|
+
this.headingLevel = 'h3';
|
|
42
|
+
/**
|
|
43
|
+
* Mutable variable, for internal use only.
|
|
44
|
+
*
|
|
45
|
+
* Set the task's status state depending on validation result.
|
|
46
|
+
*/
|
|
47
|
+
this.taskStatusState = TaskStatuses.NotStarted;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Watch for changes in `headingLevel` prop to validate its value.
|
|
51
|
+
*/
|
|
52
|
+
validateHeadingLevel(newValue) {
|
|
53
|
+
const allowedValues = ['h2', 'h3', 'h4'];
|
|
54
|
+
// Validate the new value against the allowed values
|
|
55
|
+
const isValid = validateValueAgainstArray(newValue, allowedValues);
|
|
56
|
+
if (!isValid) {
|
|
57
|
+
const message = new ConsoleMessageClass();
|
|
58
|
+
message
|
|
59
|
+
.addDesignSystemTag()
|
|
60
|
+
.addMonospaceText(' headingLevel ')
|
|
61
|
+
.addRegularText('on')
|
|
62
|
+
.addMonospaceText(' <ontario-task> ')
|
|
63
|
+
.addRegularText('was set to an invalid value; only ')
|
|
64
|
+
.addMonospaceText(allowedValues.join(', '))
|
|
65
|
+
.addRegularText(' are supported. The default value ')
|
|
66
|
+
.addMonospaceText('h3')
|
|
67
|
+
.addRegularText(' is assumed.')
|
|
68
|
+
.printMessage();
|
|
69
|
+
this.headingLevel = 'h3';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Watch for changes in `hintText` prop and parse it if available.
|
|
74
|
+
*
|
|
75
|
+
* If a `hintText` prop is passed, the `constructHintTextObject` function will convert it to the correct format,
|
|
76
|
+
* and the result will be stored in the `internalHintText` state.
|
|
77
|
+
*/
|
|
78
|
+
parseHintText() {
|
|
79
|
+
if (this.hintText) {
|
|
80
|
+
const hintTextObject = constructHintTextObject(this.hintText);
|
|
81
|
+
this.internalHintText = hintTextObject;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Watch for changes in `taskStatus` prop to validate its value.
|
|
86
|
+
*/
|
|
87
|
+
validateTaskStatus(newValue) {
|
|
88
|
+
const validStatuses = Object.values(TaskStatuses);
|
|
89
|
+
const isValidStatus = validStatuses.includes(newValue);
|
|
90
|
+
if (isValidStatus) {
|
|
91
|
+
this.taskStatusState = newValue;
|
|
92
|
+
} else {
|
|
93
|
+
// If the status is invalid, log a warning and use the default
|
|
94
|
+
this.taskStatusState = this.warnAndGetDefaultTaskStatus();
|
|
95
|
+
}
|
|
96
|
+
// Update the `data-task-status` attribute
|
|
97
|
+
this.el.setAttribute('data-task-status', this.taskStatusState);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Listen for app language settings on the window to update the component language.
|
|
101
|
+
*/
|
|
102
|
+
handleSetAppLanguage(event) {
|
|
103
|
+
if (!this.language) {
|
|
104
|
+
this.language = validateLanguage(event);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Handles an update to the language should the user request a language update from the language toggle.
|
|
109
|
+
* @param {CustomEvent} - The language that has been selected.
|
|
110
|
+
*/
|
|
111
|
+
handleHeaderLanguageToggled(event) {
|
|
112
|
+
this.language = validateLanguage(event.detail.newLanguage);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Determines the badge colour based on the current `taskStatusState`.
|
|
116
|
+
*
|
|
117
|
+
* @returns {TaskBadgeColour}
|
|
118
|
+
*/
|
|
119
|
+
getBadgeColour() {
|
|
120
|
+
return TaskToBadgeColour[this.taskStatusState] || 'grey';
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Provides a translated task status string based on the current language.
|
|
124
|
+
*/
|
|
125
|
+
getTranslatedTaskStatus() {
|
|
126
|
+
const resolvedLanguage = validateLanguage(this.language);
|
|
127
|
+
return translations.taskStatus[this.taskStatusState][resolvedLanguage];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Renders hint text if available.
|
|
131
|
+
*/
|
|
132
|
+
renderHintText() {
|
|
133
|
+
if (this.internalHintText) {
|
|
134
|
+
return h('ontario-hint-text', {
|
|
135
|
+
hint: this.internalHintText.hint,
|
|
136
|
+
hintContentType: this.internalHintText.hintContentType,
|
|
137
|
+
elementId: `hint-text--${this.taskId}`,
|
|
138
|
+
ref: (el) => (this.hintTextRef = el),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Returns the class name(s) for the task label.
|
|
145
|
+
*/
|
|
146
|
+
getClass() {
|
|
147
|
+
return ['ontario-task__label', this.hintText && 'ontario-task__hint-text--true'].filter(Boolean).join(' ');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Logs a warning to the console if the `taskStatus` prop is set to an invalid value.
|
|
151
|
+
*
|
|
152
|
+
* This function informs developers that the provided `taskStatus` is not recognized
|
|
153
|
+
* and resets the status to the default value of `'notStarted'`. The warning message
|
|
154
|
+
* specifies the valid task statuses to help guide correct usage.
|
|
155
|
+
*
|
|
156
|
+
* @returns The default task status `'notStarted'`.
|
|
157
|
+
*/
|
|
158
|
+
warnAndGetDefaultTaskStatus() {
|
|
159
|
+
const validStatuses = Object.values(TaskStatuses).join(', ');
|
|
160
|
+
const message = new ConsoleMessageClass();
|
|
161
|
+
message
|
|
162
|
+
.addDesignSystemTag()
|
|
163
|
+
.addMonospaceText(' taskStatus ')
|
|
164
|
+
.addRegularText('on')
|
|
165
|
+
.addMonospaceText(' <ontario-task> ')
|
|
166
|
+
.addRegularText('was set to an invalid taskStatus; only ')
|
|
167
|
+
.addMonospaceText(validStatuses)
|
|
168
|
+
.addRegularText(' are supported. The default taskStatus ')
|
|
169
|
+
.addMonospaceText(TaskStatuses.NotStarted)
|
|
170
|
+
.addRegularText(' is assumed.')
|
|
171
|
+
.printMessage();
|
|
172
|
+
return TaskStatuses.NotStarted;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Renders the task label and status content.
|
|
176
|
+
*
|
|
177
|
+
* This includes dynamically rendering the heading element (h2, h3, or h4) based on the `headingLevel` prop,
|
|
178
|
+
* as well as the badge indicating the task status.
|
|
179
|
+
*/
|
|
180
|
+
renderTaskContent() {
|
|
181
|
+
const headingProps = {
|
|
182
|
+
id: `task-label--${this.taskId}`,
|
|
183
|
+
class: this.getClass(),
|
|
184
|
+
};
|
|
185
|
+
return h(
|
|
186
|
+
'div',
|
|
187
|
+
{ class: 'ontario-task__content' },
|
|
188
|
+
h(
|
|
189
|
+
'div',
|
|
190
|
+
{ class: 'ontario-task__text' },
|
|
191
|
+
h(this.headingLevel, headingProps, this.label),
|
|
192
|
+
this.renderHintText(),
|
|
193
|
+
),
|
|
194
|
+
this.taskStatusState &&
|
|
195
|
+
h(
|
|
196
|
+
'ontario-badge',
|
|
197
|
+
{
|
|
198
|
+
'class': 'ontario-task__badge',
|
|
199
|
+
'role': 'status',
|
|
200
|
+
'aria-label': `${translations.taskStatus.taskStatus[validateLanguage(this.language)]} ${this.getTranslatedTaskStatus()} (${this.taskStatusState})`,
|
|
201
|
+
'colour': this.getBadgeColour(),
|
|
202
|
+
},
|
|
203
|
+
this.getTranslatedTaskStatus(),
|
|
204
|
+
),
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* After the component loads, retrieve the hint text ID (if available) from the hintText component,
|
|
209
|
+
* and set it for the `aria-describedby` attribute.
|
|
210
|
+
*/
|
|
211
|
+
async componentDidLoad() {
|
|
212
|
+
if (this.hintTextRef) {
|
|
213
|
+
let hintTextId = this.hintTextRef.elementId;
|
|
214
|
+
if (!hintTextId) {
|
|
215
|
+
hintTextId = `hint-text--${this.taskId}`;
|
|
216
|
+
this.hintTextRef.elementId = hintTextId;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Lifecycle method: before the component loads, parse the hint text and
|
|
222
|
+
* validate language and task status and heading level.
|
|
223
|
+
*/
|
|
224
|
+
async componentWillLoad() {
|
|
225
|
+
this.parseHintText();
|
|
226
|
+
this.language = validateLanguage(this.language);
|
|
227
|
+
this.validateHeadingLevel(this.headingLevel);
|
|
228
|
+
// Ensure the taskStatus is set initially based on the prop
|
|
229
|
+
this.validateTaskStatus(this.taskStatus);
|
|
230
|
+
}
|
|
231
|
+
render() {
|
|
232
|
+
const isLinkActive = this.link && !this.deactivateLink;
|
|
233
|
+
const taskStatusClass = `ontario-task-status--${this.taskStatusState.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}`;
|
|
234
|
+
const describedBy = this.internalHintText ? `hint-text--${this.taskId}` : undefined;
|
|
235
|
+
return h(
|
|
236
|
+
'li',
|
|
237
|
+
{
|
|
238
|
+
'key': 'b00f95cd8b17f1e40daae5a16e0198b80de392e6',
|
|
239
|
+
'class': `ontario-task ${taskStatusClass}`,
|
|
240
|
+
'role': 'group',
|
|
241
|
+
'aria-labelledby': `task-label--${this.taskId}`,
|
|
242
|
+
'data-task-status': this.taskStatusState,
|
|
243
|
+
'aria-describedby': describedBy,
|
|
244
|
+
},
|
|
245
|
+
isLinkActive
|
|
246
|
+
? h(
|
|
247
|
+
'a',
|
|
248
|
+
{ 'href': this.link, 'class': 'ontario-task__link', 'aria-label': this.label },
|
|
249
|
+
this.renderTaskContent(),
|
|
250
|
+
)
|
|
251
|
+
: h('div', null, this.renderTaskContent()),
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
get el() {
|
|
255
|
+
return this;
|
|
256
|
+
}
|
|
257
|
+
static get watchers() {
|
|
258
|
+
return {
|
|
259
|
+
headingLevel: ['validateHeadingLevel'],
|
|
260
|
+
hintText: ['parseHintText'],
|
|
261
|
+
taskStatus: ['validateTaskStatus'],
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
static get style() {
|
|
265
|
+
return ontarioTaskCss;
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
[
|
|
269
|
+
257,
|
|
270
|
+
'ontario-task',
|
|
271
|
+
{
|
|
272
|
+
label: [1],
|
|
273
|
+
taskId: [1, 'task-id'],
|
|
274
|
+
link: [1],
|
|
275
|
+
deactivateLink: [4, 'deactivate-link'],
|
|
276
|
+
language: [1025],
|
|
277
|
+
hintText: [1025, 'hint-text'],
|
|
278
|
+
taskStatus: [1, 'task-status'],
|
|
279
|
+
headingLevel: [1, 'heading-level'],
|
|
280
|
+
internalHintText: [32],
|
|
281
|
+
taskStatusState: [32],
|
|
282
|
+
},
|
|
283
|
+
[
|
|
284
|
+
[8, 'setAppLanguage', 'handleSetAppLanguage'],
|
|
285
|
+
[8, 'headerLanguageToggled', 'handleHeaderLanguageToggled'],
|
|
286
|
+
],
|
|
287
|
+
{
|
|
288
|
+
headingLevel: ['validateHeadingLevel'],
|
|
289
|
+
hintText: ['parseHintText'],
|
|
290
|
+
taskStatus: ['validateTaskStatus'],
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
);
|
|
294
|
+
function defineCustomElement$1() {
|
|
295
|
+
if (typeof customElements === 'undefined') {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
const components = ['ontario-task', 'ontario-badge', 'ontario-hint-text'];
|
|
299
|
+
components.forEach((tagName) => {
|
|
300
|
+
switch (tagName) {
|
|
301
|
+
case 'ontario-task':
|
|
302
|
+
if (!customElements.get(tagName)) {
|
|
303
|
+
customElements.define(tagName, OntarioTask$1);
|
|
304
|
+
}
|
|
305
|
+
break;
|
|
306
|
+
case 'ontario-badge':
|
|
307
|
+
if (!customElements.get(tagName)) {
|
|
308
|
+
defineCustomElement$3();
|
|
309
|
+
}
|
|
310
|
+
break;
|
|
311
|
+
case 'ontario-hint-text':
|
|
312
|
+
if (!customElements.get(tagName)) {
|
|
313
|
+
defineCustomElement$2();
|
|
314
|
+
}
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
defineCustomElement$1();
|
|
320
|
+
|
|
321
|
+
const OntarioTask = OntarioTask$1;
|
|
322
|
+
const defineCustomElement = defineCustomElement$1;
|
|
323
|
+
|
|
324
|
+
export { OntarioTask, defineCustomElement };
|
|
325
|
+
//# sourceMappingURL=ontario-task.js.map
|
|
326
|
+
|
|
327
|
+
//# sourceMappingURL=ontario-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ontario-task.js","mappings":"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","names":["OntarioTask","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ontario-task/ontario-task.scss?tag=ontario-task&encapsulation=shadow","src/components/ontario-task/ontario-task.tsx"],"sourcesContent":["@use 'sass:math';\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/1-variables/spacing.variables' as spacing;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/1-variables/colours.variables' as colours;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/2-tools/functions/global.functions' as\n\tglobalFunctions;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/1-variables/breakpoints.variables' as breakpoints;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/2-tools/placeholder/focus.placeholders' as\n\tplaceholders;\n@use 'pkg:@ongov/ontario-design-system-global-styles/dist/styles/scss/1-variables/font-weights.variables' as fontWeights;\n\n.ontario-task {\n\tborder-bottom: globalFunctions.px-to-rem(2) solid colours.$ontario-greyscale-20;\n\tpadding: globalFunctions.px-to-rem(20) spacing.$spacing-0;\n\tlist-style: none;\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: flex-start;\n\t\tjustify-content: space-between;\n\t\tgap: spacing.$spacing-4;\n\n\t\t@media screen and (max-width: breakpoints.$small-breakpoint) {\n\t\t\tflex-direction: column;\n\t\t\talign-items: flex-start;\n\t\t\tjustify-content: flex-start;\n\t\t\tgap: spacing.$spacing-2;\n\t\t}\n\t}\n\n\t.ontario-task__text {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&__label {\n\t\ttext-align: left;\n\t\tmargin: spacing.$spacing-0;\n\t\tfont-size: globalFunctions.px-to-rem(19);\n\t\tfont-weight: fontWeights.$ontario-font-weights-semi-bold;\n\t\tdisplay: inline-block;\n\n\t\t@media screen and (max-width: breakpoints.$small-breakpoint) {\n\t\t\tmargin-bottom: spacing.$spacing-2;\n\t\t}\n\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__link {\n\t\tdisplay: block;\n\t\ttext-decoration: none;\n\t\tcolor: colours.$ontario-colour-link;\n\t\tfont-weight: normal;\n\t}\n\n\t&__hint-text--true {\n\t\tmargin-bottom: spacing.$spacing-2;\n\t}\n\n\t&--error {\n\t\tpadding-left: spacing.$spacing-4;\n\t\tborder-left: globalFunctions.px-to-rem(4) solid colours.$ontario-colour-alert;\n\t\tmargin-left: globalFunctions.px-to-rem(-2);\n\t}\n\n\t.ontario-hint {\n\t\tmargin-bottom: spacing.$spacing-0;\n\t}\n}\n\n.ontario-task:focus-within {\n\toutline: 4px solid colours.$ontario-colour-focus;\n}\n\n.ontario-task__link {\n\t.ontario-task__label {\n\t\ttext-decoration: underline;\n\t}\n}\n\n.ontario-task__link:focus {\n\toutline: none;\n\tbox-shadow: none;\n}\n\n.ontario-task:has(.ontario-task__link) {\n\t&:hover {\n\t\tbackground-color: colours.$ontario-greyscale-5;\n\t}\n}\n\n@mixin link-states {\n\t&:visited .ontario-task__label {\n\t\tcolor: colours.$ontario-colour-link--visited;\n\t}\n\t&:hover .ontario-task__label {\n\t\tcolor: colours.$ontario-colour-link--hover;\n\t}\n\t&:active .ontario-task__label {\n\t\tcolor: colours.$ontario-colour-link--active;\n\t}\n}\n\n.ontario-task {\n\t&--status-completed,\n\t&--status-inprogress,\n\t&--status-notstarted,\n\t&--status-optional,\n\t&--status-error {\n\t\t.ontario-task__link {\n\t\t\t.ontario-task__label {\n\t\t\t\tcolor: colours.$ontario-colour-link;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t\t@include link-states;\n\t\t}\n\t}\n}\n\nontario-hint-text::part(hint-text) {\n\tmargin: spacing.$spacing-0;\n}\n","import { h, Component, Prop, Watch, State, Listen, Element } from '@stencil/core';\nimport { ConsoleMessageClass } from '../../utils/console-message/console-message';\nimport { TaskStatuses, TaskBadgeColour, TaskToBadgeColour } from '../../utils/common/task-statuses.enum';\nimport { validateLanguage, validateValueAgainstArray } from '../../utils/validation/validation-functions';\nimport { Hint } from '../../utils/common/common.interface';\nimport { Language } from '../../utils/common/language-types';\nimport { constructHintTextObject } from '../../utils/components/hints/hints';\nimport translations from '../../translations/global.i18n.json';\nimport { HeadingLevel } from '../../utils/common/common.interface';\nimport { HeaderLanguageToggleEventDetails } from '../../utils/events/common-events.interface';\nexport type TaskHeadingLevel = Extract<HeadingLevel, 'h2' | 'h3' | 'h4'>;\n\n@Component({\n\ttag: 'ontario-task',\n\tstyleUrl: 'ontario-task.scss',\n\tshadow: true,\n})\nexport class OntarioTask {\n\t@Element() el: HTMLElement;\n\n\t// Reference to the ontario-hint-text element for this task.\n\thintTextRef?: HTMLOntarioHintTextElement | undefined;\n\n\t/**\n\t * Specifies the label of the task.\n\t *\n\t * This is required to provide the name of the task.\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * A unique id for the task.\n\t *\n\t * This is required.\n\t */\n\t@Prop() taskId: string;\n\n\t/**\n\t * Specifies an optional link associated with the task.\n\t *\n\t * If provided, clicking the task will navigate to this URL.\n\t */\n\t@Prop() link?: string;\n\n\t/**\n\t * Disables the task link when set to `true`.\n\t *\n\t * Default is `false`, meaning the link will be active if provided.\n\t */\n\t@Prop() deactivateLink: boolean = false;\n\n\t/**\n\t * The language of the component.\n\t *\n\t * This is used for translations, and is by default set through event listeners checking for a language property from the header. If no language is passed, it will default to English.\n\t */\n\t@Prop({ mutable: true }) language?: Language;\n\n\t/**\n\t * Used to include the ontario-hint-text component for the task.\n\t *\n\t * This is optional.\n\t */\n\t@Prop({ mutable: true }) hintText?: string | Hint;\n\n\t/**\n\t * Defines the status of the task, with default set to 'NotStarted'.\n\t *\n\t * Accepts values from `TaskStatuses` enum: `NotStarted`, `InProgress`, `Completed`.\n\t */\n\t/**\n\t * Defines the status of the task, with default set to 'NotStarted'.\n\t *\n\t * Accepts values from `TaskStatuses` enum: `NotStarted`, `InProgress`, `Completed`, etc.\n\t */\n\t@Prop() taskStatus: TaskStatuses = TaskStatuses.NotStarted;\n\n\t/**\n\t * Allows consumers to define the heading level for the task label.\n\t *\n\t * Accepts 'h2', 'h3' or 'h4'. Default is 'h3'.\n\t */\n\t@Prop() headingLevel: TaskHeadingLevel = 'h3';\n\n\t/**\n\t * The hint text options are re-assigned to the internalHintText state.\n\t */\n\t@State() private internalHintText: Hint;\n\n\t/**\n\t * Mutable variable, for internal use only.\n\t *\n\t * Set the task's status state depending on validation result.\n\t */\n\t@State() private taskStatusState: TaskStatuses = TaskStatuses.NotStarted;\n\n\t/**\n\t * Watch for changes in `headingLevel` prop to validate its value.\n\t */\n\t@Watch('headingLevel')\n\tvalidateHeadingLevel(newValue: string) {\n\t\tconst allowedValues: TaskHeadingLevel[] = ['h2', 'h3', 'h4'];\n\n\t\t// Validate the new value against the allowed values\n\t\tconst isValid = validateValueAgainstArray(newValue, allowedValues);\n\n\t\tif (!isValid) {\n\t\t\tconst message = new ConsoleMessageClass();\n\t\t\tmessage\n\t\t\t\t.addDesignSystemTag()\n\t\t\t\t.addMonospaceText(' headingLevel ')\n\t\t\t\t.addRegularText('on')\n\t\t\t\t.addMonospaceText(' <ontario-task> ')\n\t\t\t\t.addRegularText('was set to an invalid value; only ')\n\t\t\t\t.addMonospaceText(allowedValues.join(', '))\n\t\t\t\t.addRegularText(' are supported. The default value ')\n\t\t\t\t.addMonospaceText('h3')\n\t\t\t\t.addRegularText(' is assumed.')\n\t\t\t\t.printMessage();\n\n\t\t\tthis.headingLevel = 'h3';\n\t\t}\n\t}\n\n\t/**\n\t * Watch for changes in `hintText` prop and parse it if available.\n\t *\n\t * If a `hintText` prop is passed, the `constructHintTextObject` function will convert it to the correct format,\n\t * and the result will be stored in the `internalHintText` state.\n\t */\n\t@Watch('hintText')\n\tprivate parseHintText() {\n\t\tif (this.hintText) {\n\t\t\tconst hintTextObject = constructHintTextObject(this.hintText);\n\t\t\tthis.internalHintText = hintTextObject;\n\t\t}\n\t}\n\n\t/**\n\t * Watch for changes in `taskStatus` prop to validate its value.\n\t */\n\t@Watch('taskStatus')\n\tvalidateTaskStatus(newValue: TaskStatuses) {\n\t\tconst validStatuses = Object.values(TaskStatuses);\n\t\tconst isValidStatus = validStatuses.includes(newValue);\n\n\t\tif (isValidStatus) {\n\t\t\tthis.taskStatusState = newValue;\n\t\t} else {\n\t\t\t// If the status is invalid, log a warning and use the default\n\t\t\tthis.taskStatusState = this.warnAndGetDefaultTaskStatus();\n\t\t}\n\n\t\t// Update the `data-task-status` attribute\n\t\tthis.el.setAttribute('data-task-status', this.taskStatusState);\n\t}\n\n\t/**\n\t * Listen for app language settings on the window to update the component language.\n\t */\n\t@Listen('setAppLanguage', { target: 'window' })\n\thandleSetAppLanguage(event: CustomEvent<Language>) {\n\t\tif (!this.language) {\n\t\t\tthis.language = validateLanguage(event);\n\t\t}\n\t}\n\n\t/**\n\t * Handles an update to the language should the user request a language update from the language toggle.\n\t * @param {CustomEvent} - The language that has been selected.\n\t */\n\t@Listen('headerLanguageToggled', { target: 'window' })\n\thandleHeaderLanguageToggled(event: CustomEvent<HeaderLanguageToggleEventDetails>) {\n\t\tthis.language = validateLanguage(event.detail.newLanguage);\n\t}\n\n\t/**\n\t * Determines the badge colour based on the current `taskStatusState`.\n\t *\n\t * @returns {TaskBadgeColour}\n\t */\n\tprivate getBadgeColour(): TaskBadgeColour {\n\t\treturn TaskToBadgeColour[this.taskStatusState] || 'grey';\n\t}\n\n\t/**\n\t * Provides a translated task status string based on the current language.\n\t */\n\tprivate getTranslatedTaskStatus(): string {\n\t\tconst resolvedLanguage = validateLanguage(this.language);\n\t\treturn translations.taskStatus[this.taskStatusState][resolvedLanguage];\n\t}\n\n\t/**\n\t * Renders hint text if available.\n\t */\n\tprivate renderHintText() {\n\t\tif (this.internalHintText) {\n\t\t\treturn (\n\t\t\t\t<ontario-hint-text\n\t\t\t\t\thint={this.internalHintText.hint}\n\t\t\t\t\thintContentType={this.internalHintText.hintContentType}\n\t\t\t\t\telementId={`hint-text--${this.taskId}`}\n\t\t\t\t\tref={(el) => (this.hintTextRef = el)}\n\t\t\t\t></ontario-hint-text>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns the class name(s) for the task label.\n\t */\n\tprivate getClass(): string {\n\t\treturn ['ontario-task__label', this.hintText && 'ontario-task__hint-text--true'].filter(Boolean).join(' ');\n\t}\n\n\t/**\n\t * Logs a warning to the console if the `taskStatus` prop is set to an invalid value.\n\t *\n\t * This function informs developers that the provided `taskStatus` is not recognized\n\t * and resets the status to the default value of `'notStarted'`. The warning message\n\t * specifies the valid task statuses to help guide correct usage.\n\t *\n\t * @returns The default task status `'notStarted'`.\n\t */\n\tprivate warnAndGetDefaultTaskStatus(): TaskStatuses {\n\t\tconst validStatuses = Object.values(TaskStatuses).join(', ');\n\t\tconst message = new ConsoleMessageClass();\n\t\tmessage\n\t\t\t.addDesignSystemTag()\n\t\t\t.addMonospaceText(' taskStatus ')\n\t\t\t.addRegularText('on')\n\t\t\t.addMonospaceText(' <ontario-task> ')\n\t\t\t.addRegularText('was set to an invalid taskStatus; only ')\n\t\t\t.addMonospaceText(validStatuses)\n\t\t\t.addRegularText(' are supported. The default taskStatus ')\n\t\t\t.addMonospaceText(TaskStatuses.NotStarted)\n\t\t\t.addRegularText(' is assumed.')\n\t\t\t.printMessage();\n\t\treturn TaskStatuses.NotStarted;\n\t}\n\n\t/**\n\t * Renders the task label and status content.\n\t *\n\t * This includes dynamically rendering the heading element (h2, h3, or h4) based on the `headingLevel` prop,\n\t * as well as the badge indicating the task status.\n\t */\n\tprivate renderTaskContent() {\n\t\tconst headingProps: any = {\n\t\t\tid: `task-label--${this.taskId}`,\n\t\t\tclass: this.getClass(),\n\t\t};\n\n\t\treturn (\n\t\t\t<div class=\"ontario-task__content\">\n\t\t\t\t<div class=\"ontario-task__text\">\n\t\t\t\t\t{h(this.headingLevel, headingProps, this.label)}\n\t\t\t\t\t{this.renderHintText()}\n\t\t\t\t</div>\n\t\t\t\t{this.taskStatusState && (\n\t\t\t\t\t<ontario-badge\n\t\t\t\t\t\tclass=\"ontario-task__badge\"\n\t\t\t\t\t\trole=\"status\"\n\t\t\t\t\t\taria-label={`${\n\t\t\t\t\t\t\ttranslations.taskStatus.taskStatus[validateLanguage(this.language)]\n\t\t\t\t\t\t} ${this.getTranslatedTaskStatus()} (${this.taskStatusState})`}\n\t\t\t\t\t\tcolour={this.getBadgeColour()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getTranslatedTaskStatus()}\n\t\t\t\t\t</ontario-badge>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\t/**\n\t * After the component loads, retrieve the hint text ID (if available) from the hintText component,\n\t * and set it for the `aria-describedby` attribute.\n\t */\n\tasync componentDidLoad() {\n\t\tif (this.hintTextRef) {\n\t\t\tlet hintTextId = this.hintTextRef.elementId;\n\n\t\t\tif (!hintTextId) {\n\t\t\t\thintTextId = `hint-text--${this.taskId}`;\n\t\t\t\tthis.hintTextRef.elementId = hintTextId;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Lifecycle method: before the component loads, parse the hint text and\n\t * validate language and task status and heading level.\n\t */\n\tasync componentWillLoad() {\n\t\tthis.parseHintText();\n\t\tthis.language = validateLanguage(this.language);\n\t\tthis.validateHeadingLevel(this.headingLevel);\n\n\t\t// Ensure the taskStatus is set initially based on the prop\n\t\tthis.validateTaskStatus(this.taskStatus);\n\t}\n\n\trender() {\n\t\tconst isLinkActive = this.link && !this.deactivateLink;\n\t\tconst taskStatusClass = `ontario-task-status--${this.taskStatusState.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}`;\n\t\tconst describedBy = this.internalHintText ? `hint-text--${this.taskId}` : undefined;\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={`ontario-task ${taskStatusClass}`}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={`task-label--${this.taskId}`}\n\t\t\t\tdata-task-status={this.taskStatusState}\n\t\t\t\taria-describedby={describedBy}\n\t\t\t>\n\t\t\t\t{isLinkActive ? (\n\t\t\t\t\t<a href={this.link} class=\"ontario-task__link\" aria-label={this.label}>\n\t\t\t\t\t\t{this.renderTaskContent()}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<div>{this.renderTaskContent()}</div>\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from '../dist/types/components';
|
|
2
|
+
|
|
3
|
+
interface OntarioTextarea extends Components.OntarioTextarea, HTMLElement {}
|
|
4
|
+
export const OntarioTextarea: {
|
|
5
|
+
prototype: OntarioTextarea;
|
|
6
|
+
new (): OntarioTextarea;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|