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,256 @@
|
|
|
1
|
+
# BbRadio
|
|
2
|
+
|
|
3
|
+
## Template & Script
|
|
4
|
+
|
|
5
|
+
```vue
|
|
6
|
+
<template>
|
|
7
|
+
<BaseInputContainer
|
|
8
|
+
:id="id"
|
|
9
|
+
class="bb-radio"
|
|
10
|
+
:direction="direction"
|
|
11
|
+
:errors="errors"
|
|
12
|
+
:has-errors="hasErrors"
|
|
13
|
+
:hide-label="hideLabel"
|
|
14
|
+
:hint="hint"
|
|
15
|
+
:input-position="inputPosition"
|
|
16
|
+
:label="label"
|
|
17
|
+
:label-position="labelPosition"
|
|
18
|
+
:label-tag="'span'"
|
|
19
|
+
:name="name"
|
|
20
|
+
:reverse="reverse"
|
|
21
|
+
:show-hint="showHint"
|
|
22
|
+
:tag="'label'"
|
|
23
|
+
>
|
|
24
|
+
<template #label="data"><slot name="label" v-bind="data"></slot></template>
|
|
25
|
+
<template #input="{ id, name, hasErrors, ariaDescribedby }">
|
|
26
|
+
<BaseRadio
|
|
27
|
+
:id="id"
|
|
28
|
+
:aria-describedby="ariaDescribedby"
|
|
29
|
+
:autofocus="autofocus"
|
|
30
|
+
:checked="checked"
|
|
31
|
+
:color="color"
|
|
32
|
+
:disabled="disabled"
|
|
33
|
+
:has-errors="hasErrors"
|
|
34
|
+
:model-value="modelValue"
|
|
35
|
+
:name="name"
|
|
36
|
+
:readonly="readonly"
|
|
37
|
+
:required="required"
|
|
38
|
+
:value="value"
|
|
39
|
+
v-bind="eventListeners"
|
|
40
|
+
><template #icon="data"
|
|
41
|
+
><slot name="icon" v-bind="data" :text="label" /></template
|
|
42
|
+
></BaseRadio>
|
|
43
|
+
</template>
|
|
44
|
+
</BaseInputContainer>
|
|
45
|
+
</template>
|
|
46
|
+
|
|
47
|
+
<script setup lang="ts">
|
|
48
|
+
import BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';
|
|
49
|
+
import BaseRadio from '../BaseRadio/BaseRadio.vue';
|
|
50
|
+
import { ref, computed } from 'vue';
|
|
51
|
+
import type { BbRadioProps, BbRadioEvents, BbRadioSlots } from './types';
|
|
52
|
+
export type { BbRadioProps, BbRadioEvents, BbRadioSlots };
|
|
53
|
+
|
|
54
|
+
const props = withDefaults(defineProps<BbRadioProps>(), {
|
|
55
|
+
direction: 'auto',
|
|
56
|
+
reverse: true,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const emit = defineEmits<BbRadioEvents>();
|
|
60
|
+
|
|
61
|
+
defineSlots<BbRadioSlots>();
|
|
62
|
+
|
|
63
|
+
const active = ref(false);
|
|
64
|
+
const showHint = computed(() => props.persistentHint || active.value);
|
|
65
|
+
|
|
66
|
+
const eventListeners = {
|
|
67
|
+
onBlur: (event: FocusEvent) => {
|
|
68
|
+
active.value = false;
|
|
69
|
+
emit('blur', event);
|
|
70
|
+
},
|
|
71
|
+
onChange: (event: Event) => emit('change', event),
|
|
72
|
+
onClick: (event: MouseEvent) => emit('click', event),
|
|
73
|
+
onFocus: (event: FocusEvent) => {
|
|
74
|
+
active.value = true;
|
|
75
|
+
emit('focus', event);
|
|
76
|
+
},
|
|
77
|
+
onInput: (event: Event) => emit('input', event),
|
|
78
|
+
onKeydown: (event: KeyboardEvent) => emit('keydown', event),
|
|
79
|
+
onMousedown: (event: MouseEvent) => emit('mousedown', event),
|
|
80
|
+
onMouseup: (event: MouseEvent) => emit('mouseup', event),
|
|
81
|
+
'onUpdate:modelValue': (value: any) => emit('update:modelValue', value),
|
|
82
|
+
};
|
|
83
|
+
</script>
|
|
84
|
+
|
|
85
|
+
<style lang="postcss">
|
|
86
|
+
@import './index.css';
|
|
87
|
+
</style>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Types
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
94
|
+
import type {
|
|
95
|
+
BaseRadioEvents,
|
|
96
|
+
BaseRadioIconSlotProps,
|
|
97
|
+
} from '../BaseRadio/types';
|
|
98
|
+
|
|
99
|
+
export type BbRadioProps = {
|
|
100
|
+
/**
|
|
101
|
+
* Sets autofocus on page load.
|
|
102
|
+
*/
|
|
103
|
+
autofocus?: InputHTMLAttributes['autofocus'];
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Defines the input as checked.
|
|
107
|
+
*/
|
|
108
|
+
checked?: InputHTMLAttributes['checked'];
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Define a color for the component.
|
|
112
|
+
*
|
|
113
|
+
* Either a custom color or a coded color in common HEX, RGB, etc... format.
|
|
114
|
+
*/
|
|
115
|
+
color?: string;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.
|
|
119
|
+
*
|
|
120
|
+
* @defaultValue `'auto'`
|
|
121
|
+
*/
|
|
122
|
+
direction?: 'horizontal' | 'vertical' | 'auto' | string;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Disables the component.
|
|
126
|
+
*/
|
|
127
|
+
disabled?: boolean;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Can be a string or an array of string containing the messages to display.
|
|
131
|
+
*/
|
|
132
|
+
errors?: string | string[];
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Define if the component should be in an error state.
|
|
136
|
+
* It usually attaches a CSS class for styling purposes.
|
|
137
|
+
*/
|
|
138
|
+
hasErrors?: boolean;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Visually hides the label of the input while maintaining accessibility.
|
|
142
|
+
*/
|
|
143
|
+
hideLabel?: boolean;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Text box to be displayed near the input, usually to indicate instructions.
|
|
147
|
+
*/
|
|
148
|
+
hint?: string;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* The identifier of the component.
|
|
152
|
+
*/
|
|
153
|
+
id?: HTMLAttributes['id'];
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Sets the alignment of the input. Since inputs are inline block they can be aligned just as text can.
|
|
157
|
+
*/
|
|
158
|
+
inputPosition?: 'left' | 'center' | 'right';
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Text content of the label of the element.
|
|
162
|
+
*/
|
|
163
|
+
label: string;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Sets the text alignment of the label.
|
|
167
|
+
*/
|
|
168
|
+
labelPosition?: 'left' | 'center' | 'right';
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Used by v-model. Can be any serializable type.
|
|
172
|
+
*/
|
|
173
|
+
modelValue?: any;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Defines the name of the input.
|
|
177
|
+
*/
|
|
178
|
+
name: InputHTMLAttributes['name'];
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Keeps the hint displayed.
|
|
182
|
+
*/
|
|
183
|
+
persistentHint?: boolean;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Sets the input in a readonly state.
|
|
187
|
+
*/
|
|
188
|
+
readonly?: boolean;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Sets the input as required.
|
|
192
|
+
*/
|
|
193
|
+
required?: boolean;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Reverses the layout. Applicable in every direction the order of the label and the input is swapped.
|
|
197
|
+
*
|
|
198
|
+
* @defaultValue `true`
|
|
199
|
+
*/
|
|
200
|
+
reverse?: boolean;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Defines the value of the radio input.
|
|
204
|
+
* It can be any serializable value.
|
|
205
|
+
*/
|
|
206
|
+
value: any;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
/** Re-export for consumers importing events type from BbRadio. */
|
|
210
|
+
export type BbRadioEvents = BaseRadioEvents;
|
|
211
|
+
|
|
212
|
+
/** Props exposed by the `label` slot. */
|
|
213
|
+
export type BbRadioLabelSlotProps = {
|
|
214
|
+
/** The `label` prop value. */
|
|
215
|
+
text: string;
|
|
216
|
+
/** Whether the radio is in an error state. */
|
|
217
|
+
hasErrors: boolean;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
/** Props exposed by the `icon` slot. Extends BaseRadio icon slot with the label text. */
|
|
221
|
+
export type BbRadioIconSlotProps = BaseRadioIconSlotProps & {
|
|
222
|
+
/** The `label` prop value. */
|
|
223
|
+
text: string;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export type BbRadioSlots = {
|
|
227
|
+
/**
|
|
228
|
+
* Replaces the default label text rendered next to the radio button.
|
|
229
|
+
*/
|
|
230
|
+
label?: (props: BbRadioLabelSlotProps) => any;
|
|
231
|
+
/**
|
|
232
|
+
* Replaces the default radio dot visual inside the radio container. Receives `BaseRadio`
|
|
233
|
+
* slot attributes plus the label text.
|
|
234
|
+
*/
|
|
235
|
+
icon?: (props: BbRadioIconSlotProps) => any;
|
|
236
|
+
};
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## Styles
|
|
240
|
+
|
|
241
|
+
```css
|
|
242
|
+
.bb-radio {
|
|
243
|
+
.bb-base-input-container {
|
|
244
|
+
cursor: pointer;
|
|
245
|
+
|
|
246
|
+
&--horizontal {
|
|
247
|
+
align-items: center;
|
|
248
|
+
display: flex;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.bb-base-input-container__input {
|
|
252
|
+
margin-bottom: -7px;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
```
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
# BbRadioGroup
|
|
2
|
+
|
|
3
|
+
## Template & Script
|
|
4
|
+
|
|
5
|
+
```vue
|
|
6
|
+
<template>
|
|
7
|
+
<BaseInputContainer
|
|
8
|
+
:id="id"
|
|
9
|
+
class="bb-radio-group"
|
|
10
|
+
:compact="compact"
|
|
11
|
+
:direction="direction"
|
|
12
|
+
:errors="errors"
|
|
13
|
+
:has-errors="hasErrors"
|
|
14
|
+
:hide-label="hideLegend"
|
|
15
|
+
:hint="hint"
|
|
16
|
+
:input-position="inputPosition"
|
|
17
|
+
:label="legend"
|
|
18
|
+
:label-position="labelPosition"
|
|
19
|
+
:label-tag="'legend'"
|
|
20
|
+
:name="name"
|
|
21
|
+
:reverse="reverse"
|
|
22
|
+
:show-hint="showHint"
|
|
23
|
+
:tag="'fieldset'"
|
|
24
|
+
>
|
|
25
|
+
<template #label="data"><slot name="legend" v-bind="data"></slot></template>
|
|
26
|
+
<template #input="{ id, name, hasErrors, ariaDescribedby }">
|
|
27
|
+
<BaseRadioGroup
|
|
28
|
+
:id="id"
|
|
29
|
+
:aria-describedby="ariaDescribedby"
|
|
30
|
+
:autofocus="autofocus"
|
|
31
|
+
:color="color"
|
|
32
|
+
:dependencies="dependencies"
|
|
33
|
+
:deps-debounce-time="depsDebounceTime"
|
|
34
|
+
:direction="inputDirection"
|
|
35
|
+
:disabled="disabled"
|
|
36
|
+
:enforce-coherence="enforceCoherence"
|
|
37
|
+
:has-errors="hasErrors"
|
|
38
|
+
:hide-label="hideLabel"
|
|
39
|
+
:item-text="<any>itemText"
|
|
40
|
+
:item-value="<any>itemValue"
|
|
41
|
+
:items="<any>items"
|
|
42
|
+
:loading-text="loadingText"
|
|
43
|
+
:model-value="modelValue"
|
|
44
|
+
:model-value-debounce-time="modelValueDebounceTime"
|
|
45
|
+
:name="name"
|
|
46
|
+
:no-data-text="noDataText"
|
|
47
|
+
:readonly="readonly"
|
|
48
|
+
:required="required"
|
|
49
|
+
v-bind="eventListeners"
|
|
50
|
+
>
|
|
51
|
+
<template #prepend="data"
|
|
52
|
+
><slot name="prepend" v-bind="data"></slot></template
|
|
53
|
+
><template #loading="data"
|
|
54
|
+
><slot name="loading" v-bind="data"></slot></template
|
|
55
|
+
><template #no-data="data"
|
|
56
|
+
><slot name="no-data" v-bind="data"></slot></template
|
|
57
|
+
><template #option:prepend="data"
|
|
58
|
+
><slot name="option:prepend" v-bind="data"></slot></template
|
|
59
|
+
><template #icon="data"
|
|
60
|
+
><slot name="icon" v-bind="data"></slot></template
|
|
61
|
+
><template #label="data"
|
|
62
|
+
><slot name="label" v-bind="data"></slot></template
|
|
63
|
+
><template #option:append="data"
|
|
64
|
+
><slot name="option:append" v-bind="data"></slot></template
|
|
65
|
+
><template #append="data"
|
|
66
|
+
><slot name="append" v-bind="data"></slot
|
|
67
|
+
></template>
|
|
68
|
+
</BaseRadioGroup>
|
|
69
|
+
</template>
|
|
70
|
+
</BaseInputContainer>
|
|
71
|
+
</template>
|
|
72
|
+
|
|
73
|
+
<script setup lang="ts" generic="T = any">
|
|
74
|
+
import BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';
|
|
75
|
+
import BaseRadioGroup from '../BaseRadioGroup/BaseRadioGroup.vue';
|
|
76
|
+
import { ref, computed } from 'vue';
|
|
77
|
+
import type {
|
|
78
|
+
BbRadioGroupProps,
|
|
79
|
+
BbRadioGroupEvents,
|
|
80
|
+
BbRadioGroupSlots,
|
|
81
|
+
} from './types';
|
|
82
|
+
export type { BbRadioGroupProps, BbRadioGroupEvents, BbRadioGroupSlots };
|
|
83
|
+
|
|
84
|
+
const props = withDefaults(defineProps<BbRadioGroupProps<T>>(), {
|
|
85
|
+
inputPosition: 'left',
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
const emit = defineEmits<BbRadioGroupEvents>();
|
|
89
|
+
|
|
90
|
+
defineSlots<BbRadioGroupSlots<T>>();
|
|
91
|
+
|
|
92
|
+
const active = ref(false);
|
|
93
|
+
const showHint = computed(() => props.persistentHint || active.value);
|
|
94
|
+
|
|
95
|
+
const eventListeners = {
|
|
96
|
+
onBlur: (event: FocusEvent) => emit('blur', event),
|
|
97
|
+
onChange: (event: Event) => emit('change', event),
|
|
98
|
+
onClick: (event: MouseEvent) => emit('click', event),
|
|
99
|
+
onFocus: (event: FocusEvent) => {
|
|
100
|
+
active.value = true;
|
|
101
|
+
emit('focus', event);
|
|
102
|
+
},
|
|
103
|
+
onInactive: () => {
|
|
104
|
+
active.value = false;
|
|
105
|
+
emit('inactive');
|
|
106
|
+
},
|
|
107
|
+
onInput: (event: Event) => emit('input', event),
|
|
108
|
+
onKeydown: (event: KeyboardEvent) => emit('keydown', event),
|
|
109
|
+
onMousedown: (event: MouseEvent) => emit('mousedown', event),
|
|
110
|
+
onMouseup: (event: MouseEvent) => emit('mouseup', event),
|
|
111
|
+
'onUpdate:modelValue': (event: any) => emit('update:modelValue', event),
|
|
112
|
+
};
|
|
113
|
+
</script>
|
|
114
|
+
|
|
115
|
+
<style lang="postcss">
|
|
116
|
+
@import './index.css';
|
|
117
|
+
</style>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Types
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
124
|
+
import type { NestedKeyOf } from '@/types/NestedKeyOf';
|
|
125
|
+
import type { BaseRadioGroupEvents } from '../BaseRadioGroup/types';
|
|
126
|
+
import type {
|
|
127
|
+
BaseRadioGroupOptionAffixSlotProps,
|
|
128
|
+
BaseRadioGroupLabelSlotProps,
|
|
129
|
+
BaseRadioGroupIconSlotProps,
|
|
130
|
+
} from '../BaseRadioGroup/types';
|
|
131
|
+
|
|
132
|
+
export type BbRadioGroupProps<T> = {
|
|
133
|
+
/**
|
|
134
|
+
* Sets autofocus on page load.
|
|
135
|
+
*/
|
|
136
|
+
autofocus?: InputHTMLAttributes['autofocus'];
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Define a color for the component.
|
|
140
|
+
*
|
|
141
|
+
* Either a custom color or a coded color in common HEX, RGB, etc... format.
|
|
142
|
+
*/
|
|
143
|
+
color?: string;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Sets the component in a compact state.
|
|
147
|
+
*/
|
|
148
|
+
compact?: boolean;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Defines an array of dependencies that will trigger actions in the component upon change.
|
|
152
|
+
*/
|
|
153
|
+
dependencies?: any[];
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Timeout used to debounce response to changes to dependencies.
|
|
157
|
+
*/
|
|
158
|
+
depsDebounceTime?: number;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.
|
|
162
|
+
*/
|
|
163
|
+
direction?: 'horizontal' | 'vertical' | 'auto' | string;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Disables the component.
|
|
167
|
+
*/
|
|
168
|
+
disabled?: boolean;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* If coherence is enforced the input cannot have a modelValue that is incoherent with its current items.
|
|
172
|
+
*
|
|
173
|
+
* e.g. You cannot set v-model to a user that is not present in the items passed.
|
|
174
|
+
*
|
|
175
|
+
* modelValue will be reset upon incoherence.
|
|
176
|
+
*/
|
|
177
|
+
enforceCoherence?: boolean;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Can be a string or an array of string containing the messages to display.
|
|
181
|
+
*/
|
|
182
|
+
errors?: string | string[];
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Define if the component should be in an error state.
|
|
186
|
+
* It usually attaches a CSS class for styling purposes.
|
|
187
|
+
*/
|
|
188
|
+
hasErrors?: boolean;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Visually hides the label of the input while maintaining accessibility.
|
|
192
|
+
*/
|
|
193
|
+
hideLabel?: boolean;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Visually hides the legend of the fieldset while maintaining accessibility.
|
|
197
|
+
*/
|
|
198
|
+
hideLegend?: boolean;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Text box to be displayed near the input, usually to indicate instructions.
|
|
202
|
+
*/
|
|
203
|
+
hint?: string;
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* The identifier of the component.
|
|
207
|
+
*/
|
|
208
|
+
id?: HTMLAttributes['id'];
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Defines the direction of the inputs in the fieldset.
|
|
212
|
+
*/
|
|
213
|
+
inputDirection?: 'horizontal' | 'vertical';
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Sets the alignment of the input. Since inputs are inline block they can be aligned just as text can.
|
|
217
|
+
*
|
|
218
|
+
* @defaultValue `'left'`
|
|
219
|
+
*/
|
|
220
|
+
inputPosition?: 'left' | 'center' | 'right';
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Used to retrieve items; can be an array or a function.
|
|
224
|
+
*/
|
|
225
|
+
items:
|
|
226
|
+
| T[]
|
|
227
|
+
| ((prefill: boolean, modelValue?: any[]) => Promise<T[]>)
|
|
228
|
+
| ((prefill: boolean, modelValue?: any[]) => T[]);
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Defines a path that returns a property of the object to use as text or a function that returns a string.
|
|
232
|
+
*/
|
|
233
|
+
itemText?: T extends object
|
|
234
|
+
? NestedKeyOf<T> | ((item: T) => string)
|
|
235
|
+
: ((item: T) => string) | undefined;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Defines a path that returns a property of the object to use as value or a function that returns any value.
|
|
239
|
+
*/
|
|
240
|
+
itemValue?: T extends object
|
|
241
|
+
? NestedKeyOf<T> | ((item: T) => string)
|
|
242
|
+
: ((item: T) => any) | undefined;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Sets the text alignment of the label.
|
|
246
|
+
*/
|
|
247
|
+
labelPosition?: 'left' | 'center' | 'right';
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Text content of the legend.
|
|
251
|
+
*/
|
|
252
|
+
legend: string;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* String displayed while items are being loaded.
|
|
256
|
+
*/
|
|
257
|
+
loadingText?: string;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Used by v-model. Can be any serializable type.
|
|
261
|
+
*/
|
|
262
|
+
modelValue: any;
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Timeout used to debounce response to changes to modelValue.
|
|
266
|
+
*/
|
|
267
|
+
modelValueDebounceTime?: number;
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Defines the name of the input.
|
|
271
|
+
*/
|
|
272
|
+
name: InputHTMLAttributes['name'];
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* String displayed when there are no items to display.
|
|
276
|
+
*/
|
|
277
|
+
noDataText?: string;
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Keeps the hint displayed.
|
|
281
|
+
*/
|
|
282
|
+
persistentHint?: boolean;
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Sets the input in a readonly state.
|
|
286
|
+
*/
|
|
287
|
+
readonly?: boolean;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Sets the input as required.
|
|
291
|
+
*/
|
|
292
|
+
required?: boolean;
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Reverses the layout. Applicable in every direction the order of the label and the input is swapped.
|
|
296
|
+
*/
|
|
297
|
+
reverse?: boolean;
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
/** Re-export for consumers importing events type from BbRadioGroup. */
|
|
301
|
+
export type BbRadioGroupEvents = BaseRadioGroupEvents;
|
|
302
|
+
|
|
303
|
+
/** Props exposed by the `legend` slot. */
|
|
304
|
+
export type BbRadioGroupLegendSlotProps = {
|
|
305
|
+
/** The `legend` prop value. */
|
|
306
|
+
text: string;
|
|
307
|
+
/** Whether the group is in an error state. */
|
|
308
|
+
hasErrors: boolean;
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
export type BbRadioGroupSlots<T> = {
|
|
312
|
+
/**
|
|
313
|
+
* Content rendered before the first option, inside the options container.
|
|
314
|
+
*/
|
|
315
|
+
prepend?: (props: object) => any;
|
|
316
|
+
/**
|
|
317
|
+
* Content shown while options are loading (replaces the default loading text).
|
|
318
|
+
*/
|
|
319
|
+
loading?: (props: object) => any;
|
|
320
|
+
/**
|
|
321
|
+
* Content shown when no options are available (replaces the default "no data" text).
|
|
322
|
+
*/
|
|
323
|
+
'no-data'?: (props: object) => any;
|
|
324
|
+
/**
|
|
325
|
+
* Content rendered before each option's radio button.
|
|
326
|
+
*/
|
|
327
|
+
'option:prepend'?: (props: BaseRadioGroupOptionAffixSlotProps<T>) => any;
|
|
328
|
+
/**
|
|
329
|
+
* Replaces the default radio dot icon for each option. Receives all `BaseRadio`
|
|
330
|
+
* slot attributes plus the source item and its display text.
|
|
331
|
+
*/
|
|
332
|
+
icon?: (props: BaseRadioGroupIconSlotProps<T>) => any;
|
|
333
|
+
/**
|
|
334
|
+
* Replaces the default label text for each option.
|
|
335
|
+
*/
|
|
336
|
+
label?: (props: BaseRadioGroupLabelSlotProps<T>) => any;
|
|
337
|
+
/**
|
|
338
|
+
* Content rendered after each option's radio button and label.
|
|
339
|
+
*/
|
|
340
|
+
'option:append'?: (props: BaseRadioGroupOptionAffixSlotProps<T>) => any;
|
|
341
|
+
/**
|
|
342
|
+
* Content rendered after the last option, inside the options container.
|
|
343
|
+
*/
|
|
344
|
+
append?: (props: object) => any;
|
|
345
|
+
/**
|
|
346
|
+
* Replaces the default fieldset legend text for the group.
|
|
347
|
+
*/
|
|
348
|
+
legend?: (props: BbRadioGroupLegendSlotProps) => any;
|
|
349
|
+
};
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## Styles
|
|
353
|
+
|
|
354
|
+
```css
|
|
355
|
+
.bb-radio-group {
|
|
356
|
+
.bb-base-input-container--horizontal {
|
|
357
|
+
.bb-base-input-container__label {
|
|
358
|
+
float: left;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.bb-base-input-container__input--right {
|
|
363
|
+
.bb-cr-container__container {
|
|
364
|
+
justify-content: flex-end;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
.bb-base-input-container__input--center {
|
|
368
|
+
.bb-cr-container__container {
|
|
369
|
+
justify-content: center;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
```
|