@heartlandone/vega 2.35.0-RTE-preview → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{app-globals-fb3693cc.js → app-globals-13d4a0be.js} +3 -4
- package/dist/cjs/{list-block-91116257.js → content-state-2336e368.js} +130 -4
- package/dist/cjs/{element-appender-slimmer-700b7004.js → element-appender-slimmer-77f9c4a0.js} +11 -3
- package/dist/cjs/{form-field-controller-slimmer-7ef32059.js → form-field-controller-slimmer-8d4d2723.js} +56 -25
- package/dist/cjs/{image-annotation-action-d3e1699c.js → image-annotation-action-4135ca69.js} +12 -12
- package/dist/cjs/index.cjs.js +5 -6
- package/dist/cjs/loader.cjs.js +5 -6
- package/dist/cjs/{node-annotation.abstract-e5d3a859.js → node-annotation.abstract-c3c07af5.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-c2e08e06.js → sub-state-notify-slimmer-994eb848.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-b97e46b5.js → sub-state-observer-slimmer-080a4bea.js} +1 -1
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-calendar_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +2 -2
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +532 -115
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +68 -19
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-file-uploader.cjs.entry.js +120 -40
- package/dist/cjs/vega-font.cjs.entry.js +8 -1
- package/dist/cjs/vega-form.cjs.entry.js +11 -6
- package/dist/cjs/vega-image-uploader.cjs.entry.js +2 -2
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +2 -2
- package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +51 -5
- package/dist/cjs/vega-input-range.cjs.entry.js +2 -2
- package/dist/cjs/vega-input-select.cjs.entry.js +2 -2
- package/dist/cjs/vega-input.cjs.entry.js +3 -3
- package/dist/cjs/{vega-internal-event-id-85b68849.js → vega-internal-event-id-b12071ea.js} +2 -0
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
- package/dist/cjs/vega-popover_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +134 -110
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +182 -118
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-signature-capture.cjs.entry.js +2 -2
- package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +35 -24
- package/dist/cjs/vega-table_8.cjs.entry.js +3 -3
- package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
- package/dist/cjs/vega.cjs.js +5 -6
- package/dist/collection/components/vega-date-picker/assets/icons.js +3 -0
- package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.js +23 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.js +316 -0
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +60 -2
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js +16 -4
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +24 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +59 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +56 -14
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +37 -0
- package/dist/collection/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.js +35 -0
- package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.js +36 -7
- package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +41 -0
- package/dist/collection/components/vega-font/slimmers/renderers/vega-font-renderer.js +8 -1
- package/dist/collection/components/vega-form/vega-form.js +13 -4
- package/dist/collection/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.js +38 -3
- package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +35 -0
- package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
- package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js +2 -2
- package/dist/collection/components/vega-pagination/vega-pagination.js +24 -1
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +33 -19
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +11 -4
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +8 -10
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +104 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +9 -7
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +9 -7
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +10 -12
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +9 -104
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +14 -13
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +8 -10
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +9 -11
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +49 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +15 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +4 -2
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.js +22 -22
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.js +9 -1
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-direction-button-renderer.js +4 -1
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
- package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +8 -2
- package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +10 -16
- package/dist/collection/helpers/slimmers/form-field-message-translator.js +17 -0
- package/dist/collection/helpers/slimmers/form-field-valid-invoke-slimmer.js +6 -3
- package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +1 -1
- package/dist/collection/helpers/ui/element-appender.js +10 -2
- package/dist/collection/helpers/validator/form-field-controller.js +11 -3
- package/dist/collection/helpers/validator/rules/rich-text-editor-required-rule.js +4 -3
- package/dist/collection/helpers/validator/test/rules/rich-text-editor-required-rule.test.js +43 -0
- package/dist/collection/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.js +7 -2
- package/dist/esm/{app-globals-5b154b6d.js → app-globals-9ded4406.js} +2 -3
- package/dist/esm/{list-block-ba82c846.js → content-state-42a06d75.js} +130 -3
- package/dist/esm/{element-appender-slimmer-d71e3109.js → element-appender-slimmer-f3eceb79.js} +11 -3
- package/dist/esm/{form-field-controller-slimmer-af969d03.js → form-field-controller-slimmer-6ef5641b.js} +57 -26
- package/dist/esm/{image-annotation-action-a8e00f28.js → image-annotation-action-8a12e0bd.js} +2 -2
- package/dist/esm/index.js +3 -4
- package/dist/esm/loader.js +5 -6
- package/dist/esm/{node-annotation.abstract-d7d52bce.js → node-annotation.abstract-af11b11b.js} +1 -1
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/{sub-state-notify-slimmer-48bad548.js → sub-state-notify-slimmer-7d5a295a.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-403cc4e7.js → sub-state-observer-slimmer-901c7953.js} +1 -1
- package/dist/esm/vega-button-group_2.entry.js +3 -3
- package/dist/esm/vega-calendar_3.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +2 -2
- package/dist/esm/vega-color-picker.entry.js +2 -2
- package/dist/esm/vega-combo-box.entry.js +2 -2
- package/dist/esm/vega-date-picker_2.entry.js +533 -116
- package/dist/esm/vega-dropdown_5.entry.js +68 -19
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-file-uploader.entry.js +120 -40
- package/dist/esm/vega-font.entry.js +8 -1
- package/dist/esm/vega-form.entry.js +11 -6
- package/dist/esm/vega-image-uploader.entry.js +2 -2
- package/dist/esm/vega-input-credit-card.entry.js +2 -2
- package/dist/esm/vega-input-numeric.entry.js +3 -3
- package/dist/esm/vega-input-phone-number.entry.js +51 -5
- package/dist/esm/vega-input-range.entry.js +2 -2
- package/dist/esm/vega-input-select.entry.js +2 -2
- package/dist/esm/vega-input.entry.js +3 -3
- package/dist/esm/{vega-internal-event-id-4af5c6e9.js → vega-internal-event-id-458939b6.js} +2 -1
- package/dist/esm/vega-left-nav_5.entry.js +3 -3
- package/dist/esm/vega-pagination.entry.js +3 -3
- package/dist/esm/vega-popover_2.entry.js +2 -2
- package/dist/esm/vega-radio_2.entry.js +2 -2
- package/dist/esm/vega-rich-text-content.entry.js +132 -108
- package/dist/esm/vega-rich-text-editor_4.entry.js +76 -12
- package/dist/esm/vega-selection-chip_2.entry.js +4 -4
- package/dist/esm/vega-selection-tile_2.entry.js +4 -4
- package/dist/esm/vega-sidenav_3.entry.js +3 -3
- package/dist/esm/vega-signature-capture.entry.js +2 -2
- package/dist/esm/vega-stepper.entry.js +2 -2
- package/dist/esm/vega-tab-group_2.entry.js +35 -24
- package/dist/esm/vega-table_8.entry.js +3 -3
- package/dist/esm/vega-textarea.entry.js +2 -2
- package/dist/esm/vega-time-picker_2.entry.js +3 -3
- package/dist/esm/vega-toggle-switch.entry.js +2 -2
- package/dist/esm/vega-tooltip_2.entry.js +1 -1
- package/dist/esm/vega.js +5 -6
- package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
- package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.d.ts +4 -18
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.d.ts +85 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +9 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.d.ts +2 -0
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +21 -2
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +20 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +10 -0
- package/dist/types/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.d.ts +18 -0
- package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.d.ts +15 -0
- package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +12 -0
- package/dist/types/components/vega-form/types.d.ts +1 -0
- package/dist/types/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.d.ts +19 -0
- package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +9 -0
- package/dist/types/components/vega-input-select/types.d.ts +1 -0
- package/dist/types/components/vega-pagination/internal/vega-pagination-page-size-selector.d.ts +2 -0
- package/dist/types/components/vega-pagination/types.d.ts +6 -0
- package/dist/types/components/vega-pagination/vega-pagination.d.ts +9 -1
- package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +4 -0
- package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +4 -1
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +13 -7
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +6 -4
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +6 -4
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +5 -5
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +7 -11
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +4 -4
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +6 -7
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +5 -6
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.d.ts +31 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +3 -1
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.d.ts +6 -6
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.d.ts +1 -0
- package/dist/types/components.d.ts +70 -5
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
- package/dist/types/helpers/slimmers/field-error-controller-silmmer.d.ts +7 -2
- package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +2 -7
- package/dist/types/helpers/slimmers/form-field-message-translator.d.ts +12 -0
- package/dist/types/helpers/ui/element-appender.d.ts +4 -0
- package/dist/types/helpers/validator/form-field-controller.d.ts +5 -2
- package/dist/types/helpers/validator/rules/rich-text-editor-required-rule.d.ts +1 -1
- package/dist/types/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.d.ts +2 -2
- package/dist/types/helpers/validator/validator.d.ts +1 -1
- package/dist/types/types/components.type.d.ts +2 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-032ed643.entry.js +13 -0
- package/dist/vega/{p-a0e90d5d.entry.js → p-13ce8d87.entry.js} +1 -1
- package/dist/vega/{p-f84fd31c.js → p-26af2a8b.js} +1 -1
- package/dist/vega/{p-dcdac4d0.entry.js → p-2ff936da.entry.js} +1 -1
- package/dist/vega/p-3126edd6.entry.js +1 -0
- package/dist/vega/{p-45c88f7f.entry.js → p-317c72e4.entry.js} +1 -1
- package/dist/vega/{p-4f0b56fc.js → p-349dd552.js} +1 -1
- package/dist/vega/p-36ad5ee1.entry.js +1 -0
- package/dist/vega/p-42465abc.entry.js +1 -0
- package/dist/vega/{p-6d43b123.entry.js → p-43b6aced.entry.js} +1 -1
- package/dist/vega/{p-fe388812.entry.js → p-441c9c90.entry.js} +1 -1
- package/dist/vega/{p-926596cc.js → p-446c691b.js} +1 -1
- package/dist/vega/{p-465fa96d.entry.js → p-4d307520.entry.js} +1 -1
- package/dist/vega/p-524ff1a3.entry.js +1 -0
- package/dist/vega/p-558450ba.entry.js +1 -0
- package/dist/vega/{p-c02f650e.entry.js → p-589530e4.entry.js} +1 -1
- package/dist/vega/{p-71eeb279.entry.js → p-5ae1a322.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-61cffe6a.entry.js +1 -0
- package/dist/vega/{p-84113217.entry.js → p-6bf28253.entry.js} +1 -1
- package/dist/vega/{p-0bd9b1d9.entry.js → p-6df81ec2.entry.js} +1 -1
- package/dist/vega/p-75bca1c6.js +1 -0
- package/dist/vega/{p-b64981de.entry.js → p-7b72dc7a.entry.js} +1 -1
- package/dist/vega/{p-b9a09a76.js → p-83d87df5.js} +1 -1
- package/dist/vega/{p-b450bf46.entry.js → p-8a77ff64.entry.js} +1 -1
- package/dist/vega/{p-6661a462.entry.js → p-906991ec.entry.js} +1 -1
- package/dist/vega/{p-f6b89936.entry.js → p-96389073.entry.js} +1 -1
- package/dist/vega/{p-f31bb1fd.js → p-983c7d9b.js} +1 -1
- package/dist/vega/{p-91aa058f.entry.js → p-9ec7d6c4.entry.js} +1 -1
- package/dist/vega/{p-8067bd31.entry.js → p-a213b305.entry.js} +1 -1
- package/dist/vega/{p-e923637d.entry.js → p-a956561e.entry.js} +1 -1
- package/dist/vega/{p-625771d7.entry.js → p-b0c6cc78.entry.js} +1 -1
- package/dist/vega/p-b1524c6c.js +1 -0
- package/dist/vega/{p-1dd9f841.entry.js → p-bd2cdf10.entry.js} +1 -1
- package/dist/vega/p-c06e55d6.js +1 -0
- package/dist/vega/{p-19556584.entry.js → p-cea7506a.entry.js} +1 -1
- package/dist/vega/{p-0da2de05.entry.js → p-cff45d92.entry.js} +1 -1
- package/dist/vega/p-d3d4bf51.entry.js +1 -0
- package/dist/vega/{p-3a6c9b9d.entry.js → p-df4142dd.entry.js} +1 -1
- package/dist/vega/p-df9dbe2d.entry.js +1 -0
- package/dist/vega/p-ebb30774.entry.js +1 -0
- package/dist/vega/{p-e04d4ba3.entry.js → p-eed64b78.entry.js} +1 -1
- package/dist/vega/{p-1b3e0a9f.entry.js → p-f7fdf737.entry.js} +1 -1
- package/dist/vega/p-fe9644a0.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/content-state-3e4467a3.js +0 -134
- package/dist/esm/content-state-f39c4bbf.js +0 -132
- package/dist/vega/p-0283712e.entry.js +0 -13
- package/dist/vega/p-0ee10fd7.js +0 -1
- package/dist/vega/p-2f32a9ba.js +0 -1
- package/dist/vega/p-36db2554.entry.js +0 -1
- package/dist/vega/p-42df8a42.js +0 -1
- package/dist/vega/p-6d23c08b.entry.js +0 -1
- package/dist/vega/p-843b13e6.entry.js +0 -1
- package/dist/vega/p-85365f8b.js +0 -1
- package/dist/vega/p-8be7b62c.entry.js +0 -1
- package/dist/vega/p-96f0ef53.entry.js +0 -1
- package/dist/vega/p-c88acd87.entry.js +0 -1
- package/dist/vega/p-dbec03ed.entry.js +0 -1
- package/dist/vega/p-de13b747.entry.js +0 -1
- package/dist/vega/p-f357cf46.js +0 -1
- package/dist/vega/p-ff50c204.entry.js +0 -1
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
10
|
+
import { VegaDropdownClick } from '../../../../helpers/event-manager/event-id/vega-event-id';
|
|
11
|
+
import remoteInvocationRegistry from '../../../../helpers/remote-invocation/remote-invocation-registry';
|
|
12
|
+
import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
13
|
+
import { VegaInternalDropdownUpdateTarget } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
14
|
+
import { VegaInternalIconManager } from '../../../../helpers/icon/internal-icon-manager';
|
|
15
|
+
import { Icons } from '../../assets/icons';
|
|
16
|
+
export class VegaDatePickerMonthYearDropdownRenderer extends VegaSlimmer {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.startDropdownRef = {
|
|
20
|
+
month: null,
|
|
21
|
+
year: null,
|
|
22
|
+
};
|
|
23
|
+
this.endDropdownRef = {
|
|
24
|
+
month: null,
|
|
25
|
+
year: null,
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* When interacting with open vega-dropdown, prevent it from collapsing since is treated as outside element by litepicker
|
|
29
|
+
*
|
|
30
|
+
* @param {MouseEvent} event - Click event
|
|
31
|
+
*/
|
|
32
|
+
this.onVegaDropdownContentBoxClick = (event) => {
|
|
33
|
+
const elementOnClick = event.target;
|
|
34
|
+
if (elementOnClick.tagName === 'VEGA-DROPDOWN-CONTENT-BOX') {
|
|
35
|
+
this.datePickerCalendar.classList.remove('vega-force-hidden');
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
37
|
+
this.datePickerCalendar.shadowRoot.querySelector('.litepicker').style.display =
|
|
38
|
+
'block';
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Prevent collapsing of dropdown when selecting option. VD-5544
|
|
43
|
+
*
|
|
44
|
+
* @param {Event} event - Focus event
|
|
45
|
+
*/
|
|
46
|
+
this.onVegaDropdownContentBoxActivate = (event) => {
|
|
47
|
+
const element = event.target;
|
|
48
|
+
if (element.tagName === 'VEGA-DROPDOWN-CONTENT-BOX') {
|
|
49
|
+
this.isMonthsOrYearsDropdownContentBoxOnFocus = true;
|
|
50
|
+
element.classList.remove('vega-force-hidden');
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.isMonthsOrYearsDropdownContentBoxOnFocus = false;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* This method creates months and years dropdowns and replaces the current default select elements of litepicker
|
|
59
|
+
*
|
|
60
|
+
* @param {Litepicker} datePicker - Litepicker instance
|
|
61
|
+
*/
|
|
62
|
+
renderMonthYearDropdowns(datePicker) {
|
|
63
|
+
this.datePicker = datePicker;
|
|
64
|
+
this.datePickerCalendar = this.vegaDatePickerCalendarRenderer.getCalendarContainerRef();
|
|
65
|
+
this.renderMonthButton(this.datePicker.ui);
|
|
66
|
+
this.renderYearButton(this.datePicker.ui);
|
|
67
|
+
this.initSetup();
|
|
68
|
+
}
|
|
69
|
+
render() {
|
|
70
|
+
return (h("div", { class: "month-year-dropdown-container", style: { display: 'none' } },
|
|
71
|
+
h("div", { class: "start-date-month-year" },
|
|
72
|
+
this.renderDropdown('month', 'start'),
|
|
73
|
+
this.renderDropdown('year', 'start')),
|
|
74
|
+
h("div", { class: "end-date-month-year" },
|
|
75
|
+
this.renderDropdown('month', 'end'),
|
|
76
|
+
this.renderDropdown('year', 'end'))));
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* From default months select dropdowns, get passed options and create vega-dropdown component with months as options
|
|
80
|
+
*
|
|
81
|
+
* @param {HTMLElement} ui - Litepicker ui
|
|
82
|
+
*/
|
|
83
|
+
renderMonthButton(ui) {
|
|
84
|
+
ui.querySelectorAll('select.month-item-name').forEach((item, index) => {
|
|
85
|
+
this.syncDropdownOptions('month', item, index);
|
|
86
|
+
const selectedOptionValue = this.getSelectedOptionFromSelect(item);
|
|
87
|
+
const value = VegaDatePickerMonthYearDropdownRenderer.monthName[parseInt(selectedOptionValue)];
|
|
88
|
+
const monthButton = document.createElement('span');
|
|
89
|
+
monthButton.classList.add('dropdown-current-value');
|
|
90
|
+
monthButton.innerText = `${this.translationSlimmer.t(value)}`;
|
|
91
|
+
this.appendDropdownIconToButton(monthButton);
|
|
92
|
+
if (item.parentNode) {
|
|
93
|
+
item.parentNode.replaceChild(monthButton, item);
|
|
94
|
+
}
|
|
95
|
+
const dropdown = index === 0 ? this.startDropdownRef.month : this.endDropdownRef.month;
|
|
96
|
+
if (dropdown) {
|
|
97
|
+
this.updateDropdownValueAndTarget(monthButton, dropdown, item.value);
|
|
98
|
+
}
|
|
99
|
+
monthButton.addEventListener('click', () => {
|
|
100
|
+
this.setDropdownAsActive(monthButton);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* From default years select dropdowns, get passed options and create vega-dropdown component with years as options
|
|
106
|
+
*
|
|
107
|
+
* @param {HTMLElement} ui - Litepicker ui
|
|
108
|
+
*/
|
|
109
|
+
renderYearButton(ui) {
|
|
110
|
+
ui.querySelectorAll('select.month-item-year').forEach((item, index) => {
|
|
111
|
+
this.syncDropdownOptions('year', item, index);
|
|
112
|
+
const value = this.getSelectedOptionFromSelect(item);
|
|
113
|
+
const yearButton = document.createElement('span');
|
|
114
|
+
yearButton.classList.add('dropdown-current-value');
|
|
115
|
+
yearButton.innerText = `${this.translationSlimmer.t(value)}`;
|
|
116
|
+
this.appendDropdownIconToButton(yearButton);
|
|
117
|
+
if (item.parentNode) {
|
|
118
|
+
item.parentNode.replaceChild(yearButton, item);
|
|
119
|
+
}
|
|
120
|
+
const dropdown = index === 0 ? this.startDropdownRef.year : this.endDropdownRef.year;
|
|
121
|
+
if (dropdown) {
|
|
122
|
+
this.updateDropdownValueAndTarget(yearButton, dropdown, item.value);
|
|
123
|
+
}
|
|
124
|
+
yearButton.addEventListener('click', () => {
|
|
125
|
+
this.setDropdownAsActive(yearButton);
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
getSelectedOptionFromSelect(select) {
|
|
130
|
+
const options = Array.from(select.querySelectorAll('option'));
|
|
131
|
+
const selectedOption = options.find((option) => option.selected);
|
|
132
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
133
|
+
return selectedOption.value;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Render vega-dropdown component
|
|
137
|
+
*
|
|
138
|
+
* @param {MonthOrYearType} type - Month or year dropdown
|
|
139
|
+
* @param {DateIndexType} dateIndex - start date index for both single or range and end date index for range date picker mode
|
|
140
|
+
*/
|
|
141
|
+
renderDropdown(type, dateIndex) {
|
|
142
|
+
return (h("vega-dropdown", { trigger: "click", selectType: "single", class: "vega-force-hidden", "match-target-width": "false", "max-height": "300", ref: (node) => {
|
|
143
|
+
this.onDropdownShowOrHide(node);
|
|
144
|
+
if (dateIndex === 'start') {
|
|
145
|
+
this.startDropdownRef[type] = node;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.endDropdownRef[type] = node;
|
|
149
|
+
}
|
|
150
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaDropdownClick, (input) => {
|
|
151
|
+
this.setDefaultViewValues(type, node);
|
|
152
|
+
this.monthYearDropdownClick(type, dateIndex, input.detail);
|
|
153
|
+
});
|
|
154
|
+
} },
|
|
155
|
+
h("span", null, type)));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* When calendar opens, update sources for the vega-dropdown components for both months and years dropdown
|
|
159
|
+
*
|
|
160
|
+
* @param {MonthOrYearType} type - Month or year dropdown
|
|
161
|
+
* @param {HTMLSelectElement} select - Native select from litepicker ui
|
|
162
|
+
* @param {number} index - dropdown count
|
|
163
|
+
*/
|
|
164
|
+
syncDropdownOptions(type, select, index) {
|
|
165
|
+
const options = select.querySelectorAll('option');
|
|
166
|
+
const dropdownOptions = Array.from(options).map((option) => ({
|
|
167
|
+
key: option.value,
|
|
168
|
+
label: this.translationSlimmer.t(option.text),
|
|
169
|
+
disabled: option.disabled ? true : false,
|
|
170
|
+
}));
|
|
171
|
+
if (type === 'month') {
|
|
172
|
+
const dropdown = index === 0 ? this.startDropdownRef.month : this.endDropdownRef.month;
|
|
173
|
+
if (dropdown) {
|
|
174
|
+
dropdown.source = dropdownOptions;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (type === 'year') {
|
|
178
|
+
dropdownOptions.sort((a, b) => Number(a.key) - Number(b.key));
|
|
179
|
+
const dropdown = index === 0 ? this.startDropdownRef.year : this.endDropdownRef.year;
|
|
180
|
+
if (dropdown) {
|
|
181
|
+
dropdown.source = dropdownOptions;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Litepicker treats vega-dropdown-content-box as an external element that when dropdowns open and you click, it closes automaticall. This method is to initialize event listeners the moment months or years dropdown is opened to prevent litepicker from collpasing
|
|
187
|
+
*
|
|
188
|
+
* @param {HTMLVegaDropdownElement} dropdown - Month or year dropdown
|
|
189
|
+
*/
|
|
190
|
+
onDropdownShowOrHide(dropdown) {
|
|
191
|
+
dropdown === null || dropdown === void 0 ? void 0 : dropdown.addEventListener('vegaShow', () => {
|
|
192
|
+
this.onDropdownShow();
|
|
193
|
+
});
|
|
194
|
+
dropdown === null || dropdown === void 0 ? void 0 : dropdown.addEventListener('vegaHide', () => {
|
|
195
|
+
this.onDropdownHide();
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
setDefaultViewValues(type, node) {
|
|
199
|
+
if (type === 'month') {
|
|
200
|
+
const yearDropdown = node.nextElementSibling;
|
|
201
|
+
this.currentStartYearInView = parseInt(yearDropdown.selectedSourceKey);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
const monthDropdown = node.previousElementSibling;
|
|
205
|
+
this.currentStartMonthInView = parseInt(monthDropdown.selectedSourceKey);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
appendDropdownIconToButton(parentElement) {
|
|
209
|
+
parentElement.innerHTML += `<vega-icon icon='${VegaInternalIconManager.getIconKey('caret-down')}'></vega-icon>`;
|
|
210
|
+
parentElement.tabIndex = 0;
|
|
211
|
+
}
|
|
212
|
+
monthYearDropdownClick(type, dateIndex, detail) {
|
|
213
|
+
const value = parseInt(detail);
|
|
214
|
+
this.updateDatePickerOnSelect(type, dateIndex, value);
|
|
215
|
+
}
|
|
216
|
+
updateDropdownValueAndTarget(target, dropdownRef, dropdownSelectedKey) {
|
|
217
|
+
const parentDiv = target.closest('div');
|
|
218
|
+
if (parentDiv) {
|
|
219
|
+
parentDiv.classList.add('dropdown-section');
|
|
220
|
+
}
|
|
221
|
+
dropdownRef.selectedSourceKey = dropdownSelectedKey;
|
|
222
|
+
remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(dropdownRef, VegaInternalDropdownUpdateTarget), target);
|
|
223
|
+
}
|
|
224
|
+
updateDatePickerOnSelect(type, dateIndex, value) {
|
|
225
|
+
if (type === 'month') {
|
|
226
|
+
if (this.currentStartYearInView !== null) {
|
|
227
|
+
if (dateIndex === 'start') {
|
|
228
|
+
this.datePicker.gotoDate(new Date(this.currentStartYearInView, value, 1));
|
|
229
|
+
}
|
|
230
|
+
if (dateIndex === 'end') {
|
|
231
|
+
this.datePicker.gotoDate(new Date(this.currentStartYearInView, value - 1, 1));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
if (this.currentStartMonthInView !== null) {
|
|
237
|
+
if (dateIndex === 'start') {
|
|
238
|
+
this.datePicker.gotoDate(new Date(value, this.currentStartMonthInView, 1));
|
|
239
|
+
}
|
|
240
|
+
if (dateIndex === 'end') {
|
|
241
|
+
this.datePicker.gotoDate(new Date(value, this.currentStartMonthInView - 1, 1));
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
setDropdownAsActive(element) {
|
|
247
|
+
Array.from(this.datePicker.ui.querySelectorAll('.dropdown-current-value.active')).forEach((item) => item.classList.remove('active'));
|
|
248
|
+
element.classList.add('active');
|
|
249
|
+
}
|
|
250
|
+
removeActiveDropdownClass() {
|
|
251
|
+
Array.from(this.datePicker.ui.querySelectorAll('.dropdown-current-value.active')).forEach((item) => item.classList.remove('active'));
|
|
252
|
+
}
|
|
253
|
+
onDropdownShow() {
|
|
254
|
+
document.addEventListener('mouseenter', this.onVegaDropdownContentBoxActivate, true);
|
|
255
|
+
document.addEventListener('click', this.onVegaDropdownContentBoxClick);
|
|
256
|
+
}
|
|
257
|
+
onDropdownHide() {
|
|
258
|
+
this.isMonthsOrYearsDropdownContentBoxOnFocus = false;
|
|
259
|
+
this.removeActiveDropdownClass();
|
|
260
|
+
document.removeEventListener('mouseenter', this.onVegaDropdownContentBoxActivate, true);
|
|
261
|
+
document.removeEventListener('click', this.onVegaDropdownContentBoxClick);
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* When you collapse date picker while vega-dropdown is still open, close vega-dropdown too
|
|
265
|
+
*/
|
|
266
|
+
initSetup() {
|
|
267
|
+
const hideLitepicker = this.datePicker.hide.bind(this.datePicker);
|
|
268
|
+
this.datePicker.hide = async () => {
|
|
269
|
+
const activeElement = document.activeElement;
|
|
270
|
+
if (!this.isMonthsOrYearsDropdownContentBoxOnFocus &&
|
|
271
|
+
(activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) !== 'VEGA-DROPDOWN-CONTENT-BOX') {
|
|
272
|
+
await this.closeOpenDropdowns();
|
|
273
|
+
hideLitepicker();
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Close any open vega-dropdown when litepicker is collapse
|
|
279
|
+
*/
|
|
280
|
+
async closeOpenDropdowns() {
|
|
281
|
+
const dropdowns = [this.startDropdownRef, this.endDropdownRef];
|
|
282
|
+
await Promise.all(dropdowns
|
|
283
|
+
.flatMap((ref) => [ref.month, ref.year])
|
|
284
|
+
.filter(Boolean)
|
|
285
|
+
.map((dropdown) => {
|
|
286
|
+
if (dropdown) {
|
|
287
|
+
void dropdown.hide();
|
|
288
|
+
}
|
|
289
|
+
}));
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
(() => {
|
|
293
|
+
VegaInternalIconManager.register({
|
|
294
|
+
'caret-down': Icons['caret-down'],
|
|
295
|
+
});
|
|
296
|
+
})();
|
|
297
|
+
VegaDatePickerMonthYearDropdownRenderer.monthName = [
|
|
298
|
+
'January',
|
|
299
|
+
'February',
|
|
300
|
+
'March',
|
|
301
|
+
'April',
|
|
302
|
+
'May',
|
|
303
|
+
'June',
|
|
304
|
+
'July',
|
|
305
|
+
'August',
|
|
306
|
+
'September',
|
|
307
|
+
'October',
|
|
308
|
+
'November',
|
|
309
|
+
'December',
|
|
310
|
+
];
|
|
311
|
+
__decorate([
|
|
312
|
+
MapToComponentField()
|
|
313
|
+
], VegaDatePickerMonthYearDropdownRenderer.prototype, "translationSlimmer", void 0);
|
|
314
|
+
__decorate([
|
|
315
|
+
MapToComponentField()
|
|
316
|
+
], VegaDatePickerMonthYearDropdownRenderer.prototype, "vegaDatePickerCalendarRenderer", void 0);
|
|
@@ -7,11 +7,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { MapToComponentField, VegaSlimmer, MapToComponentMethod } from 'vega-slimmer/core';
|
|
8
8
|
import { Litepicker } from 'litepicker/dist/nocss/litepicker.umd.js';
|
|
9
9
|
import { Icons } from '../../assets/icons';
|
|
10
|
+
import { LogUtility } from '../../../../utils/log';
|
|
10
11
|
export class VegaDatePickerCalendarRenderer extends VegaSlimmer {
|
|
11
12
|
constructor() {
|
|
12
13
|
super(...arguments);
|
|
13
14
|
this.alterLitePickerHeader = (ui) => {
|
|
14
|
-
this.
|
|
15
|
+
if (this.showYearMonthDropdowns) {
|
|
16
|
+
this.monthYearDropdownRenderer.renderMonthYearDropdowns(this.datePicker);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.renderMonthName(ui);
|
|
20
|
+
}
|
|
15
21
|
this.renderWeekdays(ui);
|
|
16
22
|
this.renderPrevAndNextMonthButtons(ui);
|
|
17
23
|
};
|
|
@@ -69,6 +75,9 @@ export class VegaDatePickerCalendarRenderer extends VegaSlimmer {
|
|
|
69
75
|
mainContainer.append(footerContainer);
|
|
70
76
|
}
|
|
71
77
|
};
|
|
78
|
+
this.getSystemTimeZone = () => {
|
|
79
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
80
|
+
};
|
|
72
81
|
}
|
|
73
82
|
/*
|
|
74
83
|
* The below method is e2e-test covered in
|
|
@@ -191,6 +200,12 @@ export class VegaDatePickerCalendarRenderer extends VegaSlimmer {
|
|
|
191
200
|
watchMode() {
|
|
192
201
|
this.requireRefreshLitePicker = true;
|
|
193
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Update datePicker settings property if showYearMonthDropdowns is changed
|
|
205
|
+
*/
|
|
206
|
+
watchShowYearMonthDropdowns() {
|
|
207
|
+
this.requireRefreshLitePicker = true;
|
|
208
|
+
}
|
|
194
209
|
/**
|
|
195
210
|
* get the reference of datePicker
|
|
196
211
|
*
|
|
@@ -225,9 +240,39 @@ export class VegaDatePickerCalendarRenderer extends VegaSlimmer {
|
|
|
225
240
|
*/
|
|
226
241
|
renderMonthName(ui) {
|
|
227
242
|
ui.querySelectorAll('.month-item-name').forEach((item) => {
|
|
228
|
-
|
|
243
|
+
const currentMonthName = item.innerText;
|
|
244
|
+
item.innerText = this.translationSlimmer.t(currentMonthName);
|
|
229
245
|
});
|
|
230
246
|
}
|
|
247
|
+
resetTodayByTimezone() {
|
|
248
|
+
if (this.timezone && this.timezone !== this.getSystemTimeZone()) {
|
|
249
|
+
try {
|
|
250
|
+
const formattedDate = new Intl.DateTimeFormat([], {
|
|
251
|
+
timeZone: this.timezone,
|
|
252
|
+
year: 'numeric',
|
|
253
|
+
month: '2-digit',
|
|
254
|
+
day: '2-digit',
|
|
255
|
+
}).format(new Date());
|
|
256
|
+
const dateByTimezone = new Date(formattedDate.split('/').join('-')).getTime();
|
|
257
|
+
const dayItems =
|
|
258
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
259
|
+
this.calendarContainerRef.shadowRoot.querySelectorAll('.day-item');
|
|
260
|
+
for (let i = 0; i < dayItems.length; i++) {
|
|
261
|
+
if (dayItems[i].classList.contains('is-today') &&
|
|
262
|
+
Number(dayItems[i].dataset.time) !== dateByTimezone) {
|
|
263
|
+
dayItems[i].classList.remove('is-today');
|
|
264
|
+
}
|
|
265
|
+
if (!dayItems[i].classList.contains('is-today') &&
|
|
266
|
+
Number(dayItems[i].dataset.time) === dateByTimezone) {
|
|
267
|
+
dayItems[i].classList.add('is-today');
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch (_a) {
|
|
272
|
+
LogUtility.warn('Invalid timezone: ', this.timezone);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
231
276
|
/*
|
|
232
277
|
* The below method is e2e-test covered in
|
|
233
278
|
* @see{module:vega-date-picker-render-ui-with-single}
|
|
@@ -250,6 +295,7 @@ export class VegaDatePickerCalendarRenderer extends VegaSlimmer {
|
|
|
250
295
|
if (this.vegaDatePickerMobileController.getIsMobileDevice()) {
|
|
251
296
|
this.vegaDatePickerMobileController.preventElementTouchMoveInMobile();
|
|
252
297
|
}
|
|
298
|
+
this.resetTodayByTimezone();
|
|
253
299
|
})
|
|
254
300
|
.on('selected', this.vegaDatePickerCalendarController.onDatePickerSelected)
|
|
255
301
|
.on('before:show', () => {
|
|
@@ -292,6 +338,9 @@ __decorate([
|
|
|
292
338
|
__decorate([
|
|
293
339
|
MapToComponentField()
|
|
294
340
|
], VegaDatePickerCalendarRenderer.prototype, "format", void 0);
|
|
341
|
+
__decorate([
|
|
342
|
+
MapToComponentField()
|
|
343
|
+
], VegaDatePickerCalendarRenderer.prototype, "showYearMonthDropdowns", void 0);
|
|
295
344
|
__decorate([
|
|
296
345
|
MapToComponentField()
|
|
297
346
|
], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerCalendarController", void 0);
|
|
@@ -313,9 +362,15 @@ __decorate([
|
|
|
313
362
|
__decorate([
|
|
314
363
|
MapToComponentField()
|
|
315
364
|
], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerRangeInputRenderer", void 0);
|
|
365
|
+
__decorate([
|
|
366
|
+
MapToComponentField()
|
|
367
|
+
], VegaDatePickerCalendarRenderer.prototype, "monthYearDropdownRenderer", void 0);
|
|
316
368
|
__decorate([
|
|
317
369
|
MapToComponentField()
|
|
318
370
|
], VegaDatePickerCalendarRenderer.prototype, "translationSlimmer", void 0);
|
|
371
|
+
__decorate([
|
|
372
|
+
MapToComponentField()
|
|
373
|
+
], VegaDatePickerCalendarRenderer.prototype, "timezone", void 0);
|
|
319
374
|
__decorate([
|
|
320
375
|
MapToComponentMethod('connectedCallback')
|
|
321
376
|
], VegaDatePickerCalendarRenderer.prototype, "connectedCallback", null);
|
|
@@ -349,3 +404,6 @@ __decorate([
|
|
|
349
404
|
__decorate([
|
|
350
405
|
MapToComponentMethod('watchMode')
|
|
351
406
|
], VegaDatePickerCalendarRenderer.prototype, "watchMode", null);
|
|
407
|
+
__decorate([
|
|
408
|
+
MapToComponentMethod('watchShowYearMonthDropdowns')
|
|
409
|
+
], VegaDatePickerCalendarRenderer.prototype, "watchShowYearMonthDropdowns", null);
|
package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js
CHANGED
|
@@ -18,7 +18,11 @@ export class VegaDatePickerRenderer extends VegaSlimmer {
|
|
|
18
18
|
return (h("div", { class: "vega-input-prefix" },
|
|
19
19
|
h("vega-icon", { icon: VegaInternalIconManager.getIconKey('calendar'), color: "text-secondary",
|
|
20
20
|
// eslint-disable-next-line react/jsx-no-bind
|
|
21
|
-
onClick: () =>
|
|
21
|
+
onClick: () => {
|
|
22
|
+
if (!this.disabled) {
|
|
23
|
+
this.focusInput();
|
|
24
|
+
}
|
|
25
|
+
} })));
|
|
22
26
|
};
|
|
23
27
|
/**
|
|
24
28
|
* return true if input is enabled, otherwise false
|
|
@@ -63,9 +67,11 @@ export class VegaDatePickerRenderer extends VegaSlimmer {
|
|
|
63
67
|
disabled: this.disabled,
|
|
64
68
|
} },
|
|
65
69
|
this.renderLabel(),
|
|
66
|
-
h("div", { class: arrayToClassString(classNames), ref: (ref) => (this.datePickerContainer = ref) },
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
h("div", { class: arrayToClassString(classNames), ref: (ref) => (this.datePickerContainer = ref) },
|
|
71
|
+
this.mode === 'range'
|
|
72
|
+
? this.vegaDatePickerRangeInputRenderer.render()
|
|
73
|
+
: this.vegaDatePickerSingleInputRenderer.render(),
|
|
74
|
+
this.showYearMonthDropdowns && this.monthYearDropdownRenderer.render())));
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
(() => {
|
|
@@ -95,6 +101,9 @@ __decorate([
|
|
|
95
101
|
__decorate([
|
|
96
102
|
MapToComponentField()
|
|
97
103
|
], VegaDatePickerRenderer.prototype, "host", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
MapToComponentField()
|
|
106
|
+
], VegaDatePickerRenderer.prototype, "showYearMonthDropdowns", void 0);
|
|
98
107
|
__decorate([
|
|
99
108
|
MapToComponentField()
|
|
100
109
|
], VegaDatePickerRenderer.prototype, "vegaDatePickerMobileController", void 0);
|
|
@@ -107,3 +116,6 @@ __decorate([
|
|
|
107
116
|
__decorate([
|
|
108
117
|
MapToComponentField()
|
|
109
118
|
], VegaDatePickerRenderer.prototype, "vegaDatePickerCalendarRenderer", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
MapToComponentField()
|
|
121
|
+
], VegaDatePickerRenderer.prototype, "monthYearDropdownRenderer", void 0);
|
|
@@ -637,4 +637,28 @@ html.dark .litepicker .container__days .day-item.is-start-date.is-end-date:after
|
|
|
637
637
|
.button-previous-month svg {
|
|
638
638
|
width: 12px;
|
|
639
639
|
height: 16px;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.litepicker .month-item-header > div.dropdown-section {
|
|
643
|
+
display: flex;
|
|
644
|
+
gap: 12px;
|
|
645
|
+
}
|
|
646
|
+
.litepicker .month-item-header > div.dropdown-section .dropdown-current-value {
|
|
647
|
+
position: relative;
|
|
648
|
+
display: flex;
|
|
649
|
+
gap: 4px;
|
|
650
|
+
align-items: center;
|
|
651
|
+
cursor: pointer;
|
|
652
|
+
}
|
|
653
|
+
.litepicker .month-item-header > div.dropdown-section .dropdown-current-value.active {
|
|
654
|
+
color: rgba(var(--v-text-link-active, 29, 65, 195, 1));
|
|
655
|
+
}
|
|
656
|
+
.litepicker .month-item-header > div.dropdown-section .dropdown-current-value.active:active {
|
|
657
|
+
color: rgba(var(--v-text-link-active, 29, 65, 195, 1));
|
|
658
|
+
}
|
|
659
|
+
.litepicker .month-item-header > div.dropdown-section .dropdown-current-value.active:hover {
|
|
660
|
+
color: rgba(var(--v-text-link-hover, 4, 112, 236, 1));
|
|
661
|
+
}
|
|
662
|
+
.litepicker .month-item-header > div.dropdown-section .dropdown-current-value.active:focus-visible {
|
|
663
|
+
color: rgba(var(--v-text-link-focus, 4, 112, 236, 1));
|
|
640
664
|
}
|
|
@@ -29,6 +29,7 @@ import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimm
|
|
|
29
29
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
|
|
30
30
|
import { VegaDatePickerRuntimeMetricsPayloadDefinition } from '../../constants/runtime-metrics-payload-definition/vega-date-picker/runtime-metrics-payload-definition';
|
|
31
31
|
import { TranslationSlimmer } from '../../helpers/slimmers/translation';
|
|
32
|
+
import { VegaDatePickerMonthYearDropdownRenderer } from './slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer';
|
|
32
33
|
/**
|
|
33
34
|
* @vegaVersion 1.3.0
|
|
34
35
|
*/
|
|
@@ -86,6 +87,7 @@ export class VegaDatePicker {
|
|
|
86
87
|
this.changeEventEmitter = createEventEmitSlimmer(VegaDatePicker, VegaChange);
|
|
87
88
|
this.inputEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange], () => this.vegaDatePickerRenderer.getDatePickerContainer());
|
|
88
89
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaDatePickerRuntimeMetricsPayloadDefinition);
|
|
90
|
+
this.monthYearDropdownRenderer = new VegaDatePickerMonthYearDropdownRenderer();
|
|
89
91
|
/**
|
|
90
92
|
* Specifies the selection mode of the date picker.
|
|
91
93
|
*
|
|
@@ -179,6 +181,13 @@ export class VegaDatePicker {
|
|
|
179
181
|
* @vegaVersion 2.33.0
|
|
180
182
|
*/
|
|
181
183
|
this.showClearIcon = true;
|
|
184
|
+
/**
|
|
185
|
+
* Determines whether to show months and years dropdown in date picker
|
|
186
|
+
* If set to true, date picker calendar will have months and years dropdown
|
|
187
|
+
*
|
|
188
|
+
* @vegaVersion 2.36.0
|
|
189
|
+
*/
|
|
190
|
+
this.showYearMonthDropdowns = false;
|
|
182
191
|
/**
|
|
183
192
|
* Specifies whether the date picker field is disabled.
|
|
184
193
|
*
|
|
@@ -231,6 +240,9 @@ export class VegaDatePicker {
|
|
|
231
240
|
watchAllowRepick() {
|
|
232
241
|
methodPlaceholder();
|
|
233
242
|
}
|
|
243
|
+
watchShowYearMonthDropdowns() {
|
|
244
|
+
methodPlaceholder();
|
|
245
|
+
}
|
|
234
246
|
watchDisabled() {
|
|
235
247
|
methodPlaceholder();
|
|
236
248
|
}
|
|
@@ -641,6 +653,27 @@ export class VegaDatePicker {
|
|
|
641
653
|
"reflect": false,
|
|
642
654
|
"defaultValue": "true"
|
|
643
655
|
},
|
|
656
|
+
"showYearMonthDropdowns": {
|
|
657
|
+
"type": "boolean",
|
|
658
|
+
"mutable": false,
|
|
659
|
+
"complexType": {
|
|
660
|
+
"original": "boolean",
|
|
661
|
+
"resolved": "boolean",
|
|
662
|
+
"references": {}
|
|
663
|
+
},
|
|
664
|
+
"required": false,
|
|
665
|
+
"optional": false,
|
|
666
|
+
"docs": {
|
|
667
|
+
"tags": [{
|
|
668
|
+
"name": "vegaVersion",
|
|
669
|
+
"text": "2.36.0"
|
|
670
|
+
}],
|
|
671
|
+
"text": "Determines whether to show months and years dropdown in date picker\nIf set to true, date picker calendar will have months and years dropdown"
|
|
672
|
+
},
|
|
673
|
+
"attribute": "show-year-month-dropdowns",
|
|
674
|
+
"reflect": false,
|
|
675
|
+
"defaultValue": "false"
|
|
676
|
+
},
|
|
644
677
|
"disabled": {
|
|
645
678
|
"type": "boolean",
|
|
646
679
|
"mutable": false,
|
|
@@ -661,6 +694,26 @@ export class VegaDatePicker {
|
|
|
661
694
|
"attribute": "disabled",
|
|
662
695
|
"reflect": true,
|
|
663
696
|
"defaultValue": "false"
|
|
697
|
+
},
|
|
698
|
+
"timezone": {
|
|
699
|
+
"type": "string",
|
|
700
|
+
"mutable": false,
|
|
701
|
+
"complexType": {
|
|
702
|
+
"original": "string",
|
|
703
|
+
"resolved": "string",
|
|
704
|
+
"references": {}
|
|
705
|
+
},
|
|
706
|
+
"required": false,
|
|
707
|
+
"optional": false,
|
|
708
|
+
"docs": {
|
|
709
|
+
"tags": [{
|
|
710
|
+
"name": "vegaVersion",
|
|
711
|
+
"text": "2.35.0"
|
|
712
|
+
}],
|
|
713
|
+
"text": "Specifies the IANA time zone or Etc/GMT\u00B1n format.\n It accepts values such as \"America/New_York\" or \"Etc/GMT+12\".\n For a complete list of IANA time zones, refer to Time Zone DB(https://timezonedb.com/time-zones).\n\t If not configured, the time zone will default to the system's time zone."
|
|
714
|
+
},
|
|
715
|
+
"attribute": "timezone",
|
|
716
|
+
"reflect": false
|
|
664
717
|
}
|
|
665
718
|
}; }
|
|
666
719
|
static get events() { return [{
|
|
@@ -771,6 +824,9 @@ export class VegaDatePicker {
|
|
|
771
824
|
}, {
|
|
772
825
|
"propName": "allowRepick",
|
|
773
826
|
"methodName": "watchAllowRepick"
|
|
827
|
+
}, {
|
|
828
|
+
"propName": "showYearMonthDropdowns",
|
|
829
|
+
"methodName": "watchShowYearMonthDropdowns"
|
|
774
830
|
}, {
|
|
775
831
|
"propName": "disabled",
|
|
776
832
|
"methodName": "watchDisabled"
|
|
@@ -833,6 +889,9 @@ __decorate([
|
|
|
833
889
|
__decorate([
|
|
834
890
|
InjectVegaSlimmer()
|
|
835
891
|
], VegaDatePicker.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
892
|
+
__decorate([
|
|
893
|
+
InjectVegaSlimmer()
|
|
894
|
+
], VegaDatePicker.prototype, "monthYearDropdownRenderer", void 0);
|
|
836
895
|
__decorate([
|
|
837
896
|
ComponentLoadRequired()
|
|
838
897
|
], VegaDatePicker.prototype, "watchValue", null);
|