ropav 0.1.5 → 0.1.7
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/README.md +10 -0
- package/dist/accordion.css +17 -17
- package/dist/accordion.js +125 -154
- package/dist/alert.css +18 -18
- package/dist/alert.js +20 -20
- package/dist/aria.js +14 -0
- package/dist/aspect-ratio.js +1 -1
- package/dist/attributes.js +9 -0
- package/dist/attributes2.js +29 -0
- package/dist/avatar.css +19 -19
- package/dist/avatar.js +10 -18
- package/dist/badge.css +16 -16
- package/dist/badge.js +6 -6
- package/dist/base.css +18 -13
- package/dist/button-group.js +1 -1
- package/dist/button-link.js +13 -14
- package/dist/button.css +32 -27
- package/dist/button.js +13 -14
- package/dist/{useButtonColor.js → button.scss_vue_type_style_index_0_src_true_lang.js} +3 -2
- package/dist/card.js +1 -1
- package/dist/checkbox.css +32 -32
- package/dist/checkbox.js +23 -29
- package/dist/collapse.css +6 -6
- package/dist/collapse.js +8 -7
- package/dist/collectionNavigation.js +2 -99
- package/dist/color-input.css +19 -19
- package/dist/color-input.js +15 -14
- package/dist/color-picker.css +40 -40
- package/dist/color-picker.js +222 -202
- package/dist/color-picker2.js +1 -9
- package/dist/color-swatch.css +4 -4
- package/dist/color-swatch.js +7 -9
- package/dist/color.js +5 -10
- package/dist/componentColors.js +165 -84
- package/dist/componentRef.js +26 -0
- package/dist/components/accordion/accordionContext.d.ts +3 -0
- package/dist/components/accordion/accordionModel.d.ts +14 -0
- package/dist/components/accordion/index.d.ts +2 -1
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/accordion/types.d.ts +1 -2
- package/dist/components/accordion/useAccordion.d.ts +2 -2
- package/dist/components/accordion/useAccordionItem.d.ts +2 -0
- package/dist/components/checkbox/useCheckbox.d.ts +2 -3
- package/dist/components/color-input/color-input.d.ts +2 -2
- package/dist/components/color-input/useColorInput.d.ts +1 -1
- package/dist/components/color-picker/index.js +2 -2
- package/dist/components/color-picker/types.d.ts +2 -2
- package/dist/components/color-picker/useColorPickerSaturation.d.ts +22 -0
- package/dist/components/color-picker/useColorPickerSlider.d.ts +20 -0
- package/dist/components/color-picker/useColorPickerValue.d.ts +1 -1
- package/dist/components/dialog/{dialog-core.d.ts → dialogContext.d.ts} +2 -6
- package/dist/components/dialog/useDialogContentInteractions.d.ts +18 -0
- package/dist/components/dialog/useDialogRootState.d.ts +19 -0
- package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-item-row.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-model.d.ts +8 -0
- package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-sub.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +3 -3
- package/dist/components/dropdown-menu/{dropdown-menu-primitive-core.d.ts → dropdownMenuContext.d.ts} +17 -19
- package/dist/components/dropdown-menu/dropdownMenuDataModel.d.ts +20 -0
- package/dist/components/dropdown-menu/dropdownMenuInteraction.d.ts +3 -0
- package/dist/components/dropdown-menu/dropdownMenuInteractionNavigation.d.ts +24 -0
- package/dist/components/dropdown-menu/dropdownMenuInteractionRegistry.d.ts +42 -0
- package/dist/components/dropdown-menu/dropdownMenuInteractionTypes.d.ts +85 -0
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts +11 -11
- package/dist/components/dropdown-menu/useDropdownMenuContextTrigger.d.ts +9 -0
- package/dist/components/dropdown-menu/useDropdownMenuDataController.d.ts +34 -0
- package/dist/components/dropdown-menu/useDropdownMenuDataRegistration.d.ts +22 -0
- package/dist/components/dropdown-menu/useDropdownMenuHoverIntent.d.ts +6 -5
- package/dist/components/dropdown-menu/useDropdownMenuInteractionDismissal.d.ts +17 -0
- package/dist/components/dropdown-menu/useDropdownMenuInteractionKeyboard.d.ts +19 -0
- package/dist/components/dropdown-menu/useDropdownMenuPortalPosition.d.ts +0 -1
- package/dist/components/dropdown-menu/useDropdownMenuPresentation.d.ts +29 -0
- package/dist/components/dropdown-menu/useDropdownMenuPrimitiveContent.d.ts +2 -2
- package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +1 -1
- package/dist/components/dropdown-menu/useDropdownMenuTargetBindings.d.ts +19 -0
- package/dist/components/floating/hoverDisclosureInteractionModel.d.ts +42 -0
- package/dist/components/floating/index.js +1 -1
- package/dist/components/floating/useFloatingPosition.d.ts +0 -1
- package/dist/components/floating/useHoverDisclosureInteractions.d.ts +32 -0
- package/dist/components/floating/useHoverDisclosureOpenState.d.ts +25 -0
- package/dist/components/floating/useHoverDisclosureTargetBinding.d.ts +27 -0
- package/dist/components/input/useInput.d.ts +1 -1
- package/dist/components/number-input/numberInputModel.d.ts +15 -0
- package/dist/components/number-input/useNumberInput.d.ts +4 -18
- package/dist/components/pagination/index.d.ts +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/paginationModel.d.ts +4 -0
- package/dist/components/pagination/types.d.ts +15 -0
- package/dist/components/pagination/usePagination.d.ts +3 -19
- package/dist/components/popover/usePopoverBindings.d.ts +16 -0
- package/dist/components/progress/progressModel.d.ts +8 -0
- package/dist/components/progress/useProgress.d.ts +1 -7
- package/dist/components/radio/useRadio.d.ts +3 -4
- package/dist/components/scroll-area/scroll-area.d.ts +1 -1
- package/dist/components/scroll-area/scrollAreaModel.d.ts +64 -0
- package/dist/components/scroll-area/types.d.ts +4 -0
- package/dist/components/scroll-area/useScrollArea.d.ts +70 -52
- package/dist/components/scroll-area/{useScrollAreaPresentation.d.ts → useScrollAreaAttributes.d.ts} +37 -14
- package/dist/components/scroll-area/useScrollAreaDerivedState.d.ts +8 -0
- package/dist/components/scroll-area/useScrollAreaMeasurement.d.ts +35 -0
- package/dist/components/scroll-area/useScrollAreaPointer.d.ts +10 -8
- package/dist/components/scroll-area/useScrollAreaVisibility.d.ts +15 -20
- package/dist/components/select/useSelect.d.ts +2 -1
- package/dist/components/select/useSelectNativeValue.d.ts +1 -7
- package/dist/components/slider/rangeSliderModel.d.ts +41 -0
- package/dist/components/slider/{sliderCore.d.ts → sliderModel.d.ts} +2 -2
- package/dist/components/slider/useRangeSlider.d.ts +9 -17
- package/dist/components/slider/useRangeSliderValueState.d.ts +40 -0
- package/dist/components/slider/useSlider.d.ts +8 -14
- package/dist/components/slider/useSliderPointerPreview.d.ts +22 -0
- package/dist/components/slider/useSliderTooltipState.d.ts +40 -0
- package/dist/components/slider/useSliderValueState.d.ts +33 -0
- package/dist/components/switch/useSwitch.d.ts +1 -1
- package/dist/components/teleport-provider/index.js +1 -1
- package/dist/components/teleport-provider/useTeleportTarget.d.ts +1 -2
- package/dist/components/textarea/useTextarea.d.ts +1 -1
- package/dist/components/toast/useToastLifecycle.d.ts +19 -0
- package/dist/components/tooltip/useTooltip.d.ts +1 -2
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/index.js +2 -0
- package/dist/composables/useControllableValue.d.ts +14 -0
- package/dist/css.js +12 -0
- package/dist/dialog.js +227 -216
- package/dist/dropdown-menu.js +1493 -1118
- package/dist/events.js +59 -0
- package/dist/field.css +8 -8
- package/dist/field.js +13 -25
- package/dist/floating.js +553 -312
- package/dist/floatingOffset.js +11 -0
- package/dist/focus-trap.js +7 -5
- package/dist/focusNavigation.js +37 -0
- package/dist/icon-button.css +12 -173
- package/dist/icon-button.js +8 -7
- package/dist/index.d.ts +5 -4
- package/dist/index.js +13 -11
- package/dist/input.css +24 -24
- package/dist/input.js +20 -32
- package/dist/interactive.js +18 -0
- package/dist/modal.js +11 -7
- package/dist/number-input.css +18 -18
- package/dist/number-input.js +15 -13
- package/dist/number.js +22 -0
- package/dist/overlay.js +3 -2
- package/dist/pagination.css +28 -28
- package/dist/pagination.js +67 -65
- package/dist/pointer.js +9 -0
- package/dist/popover.css +34 -34
- package/dist/popover.js +93 -91
- package/dist/progress.css +29 -21
- package/dist/progress.js +25 -21
- package/dist/query.js +40 -0
- package/dist/radio.css +18 -18
- package/dist/radio.js +31 -37
- package/dist/rafScheduler.js +34 -0
- package/dist/scroll-area.css +35 -26
- package/dist/scroll-area.js +553 -500
- package/dist/select.css +45 -45
- package/dist/select.js +70 -56
- package/dist/slider.css +191 -191
- package/dist/slider.js +695 -628
- package/dist/styles-api.d.ts +0 -1
- package/dist/styles-api.js +1 -4
- package/dist/switch.css +17 -17
- package/dist/switch.js +15 -16
- package/dist/tabs.css +46 -46
- package/dist/tabs.js +51 -68
- package/dist/text.js +17 -0
- package/dist/textarea.css +26 -26
- package/dist/textarea.js +22 -33
- package/dist/toast.css +26 -26
- package/dist/toast.js +157 -129
- package/dist/tooltip.css +12 -12
- package/dist/tooltip.js +46 -47
- package/dist/useCollapse.js +19 -17
- package/dist/useControlState.js +4 -7
- package/dist/useControllableValue.js +8 -2
- package/dist/useFloatingPosition.js +122 -1128
- package/dist/useFormControl.js +3 -2
- package/dist/useOverlayZIndex.js +2 -6
- package/dist/useRequiredInject.js +1 -1
- package/dist/useTeleportTarget.js +3 -14
- package/dist/useTypeahead.js +94 -0
- package/dist/utils/aria.d.ts +3 -0
- package/dist/utils/attributes.d.ts +2 -0
- package/dist/utils/bem.d.ts +3 -0
- package/dist/utils/collectionNavigation.d.ts +2 -0
- package/dist/utils/color.d.ts +7 -0
- package/dist/{components/color-picker/color-picker-utils.d.ts → utils/colorPicker.d.ts} +5 -4
- package/dist/utils/componentColors.d.ts +7 -0
- package/dist/utils/css.d.ts +3 -0
- package/dist/utils/dom/ancestry.d.ts +7 -0
- package/dist/utils/dom/attributes.d.ts +16 -0
- package/dist/utils/dom/componentRef.d.ts +4 -0
- package/dist/utils/dom/events.d.ts +5 -0
- package/dist/utils/dom/focusNavigation.d.ts +7 -0
- package/dist/utils/dom/interactive.d.ts +2 -0
- package/dist/utils/dom/pointer.d.ts +2 -0
- package/dist/utils/dom/query.d.ts +4 -0
- package/dist/utils/dom/scroll.d.ts +23 -0
- package/dist/utils/floatingOffset.d.ts +10 -0
- package/dist/utils/geometry.d.ts +14 -0
- package/dist/utils/indexPath.d.ts +6 -0
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/rafScheduler.d.ts +4 -0
- package/dist/utils/text.d.ts +2 -0
- package/docs/code-architecture.md +118 -0
- package/docs/public-composables-api.md +52 -0
- package/docs/public-floating-api.md +6 -5
- package/package.json +54 -46
- package/src/styles/_mixins.scss +4 -0
- package/src/styles/_tokens.scss +12 -12
- package/src/styles/_variables.scss +1 -1
- package/dist/button-link.css +0 -167
- package/dist/components/dropdown-menu/dropdown-menu-outside.d.ts +0 -3
- package/dist/components/dropdown-menu/dropdown-menu-utils.d.ts +0 -21
- package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +0 -37
- package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +0 -29
- package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +0 -52
- package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +0 -17
- package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +0 -18
- package/dist/components/scroll-area/scrollAreaCore.d.ts +0 -25
- package/dist/components/scroll-area/useScrollAreaControls.d.ts +0 -25
- package/dist/components/scroll-area/useScrollAreaMetrics.d.ts +0 -35
- /package/dist/components/alert/{useAlertColor.d.ts → alertColor.d.ts} +0 -0
- /package/dist/components/avatar/{useAvatarColor.d.ts → avatarColor.d.ts} +0 -0
- /package/dist/components/badge/{useBadgeColor.d.ts → badgeColor.d.ts} +0 -0
- /package/dist/components/button/{useButtonColor.d.ts → buttonColor.d.ts} +0 -0
- /package/dist/components/color-swatch/{useColorSwatchColor.d.ts → colorSwatchColor.d.ts} +0 -0
- /package/dist/components/toast/{useToastColor.d.ts → toastColor.d.ts} +0 -0
- /package/dist/{composables → internal/composables}/useOverlayLayer.d.ts +0 -0
package/README.md
CHANGED
|
@@ -37,6 +37,10 @@ Import the components you need:
|
|
|
37
37
|
import { Button } from 'ropav';
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
Headless state utilities are available from `ropav/composables`. See the
|
|
41
|
+
[public composables API](./docs/public-composables-api.md) for their controlled and uncontrolled
|
|
42
|
+
state contracts.
|
|
43
|
+
|
|
40
44
|
## Custom color contrast
|
|
41
45
|
|
|
42
46
|
`autoContrast` selects foreground colors for preset colors and opaque custom color literals. A
|
|
@@ -140,3 +144,9 @@ See the [Public Styles API](./docs/public-styles-api.md) and [public token table
|
|
|
140
144
|
|
|
141
145
|
For headless Tooltip, HoverCard and custom menu markup, see the
|
|
142
146
|
[public floating API](./docs/public-floating-api.md).
|
|
147
|
+
|
|
148
|
+
## Development
|
|
149
|
+
|
|
150
|
+
Contributors should follow the [code architecture guide](./docs/code-architecture.md) for component,
|
|
151
|
+
composable, utility, dependency, and testing conventions. Run `pnpm run verify` before submitting a
|
|
152
|
+
change.
|
package/dist/accordion.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@layer ropav.components {
|
|
2
|
-
.rp-accordion[data-v-
|
|
2
|
+
.rp-accordion[data-v-c48cb87a] {
|
|
3
3
|
--_rp-accordion-radius: var(--rp-radius-sm);
|
|
4
4
|
--_rp-accordion-duration: var(--rp-transition-fast);
|
|
5
5
|
box-sizing: border-box;
|
|
@@ -12,29 +12,29 @@
|
|
|
12
12
|
border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
|
|
13
13
|
border-radius: var(--_rp-accordion-radius);
|
|
14
14
|
}
|
|
15
|
-
.rp-accordion--disabled[data-v-
|
|
15
|
+
.rp-accordion--disabled[data-v-c48cb87a] {
|
|
16
16
|
opacity: var(--rp-opacity-disabled);
|
|
17
17
|
cursor: not-allowed;
|
|
18
18
|
}
|
|
19
19
|
}@layer ropav.components {
|
|
20
|
-
.rp-accordion-item[data-v-
|
|
20
|
+
.rp-accordion-item[data-v-ab630265] {
|
|
21
21
|
--_rp-accordion-duration: var(--rp-transition-fast);
|
|
22
22
|
box-sizing: border-box;
|
|
23
23
|
min-width: 0;
|
|
24
24
|
border-top: var(--rp-border-width-thin) solid var(--rp-color-default-border);
|
|
25
25
|
}
|
|
26
|
-
.rp-accordion-item[data-v-
|
|
26
|
+
.rp-accordion-item[data-v-ab630265]:first-child {
|
|
27
27
|
border-top: 0;
|
|
28
28
|
}
|
|
29
|
-
.rp-accordion-item--disabled[data-v-
|
|
29
|
+
.rp-accordion-item--disabled[data-v-ab630265] {
|
|
30
30
|
opacity: var(--rp-opacity-disabled);
|
|
31
31
|
cursor: not-allowed;
|
|
32
32
|
}
|
|
33
|
-
.rp-accordion-item__heading[data-v-
|
|
33
|
+
.rp-accordion-item__heading[data-v-ab630265] {
|
|
34
34
|
margin: 0;
|
|
35
35
|
font: inherit;
|
|
36
36
|
}
|
|
37
|
-
.rp-accordion-item__trigger[data-v-
|
|
37
|
+
.rp-accordion-item__trigger[data-v-ab630265] {
|
|
38
38
|
display: flex;
|
|
39
39
|
align-items: center;
|
|
40
40
|
justify-content: space-between;
|
|
@@ -55,30 +55,30 @@
|
|
|
55
55
|
border: 0;
|
|
56
56
|
transition: background-color var(--_rp-accordion-duration), color var(--_rp-accordion-duration);
|
|
57
57
|
}
|
|
58
|
-
.rp-accordion-item__trigger[data-v-
|
|
58
|
+
.rp-accordion-item__trigger[data-v-ab630265]:hover:not(:disabled) {
|
|
59
59
|
background-color: var(--rp-color-default-hover);
|
|
60
60
|
}
|
|
61
|
-
.rp-accordion-item__trigger[data-v-
|
|
61
|
+
.rp-accordion-item__trigger[data-v-ab630265]:focus-visible {
|
|
62
62
|
outline: none;
|
|
63
63
|
border-color: var(--rp-color-control-border-focus);
|
|
64
64
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
65
65
|
}
|
|
66
|
-
.rp-accordion-item__trigger[data-v-
|
|
66
|
+
.rp-accordion-item__trigger[data-v-ab630265]:disabled {
|
|
67
67
|
cursor: default;
|
|
68
68
|
}
|
|
69
|
-
.rp-accordion-item__title[data-v-
|
|
69
|
+
.rp-accordion-item__title[data-v-ab630265] {
|
|
70
70
|
min-width: 0;
|
|
71
71
|
}
|
|
72
|
-
.rp-accordion-item__icon[data-v-
|
|
72
|
+
.rp-accordion-item__icon[data-v-ab630265] {
|
|
73
73
|
display: inline-flex;
|
|
74
74
|
flex: 0 0 auto;
|
|
75
75
|
color: var(--rp-color-control-icon);
|
|
76
76
|
transition: transform var(--_rp-accordion-duration);
|
|
77
77
|
}
|
|
78
|
-
.rp-accordion-item--open .rp-accordion-item__icon[data-v-
|
|
78
|
+
.rp-accordion-item--open .rp-accordion-item__icon[data-v-ab630265] {
|
|
79
79
|
transform: rotate(180deg);
|
|
80
80
|
}
|
|
81
|
-
.rp-accordion-item__content[data-v-
|
|
81
|
+
.rp-accordion-item__content[data-v-ab630265] {
|
|
82
82
|
box-sizing: border-box;
|
|
83
83
|
display: grid;
|
|
84
84
|
min-width: 0;
|
|
@@ -90,13 +90,13 @@
|
|
|
90
90
|
grid-template-rows: 1fr;
|
|
91
91
|
transition: grid-template-rows var(--_rp-accordion-duration), opacity var(--_rp-accordion-duration), padding-top var(--_rp-accordion-duration), padding-bottom var(--_rp-accordion-duration);
|
|
92
92
|
}
|
|
93
|
-
.rp-accordion-item__inner[data-v-
|
|
93
|
+
.rp-accordion-item__inner[data-v-ab630265] {
|
|
94
94
|
min-height: 0;
|
|
95
95
|
min-width: 0;
|
|
96
96
|
overflow: hidden;
|
|
97
97
|
}
|
|
98
|
-
.rp-accordion-content-enter-from[data-v-
|
|
99
|
-
.rp-accordion-content-leave-to[data-v-
|
|
98
|
+
.rp-accordion-content-enter-from[data-v-ab630265],
|
|
99
|
+
.rp-accordion-content-leave-to[data-v-ab630265] {
|
|
100
100
|
opacity: 0;
|
|
101
101
|
grid-template-rows: 0fr;
|
|
102
102
|
padding-top: 0;
|
package/dist/accordion.js
CHANGED
|
@@ -1,133 +1,39 @@
|
|
|
1
1
|
import './accordion.css';
|
|
2
|
+
import { t as useControllableValue } from "./useControllableValue.js";
|
|
3
|
+
import { t as useStylesApi } from "./styles-api.js";
|
|
4
|
+
import { n as toPresenceAttribute, t as toOptionalAttribute } from "./attributes.js";
|
|
2
5
|
import { t as bem } from "./bem.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
6
|
+
import { t as getFocusNavigationTarget } from "./focusNavigation.js";
|
|
5
7
|
import { t as useRequiredInject } from "./useRequiredInject.js";
|
|
6
8
|
import { t as useCollapse } from "./useCollapse.js";
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var accordionItemParts = [
|
|
11
|
-
"root",
|
|
12
|
-
"trigger",
|
|
13
|
-
"title",
|
|
14
|
-
"icon",
|
|
15
|
-
"content"
|
|
16
|
-
];
|
|
9
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
10
|
+
import { VaporTransition, applyVShow, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, markRaw, next, provide, renderEffect, setDynamicProps, setInsertionState, setText, template, toDisplayString, unref, useId } from "vue";
|
|
11
|
+
//#region src/components/accordion/accordionContext.ts
|
|
17
12
|
var accordionKey = Symbol("accordion");
|
|
18
13
|
//#endregion
|
|
19
|
-
//#region src/components/accordion/
|
|
20
|
-
|
|
21
|
-
var TRIGGER_SELECTOR = ".rp-accordion-item__trigger";
|
|
22
|
-
function normalizeValue(value, multiple) {
|
|
14
|
+
//#region src/components/accordion/accordionModel.ts
|
|
15
|
+
function readAccordionOpenValues(value, multiple) {
|
|
23
16
|
if (value == null) return [];
|
|
24
17
|
const values = Array.isArray(value) ? value : [value];
|
|
25
18
|
return multiple ? values : values.slice(0, 1);
|
|
26
19
|
}
|
|
27
|
-
function toModelValue(values, multiple) {
|
|
28
|
-
return multiple ? [...values] : values[0] ?? null;
|
|
29
|
-
}
|
|
30
20
|
function hasValue(values, value) {
|
|
31
21
|
return values.some((itemValue) => itemValue === value);
|
|
32
22
|
}
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
40
|
-
function getAccordionTrigger(event, root) {
|
|
41
|
-
const target = event.target;
|
|
42
|
-
if (!(target instanceof Element)) return void 0;
|
|
43
|
-
const trigger = target.closest(TRIGGER_SELECTOR);
|
|
44
|
-
if (!trigger || trigger.closest(ACCORDION_SELECTOR) !== root) return void 0;
|
|
45
|
-
return trigger;
|
|
46
|
-
}
|
|
47
|
-
function getAccordionTriggers(root) {
|
|
48
|
-
return Array.from(root.querySelectorAll(TRIGGER_SELECTOR)).filter((trigger) => trigger.closest(ACCORDION_SELECTOR) === root && !trigger.disabled);
|
|
49
|
-
}
|
|
50
|
-
function getNextTrigger(root, currentTrigger, key) {
|
|
51
|
-
const triggers = getAccordionTriggers(root);
|
|
52
|
-
const currentIndex = triggers.indexOf(currentTrigger);
|
|
53
|
-
if (currentIndex === -1 || triggers.length === 0) return void 0;
|
|
54
|
-
if (key === "Home") return triggers[0];
|
|
55
|
-
if (key === "End") return triggers[triggers.length - 1];
|
|
56
|
-
const direction = NAVIGATION_KEYS[key];
|
|
57
|
-
if (!direction) return void 0;
|
|
58
|
-
return triggers[(currentIndex + direction + triggers.length) % triggers.length];
|
|
59
|
-
}
|
|
60
|
-
function useAccordion(props, emitUpdate) {
|
|
61
|
-
const isMultiple = computed(() => Boolean(props.multiple));
|
|
62
|
-
const isCollapsible = computed(() => props.collapsible !== false);
|
|
63
|
-
const isDisabled = computed(() => Boolean(props.disabled));
|
|
64
|
-
const isControlled = computed(() => props.modelValue !== void 0);
|
|
65
|
-
const uncontrolledValue = ref(props.defaultValue ?? null);
|
|
66
|
-
const openValues = computed(() => normalizeValue(isControlled.value ? props.modelValue : uncontrolledValue.value, isMultiple.value));
|
|
67
|
-
const rootClass = computed(() => bem("rp-accordion", {
|
|
68
|
-
disabled: isDisabled.value,
|
|
69
|
-
multiple: isMultiple.value
|
|
70
|
-
}));
|
|
71
|
-
const rootProps = computed(() => ({
|
|
72
|
-
id: props.id,
|
|
73
|
-
class: rootClass.value,
|
|
74
|
-
"data-disabled": isDisabled.value || void 0,
|
|
75
|
-
"aria-label": props.ariaLabel || void 0,
|
|
76
|
-
"aria-labelledby": props.labelledby || void 0,
|
|
77
|
-
"aria-describedby": props.describedby || void 0,
|
|
78
|
-
onKeydown: onRootKeydown
|
|
79
|
-
}));
|
|
80
|
-
function setValues(nextValues) {
|
|
81
|
-
const nextModelValue = toModelValue(nextValues, isMultiple.value);
|
|
82
|
-
if (!isControlled.value) uncontrolledValue.value = nextModelValue;
|
|
83
|
-
emitUpdate(nextModelValue);
|
|
84
|
-
}
|
|
85
|
-
function setItemOpen(value, open) {
|
|
86
|
-
if (isDisabled.value) return;
|
|
87
|
-
const values = openValues.value;
|
|
88
|
-
if (hasValue(values, value) === open) return;
|
|
89
|
-
if (!open && !isCollapsible.value) return;
|
|
90
|
-
if (isMultiple.value) {
|
|
91
|
-
setValues(open ? [...values, value] : withoutValue(values, value));
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
setValues(open ? [value] : []);
|
|
95
|
-
}
|
|
96
|
-
function onRootKeydown(event) {
|
|
97
|
-
const root = event.currentTarget;
|
|
98
|
-
if (!root) return;
|
|
99
|
-
const trigger = getAccordionTrigger(event, root);
|
|
100
|
-
if (!trigger) return;
|
|
101
|
-
const nextTrigger = getNextTrigger(root, trigger, event.key);
|
|
102
|
-
if (!nextTrigger) return;
|
|
103
|
-
event.preventDefault();
|
|
104
|
-
nextTrigger.focus();
|
|
105
|
-
}
|
|
106
|
-
provide(accordionKey, {
|
|
107
|
-
get multiple() {
|
|
108
|
-
return isMultiple.value;
|
|
109
|
-
},
|
|
110
|
-
get collapsible() {
|
|
111
|
-
return isCollapsible.value;
|
|
112
|
-
},
|
|
113
|
-
get disabled() {
|
|
114
|
-
return isDisabled.value;
|
|
115
|
-
},
|
|
116
|
-
get unmountOnExit() {
|
|
117
|
-
return Boolean(props.unmountOnExit);
|
|
118
|
-
},
|
|
119
|
-
isItemOpen(value) {
|
|
120
|
-
return hasValue(openValues.value, value);
|
|
121
|
-
},
|
|
122
|
-
setItemOpen
|
|
123
|
-
});
|
|
23
|
+
function transitionAccordionValue(currentValue, itemValue, open, options) {
|
|
24
|
+
const openValues = readAccordionOpenValues(currentValue, options.multiple);
|
|
25
|
+
if (hasValue(openValues, itemValue) === open || !open && !options.collapsible) return { changed: false };
|
|
26
|
+
if (!options.multiple) return {
|
|
27
|
+
changed: true,
|
|
28
|
+
modelValue: open ? itemValue : null
|
|
29
|
+
};
|
|
124
30
|
return {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
openValues,
|
|
128
|
-
setItemOpen
|
|
31
|
+
changed: true,
|
|
32
|
+
modelValue: open ? [...openValues, itemValue] : openValues.filter((value) => value !== itemValue)
|
|
129
33
|
};
|
|
130
34
|
}
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/components/accordion/useAccordionItem.ts
|
|
131
37
|
function useAccordionItem(props) {
|
|
132
38
|
const group = useRequiredInject(accordionKey, "RpAccordionItem");
|
|
133
39
|
const generatedId = useId();
|
|
@@ -137,7 +43,6 @@ function useAccordionItem(props) {
|
|
|
137
43
|
const isOpen = computed(() => group.isItemOpen(props.value));
|
|
138
44
|
const isDisabled = computed(() => Boolean(group.disabled || props.disabled));
|
|
139
45
|
const shouldUnmountOnExit = computed(() => props.unmountOnExit ?? group.unmountOnExit);
|
|
140
|
-
const state = computed(() => isOpen.value ? "open" : "closed");
|
|
141
46
|
const triggerAriaDisabled = computed(() => isDisabled.value || !group.collapsible && isOpen.value);
|
|
142
47
|
const collapse = useCollapse({
|
|
143
48
|
id: contentId,
|
|
@@ -149,7 +54,7 @@ function useAccordionItem(props) {
|
|
|
149
54
|
ariaDescribedby: () => props.ariaDescribedby,
|
|
150
55
|
ariaLabelledby: () => props.ariaLabelledby ?? triggerId.value
|
|
151
56
|
}, (nextOpen) => {
|
|
152
|
-
|
|
57
|
+
group.setItemOpen(props.value, nextOpen);
|
|
153
58
|
});
|
|
154
59
|
const rootClass = computed(() => bem("rp-accordion-item", {
|
|
155
60
|
open: isOpen.value,
|
|
@@ -159,8 +64,8 @@ function useAccordionItem(props) {
|
|
|
159
64
|
const rootProps = computed(() => ({
|
|
160
65
|
id: id.value,
|
|
161
66
|
class: rootClass.value,
|
|
162
|
-
"data-state": state.value,
|
|
163
|
-
"data-disabled": isDisabled.value
|
|
67
|
+
"data-state": collapse.state.value,
|
|
68
|
+
"data-disabled": toOptionalAttribute(isDisabled.value)
|
|
164
69
|
}));
|
|
165
70
|
const triggerProps = computed(() => ({
|
|
166
71
|
...collapse.triggerProps.value,
|
|
@@ -168,9 +73,8 @@ function useAccordionItem(props) {
|
|
|
168
73
|
class: "rp-accordion-item__trigger",
|
|
169
74
|
"aria-controls": contentId.value,
|
|
170
75
|
"aria-expanded": isOpen.value,
|
|
171
|
-
"aria-disabled": triggerAriaDisabled.value
|
|
172
|
-
disabled: isDisabled.value
|
|
173
|
-
onClick: onTriggerClick
|
|
76
|
+
"aria-disabled": toOptionalAttribute(triggerAriaDisabled.value),
|
|
77
|
+
disabled: toOptionalAttribute(isDisabled.value)
|
|
174
78
|
}));
|
|
175
79
|
const contentProps = computed(() => ({
|
|
176
80
|
...collapse.contentProps.value,
|
|
@@ -182,36 +86,20 @@ function useAccordionItem(props) {
|
|
|
182
86
|
value: props.value,
|
|
183
87
|
isOpen: isOpen.value,
|
|
184
88
|
disabled: isDisabled.value,
|
|
185
|
-
open,
|
|
186
|
-
close,
|
|
187
|
-
toggle
|
|
89
|
+
open: collapse.open,
|
|
90
|
+
close: collapse.close,
|
|
91
|
+
toggle: collapse.toggle
|
|
188
92
|
}));
|
|
189
93
|
const triggerSlotProps = computed(() => ({
|
|
190
94
|
triggerProps: triggerProps.value,
|
|
191
95
|
...contentSlotProps.value
|
|
192
96
|
}));
|
|
193
|
-
function open() {
|
|
194
|
-
setOpen(true);
|
|
195
|
-
}
|
|
196
|
-
function close() {
|
|
197
|
-
setOpen(false);
|
|
198
|
-
}
|
|
199
|
-
function toggle() {
|
|
200
|
-
setOpen(!isOpen.value);
|
|
201
|
-
}
|
|
202
|
-
function setOpen(nextOpen) {
|
|
203
|
-
if (isDisabled.value) return;
|
|
204
|
-
group.setItemOpen(props.value, nextOpen);
|
|
205
|
-
}
|
|
206
|
-
function onTriggerClick() {
|
|
207
|
-
toggle();
|
|
208
|
-
}
|
|
209
97
|
return {
|
|
210
98
|
group,
|
|
211
99
|
id,
|
|
212
100
|
triggerId,
|
|
213
101
|
contentId,
|
|
214
|
-
state,
|
|
102
|
+
state: collapse.state,
|
|
215
103
|
isOpen,
|
|
216
104
|
isDisabled,
|
|
217
105
|
shouldRenderContent: collapse.shouldRenderContent,
|
|
@@ -221,14 +109,87 @@ function useAccordionItem(props) {
|
|
|
221
109
|
contentProps,
|
|
222
110
|
triggerSlotProps,
|
|
223
111
|
contentSlotProps,
|
|
224
|
-
open,
|
|
225
|
-
close,
|
|
226
|
-
toggle
|
|
112
|
+
open: collapse.open,
|
|
113
|
+
close: collapse.close,
|
|
114
|
+
toggle: collapse.toggle
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region src/components/accordion/useAccordion.ts
|
|
119
|
+
var ACCORDION_SELECTOR = ".rp-accordion";
|
|
120
|
+
var TRIGGER_SELECTOR = ".rp-accordion-item__trigger";
|
|
121
|
+
function useAccordion(props, emitUpdate) {
|
|
122
|
+
const isMultiple = computed(() => Boolean(props.multiple));
|
|
123
|
+
const isCollapsible = computed(() => props.collapsible !== false);
|
|
124
|
+
const isDisabled = computed(() => Boolean(props.disabled));
|
|
125
|
+
const controllable = useControllableValue({
|
|
126
|
+
modelValue: () => props.modelValue,
|
|
127
|
+
defaultValue: () => props.defaultValue ?? null,
|
|
128
|
+
onChange: emitUpdate
|
|
129
|
+
});
|
|
130
|
+
const openValues = computed(() => readAccordionOpenValues(controllable.value.value, isMultiple.value));
|
|
131
|
+
const rootClass = computed(() => bem("rp-accordion", {
|
|
132
|
+
disabled: isDisabled.value,
|
|
133
|
+
multiple: isMultiple.value
|
|
134
|
+
}));
|
|
135
|
+
const rootProps = computed(() => ({
|
|
136
|
+
id: props.id,
|
|
137
|
+
class: rootClass.value,
|
|
138
|
+
"data-disabled": toOptionalAttribute(isDisabled.value),
|
|
139
|
+
"aria-label": toOptionalAttribute(props.ariaLabel),
|
|
140
|
+
"aria-labelledby": toOptionalAttribute(props.labelledby),
|
|
141
|
+
"aria-describedby": toOptionalAttribute(props.describedby),
|
|
142
|
+
onKeydown: onRootKeydown
|
|
143
|
+
}));
|
|
144
|
+
function setItemOpen(value, open) {
|
|
145
|
+
if (isDisabled.value) return;
|
|
146
|
+
const transition = transitionAccordionValue(controllable.value.value, value, open, {
|
|
147
|
+
multiple: isMultiple.value,
|
|
148
|
+
collapsible: isCollapsible.value
|
|
149
|
+
});
|
|
150
|
+
if (!transition.changed) return;
|
|
151
|
+
controllable.setValue(transition.modelValue);
|
|
152
|
+
}
|
|
153
|
+
function onRootKeydown(event) {
|
|
154
|
+
const root = event.currentTarget;
|
|
155
|
+
if (!root) return;
|
|
156
|
+
const nextTrigger = getFocusNavigationTarget(event, root, {
|
|
157
|
+
itemSelector: TRIGGER_SELECTOR,
|
|
158
|
+
collectionSelector: ACCORDION_SELECTOR,
|
|
159
|
+
orientation: "vertical"
|
|
160
|
+
});
|
|
161
|
+
if (!nextTrigger) return;
|
|
162
|
+
event.preventDefault();
|
|
163
|
+
nextTrigger.focus();
|
|
164
|
+
}
|
|
165
|
+
provide(accordionKey, {
|
|
166
|
+
get multiple() {
|
|
167
|
+
return isMultiple.value;
|
|
168
|
+
},
|
|
169
|
+
get collapsible() {
|
|
170
|
+
return isCollapsible.value;
|
|
171
|
+
},
|
|
172
|
+
get disabled() {
|
|
173
|
+
return isDisabled.value;
|
|
174
|
+
},
|
|
175
|
+
get unmountOnExit() {
|
|
176
|
+
return Boolean(props.unmountOnExit);
|
|
177
|
+
},
|
|
178
|
+
isItemOpen(value) {
|
|
179
|
+
return openValues.value.some((itemValue) => itemValue === value);
|
|
180
|
+
},
|
|
181
|
+
setItemOpen
|
|
182
|
+
});
|
|
183
|
+
return {
|
|
184
|
+
rootClass,
|
|
185
|
+
rootProps,
|
|
186
|
+
openValues,
|
|
187
|
+
setItemOpen
|
|
227
188
|
};
|
|
228
189
|
}
|
|
229
190
|
//#endregion
|
|
230
191
|
//#region src/components/accordion/accordion.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
231
|
-
var t0$2 = template("<div data-v-
|
|
192
|
+
var t0$2 = template("<div data-v-c48cb87a>", 1);
|
|
232
193
|
//#endregion
|
|
233
194
|
//#region src/components/accordion/accordion.vue
|
|
234
195
|
var accordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -271,7 +232,7 @@ var accordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
271
232
|
const { getRootAttrs } = useStylesApi(props, "root");
|
|
272
233
|
const rootAttrs = computed(() => getRootAttrs({
|
|
273
234
|
...internalRootProps.value,
|
|
274
|
-
"data-disabled":
|
|
235
|
+
"data-disabled": toPresenceAttribute(props.disabled)
|
|
275
236
|
}));
|
|
276
237
|
const n1 = t0$2();
|
|
277
238
|
renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
|
|
@@ -279,7 +240,7 @@ var accordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
279
240
|
createSlot("default", null, null, 1);
|
|
280
241
|
return n1;
|
|
281
242
|
}
|
|
282
|
-
}), [["__scopeId", "data-v-
|
|
243
|
+
}), [["__scopeId", "data-v-c48cb87a"]]);
|
|
283
244
|
//#endregion
|
|
284
245
|
//#region ~icons/lucide/chevron-down
|
|
285
246
|
var t0$1 = template("<svg viewBox=\"0 0 24 24\"width=1.2em height=1.2em><path fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 d=\"m6 9l6 6l6-6\">", 3, 1);
|
|
@@ -293,9 +254,9 @@ var chevron_down_default = markRaw(defineVaporComponent({
|
|
|
293
254
|
//#endregion
|
|
294
255
|
//#region src/components/accordion/accordion-item.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
295
256
|
var t0 = template(" ");
|
|
296
|
-
var t1 = template("<button data-v-
|
|
297
|
-
var t2 = template("<section data-v-
|
|
298
|
-
var t3 = template("<div data-v-
|
|
257
|
+
var t1 = template("<button data-v-ab630265><span data-v-ab630265></span><span data-v-ab630265>");
|
|
258
|
+
var t2 = template("<section data-v-ab630265><div data-v-ab630265 class=rp-accordion-item__inner>");
|
|
259
|
+
var t3 = template("<div data-v-ab630265><h3 data-v-ab630265 class=rp-accordion-item__heading>", 1);
|
|
299
260
|
//#endregion
|
|
300
261
|
//#region src/components/accordion/accordion-item.vue
|
|
301
262
|
var accordion_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -327,13 +288,13 @@ var accordion_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
327
288
|
const { getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
|
|
328
289
|
const rootAttrs = computed(() => getRootAttrs({
|
|
329
290
|
...internalRootProps.value,
|
|
330
|
-
"data-disabled":
|
|
291
|
+
"data-disabled": toPresenceAttribute(internalRootProps.value["data-disabled"])
|
|
331
292
|
}));
|
|
332
293
|
const publicTriggerProps = computed(() => ({
|
|
333
294
|
...internalTriggerProps.value,
|
|
334
295
|
...getPartAttrs("trigger", { class: internalTriggerProps.value.class }),
|
|
335
296
|
"data-state": internalRootProps.value["data-state"],
|
|
336
|
-
"data-disabled":
|
|
297
|
+
"data-disabled": toPresenceAttribute(internalRootProps.value["data-disabled"])
|
|
337
298
|
}));
|
|
338
299
|
const publicTriggerSlotProps = computed(() => ({
|
|
339
300
|
...triggerSlotProps.value,
|
|
@@ -380,6 +341,16 @@ var accordion_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
380
341
|
}, { _: 8 }));
|
|
381
342
|
return n16;
|
|
382
343
|
}
|
|
383
|
-
}), [["__scopeId", "data-v-
|
|
344
|
+
}), [["__scopeId", "data-v-ab630265"]]);
|
|
345
|
+
//#endregion
|
|
346
|
+
//#region src/components/accordion/types.ts
|
|
347
|
+
var accordionParts = ["root"];
|
|
348
|
+
var accordionItemParts = [
|
|
349
|
+
"root",
|
|
350
|
+
"trigger",
|
|
351
|
+
"title",
|
|
352
|
+
"icon",
|
|
353
|
+
"content"
|
|
354
|
+
];
|
|
384
355
|
//#endregion
|
|
385
|
-
export {
|
|
356
|
+
export { useAccordion as a, accordion_default as i, accordionParts as n, useAccordionItem as o, accordion_item_default as r, accordionItemParts as t };
|
package/dist/alert.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@layer ropav.components {
|
|
2
|
-
.rp-alert[data-v-
|
|
2
|
+
.rp-alert[data-v-09abef83] {
|
|
3
3
|
--_rp-alert-bg: var(--rp-color-cyan-light);
|
|
4
4
|
--_rp-alert-fg: var(--rp-color-text);
|
|
5
5
|
--_rp-alert-title-fg: var(--rp-color-cyan-light-color);
|
|
@@ -22,25 +22,25 @@
|
|
|
22
22
|
border-radius: var(--_rp-alert-radius);
|
|
23
23
|
transition: background-color var(--rp-transition-fast), color var(--rp-transition-fast), border-color var(--rp-transition-fast);
|
|
24
24
|
}
|
|
25
|
-
.rp-alert--radius-none[data-v-
|
|
25
|
+
.rp-alert--radius-none[data-v-09abef83] {
|
|
26
26
|
--_rp-alert-radius: var(--rp-radius-none);
|
|
27
27
|
}
|
|
28
|
-
.rp-alert--radius-xs[data-v-
|
|
28
|
+
.rp-alert--radius-xs[data-v-09abef83] {
|
|
29
29
|
--_rp-alert-radius: var(--rp-radius-xs);
|
|
30
30
|
}
|
|
31
|
-
.rp-alert--radius-sm[data-v-
|
|
31
|
+
.rp-alert--radius-sm[data-v-09abef83] {
|
|
32
32
|
--_rp-alert-radius: var(--rp-radius-sm);
|
|
33
33
|
}
|
|
34
|
-
.rp-alert--radius-md[data-v-
|
|
34
|
+
.rp-alert--radius-md[data-v-09abef83] {
|
|
35
35
|
--_rp-alert-radius: var(--rp-radius-md);
|
|
36
36
|
}
|
|
37
|
-
.rp-alert--radius-lg[data-v-
|
|
37
|
+
.rp-alert--radius-lg[data-v-09abef83] {
|
|
38
38
|
--_rp-alert-radius: var(--rp-radius-lg);
|
|
39
39
|
}
|
|
40
|
-
.rp-alert--radius-xl[data-v-
|
|
40
|
+
.rp-alert--radius-xl[data-v-09abef83] {
|
|
41
41
|
--_rp-alert-radius: var(--rp-radius-xl);
|
|
42
42
|
}
|
|
43
|
-
.rp-alert__icon[data-v-
|
|
43
|
+
.rp-alert__icon[data-v-09abef83] {
|
|
44
44
|
display: inline-flex;
|
|
45
45
|
flex: 0 0 auto;
|
|
46
46
|
align-items: center;
|
|
@@ -49,37 +49,37 @@
|
|
|
49
49
|
color: var(--_rp-alert-icon-fg);
|
|
50
50
|
line-height: 0;
|
|
51
51
|
}
|
|
52
|
-
.rp-alert__icon[data-v-
|
|
52
|
+
.rp-alert__icon[data-v-09abef83] > svg {
|
|
53
53
|
display: block;
|
|
54
54
|
width: 1rem;
|
|
55
55
|
height: 1rem;
|
|
56
56
|
}
|
|
57
|
-
.rp-alert__content[data-v-
|
|
57
|
+
.rp-alert__content[data-v-09abef83] {
|
|
58
58
|
display: grid;
|
|
59
59
|
flex: 1 1 auto;
|
|
60
60
|
min-width: 0;
|
|
61
61
|
gap: var(--rp-spacing-1);
|
|
62
62
|
}
|
|
63
|
-
.rp-alert__title[data-v-
|
|
63
|
+
.rp-alert__title[data-v-09abef83] {
|
|
64
64
|
color: var(--_rp-alert-title-fg);
|
|
65
65
|
font-size: var(--rp-font-size-md);
|
|
66
66
|
font-weight: var(--rp-font-weight-semibold);
|
|
67
67
|
line-height: var(--rp-line-height-xs);
|
|
68
68
|
}
|
|
69
|
-
.rp-alert__description[data-v-
|
|
69
|
+
.rp-alert__description[data-v-09abef83] {
|
|
70
70
|
margin: 0;
|
|
71
71
|
}
|
|
72
|
-
.rp-alert__body[data-v-
|
|
72
|
+
.rp-alert__body[data-v-09abef83], .rp-alert__description[data-v-09abef83] {
|
|
73
73
|
min-width: 0;
|
|
74
74
|
color: var(--_rp-alert-fg);
|
|
75
75
|
}
|
|
76
|
-
.rp-alert__action[data-v-
|
|
76
|
+
.rp-alert__action[data-v-09abef83] {
|
|
77
77
|
display: inline-flex;
|
|
78
78
|
flex: 0 0 auto;
|
|
79
79
|
align-items: center;
|
|
80
80
|
margin-left: auto;
|
|
81
81
|
}
|
|
82
|
-
.rp-alert__close[data-v-
|
|
82
|
+
.rp-alert__close[data-v-09abef83] {
|
|
83
83
|
box-sizing: border-box;
|
|
84
84
|
display: inline-flex;
|
|
85
85
|
flex: 0 0 auto;
|
|
@@ -96,14 +96,14 @@
|
|
|
96
96
|
cursor: pointer;
|
|
97
97
|
transition: background-color var(--rp-transition-fast), color var(--rp-transition-fast);
|
|
98
98
|
}
|
|
99
|
-
.rp-alert__close[data-v-
|
|
99
|
+
.rp-alert__close[data-v-09abef83]:hover {
|
|
100
100
|
background-color: color-mix(in srgb, var(--_rp-alert-icon-fg) 12%, transparent);
|
|
101
101
|
}
|
|
102
|
-
.rp-alert__close[data-v-
|
|
102
|
+
.rp-alert__close[data-v-09abef83]:focus-visible {
|
|
103
103
|
outline: var(--rp-border-width-medium) solid var(--rp-color-focus-ring);
|
|
104
104
|
outline-offset: 2px;
|
|
105
105
|
}
|
|
106
|
-
.rp-alert__close[data-v-
|
|
106
|
+
.rp-alert__close[data-v-09abef83] > svg {
|
|
107
107
|
display: block;
|
|
108
108
|
width: 1rem;
|
|
109
109
|
height: 1rem;
|