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,398 @@
|
|
|
1
|
+
# BaseTextarea
|
|
2
|
+
|
|
3
|
+
## Template & Script
|
|
4
|
+
|
|
5
|
+
```vue
|
|
6
|
+
<template>
|
|
7
|
+
<CommonInputOuterContainer :class="classes">
|
|
8
|
+
<template #prepend-outer><slot name="prepend-outer"></slot></template>
|
|
9
|
+
<CommonInputInnerContainer
|
|
10
|
+
:append:icon="props['append:icon']"
|
|
11
|
+
:clearable="clearable && isNotNil(modelValue)"
|
|
12
|
+
:prepend:icon="props['prepend:icon']"
|
|
13
|
+
@click:clear="$emit('update:modelValue', null)"
|
|
14
|
+
>
|
|
15
|
+
<template #prepend><slot name="prepend" /></template>
|
|
16
|
+
<template #prefix><slot name="prefix" /></template>
|
|
17
|
+
<BbSmoothHeight tag="span">
|
|
18
|
+
<textarea
|
|
19
|
+
:id="id"
|
|
20
|
+
ref="textarea"
|
|
21
|
+
:aria-describedby="ariaDescribedby"
|
|
22
|
+
:autocomplete="autocomplete"
|
|
23
|
+
:autofocus="autofocus"
|
|
24
|
+
:class="'bb-base-textarea__input scrollbar-border'"
|
|
25
|
+
:disabled="disabled"
|
|
26
|
+
:name="name"
|
|
27
|
+
:placeholder="placeholder"
|
|
28
|
+
:readonly="readonly"
|
|
29
|
+
:required="required"
|
|
30
|
+
:rows="rows"
|
|
31
|
+
:value="modelValueWithDefault"
|
|
32
|
+
v-bind="eventListeners"
|
|
33
|
+
@input="onInput"
|
|
34
|
+
@keydown="onKeydown"
|
|
35
|
+
></textarea>
|
|
36
|
+
</BbSmoothHeight>
|
|
37
|
+
<template #append><slot name="append" /></template>
|
|
38
|
+
<template #suffix><slot name="suffix" /></template>
|
|
39
|
+
</CommonInputInnerContainer>
|
|
40
|
+
<template #append-outer><slot name="append-outer"></slot></template>
|
|
41
|
+
</CommonInputOuterContainer>
|
|
42
|
+
</template>
|
|
43
|
+
|
|
44
|
+
<script setup lang="ts">
|
|
45
|
+
import { computed, nextTick, onMounted, ref, watch } from 'vue';
|
|
46
|
+
import type { Ref } from 'vue';
|
|
47
|
+
import CommonInputOuterContainer from '../CommonInputOuterContainer/CommonInputOuterContainer.vue';
|
|
48
|
+
import CommonInputInnerContainer from '../CommonInputInnerContainer/CommonInputInnerContainer.vue';
|
|
49
|
+
import BbSmoothHeight from '../BbSmoothHeight/BbSmoothHeight.vue';
|
|
50
|
+
import { isNotNil } from '@/utilities/functions/isNotNil';
|
|
51
|
+
import type {
|
|
52
|
+
BaseTextareaProps,
|
|
53
|
+
BaseTextareaEvents,
|
|
54
|
+
BaseTextareaSlots,
|
|
55
|
+
} from './types';
|
|
56
|
+
|
|
57
|
+
const props = defineProps<BaseTextareaProps>();
|
|
58
|
+
|
|
59
|
+
const emit = defineEmits<BaseTextareaEvents>();
|
|
60
|
+
|
|
61
|
+
defineSlots<BaseTextareaSlots>();
|
|
62
|
+
|
|
63
|
+
if (props.rows && props.autoGrow) {
|
|
64
|
+
throw new Error(
|
|
65
|
+
'Textarea: You cannot set rows and auto-grow attributes together. You either use rows and let the user resize or define a minimum height in CSS with auto-grow.'
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const textarea: Ref<HTMLTextAreaElement | null> = ref(null);
|
|
70
|
+
|
|
71
|
+
const classes = computed(() => ({
|
|
72
|
+
'bb-base-textarea': true,
|
|
73
|
+
'bb-base-textarea--auto-grow': props.autoGrow,
|
|
74
|
+
'bb-base-textarea--disabled': props.disabled,
|
|
75
|
+
'bb-base-textarea--errors': props.hasErrors,
|
|
76
|
+
'bb-base-textarea--loading': props.loading,
|
|
77
|
+
'bb-base-textarea--readonly': props.readonly,
|
|
78
|
+
'bb-base-textarea--compact': props.compact,
|
|
79
|
+
}));
|
|
80
|
+
|
|
81
|
+
// Allow modelvalue to be reset to null
|
|
82
|
+
const modelValueWithDefault = computed(() =>
|
|
83
|
+
props.modelValue ? props.modelValue : ''
|
|
84
|
+
);
|
|
85
|
+
onMounted(() => {
|
|
86
|
+
if (props.autoGrow && props.modelValue) {
|
|
87
|
+
computeTextareaHeight();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
watch(
|
|
91
|
+
() => props.modelValue,
|
|
92
|
+
() => {
|
|
93
|
+
if (props.autoGrow) {
|
|
94
|
+
nextTick(computeTextareaHeight);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
function onInput(event: Event): void {
|
|
100
|
+
// Prevent enter from triggering smt else
|
|
101
|
+
event.stopPropagation();
|
|
102
|
+
if (event.target instanceof HTMLTextAreaElement) {
|
|
103
|
+
let value = event.target.value;
|
|
104
|
+
emit('input', event);
|
|
105
|
+
emit('update:modelValue', value || null);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function onKeydown(event: KeyboardEvent): void {
|
|
109
|
+
// Prevent enter from triggering smt else
|
|
110
|
+
event.stopPropagation();
|
|
111
|
+
if (event.target instanceof HTMLTextAreaElement) {
|
|
112
|
+
emit('keydown', event);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* These events are just propagated
|
|
118
|
+
*/
|
|
119
|
+
const eventListeners = {
|
|
120
|
+
onBlur: (event: FocusEvent) => emit('blur', event),
|
|
121
|
+
onChange: (event: Event) => emit('change', event),
|
|
122
|
+
onClick: (event: MouseEvent) => emit('click', event),
|
|
123
|
+
onFocus: (event: FocusEvent) => emit('focus', event),
|
|
124
|
+
onMousedown: (event: MouseEvent) => emit('mousedown', event),
|
|
125
|
+
onMouseup: (event: MouseEvent) => emit('mouseup', event),
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
/*
|
|
129
|
+
Reset height and the apply scroll height otherwise it would not be able to shrink
|
|
130
|
+
*/
|
|
131
|
+
function computeTextareaHeight() {
|
|
132
|
+
if (!textarea.value) return;
|
|
133
|
+
textarea.value.style.height = '0px';
|
|
134
|
+
|
|
135
|
+
textarea.value.style.height = `${textarea.value.scrollHeight}px`;
|
|
136
|
+
}
|
|
137
|
+
</script>
|
|
138
|
+
|
|
139
|
+
<style lang="postcss">
|
|
140
|
+
@import './index.css';
|
|
141
|
+
</style>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Types
|
|
145
|
+
|
|
146
|
+
```ts
|
|
147
|
+
import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
148
|
+
import type { IconType } from '@/types/Icon';
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Props for the textarea input component with optional auto-grow functionality.
|
|
152
|
+
*/
|
|
153
|
+
export type BaseTextareaProps = {
|
|
154
|
+
/**
|
|
155
|
+
* Name of the icon to render at the right hand side of the textarea.
|
|
156
|
+
*/
|
|
157
|
+
// eslint-disable-next-line vue/prop-name-casing
|
|
158
|
+
'append:icon'?: IconType;
|
|
159
|
+
/**
|
|
160
|
+
* Id(s) of elements describing this textarea for assistive technologies.
|
|
161
|
+
*/
|
|
162
|
+
ariaDescribedby?: InputHTMLAttributes['aria-describedby'];
|
|
163
|
+
/**
|
|
164
|
+
* Browser autocomplete hint for the textarea.
|
|
165
|
+
*/
|
|
166
|
+
autocomplete?: InputHTMLAttributes['autocomplete'];
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Automatically expand the textarea height to fit its content. Cannot be used with `rows`.
|
|
170
|
+
*/
|
|
171
|
+
autoGrow?: boolean;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Focus the textarea automatically on mount.
|
|
175
|
+
*/
|
|
176
|
+
autofocus?: InputHTMLAttributes['autofocus'];
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Show a clear button whenever text is present and the control is interactive.
|
|
180
|
+
*/
|
|
181
|
+
clearable?: boolean;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Apply the compact density variant.
|
|
185
|
+
*/
|
|
186
|
+
compact?: boolean;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Disable all interactions with the textarea.
|
|
190
|
+
*/
|
|
191
|
+
disabled?: boolean;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Apply error styling to the textarea.
|
|
195
|
+
*/
|
|
196
|
+
hasErrors?: boolean;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Explicit id for the textarea element.
|
|
200
|
+
*/
|
|
201
|
+
id?: HTMLAttributes['id'];
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Display the loading state styles.
|
|
205
|
+
*/
|
|
206
|
+
loading?: boolean;
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* v-model value: the text content, or `null` when empty.
|
|
210
|
+
*/
|
|
211
|
+
modelValue: string | null;
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Name attribute forwarded to the textarea element.
|
|
215
|
+
*/
|
|
216
|
+
name?: InputHTMLAttributes['name'];
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Placeholder text when no value is present.
|
|
220
|
+
*/
|
|
221
|
+
placeholder?: InputHTMLAttributes['placeholder'];
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Name of the icon to render at the left hand side of the textarea.
|
|
225
|
+
*/
|
|
226
|
+
// eslint-disable-next-line vue/prop-name-casing
|
|
227
|
+
'prepend:icon'?: IconType;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Make the textarea read-only while keeping it visible.
|
|
231
|
+
*/
|
|
232
|
+
readonly?: boolean;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Mark the textarea as required for form validation.
|
|
236
|
+
*/
|
|
237
|
+
required?: boolean;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Fixed number of visible rows. Cannot be used with `autoGrow`.
|
|
241
|
+
*/
|
|
242
|
+
rows?: string | number;
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
export type BaseTextareaEvents = {
|
|
246
|
+
/**
|
|
247
|
+
* Emitted when the native textarea loses focus.
|
|
248
|
+
* Forwards the original DOM `FocusEvent`.
|
|
249
|
+
*/
|
|
250
|
+
(e: 'blur', event: FocusEvent): void;
|
|
251
|
+
/**
|
|
252
|
+
* Emitted when the native textarea fires a change event.
|
|
253
|
+
* Forwards the original DOM `Event`.
|
|
254
|
+
*/
|
|
255
|
+
(e: 'change', event: Event): void;
|
|
256
|
+
/**
|
|
257
|
+
* Emitted when the textarea receives a click interaction.
|
|
258
|
+
* Forwards the original DOM `MouseEvent`.
|
|
259
|
+
*/
|
|
260
|
+
(e: 'click', event: MouseEvent): void;
|
|
261
|
+
/**
|
|
262
|
+
* Emitted when the native textarea gains focus.
|
|
263
|
+
* Forwards the original DOM `FocusEvent`.
|
|
264
|
+
*/
|
|
265
|
+
(e: 'focus', event: FocusEvent): void;
|
|
266
|
+
/**
|
|
267
|
+
* Emitted on native input events from the textarea.
|
|
268
|
+
* Forwards the original DOM `Event`.
|
|
269
|
+
*/
|
|
270
|
+
(e: 'input', event: Event): void;
|
|
271
|
+
/**
|
|
272
|
+
* Emitted for keyboard interaction on the textarea.
|
|
273
|
+
* Forwards the original DOM `KeyboardEvent`.
|
|
274
|
+
*/
|
|
275
|
+
(e: 'keydown', event: KeyboardEvent): void;
|
|
276
|
+
/**
|
|
277
|
+
* Emitted when a pointing device button is pressed over the textarea.
|
|
278
|
+
* Forwards the original DOM `MouseEvent`.
|
|
279
|
+
*/
|
|
280
|
+
(e: 'mousedown', event: MouseEvent): void;
|
|
281
|
+
/**
|
|
282
|
+
* Emitted when a pointing device button is released over the textarea.
|
|
283
|
+
* Forwards the original DOM `MouseEvent`.
|
|
284
|
+
*/
|
|
285
|
+
(e: 'mouseup', event: MouseEvent): void;
|
|
286
|
+
/**
|
|
287
|
+
* Emitted when the value changes. Carries the new text or `null` when cleared.
|
|
288
|
+
*/
|
|
289
|
+
(e: 'update:modelValue', value: string | null): void;
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
export type BaseTextareaSlots = {
|
|
293
|
+
/**
|
|
294
|
+
* Content rendered before the entire textarea control, outside the input chrome.
|
|
295
|
+
*/
|
|
296
|
+
'prepend-outer'?: (props: object) => any;
|
|
297
|
+
/**
|
|
298
|
+
* Content rendered before the textarea, at the start of the inner container.
|
|
299
|
+
*/
|
|
300
|
+
prepend?: (props: object) => any;
|
|
301
|
+
/**
|
|
302
|
+
* Content rendered after the textarea, at the end of the inner container.
|
|
303
|
+
*/
|
|
304
|
+
append?: (props: object) => any;
|
|
305
|
+
/**
|
|
306
|
+
* Content rendered after the entire textarea control, outside the input chrome.
|
|
307
|
+
*/
|
|
308
|
+
'append-outer'?: (props: object) => any;
|
|
309
|
+
/**
|
|
310
|
+
* Inline content rendered at the start of the textarea field area, before the text.
|
|
311
|
+
*/
|
|
312
|
+
prefix?: (props: object) => any;
|
|
313
|
+
/**
|
|
314
|
+
* Inline content rendered at the end of the textarea field area, after the text.
|
|
315
|
+
*/
|
|
316
|
+
suffix?: (props: object) => any;
|
|
317
|
+
};
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Styles
|
|
321
|
+
|
|
322
|
+
```css
|
|
323
|
+
.bb-base-textarea {
|
|
324
|
+
--min-height: 150px;
|
|
325
|
+
--bb-input-inner-h: max(
|
|
326
|
+
calc(var(--bb-leading) + var(--bb-input-py) * 2),
|
|
327
|
+
calc(var(--bb-input-h) - 2px),
|
|
328
|
+
var(--bb-input-icon)
|
|
329
|
+
);
|
|
330
|
+
--floating-py: calc((var(--bb-input-inner-h) - var(--bb-input-icon)) / 2);
|
|
331
|
+
|
|
332
|
+
&--disabled {
|
|
333
|
+
/* Styles for disabled state */
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
&--errors {
|
|
337
|
+
/* Styles for errors state */
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
&--readonly {
|
|
341
|
+
/* Styles for readonly state */
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
&--compact {
|
|
345
|
+
--floating-py: var(--bb-input-compact-floating-py);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
&__input {
|
|
349
|
+
background-color: transparent;
|
|
350
|
+
outline: none;
|
|
351
|
+
padding-right: var(--bb-input-px);
|
|
352
|
+
padding-top: calc(
|
|
353
|
+
(var(--bb-input-h) - (var(--bb-input-font-size) * 2.35)) / 2
|
|
354
|
+
);
|
|
355
|
+
width: 100%;
|
|
356
|
+
|
|
357
|
+
&:not([rows]) {
|
|
358
|
+
min-height: var(--min-height);
|
|
359
|
+
resize: none;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
&[rows] {
|
|
363
|
+
resize: vertical;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.bb-smooth-height {
|
|
368
|
+
align-self: center;
|
|
369
|
+
flex: 1 1 auto;
|
|
370
|
+
text-align: left;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.bb-common-input-inner-container {
|
|
374
|
+
align-items: flex-start;
|
|
375
|
+
.bb-clearable-button {
|
|
376
|
+
margin-top: var(--floating-py);
|
|
377
|
+
}
|
|
378
|
+
.bb-spinner {
|
|
379
|
+
margin-top: var(--floating-py);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.bb-error-icon {
|
|
383
|
+
margin-top: var(--floating-py);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.bb-common-input-inner-container__prepend-icon,
|
|
387
|
+
.bb-common-input-inner-container__append-icon {
|
|
388
|
+
margin-top: var(--floating-py);
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.bb-common-input-inner-container__prefix,
|
|
392
|
+
.bb-common-input-inner-container__suffix {
|
|
393
|
+
align-items: flex-start;
|
|
394
|
+
padding-top: var(--floating-py);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
```
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# BbAccordion
|
|
2
|
+
|
|
3
|
+
## Template & Script
|
|
4
|
+
|
|
5
|
+
```vue
|
|
6
|
+
<template>
|
|
7
|
+
<div class="bb-accordion">
|
|
8
|
+
<BaseButton
|
|
9
|
+
:id="`${id}_header`"
|
|
10
|
+
:aria-controls="id"
|
|
11
|
+
:aria-expanded="internalValue"
|
|
12
|
+
:class="'bb-accordion__header'"
|
|
13
|
+
@click.self="toggle"
|
|
14
|
+
><slot name="header" :toggle="toggle" :value="internalValue"></slot
|
|
15
|
+
></BaseButton>
|
|
16
|
+
<BbCollapsible
|
|
17
|
+
:id="id"
|
|
18
|
+
:aria-labelledby="`${id}_header`"
|
|
19
|
+
:class="'bb-accordion__content'"
|
|
20
|
+
:eager="eager"
|
|
21
|
+
:model-value="internalValue"
|
|
22
|
+
:role="'region'"
|
|
23
|
+
:transition-duration="transitionDuration"
|
|
24
|
+
><slot :toggle="toggle" :value="internalValue"></slot
|
|
25
|
+
></BbCollapsible>
|
|
26
|
+
</div>
|
|
27
|
+
</template>
|
|
28
|
+
|
|
29
|
+
<script setup lang="ts">
|
|
30
|
+
import { ref, watch } from 'vue';
|
|
31
|
+
import { useId } from '@/composables/useId';
|
|
32
|
+
import BaseButton from '../BaseButton/BaseButton.vue';
|
|
33
|
+
import BbCollapsible from '../BbCollapsible/BbCollapsible.vue';
|
|
34
|
+
import type {
|
|
35
|
+
BbAccordionProps,
|
|
36
|
+
BbAccordionEvents,
|
|
37
|
+
BbAccordionSlots,
|
|
38
|
+
} from './types';
|
|
39
|
+
export type { BbAccordionProps, BbAccordionEvents, BbAccordionSlots };
|
|
40
|
+
|
|
41
|
+
const emit = defineEmits<BbAccordionEvents>();
|
|
42
|
+
|
|
43
|
+
const props = withDefaults(defineProps<BbAccordionProps>(), {
|
|
44
|
+
transitionDuration: 250,
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const id = props.id || `bba_${useId().id.value}`;
|
|
48
|
+
|
|
49
|
+
const internalValue = ref(props.modelValue);
|
|
50
|
+
/**
|
|
51
|
+
* Watch external changes and align internal value
|
|
52
|
+
*/
|
|
53
|
+
watch(
|
|
54
|
+
() => props.modelValue,
|
|
55
|
+
(current, previous) => {
|
|
56
|
+
if (current !== previous && current !== internalValue.value) {
|
|
57
|
+
internalValue.value = current;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
const toggle = () => {
|
|
63
|
+
internalValue.value = !internalValue.value;
|
|
64
|
+
emit('update:modelValue', !props.modelValue);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
defineSlots<BbAccordionSlots>();
|
|
68
|
+
</script>
|
|
69
|
+
|
|
70
|
+
<style lang="postcss">
|
|
71
|
+
@import './index.css';
|
|
72
|
+
</style>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Types
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import type { BbCollapsibleProps } from '../BbCollapsible/BbCollapsible.vue';
|
|
79
|
+
import type { CommonProps } from '@/types/CommonProps';
|
|
80
|
+
|
|
81
|
+
export type BbAccordionProps = Pick<
|
|
82
|
+
BbCollapsibleProps,
|
|
83
|
+
'eager' | 'transitionDuration'
|
|
84
|
+
> & {
|
|
85
|
+
/**
|
|
86
|
+
* Used by v-model to trigger opening / closing the collapsible.
|
|
87
|
+
* @defaultValue `undefined`
|
|
88
|
+
*/
|
|
89
|
+
modelValue?: boolean;
|
|
90
|
+
} & Pick<CommonProps, 'id'>;
|
|
91
|
+
|
|
92
|
+
export type BbAccordionEvents = {
|
|
93
|
+
/**
|
|
94
|
+
* Emitted when the accordion open/closed state changes.
|
|
95
|
+
*/
|
|
96
|
+
(e: 'update:modelValue', value: boolean): void;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
/** Props exposed by the `header` and `default` slots. */
|
|
100
|
+
export type BbAccordionToggleSlotProps = {
|
|
101
|
+
/** Whether the accordion panel is currently open. */
|
|
102
|
+
value: BbAccordionProps['modelValue'];
|
|
103
|
+
/** Toggles the open/closed state. */
|
|
104
|
+
toggle: () => void;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export type BbAccordionSlots = {
|
|
108
|
+
/**
|
|
109
|
+
* Content rendered inside the accordion header button.
|
|
110
|
+
*/
|
|
111
|
+
header?: (props: BbAccordionToggleSlotProps) => any;
|
|
112
|
+
/**
|
|
113
|
+
* The collapsible body content shown when the accordion is open.
|
|
114
|
+
*/
|
|
115
|
+
default?: (props: BbAccordionToggleSlotProps) => any;
|
|
116
|
+
};
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Styles
|
|
120
|
+
|
|
121
|
+
```css
|
|
122
|
+
.bb-accordion {
|
|
123
|
+
color: var(--bb-text);
|
|
124
|
+
.bb-accordion__header {
|
|
125
|
+
text-align: left;
|
|
126
|
+
width: 100%;
|
|
127
|
+
|
|
128
|
+
*:not(button):not(a) {
|
|
129
|
+
pointer-events: none;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
.bb-accordion__content {
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|