ropav 0.1.7 → 0.1.9

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.
Files changed (167) hide show
  1. package/README.md +5 -4
  2. package/dist/ancestry.js +136 -0
  3. package/dist/calendar.css +184 -0
  4. package/dist/calendar.js +739 -0
  5. package/dist/calendar2.js +37 -0
  6. package/dist/chevron-left.js +12 -0
  7. package/dist/color-picker.js +38 -88
  8. package/dist/combobox.css +251 -0
  9. package/dist/combobox.js +410 -0
  10. package/dist/components/calendar/calendar.d.ts +30 -0
  11. package/dist/components/calendar/calendarBehavior.d.ts +49 -0
  12. package/dist/components/calendar/index.d.ts +3 -0
  13. package/dist/components/calendar/index.js +3 -0
  14. package/dist/components/calendar/types.d.ts +56 -0
  15. package/dist/components/calendar/useCalendar.d.ts +24 -0
  16. package/dist/components/color-picker/useColorPickerDrag.d.ts +1 -1
  17. package/dist/components/color-picker/useColorPickerSaturation.d.ts +1 -1
  18. package/dist/components/color-picker/useColorPickerSlider.d.ts +1 -1
  19. package/dist/components/combobox/combobox.d.ts +29 -0
  20. package/dist/components/combobox/comboboxModel.d.ts +4 -0
  21. package/dist/components/combobox/index.d.ts +3 -0
  22. package/dist/components/combobox/index.js +2 -0
  23. package/dist/components/combobox/types.d.ts +43 -0
  24. package/dist/components/combobox/useCombobox.d.ts +45 -0
  25. package/dist/components/date-picker/date-picker.d.ts +33 -0
  26. package/dist/components/date-picker/datePickerModel.d.ts +10 -0
  27. package/dist/components/date-picker/index.d.ts +4 -0
  28. package/dist/components/date-picker/index.js +2 -0
  29. package/dist/components/date-picker/types.d.ts +59 -0
  30. package/dist/components/date-picker/useDatePicker.d.ts +29 -0
  31. package/dist/components/date-picker/useDatePickerValueState.d.ts +21 -0
  32. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +2 -2
  33. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +2 -2
  34. package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -2
  35. package/dist/components/dropdown-menu/dropdownMenuContext.d.ts +7 -18
  36. package/dist/components/dropdown-menu/dropdownMenuInteraction.d.ts +3 -3
  37. package/dist/components/dropdown-menu/dropdownMenuInteractionTypes.d.ts +58 -29
  38. package/dist/components/dropdown-menu/useDropdownMenuDataController.d.ts +4 -3
  39. package/dist/components/dropdown-menu/useDropdownMenuDataRegistration.d.ts +6 -4
  40. package/dist/components/dropdown-menu/useDropdownMenuPresentation.d.ts +3 -4
  41. package/dist/components/dropdown-menu/useDropdownMenuTargetBindings.d.ts +5 -5
  42. package/dist/components/dropzone/dropzone.d.ts +31 -0
  43. package/dist/components/dropzone/dropzoneModel.d.ts +16 -0
  44. package/dist/components/dropzone/index.d.ts +3 -0
  45. package/dist/components/dropzone/index.js +2 -0
  46. package/dist/components/dropzone/types.d.ts +56 -0
  47. package/dist/components/dropzone/useDropzone.d.ts +25 -0
  48. package/dist/components/file-input/file-input.d.ts +29 -0
  49. package/dist/components/file-input/index.d.ts +3 -0
  50. package/dist/components/file-input/index.js +2 -0
  51. package/dist/components/file-input/types.d.ts +37 -0
  52. package/dist/components/file-input/useFileInput.d.ts +15 -0
  53. package/dist/components/floating/index.js +1 -1
  54. package/dist/components/floating/useFloatingPosition.d.ts +1 -13
  55. package/dist/components/floating/useFloatingTargetLifecycle.d.ts +32 -0
  56. package/dist/components/floating/useHoverDisclosure.d.ts +10 -0
  57. package/dist/components/hover-card/hover-card.d.ts +25 -0
  58. package/dist/components/hover-card/index.d.ts +3 -0
  59. package/dist/components/hover-card/index.js +2 -0
  60. package/dist/components/hover-card/types.d.ts +45 -0
  61. package/dist/components/hover-card/useHoverCard.d.ts +22 -0
  62. package/dist/components/hover-card/useHoverCardDisclosure.d.ts +19 -0
  63. package/dist/components/multi-select/index.d.ts +3 -0
  64. package/dist/components/multi-select/index.js +2 -0
  65. package/dist/components/multi-select/multi-select.d.ts +30 -0
  66. package/dist/components/multi-select/multiSelectModel.d.ts +3 -0
  67. package/dist/components/multi-select/types.d.ts +49 -0
  68. package/dist/components/multi-select/useMultiSelect.d.ts +46 -0
  69. package/dist/components/number-input/useNumberInput.d.ts +1 -3
  70. package/dist/components/popover/usePopoverBindings.d.ts +3 -6
  71. package/dist/components/scroll-area/useScrollArea.d.ts +4 -4
  72. package/dist/components/scroll-area/useScrollAreaAttributes.d.ts +3 -3
  73. package/dist/components/scroll-area/useScrollAreaPointer.d.ts +1 -1
  74. package/dist/components/segmented-control/index.d.ts +3 -0
  75. package/dist/components/segmented-control/index.js +2 -0
  76. package/dist/components/segmented-control/segmented-control.d.ts +26 -0
  77. package/dist/components/segmented-control/types.d.ts +47 -0
  78. package/dist/components/segmented-control/useSegmentedControl.d.ts +15 -0
  79. package/dist/components/select/useSelect.d.ts +31 -19
  80. package/dist/components/slider/useRangeSlider.d.ts +1 -1
  81. package/dist/components/slider/useRangeSliderPointer.d.ts +1 -1
  82. package/dist/components/slider/useSlider.d.ts +1 -1
  83. package/dist/components/slider/useSliderPointer.d.ts +15 -0
  84. package/dist/components/slider/useSliderValueState.d.ts +1 -0
  85. package/dist/components/tags-input/index.d.ts +3 -0
  86. package/dist/components/tags-input/index.js +2 -0
  87. package/dist/components/tags-input/tags-input.d.ts +27 -0
  88. package/dist/components/tags-input/tagsInputModel.d.ts +12 -0
  89. package/dist/components/tags-input/types.d.ts +37 -0
  90. package/dist/components/tags-input/useTagsInput.d.ts +23 -0
  91. package/dist/components/toolbar/index.d.ts +3 -0
  92. package/dist/components/toolbar/index.js +2 -0
  93. package/dist/components/toolbar/toolbar.d.ts +24 -0
  94. package/dist/components/toolbar/types.d.ts +12 -0
  95. package/dist/components/toolbar/useToolbar.d.ts +7 -0
  96. package/dist/components/tooltip/useTooltipTargetBindings.d.ts +12 -0
  97. package/dist/date-picker.css +49 -0
  98. package/dist/date-picker.js +811 -0
  99. package/dist/dialog.js +9 -20
  100. package/dist/direction.js +6 -0
  101. package/dist/dropdown-menu.css +21 -3
  102. package/dist/dropdown-menu.js +341 -261
  103. package/dist/dropzone.css +135 -0
  104. package/dist/dropzone.js +431 -0
  105. package/dist/file-input.css +135 -0
  106. package/dist/file-input.js +198 -0
  107. package/dist/focusNavigation.js +12 -6
  108. package/dist/hover-card.css +80 -0
  109. package/dist/hover-card.js +402 -0
  110. package/dist/index.d.ts +10 -0
  111. package/dist/index.js +15 -3
  112. package/dist/internal/composables/useOverlayLayer.d.ts +12 -0
  113. package/dist/modal.js +1 -1
  114. package/dist/multi-select.css +316 -0
  115. package/dist/multi-select.js +481 -0
  116. package/dist/nativeChoice.js +169 -0
  117. package/dist/number-input.css +18 -18
  118. package/dist/number-input.js +36 -38
  119. package/dist/pagination.js +1 -10
  120. package/dist/pointerSession.js +130 -0
  121. package/dist/popover.css +21 -3
  122. package/dist/popover.js +37 -62
  123. package/dist/scroll-area.js +52 -62
  124. package/dist/segmented-control.css +176 -0
  125. package/dist/segmented-control.js +382 -0
  126. package/dist/select.css +50 -48
  127. package/dist/select.js +121 -271
  128. package/dist/slider.css +78 -69
  129. package/dist/slider.js +161 -145
  130. package/dist/tags-input.css +197 -0
  131. package/dist/tags-input.js +380 -0
  132. package/dist/toolbar.css +15 -0
  133. package/dist/toolbar.js +143 -0
  134. package/dist/tooltip.js +35 -30
  135. package/dist/useEditableOptionList.js +216 -0
  136. package/dist/useFlatOptionCollection.js +134 -0
  137. package/dist/useFloatingPosition.js +4 -160
  138. package/dist/useFloatingTargetLifecycle.js +127 -0
  139. package/dist/useFormControl.js +1 -0
  140. package/dist/{floating.js → useHoverDisclosure.js} +338 -421
  141. package/dist/useNativeChoiceTransaction.js +46 -0
  142. package/dist/useNativeFileSelection.js +86 -0
  143. package/dist/useOverlayZIndex.js +246 -15
  144. package/dist/utils/date.d.ts +13 -0
  145. package/dist/utils/dateAvailability.d.ts +7 -0
  146. package/dist/utils/dom/ancestry.d.ts +1 -0
  147. package/dist/utils/dom/direction.d.ts +2 -0
  148. package/dist/utils/dom/files.d.ts +3 -0
  149. package/dist/utils/dom/focusNavigation.d.ts +4 -1
  150. package/dist/utils/dom/nativeChoice.d.ts +17 -0
  151. package/dist/utils/dom/pointerSession.d.ts +20 -0
  152. package/dist/utils/dom/scroll.d.ts +2 -1
  153. package/dist/utils/optionFilter.d.ts +5 -0
  154. package/docs/public-floating-api.md +7 -4
  155. package/docs/public-styles-api.md +28 -12
  156. package/package.json +68 -40
  157. package/src/styles/_mixins.scss +26 -0
  158. package/src/styles/styles-manifest.json +1 -2
  159. package/dist/components/floating/hoverDisclosureInteractionModel.d.ts +0 -42
  160. package/dist/components/floating/useHoverDisclosureInteractions.d.ts +0 -32
  161. package/dist/components/floating/useHoverDisclosureOpenState.d.ts +0 -25
  162. package/dist/components/floating/useHoverDisclosureTargetBinding.d.ts +0 -27
  163. package/dist/components/select/useSelectNativeControl.d.ts +0 -9
  164. package/dist/components/select/useSelectNativeValue.d.ts +0 -9
  165. package/dist/pointer.js +0 -9
  166. package/dist/utils/dom/pointer.d.ts +0 -2
  167. package/docs/code-architecture.md +0 -118
