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