bitboss-ui 2.1.113 → 2.1.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/BaseButton.md +448 -0
- package/dist/ai/BaseCheckbox.md +494 -0
- package/dist/ai/BaseCheckboxGroup.md +597 -0
- package/dist/ai/BaseColorInput.md +461 -0
- package/dist/ai/BaseDatePicker.md +739 -0
- package/dist/ai/BaseDatePickerInput.md +1517 -0
- package/dist/ai/BaseDialog.md +610 -0
- package/dist/ai/BaseInputContainer.md +570 -0
- package/dist/ai/BaseNumberInput.md +509 -0
- package/dist/ai/BaseRadio.md +405 -0
- package/dist/ai/BaseRadioGroup.md +535 -0
- package/dist/ai/BaseRating.md +489 -0
- package/dist/ai/BaseSelect.md +1720 -0
- package/dist/ai/BaseSlider.md +871 -0
- package/dist/ai/BaseSwitch.md +322 -0
- package/dist/ai/BaseSwitchGroup.md +298 -0
- package/dist/ai/BaseTag.md +624 -0
- package/dist/ai/BaseTextInput.md +392 -0
- package/dist/ai/BaseTextarea.md +398 -0
- package/dist/ai/BbAccordion.md +135 -0
- package/dist/ai/BbAlert.md +226 -0
- package/dist/ai/BbAvatar.md +200 -0
- package/dist/ai/BbBadge.md +185 -0
- package/dist/ai/BbBreadcrumbs.md +536 -0
- package/dist/ai/BbButton.md +687 -0
- package/dist/ai/BbCheckbox.md +280 -0
- package/dist/ai/BbCheckboxGroup.md +387 -0
- package/dist/ai/BbChip.md +148 -0
- package/dist/ai/BbCollapsible.md +119 -0
- package/dist/ai/BbColorInput.md +345 -0
- package/dist/ai/BbColorPalette.md +360 -0
- package/dist/ai/BbConfirm.md +160 -0
- package/dist/ai/BbDatePickerInput.md +414 -0
- package/dist/ai/BbDialog.md +135 -0
- package/dist/ai/BbDropdown.md +765 -0
- package/dist/ai/BbDropdownButton.md +629 -0
- package/dist/ai/BbDropzone.md +504 -0
- package/dist/ai/BbIcon.md +238 -0
- package/dist/ai/BbIntersection.md +121 -0
- package/dist/ai/BbNumberInput.md +372 -0
- package/dist/ai/BbOffCanvas.md +549 -0
- package/dist/ai/BbPagination.md +562 -0
- package/dist/ai/BbPopover.md +580 -0
- package/dist/ai/BbProgress.md +97 -0
- package/dist/ai/BbRadio.md +256 -0
- package/dist/ai/BbRadioGroup.md +373 -0
- package/dist/ai/BbRating.md +245 -0
- package/dist/ai/BbRatio.md +62 -0
- package/dist/ai/BbRows.md +307 -0
- package/dist/ai/BbSelect.md +562 -0
- package/dist/ai/BbSelectPopover.md +2010 -0
- package/dist/ai/BbSlider.md +274 -0
- package/dist/ai/BbSmoothHeight.md +167 -0
- package/dist/ai/BbSpinner.md +154 -0
- package/dist/ai/BbSwitch.md +151 -0
- package/dist/ai/BbSwitchGroup.md +237 -0
- package/dist/ai/BbTab.md +954 -0
- package/dist/ai/BbTable.md +1624 -0
- package/dist/ai/BbTag.md +315 -0
- package/dist/ai/BbTextInput.md +357 -0
- package/dist/ai/BbTextarea.md +277 -0
- package/dist/ai/BbToast.md +219 -0
- package/dist/ai/BbTooltip.md +353 -0
- package/dist/ai/BbTree.md +271 -0
- package/dist/ai/ChipsBox.md +211 -0
- package/dist/ai/ClearableButton.md +67 -0
- package/dist/ai/CommaBox.md +212 -0
- package/dist/ai/CommonInputInnerContainer.md +419 -0
- package/dist/ai/CommonInputOuterContainer.md +56 -0
- package/dist/ai/CommonPopover.md +446 -0
- package/dist/ai/ErrorIcon.md +61 -0
- package/dist/ai/FlatListBox.md +382 -0
- package/dist/ai/GroupedListBox.md +538 -0
- package/dist/ai/ListBox.md +234 -0
- package/dist/ai/OptionsContainer.md +257 -0
- package/dist/ai/index.md +124 -0
- package/dist/components/BaseButton/BaseButton.vue.d.ts +2 -163
- package/dist/components/BaseButton/types.d.ts +158 -0
- package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +4 -4
- package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +2 -2
- package/dist/components/BaseCheckboxGroup/types.d.ts +16 -9
- package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +12 -52
- package/dist/components/BaseDatePicker/BaseDatePicker.vue.d.ts +4 -76
- package/dist/components/BaseDatePicker/types.d.ts +100 -0
- package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +18 -315
- package/dist/components/BaseDatePickerInput/types.d.ts +206 -0
- package/dist/components/BaseDialog/BaseDialog.vue.d.ts +6 -156
- package/dist/components/BaseDialog/types.d.ts +180 -0
- package/dist/components/BaseInputContainer/BaseInputContainer.vue.d.ts +1 -107
- package/dist/components/BaseInputContainer/types.d.ts +126 -0
- package/dist/components/BaseNumberInput/BaseNumberInput.vue.d.ts +7 -170
- package/dist/components/BaseNumberInput/types.d.ts +191 -0
- package/dist/components/BaseRadio/BaseRadio.vue.d.ts +6 -119
- package/dist/components/BaseRadio/types.d.ts +173 -0
- package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +4 -274
- package/dist/components/BaseRadioGroup/types.d.ts +240 -0
- package/dist/components/BaseRating/BaseRating.vue.d.ts +5 -106
- package/dist/components/BaseRating/types.d.ts +144 -0
- package/dist/components/BaseSelect/BaseSelect.vue.d.ts +2 -363
- package/dist/components/BaseSelect/types.d.ts +457 -0
- package/dist/components/BaseSlider/BaseSlider.vue.d.ts +6 -178
- package/dist/components/BaseSlider/types.d.ts +201 -0
- package/dist/components/BaseSwitch/BaseSwitch.vue.d.ts +7 -35
- package/dist/components/BaseSwitch/types.d.ts +25 -0
- package/dist/components/BaseSwitchGroup/BaseSwitchGroup.vue.d.ts +5 -11
- package/dist/components/BaseSwitchGroup/types.d.ts +8 -0
- package/dist/components/BaseTag/BaseTag.vue.d.ts +27 -222
- package/dist/components/BaseTag/types.d.ts +136 -0
- package/dist/components/BaseTextInput/BaseTextInput.vue.d.ts +5 -141
- package/dist/components/BaseTextInput/types.d.ts +166 -0
- package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +5 -131
- package/dist/components/BaseTextarea/types.d.ts +151 -0
- package/dist/components/BbAccordion/BbAccordion.vue.d.ts +3 -51
- package/dist/components/BbAccordion/types.d.ts +32 -0
- package/dist/components/BbAlert/BbAlert.vue.d.ts +3 -50
- package/dist/components/BbAlert/types.d.ts +42 -0
- package/dist/components/BbAvatar/BbAvatar.vue.d.ts +3 -23
- package/dist/components/BbAvatar/types.d.ts +34 -0
- package/dist/components/BbBadge/BbBadge.vue.d.ts +3 -40
- package/dist/components/BbBadge/types.d.ts +30 -0
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +14 -178
- package/dist/components/BbBreadcrumbs/types.d.ts +109 -0
- package/dist/components/BbButton/BbButton.vue.d.ts +4 -163
- package/dist/components/BbButton/types.d.ts +159 -0
- package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +7 -165
- package/dist/components/BbCheckbox/types.d.ts +130 -0
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +7 -324
- package/dist/components/BbCheckboxGroup/types.d.ts +189 -0
- package/dist/components/BbChip/BbChip.vue.d.ts +6 -28
- package/dist/components/BbChip/types.d.ts +23 -0
- package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +3 -24
- package/dist/components/BbCollapsible/types.d.ts +20 -0
- package/dist/components/BbColorInput/BbColorInput.vue.d.ts +10 -151
- package/dist/components/BbColorInput/types.d.ts +131 -0
- package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +2 -112
- package/dist/components/BbColorPalette/types.d.ts +127 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +6 -212
- package/dist/components/BbDatePickerInput/types.d.ts +180 -0
- package/dist/components/BbDialog/BbDialog.vue.d.ts +2 -2
- package/dist/components/BbDialog/types.d.ts +1 -0
- package/dist/components/BbDropdown/BbDropdown.vue.d.ts +21 -247
- package/dist/components/BbDropdown/types.d.ts +147 -0
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +16 -209
- package/dist/components/BbDropdownButton/types.d.ts +114 -0
- package/dist/components/BbDropzone/BbDropzone.vue.d.ts +7 -86
- package/dist/components/BbDropzone/types.d.ts +67 -0
- package/dist/components/BbIcon/BbIcon.vue.d.ts +2 -26
- package/dist/components/BbIcon/types.d.ts +28 -0
- package/dist/components/BbIntersection/BbIntersection.vue.d.ts +3 -41
- package/dist/components/BbIntersection/types.d.ts +36 -0
- package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +44 -175
- package/dist/components/BbNumberInput/types.d.ts +130 -0
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +5 -93
- package/dist/components/BbOffCanvas/types.d.ts +97 -0
- package/dist/components/BbPagination/BbPagination.vue.d.ts +4 -87
- package/dist/components/BbPagination/types.d.ts +80 -0
- package/dist/components/BbPopover/BbPopover.vue.d.ts +9 -135
- package/dist/components/BbPopover/types.d.ts +99 -0
- package/dist/components/BbProgress/BbProgress.vue.d.ts +2 -14
- package/dist/components/BbProgress/types.d.ts +20 -0
- package/dist/components/BbRadio/BbRadio.vue.d.ts +7 -150
- package/dist/components/BbRadio/types.d.ts +117 -0
- package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +7 -322
- package/dist/components/BbRadioGroup/types.d.ts +182 -0
- package/dist/components/BbRating/BbRating.vue.d.ts +10 -113
- package/dist/components/BbRating/types.d.ts +105 -0
- package/dist/components/BbRatio/BbRatio.vue.d.ts +3 -18
- package/dist/components/BbRatio/types.d.ts +15 -0
- package/dist/components/BbSelect/BbSelect.vue.d.ts +7 -375
- package/dist/components/BbSelect/types.d.ts +351 -0
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +1 -1
- package/dist/components/BbSelectPopover/types.d.ts +351 -0
- package/dist/components/BbSlider/BbSlider.vue.d.ts +10 -129
- package/dist/components/BbSlider/types.d.ts +123 -0
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +2 -23
- package/dist/components/BbSmoothHeight/types.d.ts +24 -0
- package/dist/components/BbSpinner/BbSpinner.vue.d.ts +3 -5
- package/dist/components/BbSpinner/types.d.ts +8 -0
- package/dist/components/BbSwitch/BbSwitch.vue.d.ts +9 -65
- package/dist/components/BbSwitch/types.d.ts +29 -0
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +7 -190
- package/dist/components/BbSwitchGroup/types.d.ts +81 -0
- package/dist/components/BbTab/BbTab.vue.d.ts +9 -247
- package/dist/components/BbTab/types.d.ts +186 -0
- package/dist/components/BbTag/BbTag.vue.d.ts +6 -156
- package/dist/components/BbTag/types.d.ts +158 -0
- package/dist/components/BbTextInput/BbTextInput.vue.d.ts +10 -152
- package/dist/components/BbTextInput/types.d.ts +137 -0
- package/dist/components/BbTextarea/BbTextarea.vue.d.ts +10 -142
- package/dist/components/BbTextarea/types.d.ts +123 -0
- package/dist/components/BbToast/BbToast.vue.d.ts +2 -6
- package/dist/components/BbToast/types.d.ts +8 -0
- package/dist/components/BbTooltip/BbTooltip.vue.d.ts +8 -65
- package/dist/components/BbTooltip/types.d.ts +55 -0
- package/dist/components/BbTree/BbTree.vue.d.ts +2 -65
- package/dist/components/BbTree/types.d.ts +69 -0
- package/dist/components/{ChipsBox.vue.d.ts → ChipsBox/ChipsBox.vue.d.ts} +5 -6
- package/dist/components/ChipsBox/types.d.ts +14 -0
- package/dist/components/{ClearableButton.vue.d.ts → ClearableButton/ClearableButton.vue.d.ts} +2 -0
- package/dist/components/ClearableButton/types.d.ts +3 -0
- package/dist/components/{CommaBox.vue.d.ts → CommaBox/CommaBox.vue.d.ts} +5 -6
- package/dist/components/CommaBox/types.d.ts +14 -0
- package/dist/components/CommonInputInnerContainer/CommonInputInnerContainer.vue.d.ts +25 -0
- package/dist/components/CommonInputInnerContainer/types.d.ts +47 -0
- package/dist/components/CommonInputOuterContainer/CommonInputOuterContainer.vue.d.ts +17 -0
- package/dist/components/CommonInputOuterContainer/types.d.ts +16 -0
- package/dist/components/{CommonPopover.vue.d.ts → CommonPopover/CommonPopover.vue.d.ts} +5 -30
- package/dist/components/CommonPopover/types.d.ts +43 -0
- package/dist/components/{ErrorIcon.vue.d.ts → ErrorIcon/ErrorIcon.vue.d.ts} +2 -0
- package/dist/components/ErrorIcon/types.d.ts +3 -0
- package/dist/components/FlatListBox/types.d.ts +97 -0
- package/dist/components/GroupedListBox/types.d.ts +118 -0
- package/dist/components/ListBox/ListBox.vue.d.ts +30 -0
- package/dist/components/ListBox/types.d.ts +133 -0
- package/dist/components/OptionsContainer/OptionsContainer.vue.d.ts +13 -0
- package/dist/components/OptionsContainer/types.d.ts +96 -0
- package/dist/composables/useBbConfig.d.ts +1 -1
- package/dist/composables/useConfirm.d.ts +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +18 -18
- package/dist/index109.js +9 -9
- package/dist/index110.js +50 -49
- package/dist/index114.js +1 -1
- package/dist/index118.js +1 -1
- package/dist/index122.js +1 -0
- package/dist/index124.js +4 -4
- package/dist/index126.js +13 -13
- package/dist/index132.js +22 -19
- package/dist/index134.js +1 -1
- package/dist/index136.js +5 -5
- package/dist/index138.js +1 -1
- package/dist/index14.js +1 -1
- package/dist/index140.js +18 -17
- package/dist/index144.js +1 -1
- package/dist/index146.js +2 -2
- package/dist/index149.js +2 -2
- package/dist/index16.js +3 -3
- package/dist/index18.js +3 -3
- package/dist/index20.js +70 -59
- package/dist/index22.js +14 -14
- package/dist/index221.js +138 -2
- package/dist/index222.js +2 -138
- package/dist/index224.js +5 -34
- package/dist/index225.js +7 -32
- package/dist/index226.js +32 -26
- package/dist/index227.js +7 -0
- package/dist/index228.js +5 -5
- package/dist/index229.js +5 -8
- package/dist/index230.js +5 -7
- package/dist/index231.js +3 -2
- package/dist/index232.js +2 -9
- package/dist/index233.js +6 -13
- package/dist/index234.js +8 -3
- package/dist/index235.js +268 -2
- package/dist/index236.js +52 -11
- package/dist/index237.js +50 -6
- package/dist/index238.js +32 -3
- package/dist/index239.js +60 -3
- package/dist/index24.js +10 -10
- package/dist/index240.js +13 -2
- package/dist/index241.js +187 -17
- package/dist/index242.js +3 -12
- package/dist/index243.js +2 -51
- package/dist/index244.js +2 -18
- package/dist/index245.js +2 -12
- package/dist/index246.js +12 -16
- package/dist/index247.js +11 -28
- package/dist/index248.js +48 -15
- package/dist/index249.js +17 -4
- package/dist/index250.js +2 -2
- package/dist/index252.js +2 -2
- package/dist/index254.js +3 -135
- package/dist/index255.js +4 -0
- package/dist/index256.js +4 -107
- package/dist/index257.js +19 -12
- package/dist/index258.js +6 -2
- package/dist/index259.js +16 -7
- package/dist/index26.js +3 -3
- package/dist/index260.js +86 -7
- package/dist/index262.js +32 -0
- package/dist/index263.js +18 -5
- package/dist/index264.js +12 -5
- package/dist/index265.js +18 -5
- package/dist/index266.js +2 -5
- package/dist/index267.js +7 -5
- package/dist/index268.js +7 -5
- package/dist/index269.js +3 -67
- package/dist/index270.js +4 -33
- package/dist/index271.js +5 -2
- package/dist/index272.js +5 -2
- package/dist/index273.js +5 -3
- package/dist/index274.js +135 -4
- package/dist/index276.js +9 -6
- package/dist/index277.js +7 -11
- package/dist/index278.js +23 -5
- package/dist/index279.js +3 -5
- package/dist/index28.js +57 -55
- package/dist/index280.js +21 -266
- package/dist/index281.js +364 -43
- package/dist/index283.js +32 -31
- package/dist/index284.js +3 -60
- package/dist/index285.js +25 -4
- package/dist/index286.js +3 -20
- package/dist/index287.js +18 -5
- package/dist/index288.js +12 -373
- package/dist/index289.js +109 -0
- package/dist/index290.js +11 -6
- package/dist/index291.js +66 -15
- package/dist/index292.js +32 -10
- package/dist/index294.js +5 -8
- package/dist/index295.js +9 -20
- package/dist/index296.js +2 -8
- package/dist/index297.js +9 -23
- package/dist/index298.js +52 -24
- package/dist/index299.js +5 -188
- package/dist/index30.js +3 -3
- package/dist/index300.js +21 -3
- package/dist/index301.js +28 -3
- package/dist/index303.js +9 -0
- package/dist/index304.js +2 -7
- package/dist/index305.js +280 -3
- package/dist/index306.js +2 -2
- package/dist/index307.js +16 -5
- package/dist/index308.js +2 -7
- package/dist/index309.js +16 -3
- package/dist/index310.js +2 -3
- package/dist/index311.js +27 -3
- package/dist/index312.js +2 -2
- package/dist/index313.js +2 -28
- package/dist/index314.js +2 -17
- package/dist/index315.js +2 -4
- package/dist/index316.js +1 -1
- package/dist/index317.js +28 -3
- package/dist/index318.js +2 -280
- package/dist/index319.js +7 -2
- package/dist/index32.js +2 -2
- package/dist/index320.js +719 -125
- package/dist/index321.js +366 -2
- package/dist/index322.js +56 -14
- package/dist/index323.js +4 -2
- package/dist/index324.js +3 -16
- package/dist/index325.js +17 -2
- package/dist/index326.js +3 -16
- package/dist/index327.js +3 -2
- package/dist/index328.js +3 -19
- package/dist/index329.js +3 -2
- package/dist/index330.js +120 -22
- package/dist/index331.js +2 -2
- package/dist/index332.js +15 -2
- package/dist/index333.js +2 -2
- package/dist/index334.js +19 -2
- package/dist/index335.js +2 -2
- package/dist/index336.js +5 -2
- package/dist/index337.js +5 -3
- package/dist/index338.js +2 -4
- package/dist/index339.js +4 -719
- package/dist/index34.js +8 -8
- package/dist/index340.js +2 -366
- package/dist/index341.js +3 -57
- package/dist/index342.js +3 -6
- package/dist/index343.js +6 -5
- package/dist/index344.js +6 -34
- package/dist/index345.js +17 -127
- package/dist/index346.js +7 -396
- package/dist/index347.js +14 -199
- package/dist/index348.js +5 -259
- package/dist/index349.js +6 -227
- package/dist/index352.js +35 -2
- package/dist/index353.js +129 -2
- package/dist/index354.js +378 -114
- package/dist/index355.js +92 -6
- package/dist/index356.js +226 -17
- package/dist/index357.js +22 -9
- package/dist/index359.js +7 -5
- package/dist/index36.js +4 -4
- package/dist/index360.js +200 -7
- package/dist/index361.js +255 -18
- package/dist/index362.js +136 -0
- package/dist/index363.js +2 -93
- package/dist/index364.js +2 -441
- package/dist/index365.js +427 -114
- package/dist/index366.js +127 -46
- package/dist/index367.js +44 -67
- package/dist/index368.js +66 -516
- package/dist/index369.js +515 -45
- package/dist/index370.js +52 -0
- package/dist/index38.js +133 -131
- package/dist/index40.js +8 -8
- package/dist/index42.js +2 -2
- package/dist/index44.js +16 -15
- package/dist/index46.js +4 -4
- package/dist/index50.js +28 -25
- package/dist/index54.js +1 -1
- package/dist/index56.js +1 -1
- package/dist/index58.js +2 -2
- package/dist/index60.js +2 -2
- package/dist/index62.js +5 -5
- package/dist/index66.js +3 -1
- package/dist/index68.js +1 -1
- package/dist/index74.js +4 -4
- package/dist/index82.js +6 -6
- package/dist/index84.js +1 -1
- package/dist/index86.js +2 -2
- package/dist/index88.js +3 -3
- package/dist/index90.js +1 -1
- package/dist/index93.js +3 -3
- package/dist/index95.js +2 -2
- package/dist/index97.js +5 -5
- package/dist/index99.js +1 -1
- package/dist/utilities/functions/parseSize.d.ts +1 -1
- package/package.json +5 -3
- package/dist/components/CommonInputInnerContainer.vue.d.ts +0 -81
- package/dist/components/CommonInputOuterContainer.vue.d.ts +0 -41
- package/dist/components/FlatListBox.vue.d.ts +0 -119
- package/dist/components/GroupedListBox.vue.d.ts +0 -153
- package/dist/components/ListBox.vue.d.ts +0 -170
- package/dist/components/OptionsContainer.vue.d.ts +0 -172
- package/dist/index261.js +0 -88
- package/dist/index275.js +0 -25
- package/dist/index282.js +0 -54
- package/dist/index293.js +0 -5
- package/dist/index302.js +0 -55
- package/dist/index358.js +0 -17
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
# BbSelect
|
|
2
|
+
|
|
3
|
+
## Template & Script
|
|
4
|
+
|
|
5
|
+
```vue
|
|
6
|
+
<template>
|
|
7
|
+
<BaseInputContainer
|
|
8
|
+
:id="id"
|
|
9
|
+
class="bb-select"
|
|
10
|
+
:compact="compact"
|
|
11
|
+
:direction="direction"
|
|
12
|
+
:errors="errors"
|
|
13
|
+
:has-errors="hasErrors"
|
|
14
|
+
:hide-label="hideLabel"
|
|
15
|
+
:hint="hint"
|
|
16
|
+
:label="label"
|
|
17
|
+
:label-position="labelPosition"
|
|
18
|
+
:model-value="modelValue"
|
|
19
|
+
:name="name"
|
|
20
|
+
:reverse="reverse"
|
|
21
|
+
:show-hint="showHint"
|
|
22
|
+
>
|
|
23
|
+
<template #label="data"><slot name="label" v-bind="data"></slot></template>
|
|
24
|
+
<template #input="{ id, hasErrors, ariaDescribedby }">
|
|
25
|
+
<BaseSelect
|
|
26
|
+
:id="id"
|
|
27
|
+
:allow-writing="allowWriting"
|
|
28
|
+
:append:icon="props['append:icon']"
|
|
29
|
+
:aria-describedby="ariaDescribedby"
|
|
30
|
+
:autocomplete="autocomplete"
|
|
31
|
+
:autofocus="autofocus"
|
|
32
|
+
:clearable="clearable"
|
|
33
|
+
:comma="comma"
|
|
34
|
+
:compact="compact"
|
|
35
|
+
:dependencies="dependencies"
|
|
36
|
+
:deps-debounce-time="depsDebounceTime"
|
|
37
|
+
:disabled="disabled"
|
|
38
|
+
:enforce-coherence="enforceCoherence"
|
|
39
|
+
:filter-by="filterBy"
|
|
40
|
+
:group-by="groupBy"
|
|
41
|
+
:has-errors="hasErrors"
|
|
42
|
+
:header-height="headerHeight"
|
|
43
|
+
:item-height="itemHeight"
|
|
44
|
+
:item-text="<any>itemText"
|
|
45
|
+
:item-value="<any>itemValue"
|
|
46
|
+
:items="items"
|
|
47
|
+
:loading="loading"
|
|
48
|
+
:loading-text="loadingText"
|
|
49
|
+
:max="max"
|
|
50
|
+
:max-selected-labels="maxSelectedLabels"
|
|
51
|
+
:model-value="modelValue"
|
|
52
|
+
:model-value-debounce-time="modelValueDebounceTime"
|
|
53
|
+
:multiple="multiple"
|
|
54
|
+
:name="name"
|
|
55
|
+
:no-data-text="noDataText"
|
|
56
|
+
:placeholder="placeholder"
|
|
57
|
+
:prefill="prefill"
|
|
58
|
+
:prepend:icon="props['prepend:icon']"
|
|
59
|
+
:query-debounce-time="queryDebounceTime"
|
|
60
|
+
:readonly="readonly"
|
|
61
|
+
:required="required"
|
|
62
|
+
:selected-labels-fn="selectedLabelsFn"
|
|
63
|
+
:show-chevron="showChevron"
|
|
64
|
+
:stash="stash"
|
|
65
|
+
:transition-duration="transitionDuration"
|
|
66
|
+
:update-on-animation-frame="updateOnAnimationFrame"
|
|
67
|
+
v-bind="eventListeners"
|
|
68
|
+
>
|
|
69
|
+
<template #append-outer="data"
|
|
70
|
+
><slot name="append-outer" v-bind="data"
|
|
71
|
+
/></template>
|
|
72
|
+
<template #append="data"><slot name="append" v-bind="data" /></template>
|
|
73
|
+
<template #prefix="data"><slot name="prefix" v-bind="data" /></template>
|
|
74
|
+
<template #chevron="data"
|
|
75
|
+
><slot name="chevron" v-bind="data"
|
|
76
|
+
/></template>
|
|
77
|
+
<template #loading="data"
|
|
78
|
+
><slot name="loading" v-bind="data"
|
|
79
|
+
/></template>
|
|
80
|
+
<template #no-data="data"
|
|
81
|
+
><slot name="no-data" v-bind="data"
|
|
82
|
+
/></template>
|
|
83
|
+
<template #option="data"><slot name="option" v-bind="data" /></template>
|
|
84
|
+
<template #group="data"><slot name="group" v-bind="data" /></template>
|
|
85
|
+
<template #options:append="data"
|
|
86
|
+
><slot name="options:append" v-bind="data"
|
|
87
|
+
/></template>
|
|
88
|
+
<template #options:append:outer="data"
|
|
89
|
+
><slot name="options:append:outer" v-bind="data"
|
|
90
|
+
/></template>
|
|
91
|
+
<template #options:prepend="data"
|
|
92
|
+
><slot name="options:prepend" v-bind="data"
|
|
93
|
+
/></template>
|
|
94
|
+
<template #options:prepend:outer="data"
|
|
95
|
+
><slot name="options:prepend:outer" v-bind="data"
|
|
96
|
+
/></template>
|
|
97
|
+
<template #prepend-outer="data"
|
|
98
|
+
><slot name="prepend-outer" v-bind="data"
|
|
99
|
+
/></template>
|
|
100
|
+
<template #prepend="data"
|
|
101
|
+
><slot name="prepend" v-bind="data"
|
|
102
|
+
/></template>
|
|
103
|
+
<template #suffix="data"><slot name="suffix" v-bind="data" /></template>
|
|
104
|
+
</BaseSelect>
|
|
105
|
+
</template>
|
|
106
|
+
</BaseInputContainer>
|
|
107
|
+
</template>
|
|
108
|
+
|
|
109
|
+
<script setup lang="ts" generic="T = any">
|
|
110
|
+
import BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';
|
|
111
|
+
import BaseSelect from '../BaseSelect/BaseSelect.vue';
|
|
112
|
+
import { ref, computed } from 'vue';
|
|
113
|
+
import type { BbSelectProps, BbSelectEvents, BbSelectSlots } from './types';
|
|
114
|
+
export type { BbSelectProps, BbSelectEvents, BbSelectSlots };
|
|
115
|
+
|
|
116
|
+
const props = withDefaults(defineProps<BbSelectProps<T>>(), {
|
|
117
|
+
allowWriting: true,
|
|
118
|
+
filterBy: () => [],
|
|
119
|
+
prefill: 'focus',
|
|
120
|
+
showChevron: true,
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
const emit = defineEmits<BbSelectEvents>();
|
|
124
|
+
defineSlots<BbSelectSlots<T>>();
|
|
125
|
+
|
|
126
|
+
const active = ref(false);
|
|
127
|
+
const showHint = computed(() => props.persistentHint || active.value);
|
|
128
|
+
|
|
129
|
+
const eventListeners = {
|
|
130
|
+
onBlur: (event: FocusEvent) => emit('blur', event),
|
|
131
|
+
onChange: (event: Event) => emit('change', event),
|
|
132
|
+
onClick: (event: MouseEvent) => emit('click', event),
|
|
133
|
+
'onOption:add': (text: string) => emit('option:add', text),
|
|
134
|
+
onFocus: (event: FocusEvent) => {
|
|
135
|
+
active.value = true;
|
|
136
|
+
emit('focus', event);
|
|
137
|
+
},
|
|
138
|
+
onInactive: () => {
|
|
139
|
+
active.value = false;
|
|
140
|
+
emit('inactive');
|
|
141
|
+
},
|
|
142
|
+
onInput: (event: Event) => emit('input', event),
|
|
143
|
+
'onUpdate:modelValue': (value: any) => emit('update:modelValue', value),
|
|
144
|
+
};
|
|
145
|
+
</script>
|
|
146
|
+
|
|
147
|
+
<style lang="postcss">
|
|
148
|
+
@import './index.css';
|
|
149
|
+
</style>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Types
|
|
153
|
+
|
|
154
|
+
```ts
|
|
155
|
+
import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
156
|
+
import type { NestedKeyOf } from '@/types/NestedKeyOf';
|
|
157
|
+
import type { IconType } from '@/types/Icon';
|
|
158
|
+
import type { BaseSelectEvents } from '../BaseSelect/types';
|
|
159
|
+
|
|
160
|
+
export type BbSelectProps<T> = {
|
|
161
|
+
/**
|
|
162
|
+
* Allows typing into the input.
|
|
163
|
+
*/
|
|
164
|
+
allowWriting?: boolean | 'not-mobile';
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Name of the icon to be added at the end of the input.
|
|
168
|
+
*/
|
|
169
|
+
// eslint-disable-next-line vue/prop-name-casing
|
|
170
|
+
'append:icon'?: IconType;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Guides to the browser as to the type of information expected in the field.
|
|
174
|
+
*/
|
|
175
|
+
autocomplete?: InputHTMLAttributes['autocomplete'];
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Sets autofocus on page load.
|
|
179
|
+
*/
|
|
180
|
+
autofocus?: InputHTMLAttributes['autofocus'];
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Displays a clear button when the input has a value and is being interacted with.
|
|
184
|
+
*/
|
|
185
|
+
clearable?: boolean;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Sets the display model for selected values to a list of comma separated string.
|
|
189
|
+
* In this mode the user cannot deselect an option by pressing the close button.
|
|
190
|
+
*/
|
|
191
|
+
comma?: boolean;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Sets the component in a compact mode.
|
|
195
|
+
*/
|
|
196
|
+
compact?: boolean;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Defines an array of dependencies that will trigger actions in the component upon change.
|
|
200
|
+
*/
|
|
201
|
+
dependencies?: any[];
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Timeout used to debounce response to changes to dependencies.
|
|
205
|
+
*/
|
|
206
|
+
depsDebounceTime?: number;
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Direction of the layout of the component. Can either be a predefined value or a
|
|
210
|
+
* pattern separated by a space like `xx xxxxx`.
|
|
211
|
+
*/
|
|
212
|
+
direction?: 'horizontal' | 'vertical' | 'auto' | string;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Disables the component.
|
|
216
|
+
*/
|
|
217
|
+
disabled?: boolean;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* If coherence is enforced the input cannot have a modelValue that is incoherent
|
|
221
|
+
* with its current items. modelValue will be reset upon incoherence.
|
|
222
|
+
*/
|
|
223
|
+
enforceCoherence?: boolean;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Can be a string or an array of string containing the messages to display.
|
|
227
|
+
*/
|
|
228
|
+
errors?: string | string[];
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Defines how the filtering should work.
|
|
232
|
+
*/
|
|
233
|
+
filterBy?:
|
|
234
|
+
| string
|
|
235
|
+
| string[]
|
|
236
|
+
| false
|
|
237
|
+
| 'not_stashed'
|
|
238
|
+
| ((value: any, item: T, query: string | null) => boolean)
|
|
239
|
+
| null;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Path to item property for grouping options.
|
|
243
|
+
*/
|
|
244
|
+
groupBy?: string | ((item: T) => string | number | symbol);
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Define if the component should be in an error state.
|
|
248
|
+
* It usually attaches a CSS class for styling purposes.
|
|
249
|
+
*/
|
|
250
|
+
hasErrors?: boolean;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Visually hides the label of the input while maintaining accessibility.
|
|
254
|
+
*/
|
|
255
|
+
hideLabel?: boolean;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Text box to be displayed near the input, usually to indicate instructions.
|
|
259
|
+
*/
|
|
260
|
+
hint?: string;
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* The identifier of the component.
|
|
264
|
+
*/
|
|
265
|
+
id?: HTMLAttributes['id'];
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Used to retrieve items; can be an array or a function.
|
|
269
|
+
*/
|
|
270
|
+
items:
|
|
271
|
+
| T[]
|
|
272
|
+
| ((query: string, prefill: boolean, modelValue: any) => Promise<T[]>)
|
|
273
|
+
| ((query: string, prefill: boolean, modelValue: any) => T[]);
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Height of group headers in the listbox (px). Defaults to 24px (compact) or 32px.
|
|
277
|
+
* Only applies when `groupBy` is set.
|
|
278
|
+
*/
|
|
279
|
+
headerHeight?: number;
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Height of the options in the listbox. By default it will be 32px for the compact
|
|
283
|
+
* variant and 40px for the regular variant.
|
|
284
|
+
*
|
|
285
|
+
* @defaultValue `40`
|
|
286
|
+
*/
|
|
287
|
+
itemHeight?: number;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Defines a path that returns a property of the object to use as text or a function
|
|
291
|
+
* that returns a string.
|
|
292
|
+
*/
|
|
293
|
+
itemText?: T extends object
|
|
294
|
+
? NestedKeyOf<T> | ((item: T) => string)
|
|
295
|
+
: ((item: T) => string) | undefined;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Defines a path that returns a property of the object to use as value or a function
|
|
299
|
+
* that returns any value.
|
|
300
|
+
*/
|
|
301
|
+
itemValue?: T extends object
|
|
302
|
+
? NestedKeyOf<T> | ((item: T) => any)
|
|
303
|
+
: ((item: T) => any) | undefined;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Text content of the label of the element.
|
|
307
|
+
*/
|
|
308
|
+
label: string;
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Sets the text alignment of the label.
|
|
312
|
+
*/
|
|
313
|
+
labelPosition?: 'left' | 'center' | 'right';
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Sets the component in a loading state, usually triggering some visual styles.
|
|
317
|
+
*/
|
|
318
|
+
loading?: boolean;
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* String displayed while items are being loaded.
|
|
322
|
+
*/
|
|
323
|
+
loadingText?: string;
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Maximum number of selectable items when the multiple flag is set.
|
|
327
|
+
*/
|
|
328
|
+
max?: number;
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Maximum number of labels shown before collapsing to a count summary.
|
|
332
|
+
*/
|
|
333
|
+
maxSelectedLabels?: number;
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Used by v-model. Can be any serializable type.
|
|
337
|
+
*/
|
|
338
|
+
modelValue: any;
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Timeout used to debounce response to changes to modelValue.
|
|
342
|
+
*/
|
|
343
|
+
modelValueDebounceTime?: number;
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Allows the selection of multiple items.
|
|
347
|
+
*/
|
|
348
|
+
multiple?: boolean;
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Defines the name of the input.
|
|
352
|
+
*/
|
|
353
|
+
name?: InputHTMLAttributes['name'];
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* String displayed when there are no items to display.
|
|
357
|
+
*/
|
|
358
|
+
noDataText?: string;
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Keeps the hint displayed.
|
|
362
|
+
*/
|
|
363
|
+
persistentHint?: boolean;
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* String displayed when there's no data.
|
|
367
|
+
*/
|
|
368
|
+
placeholder?: InputHTMLAttributes['placeholder'];
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Defines the prefill strategy for the input. By default the input will prefill
|
|
372
|
+
* on focus. It can also always prefill with `true` and only prefill on search with `false`.
|
|
373
|
+
*
|
|
374
|
+
* @defaultValue `'focus'`
|
|
375
|
+
*/
|
|
376
|
+
prefill?: boolean | 'focus';
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Name of the icon to be added at the start of the input.
|
|
380
|
+
*/
|
|
381
|
+
// eslint-disable-next-line vue/prop-name-casing
|
|
382
|
+
'prepend:icon'?: IconType;
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Sets the input as required.
|
|
386
|
+
*/
|
|
387
|
+
required?: boolean;
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Time to wait when the user stops writing in the input before querying data.
|
|
391
|
+
*/
|
|
392
|
+
queryDebounceTime?: number;
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Sets the input in a readonly state.
|
|
396
|
+
*/
|
|
397
|
+
readonly?: boolean;
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Reverses the layout. Applicable in every direction the order of the label and
|
|
401
|
+
* the input is swapped.
|
|
402
|
+
*/
|
|
403
|
+
reverse?: boolean;
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Function that returns a string to be displayed when the number of selected labels
|
|
407
|
+
* is greater than `maxSelectedLabels`.
|
|
408
|
+
*/
|
|
409
|
+
selectedLabelsFn?: (count: number) => string;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* If true, the chevron will be shown.
|
|
413
|
+
*
|
|
414
|
+
* @defaultValue `true`
|
|
415
|
+
*/
|
|
416
|
+
showChevron?: boolean;
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Adds a stash to accumulate selected values across searches.
|
|
420
|
+
*/
|
|
421
|
+
stash?: boolean;
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* How long the transition has to last in milliseconds.
|
|
425
|
+
*/
|
|
426
|
+
transitionDuration?: number;
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Pass `true` if the dropdown is not updating following movement in the UI, like in modals.
|
|
430
|
+
* Very expensive so use with care.
|
|
431
|
+
*/
|
|
432
|
+
updateOnAnimationFrame?: boolean;
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
/** Re-export for consumers importing events type from BbSelect. */
|
|
436
|
+
export type BbSelectEvents = BaseSelectEvents;
|
|
437
|
+
|
|
438
|
+
/** Props exposed by the `label` slot. */
|
|
439
|
+
export type BbSelectLabelSlotProps = {
|
|
440
|
+
/** The `label` prop value. */
|
|
441
|
+
text: string;
|
|
442
|
+
/** Whether the input is in an error state. */
|
|
443
|
+
hasErrors: boolean;
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
/** Props exposed by the `option` slot. */
|
|
447
|
+
export type BbSelectOptionSlotProps<T> = {
|
|
448
|
+
/** Whether this option is disabled. */
|
|
449
|
+
disabled: boolean;
|
|
450
|
+
/** Whether this option currently has keyboard focus. */
|
|
451
|
+
focused: boolean;
|
|
452
|
+
/** Zero-based index of this option in the list. */
|
|
453
|
+
index: number;
|
|
454
|
+
/** Whether the select is in an error state. */
|
|
455
|
+
hasErrors?: boolean;
|
|
456
|
+
/** The raw item from the `items` prop. */
|
|
457
|
+
item: T;
|
|
458
|
+
/** Whether items are still being fetched. */
|
|
459
|
+
loading: boolean;
|
|
460
|
+
/** Whether this option is currently selected. */
|
|
461
|
+
selected: boolean;
|
|
462
|
+
/** The resolved display text for this option. */
|
|
463
|
+
text: string;
|
|
464
|
+
/** The resolved value for this option. */
|
|
465
|
+
value: any;
|
|
466
|
+
};
|
|
467
|
+
|
|
468
|
+
/** Props exposed by the `group` slot. */
|
|
469
|
+
export type BbSelectGroupSlotProps<T> = {
|
|
470
|
+
/** The display text for this group. */
|
|
471
|
+
text: string;
|
|
472
|
+
/** The raw group item. */
|
|
473
|
+
item: T;
|
|
474
|
+
/** Zero-based index of the first option in this group. */
|
|
475
|
+
index: number;
|
|
476
|
+
/** Number of options in this group. */
|
|
477
|
+
length: number;
|
|
478
|
+
/** Whether all options in this group are disabled. */
|
|
479
|
+
disabled: boolean;
|
|
480
|
+
};
|
|
481
|
+
|
|
482
|
+
export type BbSelectSlots<T> = {
|
|
483
|
+
/**
|
|
484
|
+
* Content appended inside the input field, after the value area.
|
|
485
|
+
*/
|
|
486
|
+
append?: (props: { query: string; focus: () => void }) => any;
|
|
487
|
+
/**
|
|
488
|
+
* Content appended outside the input field wrapper.
|
|
489
|
+
*/
|
|
490
|
+
'append-outer'?: (props: { query: string }) => any;
|
|
491
|
+
/**
|
|
492
|
+
* Replaces the default dropdown chevron icon.
|
|
493
|
+
*/
|
|
494
|
+
chevron?: (props: { loading: boolean; shown: boolean }) => any;
|
|
495
|
+
/**
|
|
496
|
+
* Replaces the default label text rendered above the input.
|
|
497
|
+
*/
|
|
498
|
+
label?: (props: BbSelectLabelSlotProps) => any;
|
|
499
|
+
/**
|
|
500
|
+
* Content shown inside the options dropdown while items are loading.
|
|
501
|
+
*/
|
|
502
|
+
loading?: (props: { query: string }) => any;
|
|
503
|
+
/**
|
|
504
|
+
* Content shown when no options match the query or the list is empty.
|
|
505
|
+
*/
|
|
506
|
+
'no-data'?: (props: { query: string; focus: () => void }) => any;
|
|
507
|
+
/**
|
|
508
|
+
* Replaces the default rendering of each option row in the dropdown.
|
|
509
|
+
*/
|
|
510
|
+
option?: (props: BbSelectOptionSlotProps<T>) => any;
|
|
511
|
+
/**
|
|
512
|
+
* Replaces the default group header rendered above grouped options.
|
|
513
|
+
*/
|
|
514
|
+
group?: (props: BbSelectGroupSlotProps<T>) => any;
|
|
515
|
+
/**
|
|
516
|
+
* Content appended inside the options list, after the last option.
|
|
517
|
+
*/
|
|
518
|
+
'options:append'?: (props: { focus: () => void }) => any;
|
|
519
|
+
/**
|
|
520
|
+
* Content appended outside the options list container.
|
|
521
|
+
*/
|
|
522
|
+
'options:append:outer'?: (props: { focus: () => void }) => any;
|
|
523
|
+
/**
|
|
524
|
+
* Content prepended inside the options list, before the first option.
|
|
525
|
+
*/
|
|
526
|
+
'options:prepend'?: (props: { focus: () => void }) => any;
|
|
527
|
+
/**
|
|
528
|
+
* Content prepended outside the options list container.
|
|
529
|
+
*/
|
|
530
|
+
'options:prepend:outer'?: (props: { focus: () => void }) => any;
|
|
531
|
+
/**
|
|
532
|
+
* Content rendered as an inline prefix inside the input field.
|
|
533
|
+
*/
|
|
534
|
+
prefix?: (props: object) => any;
|
|
535
|
+
/**
|
|
536
|
+
* Content prepended inside the input field, before the value area.
|
|
537
|
+
*/
|
|
538
|
+
prepend?: (props: { query: string; focus: () => void }) => any;
|
|
539
|
+
/**
|
|
540
|
+
* Content prepended outside the input field wrapper.
|
|
541
|
+
*/
|
|
542
|
+
'prepend-outer'?: (props: { query: string }) => any;
|
|
543
|
+
/**
|
|
544
|
+
* Content rendered as an inline suffix inside the input field.
|
|
545
|
+
*/
|
|
546
|
+
suffix?: (props: object) => any;
|
|
547
|
+
};
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
## Styles
|
|
551
|
+
|
|
552
|
+
```css
|
|
553
|
+
.bb-select {
|
|
554
|
+
.bb-base-input-container {
|
|
555
|
+
.bb-base-input-container__input {
|
|
556
|
+
.bb-base-select {
|
|
557
|
+
display: flex;
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
```
|