@beeq/core 1.8.0-beta.9 → 1.8.1
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/README.md +5 -3
- package/dist/beeq/beeq.css +1 -1
- package/dist/beeq/beeq.esm.js +1 -43
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/index.esm.js +1 -66
- package/dist/beeq/index.esm.js.map +1 -1
- package/dist/beeq/p-00702295.entry.js +6 -0
- package/dist/beeq/p-00702295.entry.js.map +1 -0
- package/dist/beeq/p-01de6133.js +6 -0
- package/dist/beeq/p-01de6133.js.map +1 -0
- package/dist/beeq/p-026fad0d.entry.js +6 -0
- package/dist/beeq/p-026fad0d.entry.js.map +1 -0
- package/dist/beeq/p-07b82e50.js +6 -0
- package/dist/beeq/p-07b82e50.js.map +1 -0
- package/dist/beeq/{p-cfb8829b.entry.js → p-0c0bd129.entry.js} +2 -96
- package/dist/beeq/p-0c0bd129.entry.js.map +1 -0
- package/dist/beeq/p-0c12aa01.entry.js +6 -0
- package/dist/beeq/p-0c12aa01.entry.js.map +1 -0
- package/dist/beeq/p-0cab9a82.entry.js +6 -0
- package/dist/beeq/p-0cab9a82.entry.js.map +1 -0
- package/dist/beeq/p-0f72dbb6.entry.js +6 -0
- package/dist/beeq/p-0f72dbb6.entry.js.map +1 -0
- package/dist/beeq/p-115ed5b2.js +1 -25
- package/dist/beeq/p-115ed5b2.js.map +1 -1
- package/dist/beeq/p-19b7bbe0.entry.js +6 -0
- package/dist/beeq/p-19b7bbe0.entry.js.map +1 -0
- package/dist/beeq/p-19c94c6d.entry.js +6 -0
- package/dist/beeq/p-19c94c6d.entry.js.map +1 -0
- package/dist/beeq/p-1b0cfcd6.entry.js +6 -0
- package/dist/beeq/p-1b0cfcd6.entry.js.map +1 -0
- package/dist/beeq/p-1c8b6eb4.js +1 -12
- package/dist/beeq/p-1c8b6eb4.js.map +1 -1
- package/dist/beeq/p-1cdea079.entry.js +6 -0
- package/dist/beeq/p-1cdea079.entry.js.map +1 -0
- package/dist/beeq/p-1defeea3.js +1 -64
- package/dist/beeq/p-1defeea3.js.map +1 -1
- package/dist/beeq/p-1f3a4359.js +1 -11
- package/dist/beeq/p-1f3a4359.js.map +1 -1
- package/dist/beeq/p-20d91acf.entry.js +6 -0
- package/dist/beeq/p-20d91acf.entry.js.map +1 -0
- package/dist/beeq/p-29d9487c.entry.js +6 -0
- package/dist/beeq/p-29d9487c.entry.js.map +1 -0
- package/dist/beeq/p-2c566eb0.entry.js +6 -0
- package/dist/beeq/p-2c566eb0.entry.js.map +1 -0
- package/dist/beeq/p-2e0e325b.entry.js +6 -0
- package/dist/beeq/p-2e0e325b.entry.js.map +1 -0
- package/dist/beeq/p-2eab5223.entry.js +6 -0
- package/dist/beeq/p-2eab5223.entry.js.map +1 -0
- package/dist/beeq/p-2ef4ed54.entry.js +6 -0
- package/dist/beeq/p-2ef4ed54.entry.js.map +1 -0
- package/dist/beeq/p-36b653f6.entry.js +6 -0
- package/dist/beeq/p-36b653f6.entry.js.map +1 -0
- package/dist/beeq/p-3c472097.js +6 -0
- package/dist/beeq/{p-c6cbb8e2.js.map → p-3c472097.js.map} +1 -1
- package/dist/beeq/p-43dc9906.entry.js +6 -0
- package/dist/beeq/p-43dc9906.entry.js.map +1 -0
- package/dist/{collection/global/scripts/global.js → beeq/p-45800965.js} +2 -2
- package/dist/beeq/p-45800965.js.map +1 -0
- package/dist/beeq/p-4c1f6afc.entry.js +6 -0
- package/dist/beeq/p-4c1f6afc.entry.js.map +1 -0
- package/dist/beeq/p-4c66663c.entry.js +6 -0
- package/dist/beeq/p-4c66663c.entry.js.map +1 -0
- package/dist/beeq/p-4d6a9646.entry.js +6 -0
- package/dist/beeq/p-4d6a9646.entry.js.map +1 -0
- package/dist/beeq/p-55b0aea8.js +6 -0
- package/dist/beeq/p-55b0aea8.js.map +1 -0
- package/dist/beeq/p-57621be1.js +1 -9
- package/dist/beeq/p-57621be1.js.map +1 -1
- package/dist/beeq/p-5c7a719c.entry.js +6 -0
- package/dist/beeq/p-5c7a719c.entry.js.map +1 -0
- package/dist/beeq/p-60094726.js +7 -0
- package/dist/beeq/p-60094726.js.map +1 -0
- package/dist/beeq/p-6079f9b2.entry.js +6 -0
- package/dist/beeq/p-6079f9b2.entry.js.map +1 -0
- package/dist/beeq/p-687da041.js +1 -20
- package/dist/beeq/p-687da041.js.map +1 -1
- package/dist/beeq/p-75cc6789.entry.js +6 -0
- package/dist/beeq/p-75cc6789.entry.js.map +1 -0
- package/dist/beeq/p-7636aff3.entry.js +6 -0
- package/dist/beeq/p-7636aff3.entry.js.map +1 -0
- package/dist/beeq/p-7f124d61.entry.js +6 -0
- package/dist/beeq/p-7f124d61.entry.js.map +1 -0
- package/dist/beeq/p-921fa1ea.entry.js +6 -0
- package/dist/beeq/p-921fa1ea.entry.js.map +1 -0
- package/dist/beeq/p-99829fc7.js +1 -8
- package/dist/beeq/p-99829fc7.js.map +1 -1
- package/dist/beeq/p-a5dc1c94.js +1 -118
- package/dist/beeq/p-a5dc1c94.js.map +1 -1
- package/dist/beeq/p-a7fb6ffd.entry.js +6 -0
- package/dist/beeq/p-a7fb6ffd.entry.js.map +1 -0
- package/dist/beeq/p-a8cad5ab.js +1 -5
- package/dist/beeq/p-a8cad5ab.js.map +1 -1
- package/dist/beeq/p-af062402.js +1 -7
- package/dist/beeq/p-af062402.js.map +1 -1
- package/dist/beeq/p-b83f174c.entry.js +6 -0
- package/dist/beeq/p-b83f174c.entry.js.map +1 -0
- package/dist/beeq/p-c09dac58.entry.js +6 -0
- package/dist/beeq/p-c09dac58.entry.js.map +1 -0
- package/dist/beeq/p-c3a0bd23.js +6 -0
- package/dist/beeq/p-c3a0bd23.js.map +1 -0
- package/dist/beeq/p-c70c6b00.entry.js +6 -0
- package/dist/beeq/p-c70c6b00.entry.js.map +1 -0
- package/dist/beeq/p-c78ae3c2.js +1 -1978
- package/dist/beeq/p-c78ae3c2.js.map +1 -1
- package/dist/beeq/p-cb3b24e6.entry.js +6 -0
- package/dist/beeq/p-cb3b24e6.entry.js.map +1 -0
- package/dist/beeq/{p-16c6ece5.entry.js → p-cf523684.entry.js} +2 -108
- package/dist/beeq/p-cf523684.entry.js.map +1 -0
- package/dist/beeq/p-d7ce7165.js +1 -86
- package/dist/beeq/p-d7ce7165.js.map +1 -1
- package/dist/beeq/p-d8221b88.entry.js +6 -0
- package/dist/beeq/p-d8221b88.entry.js.map +1 -0
- package/dist/beeq/p-d8a257b7.entry.js +6 -0
- package/dist/beeq/p-d8a257b7.entry.js.map +1 -0
- package/dist/beeq/{p-3043c826.entry.js → p-dc544089.entry.js} +2 -129
- package/dist/beeq/p-dc544089.entry.js.map +1 -0
- package/dist/beeq/p-e056c02a.entry.js +6 -0
- package/dist/beeq/p-e056c02a.entry.js.map +1 -0
- package/dist/beeq/p-eb662058.entry.js +6 -0
- package/dist/beeq/p-eb662058.entry.js.map +1 -0
- package/dist/beeq/p-ecd27cf2.js +1 -11
- package/dist/beeq/p-ecd27cf2.js.map +1 -1
- package/dist/beeq/p-f84ae6a1.entry.js +6 -0
- package/dist/beeq/p-f84ae6a1.entry.js.map +1 -0
- package/dist/beeq.html-custom-data.json +2034 -0
- package/dist/cjs/app-globals-42eaedec.js +11 -0
- package/dist/cjs/app-globals-42eaedec.js.map +1 -0
- package/dist/cjs/{assetsPath-2885c838.js → assetsPath-5e03c40e.js} +6 -5
- package/dist/cjs/assetsPath-5e03c40e.js.map +1 -0
- package/dist/cjs/beeq.cjs.js +4 -4
- package/dist/cjs/beeq.cjs.js.map +1 -1
- package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -3
- package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js +6 -6
- package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js +7 -7
- package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-avatar.cjs.entry.js +5 -5
- package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-badge.cjs.entry.js +5 -4
- package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +4 -11
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +20 -38
- package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-button_2.cjs.entry.js +10 -9
- package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-card.cjs.entry.js +4 -4
- package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-checkbox.cjs.entry.js +9 -11
- package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-date-picker.cjs.entry.js +59 -15
- package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dialog.cjs.entry.js +6 -6
- package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-divider.cjs.entry.js +8 -7
- package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-drawer.cjs.entry.js +6 -6
- package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +5 -5
- package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-empty-state.cjs.entry.js +7 -7
- package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-input.cjs.entry.js +42 -17
- package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-notification.cjs.entry.js +11 -6
- package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-list_2.cjs.entry.js +9 -8
- package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option.cjs.entry.js +5 -5
- package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-page-title.cjs.entry.js +3 -3
- package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-progress.cjs.entry.js +13 -12
- package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio-group.cjs.entry.js +68 -25
- package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio.cjs.entry.js +10 -4
- package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-select.cjs.entry.js +7 -7
- package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu.cjs.entry.js +7 -4
- package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-slider.cjs.entry.js +23 -9
- package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +9 -8
- package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-status.cjs.entry.js +3 -3
- package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-step-item.cjs.entry.js +8 -8
- package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +2 -2
- package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-switch.cjs.entry.js +57 -5
- package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tab-group.cjs.entry.js +9 -9
- package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tab.cjs.entry.js +9 -9
- package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-textarea.cjs.entry.js +62 -13
- package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-toast.cjs.entry.js +9 -4
- package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{app-globals-b11284b9.js → cally-9297cdd8.js} +5 -6
- package/dist/cjs/cally-9297cdd8.js.map +1 -0
- package/dist/cjs/{cssVariables-dd190bc2.js → cssVariables-55ad4942.js} +4 -2
- package/dist/cjs/cssVariables-55ad4942.js.map +1 -0
- package/dist/cjs/{index-34edf639.js → index-c4edfa07.js} +787 -565
- package/dist/cjs/index-c4edfa07.js.map +1 -0
- package/dist/cjs/index.cjs.js +6 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/isClient-c22372aa.js +17 -0
- package/dist/cjs/isClient-c22372aa.js.map +1 -0
- package/dist/cjs/{isDefined-869f6a26.js → isDefined-e538d669.js} +2 -2
- package/dist/cjs/{isDefined-869f6a26.js.map → isDefined-e538d669.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +2 -3
- package/dist/collection/components/accordion/bq-accordion.js +117 -18
- package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
- package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
- package/dist/collection/components/accordion-group/bq-accordion-group.js +36 -1
- package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
- package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
- package/dist/collection/components/alert/bq-alert.js +92 -10
- package/dist/collection/components/alert/bq-alert.js.map +1 -1
- package/dist/collection/components/alert/scss/bq-alert.css +1 -1
- package/dist/collection/components/avatar/bq-avatar.js +66 -4
- package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
- package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
- package/dist/collection/components/badge/bq-badge.js +36 -2
- package/dist/collection/components/badge/bq-badge.js.map +1 -1
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js +43 -119
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +50 -46
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
- package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
- package/dist/collection/components/button/bq-button.js +79 -4
- package/dist/collection/components/button/bq-button.js.map +1 -1
- package/dist/collection/components/button/scss/bq-button.css +1 -1
- package/dist/collection/components/card/bq-card.js +37 -3
- package/dist/collection/components/card/bq-card.js.map +1 -1
- package/dist/collection/components/card/scss/bq-card.css +1 -1
- package/dist/collection/components/checkbox/bq-checkbox.js +62 -9
- package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
- package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
- package/dist/collection/components/date-picker/bq-date-picker.js +233 -42
- package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
- package/dist/collection/components/dialog/bq-dialog.js +96 -12
- package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
- package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
- package/dist/collection/components/divider/bq-divider.js +53 -8
- package/dist/collection/components/divider/bq-divider.js.map +1 -1
- package/dist/collection/components/divider/scss/bq-divider.css +1 -1
- package/dist/collection/components/drawer/bq-drawer.js +75 -13
- package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
- package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
- package/dist/collection/components/dropdown/bq-dropdown.js +70 -4
- package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
- package/dist/collection/components/dropdown/scss/bq-dropdown.css +1 -1
- package/dist/collection/components/empty-state/bq-empty-state.js +25 -5
- package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
- package/dist/collection/components/empty-state/scss/bq-empty-state.css +1 -1
- package/dist/collection/components/icon/bq-icon.js +34 -2
- package/dist/collection/components/icon/bq-icon.js.map +1 -1
- package/dist/collection/components/input/bq-input.js +176 -14
- package/dist/collection/components/input/bq-input.js.map +1 -1
- package/dist/collection/components/input/scss/bq-input.css +1 -1
- package/dist/collection/components/notification/bq-notification.js +80 -10
- package/dist/collection/components/notification/bq-notification.js.map +1 -1
- package/dist/collection/components/notification/scss/bq-notification.css +1 -1
- package/dist/collection/components/option/bq-option.js +52 -4
- package/dist/collection/components/option/bq-option.js.map +1 -1
- package/dist/collection/components/option-group/bq-option-group.js +32 -1
- package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
- package/dist/collection/components/option-list/bq-option-list.js +24 -1
- package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
- package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
- package/dist/collection/components/page-title/bq-page-title.js +39 -2
- package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
- package/dist/collection/components/panel/bq-panel.js +44 -1
- package/dist/collection/components/panel/bq-panel.js.map +1 -1
- package/dist/collection/components/panel/scss/bq-panel.css +1 -1
- package/dist/collection/components/progress/bq-progress.js +108 -69
- package/dist/collection/components/progress/bq-progress.js.map +1 -1
- package/dist/collection/components/progress/scss/bq-progress.css +1 -1
- package/dist/collection/components/radio/bq-radio.js +76 -2
- package/dist/collection/components/radio/bq-radio.js.map +1 -1
- package/dist/collection/components/radio/scss/bq-radio.css +1 -1
- package/dist/collection/components/radio-group/bq-radio-group.js +187 -57
- package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
- package/dist/collection/components/radio-group/scss/bq-radio-group.css +1 -1
- package/dist/collection/components/select/bq-select.js +134 -5
- package/dist/collection/components/select/bq-select.js.map +1 -1
- package/dist/collection/components/select/scss/bq-select.css +1 -1
- package/dist/collection/components/side-menu/bq-side-menu.js +56 -3
- package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
- package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
- package/dist/collection/components/side-menu-item/bq-side-menu-item.js +43 -0
- package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
- package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
- package/dist/collection/components/slider/bq-slider.js +89 -7
- package/dist/collection/components/slider/bq-slider.js.map +1 -1
- package/dist/collection/components/slider/scss/bq-slider.css +1 -1
- package/dist/collection/components/spinner/bq-spinner.js +37 -5
- package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
- package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
- package/dist/collection/components/status/bq-status.js +24 -4
- package/dist/collection/components/status/bq-status.js.map +1 -1
- package/dist/collection/components/status/scss/bq-status.css +1 -1
- package/dist/collection/components/step-item/bq-step-item.js +44 -6
- package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
- package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
- package/dist/collection/components/steps/bq-steps.js +34 -1
- package/dist/collection/components/steps/bq-steps.js.map +1 -1
- package/dist/collection/components/switch/bq-switch.js +125 -4
- package/dist/collection/components/switch/bq-switch.js.map +1 -1
- package/dist/collection/components/switch/scss/bq-switch.css +1 -1
- package/dist/collection/components/tab/bq-tab.js +102 -43
- package/dist/collection/components/tab/bq-tab.js.map +1 -1
- package/dist/collection/components/tab/scss/bq-tab.css +1 -1
- package/dist/collection/components/tab-group/bq-tab-group.js +84 -46
- package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
- package/dist/collection/components/tab-group/scss/bq-tab-group.css +1 -1
- package/dist/collection/components/tag/bq-tag.js +70 -3
- package/dist/collection/components/tag/bq-tag.js.map +1 -1
- package/dist/collection/components/tag/scss/bq-tag.css +1 -1
- package/dist/collection/components/textarea/bq-textarea.js +176 -11
- package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
- package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
- package/dist/collection/components/toast/bq-toast.js +67 -6
- package/dist/collection/components/toast/bq-toast.js.map +1 -1
- package/dist/collection/components/tooltip/bq-tooltip.js +55 -1
- package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
- package/dist/collection/shared/utils/assetsPath.js +4 -3
- package/dist/collection/shared/utils/assetsPath.js.map +1 -1
- package/dist/collection/shared/utils/cssVariables.js +2 -1
- package/dist/collection/shared/utils/cssVariables.js.map +1 -1
- package/dist/collection/shared/utils/index.js +1 -0
- package/dist/collection/shared/utils/index.js.map +1 -1
- package/dist/collection/shared/utils/isClient.js +12 -0
- package/dist/collection/shared/utils/isClient.js.map +1 -0
- package/dist/collection/tools/generate-custom-elements-json.js +8 -7
- package/dist/collection/tools/generate-custom-elements-json.js.map +1 -1
- package/dist/components/bq-accordion-group.js +1 -114
- package/dist/components/bq-accordion-group.js.map +1 -1
- package/dist/components/bq-accordion.js +1 -311
- package/dist/components/bq-accordion.js.map +1 -1
- package/dist/components/bq-alert.js +1 -220
- package/dist/components/bq-alert.js.map +1 -1
- package/dist/components/bq-avatar.js +1 -139
- package/dist/components/bq-avatar.js.map +1 -1
- package/dist/components/bq-badge.js +1 -7
- package/dist/components/bq-badge.js.map +1 -1
- package/dist/components/bq-breadcrumb-item.js +1 -96
- package/dist/components/bq-breadcrumb-item.js.map +1 -1
- package/dist/components/bq-breadcrumb.js +1 -112
- package/dist/components/bq-breadcrumb.js.map +1 -1
- package/dist/components/bq-button.js +1 -7
- package/dist/components/bq-button.js.map +1 -1
- package/dist/components/bq-card.js +1 -86
- package/dist/components/bq-card.js.map +1 -1
- package/dist/components/bq-checkbox.js +1 -207
- package/dist/components/bq-checkbox.js.map +1 -1
- package/dist/components/bq-date-picker.js +1 -390
- package/dist/components/bq-date-picker.js.map +1 -1
- package/dist/components/bq-dialog.js +1 -252
- package/dist/components/bq-dialog.js.map +1 -1
- package/dist/components/bq-divider.js +1 -7
- package/dist/components/bq-divider.js.map +1 -1
- package/dist/components/bq-drawer.js +1 -249
- package/dist/components/bq-drawer.js.map +1 -1
- package/dist/components/bq-dropdown.js +1 -7
- package/dist/components/bq-dropdown.js.map +1 -1
- package/dist/components/bq-empty-state.js +1 -125
- package/dist/components/bq-empty-state.js.map +1 -1
- package/dist/components/bq-icon.js +1 -7
- package/dist/components/bq-icon.js.map +1 -1
- package/dist/components/bq-input.js +1 -266
- package/dist/components/bq-input.js.map +1 -1
- package/dist/components/bq-notification.js +1 -245
- package/dist/components/bq-notification.js.map +1 -1
- package/dist/components/bq-option-group.js +1 -64
- package/dist/components/bq-option-group.js.map +1 -1
- package/dist/components/bq-option-list.js +1 -7
- package/dist/components/bq-option-list.js.map +1 -1
- package/dist/components/bq-option.js +1 -137
- package/dist/components/bq-option.js.map +1 -1
- package/dist/components/bq-page-title.js +1 -82
- package/dist/components/bq-page-title.js.map +1 -1
- package/dist/components/bq-panel.js +1 -7
- package/dist/components/bq-panel.js.map +1 -1
- package/dist/components/bq-progress.js +1 -129
- package/dist/components/bq-progress.js.map +1 -1
- package/dist/components/bq-radio-group.js +1 -207
- package/dist/components/bq-radio-group.js.map +1 -1
- package/dist/components/bq-radio.js +1 -136
- package/dist/components/bq-radio.js.map +1 -1
- package/dist/components/bq-select.js +1 -452
- package/dist/components/bq-select.js.map +1 -1
- package/dist/components/bq-side-menu-item.js +1 -125
- package/dist/components/bq-side-menu-item.js.map +1 -1
- package/dist/components/bq-side-menu.js +1 -144
- package/dist/components/bq-side-menu.js.map +1 -1
- package/dist/components/bq-slider.js +1 -307
- package/dist/components/bq-slider.js.map +1 -1
- package/dist/components/bq-spinner.js +1 -167
- package/dist/components/bq-spinner.js.map +1 -1
- package/dist/components/bq-status.js +1 -82
- package/dist/components/bq-status.js.map +1 -1
- package/dist/components/bq-step-item.js +1 -119
- package/dist/components/bq-step-item.js.map +1 -1
- package/dist/components/bq-steps.js +1 -108
- package/dist/components/bq-steps.js.map +1 -1
- package/dist/components/bq-switch.js +1 -175
- package/dist/components/bq-switch.js.map +1 -1
- package/dist/components/bq-tab-group.js +1 -232
- package/dist/components/bq-tab-group.js.map +1 -1
- package/dist/components/bq-tab.js +1 -170
- package/dist/components/bq-tab.js.map +1 -1
- package/dist/components/bq-tag.js +1 -7
- package/dist/components/bq-tag.js.map +1 -1
- package/dist/components/bq-textarea.js +1 -210
- package/dist/components/bq-textarea.js.map +1 -1
- package/dist/components/bq-toast.js +1 -213
- package/dist/components/bq-toast.js.map +1 -1
- package/dist/components/bq-tooltip.js +1 -7
- package/dist/components/bq-tooltip.js.map +1 -1
- package/dist/components/index.js +1 -1246
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-07b82e50.js +6 -0
- package/dist/components/p-07b82e50.js.map +1 -0
- package/dist/components/p-1566efe3.js +6 -0
- package/dist/components/p-1566efe3.js.map +1 -0
- package/dist/components/p-1c8b6eb4.js +6 -0
- package/dist/components/p-1c8b6eb4.js.map +1 -0
- package/dist/components/p-1defeea3.js +6 -0
- package/dist/components/p-1defeea3.js.map +1 -0
- package/dist/components/p-27c1b08e.js +6 -0
- package/dist/components/p-27c1b08e.js.map +1 -0
- package/dist/components/p-28da2321.js +6 -0
- package/dist/components/p-28da2321.js.map +1 -0
- package/dist/components/p-33371480.js +6 -0
- package/dist/components/p-33371480.js.map +1 -0
- package/dist/components/p-55b0aea8.js +6 -0
- package/dist/components/p-55b0aea8.js.map +1 -0
- package/dist/components/p-57621be1.js +6 -0
- package/dist/components/p-57621be1.js.map +1 -0
- package/dist/components/p-5940b410.js +7 -0
- package/dist/components/p-5940b410.js.map +1 -0
- package/dist/components/p-603c898d.js +6 -0
- package/dist/components/p-603c898d.js.map +1 -0
- package/dist/components/p-687da041.js +6 -0
- package/dist/components/p-687da041.js.map +1 -0
- package/dist/components/p-78d23ddc.js +6 -0
- package/dist/components/p-78d23ddc.js.map +1 -0
- package/dist/components/p-7d7f1f7e.js +6 -0
- package/dist/components/p-7d7f1f7e.js.map +1 -0
- package/dist/components/p-93c16753.js +6 -0
- package/dist/components/p-93c16753.js.map +1 -0
- package/dist/components/p-99829fc7.js +6 -0
- package/dist/components/p-99829fc7.js.map +1 -0
- package/dist/components/p-a5dc1c94.js +6 -0
- package/dist/components/p-a5dc1c94.js.map +1 -0
- package/dist/components/p-a8cad5ab.js +6 -0
- package/dist/components/p-a8cad5ab.js.map +1 -0
- package/dist/components/p-af062402.js +6 -0
- package/dist/components/p-af062402.js.map +1 -0
- package/dist/components/p-c2d43340.js +6 -0
- package/dist/components/p-c2d43340.js.map +1 -0
- package/dist/components/p-c3a0bd23.js +6 -0
- package/dist/components/p-c3a0bd23.js.map +1 -0
- package/dist/components/p-c78ae3c2.js +6 -0
- package/dist/components/p-c78ae3c2.js.map +1 -0
- package/dist/components/p-cf496927.js +6 -0
- package/dist/components/p-cf496927.js.map +1 -0
- package/dist/components/p-d62fdbae.js +6 -0
- package/dist/components/p-d62fdbae.js.map +1 -0
- package/dist/components/p-d7ce7165.js +6 -0
- package/dist/components/p-d7ce7165.js.map +1 -0
- package/dist/components/p-ecd27cf2.js +6 -0
- package/dist/components/p-ecd27cf2.js.map +1 -0
- package/dist/custom-elements.json +17559 -0
- package/dist/esm/app-globals-7655df21.js +9 -0
- package/dist/esm/app-globals-7655df21.js.map +1 -0
- package/dist/esm/{assetsPath-630898a9.js → assetsPath-eed21007.js} +6 -5
- package/dist/esm/assetsPath-eed21007.js.map +1 -0
- package/dist/esm/beeq.js +5 -5
- package/dist/esm/beeq.js.map +1 -1
- package/dist/esm/bq-accordion-group.entry.js +3 -3
- package/dist/esm/bq-accordion-group.entry.js.map +1 -1
- package/dist/esm/bq-accordion.entry.js +6 -6
- package/dist/esm/bq-accordion.entry.js.map +1 -1
- package/dist/esm/bq-alert.entry.js +7 -7
- package/dist/esm/bq-alert.entry.js.map +1 -1
- package/dist/esm/bq-avatar.entry.js +5 -5
- package/dist/esm/bq-avatar.entry.js.map +1 -1
- package/dist/esm/bq-badge.entry.js +5 -4
- package/dist/esm/bq-badge.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb-item.entry.js +4 -11
- package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb.entry.js +20 -38
- package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
- package/dist/esm/bq-button_2.entry.js +10 -9
- package/dist/esm/bq-button_2.entry.js.map +1 -1
- package/dist/esm/bq-card.entry.js +4 -4
- package/dist/esm/bq-card.entry.js.map +1 -1
- package/dist/esm/bq-checkbox.entry.js +9 -11
- package/dist/esm/bq-checkbox.entry.js.map +1 -1
- package/dist/esm/bq-date-picker.entry.js +59 -15
- package/dist/esm/bq-date-picker.entry.js.map +1 -1
- package/dist/esm/bq-dialog.entry.js +6 -6
- package/dist/esm/bq-dialog.entry.js.map +1 -1
- package/dist/esm/bq-divider.entry.js +8 -7
- package/dist/esm/bq-divider.entry.js.map +1 -1
- package/dist/esm/bq-drawer.entry.js +6 -6
- package/dist/esm/bq-drawer.entry.js.map +1 -1
- package/dist/esm/bq-dropdown_2.entry.js +5 -5
- package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
- package/dist/esm/bq-empty-state.entry.js +7 -7
- package/dist/esm/bq-empty-state.entry.js.map +1 -1
- package/dist/esm/bq-input.entry.js +42 -17
- package/dist/esm/bq-input.entry.js.map +1 -1
- package/dist/esm/bq-notification.entry.js +11 -6
- package/dist/esm/bq-notification.entry.js.map +1 -1
- package/dist/esm/bq-option-group.entry.js +2 -2
- package/dist/esm/bq-option-group.entry.js.map +1 -1
- package/dist/esm/bq-option-list_2.entry.js +9 -8
- package/dist/esm/bq-option-list_2.entry.js.map +1 -1
- package/dist/esm/bq-option.entry.js +5 -5
- package/dist/esm/bq-option.entry.js.map +1 -1
- package/dist/esm/bq-page-title.entry.js +3 -3
- package/dist/esm/bq-page-title.entry.js.map +1 -1
- package/dist/esm/bq-progress.entry.js +13 -12
- package/dist/esm/bq-progress.entry.js.map +1 -1
- package/dist/esm/bq-radio-group.entry.js +68 -25
- package/dist/esm/bq-radio-group.entry.js.map +1 -1
- package/dist/esm/bq-radio.entry.js +10 -4
- package/dist/esm/bq-radio.entry.js.map +1 -1
- package/dist/esm/bq-select.entry.js +7 -7
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +2 -2
- package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
- package/dist/esm/bq-side-menu.entry.js +7 -4
- package/dist/esm/bq-side-menu.entry.js.map +1 -1
- package/dist/esm/bq-slider.entry.js +23 -9
- package/dist/esm/bq-slider.entry.js.map +1 -1
- package/dist/esm/bq-spinner.entry.js +9 -8
- package/dist/esm/bq-spinner.entry.js.map +1 -1
- package/dist/esm/bq-status.entry.js +3 -3
- package/dist/esm/bq-status.entry.js.map +1 -1
- package/dist/esm/bq-step-item.entry.js +8 -8
- package/dist/esm/bq-step-item.entry.js.map +1 -1
- package/dist/esm/bq-steps.entry.js +2 -2
- package/dist/esm/bq-steps.entry.js.map +1 -1
- package/dist/esm/bq-switch.entry.js +57 -5
- package/dist/esm/bq-switch.entry.js.map +1 -1
- package/dist/esm/bq-tab-group.entry.js +9 -9
- package/dist/esm/bq-tab-group.entry.js.map +1 -1
- package/dist/esm/bq-tab.entry.js +9 -9
- package/dist/esm/bq-tab.entry.js.map +1 -1
- package/dist/esm/bq-textarea.entry.js +62 -13
- package/dist/esm/bq-textarea.entry.js.map +1 -1
- package/dist/esm/bq-toast.entry.js +9 -4
- package/dist/esm/bq-toast.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +2 -2
- package/dist/esm/bq-tooltip.entry.js.map +1 -1
- package/dist/esm/{app-globals-de5a646b.js → cally-1a3258d6.js} +2 -6
- package/dist/esm/cally-1a3258d6.js.map +1 -0
- package/dist/esm/{cssVariables-000c23ad.js → cssVariables-3665b51c.js} +4 -2
- package/dist/esm/cssVariables-3665b51c.js.map +1 -0
- package/dist/esm/{index-033f1efb.js → index-c7d02072.js} +787 -565
- package/dist/esm/index-c7d02072.js.map +1 -0
- package/dist/esm/index.js +6 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/isClient-c6eae7ba.js +15 -0
- package/dist/esm/isClient-c6eae7ba.js.map +1 -0
- package/dist/esm/{isDefined-f356f816.js → isDefined-48de6db5.js} +2 -2
- package/dist/esm/{isDefined-f356f816.js.map → isDefined-48de6db5.js.map} +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/hydrate/index.js +12770 -10546
- package/dist/hydrate/index.mjs +12770 -10546
- package/dist/stencil.config.js +17 -4
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/accordion/bq-accordion.d.ts +100 -10
- package/dist/types/components/accordion-group/bq-accordion-group.d.ts +25 -0
- package/dist/types/components/alert/bq-alert.d.ts +71 -5
- package/dist/types/components/avatar/bq-avatar.d.ts +51 -1
- package/dist/types/components/badge/bq-badge.d.ts +28 -0
- package/dist/types/components/breadcrumb/bq-breadcrumb.d.ts +25 -17
- package/dist/types/components/breadcrumb-item/bq-breadcrumb-item.d.ts +43 -10
- package/dist/types/components/button/bq-button.d.ts +51 -0
- package/dist/types/components/card/bq-card.d.ts +31 -1
- package/dist/types/components/checkbox/bq-checkbox.d.ts +37 -1
- package/dist/types/components/date-picker/bq-date-picker.d.ts +118 -28
- package/dist/types/components/dialog/bq-dialog.d.ts +76 -8
- package/dist/types/components/divider/bq-divider.d.ts +31 -4
- package/dist/types/components/drawer/bq-drawer.d.ts +59 -9
- package/dist/types/components/dropdown/bq-dropdown.d.ts +51 -3
- package/dist/types/components/empty-state/bq-empty-state.d.ts +18 -0
- package/dist/types/components/icon/bq-icon.d.ts +21 -1
- package/dist/types/components/input/bq-input.d.ts +77 -0
- package/dist/types/components/notification/bq-notification.d.ts +57 -5
- package/dist/types/components/option/bq-option.d.ts +40 -0
- package/dist/types/components/option-group/bq-option-group.d.ts +31 -0
- package/dist/types/components/option-list/bq-option-list.d.ts +21 -0
- package/dist/types/components/page-title/bq-page-title.d.ts +37 -0
- package/dist/types/components/panel/bq-panel.d.ts +31 -0
- package/dist/types/components/progress/bq-progress.d.ts +33 -9
- package/dist/types/components/radio/bq-radio.d.ts +37 -0
- package/dist/types/components/radio-group/bq-radio-group.d.ts +53 -10
- package/dist/types/components/select/bq-select.d.ts +85 -0
- package/dist/types/components/side-menu/bq-side-menu.d.ts +45 -0
- package/dist/types/components/side-menu-item/bq-side-menu-item.d.ts +37 -0
- package/dist/types/components/slider/bq-slider.d.ts +39 -1
- package/dist/types/components/spinner/bq-spinner.d.ts +26 -0
- package/dist/types/components/status/bq-status.d.ts +21 -3
- package/dist/types/components/step-item/bq-step-item.d.ts +32 -0
- package/dist/types/components/steps/bq-steps.d.ts +27 -0
- package/dist/types/components/switch/bq-switch.d.ts +43 -0
- package/dist/types/components/tab/bq-tab.d.ts +47 -5
- package/dist/types/components/tab-group/bq-tab-group.d.ts +34 -8
- package/dist/types/components/tag/bq-tag.d.ts +49 -0
- package/dist/types/components/textarea/bq-textarea.d.ts +74 -0
- package/dist/types/components/toast/bq-toast.d.ts +47 -2
- package/dist/types/components/tooltip/bq-tooltip.d.ts +40 -0
- package/dist/types/components.d.ts +5795 -71
- package/dist/types/global.d.ts +26 -0
- package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/packages/beeq/.stencil/tailwind.config.d.ts +104 -78
- package/dist/types/shared/utils/index.d.ts +1 -0
- package/dist/types/shared/utils/isClient.d.ts +5 -0
- package/dist/types/stencil-public-runtime.d.ts +2 -0
- package/dist/types/tools/generate-custom-elements-json.d.ts +1 -1
- package/package.json +24 -24
- package/dist/beeq/p-01df4baa.js +0 -1826
- package/dist/beeq/p-01df4baa.js.map +0 -1
- package/dist/beeq/p-01fe8efb.entry.js +0 -182
- package/dist/beeq/p-01fe8efb.entry.js.map +0 -1
- package/dist/beeq/p-03373320.entry.js +0 -318
- package/dist/beeq/p-03373320.entry.js.map +0 -1
- package/dist/beeq/p-03c586df.entry.js +0 -292
- package/dist/beeq/p-03c586df.entry.js.map +0 -1
- package/dist/beeq/p-0a981080.entry.js +0 -154
- package/dist/beeq/p-0a981080.entry.js.map +0 -1
- package/dist/beeq/p-0ce76c54.entry.js +0 -103
- package/dist/beeq/p-0ce76c54.entry.js.map +0 -1
- package/dist/beeq/p-119526cc.entry.js +0 -272
- package/dist/beeq/p-119526cc.entry.js.map +0 -1
- package/dist/beeq/p-16c6ece5.entry.js.map +0 -1
- package/dist/beeq/p-3043c826.entry.js.map +0 -1
- package/dist/beeq/p-38e70f78.entry.js +0 -133
- package/dist/beeq/p-38e70f78.entry.js.map +0 -1
- package/dist/beeq/p-398bfb48.entry.js +0 -242
- package/dist/beeq/p-398bfb48.entry.js.map +0 -1
- package/dist/beeq/p-3fd0d92d.js +0 -1233
- package/dist/beeq/p-3fd0d92d.js.map +0 -1
- package/dist/beeq/p-41ac1d84.entry.js +0 -195
- package/dist/beeq/p-41ac1d84.entry.js.map +0 -1
- package/dist/beeq/p-4eabcd51.entry.js +0 -82
- package/dist/beeq/p-4eabcd51.entry.js.map +0 -1
- package/dist/beeq/p-5ff6621d.entry.js +0 -134
- package/dist/beeq/p-5ff6621d.entry.js.map +0 -1
- package/dist/beeq/p-60cbc966.entry.js +0 -85
- package/dist/beeq/p-60cbc966.entry.js.map +0 -1
- package/dist/beeq/p-67a7b85a.entry.js +0 -528
- package/dist/beeq/p-67a7b85a.entry.js.map +0 -1
- package/dist/beeq/p-68ff188d.entry.js +0 -144
- package/dist/beeq/p-68ff188d.entry.js.map +0 -1
- package/dist/beeq/p-69c766a3.entry.js +0 -213
- package/dist/beeq/p-69c766a3.entry.js.map +0 -1
- package/dist/beeq/p-7d789231.entry.js +0 -347
- package/dist/beeq/p-7d789231.entry.js.map +0 -1
- package/dist/beeq/p-8512b8ee.entry.js +0 -455
- package/dist/beeq/p-8512b8ee.entry.js.map +0 -1
- package/dist/beeq/p-8b16f130.entry.js +0 -210
- package/dist/beeq/p-8b16f130.entry.js.map +0 -1
- package/dist/beeq/p-9cab14ee.entry.js +0 -119
- package/dist/beeq/p-9cab14ee.entry.js.map +0 -1
- package/dist/beeq/p-a23b23c4.entry.js +0 -213
- package/dist/beeq/p-a23b23c4.entry.js.map +0 -1
- package/dist/beeq/p-aacaaa35.entry.js +0 -209
- package/dist/beeq/p-aacaaa35.entry.js.map +0 -1
- package/dist/beeq/p-b2df1479.entry.js +0 -270
- package/dist/beeq/p-b2df1479.entry.js.map +0 -1
- package/dist/beeq/p-b48788b5.js +0 -72
- package/dist/beeq/p-b48788b5.js.map +0 -1
- package/dist/beeq/p-b77b52f2.entry.js +0 -188
- package/dist/beeq/p-b77b52f2.entry.js.map +0 -1
- package/dist/beeq/p-c6cbb8e2.js +0 -16
- package/dist/beeq/p-c83bc7fd.entry.js +0 -157
- package/dist/beeq/p-c83bc7fd.entry.js.map +0 -1
- package/dist/beeq/p-cb2b0014.entry.js +0 -363
- package/dist/beeq/p-cb2b0014.entry.js.map +0 -1
- package/dist/beeq/p-cb917e68.entry.js +0 -177
- package/dist/beeq/p-cb917e68.entry.js.map +0 -1
- package/dist/beeq/p-cfb8829b.entry.js.map +0 -1
- package/dist/beeq/p-d7067dae.entry.js +0 -151
- package/dist/beeq/p-d7067dae.entry.js.map +0 -1
- package/dist/beeq/p-d7dc7086.entry.js +0 -267
- package/dist/beeq/p-d7dc7086.entry.js.map +0 -1
- package/dist/beeq/p-e707bd79.entry.js +0 -458
- package/dist/beeq/p-e707bd79.entry.js.map +0 -1
- package/dist/beeq/p-e76e346b.entry.js +0 -334
- package/dist/beeq/p-e76e346b.entry.js.map +0 -1
- package/dist/beeq/p-edfd9767.js +0 -31
- package/dist/beeq/p-edfd9767.js.map +0 -1
- package/dist/beeq/p-f11a3beb.entry.js +0 -90
- package/dist/beeq/p-f11a3beb.entry.js.map +0 -1
- package/dist/beeq/p-f1d6a960.entry.js +0 -271
- package/dist/beeq/p-f1d6a960.entry.js.map +0 -1
- package/dist/beeq/p-f350516b.entry.js +0 -154
- package/dist/beeq/p-f350516b.entry.js.map +0 -1
- package/dist/beeq/p-f979d79a.entry.js +0 -120
- package/dist/beeq/p-f979d79a.entry.js.map +0 -1
- package/dist/beeq/p-faa3be41.entry.js +0 -159
- package/dist/beeq/p-faa3be41.entry.js.map +0 -1
- package/dist/beeq/p-fe278ecc.entry.js +0 -267
- package/dist/beeq/p-fe278ecc.entry.js.map +0 -1
- package/dist/cjs/app-globals-b11284b9.js.map +0 -1
- package/dist/cjs/assetsPath-2885c838.js.map +0 -1
- package/dist/cjs/cssVariables-dd190bc2.js.map +0 -1
- package/dist/cjs/index-34edf639.js.map +0 -1
- package/dist/collection/global/scripts/global.js.map +0 -1
- package/dist/components/bq-badge2.js +0 -125
- package/dist/components/bq-badge2.js.map +0 -1
- package/dist/components/bq-button2.js +0 -208
- package/dist/components/bq-button2.js.map +0 -1
- package/dist/components/bq-divider2.js +0 -159
- package/dist/components/bq-divider2.js.map +0 -1
- package/dist/components/bq-dropdown2.js +0 -155
- package/dist/components/bq-dropdown2.js.map +0 -1
- package/dist/components/bq-icon2.js +0 -315
- package/dist/components/bq-icon2.js.map +0 -1
- package/dist/components/bq-option-list2.js +0 -76
- package/dist/components/bq-option-list2.js.map +0 -1
- package/dist/components/bq-panel2.js +0 -135
- package/dist/components/bq-panel2.js.map +0 -1
- package/dist/components/bq-steps.types.js +0 -10
- package/dist/components/bq-steps.types.js.map +0 -1
- package/dist/components/bq-tab.types.js +0 -11
- package/dist/components/bq-tab.types.js.map +0 -1
- package/dist/components/bq-tag2.js +0 -271
- package/dist/components/bq-tag2.js.map +0 -1
- package/dist/components/bq-tooltip2.js +0 -178
- package/dist/components/bq-tooltip2.js.map +0 -1
- package/dist/components/cssVariables.js +0 -34
- package/dist/components/cssVariables.js.map +0 -1
- package/dist/components/debounce.js +0 -73
- package/dist/components/debounce.js.map +0 -1
- package/dist/components/event.js +0 -18
- package/dist/components/event.js.map +0 -1
- package/dist/components/index2.js +0 -2138
- package/dist/components/index2.js.map +0 -1
- package/dist/components/isDefined.js +0 -19
- package/dist/components/isDefined.js.map +0 -1
- package/dist/components/isHTMLElement.js +0 -17
- package/dist/components/isHTMLElement.js.map +0 -1
- package/dist/components/isNil.js +0 -16
- package/dist/components/isNil.js.map +0 -1
- package/dist/components/isString.js +0 -21
- package/dist/components/isString.js.map +0 -1
- package/dist/components/props.js +0 -27
- package/dist/components/props.js.map +0 -1
- package/dist/components/slot.js +0 -85
- package/dist/components/slot.js.map +0 -1
- package/dist/components/transition.js +0 -131
- package/dist/components/transition.js.map +0 -1
- package/dist/esm/app-globals-de5a646b.js.map +0 -1
- package/dist/esm/assetsPath-630898a9.js.map +0 -1
- package/dist/esm/cssVariables-000c23ad.js.map +0 -1
- package/dist/esm/index-033f1efb.js.map +0 -1
- package/dist/types/global/scripts/global.d.ts +0 -18
- /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +0 -0
|
@@ -5,6 +5,69 @@
|
|
|
5
5
|
import { h, } from "@stencil/core";
|
|
6
6
|
import { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, isString } from "../../shared/utils";
|
|
7
7
|
/**
|
|
8
|
+
* The select input component lets users choose from a predefined list, commonly used in forms for easy data selection.
|
|
9
|
+
*
|
|
10
|
+
* @example How to use it
|
|
11
|
+
* ```html
|
|
12
|
+
* <bq-select placeholder="Placeholder">
|
|
13
|
+
* <label slot="label">Select label</label>
|
|
14
|
+
* <span slot="helper-text">
|
|
15
|
+
* <bq-icon name="star"></bq-icon>
|
|
16
|
+
* Helper text
|
|
17
|
+
* </span>
|
|
18
|
+
*
|
|
19
|
+
* <bq-option value="1">Option 1</bq-option>
|
|
20
|
+
* <bq-option value="2">Option 2</bq-option>
|
|
21
|
+
* <bq-option value="3">Option 3</bq-option>
|
|
22
|
+
* </bq-select>
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @documentation https://www.beeq.design/3d466e231/p/41989d-select/b/09d7b1
|
|
26
|
+
* @status stable
|
|
27
|
+
*
|
|
28
|
+
* @dependency bq-button
|
|
29
|
+
* @dependency bq-dropdown
|
|
30
|
+
* @dependency bq-icon
|
|
31
|
+
* @dependency bq-option-list
|
|
32
|
+
* @dependency bq-tag
|
|
33
|
+
*
|
|
34
|
+
* @attr {boolean} autofocus - If `true`, the Select input will be focused on component render.
|
|
35
|
+
* @attr {string} clear-button-label - The clear button aria label.
|
|
36
|
+
* @attr {number} debounce-time - The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.
|
|
37
|
+
* @attr {boolean} disable-clear - If `true`, the clear button won't be displayed.
|
|
38
|
+
* @attr {boolean} disabled - Indicates whether the Select input is disabled and cannot be interacted with.
|
|
39
|
+
* @attr {number} distance - Represents the distance (gutter or margin) between the Select panel and the input element.
|
|
40
|
+
* @attr {string} form - The ID of the form that Select input field belongs to.
|
|
41
|
+
* @attr {boolean} keep-open-on-select - If `true`, the Select panel will remain open after a selection is made.
|
|
42
|
+
* @attr {number} max-tags-visible - The maximum number of tags to display when multiple selection is enabled.
|
|
43
|
+
* @attr {boolean} multiple - If `true`, the Select input will allow multiple selections.
|
|
44
|
+
* @attr {string} name - The Select input name.
|
|
45
|
+
* @attr {boolean} open - If `true`, the Select panel will be visible.
|
|
46
|
+
* @attr {string} panel-height - When set, it will override the height of the Select panel.
|
|
47
|
+
* @attr {string} placeholder - The Select input placeholder text value.
|
|
48
|
+
* @attr {"bottom" | "bottom-end" | "bottom-start" | "left" | "left-end" | "left-start" | "right" | "right-end" | "right-start" | "top" | "top-end" | "top-start"} placement - Position of the Select panel.
|
|
49
|
+
* @attr {boolean} readonly - If `true`, the Select input cannot be modified.
|
|
50
|
+
* @attr {boolean} required - Indicates whether or not the Select input is required to be filled out before submitting the form.
|
|
51
|
+
* @attr {boolean} same-width - Whether the panel should have the Select same width as the input element.
|
|
52
|
+
* @attr {number} skidding - Represents the skidding between the Select panel and the input element.
|
|
53
|
+
* @attr {"absolute" | "fixed"} strategy - Defines the strategy to position the Select panel.
|
|
54
|
+
* @attr {"error" | "success" | "warning" | "none"} validation-status - The validation status of the Select input.
|
|
55
|
+
* @attr {"number" | "string" | "string[]"} value - The select input value can be used to reset the field to a previous value.
|
|
56
|
+
*
|
|
57
|
+
* @method clear - Method to be called to clear the selected value.
|
|
58
|
+
*
|
|
59
|
+
* @event bqBlur - The callback handler is emitted when the Select input loses focus.
|
|
60
|
+
* @event bqClear - The callback handler is emitted when the selected value has been cleared.
|
|
61
|
+
* @event bqFocus - A callback handler is emitted when the Select input has received focus.
|
|
62
|
+
* @event bqSelect - The callback handler is emitted when the selected value has changed.
|
|
63
|
+
*
|
|
64
|
+
* @slot label - The label slot container.
|
|
65
|
+
* @slot prefix - The prefix slot container.
|
|
66
|
+
* @slot tags - The tags slot container.
|
|
67
|
+
* @slot clear-icon - The clear icon slot container.
|
|
68
|
+
* @slot suffix - The suffix slot container.
|
|
69
|
+
* @slot helper-text - The helper text slot container.
|
|
70
|
+
*
|
|
8
71
|
* @part base - The component's base wrapper.
|
|
9
72
|
* @part button - The native HTML button used under the hood in the clear button.
|
|
10
73
|
* @part clear-btn - The clear button.
|
|
@@ -23,6 +86,28 @@ import { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, isString } f
|
|
|
23
86
|
* @part tag__text - The text slot container of the BqTag for multiple selection.
|
|
24
87
|
* @part tag__btn-close - The close button of the BqTag for multiple selection.
|
|
25
88
|
* @part option-list - The option list container.
|
|
89
|
+
*
|
|
90
|
+
* @cssprop --bq-select--background-color - Select background color
|
|
91
|
+
* @cssprop --bq-select--border-color - Select border color
|
|
92
|
+
* @cssprop --bq-select--border-color-focus - Select border color on focus
|
|
93
|
+
* @cssprop --bq-select--border-color-disabled - Select border color when disabled
|
|
94
|
+
* @cssprop --bq-select--border-radius - Select border radius
|
|
95
|
+
* @cssprop --bq-select--border-width - Select border width
|
|
96
|
+
* @cssprop --bq-select--border-style - Select border style
|
|
97
|
+
* @cssprop --bq-select--gap - Gap between Select content and prefix/suffix
|
|
98
|
+
* @cssprop --bq-select--helper-margin-top - Helper text margin top
|
|
99
|
+
* @cssprop --bq-select--helper-text-color - Helper text color
|
|
100
|
+
* @cssprop --bq-select--helper-text-size - Helper text size
|
|
101
|
+
* @cssprop --bq-select--icon-size - Icon size to use in prefix/suffix and clear button
|
|
102
|
+
* @cssprop --bq-select--label-margin-bottom - Select label margin bottom
|
|
103
|
+
* @cssprop --bq-select--label-text-color - Select label text color
|
|
104
|
+
* @cssprop --bq-select--label-text-size - Select label text size
|
|
105
|
+
* @cssprop --bq-select--padding-start - Select padding start
|
|
106
|
+
* @cssprop --bq-select--padding-end - Select padding end
|
|
107
|
+
* @cssprop --bq-select--paddingY - Select padding top and bottom
|
|
108
|
+
* @cssprop --bq-select--text-color - Select text color
|
|
109
|
+
* @cssprop --bq-select--text-size - Select text size
|
|
110
|
+
* @cssprop --bq-select--text-placeholder-color - Select placeholder text color
|
|
26
111
|
*/
|
|
27
112
|
export class BqSelect {
|
|
28
113
|
constructor() {
|
|
@@ -350,19 +435,19 @@ export class BqSelect {
|
|
|
350
435
|
// ===================================
|
|
351
436
|
render() {
|
|
352
437
|
const labelId = `bq-select__label-${this.name || this.fallbackInputId}`;
|
|
353
|
-
return (h("div", { key: '
|
|
438
|
+
return (h("div", { key: 'e6594936339459af78d12f65c5e9f95d20fe5812', class: "bq-select", part: "base" }, h("label", { key: 'f73f9b34d1d0e15b90e1706e79a4d87b78767b9e', id: labelId, class: { 'bq-select__label': true, '!hidden': !this.hasLabel }, "aria-label": this.name || this.fallbackInputId, htmlFor: this.name || this.fallbackInputId, ref: (labelElem) => (this.labelElem = labelElem), part: "label" }, h("slot", { key: '2b3077bbc8785f8372a74f28478bcb9ea3077cfc', name: "label", onSlotchange: this.handleLabelSlotChange })), h("bq-dropdown", { key: '9b2afa55ffb3bc888e20795a141ae3ddb9ea2796', class: "bq-select__dropdown w-full", disabled: this.disabled, distance: this.distance, keepOpenOnSelect: this.keepOpenOnSelect, open: this.open, panelHeight: this.panelHeight, placement: this.placement, sameWidth: this.sameWidth, skidding: this.skidding, strategy: this.strategy, exportparts: "panel" }, h("div", { key: '9603169c243e9785d7f4ccc442de047028ea34ee', class: {
|
|
354
439
|
'bq-select__control': true,
|
|
355
440
|
[`validation-${this.validationStatus}`]: true,
|
|
356
441
|
disabled: this.disabled,
|
|
357
|
-
}, part: "control", slot: "trigger" }, h("span", { key: '
|
|
442
|
+
}, part: "control", slot: "trigger" }, h("span", { key: 'a1696621c9097a651d993a3064f0b8f0d411673f', class: { 'bq-select__control--prefix': true, '!hidden': !this.hasPrefix }, ref: (spanElem) => (this.prefixElem = spanElem), part: "prefix" }, h("slot", { key: 'f67dc4452f3472007f5e364ea8d6a2b03f5fd836', name: "prefix", onSlotchange: this.handlePrefixSlotChange })), h("div", { key: '69512207e2c41b179bfe6715c0c8fa106dc034ee', class: "flex flex-1 overflow-x-auto", part: "input-outline" }, this.multiple && (h("span", { key: '788a387d2d96bf7ee9edd01aef9b13b00f49122c', class: "bq-select__tags", part: "tags" }, h("slot", { key: '7811cf73e127e74cdad099d3573615b25b318910', name: "tags" }, this.displayTags))), h("input", { key: '4b7780e8e5891dda3fa6634fc8ea67f05154566a', id: this.name || this.fallbackInputId, class: "bq-select__control--input flex-grow is-full", autoComplete: "off", autoCapitalize: "off", "aria-disabled": this.disabled ? 'true' : 'false', "aria-controls": `bq-options-${this.name}`, "aria-expanded": this.open ? 'true' : 'false', "aria-haspopup": "listbox", disabled: this.disabled, form: this.form, name: this.name, placeholder: this.displayPlaceholder, ref: (inputElem) => (this.inputElem = inputElem), readOnly: this.readonly, required: this.required, role: "combobox", spellcheck: false, type: "text", value: this.displayValue, part: "input",
|
|
358
443
|
// Events
|
|
359
444
|
onBlur: this.handleBlur, onFocus: this.handleFocus, onInput: this.handleSearchFilter })), this.hasClearIcon && (
|
|
360
445
|
// The clear button will be visible as long as the input has a value
|
|
361
446
|
// and the parent group is hovered or has focus-within
|
|
362
|
-
h("bq-button", { key: '
|
|
447
|
+
h("bq-button", { key: '1a49969395e818e1aa690ef7f6f3341298a5525e', class: "bq-select__control--clear ms-[--bq-select--gap]", appearance: "text", "aria-label": this.clearButtonLabel, size: "small", onBqClick: this.handleClearClick, part: "clear-btn", exportparts: "button", tabIndex: -1 }, h("slot", { key: '77cc72468f4586c0099143e67f802f07e2a9c7e8', name: "clear-icon" }, h("bq-icon", { key: '489421c4e84cee9ded157fd9cd230c2d3f279c59', name: "x-circle", class: "flex" })))), h("span", { key: '0c0fcf860875c355a84ddf5918536f9ce08848e8', class: { 'bq-select__control--suffix': true, 'rotate-180': this.open, 'rotate-0': !this.open }, ref: (spanElem) => (this.suffixElem = spanElem), part: "suffix" }, h("slot", { key: 'a1d929c69b5b7db4fb02f0b7fd2e7409fd971b36', name: "suffix", onSlotchange: this.handleSuffixSlotChange }, h("bq-icon", { key: '8d20019ffa6354c3e5aad8131e74fd6802b65e01', name: "caret-down", class: "flex" })))), h("bq-option-list", { key: 'd0f740cf75a6f8d400211dabafd06c2248fed03c', id: `bq-options-${this.name}`, onBqSelect: this.handleSelect, "aria-expanded": this.open ? 'true' : 'false', exportparts: "base:option-list", role: "listbox" }, h("slot", { key: '338ab1d438ff3af454cf013940d72bb1ca1f7979' }))), h("div", { key: '27d16b1f70a68cb54d7babc622d83d920b60b0b3', class: {
|
|
363
448
|
[`bq-select__helper-text validation-${this.validationStatus}`]: true,
|
|
364
449
|
'!hidden': !this.hasHelperText,
|
|
365
|
-
}, ref: (divElem) => (this.helperTextElem = divElem), part: "helper-text" }, h("slot", { key: '
|
|
450
|
+
}, ref: (divElem) => (this.helperTextElem = divElem), part: "helper-text" }, h("slot", { key: 'fc326c6dcf8de3dca5b2ef6bcd7f07f23c57891f', name: "helper-text", onSlotchange: this.handleHelperTextSlotChange }))));
|
|
366
451
|
}
|
|
367
452
|
static get is() { return "bq-select"; }
|
|
368
453
|
static get encapsulation() { return "shadow"; }
|
|
@@ -394,6 +479,8 @@ export class BqSelect {
|
|
|
394
479
|
"tags": [],
|
|
395
480
|
"text": "If true, the Select input will be focused on component render"
|
|
396
481
|
},
|
|
482
|
+
"getter": false,
|
|
483
|
+
"setter": false,
|
|
397
484
|
"attribute": "autofocus",
|
|
398
485
|
"reflect": true
|
|
399
486
|
},
|
|
@@ -411,6 +498,8 @@ export class BqSelect {
|
|
|
411
498
|
"tags": [],
|
|
412
499
|
"text": "The clear button aria label"
|
|
413
500
|
},
|
|
501
|
+
"getter": false,
|
|
502
|
+
"setter": false,
|
|
414
503
|
"attribute": "clear-button-label",
|
|
415
504
|
"reflect": true,
|
|
416
505
|
"defaultValue": "'Clear value'"
|
|
@@ -429,6 +518,8 @@ export class BqSelect {
|
|
|
429
518
|
"tags": [],
|
|
430
519
|
"text": "The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\nA value of 0 means no debouncing will occur."
|
|
431
520
|
},
|
|
521
|
+
"getter": false,
|
|
522
|
+
"setter": false,
|
|
432
523
|
"attribute": "debounce-time",
|
|
433
524
|
"reflect": true,
|
|
434
525
|
"defaultValue": "0"
|
|
@@ -447,6 +538,8 @@ export class BqSelect {
|
|
|
447
538
|
"tags": [],
|
|
448
539
|
"text": "Indicates whether the Select input is disabled or not.\nIf `true`, the Select is disabled and cannot be interacted with."
|
|
449
540
|
},
|
|
541
|
+
"getter": false,
|
|
542
|
+
"setter": false,
|
|
450
543
|
"attribute": "disabled",
|
|
451
544
|
"reflect": false,
|
|
452
545
|
"defaultValue": "false"
|
|
@@ -465,6 +558,8 @@ export class BqSelect {
|
|
|
465
558
|
"tags": [],
|
|
466
559
|
"text": "If true, the clear button won't be displayed"
|
|
467
560
|
},
|
|
561
|
+
"getter": false,
|
|
562
|
+
"setter": false,
|
|
468
563
|
"attribute": "disable-clear",
|
|
469
564
|
"reflect": true,
|
|
470
565
|
"defaultValue": "false"
|
|
@@ -483,6 +578,8 @@ export class BqSelect {
|
|
|
483
578
|
"tags": [],
|
|
484
579
|
"text": "Represents the distance (gutter or margin) between the Select panel and the input element."
|
|
485
580
|
},
|
|
581
|
+
"getter": false,
|
|
582
|
+
"setter": false,
|
|
486
583
|
"attribute": "distance",
|
|
487
584
|
"reflect": true,
|
|
488
585
|
"defaultValue": "8"
|
|
@@ -501,6 +598,8 @@ export class BqSelect {
|
|
|
501
598
|
"tags": [],
|
|
502
599
|
"text": "The ID of the form that the Select input belongs to."
|
|
503
600
|
},
|
|
601
|
+
"getter": false,
|
|
602
|
+
"setter": false,
|
|
504
603
|
"attribute": "form",
|
|
505
604
|
"reflect": true
|
|
506
605
|
},
|
|
@@ -518,6 +617,8 @@ export class BqSelect {
|
|
|
518
617
|
"tags": [],
|
|
519
618
|
"text": "If true, the Select panel will remain open after a selection is made."
|
|
520
619
|
},
|
|
620
|
+
"getter": false,
|
|
621
|
+
"setter": false,
|
|
521
622
|
"attribute": "keep-open-on-select",
|
|
522
623
|
"reflect": true,
|
|
523
624
|
"defaultValue": "false"
|
|
@@ -536,6 +637,8 @@ export class BqSelect {
|
|
|
536
637
|
"tags": [],
|
|
537
638
|
"text": "The Select input name."
|
|
538
639
|
},
|
|
640
|
+
"getter": false,
|
|
641
|
+
"setter": false,
|
|
539
642
|
"attribute": "name",
|
|
540
643
|
"reflect": true
|
|
541
644
|
},
|
|
@@ -553,6 +656,8 @@ export class BqSelect {
|
|
|
553
656
|
"tags": [],
|
|
554
657
|
"text": "The maximum number of tags to display when multiple selection is enabled"
|
|
555
658
|
},
|
|
659
|
+
"getter": false,
|
|
660
|
+
"setter": false,
|
|
556
661
|
"attribute": "max-tags-visible",
|
|
557
662
|
"reflect": false,
|
|
558
663
|
"defaultValue": "2"
|
|
@@ -571,6 +676,8 @@ export class BqSelect {
|
|
|
571
676
|
"tags": [],
|
|
572
677
|
"text": "If true, the Select input will allow multiple selections."
|
|
573
678
|
},
|
|
679
|
+
"getter": false,
|
|
680
|
+
"setter": false,
|
|
574
681
|
"attribute": "multiple",
|
|
575
682
|
"reflect": true,
|
|
576
683
|
"defaultValue": "false"
|
|
@@ -589,6 +696,8 @@ export class BqSelect {
|
|
|
589
696
|
"tags": [],
|
|
590
697
|
"text": "If true, the Select panel will be visible."
|
|
591
698
|
},
|
|
699
|
+
"getter": false,
|
|
700
|
+
"setter": false,
|
|
592
701
|
"attribute": "open",
|
|
593
702
|
"reflect": true,
|
|
594
703
|
"defaultValue": "false"
|
|
@@ -607,6 +716,8 @@ export class BqSelect {
|
|
|
607
716
|
"tags": [],
|
|
608
717
|
"text": "When set, it will override the height of the Select panel."
|
|
609
718
|
},
|
|
719
|
+
"getter": false,
|
|
720
|
+
"setter": false,
|
|
610
721
|
"attribute": "panel-height",
|
|
611
722
|
"reflect": true
|
|
612
723
|
},
|
|
@@ -624,6 +735,8 @@ export class BqSelect {
|
|
|
624
735
|
"tags": [],
|
|
625
736
|
"text": "The Select input placeholder text value"
|
|
626
737
|
},
|
|
738
|
+
"getter": false,
|
|
739
|
+
"setter": false,
|
|
627
740
|
"attribute": "placeholder",
|
|
628
741
|
"reflect": true
|
|
629
742
|
},
|
|
@@ -647,6 +760,8 @@ export class BqSelect {
|
|
|
647
760
|
"tags": [],
|
|
648
761
|
"text": "Position of the Select panel"
|
|
649
762
|
},
|
|
763
|
+
"getter": false,
|
|
764
|
+
"setter": false,
|
|
650
765
|
"attribute": "placement",
|
|
651
766
|
"reflect": true,
|
|
652
767
|
"defaultValue": "'bottom'"
|
|
@@ -665,6 +780,8 @@ export class BqSelect {
|
|
|
665
780
|
"tags": [],
|
|
666
781
|
"text": "If true, the list of options cannot be filtered (searching won't be available)"
|
|
667
782
|
},
|
|
783
|
+
"getter": false,
|
|
784
|
+
"setter": false,
|
|
668
785
|
"attribute": "readonly",
|
|
669
786
|
"reflect": true
|
|
670
787
|
},
|
|
@@ -682,6 +799,8 @@ export class BqSelect {
|
|
|
682
799
|
"tags": [],
|
|
683
800
|
"text": "Indicates whether or not the Select input is required to be filled out before submitting the form."
|
|
684
801
|
},
|
|
802
|
+
"getter": false,
|
|
803
|
+
"setter": false,
|
|
685
804
|
"attribute": "required",
|
|
686
805
|
"reflect": true
|
|
687
806
|
},
|
|
@@ -699,6 +818,8 @@ export class BqSelect {
|
|
|
699
818
|
"tags": [],
|
|
700
819
|
"text": "Whether the panel should have the Select same width as the input element"
|
|
701
820
|
},
|
|
821
|
+
"getter": false,
|
|
822
|
+
"setter": false,
|
|
702
823
|
"attribute": "same-width",
|
|
703
824
|
"reflect": true,
|
|
704
825
|
"defaultValue": "true"
|
|
@@ -717,6 +838,8 @@ export class BqSelect {
|
|
|
717
838
|
"tags": [],
|
|
718
839
|
"text": "Represents the skidding between the Select panel and the input element."
|
|
719
840
|
},
|
|
841
|
+
"getter": false,
|
|
842
|
+
"setter": false,
|
|
720
843
|
"attribute": "skidding",
|
|
721
844
|
"reflect": true,
|
|
722
845
|
"defaultValue": "0"
|
|
@@ -735,6 +858,8 @@ export class BqSelect {
|
|
|
735
858
|
"tags": [],
|
|
736
859
|
"text": "Defines the strategy to position the Select panel"
|
|
737
860
|
},
|
|
861
|
+
"getter": false,
|
|
862
|
+
"setter": false,
|
|
738
863
|
"attribute": "strategy",
|
|
739
864
|
"reflect": true,
|
|
740
865
|
"defaultValue": "'fixed'"
|
|
@@ -762,6 +887,8 @@ export class BqSelect {
|
|
|
762
887
|
}],
|
|
763
888
|
"text": "The validation status of the Select input."
|
|
764
889
|
},
|
|
890
|
+
"getter": false,
|
|
891
|
+
"setter": false,
|
|
765
892
|
"attribute": "validation-status",
|
|
766
893
|
"reflect": true,
|
|
767
894
|
"defaultValue": "'none'"
|
|
@@ -775,7 +902,7 @@ export class BqSelect {
|
|
|
775
902
|
"references": {
|
|
776
903
|
"TSelectValue": {
|
|
777
904
|
"location": "local",
|
|
778
|
-
"path": "/
|
|
905
|
+
"path": "/home/runner/work/BEEQ/BEEQ/packages/beeq/src/components/select/bq-select.tsx",
|
|
779
906
|
"id": "../../packages/beeq/src/components/select/bq-select.tsx::TSelectValue"
|
|
780
907
|
}
|
|
781
908
|
}
|
|
@@ -786,6 +913,8 @@ export class BqSelect {
|
|
|
786
913
|
"tags": [],
|
|
787
914
|
"text": "The select input value, it can be used to reset the field to a previous value"
|
|
788
915
|
},
|
|
916
|
+
"getter": false,
|
|
917
|
+
"setter": false,
|
|
789
918
|
"attribute": "value",
|
|
790
919
|
"reflect": true
|
|
791
920
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bq-select.js","sourceRoot":"","sources":["../../../../../../src/components/select/bq-select.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAa,MAAM,oBAAoB,CAAC;AAKpH;;;;;;;;;;;;;;;;;;;GAmBG;AASH,MAAM,OAAO,QAAQ;;;6BAyBM,KAAK;+BACoB,EAAE;wBAEhC,KAAK;yBACJ,KAAK;yBACL,KAAK;wBACN,KAAK;;gCASoB,aAAa;4BAMF,CAAC;wBAMX,KAAK;4BAGV,KAAK;wBAGD,CAAC;;gCAMQ,KAAK;;8BAMT,CAAC;wBAGL,KAAK;oBAGM,KAAK;;;yBASb,QAAQ;;;yBASV,IAAI;wBAGN,CAAC;wBAGa,OAAO;gCAYJ,MAAM;;;IA/GpE,iBAAiB;IACjB,uBAAuB;IAEf,cAAc,CAAe;IAC7B,SAAS,CAAoB;IAC7B,SAAS,CAAe;IACxB,UAAU,CAAe;IACzB,UAAU,CAAe;IAEzB,aAAa,CAAkB;IAE/B,eAAe,GAAG,QAAQ,CAAC;IAEnC,iCAAiC;IACjC,sCAAsC;IAE3B,EAAE,CAAuB;IACjB,SAAS,CAAoB;IAmGhD,wBAAwB;IACxB,0BAA0B;IAG1B,iBAAiB;QACf,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,2GAA2G;YAC3G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB;IACjB,+CAA+C;IAC/C,iDAAiD;IAEjD,iEAAiE;IACxD,MAAM,CAAqC;IAEpD,wEAAwE;IAC/D,OAAO,CAAqC;IAErD,wEAAwE;IAC/D,OAAO,CAAqC;IAErD,mEAAmE;IAC1D,QAAQ,CAAkF;IAEnG,6BAA6B;IAC7B,sCAAsC;IACtC,wCAAwC;IAExC,iBAAiB;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO;QAE9B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,YAAY;IACZ,iBAAiB;IAGjB,gBAAgB,CAAC,EAAkC;QACjD,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO;QAEjD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;IAC7B,CAAC;IAID,8BAA8B,CAAC,EAAe;QAC5C,iFAAiF;QACjF,IAAI,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAAE,OAAO;QAElD,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC;IAED,qBAAqB;IACrB,iDAAiD;IACjD,wBAAwB;IACxB,gCAAgC;IAChC,gDAAgD;IAChD,kDAAkD;IAElD;;;;;OAKG;IAEH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAElD,mCAAmC;QACnC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAE1B,wDAAwD;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,mBAAmB;QACnB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,gBAAgB;IAChB,2BAA2B;IAC3B,wDAAwD;IACxD,0DAA0D;IAElD,iBAAiB,GAAG,GAAG,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC;IAEM,UAAU,GAAG,GAAG,EAAE;QACxB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEM,WAAW,GAAG,GAAG,EAAE;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEM,YAAY,GAAG,CAAC,EAAmE,EAAE,EAAE;QAC7F,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,EAAE,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;QAElC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACnC,gDAAgD;YAChD,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1B,wFAAwF;YACxF,yDAAyD;YACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC;IAEM,uBAAuB,GAAG,CAAC,IAAyB,EAAE,EAAE;QAC9D,sGAAsG;QACtG,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEM,kBAAkB,GAAG,CAAC,EAAS,EAAE,EAAE;QACzC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAI,EAAE,CAAC,MAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAE1E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAyB,EAAE,EAAE;oBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC1D,IAAI,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAED,gDAAgD;QAChD,uFAAuF;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC,CAAC;IAEM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;QAC7C,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvB,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC;IAEM,eAAe,GAAG,CAAC,IAAyB,EAAE,EAAE;QACtD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEM,qBAAqB,GAAG,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC;IAEM,sBAAsB,GAAG,GAAG,EAAE;QACpC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC;IAEM,sBAAsB,GAAG,GAAG,EAAE;QACpC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC;IAEM,0BAA0B,GAAG,GAAG,EAAE;QACxC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEM,sBAAsB,GAAG,GAAG,EAAE;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEM,kBAAkB,GAAG,GAAG,EAAE;QAChC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,+CAA+C;QAC/C,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,oDAAoD;YACpD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAED,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF;;;;;;OAMG;IACK,wBAAwB,GAAG,GAAG,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAEnD,OAAO,CAAC,OAAO,CAAC,CAAC,MAA2B,EAAE,EAAE;YAC9C,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;;;OAKG;IACK,kBAAkB,GAAG,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzE,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC,CAAC;IAEM,cAAc,GAAG,CAAC,IAAyB,EAAE,EAAE;QACrD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC,CAAC;IAEF,IAAY,OAAO;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAY,kBAAkB;QAC5B,uFAAuF;QACvF,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3F,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO,CACL,cACE,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,SAAS,QACT,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;wBACnB,8CAA8C;wBAC9C,KAAK,CAAC,eAAe,EAAE,CAAC;wBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBACD,sDAAsD;oBACtD,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,EACjD,WAAW,EAAC,8EAA8E,EAC1F,IAAI,EAAC,KAAK,IAET,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CACnB,CACV,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,OAAO,CACL,cACE,GAAG,EAAC,MAAM,EACV,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,QAAQ,EAChB,WAAW,EAAC,8EAA8E,EAC1F,IAAI,EAAC,KAAK;;oBAER,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,KAAK,CAC9B,CACV,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAY,YAAY;QACtB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB;IACpB,oCAAoC;IACpC,sCAAsC;IAEtC,MAAM;QACJ,MAAM,OAAO,GAAG,oBAAoB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAExE,OAAO,CACL,4DAAK,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;YAEhC,8DACE,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAC7C,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAC1C,GAAG,EAAE,CAAC,SAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EACjE,IAAI,EAAC,OAAO;gBAEZ,6DAAM,IAAI,EAAC,OAAO,EAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,GAAI,CACzD;YAER,oEACE,KAAK,EAAC,4BAA4B,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAC,OAAO;gBAGnB,4DACE,KAAK,EAAE;wBACL,oBAAoB,EAAE,IAAI;wBAC1B,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI;wBAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB,EACD,IAAI,EAAC,SAAS,EACd,IAAI,EAAC,SAAS;oBAGd,6DACE,KAAK,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EACzE,GAAG,EAAE,CAAC,QAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,EAChE,IAAI,EAAC,QAAQ;wBAEb,6DAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB,GAAI,CAC5D;oBACP,4DAAK,KAAK,EAAC,6BAA6B,EAAC,IAAI,EAAC,eAAe;wBAE1D,IAAI,CAAC,QAAQ,IAAI,CAChB,6DAAM,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,MAAM;4BACvC,6DAAM,IAAI,EAAC,MAAM,IAAE,IAAI,CAAC,WAAW,CAAQ,CACtC,CACR;wBAED,8DACE,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EACrC,KAAK,EAAC,6CAA6C,EACnD,YAAY,EAAC,KAAK,EAClB,cAAc,EAAC,KAAK,mBACL,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAChC,cAAc,IAAI,CAAC,IAAI,EAAE,mBACzB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC7B,SAAS,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,GAAG,EAAE,CAAC,SAA2B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EAClE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,UAAU,EACf,UAAU,EAAE,KAAK,EACjB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,IAAI,EAAC,OAAO;4BACZ,SAAS;4BACT,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAChC,CACE;oBAEL,IAAI,CAAC,YAAY,IAAI;oBACpB,oEAAoE;oBACpE,sDAAsD;oBACtD,kEACE,KAAK,EAAC,iDAAiD,EACvD,UAAU,EAAC,MAAM,gBACL,IAAI,CAAC,gBAAgB,EACjC,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,IAAI,EAAC,WAAW,EAChB,WAAW,EAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC;wBAEZ,6DAAM,IAAI,EAAC,YAAY;4BACrB,gEAAS,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,GAAG,CACnC,CACG,CACb;oBAED,6DACE,KAAK,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAC9F,GAAG,EAAE,CAAC,QAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,EAChE,IAAI,EAAC,QAAQ;wBAEb,6DAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB;4BAC3D,gEAAS,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,MAAM,GAAG,CACrC,CACF,CACH;gBACN,uEACE,EAAE,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE,EAC7B,UAAU,EAAE,IAAI,CAAC,YAAY,mBACd,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC3C,WAAW,EAAC,kBAAkB,EAC9B,IAAI,EAAC,SAAS;oBAEd,8DAAQ,CACO,CACL;YAEd,4DACE,KAAK,EAAE;oBACL,CAAC,qCAAqC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI;oBACpE,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa;iBAC/B,EACD,GAAG,EAAE,CAAC,OAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,EACjE,IAAI,EAAC,aAAa;gBAElB,6DAAM,IAAI,EAAC,aAAa,EAAC,YAAY,EAAE,IAAI,CAAC,0BAA0B,GAAI,CACtE,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport { Placement } from '../../services/interfaces';\nimport { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, isString, TDebounce } from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\nexport type TSelectValue = string | string[];\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part input-outline - The input outline wrapper that holds the tags container and the native HTML input used under the hood.\n * @part helper-text - The helper text slot container.\n * @part input - The native HTML input element used under the hood.\n * @part label - The label slot container.\n * @part panel - The select panel container\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n * @part tags - The tags container of the BqTags for multiple selection.\n * @part tag - The tag container of the BqTag for multiple selection.\n * @part tag__base - The base wrapper of the BqTag for multiple selection.\n * @part tag__prefix - The prefix slot container of the BqTag for multiple selection.\n * @part tag__text - The text slot container of the BqTag for multiple selection.\n * @part tag__btn-close - The close button of the BqTag for multiple selection.\n * @part option-list - The option list container.\n */\n@Component({\n tag: 'bq-select',\n styleUrl: './scss/bq-select.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqSelect {\n // Own Properties\n // ====================\n\n private helperTextElem?: HTMLElement;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private debounceQuery: TDebounce<void>;\n\n private fallbackInputId = 'select';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSelectElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() displayValue?: string;\n @State() hasHelperText = false;\n @State() selectedOptions: HTMLBqOptionElement[] = [];\n\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /** If true, the Select input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /**\n * Indicates whether the Select input is disabled or not.\n * If `true`, the Select is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** If true, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /** Represents the distance (gutter or margin) between the Select panel and the input element. */\n @Prop({ reflect: true }) distance?: number = 8;\n\n /** The ID of the form that the Select input belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** If true, the Select panel will remain open after a selection is made. */\n @Prop({ reflect: true }) keepOpenOnSelect?: boolean = false;\n\n /** The Select input name. */\n @Prop({ reflect: true }) name!: string;\n\n /** The maximum number of tags to display when multiple selection is enabled */\n @Prop({ mutable: true }) maxTagsVisible: number = 2;\n\n /** If true, the Select input will allow multiple selections. */\n @Prop({ reflect: true }) multiple?: boolean = false;\n\n /** If true, the Select panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the Select panel. */\n @Prop({ reflect: true }) panelHeight?: string;\n\n /** The Select input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** Position of the Select panel */\n @Prop({ reflect: true }) placement?: Placement = 'bottom';\n\n /** If true, the list of options cannot be filtered (searching won't be available) */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the Select input is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /** Whether the panel should have the Select same width as the input element */\n @Prop({ reflect: true }) sameWidth?: boolean = true;\n\n /** Represents the skidding between the Select panel and the input element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Defines the strategy to position the Select panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n /**\n * The validation status of the Select input.\n *\n * @remarks\n * This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The select input value, it can be used to reset the field to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TSelectValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (this.multiple && isString(this.value)) {\n // NOTE: we ensure that value is an array, changing the value will trigger Watch to execute thus the return\n this.value = Array.from(JSON.parse(String(this.value)));\n this.internals.setFormValue(this.value.join(','));\n return;\n }\n\n this.syncItemsFromValue();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the Select input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the Select input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has changed */\n @Event() bqSelect!: EventEmitter<{ value: string | number | string[]; item: HTMLBqOptionElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.initMultipleValue();\n }\n\n componentWillLoad() {\n this.initMultipleValue();\n }\n\n componentDidLoad() {\n if (this.multiple && Array.isArray(this.value)) {\n this.selectedOptions = this.options.filter((item) => this.value.includes(item.value));\n }\n\n this.handleValueChange();\n }\n\n formAssociatedCallback() {\n this.internals.role = 'combobox';\n this.internals.ariaExpanded = this.open ? 'true' : 'false';\n }\n\n async formResetCallback() {\n if (isNil(this.value)) return;\n\n this.internals.setValidity({});\n this.clear();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqOpen', { capture: true })\n handleOpenChange(ev: CustomEvent<{ open: boolean }>) {\n if (!ev.composedPath().includes(this.el)) return;\n\n this.open = ev.detail.open;\n }\n\n @Listen('bqFocus', { capture: true })\n @Listen('bqBlur', { capture: true })\n stopOptionFocusBlurPropagation(ev: CustomEvent) {\n // Stop propagation of focus and blur events coming from the `bq-option` elements\n if (isHTMLElement(ev.target, 'bq-select')) return;\n\n ev.stopPropagation();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /**\n * Clears the selected value.\n *\n * @return {Promise<void>}\n * @memberof BqSelect\n */\n @Method()\n async clear(): Promise<void> {\n if (this.disabled) return;\n\n const { multiple, inputElem, bqClear, el } = this;\n\n // Clear value and selected options\n this.value = undefined;\n this.selectedOptions = [];\n\n // Clear display value and input element if not multiple\n if (!multiple) {\n this.displayValue = undefined;\n inputElem.value = undefined;\n }\n\n // Update form value and reset options visibility\n this.resetOptionsVisibility();\n\n // Emit clear event\n bqClear.emit(el);\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private initMultipleValue = () => {\n if (!this.multiple) return;\n\n this.value = Array.isArray(this.value) ? this.value : Array.from(JSON.parse(String(this.value)));\n };\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleSelect = (ev: CustomEvent<{ value: TSelectValue; item: HTMLBqOptionElement }>) => {\n if (this.disabled) return;\n\n if (this.multiple) {\n ev.stopPropagation();\n }\n\n const { value, item } = ev.detail;\n\n if (this.multiple) {\n this.handleMultipleSelection(item);\n // Clear the input value after selecting an item\n this.inputElem.value = '';\n // If multiple selection is enabled, emit the selected items array instead of relying on\n // the option list to emit the value of the selected item\n this.bqSelect.emit({ value: this.value, item });\n } else {\n this.value = value;\n }\n\n this.resetOptionsVisibility();\n this.inputElem.focus();\n };\n\n private handleMultipleSelection = (item: HTMLBqOptionElement) => {\n // Set has O(1) complexity for insertion, deletion, and search operations, compared to an Array's O(n)\n const selectedOptionsSet = new Set(this.selectedOptions);\n\n if (selectedOptionsSet.has(item)) {\n selectedOptionsSet.delete(item);\n } else {\n selectedOptionsSet.add(item);\n }\n\n this.selectedOptions = Array.from(selectedOptionsSet);\n this.value = this.selectedOptions.map((item) => item.value);\n };\n\n private handleSearchFilter = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceQuery?.cancel();\n\n const query = (ev.target as HTMLInputElement).value?.toLowerCase().trim();\n\n if (!isDefined(query)) {\n this.clear();\n } else {\n this.debounceQuery = debounce(() => {\n this.options.forEach((item: HTMLBqOptionElement) => {\n const itemLabel = this.getOptionLabel(item).toLowerCase();\n item.hidden = !itemLabel.includes(query);\n });\n }, this.debounceTime);\n\n this.debounceQuery();\n }\n\n // The panel will close once a selection is made\n // so we need to make sure it's open when the user is typing and the query is not empty\n this.open = true;\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n (async () => {\n await this.clear();\n })();\n this.inputElem.focus();\n\n ev.stopPropagation();\n };\n\n private handleTagRemove = (item: HTMLBqOptionElement) => {\n if (this.disabled) return;\n\n this.handleMultipleSelection(item);\n this.bqSelect.emit({ value: this.value, item });\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n private resetOptionsVisibility = () => {\n this.options.forEach((item: HTMLBqOptionElement) => (item.hidden = false));\n };\n\n private syncItemsFromValue = () => {\n const { internals, options, value } = this;\n if (!options.length) return;\n\n // Sync selected state of the BqOption elements\n this.syncSelectedOptionsState();\n\n if (this.multiple) {\n // Sync selected options for multiple selection mode\n this.selectedOptions = options.filter((option) => this.value?.includes(option.value));\n } else {\n // Sync display label for single selection mode\n this.updateDisplayLabel();\n }\n\n internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n };\n\n /**\n * Syncs the selected state of the BqOption elements which value is included in the `value` property.\n * Notice that value can be a string or an array of strings.\n *\n * @private\n * @memberof BqSelect\n */\n private syncSelectedOptionsState = () => {\n const { options, multiple, value } = this;\n const lowerCaseValue = String(value).toLowerCase();\n\n options.forEach((option: HTMLBqOptionElement) => {\n if (multiple && Array.isArray(value)) {\n option.selected = value.includes(option.value);\n } else {\n option.selected = option.value.toLowerCase() === lowerCaseValue;\n }\n });\n };\n\n /**\n * Updates the display value of the input element based on the selected option.\n *\n * @private\n * @memberof BqSelect\n */\n private updateDisplayLabel = () => {\n const { value, options, inputElem } = this;\n\n const checkedItem = options.find((item) => item.value === value);\n const displayValue = checkedItem ? this.getOptionLabel(checkedItem) : '';\n\n inputElem.value = displayValue;\n this.displayValue = displayValue;\n };\n\n private getOptionLabel = (item: HTMLBqOptionElement) => {\n if (!item) return;\n return item.innerText.trim() ?? '';\n };\n\n private get options() {\n return Array.from(this.el.querySelectorAll('bq-option'));\n }\n\n private get displayPlaceholder() {\n // Hide the placeholder when multiple selection is enabled and there are selected items\n return this.multiple && this.selectedOptions.length !== 0 ? undefined : this.placeholder;\n }\n\n private get displayTags() {\n return this.selectedOptions.map((item, index) => {\n if (index < this.maxTagsVisible || this.maxTagsVisible < 0) {\n return (\n <bq-tag\n key={item.value}\n removable\n size=\"xsmall\"\n variant=\"filled\"\n onBqClose={(event) => {\n // NOTE: prevents triggering bqClose on parent\n event.stopPropagation();\n this.handleTagRemove(item);\n }}\n // Prevent the tag from closing the panel when clicked\n onClick={(ev: MouseEvent) => ev.stopPropagation()}\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n {this.getOptionLabel(item)}\n </bq-tag>\n );\n } else if (index === this.maxTagsVisible) {\n return (\n <bq-tag\n key=\"more\"\n size=\"xsmall\"\n variant=\"filled\"\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n +{this.selectedOptions.length - index}\n </bq-tag>\n );\n }\n\n return null;\n });\n }\n\n private get hasClearIcon() {\n if (this.disableClear || this.disabled) {\n return false;\n }\n\n if (this.multiple) {\n return this.selectedOptions.length > 0;\n }\n\n return isDefined(this.displayValue);\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const labelId = `bq-select__label-${this.name || this.fallbackInputId}`;\n\n return (\n <div class=\"bq-select\" part=\"base\">\n {/* Label */}\n <label\n id={labelId}\n class={{ 'bq-select__label': true, '!hidden': !this.hasLabel }}\n aria-label={this.name || this.fallbackInputId}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem: HTMLSpanElement) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Select dropdown */}\n <bq-dropdown\n class=\"bq-select__dropdown w-full\"\n disabled={this.disabled}\n distance={this.distance}\n keepOpenOnSelect={this.keepOpenOnSelect}\n open={this.open}\n panelHeight={this.panelHeight}\n placement={this.placement}\n sameWidth={this.sameWidth}\n skidding={this.skidding}\n strategy={this.strategy}\n exportparts=\"panel\"\n >\n {/* Input control group */}\n <div\n class={{\n 'bq-select__control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n slot=\"trigger\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-select__control--prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem: HTMLSpanElement) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n <div class=\"flex flex-1 overflow-x-auto\" part=\"input-outline\">\n {/* Display selected values using BqTags for multiple selection */}\n {this.multiple && (\n <span class=\"bq-select__tags\" part=\"tags\">\n <slot name=\"tags\">{this.displayTags}</slot>\n </span>\n )}\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-select__control--input flex-grow is-full\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`bq-options-${this.name}`}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n disabled={this.disabled}\n form={this.form}\n name={this.name}\n placeholder={this.displayPlaceholder}\n ref={(inputElem: HTMLInputElement) => (this.inputElem = inputElem)}\n readOnly={this.readonly}\n required={this.required}\n role=\"combobox\"\n spellcheck={false}\n type=\"text\"\n value={this.displayValue}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onInput={this.handleSearchFilter}\n />\n </div>\n {/* Clear Button */}\n {this.hasClearIcon && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-select__control--clear ms-[--bq-select--gap]\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n tabIndex={-1}\n >\n <slot name=\"clear-icon\">\n <bq-icon name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-select__control--suffix': true, 'rotate-180': this.open, 'rotate-0': !this.open }}\n ref={(spanElem: HTMLSpanElement) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange}>\n <bq-icon name=\"caret-down\" class=\"flex\" />\n </slot>\n </span>\n </div>\n <bq-option-list\n id={`bq-options-${this.name}`}\n onBqSelect={this.handleSelect}\n aria-expanded={this.open ? 'true' : 'false'}\n exportparts=\"base:option-list\"\n role=\"listbox\"\n >\n <slot />\n </bq-option-list>\n </bq-dropdown>\n {/* Helper text */}\n <div\n class={{\n [`bq-select__helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n ref={(divElem: HTMLDivElement) => (this.helperTextElem = divElem)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bq-select.js","sourceRoot":"","sources":["../../../../../../src/components/select/bq-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport { Placement } from '../../services/interfaces';\nimport { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, isString, TDebounce } from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\nexport type TSelectValue = string | string[];\n\n/**\n * The select input component lets users choose from a predefined list, commonly used in forms for easy data selection.\n *\n * @example How to use it\n * ```html\n * <bq-select placeholder=\"Placeholder\">\n * <label slot=\"label\">Select label</label>\n * <span slot=\"helper-text\">\n * <bq-icon name=\"star\"></bq-icon>\n * Helper text\n * </span>\n *\n * <bq-option value=\"1\">Option 1</bq-option>\n * <bq-option value=\"2\">Option 2</bq-option>\n * <bq-option value=\"3\">Option 3</bq-option>\n * </bq-select>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/41989d-select/b/09d7b1\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-dropdown\n * @dependency bq-icon\n * @dependency bq-option-list\n * @dependency bq-tag\n *\n * @attr {boolean} autofocus - If `true`, the Select input will be focused on component render.\n * @attr {string} clear-button-label - The clear button aria label.\n * @attr {number} debounce-time - The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * @attr {boolean} disable-clear - If `true`, the clear button won't be displayed.\n * @attr {boolean} disabled - Indicates whether the Select input is disabled and cannot be interacted with.\n * @attr {number} distance - Represents the distance (gutter or margin) between the Select panel and the input element.\n * @attr {string} form - The ID of the form that Select input field belongs to.\n * @attr {boolean} keep-open-on-select - If `true`, the Select panel will remain open after a selection is made.\n * @attr {number} max-tags-visible - The maximum number of tags to display when multiple selection is enabled.\n * @attr {boolean} multiple - If `true`, the Select input will allow multiple selections.\n * @attr {string} name - The Select input name.\n * @attr {boolean} open - If `true`, the Select panel will be visible.\n * @attr {string} panel-height - When set, it will override the height of the Select panel.\n * @attr {string} placeholder - The Select input placeholder text value.\n * @attr {\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"} placement - Position of the Select panel.\n * @attr {boolean} readonly - If `true`, the Select input cannot be modified.\n * @attr {boolean} required - Indicates whether or not the Select input is required to be filled out before submitting the form.\n * @attr {boolean} same-width - Whether the panel should have the Select same width as the input element.\n * @attr {number} skidding - Represents the skidding between the Select panel and the input element.\n * @attr {\"absolute\" | \"fixed\"} strategy - Defines the strategy to position the Select panel.\n * @attr {\"error\" | \"success\" | \"warning\" | \"none\"} validation-status - The validation status of the Select input.\n * @attr {\"number\" | \"string\" | \"string[]\"} value - The select input value can be used to reset the field to a previous value.\n *\n * @method clear - Method to be called to clear the selected value.\n *\n * @event bqBlur - The callback handler is emitted when the Select input loses focus.\n * @event bqClear - The callback handler is emitted when the selected value has been cleared.\n * @event bqFocus - A callback handler is emitted when the Select input has received focus.\n * @event bqSelect - The callback handler is emitted when the selected value has changed.\n *\n * @slot label - The label slot container.\n * @slot prefix - The prefix slot container.\n * @slot tags - The tags slot container.\n * @slot clear-icon - The clear icon slot container.\n * @slot suffix - The suffix slot container.\n * @slot helper-text - The helper text slot container.\n *\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part input-outline - The input outline wrapper that holds the tags container and the native HTML input used under the hood.\n * @part helper-text - The helper text slot container.\n * @part input - The native HTML input element used under the hood.\n * @part label - The label slot container.\n * @part panel - The select panel container\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n * @part tags - The tags container of the BqTags for multiple selection.\n * @part tag - The tag container of the BqTag for multiple selection.\n * @part tag__base - The base wrapper of the BqTag for multiple selection.\n * @part tag__prefix - The prefix slot container of the BqTag for multiple selection.\n * @part tag__text - The text slot container of the BqTag for multiple selection.\n * @part tag__btn-close - The close button of the BqTag for multiple selection.\n * @part option-list - The option list container.\n *\n * @cssprop --bq-select--background-color - Select background color\n * @cssprop --bq-select--border-color - Select border color\n * @cssprop --bq-select--border-color-focus - Select border color on focus\n * @cssprop --bq-select--border-color-disabled - Select border color when disabled\n * @cssprop --bq-select--border-radius - Select border radius\n * @cssprop --bq-select--border-width - Select border width\n * @cssprop --bq-select--border-style - Select border style\n * @cssprop --bq-select--gap - Gap between Select content and prefix/suffix\n * @cssprop --bq-select--helper-margin-top - Helper text margin top\n * @cssprop --bq-select--helper-text-color - Helper text color\n * @cssprop --bq-select--helper-text-size - Helper text size\n * @cssprop --bq-select--icon-size - Icon size to use in prefix/suffix and clear button\n * @cssprop --bq-select--label-margin-bottom - Select label margin bottom\n * @cssprop --bq-select--label-text-color - Select label text color\n * @cssprop --bq-select--label-text-size - Select label text size\n * @cssprop --bq-select--padding-start - Select padding start\n * @cssprop --bq-select--padding-end - Select padding end\n * @cssprop --bq-select--paddingY - Select padding top and bottom\n * @cssprop --bq-select--text-color - Select text color\n * @cssprop --bq-select--text-size - Select text size\n * @cssprop --bq-select--text-placeholder-color - Select placeholder text color\n */\n@Component({\n tag: 'bq-select',\n styleUrl: './scss/bq-select.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqSelect {\n // Own Properties\n // ====================\n\n private helperTextElem?: HTMLElement;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private debounceQuery: TDebounce<void>;\n\n private fallbackInputId = 'select';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSelectElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() displayValue?: string;\n @State() hasHelperText = false;\n @State() selectedOptions: HTMLBqOptionElement[] = [];\n\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /** If true, the Select input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /**\n * Indicates whether the Select input is disabled or not.\n * If `true`, the Select is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** If true, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /** Represents the distance (gutter or margin) between the Select panel and the input element. */\n @Prop({ reflect: true }) distance?: number = 8;\n\n /** The ID of the form that the Select input belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** If true, the Select panel will remain open after a selection is made. */\n @Prop({ reflect: true }) keepOpenOnSelect?: boolean = false;\n\n /** The Select input name. */\n @Prop({ reflect: true }) name!: string;\n\n /** The maximum number of tags to display when multiple selection is enabled */\n @Prop({ mutable: true }) maxTagsVisible: number = 2;\n\n /** If true, the Select input will allow multiple selections. */\n @Prop({ reflect: true }) multiple?: boolean = false;\n\n /** If true, the Select panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the Select panel. */\n @Prop({ reflect: true }) panelHeight?: string;\n\n /** The Select input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** Position of the Select panel */\n @Prop({ reflect: true }) placement?: Placement = 'bottom';\n\n /** If true, the list of options cannot be filtered (searching won't be available) */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the Select input is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /** Whether the panel should have the Select same width as the input element */\n @Prop({ reflect: true }) sameWidth?: boolean = true;\n\n /** Represents the skidding between the Select panel and the input element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Defines the strategy to position the Select panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n /**\n * The validation status of the Select input.\n *\n * @remarks\n * This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The select input value, it can be used to reset the field to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TSelectValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (this.multiple && isString(this.value)) {\n // NOTE: we ensure that value is an array, changing the value will trigger Watch to execute thus the return\n this.value = Array.from(JSON.parse(String(this.value)));\n this.internals.setFormValue(this.value.join(','));\n return;\n }\n\n this.syncItemsFromValue();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the Select input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the Select input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has changed */\n @Event() bqSelect!: EventEmitter<{ value: string | number | string[]; item: HTMLBqOptionElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.initMultipleValue();\n }\n\n componentWillLoad() {\n this.initMultipleValue();\n }\n\n componentDidLoad() {\n if (this.multiple && Array.isArray(this.value)) {\n this.selectedOptions = this.options.filter((item) => this.value.includes(item.value));\n }\n\n this.handleValueChange();\n }\n\n formAssociatedCallback() {\n this.internals.role = 'combobox';\n this.internals.ariaExpanded = this.open ? 'true' : 'false';\n }\n\n async formResetCallback() {\n if (isNil(this.value)) return;\n\n this.internals.setValidity({});\n this.clear();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqOpen', { capture: true })\n handleOpenChange(ev: CustomEvent<{ open: boolean }>) {\n if (!ev.composedPath().includes(this.el)) return;\n\n this.open = ev.detail.open;\n }\n\n @Listen('bqFocus', { capture: true })\n @Listen('bqBlur', { capture: true })\n stopOptionFocusBlurPropagation(ev: CustomEvent) {\n // Stop propagation of focus and blur events coming from the `bq-option` elements\n if (isHTMLElement(ev.target, 'bq-select')) return;\n\n ev.stopPropagation();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /**\n * Clears the selected value.\n *\n * @return {Promise<void>}\n * @memberof BqSelect\n */\n @Method()\n async clear(): Promise<void> {\n if (this.disabled) return;\n\n const { multiple, inputElem, bqClear, el } = this;\n\n // Clear value and selected options\n this.value = undefined;\n this.selectedOptions = [];\n\n // Clear display value and input element if not multiple\n if (!multiple) {\n this.displayValue = undefined;\n inputElem.value = undefined;\n }\n\n // Update form value and reset options visibility\n this.resetOptionsVisibility();\n\n // Emit clear event\n bqClear.emit(el);\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private initMultipleValue = () => {\n if (!this.multiple) return;\n\n this.value = Array.isArray(this.value) ? this.value : Array.from(JSON.parse(String(this.value)));\n };\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleSelect = (ev: CustomEvent<{ value: TSelectValue; item: HTMLBqOptionElement }>) => {\n if (this.disabled) return;\n\n if (this.multiple) {\n ev.stopPropagation();\n }\n\n const { value, item } = ev.detail;\n\n if (this.multiple) {\n this.handleMultipleSelection(item);\n // Clear the input value after selecting an item\n this.inputElem.value = '';\n // If multiple selection is enabled, emit the selected items array instead of relying on\n // the option list to emit the value of the selected item\n this.bqSelect.emit({ value: this.value, item });\n } else {\n this.value = value;\n }\n\n this.resetOptionsVisibility();\n this.inputElem.focus();\n };\n\n private handleMultipleSelection = (item: HTMLBqOptionElement) => {\n // Set has O(1) complexity for insertion, deletion, and search operations, compared to an Array's O(n)\n const selectedOptionsSet = new Set(this.selectedOptions);\n\n if (selectedOptionsSet.has(item)) {\n selectedOptionsSet.delete(item);\n } else {\n selectedOptionsSet.add(item);\n }\n\n this.selectedOptions = Array.from(selectedOptionsSet);\n this.value = this.selectedOptions.map((item) => item.value);\n };\n\n private handleSearchFilter = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceQuery?.cancel();\n\n const query = (ev.target as HTMLInputElement).value?.toLowerCase().trim();\n\n if (!isDefined(query)) {\n this.clear();\n } else {\n this.debounceQuery = debounce(() => {\n this.options.forEach((item: HTMLBqOptionElement) => {\n const itemLabel = this.getOptionLabel(item).toLowerCase();\n item.hidden = !itemLabel.includes(query);\n });\n }, this.debounceTime);\n\n this.debounceQuery();\n }\n\n // The panel will close once a selection is made\n // so we need to make sure it's open when the user is typing and the query is not empty\n this.open = true;\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n (async () => {\n await this.clear();\n })();\n this.inputElem.focus();\n\n ev.stopPropagation();\n };\n\n private handleTagRemove = (item: HTMLBqOptionElement) => {\n if (this.disabled) return;\n\n this.handleMultipleSelection(item);\n this.bqSelect.emit({ value: this.value, item });\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n private resetOptionsVisibility = () => {\n this.options.forEach((item: HTMLBqOptionElement) => (item.hidden = false));\n };\n\n private syncItemsFromValue = () => {\n const { internals, options, value } = this;\n if (!options.length) return;\n\n // Sync selected state of the BqOption elements\n this.syncSelectedOptionsState();\n\n if (this.multiple) {\n // Sync selected options for multiple selection mode\n this.selectedOptions = options.filter((option) => this.value?.includes(option.value));\n } else {\n // Sync display label for single selection mode\n this.updateDisplayLabel();\n }\n\n internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n };\n\n /**\n * Syncs the selected state of the BqOption elements which value is included in the `value` property.\n * Notice that value can be a string or an array of strings.\n *\n * @private\n * @memberof BqSelect\n */\n private syncSelectedOptionsState = () => {\n const { options, multiple, value } = this;\n const lowerCaseValue = String(value).toLowerCase();\n\n options.forEach((option: HTMLBqOptionElement) => {\n if (multiple && Array.isArray(value)) {\n option.selected = value.includes(option.value);\n } else {\n option.selected = option.value.toLowerCase() === lowerCaseValue;\n }\n });\n };\n\n /**\n * Updates the display value of the input element based on the selected option.\n *\n * @private\n * @memberof BqSelect\n */\n private updateDisplayLabel = () => {\n const { value, options, inputElem } = this;\n\n const checkedItem = options.find((item) => item.value === value);\n const displayValue = checkedItem ? this.getOptionLabel(checkedItem) : '';\n\n inputElem.value = displayValue;\n this.displayValue = displayValue;\n };\n\n private getOptionLabel = (item: HTMLBqOptionElement) => {\n if (!item) return;\n return item.innerText.trim() ?? '';\n };\n\n private get options() {\n return Array.from(this.el.querySelectorAll('bq-option'));\n }\n\n private get displayPlaceholder() {\n // Hide the placeholder when multiple selection is enabled and there are selected items\n return this.multiple && this.selectedOptions.length !== 0 ? undefined : this.placeholder;\n }\n\n private get displayTags() {\n return this.selectedOptions.map((item, index) => {\n if (index < this.maxTagsVisible || this.maxTagsVisible < 0) {\n return (\n <bq-tag\n key={item.value}\n removable\n size=\"xsmall\"\n variant=\"filled\"\n onBqClose={(event) => {\n // NOTE: prevents triggering bqClose on parent\n event.stopPropagation();\n this.handleTagRemove(item);\n }}\n // Prevent the tag from closing the panel when clicked\n onClick={(ev: MouseEvent) => ev.stopPropagation()}\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n {this.getOptionLabel(item)}\n </bq-tag>\n );\n } else if (index === this.maxTagsVisible) {\n return (\n <bq-tag\n key=\"more\"\n size=\"xsmall\"\n variant=\"filled\"\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n +{this.selectedOptions.length - index}\n </bq-tag>\n );\n }\n\n return null;\n });\n }\n\n private get hasClearIcon() {\n if (this.disableClear || this.disabled) {\n return false;\n }\n\n if (this.multiple) {\n return this.selectedOptions.length > 0;\n }\n\n return isDefined(this.displayValue);\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const labelId = `bq-select__label-${this.name || this.fallbackInputId}`;\n\n return (\n <div class=\"bq-select\" part=\"base\">\n {/* Label */}\n <label\n id={labelId}\n class={{ 'bq-select__label': true, '!hidden': !this.hasLabel }}\n aria-label={this.name || this.fallbackInputId}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem: HTMLSpanElement) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Select dropdown */}\n <bq-dropdown\n class=\"bq-select__dropdown w-full\"\n disabled={this.disabled}\n distance={this.distance}\n keepOpenOnSelect={this.keepOpenOnSelect}\n open={this.open}\n panelHeight={this.panelHeight}\n placement={this.placement}\n sameWidth={this.sameWidth}\n skidding={this.skidding}\n strategy={this.strategy}\n exportparts=\"panel\"\n >\n {/* Input control group */}\n <div\n class={{\n 'bq-select__control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n slot=\"trigger\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-select__control--prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem: HTMLSpanElement) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n <div class=\"flex flex-1 overflow-x-auto\" part=\"input-outline\">\n {/* Display selected values using BqTags for multiple selection */}\n {this.multiple && (\n <span class=\"bq-select__tags\" part=\"tags\">\n <slot name=\"tags\">{this.displayTags}</slot>\n </span>\n )}\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-select__control--input flex-grow is-full\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`bq-options-${this.name}`}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n disabled={this.disabled}\n form={this.form}\n name={this.name}\n placeholder={this.displayPlaceholder}\n ref={(inputElem: HTMLInputElement) => (this.inputElem = inputElem)}\n readOnly={this.readonly}\n required={this.required}\n role=\"combobox\"\n spellcheck={false}\n type=\"text\"\n value={this.displayValue}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onInput={this.handleSearchFilter}\n />\n </div>\n {/* Clear Button */}\n {this.hasClearIcon && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-select__control--clear ms-[--bq-select--gap]\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n tabIndex={-1}\n >\n <slot name=\"clear-icon\">\n <bq-icon name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-select__control--suffix': true, 'rotate-180': this.open, 'rotate-0': !this.open }}\n ref={(spanElem: HTMLSpanElement) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange}>\n <bq-icon name=\"caret-down\" class=\"flex\" />\n </slot>\n </span>\n </div>\n <bq-option-list\n id={`bq-options-${this.name}`}\n onBqSelect={this.handleSelect}\n aria-expanded={this.open ? 'true' : 'false'}\n exportparts=\"base:option-list\"\n role=\"listbox\"\n >\n <slot />\n </bq-option-list>\n </bq-dropdown>\n {/* Helper text */}\n <div\n class={{\n [`bq-select__helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n ref={(divElem: HTMLDivElement) => (this.helperTextElem = divElem)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </div>\n </div>\n );\n }\n}\n"]}
|