genesys-spark-components 3.28.0 → 3.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/cjs/genesys-webcomponents.cjs.js +1 -1
- package/dist/cjs/gux-accordion-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-accordion.cjs.entry.js +1 -1
- package/dist/cjs/gux-action-button-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-action-button.cjs.entry.js +1 -1
- package/dist/cjs/gux-action-list-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-action-toast.cjs.entry.js +1 -1
- package/dist/cjs/gux-advanced-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/gux-announce-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-badge-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-blank-state-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/gux-button-multi-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
- package/dist/cjs/gux-button-slot-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-button.cjs.entry.js +1 -1
- package/dist/cjs/gux-calendar.cjs.entry.js +1 -1
- package/dist/cjs/gux-card-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-chart-column-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-chart-donut-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-chart-line-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-chart-pie-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-chart-scatter-plot-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-command-palette-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-content-search.cjs.entry.js +1 -1
- package/dist/cjs/gux-copy-to-clipboard-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-date-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-date-time-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-datepicker.cjs.entry.js +69 -57
- package/dist/cjs/gux-disclosure-button.cjs.entry.js +1 -1
- package/dist/cjs/gux-dismiss-button.cjs.entry.js +1 -1
- package/dist/cjs/gux-dropdown-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-dropdown-multi-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-dropdown_3.cjs.entry.js +1 -1
- package/dist/cjs/gux-error-message-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-flyout-menu-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-color.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-number.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-radio.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-range.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-search.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-select.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-text-like.cjs.entry.js +1 -1
- package/dist/cjs/gux-form-field-textarea.cjs.entry.js +1 -1
- package/dist/cjs/gux-icon.cjs.entry.js +1 -1
- package/dist/cjs/gux-list-item-legacy_2.cjs.entry.js +1 -1
- package/dist/cjs/gux-list.cjs.entry.js +8 -51
- package/dist/cjs/gux-list.service-59f2b3e7.js +51 -0
- package/dist/cjs/gux-listbox-multi.cjs.entry.js +1 -1
- package/dist/cjs/gux-loading-message-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-modal.cjs.entry.js +1 -1
- package/dist/cjs/gux-month-calendar.cjs.entry.js +137 -0
- package/dist/cjs/gux-month-list_2.cjs.entry.js +89 -0
- package/dist/cjs/gux-month-picker-beta.cjs.entry.js +222 -0
- package/dist/cjs/gux-notification-toast.cjs.entry.js +1 -1
- package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
- package/dist/cjs/gux-pagination-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
- package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
- package/dist/cjs/gux-panel-frame-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
- package/dist/cjs/gux-popover.cjs.entry.js +1 -1
- package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
- package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
- package/dist/cjs/gux-rating.cjs.entry.js +1 -1
- package/dist/cjs/gux-side-panel-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-simple-toast.cjs.entry.js +1 -1
- package/dist/cjs/gux-skip-navigation-list-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-sort-control.cjs.entry.js +1 -1
- package/dist/cjs/gux-switch.cjs.entry.js +1 -1
- package/dist/cjs/gux-table-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
- package/dist/cjs/gux-tabs-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
- package/dist/cjs/gux-tag-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
- package/dist/cjs/gux-text-label-legacy.cjs.entry.js +1 -1
- package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-time-picker-beta.cjs.entry.js +1 -1
- package/dist/cjs/gux-toggle.cjs.entry.js +1 -1
- package/dist/cjs/gux-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/gux-visualization-beta.cjs.entry.js +1 -1
- package/dist/cjs/index-262c2e3a.js +16 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{usage-tracking-8a0a56ad.js → usage-tracking-a1b34de9.js} +1 -1
- package/dist/cjs/year-month-values-080373aa.js +24 -0
- package/dist/collection/collection-manifest.json +4 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-calendar/gux-month-calendar.css +78 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-calendar/gux-month-calendar.js +237 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-calendar/gux-month-list/gux-month-list-item/gux-month-list-item.css +52 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-calendar/gux-month-list/gux-month-list-item/gux-month-list-item.js +110 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-calendar/gux-month-list/gux-month-list.css +8 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-calendar/gux-month-list/gux-month-list.js +80 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-picker.css +58 -0
- package/dist/collection/components/beta/gux-month-picker/gux-month-picker.js +313 -0
- package/dist/collection/components/stable/gux-datepicker/gux-datepicker.css +5 -0
- package/dist/collection/components/stable/gux-datepicker/gux-datepicker.js +70 -76
- package/dist/collection/components/stable/gux-list/gux-list.js +6 -5
- package/dist/collection/components/stable/gux-list/gux-list.service.js +19 -20
- package/dist/collection/utils/date/year-month-values.js +13 -0
- package/dist/collection/utils/dom/after-render.js +3 -0
- package/dist/deploy-info.json +3 -3
- package/dist/esm/genesys-webcomponents.js +1 -1
- package/dist/esm/gux-accordion-legacy.entry.js +1 -1
- package/dist/esm/gux-accordion.entry.js +1 -1
- package/dist/esm/gux-action-button-legacy.entry.js +1 -1
- package/dist/esm/gux-action-button.entry.js +1 -1
- package/dist/esm/gux-action-list-legacy.entry.js +1 -1
- package/dist/esm/gux-action-toast.entry.js +1 -1
- package/dist/esm/gux-advanced-dropdown.entry.js +1 -1
- package/dist/esm/gux-announce-beta.entry.js +1 -1
- package/dist/esm/gux-badge-beta.entry.js +1 -1
- package/dist/esm/gux-blank-state-beta.entry.js +1 -1
- package/dist/esm/gux-breadcrumbs.entry.js +1 -1
- package/dist/esm/gux-button-multi-legacy.entry.js +1 -1
- package/dist/esm/gux-button-multi.entry.js +1 -1
- package/dist/esm/gux-button-slot-beta.entry.js +1 -1
- package/dist/esm/gux-button.entry.js +1 -1
- package/dist/esm/gux-calendar.entry.js +1 -1
- package/dist/esm/gux-card-beta.entry.js +1 -1
- package/dist/esm/gux-chart-column-beta.entry.js +1 -1
- package/dist/esm/gux-chart-donut-beta.entry.js +1 -1
- package/dist/esm/gux-chart-line-beta.entry.js +1 -1
- package/dist/esm/gux-chart-pie-beta.entry.js +1 -1
- package/dist/esm/gux-chart-scatter-plot-beta.entry.js +1 -1
- package/dist/esm/gux-command-palette-legacy.entry.js +1 -1
- package/dist/esm/gux-content-search.entry.js +1 -1
- package/dist/esm/gux-copy-to-clipboard-beta.entry.js +1 -1
- package/dist/esm/gux-date-beta.entry.js +1 -1
- package/dist/esm/gux-date-time-beta.entry.js +1 -1
- package/dist/esm/gux-datepicker.entry.js +69 -57
- package/dist/esm/gux-disclosure-button.entry.js +1 -1
- package/dist/esm/gux-dismiss-button.entry.js +1 -1
- package/dist/esm/gux-dropdown-legacy.entry.js +1 -1
- package/dist/esm/gux-dropdown-multi-beta.entry.js +1 -1
- package/dist/esm/gux-dropdown_3.entry.js +1 -1
- package/dist/esm/gux-error-message-beta.entry.js +1 -1
- package/dist/esm/gux-flyout-menu-beta.entry.js +1 -1
- package/dist/esm/gux-form-field-checkbox.entry.js +1 -1
- package/dist/esm/gux-form-field-color.entry.js +1 -1
- package/dist/esm/gux-form-field-dropdown.entry.js +1 -1
- package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
- package/dist/esm/gux-form-field-legacy.entry.js +1 -1
- package/dist/esm/gux-form-field-number.entry.js +1 -1
- package/dist/esm/gux-form-field-radio.entry.js +1 -1
- package/dist/esm/gux-form-field-range.entry.js +1 -1
- package/dist/esm/gux-form-field-search.entry.js +1 -1
- package/dist/esm/gux-form-field-select.entry.js +1 -1
- package/dist/esm/gux-form-field-text-like.entry.js +1 -1
- package/dist/esm/gux-form-field-textarea.entry.js +1 -1
- package/dist/esm/gux-icon.entry.js +1 -1
- package/dist/esm/gux-list-item-legacy_2.entry.js +1 -1
- package/dist/esm/gux-list.entry.js +8 -51
- package/dist/esm/gux-list.service-66b8540f.js +45 -0
- package/dist/esm/gux-listbox-multi.entry.js +1 -1
- package/dist/esm/gux-loading-message-beta.entry.js +1 -1
- package/dist/esm/gux-modal.entry.js +1 -1
- package/dist/esm/gux-month-calendar.entry.js +133 -0
- package/dist/esm/gux-month-list_2.entry.js +84 -0
- package/dist/esm/gux-month-picker-beta.entry.js +218 -0
- package/dist/esm/gux-notification-toast.entry.js +1 -1
- package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
- package/dist/esm/gux-pagination-beta.entry.js +1 -1
- package/dist/esm/gux-pagination-cursor.entry.js +1 -1
- package/dist/esm/gux-pagination.entry.js +1 -1
- package/dist/esm/gux-panel-frame-legacy.entry.js +1 -1
- package/dist/esm/gux-popover-list.entry.js +1 -1
- package/dist/esm/gux-popover.entry.js +1 -1
- package/dist/esm/gux-radial-loading.entry.js +1 -1
- package/dist/esm/gux-radial-progress.entry.js +1 -1
- package/dist/esm/gux-rating.entry.js +1 -1
- package/dist/esm/gux-side-panel-legacy.entry.js +1 -1
- package/dist/esm/gux-simple-toast.entry.js +1 -1
- package/dist/esm/gux-skip-navigation-list-beta.entry.js +1 -1
- package/dist/esm/gux-sort-control.entry.js +1 -1
- package/dist/esm/gux-switch.entry.js +1 -1
- package/dist/esm/gux-table-beta.entry.js +1 -1
- package/dist/esm/gux-tabs-advanced.entry.js +1 -1
- package/dist/esm/gux-tabs-legacy.entry.js +1 -1
- package/dist/esm/gux-tabs.entry.js +1 -1
- package/dist/esm/gux-tag-beta.entry.js +1 -1
- package/dist/esm/gux-text-highlight.entry.js +1 -1
- package/dist/esm/gux-text-label-legacy.entry.js +1 -1
- package/dist/esm/gux-time-beta.entry.js +1 -1
- package/dist/esm/gux-time-picker-beta.entry.js +1 -1
- package/dist/esm/gux-toggle.entry.js +1 -1
- package/dist/esm/gux-tooltip.entry.js +1 -1
- package/dist/esm/gux-visualization-beta.entry.js +1 -1
- package/dist/esm/index-74e605ae.js +16 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{usage-tracking-3d95bf43.js → usage-tracking-3a58b2cb.js} +1 -1
- package/dist/esm/year-month-values-8f78277c.js +19 -0
- package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ar.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.cs.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.da.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.de.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.en.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.es-es.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.es.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fi.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fr-ca.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fr.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.he.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.it.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ja.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ko.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.nl.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.no.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pl.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pt-br.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pt-pt.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ru.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.sv.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.th.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.tr.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.zh-cn.json +1 -1
- package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.zh-tw.json +1 -1
- package/dist/genesys-webcomponents/{p-c2f5b66a.entry.js → p-0309337a.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-822f8307.entry.js → p-05d8867d.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-0e0fa72e.entry.js → p-097ebac8.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-34781a4f.entry.js → p-0ac85f85.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-8f9f2533.entry.js → p-0f3b197c.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-6c1bcb81.entry.js → p-1193eea0.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-0ff9b746.entry.js → p-14252d82.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-810975bf.entry.js → p-147f5ce5.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-837ea1c7.entry.js → p-155a7a20.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-62bcdee5.entry.js → p-1665f72d.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-1046fc7a.entry.js → p-1717f300.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-d2146baf.entry.js → p-186ab617.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-a058d86c.entry.js → p-1bab4f2d.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-07ce561d.entry.js → p-22c9f5fc.entry.js} +1 -1
- package/dist/genesys-webcomponents/p-25ea189a.entry.js +1 -0
- package/dist/genesys-webcomponents/{p-1ab4904a.entry.js → p-26fd3d6f.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-3bc907d4.entry.js → p-3110951a.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-d2a740bf.entry.js → p-321ef965.entry.js} +1 -1
- package/dist/genesys-webcomponents/p-3834e291.js +1 -0
- package/dist/genesys-webcomponents/{p-18ef9c4e.entry.js → p-41627e97.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-8fdf5e4f.entry.js → p-43d4998c.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-8da6820a.entry.js → p-45b2e9ab.entry.js} +1 -1
- package/dist/genesys-webcomponents/p-48ba3e1f.entry.js +1 -0
- package/dist/genesys-webcomponents/{p-a8fe0379.entry.js → p-4a276707.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-60e959f5.entry.js → p-4aed9d1d.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-bc20e015.entry.js → p-4d0dfe2f.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-993b8f68.entry.js → p-4d0fab65.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-74e58da4.entry.js → p-4f514bc3.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-cb525f80.entry.js → p-50c1f2be.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-10b92544.entry.js → p-52c0ef2c.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-b94f03eb.entry.js → p-5563cdd3.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-3990f966.entry.js → p-5669156b.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-9466559c.entry.js → p-598a1c4b.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-076be569.entry.js → p-5aab9b69.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-2e7e448e.entry.js → p-5bd6e8e7.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-15351905.entry.js → p-6029a142.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-d7a43fbb.entry.js → p-669a61ca.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-70e587ff.entry.js → p-6bf45984.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-3d0d3a6e.entry.js → p-6e435cd2.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-56a38cf7.entry.js → p-6f42eb51.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-604af472.entry.js → p-6f4bd858.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-7c1c3ea0.entry.js → p-714f65a0.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-f94f4dd9.entry.js → p-71ea36d7.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-522c74ec.entry.js → p-74ee2e23.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-ce593131.entry.js → p-76ea901a.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-1ba094ac.entry.js → p-7789513a.entry.js} +1 -1
- package/dist/genesys-webcomponents/p-79a47484.entry.js +1 -0
- package/dist/genesys-webcomponents/{p-ca461392.entry.js → p-7effb09b.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-ebff89b2.entry.js → p-8009fdc9.entry.js} +1 -1
- package/dist/genesys-webcomponents/p-813cb992.entry.js +1 -0
- package/dist/genesys-webcomponents/{p-f8c4e528.entry.js → p-83cc0e17.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-e48d3310.entry.js → p-8b1a96cc.entry.js} +1 -1
- package/dist/genesys-webcomponents/p-8d32b63a.entry.js +1 -0
- package/dist/genesys-webcomponents/{p-49c15d86.entry.js → p-8da54237.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-2d26c660.entry.js → p-8e106004.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-2117da6e.js → p-967a5d2e.js} +1 -1
- package/dist/genesys-webcomponents/{p-2eec7bb3.entry.js → p-99898e32.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-86613e69.entry.js → p-9b2607c2.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-d85e0ef6.entry.js → p-a6466fec.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-f338c957.entry.js → p-b0b469b7.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-bc813cdd.entry.js → p-b1a0e8f9.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-a6b2b359.entry.js → p-b3fc31d2.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-b08472d5.entry.js → p-b5ff9be4.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-30a2191b.entry.js → p-b6db9f14.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-a512fad8.entry.js → p-b72ece98.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-6b418d99.entry.js → p-bd5c79d9.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-80b9fb4f.entry.js → p-c136bc23.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-7e018abd.entry.js → p-c5ab5608.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-ec64efaf.entry.js → p-cb53f5b2.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-81e83db1.entry.js → p-cbad82d5.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-fe117b7f.entry.js → p-ccb85246.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-db4ad4a2.entry.js → p-cfc03ea4.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-5d8f6b2d.entry.js → p-d0d09c10.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-bc6633ac.entry.js → p-d695f246.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-5154e024.entry.js → p-de6ad54f.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-64788936.entry.js → p-df4c45b5.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-3d517313.entry.js → p-e6eba280.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-ed9247cf.entry.js → p-e84f7077.entry.js} +1 -1
- package/dist/genesys-webcomponents/p-ea91ae27.js +1 -0
- package/dist/genesys-webcomponents/{p-797be44d.entry.js → p-eab68d2f.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-3da8813c.entry.js → p-eb9310a8.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-8facd0ec.entry.js → p-ee80c3b5.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-31540340.entry.js → p-f0b4112d.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-5c64137d.entry.js → p-f4450927.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-97afe8f5.entry.js → p-f858d163.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-24b58841.entry.js → p-fb9ae052.entry.js} +1 -1
- package/dist/genesys-webcomponents/{p-b5876605.entry.js → p-ffe85168.entry.js} +1 -1
- package/dist/stencil-wrapper.js +1 -1
- package/dist/types/components/beta/gux-month-picker/gux-month-calendar/gux-month-calendar.d.ts +45 -0
- package/dist/types/components/beta/gux-month-picker/gux-month-calendar/gux-month-list/gux-month-list-item/gux-month-list-item.d.ts +12 -0
- package/dist/types/components/beta/gux-month-picker/gux-month-calendar/gux-month-list/gux-month-list.d.ts +8 -0
- package/dist/types/components/beta/gux-month-picker/gux-month-picker.d.ts +49 -0
- package/dist/types/components/stable/gux-datepicker/gux-datepicker.d.ts +19 -9
- package/dist/types/components/stable/gux-list/gux-list.service.d.ts +5 -4
- package/dist/types/components.d.ts +116 -2
- package/dist/types/utils/date/year-month-values.d.ts +8 -0
- package/dist/types/utils/dom/after-render.d.ts +1 -0
- package/package.json +1 -1
- package/dist/genesys-webcomponents/p-559635b7.entry.js +0 -1
- package/dist/genesys-webcomponents/p-99374ffa.entry.js +0 -1
package/dist/collection/components/beta/gux-month-picker/gux-month-calendar/gux-month-calendar.js
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { Component, Element, h, Prop, State, Method, Watch } from '@stencil/core';
|
|
2
|
+
import { buildI18nForComponent, getDesiredLocale } from '../../../../i18n';
|
|
3
|
+
import simulateNativeEvent from '../../../../utils/dom/simulate-native-event';
|
|
4
|
+
import { afterRender } from '../../../../utils/dom/after-render';
|
|
5
|
+
import { getISOYearMonth, getCurrentISOYearMonth, getYearMonthObject } from '../../../../utils/date/year-month-values';
|
|
6
|
+
import translationResources from './i18n/en.json';
|
|
7
|
+
export class GuxMonthCalendar {
|
|
8
|
+
onValueUpdate(newValue) {
|
|
9
|
+
const { year } = getYearMonthObject(newValue);
|
|
10
|
+
this.year = year;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Focus a month
|
|
14
|
+
*/
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
16
|
+
async guxFocus(iSOYearMonth) {
|
|
17
|
+
iSOYearMonth = iSOYearMonth || getCurrentISOYearMonth();
|
|
18
|
+
const { year } = getYearMonthObject(iSOYearMonth);
|
|
19
|
+
this.year = year;
|
|
20
|
+
afterRender(() => {
|
|
21
|
+
const target = this.root.shadowRoot.querySelector(`gux-month-list-item[value="${iSOYearMonth}"]`);
|
|
22
|
+
console.log({ target });
|
|
23
|
+
if (target) {
|
|
24
|
+
target.focus();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async componentWillLoad() {
|
|
29
|
+
this.i18n = await buildI18nForComponent(this.root, translationResources);
|
|
30
|
+
this.locale = getDesiredLocale(this.root);
|
|
31
|
+
if (this.value) {
|
|
32
|
+
this.year = getYearMonthObject(this.value).year;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.year = getYearMonthObject(getCurrentISOYearMonth()).year;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
updateValue(value) {
|
|
39
|
+
this.value = value;
|
|
40
|
+
simulateNativeEvent(this.root, 'input');
|
|
41
|
+
simulateNativeEvent(this.root, 'change');
|
|
42
|
+
}
|
|
43
|
+
isOutOfBounds(value) {
|
|
44
|
+
return (this.max && this.max < value) || (this.min && this.min > value);
|
|
45
|
+
}
|
|
46
|
+
onMonthClick(value) {
|
|
47
|
+
if (this.isOutOfBounds(value)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this.updateValue(value);
|
|
51
|
+
}
|
|
52
|
+
getMonthAriaLabel(value) {
|
|
53
|
+
const { year, month } = getYearMonthObject(value);
|
|
54
|
+
return new Date(Number(year), Number(month) - 1).toLocaleDateString(this.locale, { year: 'numeric', month: 'long' });
|
|
55
|
+
}
|
|
56
|
+
getYearLabel(year) {
|
|
57
|
+
return new Date(Number(year), 5).toLocaleDateString(this.locale, {
|
|
58
|
+
year: 'numeric'
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
isSelectedMonth(value) {
|
|
62
|
+
return value === this.value;
|
|
63
|
+
}
|
|
64
|
+
isAriaSelectedMonth(value) {
|
|
65
|
+
if (this.isSelectedMonth(value)) {
|
|
66
|
+
return 'true';
|
|
67
|
+
}
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
changeYear(increment) {
|
|
71
|
+
this.year = (parseInt(this.year) + increment).toString();
|
|
72
|
+
}
|
|
73
|
+
isPreviousYearLessThanMinYear(year, minISOYearMonth) {
|
|
74
|
+
return ((parseInt(year) - 1).toString() <
|
|
75
|
+
(minISOYearMonth && getYearMonthObject(minISOYearMonth).year));
|
|
76
|
+
}
|
|
77
|
+
isNextYearGreaterThanMaxYear(year, maxISOYearMonth) {
|
|
78
|
+
return ((parseInt(year) + 1).toString() >
|
|
79
|
+
(maxISOYearMonth && getYearMonthObject(maxISOYearMonth).year));
|
|
80
|
+
}
|
|
81
|
+
getMonthShortName(year, month) {
|
|
82
|
+
return new Date(Number(year), Number(month) - 1).toLocaleDateString(this.locale, { month: 'short' });
|
|
83
|
+
}
|
|
84
|
+
doFocusTrap() {
|
|
85
|
+
if (!this.previousYearElement.disabled) {
|
|
86
|
+
this.previousYearElement.focus();
|
|
87
|
+
}
|
|
88
|
+
if (!this.nextYearElement.disabled) {
|
|
89
|
+
this.nextYearElement.focus();
|
|
90
|
+
}
|
|
91
|
+
this.monthListElement.focus();
|
|
92
|
+
}
|
|
93
|
+
renderHeader() {
|
|
94
|
+
return (h("div", { class: "gux-year-header" },
|
|
95
|
+
h("button", { type: "button", class: "gux-year-change", onClick: () => this.changeYear(-1), disabled: this.isPreviousYearLessThanMinYear(this.year, this.min), ref: (el) => (this.previousYearElement = el) },
|
|
96
|
+
h("gux-icon", { "icon-name": "chevron-small-left", "screenreader-text": this.i18n('changeYear', {
|
|
97
|
+
currentYear: parseInt(this.year),
|
|
98
|
+
changeYear: parseInt(this.year) - 1
|
|
99
|
+
}) })),
|
|
100
|
+
h("div", { class: "gux-year" }, this.getYearLabel(this.year)),
|
|
101
|
+
h("button", { type: "button", class: "gux-year-change", onClick: () => this.changeYear(1), disabled: this.isNextYearGreaterThanMaxYear(this.year, this.max), ref: (el) => (this.nextYearElement = el) },
|
|
102
|
+
h("gux-icon", { "icon-name": "chevron-small-right", "screenreader-text": this.i18n('changeYear', {
|
|
103
|
+
currentYear: parseInt(this.year),
|
|
104
|
+
changeYear: parseInt(this.year) + 1
|
|
105
|
+
}) }))));
|
|
106
|
+
}
|
|
107
|
+
renderMonths() {
|
|
108
|
+
const monthButtons = Array.from(new Array(12), (_, i) => String(i + 1).padStart(2, '0')).map(month => {
|
|
109
|
+
const value = getISOYearMonth(this.year, month);
|
|
110
|
+
return (h("gux-month-list-item", { value: value, selected: this.isSelectedMonth(value), "aria-selected": this.isAriaSelectedMonth(value), "aria-label": this.getMonthAriaLabel(value), onClick: () => this.onMonthClick(value), disabled: this.isOutOfBounds(value) }, this.getMonthShortName(this.year, month)));
|
|
111
|
+
});
|
|
112
|
+
return (h("gux-month-list", { tabIndex: 1, ref: (el) => (this.monthListElement = el) }, monthButtons));
|
|
113
|
+
}
|
|
114
|
+
renderTrapFocusEl() {
|
|
115
|
+
return (h("span", { onFocus: () => this.doFocusTrap(), tabindex: "0" }));
|
|
116
|
+
}
|
|
117
|
+
render() {
|
|
118
|
+
return (h("div", { class: "gux-month-calendar" },
|
|
119
|
+
this.renderHeader(),
|
|
120
|
+
this.renderMonths(),
|
|
121
|
+
this.renderTrapFocusEl()));
|
|
122
|
+
}
|
|
123
|
+
static get is() { return "gux-month-calendar"; }
|
|
124
|
+
static get encapsulation() { return "shadow"; }
|
|
125
|
+
static get delegatesFocus() { return true; }
|
|
126
|
+
static get originalStyleUrls() { return {
|
|
127
|
+
"$": ["gux-month-calendar.less"]
|
|
128
|
+
}; }
|
|
129
|
+
static get styleUrls() { return {
|
|
130
|
+
"$": ["gux-month-calendar.css"]
|
|
131
|
+
}; }
|
|
132
|
+
static get properties() { return {
|
|
133
|
+
"value": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"mutable": true,
|
|
136
|
+
"complexType": {
|
|
137
|
+
"original": "GuxISOYearMonth",
|
|
138
|
+
"resolved": "`${string}-${string}`",
|
|
139
|
+
"references": {
|
|
140
|
+
"GuxISOYearMonth": {
|
|
141
|
+
"location": "import",
|
|
142
|
+
"path": "../../../../utils/date/year-month-values"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"required": false,
|
|
147
|
+
"optional": false,
|
|
148
|
+
"docs": {
|
|
149
|
+
"tags": [],
|
|
150
|
+
"text": "The current selected year and month in ISO8601 format (yyyy-mm)"
|
|
151
|
+
},
|
|
152
|
+
"attribute": "value",
|
|
153
|
+
"reflect": false
|
|
154
|
+
},
|
|
155
|
+
"min": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"mutable": false,
|
|
158
|
+
"complexType": {
|
|
159
|
+
"original": "GuxISOYearMonth",
|
|
160
|
+
"resolved": "`${string}-${string}`",
|
|
161
|
+
"references": {
|
|
162
|
+
"GuxISOYearMonth": {
|
|
163
|
+
"location": "import",
|
|
164
|
+
"path": "../../../../utils/date/year-month-values"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"required": false,
|
|
169
|
+
"optional": false,
|
|
170
|
+
"docs": {
|
|
171
|
+
"tags": [],
|
|
172
|
+
"text": "The min year and month selectable in ISO8601 format (yyyy-mm)"
|
|
173
|
+
},
|
|
174
|
+
"attribute": "min",
|
|
175
|
+
"reflect": false
|
|
176
|
+
},
|
|
177
|
+
"max": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"mutable": false,
|
|
180
|
+
"complexType": {
|
|
181
|
+
"original": "GuxISOYearMonth",
|
|
182
|
+
"resolved": "`${string}-${string}`",
|
|
183
|
+
"references": {
|
|
184
|
+
"GuxISOYearMonth": {
|
|
185
|
+
"location": "import",
|
|
186
|
+
"path": "../../../../utils/date/year-month-values"
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
"required": false,
|
|
191
|
+
"optional": false,
|
|
192
|
+
"docs": {
|
|
193
|
+
"tags": [],
|
|
194
|
+
"text": "The max year and month selectable in ISO8601 format (yyyy-mm)"
|
|
195
|
+
},
|
|
196
|
+
"attribute": "max",
|
|
197
|
+
"reflect": false
|
|
198
|
+
}
|
|
199
|
+
}; }
|
|
200
|
+
static get states() { return {
|
|
201
|
+
"year": {},
|
|
202
|
+
"locale": {}
|
|
203
|
+
}; }
|
|
204
|
+
static get methods() { return {
|
|
205
|
+
"guxFocus": {
|
|
206
|
+
"complexType": {
|
|
207
|
+
"signature": "(iSOYearMonth: GuxISOYearMonth) => Promise<void>",
|
|
208
|
+
"parameters": [{
|
|
209
|
+
"tags": [],
|
|
210
|
+
"text": ""
|
|
211
|
+
}],
|
|
212
|
+
"references": {
|
|
213
|
+
"Promise": {
|
|
214
|
+
"location": "global"
|
|
215
|
+
},
|
|
216
|
+
"GuxISOYearMonth": {
|
|
217
|
+
"location": "import",
|
|
218
|
+
"path": "../../../../utils/date/year-month-values"
|
|
219
|
+
},
|
|
220
|
+
"HTMLButtonElement": {
|
|
221
|
+
"location": "global"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"return": "Promise<void>"
|
|
225
|
+
},
|
|
226
|
+
"docs": {
|
|
227
|
+
"text": "Focus a month",
|
|
228
|
+
"tags": []
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}; }
|
|
232
|
+
static get elementRef() { return "root"; }
|
|
233
|
+
static get watchers() { return [{
|
|
234
|
+
"propName": "value",
|
|
235
|
+
"methodName": "onValueUpdate"
|
|
236
|
+
}]; }
|
|
237
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
flex: 0 0 33.3%;
|
|
3
|
+
}
|
|
4
|
+
:host([disabled]) {
|
|
5
|
+
pointer-events: none;
|
|
6
|
+
}
|
|
7
|
+
:host([disabled='false']) {
|
|
8
|
+
pointer-events: auto;
|
|
9
|
+
}
|
|
10
|
+
::slotted(gux-icon) {
|
|
11
|
+
width: 16px;
|
|
12
|
+
height: 16px;
|
|
13
|
+
margin-right: 8px;
|
|
14
|
+
vertical-align: middle;
|
|
15
|
+
}
|
|
16
|
+
.gux-container {
|
|
17
|
+
padding: 4px;
|
|
18
|
+
}
|
|
19
|
+
.gux-container button {
|
|
20
|
+
all: unset;
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
width: 100%;
|
|
23
|
+
height: 49px;
|
|
24
|
+
padding: 8px 0;
|
|
25
|
+
color: #2e394c;
|
|
26
|
+
text-align: center;
|
|
27
|
+
word-wrap: break-word;
|
|
28
|
+
cursor: pointer;
|
|
29
|
+
border: none;
|
|
30
|
+
border-radius: 4px;
|
|
31
|
+
outline: none;
|
|
32
|
+
}
|
|
33
|
+
.gux-container button.gux-selected {
|
|
34
|
+
color: #fdfdfd;
|
|
35
|
+
background: #2a60c8;
|
|
36
|
+
}
|
|
37
|
+
.gux-container button:focus:not(:disabled) {
|
|
38
|
+
outline: none;
|
|
39
|
+
box-shadow: 0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff;
|
|
40
|
+
}
|
|
41
|
+
.gux-container button:hover:not(:disabled) {
|
|
42
|
+
color: #fdfdfd;
|
|
43
|
+
background: #2a60c8;
|
|
44
|
+
}
|
|
45
|
+
.gux-container button:active:not(:disabled) {
|
|
46
|
+
color: #fdfdfd;
|
|
47
|
+
background: #2a60c8;
|
|
48
|
+
}
|
|
49
|
+
.gux-container button:disabled {
|
|
50
|
+
color: rgba(46, 57, 76, 0.5);
|
|
51
|
+
cursor: default;
|
|
52
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Component, Element, h, Host, Listen, Prop } from '@stencil/core';
|
|
2
|
+
import { getClosestElement } from '../../../../../../utils/dom/get-closest-element';
|
|
3
|
+
export class GuxMonthListItem {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.disabled = false;
|
|
6
|
+
this.selected = false;
|
|
7
|
+
}
|
|
8
|
+
onMouseup() {
|
|
9
|
+
this.focusParentList();
|
|
10
|
+
}
|
|
11
|
+
onMouseover() {
|
|
12
|
+
this.focusParentList();
|
|
13
|
+
}
|
|
14
|
+
focusParentList() {
|
|
15
|
+
const parentList = getClosestElement('gux-month-list', this.root);
|
|
16
|
+
if (parentList && parentList.shadowRoot.activeElement === null) {
|
|
17
|
+
this.root.blur();
|
|
18
|
+
parentList.focus();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return (h(Host, { role: "listitem", value: this.value },
|
|
23
|
+
h("div", { class: "gux-container" },
|
|
24
|
+
h("button", { class: { 'gux-selected': this.selected }, type: "button", tabIndex: -1, disabled: this.disabled },
|
|
25
|
+
h("slot", null)))));
|
|
26
|
+
}
|
|
27
|
+
static get is() { return "gux-month-list-item"; }
|
|
28
|
+
static get encapsulation() { return "shadow"; }
|
|
29
|
+
static get delegatesFocus() { return true; }
|
|
30
|
+
static get originalStyleUrls() { return {
|
|
31
|
+
"$": ["gux-month-list-item.less"]
|
|
32
|
+
}; }
|
|
33
|
+
static get styleUrls() { return {
|
|
34
|
+
"$": ["gux-month-list-item.css"]
|
|
35
|
+
}; }
|
|
36
|
+
static get properties() { return {
|
|
37
|
+
"value": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"mutable": false,
|
|
40
|
+
"complexType": {
|
|
41
|
+
"original": "GuxISOYearMonth",
|
|
42
|
+
"resolved": "`${string}-${string}`",
|
|
43
|
+
"references": {
|
|
44
|
+
"GuxISOYearMonth": {
|
|
45
|
+
"location": "import",
|
|
46
|
+
"path": "../../../../../../utils/date/year-month-values"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"required": false,
|
|
51
|
+
"optional": false,
|
|
52
|
+
"docs": {
|
|
53
|
+
"tags": [],
|
|
54
|
+
"text": ""
|
|
55
|
+
},
|
|
56
|
+
"attribute": "value",
|
|
57
|
+
"reflect": false
|
|
58
|
+
},
|
|
59
|
+
"disabled": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"mutable": false,
|
|
62
|
+
"complexType": {
|
|
63
|
+
"original": "boolean",
|
|
64
|
+
"resolved": "boolean",
|
|
65
|
+
"references": {}
|
|
66
|
+
},
|
|
67
|
+
"required": false,
|
|
68
|
+
"optional": false,
|
|
69
|
+
"docs": {
|
|
70
|
+
"tags": [],
|
|
71
|
+
"text": ""
|
|
72
|
+
},
|
|
73
|
+
"attribute": "disabled",
|
|
74
|
+
"reflect": false,
|
|
75
|
+
"defaultValue": "false"
|
|
76
|
+
},
|
|
77
|
+
"selected": {
|
|
78
|
+
"type": "boolean",
|
|
79
|
+
"mutable": false,
|
|
80
|
+
"complexType": {
|
|
81
|
+
"original": "boolean",
|
|
82
|
+
"resolved": "boolean",
|
|
83
|
+
"references": {}
|
|
84
|
+
},
|
|
85
|
+
"required": false,
|
|
86
|
+
"optional": false,
|
|
87
|
+
"docs": {
|
|
88
|
+
"tags": [],
|
|
89
|
+
"text": ""
|
|
90
|
+
},
|
|
91
|
+
"attribute": "selected",
|
|
92
|
+
"reflect": false,
|
|
93
|
+
"defaultValue": "false"
|
|
94
|
+
}
|
|
95
|
+
}; }
|
|
96
|
+
static get elementRef() { return "root"; }
|
|
97
|
+
static get listeners() { return [{
|
|
98
|
+
"name": "mouseup",
|
|
99
|
+
"method": "onMouseup",
|
|
100
|
+
"target": undefined,
|
|
101
|
+
"capture": false,
|
|
102
|
+
"passive": true
|
|
103
|
+
}, {
|
|
104
|
+
"name": "mouseover",
|
|
105
|
+
"method": "onMouseover",
|
|
106
|
+
"target": undefined,
|
|
107
|
+
"capture": false,
|
|
108
|
+
"passive": true
|
|
109
|
+
}]; }
|
|
110
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Component, Element, h, Host, Listen, Method } from '@stencil/core';
|
|
2
|
+
import { first, focusMove, last, next, previous } from '../../../../stable/gux-list/gux-list.service';
|
|
3
|
+
const validFocusableItems = ['gux-month-list-item'];
|
|
4
|
+
export class GuxMonthList {
|
|
5
|
+
onKeyDown(event) {
|
|
6
|
+
switch (event.key) {
|
|
7
|
+
case 'ArrowUp':
|
|
8
|
+
event.preventDefault();
|
|
9
|
+
focusMove(this.root, validFocusableItems, -3);
|
|
10
|
+
break;
|
|
11
|
+
case 'ArrowDown':
|
|
12
|
+
event.preventDefault();
|
|
13
|
+
focusMove(this.root, validFocusableItems, 3);
|
|
14
|
+
break;
|
|
15
|
+
case 'ArrowLeft':
|
|
16
|
+
event.preventDefault();
|
|
17
|
+
previous(this.root, validFocusableItems);
|
|
18
|
+
break;
|
|
19
|
+
case 'ArrowRight':
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
next(this.root, validFocusableItems);
|
|
22
|
+
break;
|
|
23
|
+
case 'Home':
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
first(this.root, validFocusableItems);
|
|
26
|
+
break;
|
|
27
|
+
case 'End':
|
|
28
|
+
event.preventDefault();
|
|
29
|
+
last(this.root, validFocusableItems);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
34
|
+
async guxFocusFirstItem() {
|
|
35
|
+
first(this.root, validFocusableItems);
|
|
36
|
+
}
|
|
37
|
+
renderFocusTarget() {
|
|
38
|
+
return (h("span", { tabindex: "1" }));
|
|
39
|
+
}
|
|
40
|
+
render() {
|
|
41
|
+
return (h(Host, { role: "list" },
|
|
42
|
+
this.renderFocusTarget(),
|
|
43
|
+
h("slot", null)));
|
|
44
|
+
}
|
|
45
|
+
static get is() { return "gux-month-list"; }
|
|
46
|
+
static get encapsulation() { return "shadow"; }
|
|
47
|
+
static get delegatesFocus() { return true; }
|
|
48
|
+
static get originalStyleUrls() { return {
|
|
49
|
+
"$": ["gux-month-list.less"]
|
|
50
|
+
}; }
|
|
51
|
+
static get styleUrls() { return {
|
|
52
|
+
"$": ["gux-month-list.css"]
|
|
53
|
+
}; }
|
|
54
|
+
static get methods() { return {
|
|
55
|
+
"guxFocusFirstItem": {
|
|
56
|
+
"complexType": {
|
|
57
|
+
"signature": "() => Promise<void>",
|
|
58
|
+
"parameters": [],
|
|
59
|
+
"references": {
|
|
60
|
+
"Promise": {
|
|
61
|
+
"location": "global"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"return": "Promise<void>"
|
|
65
|
+
},
|
|
66
|
+
"docs": {
|
|
67
|
+
"text": "",
|
|
68
|
+
"tags": []
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}; }
|
|
72
|
+
static get elementRef() { return "root"; }
|
|
73
|
+
static get listeners() { return [{
|
|
74
|
+
"name": "keydown",
|
|
75
|
+
"method": "onKeyDown",
|
|
76
|
+
"target": undefined,
|
|
77
|
+
"capture": false,
|
|
78
|
+
"passive": false
|
|
79
|
+
}]; }
|
|
80
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
}
|
|
4
|
+
.gux-target {
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
padding: 4px 8px 4px 12px;
|
|
7
|
+
cursor: pointer;
|
|
8
|
+
background-color: #f6f7f9;
|
|
9
|
+
border: 1px solid #6b7585;
|
|
10
|
+
border-radius: 4px;
|
|
11
|
+
box-shadow: inset 0 0 4px rgba(32, 41, 55, 0.16);
|
|
12
|
+
}
|
|
13
|
+
.gux-target .gux-display {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
min-width: 100px;
|
|
16
|
+
padding-right: 8px;
|
|
17
|
+
color: #2e394c;
|
|
18
|
+
}
|
|
19
|
+
.gux-target .gux-display .gux-spinner {
|
|
20
|
+
outline: none;
|
|
21
|
+
}
|
|
22
|
+
.gux-target .gux-display .gux-spinner:not(:first-child) {
|
|
23
|
+
margin-left: 4px;
|
|
24
|
+
}
|
|
25
|
+
.gux-target .gux-display .gux-spinner:focus {
|
|
26
|
+
background: #deeaff;
|
|
27
|
+
}
|
|
28
|
+
.gux-target .gux-display .gux-spinner.gux-empty {
|
|
29
|
+
color: #596373;
|
|
30
|
+
}
|
|
31
|
+
.gux-target .gux-popup-toggle {
|
|
32
|
+
justify-content: right;
|
|
33
|
+
padding: 2px;
|
|
34
|
+
color: #596373;
|
|
35
|
+
background: transparent;
|
|
36
|
+
border: none;
|
|
37
|
+
border-radius: 4px;
|
|
38
|
+
}
|
|
39
|
+
.gux-target .gux-popup-toggle:focus {
|
|
40
|
+
outline: none;
|
|
41
|
+
box-shadow: 0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff;
|
|
42
|
+
}
|
|
43
|
+
.gux-target .gux-popup-toggle:not(:disabled):focus,
|
|
44
|
+
.gux-target .gux-popup-toggle:not(:disabled):hover {
|
|
45
|
+
color: #2e394c;
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
}
|
|
48
|
+
.gux-target .gux-popup-toggle gux-icon {
|
|
49
|
+
width: 16px;
|
|
50
|
+
height: 16px;
|
|
51
|
+
}
|
|
52
|
+
.gux-target .gux-popup-toggle.gux-expanded {
|
|
53
|
+
color: #2a60c8;
|
|
54
|
+
}
|
|
55
|
+
.gux-target .gux-popup-toggle.gux-expanded:not(:disabled):focus,
|
|
56
|
+
.gux-target .gux-popup-toggle.gux-expanded:not(:disabled):hover {
|
|
57
|
+
color: #2a60c8;
|
|
58
|
+
}
|