@dpa-id-components/dpa-shared-components 21.1.1 → 22.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{alert-fill-BHn_Z4vo.js → alert-filled-COSmQYAa.js} +1 -1
- package/dist/{bell-fill-DHRfa4cC.js → bell-filled-7gfK8601.js} +1 -1
- package/dist/{bookmark-outlined-D41PleT8.js → bookmark-D65iW--h.js} +1 -1
- package/dist/{bookmark-DNJYJq0J.js → bookmark-filled-5lCW1BfF.js} +1 -1
- package/dist/{comment-fill-Dc-swkQu.js → comment-filled-Cl_qZ6Fz.js} +1 -1
- package/dist/components/UiBadge/UiBadge.vue.d.ts +3 -16
- package/dist/components/UiButton/UiButton.vue.d.ts +15 -21
- package/dist/components/UiButtonGroup/UiButtonGroup.vue.d.ts +5 -11
- package/dist/components/UiCheckbox/UiCheckbox.vue.d.ts +14 -21
- package/dist/components/UiChip/UiChip.vue.d.ts +11 -12
- package/dist/components/UiColorPicker/UiColorPicker.vue.d.ts +6 -8
- package/dist/components/UiDatePicker/UiDatePicker.vue.d.ts +47 -84
- package/dist/components/UiDialog/UiDialog.vue.d.ts +20 -37
- package/dist/components/UiFilterBadge/UiFilterBadge.vue.d.ts +10 -9
- package/dist/components/UiFilterButton/UiFilterButton.vue.d.ts +26 -10
- package/dist/components/UiIcon/UiIcon.vue.d.ts +11 -6
- package/dist/components/UiIcon/icons.d.ts +14 -39
- package/dist/components/UiIconButton/UiIconButton.vue.d.ts +15 -6
- package/dist/components/UiInfoContent/UiInfoContent.vue.d.ts +17 -10
- package/dist/components/UiInput/UiInput.vue.d.ts +6 -48
- package/dist/components/UiList/UiList.vue.d.ts +5 -11
- package/dist/components/UiListItem/UiListItem.vue.d.ts +12 -24
- package/dist/components/UiMenu/UiMenu.vue.d.ts +30 -35
- package/dist/components/UiMenu/UiMenuItem.vue.d.ts +8 -5
- package/dist/components/UiMenu/UiMenuList.vue.d.ts +13 -11
- package/dist/components/UiPopover/UiPopover.vue.d.ts +45 -0
- package/dist/components/UiRadioButton/UiRadioButton.vue.d.ts +35 -0
- package/dist/components/UiRadioInputGroup/UiRadioInputGroup.vue.d.ts +27 -31
- package/dist/components/UiSearchBar/UiSearchBar.vue.d.ts +16 -39
- package/dist/components/UiSearchInput/UiSearchInput.vue.d.ts +2 -2
- package/dist/components/UiSkeletonBox/UiSkeletonBox.vue.d.ts +1 -5
- package/dist/components/UiSnackbar/UiSnackbar.vue.d.ts +4 -10
- package/dist/components/UiSpinner/UiSpinner.vue.d.ts +5 -8
- package/dist/components/UiTextButton/UiTextButton.vue.d.ts +22 -13
- package/dist/components/UiToggleButton/UiToggleButton.vue.d.ts +10 -24
- package/dist/components/UiTooltip/UiTooltip.vue.d.ts +3 -31
- package/dist/components/index.d.ts +3 -4
- package/dist/dpa-shared-components.js +4263 -4873
- package/dist/{flag-fill-C3XgapYW.js → flag-filled-VmJW-U0p.js} +1 -1
- package/dist/{folder-fill-CnEmPx6c.js → folder-filled-D6pmcH0e.js} +1 -1
- package/dist/{image focus point-D_hUlTWi.js → image-focus-point-BJ7HhehR.js} +1 -1
- package/dist/{info-fill-DlgeXJbI.js → info-filled-PYbvwGmZ.js} +1 -1
- package/dist/{map-outline-uvK8An7m.js → map-FF2zfEGP.js} +1 -1
- package/dist/{map-BMOQGCce.js → map-filled-Y8JaYK4Y.js} +1 -1
- package/dist/{video-rounded-ISWC3gUM.js → play-CArB2O7k.js} +1 -1
- package/dist/{saved-search-fill-CPoyaMRU.js → saved-search-filled-CNz5iwu_.js} +1 -1
- package/dist/{sidebar-fill-CBSJYVQQ.js → sidebar-filled-BnnqCUYl.js} +1 -1
- package/dist/spinner-CrCQ6H6L.js +32 -0
- package/dist/src/assets/icons/{bookmark-fill.vue → bookmark-filled.vue} +1 -1
- package/dist/src/assets/icons/bookmark.vue +4 -7
- package/dist/src/assets/icons/flag-filled.vue +4 -4
- package/dist/src/assets/icons/folder-filled.vue +4 -4
- package/dist/src/assets/icons/info-filled.vue +4 -4
- package/dist/src/assets/icons/map-filled.vue +13 -0
- package/dist/src/assets/icons/map.vue +1 -1
- package/dist/src/assets/icons/play.vue +1 -1
- package/dist/src/assets/icons/spinner.vue +27 -3
- package/dist/src/components/DpaMediaItem/DpaMediaItem.spec.ts +3 -3
- package/dist/src/components/DpaMediaItem/DpaMediaItem.vue +17 -17
- package/dist/src/components/UiBadge/README.md +8 -13
- package/dist/src/components/UiBadge/UiBadge.spec.ts +9 -15
- package/dist/src/components/UiBadge/UiBadge.stories.ts +52 -42
- package/dist/src/components/UiBadge/UiBadge.vue +29 -77
- package/dist/src/components/UiButton/README.md +20 -18
- package/dist/src/components/UiButton/UiButton.spec.ts +12 -41
- package/dist/src/components/UiButton/UiButton.stories.ts +53 -33
- package/dist/src/components/UiButton/UiButton.vue +55 -111
- package/dist/src/components/UiButtonGroup/UiButtonGroup.stories.ts +3 -2
- package/dist/src/components/UiButtonGroup/UiButtonGroup.vue +23 -1
- package/dist/src/components/UiCard/UiCard.vue +3 -3
- package/dist/src/components/UiCheckBoxGroup/UiCheckBoxGroup.spec.ts +4 -2
- package/dist/src/components/UiCheckBoxGroup/UiCheckBoxGroup.stories.ts +1 -1
- package/dist/src/components/UiCheckBoxGroup/UiCheckBoxGroup.vue +2 -3
- package/dist/src/components/UiCheckbox/README.md +4 -16
- package/dist/src/components/UiCheckbox/UiCheckbox.spec.ts +15 -141
- package/dist/src/components/UiCheckbox/UiCheckbox.stories.ts +18 -32
- package/dist/src/components/UiCheckbox/UiCheckbox.vue +48 -84
- package/dist/src/components/UiChip/README.md +10 -5
- package/dist/src/components/UiChip/UiChip.spec.ts +5 -60
- package/dist/src/components/UiChip/UiChip.stories.ts +53 -17
- package/dist/src/components/UiChip/UiChip.vue +31 -33
- package/dist/src/components/UiCollapseNavigation/README.md +3 -3
- package/dist/src/components/UiCollapseNavigation/UiCollapseNavigation.stories.ts +12 -12
- package/dist/src/components/UiCollapseNavigation/UiCollapseNavigation.vue +8 -6
- package/dist/src/components/UiColorPicker/UiColorPicker.spec.ts +12 -24
- package/dist/src/components/UiColorPicker/UiColorPicker.stories.ts +5 -6
- package/dist/src/components/UiColorPicker/UiColorPicker.vue +21 -60
- package/dist/src/components/UiColorPicker/lib/colors.ts +9 -9
- package/dist/src/components/UiDatePicker/README.md +68 -46
- package/dist/src/components/UiDatePicker/UiDatePicker.spec.ts +92 -284
- package/dist/src/components/UiDatePicker/UiDatePicker.stories.ts +210 -196
- package/dist/src/components/UiDatePicker/UiDatePicker.vue +301 -432
- package/dist/src/components/UiDialog/README.md +17 -22
- package/dist/src/components/UiDialog/UiDialog.spec.ts +3 -110
- package/dist/src/components/UiDialog/UiDialog.stories.ts +45 -54
- package/dist/src/components/UiDialog/UiDialog.vue +75 -104
- package/dist/src/components/UiFilterBadge/README.md +7 -7
- package/dist/src/components/UiFilterBadge/UiFilterBadge.spec.ts +47 -3
- package/dist/src/components/UiFilterBadge/UiFilterBadge.stories.ts +3 -18
- package/dist/src/components/UiFilterBadge/UiFilterBadge.vue +31 -26
- package/dist/src/components/UiFilterButton/README.md +2 -0
- package/dist/src/components/UiFilterButton/UiFilterButton.spec.ts +1 -1
- package/dist/src/components/UiFilterButton/UiFilterButton.stories.ts +2 -1
- package/dist/src/components/UiFilterButton/UiFilterButton.vue +31 -23
- package/dist/src/components/UiIcon/UiIcon.spec.ts +3 -3
- package/dist/src/components/UiIcon/UiIcon.stories.ts +1 -1
- package/dist/src/components/UiIcon/UiIcon.vue +24 -25
- package/dist/src/components/UiIcon/icons.ts +113 -141
- package/dist/src/components/UiIconButton/UiIconButton.spec.ts +1 -1
- package/dist/src/components/UiIconButton/UiIconButton.stories.ts +1 -0
- package/dist/src/components/UiIconButton/UiIconButton.vue +28 -10
- package/dist/src/components/UiInfoContent/README.md +7 -8
- package/dist/src/components/UiInfoContent/UiInfoContent.spec.ts +29 -21
- package/dist/src/components/UiInfoContent/UiInfoContent.stories.ts +11 -33
- package/dist/src/components/UiInfoContent/UiInfoContent.vue +34 -33
- package/dist/src/components/UiInput/README.md +15 -32
- package/dist/src/components/UiInput/UiInput.spec.ts +71 -102
- package/dist/src/components/UiInput/UiInput.stories.ts +67 -58
- package/dist/src/components/UiInput/UiInput.vue +87 -286
- package/dist/src/components/UiLabel/README.md +0 -9
- package/dist/src/components/UiLabel/UiLabel.vue +1 -1
- package/dist/src/components/UiList/UiList.stories.ts +1 -0
- package/dist/src/components/UiList/UiList.vue +22 -0
- package/dist/src/components/UiListItem/UiListItem.spec.ts +1 -2
- package/dist/src/components/UiListItem/UiListItem.stories.ts +2 -2
- package/dist/src/components/UiListItem/UiListItem.vue +73 -93
- package/dist/src/components/UiMenu/README.md +64 -7
- package/dist/src/components/UiMenu/UiMenu.spec.ts +87 -99
- package/dist/src/components/UiMenu/UiMenu.stories.ts +166 -411
- package/dist/src/components/UiMenu/UiMenu.vue +228 -408
- package/dist/src/components/UiMenu/UiMenuItem.vue +28 -9
- package/dist/src/components/UiMenu/UiMenuList.vue +22 -0
- package/dist/src/components/UiOverlay/README.md +1 -1
- package/dist/src/components/UiOverlay/UiOverlay.stories.ts +1 -1
- package/dist/src/components/UiOverlay/UiOverlay.vue +2 -2
- package/dist/src/components/UiOverlayMenu/README.md +1 -1
- package/dist/src/components/UiOverlayMenu/UiOverlayMenu.vue +3 -3
- package/dist/src/components/UiPopover/README.md +56 -0
- package/dist/src/components/UiPopover/UiPopover.stories.ts +49 -0
- package/dist/src/components/UiPopover/UiPopover.vue +187 -0
- package/dist/src/components/UiRadioButton/README.md +44 -0
- package/dist/src/components/UiRadioButton/UiRadioButton.stories.ts +85 -0
- package/dist/src/components/UiRadioButton/UiRadioButton.vue +82 -0
- package/dist/src/components/UiRadioInputGroup/UiRadioInputGroup.spec.ts +5 -5
- package/dist/src/components/UiRadioInputGroup/UiRadioInputGroup.stories.ts +5 -30
- package/dist/src/components/UiRadioInputGroup/UiRadioInputGroup.vue +44 -69
- package/dist/src/components/UiSearchBar/README.md +40 -37
- package/dist/src/components/UiSearchBar/UiSearchBar.spec.ts +6 -23
- package/dist/src/components/UiSearchBar/UiSearchBar.stories.ts +25 -127
- package/dist/src/components/UiSearchBar/UiSearchBar.vue +73 -179
- package/dist/src/components/UiSearchInput/UiSearchInput.vue +27 -22
- package/dist/src/components/UiSection/UiSection.vue +4 -4
- package/dist/src/components/UiSectionDivider/UiSectionDivider.vue +3 -3
- package/dist/src/components/UiSelect/UiSelect.stories.ts +1 -1
- package/dist/src/components/UiSelect/UiSelect.vue +17 -76
- package/dist/src/components/UiSkeletonBox/UiSkeletonBox.spec.ts +1 -1
- package/dist/src/components/UiSkeletonBox/UiSkeletonBox.vue +12 -17
- package/dist/src/components/UiSnackbar/UiSnackbar.spec.ts +45 -0
- package/dist/src/components/UiSnackbar/UiSnackbar.stories.ts +19 -22
- package/dist/src/components/UiSnackbar/UiSnackbar.vue +23 -26
- package/dist/src/components/UiSpinner/README.md +6 -4
- package/dist/src/components/UiSpinner/UiSpinner.spec.ts +33 -19
- package/dist/src/components/UiSpinner/UiSpinner.stories.ts +16 -20
- package/dist/src/components/UiSpinner/UiSpinner.vue +55 -87
- package/dist/src/components/UiTextButton/UiTextButton.spec.ts +3 -3
- package/dist/src/components/UiTextButton/UiTextButton.stories.ts +1 -0
- package/dist/src/components/UiTextButton/UiTextButton.vue +28 -9
- package/dist/src/components/UiToggleButton/README.md +16 -15
- package/dist/src/components/UiToggleButton/UiToggleButton.spec.ts +48 -62
- package/dist/src/components/UiToggleButton/UiToggleButton.stories.ts +30 -40
- package/dist/src/components/UiToggleButton/UiToggleButton.vue +54 -129
- package/dist/src/components/UiTooltip/README.md +25 -36
- package/dist/src/components/UiTooltip/UiTooltip.spec.ts +45 -25
- package/dist/src/components/UiTooltip/UiTooltip.stories.ts +21 -64
- package/dist/src/components/UiTooltip/UiTooltip.vue +64 -136
- package/dist/src/components/index.ts +4 -6
- package/dist/src/compositions/useBreakpoints/UseBreakpoints.stories.vue +4 -2
- package/dist/src/tailwindPreset.css +161 -56
- package/dist/src/types/index.ts +1 -0
- package/dist/src/utils/cn.spec.ts +21 -4
- package/dist/src/utils/cn.ts +11 -4
- package/dist/style.css +1 -1
- package/dist/tailwindPreset.css +161 -56
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/cn.d.ts +8 -0
- package/dist/{video overlay-DfhF7VpE.js → video-overlay-D6e61Eo7.js} +1 -1
- package/package.json +1 -2
- package/src/assets/icons/{bookmark-fill.vue → bookmark-filled.vue} +1 -1
- package/src/assets/icons/bookmark.vue +4 -7
- package/src/assets/icons/flag-filled.vue +4 -4
- package/src/assets/icons/folder-filled.vue +4 -4
- package/src/assets/icons/info-filled.vue +4 -4
- package/src/assets/icons/map-filled.vue +13 -0
- package/src/assets/icons/map.vue +1 -1
- package/src/assets/icons/play.vue +1 -1
- package/src/assets/icons/spinner.vue +27 -3
- package/src/components/DpaMediaItem/DpaMediaItem.vue +17 -17
- package/src/components/UiBadge/README.md +8 -13
- package/src/components/UiBadge/UiBadge.vue +29 -77
- package/src/components/UiButton/README.md +20 -18
- package/src/components/UiButton/UiButton.vue +55 -111
- package/src/components/UiButtonGroup/UiButtonGroup.vue +23 -1
- package/src/components/UiCard/UiCard.vue +3 -3
- package/src/components/UiCheckBoxGroup/UiCheckBoxGroup.vue +2 -3
- package/src/components/UiCheckbox/README.md +4 -16
- package/src/components/UiCheckbox/UiCheckbox.vue +48 -84
- package/src/components/UiChip/README.md +10 -5
- package/src/components/UiChip/UiChip.vue +31 -33
- package/src/components/UiCollapseNavigation/README.md +3 -3
- package/src/components/UiCollapseNavigation/UiCollapseNavigation.vue +8 -6
- package/src/components/UiColorPicker/UiColorPicker.vue +21 -60
- package/src/components/UiColorPicker/lib/colors.ts +9 -9
- package/src/components/UiDatePicker/README.md +68 -46
- package/src/components/UiDatePicker/UiDatePicker.vue +301 -432
- package/src/components/UiDialog/README.md +17 -22
- package/src/components/UiDialog/UiDialog.vue +75 -104
- package/src/components/UiFilterBadge/README.md +7 -7
- package/src/components/UiFilterBadge/UiFilterBadge.vue +31 -26
- package/src/components/UiFilterButton/README.md +2 -0
- package/src/components/UiFilterButton/UiFilterButton.vue +31 -23
- package/src/components/UiIcon/UiIcon.vue +24 -25
- package/src/components/UiIcon/icons.ts +113 -141
- package/src/components/UiIconButton/UiIconButton.vue +28 -10
- package/src/components/UiInfoContent/README.md +7 -8
- package/src/components/UiInfoContent/UiInfoContent.vue +34 -33
- package/src/components/UiInput/README.md +15 -32
- package/src/components/UiInput/UiInput.vue +87 -286
- package/src/components/UiLabel/README.md +0 -9
- package/src/components/UiLabel/UiLabel.vue +1 -1
- package/src/components/UiList/UiList.vue +22 -0
- package/src/components/UiListItem/UiListItem.vue +73 -93
- package/src/components/UiMenu/README.md +64 -7
- package/src/components/UiMenu/UiMenu.vue +228 -408
- package/src/components/UiMenu/UiMenuItem.vue +28 -9
- package/src/components/UiMenu/UiMenuList.vue +22 -0
- package/src/components/UiOverlay/README.md +1 -1
- package/src/components/UiOverlay/UiOverlay.vue +2 -2
- package/src/components/UiOverlayMenu/README.md +1 -1
- package/src/components/UiOverlayMenu/UiOverlayMenu.vue +3 -3
- package/src/components/UiPopover/README.md +56 -0
- package/src/components/UiPopover/UiPopover.vue +187 -0
- package/src/components/UiRadioButton/README.md +44 -0
- package/src/components/UiRadioButton/UiRadioButton.vue +82 -0
- package/src/components/UiRadioInputGroup/UiRadioInputGroup.vue +44 -69
- package/src/components/UiSearchBar/README.md +40 -37
- package/src/components/UiSearchBar/UiSearchBar.vue +73 -179
- package/src/components/UiSearchInput/UiSearchInput.vue +27 -22
- package/src/components/UiSection/UiSection.vue +4 -4
- package/src/components/UiSectionDivider/UiSectionDivider.vue +3 -3
- package/src/components/UiSelect/UiSelect.vue +17 -76
- package/src/components/UiSkeletonBox/UiSkeletonBox.vue +12 -17
- package/src/components/UiSnackbar/UiSnackbar.vue +23 -26
- package/src/components/UiSpinner/README.md +6 -4
- package/src/components/UiSpinner/UiSpinner.vue +55 -87
- package/src/components/UiTextButton/UiTextButton.vue +28 -9
- package/src/components/UiToggleButton/README.md +16 -15
- package/src/components/UiToggleButton/UiToggleButton.vue +54 -129
- package/src/components/UiTooltip/README.md +25 -36
- package/src/components/UiTooltip/UiTooltip.vue +64 -136
- package/src/tailwindPreset.css +161 -56
- package/src/types/index.ts +1 -0
- package/src/utils/cn.ts +11 -4
- package/dist/assets/icons/flag-outline.vue.d.ts +0 -3
- package/dist/assets/icons/folder-fill.vue.d.ts +0 -3
- package/dist/assets/icons/graphic-circled.vue.d.ts +0 -3
- package/dist/assets/icons/graphic-filled.vue.d.ts +0 -3
- package/dist/assets/icons/image focus point.vue.d.ts +0 -3
- package/dist/assets/icons/info-fill.vue.d.ts +0 -3
- package/dist/assets/icons/lock-filled.vue.d.ts +0 -3
- package/dist/assets/icons/map-outline.vue.d.ts +0 -3
- package/dist/assets/icons/paperplane.vue.d.ts +0 -3
- package/dist/assets/icons/pause-circle.vue.d.ts +0 -3
- package/dist/assets/icons/picture-circled.vue.d.ts +0 -3
- package/dist/assets/icons/picture-filled.vue.d.ts +0 -3
- package/dist/assets/icons/picture-gallery.vue.d.ts +0 -3
- package/dist/assets/icons/play-circle.vue.d.ts +0 -3
- package/dist/assets/icons/play-fill.vue.d.ts +0 -3
- package/dist/assets/icons/plus-circle.vue.d.ts +0 -3
- package/dist/assets/icons/saved-search-fill.vue.d.ts +0 -3
- package/dist/assets/icons/sidebar-fill.vue.d.ts +0 -3
- package/dist/assets/icons/star-fill.vue.d.ts +0 -3
- package/dist/assets/icons/text-circled.vue.d.ts +0 -3
- package/dist/assets/icons/text-filled.vue.d.ts +0 -3
- package/dist/assets/icons/video overlay.vue.d.ts +0 -3
- package/dist/assets/icons/video-circled.vue.d.ts +0 -3
- package/dist/assets/icons/video-filled.vue.d.ts +0 -3
- package/dist/assets/icons/video-rounded.vue.d.ts +0 -3
- package/dist/audio-circled-amRbTaDb.js +0 -15
- package/dist/audio-filled-C7m_-PTb.js +0 -15
- package/dist/bookmark-fill-DbkrXmPt.js +0 -20
- package/dist/components/UiAutocomplete/UiAutocomplete.vue.d.ts +0 -22
- package/dist/components/UiFilterBadgeButton/UiFilterBadgeButton.vue.d.ts +0 -29
- package/dist/components/UiSimpleInput/UiSimpleInput.vue.d.ts +0 -20
- package/dist/filter-outline-ChWKUbSt.js +0 -16
- package/dist/flag-filled-CdVD_QxY.js +0 -18
- package/dist/flag-outline-ChGgKT6P.js +0 -18
- package/dist/folder-filled-zwvSw3Sd.js +0 -18
- package/dist/graphic-circled-BtuNYmPh.js +0 -15
- package/dist/graphic-filled-DXQvxz4s.js +0 -15
- package/dist/info-filled-Btao1rhT.js +0 -18
- package/dist/lock-filled-C5I60_d0.js +0 -18
- package/dist/paperplane-ed0y9oB6.js +0 -18
- package/dist/pause-circle-ab18LhX3.js +0 -19
- package/dist/picture-circled-DYsNZNYH.js +0 -15
- package/dist/picture-filled-CQYRN3Fa.js +0 -15
- package/dist/picture-gallery-BgWYQrqC.js +0 -16
- package/dist/play-BXy8WcYq.js +0 -18
- package/dist/play-circle-B88YxOh-.js +0 -18
- package/dist/play-fill-nWPoHjD3.js +0 -18
- package/dist/plus-circle-DKWKVMiq.js +0 -18
- package/dist/spinner-dy09pOOm.js +0 -13
- package/dist/src/assets/icons/audio-circled.vue +0 -12
- package/dist/src/assets/icons/audio-filled.vue +0 -12
- package/dist/src/assets/icons/bookmark-outlined.vue +0 -12
- package/dist/src/assets/icons/filter-outline.vue +0 -8
- package/dist/src/assets/icons/flag-fill.vue +0 -13
- package/dist/src/assets/icons/flag-outline.vue +0 -13
- package/dist/src/assets/icons/folder-fill.vue +0 -13
- package/dist/src/assets/icons/graphic-circled.vue +0 -12
- package/dist/src/assets/icons/graphic-filled.vue +0 -12
- package/dist/src/assets/icons/info-fill.vue +0 -13
- package/dist/src/assets/icons/lock-filled.vue +0 -13
- package/dist/src/assets/icons/map-outline.vue +0 -13
- package/dist/src/assets/icons/paperplane.vue +0 -13
- package/dist/src/assets/icons/pause-circle.vue +0 -14
- package/dist/src/assets/icons/picture-circled.vue +0 -12
- package/dist/src/assets/icons/picture-filled.vue +0 -12
- package/dist/src/assets/icons/picture-gallery.vue +0 -13
- package/dist/src/assets/icons/play-circle.vue +0 -13
- package/dist/src/assets/icons/play-fill.vue +0 -13
- package/dist/src/assets/icons/plus-circle.vue +0 -13
- package/dist/src/assets/icons/star-fill.vue +0 -13
- package/dist/src/assets/icons/text-circled.vue +0 -12
- package/dist/src/assets/icons/text-filled.vue +0 -12
- package/dist/src/assets/icons/video-circled.vue +0 -12
- package/dist/src/assets/icons/video-filled.vue +0 -12
- package/dist/src/assets/icons/video-rounded.vue +0 -13
- package/dist/src/components/UiAutocomplete/README.md +0 -44
- package/dist/src/components/UiAutocomplete/UiAutocomplete.spec.ts +0 -39
- package/dist/src/components/UiAutocomplete/UiAutocomplete.stories.ts +0 -46
- package/dist/src/components/UiAutocomplete/UiAutocomplete.vue +0 -159
- package/dist/src/components/UiFilterBadgeButton/README.md +0 -38
- package/dist/src/components/UiFilterBadgeButton/UiFilterBadgeButton.spec.ts +0 -41
- package/dist/src/components/UiFilterBadgeButton/UiFilterBadgeButton.stories.ts +0 -56
- package/dist/src/components/UiFilterBadgeButton/UiFilterBadgeButton.vue +0 -50
- package/dist/src/components/UiSimpleInput/README.md +0 -38
- package/dist/src/components/UiSimpleInput/UiSimpleInput.spec.ts +0 -58
- package/dist/src/components/UiSimpleInput/UiSimpleInput.stories.ts +0 -53
- package/dist/src/components/UiSimpleInput/UiSimpleInput.vue +0 -98
- package/dist/src/utils/index.spec.ts +0 -12
- package/dist/star-fill-DIXwg3gQ.js +0 -18
- package/dist/text-circled-Cykzn5-2.js +0 -15
- package/dist/text-filled-BwOhn26K.js +0 -15
- package/dist/video-circled-Bw9Miyyr.js +0 -15
- package/dist/video-filled-B5Td1M5L.js +0 -15
- package/src/assets/icons/audio-circled.vue +0 -12
- package/src/assets/icons/audio-filled.vue +0 -12
- package/src/assets/icons/bookmark-outlined.vue +0 -12
- package/src/assets/icons/filter-outline.vue +0 -8
- package/src/assets/icons/flag-fill.vue +0 -13
- package/src/assets/icons/flag-outline.vue +0 -13
- package/src/assets/icons/folder-fill.vue +0 -13
- package/src/assets/icons/graphic-circled.vue +0 -12
- package/src/assets/icons/graphic-filled.vue +0 -12
- package/src/assets/icons/info-fill.vue +0 -13
- package/src/assets/icons/lock-filled.vue +0 -13
- package/src/assets/icons/map-outline.vue +0 -13
- package/src/assets/icons/paperplane.vue +0 -13
- package/src/assets/icons/pause-circle.vue +0 -14
- package/src/assets/icons/picture-circled.vue +0 -12
- package/src/assets/icons/picture-filled.vue +0 -12
- package/src/assets/icons/picture-gallery.vue +0 -13
- package/src/assets/icons/play-circle.vue +0 -13
- package/src/assets/icons/play-fill.vue +0 -13
- package/src/assets/icons/plus-circle.vue +0 -13
- package/src/assets/icons/star-fill.vue +0 -13
- package/src/assets/icons/text-circled.vue +0 -12
- package/src/assets/icons/text-filled.vue +0 -12
- package/src/assets/icons/video-circled.vue +0 -12
- package/src/assets/icons/video-filled.vue +0 -12
- package/src/assets/icons/video-rounded.vue +0 -13
- package/src/components/UiAutocomplete/README.md +0 -44
- package/src/components/UiAutocomplete/UiAutocomplete.vue +0 -159
- package/src/components/UiFilterBadgeButton/README.md +0 -38
- package/src/components/UiFilterBadgeButton/UiFilterBadgeButton.vue +0 -50
- package/src/components/UiSimpleInput/README.md +0 -38
- package/src/components/UiSimpleInput/UiSimpleInput.vue +0 -98
- /package/dist/{alert-BMmH4q6y.js → alert-CdAp0ksh.js} +0 -0
- /package/dist/assets/icons/{alert-fill.vue.d.ts → alert-filled.vue.d.ts} +0 -0
- /package/dist/assets/icons/{audio-circled.vue.d.ts → bell-filled.vue.d.ts} +0 -0
- /package/dist/assets/icons/{audio-filled.vue.d.ts → bookmark-filled.vue.d.ts} +0 -0
- /package/dist/assets/icons/{bell-fill.vue.d.ts → comment-filled.vue.d.ts} +0 -0
- /package/dist/assets/icons/{bookmark-fill.vue.d.ts → image-focus-point.vue.d.ts} +0 -0
- /package/dist/assets/icons/{bookmark-outlined.vue.d.ts → map-filled.vue.d.ts} +0 -0
- /package/dist/assets/icons/{comment-fill.vue.d.ts → saved-search-filled.vue.d.ts} +0 -0
- /package/dist/assets/icons/{filter-outline.vue.d.ts → sidebar-filled.vue.d.ts} +0 -0
- /package/dist/assets/icons/{flag-fill.vue.d.ts → video-overlay.vue.d.ts} +0 -0
- /package/dist/{audio-BN2iVbbp.js → audio-Cgg6MUeM.js} +0 -0
- /package/dist/{audio-DLQLFJ3x.js → audio-DS8plcCU.js} +0 -0
- /package/dist/{bag-Br7SrnRJ.js → bag-B28jMR7E.js} +0 -0
- /package/dist/{bell-kOosto6B.js → bell-k_sZgnpL.js} +0 -0
- /package/dist/{book-D0Xsp8As.js → book-CqUJ_JRz.js} +0 -0
- /package/dist/{box-Bw_tD7Nd.js → box-BCDNtaq7.js} +0 -0
- /package/dist/{bulb-tXJKei6j.js → bulb-12wSYpgA.js} +0 -0
- /package/dist/{call-BdzulBfZ.js → call-CW04DyHi.js} +0 -0
- /package/dist/{camera-D8so0Wqg.js → camera-CbeyxVU5.js} +0 -0
- /package/dist/{check-CTBqwPMY.js → check-BpPjjXqx.js} +0 -0
- /package/dist/{checklist-CVBb2iLT.js → checklist-CFCfO7IN.js} +0 -0
- /package/dist/{checkmark-BkBvk5FP.js → checkmark-DhUksPvT.js} +0 -0
- /package/dist/{checkmark-double-9tbcPPxC.js → checkmark-double-BNGXAUiT.js} +0 -0
- /package/dist/{chevron-down-BcjUrqWQ.js → chevron-down-BjZ6BFFp.js} +0 -0
- /package/dist/{chevron-left-DdChgK6Q.js → chevron-left-Z-D_OY2t.js} +0 -0
- /package/dist/{chevron-right-BR3OVahz.js → chevron-right-D1GfZQB6.js} +0 -0
- /package/dist/{chevron-up-R3uiTZDq.js → chevron-up-DWZ1F8w0.js} +0 -0
- /package/dist/{clipboard-BFi2VbBj.js → clipboard-CNCIToKK.js} +0 -0
- /package/dist/{clock-C3D4TRfx.js → clock-CqWSNhFX.js} +0 -0
- /package/dist/{close-CbIMNMG_.js → close-oHIGT_JQ.js} +0 -0
- /package/dist/{cloud-save-CQCTGXxN.js → cloud-save-CWTQ5IHS.js} +0 -0
- /package/dist/{code-ChJ2qMcZ.js → code-BD5nOHqK.js} +0 -0
- /package/dist/{collapse-DISUbIVr.js → collapse-D6QeCZC7.js} +0 -0
- /package/dist/{color-palette-B4pqFFIE.js → color-palette-BpONORjj.js} +0 -0
- /package/dist/{comment-CzF3hkpf.js → comment-D5RZxZWG.js} +0 -0
- /package/dist/{copy-CywrUiK2.js → copy-BDnlScSS.js} +0 -0
- /package/dist/{copy-link-DqcNlpUK.js → copy-link-BSfa58Tb.js} +0 -0
- /package/dist/{delete-Bl6aSpBn.js → delete-dDyi0gau.js} +0 -0
- /package/dist/{download-BdnIOaET.js → download-B-ZTsIBv.js} +0 -0
- /package/dist/{dpa-id-4HKRxUEF.js → dpa-id-DRnjTcHI.js} +0 -0
- /package/dist/{edit-KtC1G-_s.js → edit-BbFkVyRd.js} +0 -0
- /package/dist/{edit-add-DjUq6zXq.js → edit-add-CAPOsjts.js} +0 -0
- /package/dist/{eil-CPA4kVQM.js → eil-CzEP-9Lo.js} +0 -0
- /package/dist/{emoji-C2BmBFxC.js → emoji-BjLqvypC.js} +0 -0
- /package/dist/{emoji-add-NHqne_6m.js → emoji-add-BB4fB4th.js} +0 -0
- /package/dist/{envelope-BDSOA_J7.js → envelope-DftzB5Ol.js} +0 -0
- /package/dist/{event-Bo_sb247.js → event-FR1JMgj6.js} +0 -0
- /package/dist/{expand-BK_uzKmx.js → expand-DaVQ0gpz.js} +0 -0
- /package/dist/{external-link-BPYyKPIa.js → external-link-2Es0qWwd.js} +0 -0
- /package/dist/{file-B97T9C2M.js → file-AHJ00f5M.js} +0 -0
- /package/dist/{file-pdf-lFk-5brY.js → file-pdf-CJDdjKS0.js} +0 -0
- /package/dist/{filter-BIJnBkRa.js → filter-CXjBFUUg.js} +0 -0
- /package/dist/{flag-DNP4L-y-.js → flag-CbX4PUMS.js} +0 -0
- /package/dist/{flags-G-Nbo5ST.js → flags-Buo1j-9g.js} +0 -0
- /package/dist/{flash-9TBwsdOx.js → flash-Dlr5gL01.js} +0 -0
- /package/dist/{folder-s6NWFqjh.js → folder-DQwCjGZC.js} +0 -0
- /package/dist/{folder-add-B-l2wmwY.js → folder-add-zPr2Gmtj.js} +0 -0
- /package/dist/{gallery-B8I5lJ51.js → gallery-CfUbckcB.js} +0 -0
- /package/dist/{gallery-DSmOoCFT.js → gallery-DPl8qZQu.js} +0 -0
- /package/dist/{graphic-BMtcGj5R.js → graphic-BbhCuiiE.js} +0 -0
- /package/dist/{graphic-d-_5qmyr.js → graphic-nXH5ifxc.js} +0 -0
- /package/dist/{graphics-eur3JZ_7.js → graphics-Dp8pQzs-.js} +0 -0
- /package/dist/{grid-1-DOm2nS5Y.js → grid-1-DZUEMbtb.js} +0 -0
- /package/dist/{grid-2-D9XOIyFO.js → grid-2-BQ-9yylY.js} +0 -0
- /package/dist/{grid-3-CR1E0m9u.js → grid-3-BGhZrrCJ.js} +0 -0
- /package/dist/{grid-4-QKKeiUGc.js → grid-4-DY9N435A.js} +0 -0
- /package/dist/{grid-6-C5bCbXur.js → grid-6-B0BR3wbB.js} +0 -0
- /package/dist/{grid-9-FNxsRYRg.js → grid-9-BWhM7qat.js} +0 -0
- /package/dist/{grid-masonry-CuwXzdZ6.js → grid-masonry-1e9tYkSK.js} +0 -0
- /package/dist/{grid-masonry-9-CxLBpKCz.js → grid-masonry-9-DiiX1pQo.js} +0 -0
- /package/dist/{help-DkjfD818.js → help-CLfj4LQM.js} +0 -0
- /package/dist/{home-njHAfgwc.js → home-D6htLjOF.js} +0 -0
- /package/dist/{image-C2RlXeDP.js → image-DnYnaoeu.js} +0 -0
- /package/dist/{impact-high-C0SywXT1.js → impact-high-DuECIU0d.js} +0 -0
- /package/dist/{impact-low-yDd0jU4k.js → impact-low-DMtzvmWi.js} +0 -0
- /package/dist/{impact-medium-Cc_nInN7.js → impact-medium-B5-WfnV2.js} +0 -0
- /package/dist/{impact-very-high-DiOgG_Ji.js → impact-very-high-C1K1nCE9.js} +0 -0
- /package/dist/{impact-very-low-CYW4RgJO.js → impact-very-low-CXbiBK6E.js} +0 -0
- /package/dist/{info-NBFIJ3YI.js → info-Ca-64c_9.js} +0 -0
- /package/dist/{label-CTr8hHIv.js → label-D8X5FrVe.js} +0 -0
- /package/dist/{label-filled-CnTpOqvX.js → label-filled-DjSc-Fk4.js} +0 -0
- /package/dist/{language-UqPESR_Z.js → language-OE6ZfER_.js} +0 -0
- /package/dist/{latest-Cq12zjMs.js → latest-D0dlub5f.js} +0 -0
- /package/dist/{lightbulb-BpK9qU_u.js → lightbulb-DKJrsADi.js} +0 -0
- /package/dist/{list-DKcsNf15.js → list-BviTrZEl.js} +0 -0
- /package/dist/{list-search-BzZuYf_P.js → list-search-Ck6anukf.js} +0 -0
- /package/dist/{lock-BFfHVSog.js → lock-C5vUwbkA.js} +0 -0
- /package/dist/{mail-pagEqHtM.js → mail-CtA-d2d0.js} +0 -0
- /package/dist/{menu-j4cvnLP8.js → menu-DFzmvE6J.js} +0 -0
- /package/dist/{minus-CGsJ-jkT.js → minus-COmVHb9S.js} +0 -0
- /package/dist/{more-horizontal-CDZjG5h8.js → more-horizontal-DzHbd3yn.js} +0 -0
- /package/dist/{more-vertical-YUehtvol.js → more-vertical-CiJm6ZaV.js} +0 -0
- /package/dist/{move-CiU3PwqY.js → move-CUyDTrlz.js} +0 -0
- /package/dist/{move-up-down-H-qHtTwO.js → move-up-down-3AiMDXGu.js} +0 -0
- /package/dist/{navigation-DmqoQINO.js → navigation-BryXzz7G.js} +0 -0
- /package/dist/{note-BZ3q-D4L.js → note-CXIfkCb0.js} +0 -0
- /package/dist/{offline-CLl0pwpv.js → offline-BlqqTvjx.js} +0 -0
- /package/dist/{package-iJOVTpPH.js → package-BEkSqrZt.js} +0 -0
- /package/dist/{package-D_Bh8bgp.js → package-pKbuF39E.js} +0 -0
- /package/dist/{paper-plane-DcYms0cj.js → paper-plane-CwVjTgAB.js} +0 -0
- /package/dist/{pause-COAxeJRm.js → pause-D-nbILiS.js} +0 -0
- /package/dist/{pdf-BweFqxRM.js → pdf-C7o5LP5D.js} +0 -0
- /package/dist/{pen-CmBOMgX_.js → pen-5O6IZM5k.js} +0 -0
- /package/dist/{pen-check-BApB0Zi2.js → pen-check-GQoVyZ_V.js} +0 -0
- /package/dist/{people-D07vIou7.js → people-CFA1u84D.js} +0 -0
- /package/dist/{phone-B9TyVbBj.js → phone-BmL2p-7F.js} +0 -0
- /package/dist/{picture-D7kBYru_.js → picture-BBiWVmta.js} +0 -0
- /package/dist/{picture-DJRwU5Gl.js → picture-jf1PkZfY.js} +0 -0
- /package/dist/{pin-BlBzA8ov.js → pin-CTaBntUQ.js} +0 -0
- /package/dist/{planning-BhE-A4FO.js → planning-s3sRV6ix.js} +0 -0
- /package/dist/{plus-CmEv_iHA.js → plus-Dm-ZxxHJ.js} +0 -0
- /package/dist/{print-ChdLXKHj.js → print-B5fjHJZL.js} +0 -0
- /package/dist/{refresh-C7k19NtO.js → refresh-gU5ZZuG6.js} +0 -0
- /package/dist/{reset-CpXqaOj5.js → reset-CwU1iGF5.js} +0 -0
- /package/dist/{responsive-CKNXzAo1.js → responsive-BHNmDmM6.js} +0 -0
- /package/dist/{rubix-thema-Cmk-5-bm.js → rubix-thema-BZvVEFud.js} +0 -0
- /package/dist/{save-BX3-Z5qP.js → save-mTHDeUnL.js} +0 -0
- /package/dist/{saved-search-Be8D9tJ9.js → saved-search-DJO4_yPH.js} +0 -0
- /package/dist/{search-BeIwOzJl.js → search-B5yHBLf_.js} +0 -0
- /package/dist/{settings-CLChu_zl.js → settings-Hb_Y7Y53.js} +0 -0
- /package/dist/{share-j6ezShBH.js → share-OpdW8ZmZ.js} +0 -0
- /package/dist/{share-alternative-BD-WQYvk.js → share-alternative-C3pSVTYb.js} +0 -0
- /package/dist/{sidebar-CPe20Xae.js → sidebar-DtAUGBof.js} +0 -0
- /package/dist/{slack-BjvLF16S.js → slack-mCoCq7b9.js} +0 -0
- /package/dist/{slider-config-CTzwxojK.js → slider-config-yjKG-9r9.js} +0 -0
- /package/dist/{spellcheck-thqRUMx9.js → spellcheck-bP4DPCKJ.js} +0 -0
- /package/dist/src/assets/icons/{alert-fill.vue → alert-filled.vue} +0 -0
- /package/dist/src/assets/icons/{bell-fill.vue → bell-filled.vue} +0 -0
- /package/dist/src/assets/icons/{comment-fill.vue → comment-filled.vue} +0 -0
- /package/dist/src/assets/icons/{image focus point.vue → image-focus-point.vue} +0 -0
- /package/dist/src/assets/icons/{saved-search-fill.vue → saved-search-filled.vue} +0 -0
- /package/dist/src/assets/icons/{sidebar-fill.vue → sidebar-filled.vue} +0 -0
- /package/dist/src/assets/icons/{video overlay.vue → video-overlay.vue} +0 -0
- /package/dist/{standard-view-dE52BPUm.js → standard-view-CN0ixRE4.js} +0 -0
- /package/dist/{star-uv_o0S9H.js → star-BKWqck4u.js} +0 -0
- /package/dist/{star-filled-BqrpxMqq.js → star-filled-CdXMXBn7.js} +0 -0
- /package/dist/{stop-CrmQCpqp.js → stop-B8l9lmwT.js} +0 -0
- /package/dist/{story-BdUCZQmb.js → story-Cxy8EkgB.js} +0 -0
- /package/dist/{story-DEvV0oQv.js → story-DOxZDwJp.js} +0 -0
- /package/dist/{sync-CPmOdu5b.js → sync-BW_fAqt6.js} +0 -0
- /package/dist/{tasks-TKH8SUBe.js → tasks-DLNuebMi.js} +0 -0
- /package/dist/{text-7i2atLMM.js → text-Bsl2QZz3.js} +0 -0
- /package/dist/{text-BMhu0paW.js → text-CPSps-qh.js} +0 -0
- /package/dist/{thumbs-down-LH8SIeIF.js → thumbs-down-pSf_ND98.js} +0 -0
- /package/dist/{thumbs-up-WZQzpqKr.js → thumbs-up-Braz70N6.js} +0 -0
- /package/dist/{thumbs-up-double-SeGWEXZ_.js → thumbs-up-double-C6foUkOq.js} +0 -0
- /package/dist/{topic-63EhQ_l1.js → topic-BamlhBNV.js} +0 -0
- /package/dist/{union-DKjbjP-9.js → union-CYw04THu.js} +0 -0
- /package/dist/{upload-yjh9wxAA.js → upload-BL_iLqTa.js} +0 -0
- /package/dist/{user-need-divert-me-B_cSVEIY.js → user-need-divert-me-2RaqdMMH.js} +0 -0
- /package/dist/{user-need-educate-me-DOgCmShA.js → user-need-educate-me-CRi42bIc.js} +0 -0
- /package/dist/{user-need-give-me-perspective-2wacZI2F.js → user-need-give-me-perspective-BIF7v9vF.js} +0 -0
- /package/dist/{user-need-help-me-D4VE0IcH.js → user-need-help-me-O0XSLzP-.js} +0 -0
- /package/dist/{user-need-touch-me-u3n8c5IH.js → user-need-touch-me-BueJ3SSh.js} +0 -0
- /package/dist/{user-need-update-me-BcDyXzME.js → user-need-update-me-DP574fsn.js} +0 -0
- /package/dist/{video-BViz7WnQ.js → video-CWHoNlON.js} +0 -0
- /package/dist/{video-hhs4-tLq.js → video-DhS7zpNF.js} +0 -0
- /package/dist/{view-C9Xks5Gy.js → view-Bc5W8beK.js} +0 -0
- /package/dist/{view-off-BuSbQwX0.js → view-off-DquC2i3E.js} +0 -0
- /package/dist/{volume-up-BLQXZI5X.js → volume-up-DEzoW7Bq.js} +0 -0
- /package/src/assets/icons/{alert-fill.vue → alert-filled.vue} +0 -0
- /package/src/assets/icons/{bell-fill.vue → bell-filled.vue} +0 -0
- /package/src/assets/icons/{comment-fill.vue → comment-filled.vue} +0 -0
- /package/src/assets/icons/{image focus point.vue → image-focus-point.vue} +0 -0
- /package/src/assets/icons/{saved-search-fill.vue → saved-search-filled.vue} +0 -0
- /package/src/assets/icons/{sidebar-fill.vue → sidebar-filled.vue} +0 -0
- /package/src/assets/icons/{video overlay.vue → video-overlay.vue} +0 -0
|
@@ -1,128 +1,77 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="h-12 w-full
|
|
4
|
-
:class="[
|
|
5
|
-
bgColorClass,
|
|
6
|
-
{
|
|
7
|
-
shadow: hasShadow,
|
|
8
|
-
},
|
|
9
|
-
]"
|
|
3
|
+
class="h-12 w-full rounded-full outline-2 outline-transparent focus-within:outline-primary hover:outline-neutral-faint hover:focus-within:outline-primary"
|
|
4
|
+
:class="BG_COLOR[appearance]"
|
|
10
5
|
>
|
|
11
|
-
<div class="relative flex h-full">
|
|
12
|
-
<div class="flex h-full grow-0 flex-row items-center">
|
|
13
|
-
<slot name="nonEditableChips"></slot>
|
|
14
|
-
</div>
|
|
6
|
+
<div class="relative flex h-full items-center pl-4">
|
|
15
7
|
<div
|
|
16
|
-
v-if="!
|
|
17
|
-
class="flex h-full grow-0 flex-row items-center overflow-hidden"
|
|
8
|
+
v-if="!isInputFocused && model"
|
|
9
|
+
class="flex h-full grow-0 flex-row items-center gap-x-1 overflow-hidden py-2"
|
|
10
|
+
@click="searchInputRef?.focus()"
|
|
18
11
|
>
|
|
19
|
-
<slot name="
|
|
12
|
+
<slot name="chips"></slot>
|
|
20
13
|
</div>
|
|
21
|
-
<div class="h-full
|
|
14
|
+
<div class="h-full min-w-0 flex-1">
|
|
22
15
|
<input
|
|
23
16
|
ref="searchInputRef"
|
|
24
|
-
|
|
25
|
-
class="size-full bg-transparent outline-hidden placeholder:text-
|
|
17
|
+
v-model="model"
|
|
18
|
+
class="size-full bg-transparent py-2 outline-hidden placeholder:text-neutral-subtle lg:text-sm"
|
|
26
19
|
:class="[
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
!isFocused && (modelValue || !isFilterChipEditable)
|
|
30
|
-
? 'absolute'
|
|
20
|
+
!isInputFocused && $slots.chips?.().length
|
|
21
|
+
? 'text-transparent'
|
|
31
22
|
: '',
|
|
32
23
|
]"
|
|
33
24
|
spellcheck="false"
|
|
34
25
|
type="text"
|
|
35
|
-
:placeholder="
|
|
36
|
-
@input="updateValue($event as InputEvent)"
|
|
26
|
+
:placeholder="placeholder"
|
|
37
27
|
@keyup.enter="onEnter"
|
|
38
28
|
@focus="handleFocus($event)"
|
|
39
29
|
@blur="handleBlur($event)"
|
|
40
30
|
/>
|
|
41
31
|
</div>
|
|
42
|
-
<div
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
'pointer-events-auto flex items-center px-2',
|
|
56
|
-
slotClass,
|
|
57
|
-
bgColorClass,
|
|
58
|
-
)
|
|
59
|
-
"
|
|
60
|
-
>
|
|
61
|
-
<div>
|
|
62
|
-
<slot name="searchCriteriaButton"></slot>
|
|
63
|
-
</div>
|
|
64
|
-
<div>
|
|
65
|
-
<slot name="extendedSearchButton"></slot>
|
|
66
|
-
</div>
|
|
67
|
-
|
|
68
|
-
<div :class="cn('mx-2', resetButtonWrapperClass)">
|
|
69
|
-
<div
|
|
70
|
-
:class="
|
|
71
|
-
cn(
|
|
72
|
-
'flex-none items-center justify-center',
|
|
73
|
-
resetButtonClass,
|
|
74
|
-
'h-full',
|
|
75
|
-
showResetButtonOnMobile ? 'flex' : 'hidden lg:flex',
|
|
76
|
-
bgColorClass,
|
|
77
|
-
)
|
|
78
|
-
"
|
|
79
|
-
>
|
|
80
|
-
<UiIconButton
|
|
81
|
-
:disabled="hasNoEntry && !isFocused"
|
|
82
|
-
icon-name="close"
|
|
83
|
-
:title="resetSearchButtonTittle"
|
|
84
|
-
:background-color="closeBtnBgColor"
|
|
85
|
-
:icon-color="isFocused ? 'blue' : 'gray'"
|
|
86
|
-
size="medium"
|
|
87
|
-
@click="handleResetButton"
|
|
88
|
-
/>
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
|
|
92
|
-
<div
|
|
93
|
-
class="flex h-full w-12 flex-none items-center justify-center"
|
|
94
|
-
:class="bgColorClass"
|
|
32
|
+
<div class="relative flex items-center gap-x-1 px-2">
|
|
33
|
+
<slot name="action"></slot>
|
|
34
|
+
|
|
35
|
+
<div class="flex items-center">
|
|
36
|
+
<UiButton
|
|
37
|
+
:class="
|
|
38
|
+
showResetButtonOnMobile ? 'inline-flex' : 'hidden sm:inline-flex'
|
|
39
|
+
"
|
|
40
|
+
:aria-label="resetSearchButtonTitle"
|
|
41
|
+
:disabled="!model"
|
|
42
|
+
appearance="ghost"
|
|
43
|
+
size="sm"
|
|
44
|
+
@click="handleResetButton"
|
|
95
45
|
>
|
|
96
|
-
<
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
46
|
+
<UiIcon name="close" size="sm" />
|
|
47
|
+
</UiButton>
|
|
48
|
+
|
|
49
|
+
<div class="mx-1 h-8 border-r border-neutral-faint"></div>
|
|
50
|
+
|
|
51
|
+
<UiButton
|
|
52
|
+
:aria-label="executeSearchButtonTitle"
|
|
53
|
+
:appearance="
|
|
54
|
+
isInputFocused || searchIconHover ? 'primary' : 'ghost'
|
|
55
|
+
"
|
|
56
|
+
size="sm"
|
|
57
|
+
@click="handleSearchButton"
|
|
58
|
+
@mouseover="searchIconHover = true"
|
|
59
|
+
@mouseleave="searchIconHover = false"
|
|
60
|
+
>
|
|
61
|
+
<UiIcon name="search" size="sm" />
|
|
62
|
+
</UiButton>
|
|
112
63
|
</div>
|
|
113
64
|
</div>
|
|
114
65
|
</div>
|
|
115
66
|
</div>
|
|
116
67
|
</template>
|
|
117
68
|
<script setup lang="ts">
|
|
118
|
-
import
|
|
119
|
-
import { computed, ref } from "vue";
|
|
69
|
+
import { ref, useTemplateRef } from "vue";
|
|
120
70
|
|
|
121
|
-
import
|
|
122
|
-
import
|
|
71
|
+
import UiButton from "../UiButton/UiButton.vue";
|
|
72
|
+
import UiIcon from "../UiIcon/UiIcon.vue";
|
|
123
73
|
|
|
124
74
|
const emit = defineEmits<{
|
|
125
|
-
"update:modelValue": [string];
|
|
126
75
|
blur: [FocusEvent];
|
|
127
76
|
focus: [FocusEvent];
|
|
128
77
|
reset: [string];
|
|
@@ -130,105 +79,50 @@ const emit = defineEmits<{
|
|
|
130
79
|
submit: [string];
|
|
131
80
|
}>();
|
|
132
81
|
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
{
|
|
149
|
-
modelValue: "",
|
|
150
|
-
placeholder: "",
|
|
151
|
-
backgroundColor: "gray",
|
|
152
|
-
isFilterChipEditable: true,
|
|
153
|
-
hasChips: true,
|
|
154
|
-
executeSearchButtonTitle: "Execute Search",
|
|
155
|
-
resetSearchButtonTittle: "Reset Search",
|
|
156
|
-
hasShadow: false,
|
|
157
|
-
slotClass: undefined,
|
|
158
|
-
resetButtonWrapperClass: undefined,
|
|
159
|
-
resetButtonClass: undefined,
|
|
160
|
-
showResetButtonOnMobile: false,
|
|
161
|
-
},
|
|
162
|
-
);
|
|
163
|
-
|
|
164
|
-
const isFocused = ref(false);
|
|
165
|
-
const searchIconHover = ref(false);
|
|
166
|
-
const searchInputRef = ref<HTMLInputElement>();
|
|
167
|
-
|
|
168
|
-
const hasNoEntry = computed(() => {
|
|
169
|
-
return props.modelValue === "" && props.isFilterChipEditable;
|
|
170
|
-
});
|
|
171
|
-
|
|
172
|
-
const bgColor = {
|
|
173
|
-
gray: "bg-gray-100",
|
|
174
|
-
white: "bg-white",
|
|
175
|
-
};
|
|
82
|
+
const model = defineModel<string>({ default: "" });
|
|
83
|
+
|
|
84
|
+
const {
|
|
85
|
+
placeholder = "",
|
|
86
|
+
appearance = "neutral-whisper",
|
|
87
|
+
executeSearchButtonTitle = "Execute Search",
|
|
88
|
+
resetSearchButtonTitle = "Reset Search",
|
|
89
|
+
showResetButtonOnMobile = false,
|
|
90
|
+
} = defineProps<{
|
|
91
|
+
placeholder?: string;
|
|
92
|
+
appearance?: "neutral-whisper" | "neutral";
|
|
93
|
+
executeSearchButtonTitle?: string;
|
|
94
|
+
resetSearchButtonTitle?: string;
|
|
95
|
+
showResetButtonOnMobile?: boolean;
|
|
96
|
+
}>();
|
|
176
97
|
|
|
177
|
-
const
|
|
178
|
-
|
|
179
|
-
|
|
98
|
+
const BG_COLOR = {
|
|
99
|
+
"neutral-whisper": "bg-neutral-whisper",
|
|
100
|
+
neutral: "bg-neutral shadow-sm",
|
|
180
101
|
};
|
|
181
102
|
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
const bgColorClass = computed(() => {
|
|
187
|
-
return bgColor[props.backgroundColor as keyof typeof bgColor];
|
|
188
|
-
});
|
|
103
|
+
const isInputFocused = ref(false);
|
|
104
|
+
const searchInputRef = useTemplateRef<HTMLInputElement>("searchInputRef");
|
|
189
105
|
|
|
190
|
-
const
|
|
191
|
-
if (props.backgroundColor === "gray") {
|
|
192
|
-
return "gray-hover";
|
|
193
|
-
}
|
|
194
|
-
return "none";
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
const updateValue = ({ target }: InputEvent): void => {
|
|
198
|
-
emit("update:modelValue", (target as HTMLInputElement).value);
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
const handleHiddenInputFocus = (): void => {
|
|
202
|
-
(searchInputRef.value as HTMLInputElement)?.focus();
|
|
203
|
-
};
|
|
106
|
+
const searchIconHover = ref(false);
|
|
204
107
|
|
|
205
108
|
const handleFocus = (event: FocusEvent): void => {
|
|
206
|
-
|
|
109
|
+
isInputFocused.value = true;
|
|
207
110
|
emit("focus", event);
|
|
208
111
|
};
|
|
209
112
|
|
|
210
113
|
const handleBlur = (event: FocusEvent): void => {
|
|
211
|
-
|
|
114
|
+
isInputFocused.value = false;
|
|
212
115
|
emit("blur", event);
|
|
213
116
|
};
|
|
214
117
|
|
|
215
118
|
const onEnter = (): void => {
|
|
216
|
-
|
|
217
|
-
(
|
|
218
|
-
emit("submit", props.modelValue);
|
|
119
|
+
searchInputRef.value?.blur();
|
|
120
|
+
emit("submit", model.value);
|
|
219
121
|
};
|
|
220
122
|
const handleResetButton = (): void => {
|
|
221
|
-
|
|
222
|
-
(searchInputRef.value as HTMLInputElement)?.blur();
|
|
223
|
-
emit("reset", props.modelValue);
|
|
123
|
+
emit("reset", model.value);
|
|
224
124
|
};
|
|
225
125
|
const handleSearchButton = (): void => {
|
|
226
|
-
|
|
227
|
-
(searchInputRef.value as HTMLInputElement)?.blur();
|
|
228
|
-
emit("search", props.modelValue);
|
|
126
|
+
emit("search", model.value);
|
|
229
127
|
};
|
|
230
|
-
|
|
231
|
-
defineExpose({
|
|
232
|
-
searchInputRef,
|
|
233
|
-
});
|
|
234
128
|
</script>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="mb-4 grid text-
|
|
3
|
+
class="mb-4 grid text-neutral-primary lg:mb-0 lg:grid-rows-1 lg:gap-y-5"
|
|
4
4
|
:class="{
|
|
5
5
|
'lg:grid-cols-[224px_1fr]': hasLabel,
|
|
6
6
|
'lg:grid-cols-1': !hasLabel,
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
v-if="hasLabel"
|
|
11
11
|
class="col-span-1 flex items-center pr-5 text-sm lg:py-2"
|
|
12
12
|
>
|
|
13
|
-
<UiLabel :for="
|
|
13
|
+
<UiLabel :for="uniqueId" class="font-medium">
|
|
14
14
|
<slot>
|
|
15
15
|
{{ label }}
|
|
16
16
|
</slot>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
>
|
|
26
26
|
<div class="flex items-center">
|
|
27
27
|
<input
|
|
28
|
-
:id="
|
|
28
|
+
:id="uniqueId"
|
|
29
29
|
ref="inputs"
|
|
30
30
|
:value="internalValue[index]"
|
|
31
31
|
type="text"
|
|
@@ -44,27 +44,34 @@
|
|
|
44
44
|
)
|
|
45
45
|
"
|
|
46
46
|
/>
|
|
47
|
-
<
|
|
48
|
-
v-if="hasAddEntryOption &&
|
|
49
|
-
|
|
50
|
-
icon-color="gray"
|
|
51
|
-
background-color="none"
|
|
52
|
-
size="medium"
|
|
53
|
-
title="Add Row"
|
|
54
|
-
data-testid="add-entry"
|
|
47
|
+
<UiButton
|
|
48
|
+
v-if="hasAddEntryOption && index === internalValue.length - 1"
|
|
49
|
+
aria-label="Add Row"
|
|
55
50
|
:disabled="!canAddRow"
|
|
51
|
+
appearance="ghost"
|
|
52
|
+
size="sm"
|
|
53
|
+
data-testid="add-entry"
|
|
56
54
|
@click="addRow"
|
|
57
|
-
|
|
55
|
+
>
|
|
56
|
+
<UiIcon name="plus" />
|
|
57
|
+
</UiButton>
|
|
58
58
|
</div>
|
|
59
59
|
</div>
|
|
60
60
|
</div>
|
|
61
61
|
</template>
|
|
62
62
|
|
|
63
63
|
<script setup lang="ts">
|
|
64
|
-
import {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
import {
|
|
65
|
+
computed,
|
|
66
|
+
nextTick,
|
|
67
|
+
onBeforeUpdate,
|
|
68
|
+
ref,
|
|
69
|
+
useId,
|
|
70
|
+
watchEffect,
|
|
71
|
+
} from "vue";
|
|
72
|
+
|
|
73
|
+
import UiButton from "../UiButton/UiButton.vue";
|
|
74
|
+
import UiIcon from "../UiIcon/UiIcon.vue";
|
|
68
75
|
import UiLabel from "../UiLabel/UiLabel.vue";
|
|
69
76
|
|
|
70
77
|
const slots = defineSlots<{
|
|
@@ -109,7 +116,8 @@ const addRow = async () => {
|
|
|
109
116
|
}
|
|
110
117
|
};
|
|
111
118
|
|
|
112
|
-
const
|
|
119
|
+
const defaultId = useId();
|
|
120
|
+
const uniqueId = computed(() => props.id ?? `id-${defaultId}`);
|
|
113
121
|
|
|
114
122
|
const canAddRow = computed(() => {
|
|
115
123
|
return (
|
|
@@ -150,10 +158,7 @@ function handleBlur() {
|
|
|
150
158
|
emit("blur", internalValue.value);
|
|
151
159
|
}
|
|
152
160
|
|
|
153
|
-
const
|
|
154
|
-
return index === internalValue.value.length - 1;
|
|
155
|
-
};
|
|
156
|
-
const hasDefaultSlot = ref(false);
|
|
161
|
+
const hasDefaultSlot = ref("default" in slots);
|
|
157
162
|
|
|
158
163
|
// Manually tracks whether the “errors” slot is in use since `useSlots()` isn't reactive and so can't be correctly used inside computed reactive state.
|
|
159
164
|
onBeforeUpdate(() => {
|
|
@@ -165,7 +170,7 @@ const hasLabel = computed(() => {
|
|
|
165
170
|
});
|
|
166
171
|
|
|
167
172
|
const inputWrapperClass = computed(() => {
|
|
168
|
-
const baseClass = "border-b border-b-
|
|
173
|
+
const baseClass = "border-b border-b-neutral-pale self-start shrink-0";
|
|
169
174
|
return hasLabel.value
|
|
170
175
|
? ["lg:col-start-2 lg:text-base", baseClass]
|
|
171
176
|
: [baseClass];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section :class="borderClass" class="w-full border-
|
|
2
|
+
<section :class="borderClass" class="w-full border-neutral-pale bg-neutral">
|
|
3
3
|
<div
|
|
4
4
|
:class="[sizeClasses[size], paddingClasses[verticalPadding]]"
|
|
5
5
|
data-testid="inner"
|
|
@@ -36,7 +36,7 @@ const props = withDefaults(
|
|
|
36
36
|
);
|
|
37
37
|
|
|
38
38
|
const sizeClasses: Record<string, string> = {
|
|
39
|
-
wide: "w-full md:px-28 text-
|
|
39
|
+
wide: "w-full md:px-28 text-neutral-primary lg:flex",
|
|
40
40
|
small: "w-full lg:mx-auto lg:w-2/3",
|
|
41
41
|
};
|
|
42
42
|
|
|
@@ -54,9 +54,9 @@ const borderClass = computed(() => {
|
|
|
54
54
|
|
|
55
55
|
onMounted(() => {
|
|
56
56
|
if (window.location.origin.includes("local")) {
|
|
57
|
-
// eslint-disable-next-line
|
|
57
|
+
// eslint-disable-next-line no-console
|
|
58
58
|
console.warn(
|
|
59
|
-
"
|
|
59
|
+
"Component is deprecated. It will be removed in a future update.",
|
|
60
60
|
);
|
|
61
61
|
}
|
|
62
62
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="[sizeClass, customClasses]" class="bg-
|
|
2
|
+
<div :class="[sizeClass, customClasses]" class="bg-neutral-whisper" />
|
|
3
3
|
</template>
|
|
4
4
|
<script lang="ts">
|
|
5
5
|
/**
|
|
@@ -35,9 +35,9 @@ const sizeClass = computed(() => {
|
|
|
35
35
|
|
|
36
36
|
onMounted(() => {
|
|
37
37
|
if (window.location.origin.includes("local")) {
|
|
38
|
-
// eslint-disable-next-line
|
|
38
|
+
// eslint-disable-next-line no-console
|
|
39
39
|
console.warn(
|
|
40
|
-
"
|
|
40
|
+
"Component is deprecated. It will be removed in a future update.",
|
|
41
41
|
);
|
|
42
42
|
}
|
|
43
43
|
});
|
|
@@ -1,27 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="cn('relative', $attrs.class
|
|
2
|
+
<div :class="cn('relative', $attrs.class)">
|
|
3
3
|
<UiLabel
|
|
4
4
|
v-if="$slots.default"
|
|
5
|
-
:for="
|
|
5
|
+
:for="uniqueId"
|
|
6
6
|
:class="
|
|
7
7
|
cn(
|
|
8
|
-
|
|
9
|
-
absolute
|
|
10
|
-
left-3
|
|
11
|
-
z-1
|
|
12
|
-
origin-left
|
|
13
|
-
px-1
|
|
14
|
-
text-gray-500
|
|
15
|
-
transition-all
|
|
16
|
-
duration-150
|
|
17
|
-
[*:has(+select:where(:enabled:hover))]:text-gray-700
|
|
18
|
-
[*:has(+select:where(:focus))]:text-blue-default
|
|
19
|
-
[*:has(+select:where([aria-invalid=true]))]:text-alert-red-default
|
|
20
|
-
[*:has(+select:where([aria-invalid=true]:enabled:hover))]:text-alert-red-dark
|
|
21
|
-
[*:has(+select:where([aria-invalid=true]:focus))]:text-alert-red-dark
|
|
22
|
-
`,
|
|
8
|
+
'absolute left-3 z-1 origin-left px-1 text-neutral-muted transition-all duration-150 [*:has(+select:where(:enabled:hover))]:text-neutral-subtle [*:has(+select:where(:focus))]:text-primary [*:has(+select:where([aria-invalid=true]))]:text-error [*:has(+select:where([aria-invalid=true]:enabled:hover))]:text-error-hover [*:has(+select:where([aria-invalid=true]:focus))]:text-error-hover',
|
|
23
9
|
model !== undefined
|
|
24
|
-
? '-translate-y-1/2 bg-
|
|
10
|
+
? '-translate-y-1/2 bg-neutral text-xs'
|
|
25
11
|
: 'translate-y-4',
|
|
26
12
|
)
|
|
27
13
|
"
|
|
@@ -30,42 +16,11 @@
|
|
|
30
16
|
</UiLabel>
|
|
31
17
|
|
|
32
18
|
<select
|
|
33
|
-
:id
|
|
19
|
+
:id="uniqueId"
|
|
34
20
|
v-model="model"
|
|
35
21
|
:aria-invalid="Boolean($slots.errors)"
|
|
36
|
-
:aria-errormessage="$slots.errors ? `${
|
|
37
|
-
|
|
38
|
-
cn(`
|
|
39
|
-
peer
|
|
40
|
-
disabled:text-color-gray-400
|
|
41
|
-
h-14
|
|
42
|
-
w-full
|
|
43
|
-
appearance-none
|
|
44
|
-
rounded-t-sm
|
|
45
|
-
border
|
|
46
|
-
border-gray-300
|
|
47
|
-
p-4
|
|
48
|
-
pr-2
|
|
49
|
-
text-left
|
|
50
|
-
text-sm
|
|
51
|
-
text-gray-900
|
|
52
|
-
transition-all
|
|
53
|
-
duration-150
|
|
54
|
-
outline-none
|
|
55
|
-
not-aria-invalid:rounded-b-sm
|
|
56
|
-
placeholder:text-gray-500
|
|
57
|
-
focus:border-2
|
|
58
|
-
focus:border-blue-default
|
|
59
|
-
focus:p-inputFocused
|
|
60
|
-
enabled:not-focus:hover:border-gray-700
|
|
61
|
-
disabled:border-gray-500
|
|
62
|
-
disabled:opacity-70
|
|
63
|
-
aria-invalid:border-2
|
|
64
|
-
aria-invalid:border-alert-red-default
|
|
65
|
-
aria-invalid:focus:border-alert-red-dark
|
|
66
|
-
enabled:aria-invalid:hover:border-alert-red-dark
|
|
67
|
-
`)
|
|
68
|
-
"
|
|
22
|
+
:aria-errormessage="$slots.errors ? `${uniqueId}-errors` : undefined"
|
|
23
|
+
class="peer disabled:text-color-neutral-soft h-14 w-full appearance-none rounded-t-sm border border-neutral-faint p-4 pr-2 text-left text-sm text-neutral-primary transition-all duration-150 outline-none not-aria-invalid:rounded-b-sm placeholder:text-neutral-muted focus:border-2 focus:border-primary focus:p-inputFocused not-read-only:enabled:cursor-pointer enabled:not-focus:hover:border-neutral-subtle disabled:border-neutral-muted disabled:opacity-70 aria-invalid:border-2 aria-invalid:border-error aria-invalid:focus:border-error-hover enabled:aria-invalid:hover:border-error-hover"
|
|
69
24
|
v-bind="{ ...$attrs, class: null }"
|
|
70
25
|
>
|
|
71
26
|
<slot name="options" />
|
|
@@ -78,25 +33,8 @@
|
|
|
78
33
|
|
|
79
34
|
<div
|
|
80
35
|
v-if="$slots.errors"
|
|
81
|
-
:id="`${
|
|
82
|
-
|
|
83
|
-
cn(`
|
|
84
|
-
rounded-b-sm
|
|
85
|
-
bg-alert-red-default
|
|
86
|
-
px-4
|
|
87
|
-
py-1
|
|
88
|
-
text-xs/normal
|
|
89
|
-
|
|
90
|
-
font-medium
|
|
91
|
-
text-white
|
|
92
|
-
transition-all
|
|
93
|
-
duration-150
|
|
94
|
-
ease-in-out
|
|
95
|
-
peer-focus:bg-alert-red-dark
|
|
96
|
-
peer-enabled:peer-hover:bg-alert-red-dark
|
|
97
|
-
peer-disabled:opacity-70
|
|
98
|
-
`)
|
|
99
|
-
"
|
|
36
|
+
:id="`${uniqueId}-errors`"
|
|
37
|
+
class="rounded-b-sm bg-error px-4 py-1 text-xs/normal font-medium text-neutral transition-all duration-150 ease-in-out peer-focus:bg-error-hover peer-enabled:peer-hover:bg-error-hover peer-disabled:opacity-70"
|
|
100
38
|
>
|
|
101
39
|
<slot name="errors" />
|
|
102
40
|
</div>
|
|
@@ -104,7 +42,7 @@
|
|
|
104
42
|
</template>
|
|
105
43
|
|
|
106
44
|
<script setup lang="ts">
|
|
107
|
-
import {
|
|
45
|
+
import { computed, useId } from "vue";
|
|
108
46
|
|
|
109
47
|
import { cn } from "../../utils/cn.ts";
|
|
110
48
|
import UiIcon from "../UiIcon/UiIcon.vue";
|
|
@@ -129,7 +67,7 @@ defineSlots<{
|
|
|
129
67
|
options: () => any;
|
|
130
68
|
}>();
|
|
131
69
|
|
|
132
|
-
const { id =
|
|
70
|
+
const { id = undefined } = defineProps<{
|
|
133
71
|
/**
|
|
134
72
|
* ID of the `select` element. Used for the `label`'s `for` attribute if the `default` slot is provided.
|
|
135
73
|
*/
|
|
@@ -137,6 +75,9 @@ const { id = `id-${uuidv4()}` } = defineProps<{
|
|
|
137
75
|
}>();
|
|
138
76
|
|
|
139
77
|
const model = defineModel<string>();
|
|
78
|
+
|
|
79
|
+
const defaultId = useId();
|
|
80
|
+
const uniqueId = computed(() => id ?? `id-${defaultId}`);
|
|
140
81
|
</script>
|
|
141
82
|
|
|
142
83
|
<style scoped>
|
|
@@ -148,7 +89,7 @@ select,
|
|
|
148
89
|
}
|
|
149
90
|
|
|
150
91
|
::picker(select) {
|
|
151
|
-
@apply shadow-
|
|
92
|
+
@apply shadow-lg border border-neutral-whisper;
|
|
152
93
|
}
|
|
153
94
|
|
|
154
95
|
select::picker-icon {
|
|
@@ -159,7 +100,7 @@ select > :deep(option) {
|
|
|
159
100
|
@apply flex justify-between items-center px-4 py-3;
|
|
160
101
|
|
|
161
102
|
&:enabled:hover {
|
|
162
|
-
@apply bg-
|
|
103
|
+
@apply bg-neutral-pale;
|
|
163
104
|
}
|
|
164
105
|
|
|
165
106
|
&::checkmark {
|
|
@@ -167,7 +108,7 @@ select > :deep(option) {
|
|
|
167
108
|
}
|
|
168
109
|
|
|
169
110
|
& + option {
|
|
170
|
-
@apply border-t border-
|
|
111
|
+
@apply border-t border-neutral-whisper;
|
|
171
112
|
}
|
|
172
113
|
}
|
|
173
114
|
</style>
|
|
@@ -10,6 +10,6 @@ describe("UiSkeletonBox", () => {
|
|
|
10
10
|
expect(wrapper.classes("inline-block")).toBe(true);
|
|
11
11
|
expect(wrapper.classes("animate-pulse")).toBe(true);
|
|
12
12
|
expect(wrapper.classes("rounded-sm")).toBe(true);
|
|
13
|
-
expect(wrapper.classes("bg-
|
|
13
|
+
expect(wrapper.classes("bg-neutral-pale")).toBe(true);
|
|
14
14
|
});
|
|
15
15
|
});
|