@@ -0,0 +1,198 @@
1
+ import './file-input.css';
2
+ import { t as useStylesApi } from "./styles-api.js";
3
+ import { n as toPresenceAttribute } from "./attributes.js";
4
+ import { t as bem } from "./bem.js";
5
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
6
+ import { o as splitCompatibilityAttributes, t as composeEventHandlers } from "./attributes2.js";
7
+ import { t as useControlState } from "./useControlState.js";
8
+ import { t as useNativeFileSelection } from "./useNativeFileSelection.js";
9
+ import { child, computed, createSlot, defineVaporComponent, next, renderEffect, setDynamicProps, setInsertionState, setStaticTemplateRef, setText, template, toDisplayString, unref } from "vue";
10
+ //#region src/components/file-input/useFileInput.ts
11
+ function useFileInput(props, emitUpdate) {
12
+ const control = useControlState(props);
13
+ const { inputRef, files, settleSelection, clear, focus, open } = useNativeFileSelection({
14
+ modelValue: () => props.modelValue,
15
+ multiple: () => props.multiple ?? false,
16
+ disabled: () => control.disabled,
17
+ validationMessage: () => props.validationMessage,
18
+ onChange: emitUpdate
19
+ });
20
+ const fileNames = computed(() => files.value.map((file) => file.name));
21
+ const hasFiles = computed(() => files.value.length > 0);
22
+ const rootClass = computed(() => bem("rp-file-input", {
23
+ [`size-${props.size}`]: Boolean(props.size),
24
+ [`radius-${props.radius}`]: Boolean(props.radius),
25
+ disabled: control.disabled,
26
+ invalid: control.invalid,
27
+ valid: control.valid && !control.invalid,
28
+ filled: hasFiles.value
29
+ }));
30
+ const buttonText = computed(() => props.buttonLabel ?? (props.multiple ? "Choose files" : "Choose file"));
31
+ const displayValue = computed(() => {
32
+ if (hasFiles.value) return fileNames.value.join(", ");
33
+ return props.placeholder ?? (props.multiple ? "No files selected" : "No file selected");
34
+ });
35
+ function onChange(event) {
36
+ const input = event.target;
37
+ settleSelection({
38
+ status: "accepted",
39
+ files: input.files ?? []
40
+ });
41
+ }
42
+ return {
43
+ inputRef,
44
+ control,
45
+ files,
46
+ fileNames,
47
+ hasFiles,
48
+ rootClass,
49
+ buttonText,
50
+ displayValue,
51
+ onChange,
52
+ clear,
53
+ focus,
54
+ open
55
+ };
56
+ }
57
+ //#endregion
58
+ //#region src/components/file-input/file-input.vue?vue&type=script&setup=true&vapor=true&lang.ts
59
+ var t0 = template(" ");
60
+ var t1 = template("<div data-v-c2dff394><input data-v-c2dff394><span data-v-c2dff394></span><span data-v-c2dff394>", 1);
61
+ //#endregion
62
+ //#region src/components/file-input/file-input.vue
63
+ var file_input_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
64
+ name: "RpFileInput",
65
+ inheritAttrs: false,
66
+ __name: "file-input",
67
+ props: {
68
+ id: {},
69
+ name: {},
70
+ form: {},
71
+ modelValue: { default: void 0 },
72
+ accept: { default: void 0 },
73
+ capture: {
74
+ type: [Boolean, String],
75
+ default: void 0
76
+ },
77
+ multiple: {
78
+ type: Boolean,
79
+ default: false
80
+ },
81
+ size: {},
82
+ radius: {},
83
+ buttonLabel: { default: void 0 },
84
+ placeholder: { default: void 0 },
85
+ disabled: {
86
+ type: Boolean,
87
+ default: void 0
88
+ },
89
+ required: {
90
+ type: Boolean,
91
+ default: void 0
92
+ },
93
+ invalid: {
94
+ type: Boolean,
95
+ default: void 0
96
+ },
97
+ valid: {
98
+ type: Boolean,
99
+ default: void 0
100
+ },
101
+ ariaLabel: {},
102
+ describedby: {},
103
+ labelledby: {},
104
+ inputAttrs: {},
105
+ validationMessage: {},
106
+ classNames: {},
107
+ styles: {}
108
+ },
109
+ emits: ["update:modelValue"],
110
+ setup(__props, { expose: __expose, emit: __emit }) {
111
+ const props = __props;
112
+ const emit = __emit;
113
+ const { inputRef, control, files, fileNames, hasFiles, rootClass, buttonText, displayValue, onChange, clear, focus, open } = useFileInput(props, (value) => emit("update:modelValue", value));
114
+ const { getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
115
+ const rootAttrs = computed(() => getRootAttrs({
116
+ class: rootClass.value,
117
+ "data-disabled": toPresenceAttribute(control.disabled),
118
+ "data-invalid": toPresenceAttribute(control.invalid)
119
+ }));
120
+ const nativeInputAttrs = computed(() => {
121
+ const attrs = props.inputAttrs ?? {};
122
+ const { compatibilityClass, compatibilityStyle, forwardedAttributes } = splitCompatibilityAttributes(attrs);
123
+ return {
124
+ ...forwardedAttributes,
125
+ ...getPartAttrs("input", {
126
+ class: "rp-file-input__native",
127
+ compatibilityClass,
128
+ compatibilityStyle
129
+ }),
130
+ id: control.id,
131
+ name: props.name,
132
+ form: control.form ?? forwardedAttributes.form,
133
+ type: "file",
134
+ value: void 0,
135
+ accept: props.accept,
136
+ capture: props.capture,
137
+ multiple: props.multiple || void 0,
138
+ disabled: control.disabled || void 0,
139
+ required: control.required || void 0,
140
+ "aria-label": props.ariaLabel || void 0,
141
+ "aria-labelledby": control.ariaLabelledby,
142
+ "aria-describedby": control.ariaDescribedby,
143
+ "aria-invalid": control.invalid || void 0,
144
+ "aria-required": control.required || void 0,
145
+ "data-disabled": toPresenceAttribute(control.disabled),
146
+ "data-invalid": toPresenceAttribute(control.invalid),
147
+ onChange: composeEventHandlers(onChange, attrs.onChange)
148
+ };
149
+ });
150
+ __expose({
151
+ nativeElement: inputRef,
152
+ clear,
153
+ focus,
154
+ open
155
+ });
156
+ const n9 = t1();
157
+ const n0 = child(n9);
158
+ const n4 = next(n0, 1);
159
+ const n8 = next(n4, 2);
160
+ setStaticTemplateRef(n0, inputRef, null, "inputRef");
161
+ renderEffect(() => {
162
+ setDynamicProps(n9, [rootAttrs.value]);
163
+ setDynamicProps(n0, [nativeInputAttrs.value]);
164
+ setDynamicProps(n4, [unref(getPartAttrs)("trigger", { class: "rp-file-input__trigger" }), { "aria-hidden": "true" }]);
165
+ });
166
+ setInsertionState(n4, null, 0);
167
+ createSlot("trigger", {
168
+ files: () => unref(files),
169
+ multiple: () => __props.multiple
170
+ }, () => {
171
+ const n3 = t0();
172
+ renderEffect(() => setText(n3, toDisplayString(unref(buttonText))));
173
+ return n3;
174
+ }, 1);
175
+ renderEffect(() => setDynamicProps(n8, [unref(getPartAttrs)("value", { class: ["rp-file-input__value", { "rp-file-input__value--placeholder": !unref(hasFiles) }] }), { "aria-hidden": "true" }]));
176
+ setInsertionState(n8, null, 0);
177
+ createSlot("value", {
178
+ files: () => unref(files),
179
+ fileNames: () => unref(fileNames),
180
+ hasFiles: () => unref(hasFiles)
181
+ }, () => {
182
+ const n7 = t0();
183
+ renderEffect(() => setText(n7, toDisplayString(unref(displayValue))));
184
+ return n7;
185
+ }, 1);
186
+ return n9;
187
+ }
188
+ }), [["__scopeId", "data-v-c2dff394"]]);
189
+ //#endregion
190
+ //#region src/components/file-input/types.ts
191
+ var fileInputParts = [
192
+ "root",
193
+ "input",
194
+ "trigger",
195
+ "value"
196
+ ];
197
+ //#endregion
198
+ export { file_input_default as n, fileInputParts as t };
@@ -1,8 +1,8 @@
1
1
  import { n as getNextEnabledIndex, t as getEnabledIndexes } from "./collectionNavigation.js";
