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/dist/tabs.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import './tabs.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";
|
|
8
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
6
9
|
import { t as scroll_area_default } from "./scroll-area.js";
|
|
7
10
|
import { computed, createComponent, createIf, createSlot, defineVaporComponent, extend, mergeProps, onBeforeUnmount, onMounted, provide, ref, renderEffect, setDynamicProps, setInsertionState, shallowRef, template, unref, useId, watch } from "vue";
|
|
8
11
|
//#region src/components/tabs/useTabs.ts
|
|
@@ -14,19 +17,6 @@ var DEFAULT_ORIENTATION = "horizontal";
|
|
|
14
17
|
var DEFAULT_PLACEMENT = "left";
|
|
15
18
|
var DEFAULT_ACTIVATION_MODE = "automatic";
|
|
16
19
|
var tabsKey = Symbol("tabs");
|
|
17
|
-
var ORIENTATION_NAVIGATION_KEYS = {
|
|
18
|
-
horizontal: {
|
|
19
|
-
ArrowRight: 1,
|
|
20
|
-
ArrowLeft: -1
|
|
21
|
-
},
|
|
22
|
-
vertical: {
|
|
23
|
-
ArrowDown: 1,
|
|
24
|
-
ArrowUp: -1
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
function optionalAttr(value) {
|
|
28
|
-
return value || void 0;
|
|
29
|
-
}
|
|
30
20
|
function toTabsState(active) {
|
|
31
21
|
return active ? "active" : "inactive";
|
|
32
22
|
}
|
|
@@ -35,9 +25,9 @@ function getDefaultAlign(orientation) {
|
|
|
35
25
|
}
|
|
36
26
|
function getAriaProps(label, labelledby, describedby) {
|
|
37
27
|
return {
|
|
38
|
-
"aria-label":
|
|
39
|
-
"aria-labelledby":
|
|
40
|
-
"aria-describedby":
|
|
28
|
+
"aria-label": toOptionalAttribute(label),
|
|
29
|
+
"aria-labelledby": toOptionalAttribute(labelledby),
|
|
30
|
+
"aria-describedby": toOptionalAttribute(describedby)
|
|
41
31
|
};
|
|
42
32
|
}
|
|
43
33
|
function getOrientationClasses(disabled, orientation) {
|
|
@@ -100,24 +90,6 @@ function useTabsRegistration(getRegistration, register, unregister, watchSource)
|
|
|
100
90
|
if (registeredId.value) unregister(registeredId.value);
|
|
101
91
|
});
|
|
102
92
|
}
|
|
103
|
-
function getTabsTrigger(event, list) {
|
|
104
|
-
const target = event.target;
|
|
105
|
-
const trigger = target instanceof Element ? target.closest(TRIGGER_SELECTOR) : void 0;
|
|
106
|
-
return trigger?.closest(TABLIST_SELECTOR) === list ? trigger : void 0;
|
|
107
|
-
}
|
|
108
|
-
function getTabsTriggers(list) {
|
|
109
|
-
return Array.from(list.querySelectorAll(TRIGGER_SELECTOR)).filter((trigger) => trigger.closest(TABLIST_SELECTOR) === list && !trigger.disabled);
|
|
110
|
-
}
|
|
111
|
-
function getNextTrigger(list, currentTrigger, key, orientation) {
|
|
112
|
-
const triggers = getTabsTriggers(list);
|
|
113
|
-
const currentIndex = triggers.indexOf(currentTrigger);
|
|
114
|
-
if (currentIndex === -1 || triggers.length === 0) return void 0;
|
|
115
|
-
if (key === "Home") return triggers[0];
|
|
116
|
-
if (key === "End") return triggers[triggers.length - 1];
|
|
117
|
-
const direction = ORIENTATION_NAVIGATION_KEYS[orientation][key];
|
|
118
|
-
if (!direction) return void 0;
|
|
119
|
-
return triggers[(currentIndex + direction + triggers.length) % triggers.length];
|
|
120
|
-
}
|
|
121
93
|
function useTabsItem(componentName, props, suffix) {
|
|
122
94
|
const group = useRequiredInject(tabsKey, componentName);
|
|
123
95
|
const generatedId = useId();
|
|
@@ -133,10 +105,15 @@ function useTabsItem(componentName, props, suffix) {
|
|
|
133
105
|
function useTabs(props, emitUpdate) {
|
|
134
106
|
const triggerRegistry = useTabsRegistry();
|
|
135
107
|
const contentRegistry = useTabsRegistry();
|
|
136
|
-
const { items: triggers
|
|
108
|
+
const { items: triggers } = triggerRegistry;
|
|
137
109
|
const { items: contents, register: registerContent, unregister: unregisterContent } = contentRegistry;
|
|
138
|
-
const
|
|
139
|
-
|
|
110
|
+
const controllable = useControllableValue({
|
|
111
|
+
modelValue: () => props.modelValue,
|
|
112
|
+
defaultValue: () => props.defaultValue ?? null,
|
|
113
|
+
onChange: (value) => {
|
|
114
|
+
if (value !== null) emitUpdate(value);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
140
117
|
const isDisabled = computed(() => Boolean(props.disabled));
|
|
141
118
|
const size = computed(() => props.size ?? DEFAULT_SIZE);
|
|
142
119
|
const variant = computed(() => props.variant ?? DEFAULT_VARIANT);
|
|
@@ -144,7 +121,7 @@ function useTabs(props, emitUpdate) {
|
|
|
144
121
|
const placement = computed(() => props.placement ?? DEFAULT_PLACEMENT);
|
|
145
122
|
const align = computed(() => props.align);
|
|
146
123
|
const activationMode = computed(() => props.activationMode ?? DEFAULT_ACTIVATION_MODE);
|
|
147
|
-
const selectedValue =
|
|
124
|
+
const selectedValue = controllable.value;
|
|
148
125
|
const firstEnabledTrigger = computed(() => triggers.value.find((trigger) => !trigger.disabled));
|
|
149
126
|
const selectedEnabledTrigger = computed(() => {
|
|
150
127
|
const trigger = findRegistration(triggers.value, selectedValue.value);
|
|
@@ -154,11 +131,11 @@ function useTabs(props, emitUpdate) {
|
|
|
154
131
|
const rootProps = computed(() => ({
|
|
155
132
|
id: props.id,
|
|
156
133
|
class: rootClass.value,
|
|
157
|
-
"data-disabled":
|
|
134
|
+
"data-disabled": toOptionalAttribute(isDisabled.value),
|
|
158
135
|
"data-size": size.value,
|
|
159
136
|
"data-variant": variant.value,
|
|
160
137
|
"data-orientation": orientation.value,
|
|
161
|
-
"data-placement":
|
|
138
|
+
"data-placement": toOptionalAttribute(orientation.value === "vertical" ? placement.value : void 0),
|
|
162
139
|
"data-activation-mode": activationMode.value,
|
|
163
140
|
...getAriaProps(props.ariaLabel, props.labelledby, props.describedby)
|
|
164
141
|
}));
|
|
@@ -171,16 +148,15 @@ function useTabs(props, emitUpdate) {
|
|
|
171
148
|
align: align.value ?? getDefaultAlign(orientation.value),
|
|
172
149
|
select: selectValue
|
|
173
150
|
}));
|
|
174
|
-
function syncUncontrolledValue() {
|
|
175
|
-
if (isControlled.value || isDisabled.value) return;
|
|
151
|
+
function syncUncontrolledValue(reconcileMissing = false) {
|
|
152
|
+
if (controllable.isControlled.value || isDisabled.value) return;
|
|
176
153
|
const selectedTrigger = findRegistration(triggers.value, selectedValue.value);
|
|
177
|
-
if (selectedValue.value != null && !selectedTrigger
|
|
178
|
-
|
|
154
|
+
if (selectedValue.value != null && (selectedTrigger ? !selectedTrigger.disabled : !reconcileMissing)) return;
|
|
155
|
+
controllable.resetValue(firstEnabledTrigger.value?.value ?? null);
|
|
179
156
|
}
|
|
180
157
|
function setValue(value) {
|
|
181
158
|
if (isDisabled.value || value === selectedValue.value) return;
|
|
182
|
-
|
|
183
|
-
emitUpdate(value);
|
|
159
|
+
controllable.setValue(value);
|
|
184
160
|
}
|
|
185
161
|
function selectValue(value) {
|
|
186
162
|
const trigger = findRegistration(triggers.value, value);
|
|
@@ -195,12 +171,19 @@ function useTabs(props, emitUpdate) {
|
|
|
195
171
|
triggerRegistry.register(registration);
|
|
196
172
|
syncUncontrolledValue();
|
|
197
173
|
}
|
|
174
|
+
function unregisterTrigger(id) {
|
|
175
|
+
const trigger = triggers.value.find((registration) => registration.id === id);
|
|
176
|
+
triggerRegistry.unregister(id);
|
|
177
|
+
syncUncontrolledValue(trigger?.value === selectedValue.value);
|
|
178
|
+
}
|
|
198
179
|
function onListKeydown(event) {
|
|
199
180
|
const list = event.currentTarget;
|
|
200
181
|
if (!list || isDisabled.value) return;
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
|
|
182
|
+
const nextTrigger = getFocusNavigationTarget(event, list, {
|
|
183
|
+
itemSelector: TRIGGER_SELECTOR,
|
|
184
|
+
collectionSelector: TABLIST_SELECTOR,
|
|
185
|
+
orientation: orientation.value
|
|
186
|
+
});
|
|
204
187
|
if (!nextTrigger) return;
|
|
205
188
|
event.preventDefault();
|
|
206
189
|
nextTrigger.focus();
|
|
@@ -275,10 +258,10 @@ function useTabsList(props) {
|
|
|
275
258
|
id: props.id,
|
|
276
259
|
class: rootClass.value,
|
|
277
260
|
role: "tablist",
|
|
278
|
-
"data-disabled":
|
|
261
|
+
"data-disabled": toOptionalAttribute(group.disabled),
|
|
279
262
|
"data-variant": group.variant,
|
|
280
263
|
"data-orientation": group.orientation,
|
|
281
|
-
"data-placement":
|
|
264
|
+
"data-placement": toOptionalAttribute(group.orientation === "vertical" ? group.placement : void 0),
|
|
282
265
|
"aria-orientation": group.orientation,
|
|
283
266
|
...getAriaProps(props.ariaLabel ?? group.ariaLabel, props.ariaLabelledby ?? group.labelledby, props.ariaDescribedby ?? group.describedby),
|
|
284
267
|
onKeydown: group.onListKeydown
|
|
@@ -303,15 +286,15 @@ function useTabsTrigger(props) {
|
|
|
303
286
|
class: rootClass.value,
|
|
304
287
|
role: "tab",
|
|
305
288
|
type: "button",
|
|
306
|
-
disabled:
|
|
289
|
+
disabled: toOptionalAttribute(isDisabled.value),
|
|
307
290
|
tabIndex: isFocusable.value ? 0 : -1,
|
|
308
291
|
"data-state": state.value,
|
|
309
|
-
"data-disabled":
|
|
292
|
+
"data-disabled": toOptionalAttribute(isDisabled.value),
|
|
310
293
|
"data-variant": group.variant,
|
|
311
|
-
"data-align":
|
|
294
|
+
"data-align": toOptionalAttribute(align.value),
|
|
312
295
|
"aria-selected": isSelected.value,
|
|
313
296
|
"aria-controls": group.getContentId(props.value),
|
|
314
|
-
"aria-disabled":
|
|
297
|
+
"aria-disabled": toOptionalAttribute(isDisabled.value),
|
|
315
298
|
onClick: select,
|
|
316
299
|
onFocus,
|
|
317
300
|
onKeydown
|
|
@@ -366,7 +349,7 @@ function useTabsContent(props) {
|
|
|
366
349
|
class: rootClass.value,
|
|
367
350
|
role: "tabpanel",
|
|
368
351
|
tabIndex: 0,
|
|
369
|
-
hidden:
|
|
352
|
+
hidden: toOptionalAttribute(!isSelected.value),
|
|
370
353
|
"data-state": state.value,
|
|
371
354
|
...getAriaProps(props.ariaLabel, props.ariaLabelledby ?? group.getTriggerId(props.value), props.ariaDescribedby)
|
|
372
355
|
}));
|
|
@@ -390,7 +373,7 @@ function useTabsContent(props) {
|
|
|
390
373
|
}
|
|
391
374
|
//#endregion
|
|
392
375
|
//#region src/components/tabs/tabs.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
393
|
-
var t0$2 = template("<div data-v-
|
|
376
|
+
var t0$2 = template("<div data-v-6c4b3ab7>", 1);
|
|
394
377
|
//#endregion
|
|
395
378
|
//#region src/components/tabs/tabs.vue
|
|
396
379
|
var tabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -431,7 +414,7 @@ var tabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
431
414
|
const { getRootAttrs } = useStylesApi(props, "root");
|
|
432
415
|
const rootAttrs = computed(() => getRootAttrs({
|
|
433
416
|
...internalRootProps.value,
|
|
434
|
-
"data-disabled":
|
|
417
|
+
"data-disabled": toPresenceAttribute(props.disabled)
|
|
435
418
|
}));
|
|
436
419
|
const n1 = t0$2();
|
|
437
420
|
renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
|
|
@@ -439,10 +422,10 @@ var tabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
439
422
|
createSlot("default", { $: [() => unref(slotProps)] }, null, 1);
|
|
440
423
|
return n1;
|
|
441
424
|
}
|
|
442
|
-
}), [["__scopeId", "data-v-
|
|
425
|
+
}), [["__scopeId", "data-v-6c4b3ab7"]]);
|
|
443
426
|
//#endregion
|
|
444
427
|
//#region src/components/tabs/tabs-content.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
445
|
-
var t0$1 = template("<
|
|
428
|
+
var t0$1 = template("<div data-v-741d0283>", 1);
|
|
446
429
|
//#endregion
|
|
447
430
|
//#region src/components/tabs/tabs-content.vue
|
|
448
431
|
var tabs_content_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -475,7 +458,7 @@ var tabs_content_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
475
458
|
return n3;
|
|
476
459
|
});
|
|
477
460
|
}
|
|
478
|
-
}), [["__scopeId", "data-v-
|
|
461
|
+
}), [["__scopeId", "data-v-741d0283"]]);
|
|
479
462
|
//#endregion
|
|
480
463
|
//#region src/components/tabs/tabs-list.vue
|
|
481
464
|
var tabs_list_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -501,7 +484,7 @@ var tabs_list_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
501
484
|
return getRootAttrs({
|
|
502
485
|
id: internal.id,
|
|
503
486
|
class: internal.class,
|
|
504
|
-
"data-disabled":
|
|
487
|
+
"data-disabled": toPresenceAttribute(internal["data-disabled"]),
|
|
505
488
|
"data-variant": internal["data-variant"],
|
|
506
489
|
"data-orientation": internal["data-orientation"],
|
|
507
490
|
"data-placement": internal["data-placement"]
|
|
@@ -537,10 +520,10 @@ var tabs_list_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
537
520
|
return createSlot("default", { $: [() => unref(slotProps)] }, null, 1);
|
|
538
521
|
}, { _: 8 }), true);
|
|
539
522
|
}
|
|
540
|
-
}), [["__scopeId", "data-v-
|
|
523
|
+
}), [["__scopeId", "data-v-5266c337"]]);
|
|
541
524
|
//#endregion
|
|
542
525
|
//#region src/components/tabs/tabs-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
543
|
-
var t0 = template("<button data-v-
|
|
526
|
+
var t0 = template("<button data-v-20d5c2eb>", 1);
|
|
544
527
|
//#endregion
|
|
545
528
|
//#region src/components/tabs/tabs-trigger.vue
|
|
546
529
|
var tabs_trigger_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -564,7 +547,7 @@ var tabs_trigger_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
564
547
|
const { getRootAttrs } = useStylesApi(props, "root");
|
|
565
548
|
const rootAttrs = computed(() => getRootAttrs({
|
|
566
549
|
...internalRootProps.value,
|
|
567
|
-
"data-disabled":
|
|
550
|
+
"data-disabled": toPresenceAttribute(internalRootProps.value["data-disabled"])
|
|
568
551
|
}));
|
|
569
552
|
const n1 = t0();
|
|
570
553
|
renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
|
|
@@ -572,7 +555,7 @@ var tabs_trigger_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
572
555
|
createSlot("default", { $: [() => unref(slotProps)] }, null, 1);
|
|
573
556
|
return n1;
|
|
574
557
|
}
|
|
575
|
-
}), [["__scopeId", "data-v-
|
|
558
|
+
}), [["__scopeId", "data-v-20d5c2eb"]]);
|
|
576
559
|
//#endregion
|
|
577
560
|
//#region src/components/tabs/types.ts
|
|
578
561
|
var tabsParts = ["root"];
|
package/dist/text.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/utils/text.ts
|
|
2
|
+
var COMBINING_MARKS = /\p{M}/gu;
|
|
3
|
+
var WHITESPACE = /\s+/g;
|
|
4
|
+
function getNameInitials(name) {
|
|
5
|
+
if (!name) return "";
|
|
6
|
+
const parts = name.trim().split(WHITESPACE).filter(Boolean);
|
|
7
|
+
const firstPart = parts[0];
|
|
8
|
+
if (!firstPart) return "";
|
|
9
|
+
if (parts.length === 1) return Array.from(firstPart).slice(0, 2).join("").toLocaleUpperCase();
|
|
10
|
+
const lastPart = parts.at(-1) ?? firstPart;
|
|
11
|
+
return `${Array.from(firstPart)[0] ?? ""}${Array.from(lastPart)[0] ?? ""}`.toLocaleUpperCase();
|
|
12
|
+
}
|
|
13
|
+
function normalizeTypeaheadText(value, locales) {
|
|
14
|
+
return value.toLocaleLowerCase(locales).normalize("NFKD").replace(COMBINING_MARKS, "").replace(WHITESPACE, " ").trim();
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { normalizeTypeaheadText as n, getNameInitials as t };
|
package/dist/textarea.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@layer ropav.components {
|
|
2
|
-
.rp-textarea[data-v-
|
|
2
|
+
.rp-textarea[data-v-da9cf2c9] {
|
|
3
3
|
--_rp-textarea-padding-y: 7px;
|
|
4
4
|
--_rp-textarea-padding-x: calc(var(--rp-size-control-md) / 3);
|
|
5
5
|
--_rp-textarea-font-size: var(--rp-font-size-md);
|
|
@@ -17,58 +17,58 @@
|
|
|
17
17
|
cursor: text;
|
|
18
18
|
transition: border-color var(--rp-transition-fast), box-shadow var(--rp-transition-fast);
|
|
19
19
|
}
|
|
20
|
-
.rp-textarea[data-v-
|
|
20
|
+
.rp-textarea[data-v-da9cf2c9]:hover:not(.rp-textarea--disabled):not(.rp-textarea--invalid):not(.rp-textarea--valid) {
|
|
21
21
|
border-color: var(--rp-color-control-border-hover);
|
|
22
22
|
}
|
|
23
|
-
.rp-textarea[data-v-
|
|
23
|
+
.rp-textarea[data-v-da9cf2c9]:focus-within:not(.rp-textarea--disabled):not(.rp-textarea--invalid):not(.rp-textarea--valid) {
|
|
24
24
|
border-color: var(--rp-color-control-border-focus);
|
|
25
25
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
26
26
|
}
|
|
27
|
-
.rp-textarea[data-v-
|
|
27
|
+
.rp-textarea[data-v-da9cf2c9] {
|
|
28
28
|
font-size: var(--_rp-textarea-font-size);
|
|
29
29
|
border-radius: var(--_rp-textarea-radius);
|
|
30
30
|
}
|
|
31
|
-
.rp-textarea--size-xs[data-v-
|
|
31
|
+
.rp-textarea--size-xs[data-v-da9cf2c9] {
|
|
32
32
|
--_rp-textarea-padding-y: 4.5px;
|
|
33
33
|
--_rp-textarea-padding-x: calc(var(--rp-size-control-xs) / 3);
|
|
34
34
|
--_rp-textarea-font-size: var(--rp-font-size-xs);
|
|
35
35
|
}
|
|
36
|
-
.rp-textarea--size-sm[data-v-
|
|
36
|
+
.rp-textarea--size-sm[data-v-da9cf2c9] {
|
|
37
37
|
--_rp-textarea-padding-y: 5.5px;
|
|
38
38
|
--_rp-textarea-padding-x: calc(var(--rp-size-control-sm) / 3);
|
|
39
39
|
--_rp-textarea-font-size: var(--rp-font-size-sm);
|
|
40
40
|
}
|
|
41
|
-
.rp-textarea--size-md[data-v-
|
|
41
|
+
.rp-textarea--size-md[data-v-da9cf2c9] {
|
|
42
42
|
--_rp-textarea-padding-y: 7px;
|
|
43
43
|
--_rp-textarea-padding-x: calc(var(--rp-size-control-md) / 3);
|
|
44
44
|
--_rp-textarea-font-size: var(--rp-font-size-md);
|
|
45
45
|
}
|
|
46
|
-
.rp-textarea--size-lg[data-v-
|
|
46
|
+
.rp-textarea--size-lg[data-v-da9cf2c9] {
|
|
47
47
|
--_rp-textarea-padding-y: 9.5px;
|
|
48
48
|
--_rp-textarea-padding-x: calc(var(--rp-size-control-lg) / 3);
|
|
49
49
|
--_rp-textarea-font-size: var(--rp-font-size-lg);
|
|
50
50
|
}
|
|
51
|
-
.rp-textarea--size-xl[data-v-
|
|
51
|
+
.rp-textarea--size-xl[data-v-da9cf2c9] {
|
|
52
52
|
--_rp-textarea-padding-y: 13px;
|
|
53
53
|
--_rp-textarea-padding-x: calc(var(--rp-size-control-xl) / 3);
|
|
54
54
|
--_rp-textarea-font-size: var(--rp-font-size-xl);
|
|
55
55
|
}
|
|
56
|
-
.rp-textarea--radius-xs[data-v-
|
|
56
|
+
.rp-textarea--radius-xs[data-v-da9cf2c9] {
|
|
57
57
|
--_rp-textarea-radius: var(--rp-radius-xs);
|
|
58
58
|
}
|
|
59
|
-
.rp-textarea--radius-sm[data-v-
|
|
59
|
+
.rp-textarea--radius-sm[data-v-da9cf2c9] {
|
|
60
60
|
--_rp-textarea-radius: var(--rp-radius-sm);
|
|
61
61
|
}
|
|
62
|
-
.rp-textarea--radius-md[data-v-
|
|
62
|
+
.rp-textarea--radius-md[data-v-da9cf2c9] {
|
|
63
63
|
--_rp-textarea-radius: var(--rp-radius-md);
|
|
64
64
|
}
|
|
65
|
-
.rp-textarea--radius-lg[data-v-
|
|
65
|
+
.rp-textarea--radius-lg[data-v-da9cf2c9] {
|
|
66
66
|
--_rp-textarea-radius: var(--rp-radius-lg);
|
|
67
67
|
}
|
|
68
|
-
.rp-textarea--radius-xl[data-v-
|
|
68
|
+
.rp-textarea--radius-xl[data-v-da9cf2c9] {
|
|
69
69
|
--_rp-textarea-radius: var(--rp-radius-xl);
|
|
70
70
|
}
|
|
71
|
-
html.dark .rp-textarea[data-v-
|
|
71
|
+
html.dark .rp-textarea[data-v-da9cf2c9], [data-rp-color-scheme=dark] .rp-textarea[data-v-da9cf2c9] {
|
|
72
72
|
--_rp-textarea-valid-border: var(--rp-color-green-light-color);
|
|
73
73
|
--_rp-textarea-valid-ring: color-mix(
|
|
74
74
|
in srgb,
|
|
@@ -82,34 +82,34 @@ html.dark .rp-textarea[data-v-f2ee1457], [data-rp-color-scheme=dark] .rp-textare
|
|
|
82
82
|
transparent
|
|
83
83
|
);
|
|
84
84
|
}
|
|
85
|
-
.rp-textarea--disabled[data-v-
|
|
85
|
+
.rp-textarea--disabled[data-v-da9cf2c9] {
|
|
86
86
|
opacity: var(--rp-opacity-disabled);
|
|
87
87
|
cursor: not-allowed;
|
|
88
88
|
}
|
|
89
|
-
.rp-textarea--valid[data-v-
|
|
89
|
+
.rp-textarea--valid[data-v-da9cf2c9] {
|
|
90
90
|
border-color: var(--_rp-textarea-valid-border);
|
|
91
91
|
}
|
|
92
|
-
.rp-textarea--valid[data-v-
|
|
92
|
+
.rp-textarea--valid[data-v-da9cf2c9]:focus-within:not(.rp-textarea--disabled) {
|
|
93
93
|
border-color: var(--_rp-textarea-valid-border);
|
|
94
94
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-textarea-valid-ring);
|
|
95
95
|
}
|
|
96
|
-
.rp-textarea--invalid[data-v-
|
|
96
|
+
.rp-textarea--invalid[data-v-da9cf2c9] {
|
|
97
97
|
border-color: var(--_rp-textarea-invalid-border);
|
|
98
98
|
}
|
|
99
|
-
.rp-textarea--invalid[data-v-
|
|
99
|
+
.rp-textarea--invalid[data-v-da9cf2c9]:focus-within:not(.rp-textarea--disabled) {
|
|
100
100
|
border-color: var(--_rp-textarea-invalid-border);
|
|
101
101
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-textarea-invalid-ring);
|
|
102
102
|
}
|
|
103
|
-
.rp-textarea--readonly[data-v-
|
|
103
|
+
.rp-textarea--readonly[data-v-da9cf2c9] {
|
|
104
104
|
background-color: var(--rp-color-control-readonly-bg);
|
|
105
105
|
}
|
|
106
|
-
.rp-textarea--resize-vertical .rp-textarea__native[data-v-
|
|
106
|
+
.rp-textarea--resize-vertical .rp-textarea__native[data-v-da9cf2c9] {
|
|
107
107
|
resize: vertical;
|
|
108
108
|
}
|
|
109
|
-
.rp-textarea--resize-both .rp-textarea__native[data-v-
|
|
109
|
+
.rp-textarea--resize-both .rp-textarea__native[data-v-da9cf2c9] {
|
|
110
110
|
resize: both;
|
|
111
111
|
}
|
|
112
|
-
.rp-textarea__native[data-v-
|
|
112
|
+
.rp-textarea__native[data-v-da9cf2c9] {
|
|
113
113
|
box-sizing: border-box;
|
|
114
114
|
flex: 1;
|
|
115
115
|
width: 100%;
|
|
@@ -124,10 +124,10 @@ html.dark .rp-textarea[data-v-f2ee1457], [data-rp-color-scheme=dark] .rp-textare
|
|
|
124
124
|
color: var(--rp-color-control-fg);
|
|
125
125
|
line-height: var(--rp-line-height-md);
|
|
126
126
|
}
|
|
127
|
-
.rp-textarea__native[data-v-
|
|
127
|
+
.rp-textarea__native[data-v-da9cf2c9]::placeholder {
|
|
128
128
|
color: var(--rp-color-control-placeholder);
|
|
129
129
|
}
|
|
130
|
-
.rp-textarea__native[data-v-
|
|
130
|
+
.rp-textarea__native[data-v-da9cf2c9]:disabled {
|
|
131
131
|
cursor: not-allowed;
|
|
132
132
|
}
|
|
133
133
|
}
|
package/dist/textarea.js
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
import './textarea.css';
|
|
2
|
+
import { t as useControllableValue } from "./useControllableValue.js";
|
|
3
|
+
import { t as useStylesApi } from "./styles-api.js";
|
|
4
|
+
import { n as toPresenceAttribute } from "./attributes.js";
|
|
2
5
|
import { t as bem } from "./bem.js";
|
|
3
|
-
import { n as useStylesApi, t as presence } from "./styles-api.js";
|
|
4
6
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
5
|
-
import { t as
|
|
7
|
+
import { t as clamp } from "./number.js";
|
|
6
8
|
import { a as useTextFormControl } from "./useFormControl.js";
|
|
9
|
+
import { o as splitCompatibilityAttributes, t as composeEventHandlers } from "./attributes2.js";
|
|
7
10
|
import { t as useControlState } from "./useControlState.js";
|
|
11
|
+
import { t as isInteractiveElement } from "./interactive.js";
|
|
8
12
|
import { child, computed, defineVaporComponent, nextTick, onMounted, ref, renderEffect, setDynamicProps, setStaticTemplateRef, template, unref, watch } from "vue";
|
|
9
13
|
//#region src/components/textarea/useTextarea.ts
|
|
10
14
|
var MIN_ROWS = 1;
|
|
11
|
-
var
|
|
12
|
-
"button",
|
|
13
|
-
"a[href]",
|
|
14
|
-
"input",
|
|
15
|
-
"select",
|
|
16
|
-
`textarea:not(.rp-textarea__native)`,
|
|
17
|
-
"[contenteditable=\"true\"]",
|
|
18
|
-
"[tabindex]:not([tabindex=\"-1\"])"
|
|
19
|
-
].join(",");
|
|
20
|
-
function isInteractiveElement(target) {
|
|
21
|
-
return Boolean(target.closest(INTERACTIVE_SELECTOR));
|
|
22
|
-
}
|
|
15
|
+
var NATIVE_TEXTAREA_SELECTOR = ".rp-textarea__native";
|
|
23
16
|
function normalizeRows(value, fallback) {
|
|
24
17
|
if (value === void 0 || !Number.isFinite(value)) return fallback;
|
|
25
18
|
return Math.max(MIN_ROWS, Math.floor(value));
|
|
@@ -98,8 +91,7 @@ function useTextarea(props, emitUpdate, getValue = () => props.modelValue ?? "")
|
|
|
98
91
|
}
|
|
99
92
|
textarea.style.height = "auto";
|
|
100
93
|
const { contentHeight, minHeight, maxHeight } = getAutosizeMeasurement(textarea, autosizeRows.value);
|
|
101
|
-
const
|
|
102
|
-
const nextHeight = Math.min(Math.max(contentHeight, minHeight), heightLimit);
|
|
94
|
+
const nextHeight = clamp(contentHeight, minHeight, maxHeight ?? Number.POSITIVE_INFINITY);
|
|
103
95
|
textarea.style.height = `${nextHeight}px`;
|
|
104
96
|
textarea.style.overflowY = maxHeight !== void 0 && contentHeight > maxHeight ? "auto" : "hidden";
|
|
105
97
|
}
|
|
@@ -117,8 +109,7 @@ function useTextarea(props, emitUpdate, getValue = () => props.modelValue ?? "")
|
|
|
117
109
|
}
|
|
118
110
|
function focusTextarea(e) {
|
|
119
111
|
if (control.disabled) return;
|
|
120
|
-
|
|
121
|
-
if (target instanceof Element && isInteractiveElement(target)) return;
|
|
112
|
+
if (isInteractiveElement(e.target, NATIVE_TEXTAREA_SELECTOR)) return;
|
|
122
113
|
textareaRef.value?.focus();
|
|
123
114
|
}
|
|
124
115
|
function focus(options) {
|
|
@@ -138,7 +129,7 @@ function useTextarea(props, emitUpdate, getValue = () => props.modelValue ?? "")
|
|
|
138
129
|
}
|
|
139
130
|
//#endregion
|
|
140
131
|
//#region src/components/textarea/textarea.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
141
|
-
var t0 = template("<div data-v-
|
|
132
|
+
var t0 = template("<div data-v-da9cf2c9><textarea data-v-da9cf2c9>", 1);
|
|
142
133
|
//#endregion
|
|
143
134
|
//#region src/components/textarea/textarea.vue
|
|
144
135
|
var textarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -205,23 +196,21 @@ var textarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
205
196
|
const rootAttrs = computed(() => getRootAttrs({
|
|
206
197
|
class: rootClass.value,
|
|
207
198
|
onMousedown: focusTextarea,
|
|
208
|
-
"data-disabled":
|
|
209
|
-
"data-readonly":
|
|
210
|
-
"data-invalid":
|
|
199
|
+
"data-disabled": toPresenceAttribute(control.disabled),
|
|
200
|
+
"data-readonly": toPresenceAttribute(props.readonly),
|
|
201
|
+
"data-invalid": toPresenceAttribute(control.invalid)
|
|
211
202
|
}));
|
|
212
203
|
const nativeInputAttrs = computed(() => {
|
|
213
|
-
const
|
|
204
|
+
const inputAttrs = props.inputAttrs ?? {};
|
|
205
|
+
const { compatibilityClass, compatibilityStyle, forwardedAttributes } = splitCompatibilityAttributes(inputAttrs);
|
|
214
206
|
return {
|
|
215
|
-
...
|
|
207
|
+
...forwardedAttributes,
|
|
216
208
|
...getPartAttrs("input", {
|
|
217
209
|
class: "rp-textarea__native",
|
|
218
210
|
compatibilityClass,
|
|
219
211
|
compatibilityStyle
|
|
220
212
|
}),
|
|
221
|
-
onInput(
|
|
222
|
-
onInput(event);
|
|
223
|
-
compatibilityOnInput?.(event);
|
|
224
|
-
}
|
|
213
|
+
onInput: composeEventHandlers(onInput, inputAttrs.onInput)
|
|
225
214
|
};
|
|
226
215
|
});
|
|
227
216
|
__expose({
|
|
@@ -235,7 +224,7 @@ var textarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
235
224
|
const _nativeInputAttrs = nativeInputAttrs.value;
|
|
236
225
|
const _control = unref(control);
|
|
237
226
|
const _readonly = __props.readonly;
|
|
238
|
-
const
|
|
227
|
+
const _toPresenceAttribute = unref(toPresenceAttribute);
|
|
239
228
|
const _control_required = _control.required;
|
|
240
229
|
setDynamicProps(n1, [rootAttrs.value]);
|
|
241
230
|
setDynamicProps(n0, [_nativeInputAttrs, {
|
|
@@ -253,14 +242,14 @@ var textarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
253
242
|
"aria-describedby": _control.ariaDescribedby,
|
|
254
243
|
"aria-invalid": _control.invalid || void 0,
|
|
255
244
|
"aria-required": _control_required || void 0,
|
|
256
|
-
"data-disabled":
|
|
257
|
-
"data-readonly":
|
|
258
|
-
"data-invalid":
|
|
245
|
+
"data-disabled": _toPresenceAttribute(_control.disabled),
|
|
246
|
+
"data-readonly": _toPresenceAttribute(_readonly),
|
|
247
|
+
"data-invalid": _toPresenceAttribute(_control.invalid)
|
|
259
248
|
}]);
|
|
260
249
|
});
|
|
261
250
|
return n1;
|
|
262
251
|
}
|
|
263
|
-
}), [["__scopeId", "data-v-
|
|
252
|
+
}), [["__scopeId", "data-v-da9cf2c9"]]);
|
|
264
253
|
//#endregion
|
|
265
254
|
//#region src/components/textarea/types.ts
|
|
266
255
|
var textareaParts = ["root", "input"];
|