2
2
  import { t as isElement } from "./query.js";
3
3
  //#region src/utils/dom/focusNavigation.ts
4
- function isDisabled(element) {
5
- return element.matches(":disabled");
4
+ function isIneligible(element) {
5
+ return element.matches(":disabled") || element.closest("[hidden], [inert]") !== null;
6
6
  }
7
7
  function getDirection(key, orientation) {
8
8
  if (orientation === "vertical") {
@@ -16,22 +16,28 @@ function getDirection(key, orientation) {
16
16
  function getScopedItems(collection, options) {
17
17
  return Array.from(collection.querySelectorAll(options.itemSelector)).filter((item) => item.closest(options.collectionSelector) === collection);
18
18
  }
19
+ function setFocusNavigationTabStop(collection, preferredItem, options) {
20
+ const items = getScopedItems(collection, options);
21
+ const target = preferredItem && items.includes(preferredItem) && !isIneligible(preferredItem) ? preferredItem : items.find((item) => !isIneligible(item)) ?? null;
22
+ for (const item of items) item.tabIndex = item === target ? 0 : -1;
23
+ return target;
24
+ }
19
25
  function getFocusNavigationTarget(event, collection, options) {
20
26
  if (!isElement(event.target)) return void 0;
21
27
  const currentItem = event.target.closest(options.itemSelector);
22
- if (!currentItem || currentItem.closest(options.collectionSelector) !== collection || isDisabled(currentItem)) return;
28
+ if (!currentItem || currentItem.closest(options.collectionSelector) !== collection || isIneligible(currentItem)) return;
23
29
  const items = getScopedItems(collection, options);
24
30
  const currentIndex = items.indexOf(currentItem);
25
31
  if (currentIndex < 0) return void 0;
26
- const enabledIndexes = getEnabledIndexes(items, isDisabled);
32
+ const enabledIndexes = getEnabledIndexes(items, isIneligible);
27
33
  if (enabledIndexes.length === 0) return void 0;
28
34
  if (event.key === "Home") return items[enabledIndexes[0]];
29
35
  if (event.key === "End") return items[enabledIndexes[enabledIndexes.length - 1]];
30
36
  let direction = getDirection(event.key, options.orientation);
31
37
  if (!direction) return void 0;
32
38
  if (options.orientation === "horizontal" && collection.ownerDocument.defaultView?.getComputedStyle(collection).direction === "rtl") direction = direction === 1 ? -1 : 1;
33
- const nextIndex = getNextEnabledIndex(items, currentIndex, direction, isDisabled);
39
+ const nextIndex = getNextEnabledIndex(items, currentIndex, direction, isIneligible);
34
40
  return nextIndex === void 0 ? void 0 : items[nextIndex];
35
41
  }
36
42
  //#endregion
37
- export { getFocusNavigationTarget as t };
43
+ export { setFocusNavigationTabStop as n, getFocusNavigationTarget as t };
@@ -0,0 +1,80 @@
1
+ @layer ropav.components {
2
+ .rp-hover-card[data-v-55e74041] {
3
+ position: relative;
4
+ display: inline-flex;
5
+ font-family: var(--rp-font-family);
6
+ vertical-align: middle;
7
+ }
8
+ .rp-hover-card__content[data-v-55e74041] {
9
+ --_rp-hover-card-main-axis-offset: var(--rp-spacing-2);
10
+ --_rp-hover-card-cross-axis-offset: 0px;
11
+ --_rp-hover-card-radius: var(--rp-radius-sm);
12
+ --_rp-hover-card-arrow-size: 0.5rem;
13
+ position: absolute;
14
+ z-index: 100;
15
+ box-sizing: border-box;
16
+ width: max-content;
17
+ max-width: min(22rem, 100vw - var(--rp-spacing-6));
18
+ padding: var(--rp-spacing-4);
19
+ color: var(--rp-color-text);
20
+ font-family: var(--rp-font-family);
21
+ font-size: var(--rp-font-size-md);
22
+ line-height: var(--rp-line-height-md);
23
+ overflow-wrap: anywhere;
24
+ background-color: var(--rp-color-default);
25
+ border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
26
+ border-radius: var(--_rp-hover-card-radius);
27
+ box-shadow: var(--rp-shadow-base);
28
+ }
29
+ .rp-hover-card--target[data-v-55e74041] {
30
+ display: contents;
31
+ }
32
+ .rp-hover-card__arrow[data-v-55e74041] {
33
+ background-color: inherit;
34
+ border: inherit;
35
+ rotate: 45deg;
36
+ }
37
+ .rp-hover-card__arrow[data-side=top][data-v-55e74041] {
38
+ border-top-color: transparent;
39
+ border-left-color: transparent;
40
+ }
41
+ .rp-hover-card__arrow[data-side=right][data-v-55e74041] {
42
+ border-top-color: transparent;
43
+ border-right-color: transparent;
44
+ }
45
+ .rp-hover-card__arrow[data-side=bottom][data-v-55e74041] {
46
+ border-right-color: transparent;
47
+ border-bottom-color: transparent;
48
+ }
49
+ .rp-hover-card__arrow[data-side=left][data-v-55e74041] {
50
+ border-bottom-color: transparent;
51
+ border-left-color: transparent;
52
+ }
53
+ .rp-hover-card__arrow[data-v-55e74041] {
54
+ position: absolute;
55
+ box-sizing: border-box;
56
+ width: var(--_rp-hover-card-arrow-size);
57
+ height: var(--_rp-hover-card-arrow-size);
58
+ pointer-events: none;
59
+ }
60
+ .rp-hover-card__arrow[data-side=top][data-v-55e74041] {
61
+ bottom: calc(-1 * var(--_rp-hover-card-arrow-size) / 2);
62
+ }
63
+ .rp-hover-card__arrow[data-side=right][data-v-55e74041] {
64
+ left: calc(-1 * var(--_rp-hover-card-arrow-size) / 2);
65
+ }
66
+ .rp-hover-card__arrow[data-side=bottom][data-v-55e74041] {
67
+ top: calc(-1 * var(--_rp-hover-card-arrow-size) / 2);
68
+ }
69
+ .rp-hover-card__arrow[data-side=left][data-v-55e74041] {
70
+ right: calc(-1 * var(--_rp-hover-card-arrow-size) / 2);
71
+ }
72
+ .rp-hover-card-content-enter-active[data-v-55e74041],
73
+ .rp-hover-card-content-leave-active[data-v-55e74041] {
74
+ transition: opacity var(--rp-transition-fast);
75
+ }
76
+ .rp-hover-card-content-enter-from[data-v-55e74041],
77
+ .rp-hover-card-content-leave-to[data-v-55e74041] {
78
+ opacity: 0;
79
+ }
80
+ }