ropav 0.0.10 → 0.0.12

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 (276) hide show
  1. package/README.md +9 -0
  2. package/dist/accordion.css +115 -111
  3. package/dist/accordion.js +60 -16
  4. package/dist/alert.css +110 -108
  5. package/dist/alert.js +48 -26
  6. package/dist/aspect-ratio.css +17 -15
  7. package/dist/aspect-ratio.js +20 -6
  8. package/dist/avatar.css +98 -96
  9. package/dist/avatar.js +27 -16
  10. package/dist/badge.css +95 -93
  11. package/dist/badge.js +29 -16
  12. package/dist/base.css +672 -671
  13. package/dist/button-group.css +39 -37
  14. package/dist/button-group.js +23 -12
  15. package/dist/button-link.css +160 -158
  16. package/dist/button-link.js +43 -24
  17. package/dist/button.css +160 -158
  18. package/dist/button.js +37 -19
  19. package/dist/card.css +109 -107
  20. package/dist/card.js +42 -17
  21. package/dist/checkbox.css +139 -137
  22. package/dist/checkbox.js +103 -33
  23. package/dist/collapse.css +29 -27
  24. package/dist/collapse.js +44 -10
  25. package/dist/color-input.css +137 -107
  26. package/dist/color-input.js +117 -30
  27. package/dist/color-picker.css +309 -303
  28. package/dist/color-picker.js +147 -54
  29. package/dist/color-picker2.js +9 -1
  30. package/dist/color-swatch.css +48 -46
  31. package/dist/color-swatch.js +15 -11
  32. package/dist/color-swatch2.js +4 -0
  33. package/dist/components/accordion/accordion-item.d.ts +13 -1
  34. package/dist/components/accordion/index.d.ts +2 -1
  35. package/dist/components/accordion/index.js +2 -2
  36. package/dist/components/accordion/types.d.ts +9 -4
  37. package/dist/components/alert/alert.d.ts +2 -2
  38. package/dist/components/alert/index.d.ts +2 -2
  39. package/dist/components/alert/index.js +2 -2
  40. package/dist/components/alert/types.d.ts +4 -1
  41. package/dist/components/aspect-ratio/index.d.ts +2 -1
  42. package/dist/components/aspect-ratio/index.js +2 -2
  43. package/dist/components/aspect-ratio/types.d.ts +4 -1
  44. package/dist/components/avatar/index.d.ts +2 -2
  45. package/dist/components/avatar/index.js +2 -2
  46. package/dist/components/avatar/types.d.ts +4 -1
  47. package/dist/components/badge/index.d.ts +2 -2
  48. package/dist/components/badge/index.js +2 -2
  49. package/dist/components/badge/types.d.ts +4 -1
  50. package/dist/components/button/index.d.ts +2 -1
  51. package/dist/components/button/index.js +2 -2
  52. package/dist/components/button/types.d.ts +4 -1
  53. package/dist/components/button-group/index.d.ts +2 -1
  54. package/dist/components/button-group/index.js +2 -2
  55. package/dist/components/button-group/types.d.ts +4 -1
  56. package/dist/components/button-link/index.d.ts +2 -1
  57. package/dist/components/button-link/index.js +2 -2
  58. package/dist/components/button-link/types.d.ts +4 -1
  59. package/dist/components/card/index.d.ts +2 -1
  60. package/dist/components/card/index.js +2 -2
  61. package/dist/components/card/types.d.ts +5 -1
  62. package/dist/components/checkbox/checkbox.d.ts +4 -1
  63. package/dist/components/checkbox/index.d.ts +2 -1
  64. package/dist/components/checkbox/index.js +2 -2
  65. package/dist/components/checkbox/types.d.ts +11 -2
  66. package/dist/components/checkbox/useCheckbox.d.ts +3 -1
  67. package/dist/components/collapse/collapse.d.ts +2 -2
  68. package/dist/components/collapse/index.d.ts +2 -1
  69. package/dist/components/collapse/index.js +2 -2
  70. package/dist/components/collapse/types.d.ts +9 -2
  71. package/dist/components/color-input/index.d.ts +2 -1
  72. package/dist/components/color-input/index.js +2 -2
  73. package/dist/components/color-input/types.d.ts +8 -2
  74. package/dist/components/color-input/useColorInput.d.ts +1 -1
  75. package/dist/components/color-input/useColorInputValue.d.ts +1 -1
  76. package/dist/components/color-picker/index.d.ts +2 -2
  77. package/dist/components/color-picker/index.js +2 -2
  78. package/dist/components/color-picker/types.d.ts +13 -1
  79. package/dist/components/color-swatch/index.d.ts +2 -1
  80. package/dist/components/color-swatch/index.js +2 -1
  81. package/dist/components/color-swatch/types.d.ts +4 -1
  82. package/dist/components/dialog/dialog-close.d.ts +21 -0
  83. package/dist/components/dialog/dialog-content.d.ts +32 -0
  84. package/dist/components/dialog/dialog-core.d.ts +27 -0
  85. package/dist/components/dialog/dialog-description.d.ts +21 -0
  86. package/dist/components/dialog/dialog-overlay.d.ts +21 -0
  87. package/dist/components/dialog/dialog-portal.d.ts +21 -0
  88. package/dist/components/dialog/dialog-root.d.ts +28 -0
  89. package/dist/components/dialog/dialog-title.d.ts +21 -0
  90. package/dist/components/dialog/dialog-trigger.d.ts +23 -0
  91. package/dist/components/dialog/index.d.ts +9 -0
  92. package/dist/components/dialog/index.js +2 -0
  93. package/dist/components/dialog/types.d.ts +61 -0
  94. package/dist/components/dropdown-menu/dropdown-menu-checkbox-item.d.ts +24 -0
  95. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +34 -0
  96. package/dist/components/dropdown-menu/dropdown-menu-context-trigger.d.ts +23 -0
  97. package/dist/components/dropdown-menu/dropdown-menu-item-indicator.d.ts +24 -0
  98. package/dist/components/dropdown-menu/dropdown-menu-item-row.d.ts +28 -0
  99. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts +23 -0
  100. package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +24 -22
  101. package/dist/components/dropdown-menu/dropdown-menu-label.d.ts +21 -0
  102. package/dist/components/dropdown-menu/dropdown-menu-outside.d.ts +3 -0
  103. package/dist/components/dropdown-menu/dropdown-menu-portal.d.ts +21 -0
  104. package/dist/components/dropdown-menu/dropdown-menu-primitive-core.d.ts +110 -0
  105. package/dist/components/dropdown-menu/dropdown-menu-primitives.d.ts +15 -0
  106. package/dist/components/dropdown-menu/dropdown-menu-radio-group.d.ts +25 -0
  107. package/dist/components/dropdown-menu/dropdown-menu-radio-item.d.ts +23 -0
  108. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +30 -0
  109. package/dist/components/dropdown-menu/dropdown-menu-separator.d.ts +19 -0
  110. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +34 -0
  111. package/dist/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +28 -0
  112. package/dist/components/dropdown-menu/dropdown-menu-sub.d.ts +28 -0
  113. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts +23 -0
  114. package/dist/components/dropdown-menu/dropdown-menu.d.ts +6 -3
  115. package/dist/components/dropdown-menu/index.d.ts +32 -1
  116. package/dist/components/dropdown-menu/index.js +2 -2
  117. package/dist/components/dropdown-menu/types.d.ts +145 -6
  118. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +15 -3
  119. package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +10 -3
  120. package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +2 -1
  121. package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +4 -4
  122. package/dist/components/dropdown-menu/useDropdownMenuPortalPosition.d.ts +19 -0
  123. package/dist/components/dropdown-menu/useDropdownMenuPrimitiveContent.d.ts +27 -0
  124. package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +14 -2
  125. package/dist/components/field/index.d.ts +2 -1
  126. package/dist/components/field/index.js +2 -2
  127. package/dist/components/field/types.d.ts +4 -1
  128. package/dist/components/floating/index.d.ts +3 -0
  129. package/dist/components/floating/index.js +3 -0
  130. package/dist/components/floating/types.d.ts +105 -0
  131. package/dist/components/floating/useFloatingPosition.d.ts +15 -0
  132. package/dist/components/floating/useHoverDisclosure.d.ts +2 -0
  133. package/dist/components/focus-trap/focus-trap.d.ts +31 -0
  134. package/dist/components/focus-trap/index.d.ts +4 -0
  135. package/dist/components/focus-trap/index.js +3 -0
  136. package/dist/components/focus-trap/types.d.ts +41 -0
  137. package/dist/components/focus-trap/useFocusTrap.d.ts +2 -0
  138. package/dist/components/icon-button/index.d.ts +2 -1
  139. package/dist/components/icon-button/index.js +2 -1
  140. package/dist/components/icon-button/types.d.ts +4 -1
  141. package/dist/components/input/index.d.ts +2 -1
  142. package/dist/components/input/index.js +2 -1
  143. package/dist/components/input/input.d.ts +4 -1
  144. package/dist/components/input/types.d.ts +7 -2
  145. package/dist/components/modal/index.d.ts +2 -1
  146. package/dist/components/modal/index.js +2 -2
  147. package/dist/components/modal/modal.d.ts +3 -1
  148. package/dist/components/modal/types.d.ts +11 -1
  149. package/dist/components/modal/useModal.d.ts +7 -4
  150. package/dist/components/number-input/index.d.ts +2 -1
  151. package/dist/components/number-input/index.js +2 -2
  152. package/dist/components/number-input/types.d.ts +7 -2
  153. package/dist/components/number-input/useNumberInput.d.ts +2 -1
  154. package/dist/components/overlay/index.d.ts +2 -1
  155. package/dist/components/overlay/index.js +2 -1
  156. package/dist/components/overlay/types.d.ts +4 -1
  157. package/dist/components/popover/index.d.ts +2 -2
  158. package/dist/components/popover/index.js +2 -2
  159. package/dist/components/popover/popover.d.ts +2 -2
  160. package/dist/components/popover/types.d.ts +20 -11
  161. package/dist/components/popover/usePopover.d.ts +9 -1
  162. package/dist/components/progress/index.d.ts +2 -2
  163. package/dist/components/progress/index.js +2 -2
  164. package/dist/components/progress/types.d.ts +4 -1
  165. package/dist/components/radio/index.d.ts +2 -1
  166. package/dist/components/radio/index.js +2 -2
  167. package/dist/components/radio/radio.d.ts +8 -3
  168. package/dist/components/radio/types.d.ts +37 -4
  169. package/dist/components/radio/useRadio.d.ts +12 -4
  170. package/dist/components/select/index.d.ts +2 -1
  171. package/dist/components/select/index.js +2 -2
  172. package/dist/components/select/select.d.ts +4 -1
  173. package/dist/components/select/types.d.ts +10 -2
  174. package/dist/components/select/useSelect.d.ts +3 -1
  175. package/dist/components/slider/index.d.ts +2 -2
  176. package/dist/components/slider/index.js +2 -2
  177. package/dist/components/slider/range-slider-tooltip.d.ts +3 -0
  178. package/dist/components/slider/range-slider.d.ts +7 -4
  179. package/dist/components/slider/slider.d.ts +4 -1
  180. package/dist/components/slider/sliderCore.d.ts +4 -4
  181. package/dist/components/slider/types.d.ts +22 -4
  182. package/dist/components/slider/useRangeSlider.d.ts +2 -2
  183. package/dist/components/slider/useSlider.d.ts +2 -2
  184. package/dist/components/switch/index.d.ts +2 -1
  185. package/dist/components/switch/index.js +2 -2
  186. package/dist/components/switch/switch.d.ts +4 -1
  187. package/dist/components/switch/types.d.ts +11 -2
  188. package/dist/components/switch/useSwitch.d.ts +3 -1
  189. package/dist/components/tabs/index.d.ts +2 -1
  190. package/dist/components/tabs/index.js +2 -2
  191. package/dist/components/tabs/types.d.ts +13 -4
  192. package/dist/components/teleport-provider/index.d.ts +3 -0
  193. package/dist/components/teleport-provider/index.js +3 -0
  194. package/dist/components/teleport-provider/teleport-provider.d.ts +21 -0
  195. package/dist/components/teleport-provider/types.d.ts +4 -0
  196. package/dist/components/teleport-provider/useTeleportTarget.d.ts +6 -0
  197. package/dist/components/textarea/index.d.ts +2 -1
  198. package/dist/components/textarea/index.js +2 -2
  199. package/dist/components/textarea/textarea.d.ts +4 -1
  200. package/dist/components/textarea/types.d.ts +10 -2
  201. package/dist/components/textarea/useTextarea.d.ts +2 -1
  202. package/dist/components/toast/index.d.ts +3 -2
  203. package/dist/components/toast/index.js +2 -2
  204. package/dist/components/toast/toast-store.d.ts +2 -0
  205. package/dist/components/toast/toast.d.ts +2 -2
  206. package/dist/components/toast/types.d.ts +20 -10
  207. package/dist/components/toast/useToast.d.ts +2 -2
  208. package/dist/components/tooltip/index.d.ts +2 -1
  209. package/dist/components/tooltip/index.js +2 -1
  210. package/dist/components/tooltip/tooltip.d.ts +2 -2
  211. package/dist/components/tooltip/types.d.ts +13 -12
  212. package/dist/components/tooltip/useTooltip.d.ts +12 -2
  213. package/dist/composables/useOverlayLayer.d.ts +32 -0
  214. package/dist/dialog.js +510 -0
  215. package/dist/dropdown-menu.css +191 -108
  216. package/dist/dropdown-menu.js +1954 -198
  217. package/dist/field.css +41 -39
  218. package/dist/field.js +40 -16
  219. package/dist/floating.js +403 -0
  220. package/dist/focus-trap.js +80 -0
  221. package/dist/icon-button.css +193 -189
  222. package/dist/icon-button.js +23 -18
  223. package/dist/icon-button2.js +8 -0
  224. package/dist/index.d.ts +5 -0
  225. package/dist/index.js +39 -32
  226. package/dist/input.css +122 -120
  227. package/dist/input.js +63 -40
  228. package/dist/input2.js +9 -0
  229. package/dist/legacy-unlayered.css +5382 -0
  230. package/dist/modal.css +129 -127
  231. package/dist/modal.js +182 -281
  232. package/dist/number-input.css +87 -85
  233. package/dist/number-input.js +98 -26
  234. package/dist/overlay.css +26 -24
  235. package/dist/overlay.js +17 -9
  236. package/dist/overlay2.js +4 -0
  237. package/dist/popover.css +140 -107
  238. package/dist/popover.js +276 -196
  239. package/dist/popover2.js +6 -1
  240. package/dist/progress.css +101 -99
  241. package/dist/progress.js +50 -28
  242. package/dist/radio.css +114 -105
  243. package/dist/radio.js +237 -61
  244. package/dist/select.css +255 -242
  245. package/dist/select.js +257 -94
  246. package/dist/slider.css +1090 -1031
  247. package/dist/slider.js +443 -175
  248. package/dist/styles-api.d.ts +22 -0
  249. package/dist/styles-api.js +49 -0
  250. package/dist/switch.css +120 -108
  251. package/dist/switch.js +112 -38
  252. package/dist/tabs.css +286 -278
  253. package/dist/tabs.js +60 -21
  254. package/dist/teleport-provider.js +15 -0
  255. package/dist/textarea.css +132 -130
  256. package/dist/textarea.js +83 -31
  257. package/dist/toast.css +229 -225
  258. package/dist/toast.js +189 -118
  259. package/dist/tooltip.css +61 -106
  260. package/dist/tooltip.js +184 -228
  261. package/dist/tooltip2.js +8 -0
  262. package/dist/useControlState.js +4 -0
  263. package/dist/useFloatingPosition.js +1317 -0
  264. package/dist/useFocusTrap.js +130 -0
  265. package/dist/useFormControl.js +107 -0
  266. package/dist/useOverlayLayer.js +262 -0
  267. package/dist/useTeleportTarget.js +40 -0
  268. package/docs/public-floating-api.md +148 -0
  269. package/docs/public-styles-api.md +134 -0
  270. package/docs/public-tokens.md +545 -0
  271. package/package.json +37 -9
  272. package/src/styles/_tokens.scss +33 -28
  273. package/src/styles/_utilities.scss +11 -9
  274. package/src/styles/styles-manifest.json +4125 -0
  275. package/dist/rafScheduler.js +0 -34
  276. package/dist/useClickOutside.js +0 -24
package/dist/tabs.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import './tabs.css';
2
2
  import { t as bem } from "./bem.js";
3
+ import { n as useStylesApi, t as presence } from "./styles-api.js";
3
4
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
4
5
  import { t as useRequiredInject } from "./useRequiredInject.js";
5
6
  import { computed, createIf, createSlot, defineVaporComponent, onBeforeUnmount, onMounted, provide, ref, renderEffect, setDynamicProps, setInsertionState, shallowRef, template, unref, useId, watch } from "vue";
@@ -388,11 +389,12 @@ function useTabsContent(props) {
388
389
  }
389
390
  //#endregion
390
391
  //#region src/components/tabs/tabs.vue?vue&type=script&setup=true&vapor=true&lang.ts
391
- var t0$3 = template("<div data-v-32e41419>", 1);
392
+ var t0$3 = template("<div data-v-163486d1>", 1);
392
393
  //#endregion
393
394
  //#region src/components/tabs/tabs.vue
394
395
  var tabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
395
396
  name: "RpTabs",
397
+ inheritAttrs: false,
396
398
  __name: "tabs",
397
399
  props: {
398
400
  id: {},
@@ -414,29 +416,37 @@ var tabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
414
416
  },
415
417
  ariaLabel: {},
416
418
  describedby: {},
417
- labelledby: {}
419
+ labelledby: {},
420
+ classNames: {},
421
+ styles: {}
418
422
  },
419
423
  emits: ["update:modelValue"],
420
424
  setup(__props, { emit: __emit }) {
421
425
  const props = __props;
422
426
  const emit = __emit;
423
- const { rootProps, slotProps } = useTabs(props, (value) => {
427
+ const { rootProps: internalRootProps, slotProps } = useTabs(props, (value) => {
424
428
  emit("update:modelValue", value);
425
429
  });
430
+ const { getRootAttrs } = useStylesApi(props, "root");
431
+ const rootAttrs = computed(() => getRootAttrs({
432
+ ...internalRootProps.value,
433
+ "data-disabled": presence(props.disabled)
434
+ }));
426
435
  const n1 = t0$3();
427
- renderEffect(() => setDynamicProps(n1, [unref(rootProps)]));
436
+ renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
428
437
  setInsertionState(n1, null, 0);
429
438
  createSlot("default", { $: [() => unref(slotProps)] }, null, 1);
430
439
  return n1;
431
440
  }
432
- }), [["__scopeId", "data-v-32e41419"]]);
441
+ }), [["__scopeId", "data-v-163486d1"]]);
433
442
  //#endregion
434
443
  //#region src/components/tabs/tabs-content.vue?vue&type=script&setup=true&vapor=true&lang.ts
435
- var t0$2 = template("<section data-v-3ff419c3>", 1);
444
+ var t0$2 = template("<section data-v-7206185c>", 1);
436
445
  //#endregion
437
446
  //#region src/components/tabs/tabs-content.vue
438
447
  var tabs_content_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
439
448
  name: "RpTabsContent",
449
+ inheritAttrs: false,
440
450
  __name: "tabs-content",
441
451
  props: {
442
452
  id: {},
@@ -447,49 +457,64 @@ var tabs_content_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
447
457
  },
448
458
  ariaLabel: {},
449
459
  ariaDescribedby: {},
450
- ariaLabelledby: {}
460
+ ariaLabelledby: {},
461
+ classNames: {},
462
+ styles: {}
451
463
  },
452
464
  setup(__props) {
453
- const { rootProps, slotProps, shouldRenderContent } = useTabsContent(__props);
465
+ const props = __props;
466
+ const { rootProps: internalRootProps, slotProps, shouldRenderContent } = useTabsContent(props);
467
+ const { getRootAttrs } = useStylesApi(props, "root");
468
+ const rootAttrs = computed(() => getRootAttrs(internalRootProps.value));
454
469
  return createIf(() => unref(shouldRenderContent), () => {
455
470
  const n3 = t0$2();
456
- renderEffect(() => setDynamicProps(n3, [unref(rootProps)]));
471
+ renderEffect(() => setDynamicProps(n3, [rootAttrs.value]));
457
472
  setInsertionState(n3, null, 0);
458
473
  createSlot("default", { $: [() => unref(slotProps)] }, null, 1);
459
474
  return n3;
460
475
  });
461
476
  }
462
- }), [["__scopeId", "data-v-3ff419c3"]]);
477
+ }), [["__scopeId", "data-v-7206185c"]]);
463
478
  //#endregion
464
479
  //#region src/components/tabs/tabs-list.vue?vue&type=script&setup=true&vapor=true&lang.ts
465
- var t0$1 = template("<div data-v-7f168d05>", 1);
480
+ var t0$1 = template("<div data-v-5016edc1>", 1);
466
481
  //#endregion
467
482
  //#region src/components/tabs/tabs-list.vue
468
483
  var tabs_list_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
469
484
  name: "RpTabsList",
485
+ inheritAttrs: false,
470
486
  __name: "tabs-list",
471
487
  props: {
472
488
  id: {},
473
489
  ariaLabel: {},
474
490
  ariaDescribedby: {},
475
- ariaLabelledby: {}
491
+ ariaLabelledby: {},
492
+ classNames: {},
493
+ styles: {}
476
494
  },
477
495
  setup(__props) {
478
- const { rootProps, slotProps } = useTabsList(__props);
496
+ const props = __props;
497
+ const { rootProps: internalRootProps, slotProps } = useTabsList(props);
498
+ const { getRootAttrs } = useStylesApi(props, "root");
499
+ const rootAttrs = computed(() => getRootAttrs({
500
+ ...internalRootProps.value,
501
+ "data-disabled": presence(internalRootProps.value["data-disabled"])
502
+ }));
479
503
  const n1 = t0$1();
480
- renderEffect(() => setDynamicProps(n1, [unref(rootProps)]));
504
+ renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
481
505
  setInsertionState(n1, null, 0);
482
506
  createSlot("default", { $: [() => unref(slotProps)] }, null, 1);
483
507
  return n1;
484
508
  }
485
- }), [["__scopeId", "data-v-7f168d05"]]);
509
+ }), [["__scopeId", "data-v-5016edc1"]]);
486
510
  //#endregion
487
511
  //#region src/components/tabs/tabs-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
488
- var t0 = template("<button data-v-4adec360>", 1);
512
+ var t0 = template("<button data-v-6df68725>", 1);
489
513
  //#endregion
490
514
  //#region src/components/tabs/tabs-trigger.vue
491
515
  var tabs_trigger_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
492
516
  name: "RpTabsTrigger",
517
+ inheritAttrs: false,
493
518
  __name: "tabs-trigger",
494
519
  props: {
495
520
  id: {},
@@ -498,16 +523,30 @@ var tabs_trigger_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
498
523
  type: Boolean,
499
524
  default: false
500
525
  },
501
- align: {}
526
+ align: {},
527
+ classNames: {},
528
+ styles: {}
502
529
  },
503
530
  setup(__props) {
504
- const { rootProps, slotProps } = useTabsTrigger(__props);
531
+ const props = __props;
532
+ const { rootProps: internalRootProps, slotProps } = useTabsTrigger(props);
533
+ const { getRootAttrs } = useStylesApi(props, "root");
534
+ const rootAttrs = computed(() => getRootAttrs({
535
+ ...internalRootProps.value,
536
+ "data-disabled": presence(internalRootProps.value["data-disabled"])
537
+ }));
505
538
  const n1 = t0();
506
- renderEffect(() => setDynamicProps(n1, [unref(rootProps)]));
539
+ renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
507
540
  setInsertionState(n1, null, 0);
508
541
  createSlot("default", { $: [() => unref(slotProps)] }, null, 1);
509
542
  return n1;
510
543
  }
511
- }), [["__scopeId", "data-v-4adec360"]]);
544
+ }), [["__scopeId", "data-v-6df68725"]]);
545
+ //#endregion
546
+ //#region src/components/tabs/types.ts
547
+ var tabsParts = ["root"];
548
+ var tabsListParts = ["root"];
549
+ var tabsTriggerParts = ["root"];
550
+ var tabsContentParts = ["root"];
512
551
  //#endregion
513
- export { useTabs as a, useTabsTrigger as c, tabs_default as i, tabs_list_default as n, useTabsContent as o, tabs_content_default as r, useTabsList as s, tabs_trigger_default as t };
552
+ export { tabs_trigger_default as a, tabs_default as c, useTabsList as d, useTabsTrigger as f, tabsTriggerParts as i, useTabs as l, tabsListParts as n, tabs_list_default as o, tabsParts as r, tabs_content_default as s, tabsContentParts as t, useTabsContent as u };
@@ -0,0 +1,15 @@
1
+ import { t as provideTeleportTarget } from "./useTeleportTarget.js";
2
+ import { createSlot, defineVaporComponent } from "vue";
3
+ //#endregion
4
+ //#region src/components/teleport-provider/teleport-provider.vue
5
+ var teleport_provider_default = /* @__PURE__ */ defineVaporComponent({
6
+ name: "RpTeleportProvider",
7
+ __name: "teleport-provider",
8
+ props: { teleportTo: {} },
9
+ setup(__props) {
10
+ provideTeleportTarget(__props);
11
+ return createSlot();
12
+ }
13
+ });
14
+ //#endregion
15
+ export { teleport_provider_default as t };
package/dist/textarea.css CHANGED
@@ -1,131 +1,133 @@
1
- .rp-textarea[data-v-6c62dc31] {
2
- --_rp-textarea-padding-y: 7px;
3
- --_rp-textarea-padding-x: calc(var(--rp-size-control-md) / 3);
4
- --_rp-textarea-font-size: var(--rp-font-size-md);
5
- --_rp-textarea-radius: var(--rp-radius-sm);
6
- --_rp-textarea-valid-border: var(--rp-color-green-outline);
7
- --_rp-textarea-valid-ring: color-mix(in srgb, var(--rp-color-green-filled) 32%, transparent);
8
- --_rp-textarea-invalid-border: var(--rp-color-red-filled);
9
- --_rp-textarea-invalid-ring: color-mix(in srgb, var(--rp-color-red-filled) 32%, transparent);
10
- display: inline-flex;
11
- box-sizing: border-box;
12
- font-family: var(--rp-font-family);
13
- font-weight: var(--rp-font-weight-normal);
14
- background-color: var(--rp-color-control-bg);
15
- border: var(--rp-border-width-thin) solid var(--rp-color-control-border);
16
- cursor: text;
17
- transition: border-color var(--rp-transition-fast), box-shadow var(--rp-transition-fast);
18
- }
19
- .rp-textarea[data-v-6c62dc31]:hover:not(.rp-textarea--disabled):not(.rp-textarea--invalid):not(.rp-textarea--valid) {
20
- border-color: var(--rp-color-control-border-hover);
21
- }
22
- .rp-textarea[data-v-6c62dc31]:focus-within:not(.rp-textarea--disabled):not(.rp-textarea--invalid):not(.rp-textarea--valid) {
23
- border-color: var(--rp-color-control-border-focus);
24
- box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
25
- }
26
- .rp-textarea[data-v-6c62dc31] {
27
- font-size: var(--_rp-textarea-font-size);
28
- border-radius: var(--_rp-textarea-radius);
29
- }
30
- .rp-textarea--size-xs[data-v-6c62dc31] {
31
- --_rp-textarea-padding-y: 4.5px;
32
- --_rp-textarea-padding-x: calc(var(--rp-size-control-xs) / 3);
33
- --_rp-textarea-font-size: var(--rp-font-size-xs);
34
- }
35
- .rp-textarea--size-sm[data-v-6c62dc31] {
36
- --_rp-textarea-padding-y: 5.5px;
37
- --_rp-textarea-padding-x: calc(var(--rp-size-control-sm) / 3);
38
- --_rp-textarea-font-size: var(--rp-font-size-sm);
39
- }
40
- .rp-textarea--size-md[data-v-6c62dc31] {
41
- --_rp-textarea-padding-y: 7px;
42
- --_rp-textarea-padding-x: calc(var(--rp-size-control-md) / 3);
43
- --_rp-textarea-font-size: var(--rp-font-size-md);
44
- }
45
- .rp-textarea--size-lg[data-v-6c62dc31] {
46
- --_rp-textarea-padding-y: 9.5px;
47
- --_rp-textarea-padding-x: calc(var(--rp-size-control-lg) / 3);
48
- --_rp-textarea-font-size: var(--rp-font-size-lg);
49
- }
50
- .rp-textarea--size-xl[data-v-6c62dc31] {
51
- --_rp-textarea-padding-y: 13px;
52
- --_rp-textarea-padding-x: calc(var(--rp-size-control-xl) / 3);
53
- --_rp-textarea-font-size: var(--rp-font-size-xl);
54
- }
55
- .rp-textarea--radius-xs[data-v-6c62dc31] {
56
- --_rp-textarea-radius: var(--rp-radius-xs);
57
- }
58
- .rp-textarea--radius-sm[data-v-6c62dc31] {
59
- --_rp-textarea-radius: var(--rp-radius-sm);
60
- }
61
- .rp-textarea--radius-md[data-v-6c62dc31] {
62
- --_rp-textarea-radius: var(--rp-radius-md);
63
- }
64
- .rp-textarea--radius-lg[data-v-6c62dc31] {
65
- --_rp-textarea-radius: var(--rp-radius-lg);
66
- }
67
- .rp-textarea--radius-xl[data-v-6c62dc31] {
68
- --_rp-textarea-radius: var(--rp-radius-xl);
69
- }
70
- html.dark .rp-textarea[data-v-6c62dc31], [data-rp-color-scheme=dark] .rp-textarea[data-v-6c62dc31] {
71
- --_rp-textarea-valid-border: var(--rp-color-green-light-color);
72
- --_rp-textarea-valid-ring: color-mix(
73
- in srgb,
74
- var(--rp-color-green-light-color) 32%,
75
- transparent
76
- );
77
- --_rp-textarea-invalid-border: var(--rp-color-red-light-color);
78
- --_rp-textarea-invalid-ring: color-mix(
79
- in srgb,
80
- var(--rp-color-red-light-color) 32%,
81
- transparent
82
- );
83
- }
84
- .rp-textarea--disabled[data-v-6c62dc31] {
85
- opacity: var(--rp-opacity-disabled);
86
- cursor: not-allowed;
87
- }
88
- .rp-textarea--valid[data-v-6c62dc31] {
89
- border-color: var(--_rp-textarea-valid-border);
90
- }
91
- .rp-textarea--valid[data-v-6c62dc31]:focus-within:not(.rp-textarea--disabled) {
92
- border-color: var(--_rp-textarea-valid-border);
93
- box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-textarea-valid-ring);
94
- }
95
- .rp-textarea--invalid[data-v-6c62dc31] {
96
- border-color: var(--_rp-textarea-invalid-border);
97
- }
98
- .rp-textarea--invalid[data-v-6c62dc31]:focus-within:not(.rp-textarea--disabled) {
99
- border-color: var(--_rp-textarea-invalid-border);
100
- box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-textarea-invalid-ring);
101
- }
102
- .rp-textarea--readonly[data-v-6c62dc31] {
103
- background-color: var(--rp-color-control-readonly-bg);
104
- }
105
- .rp-textarea--resize-vertical .rp-textarea__native[data-v-6c62dc31] {
106
- resize: vertical;
107
- }
108
- .rp-textarea--resize-both .rp-textarea__native[data-v-6c62dc31] {
109
- resize: both;
110
- }
111
- .rp-textarea__native[data-v-6c62dc31] {
112
- box-sizing: border-box;
113
- flex: 1;
114
- width: 100%;
115
- min-width: 0;
116
- min-height: calc(1lh + var(--_rp-textarea-padding-y) + var(--_rp-textarea-padding-y));
117
- padding: var(--_rp-textarea-padding-y) var(--_rp-textarea-padding-x);
118
- border: none;
119
- outline: none;
120
- resize: none;
121
- background: transparent;
122
- font: inherit;
123
- color: var(--rp-color-control-fg);
124
- line-height: var(--rp-line-height-md);
125
- }
126
- .rp-textarea__native[data-v-6c62dc31]::placeholder {
127
- color: var(--rp-color-control-placeholder);
128
- }
129
- .rp-textarea__native[data-v-6c62dc31]:disabled {
130
- cursor: not-allowed;
1
+ @layer ropav.components {
2
+ .rp-textarea[data-v-f2ee1457] {
3
+ --_rp-textarea-padding-y: 7px;
4
+ --_rp-textarea-padding-x: calc(var(--rp-size-control-md) / 3);
5
+ --_rp-textarea-font-size: var(--rp-font-size-md);
6
+ --_rp-textarea-radius: var(--rp-radius-sm);
7
+ --_rp-textarea-valid-border: var(--rp-color-green-outline);
8
+ --_rp-textarea-valid-ring: color-mix(in srgb, var(--rp-color-green-filled) 32%, transparent);
9
+ --_rp-textarea-invalid-border: var(--rp-color-red-filled);
10
+ --_rp-textarea-invalid-ring: color-mix(in srgb, var(--rp-color-red-filled) 32%, transparent);
11
+ display: inline-flex;
12
+ box-sizing: border-box;
13
+ font-family: var(--rp-font-family);
14
+ font-weight: var(--rp-font-weight-normal);
15
+ background-color: var(--rp-color-control-bg);
16
+ border: var(--rp-border-width-thin) solid var(--rp-color-control-border);
17
+ cursor: text;
18
+ transition: border-color var(--rp-transition-fast), box-shadow var(--rp-transition-fast);
19
+ }
20
+ .rp-textarea[data-v-f2ee1457]:hover:not(.rp-textarea--disabled):not(.rp-textarea--invalid):not(.rp-textarea--valid) {
21
+ border-color: var(--rp-color-control-border-hover);
22
+ }
23
+ .rp-textarea[data-v-f2ee1457]:focus-within:not(.rp-textarea--disabled):not(.rp-textarea--invalid):not(.rp-textarea--valid) {
24
+ border-color: var(--rp-color-control-border-focus);
25
+ box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
26
+ }
27
+ .rp-textarea[data-v-f2ee1457] {
28
+ font-size: var(--_rp-textarea-font-size);
29
+ border-radius: var(--_rp-textarea-radius);
30
+ }
31
+ .rp-textarea--size-xs[data-v-f2ee1457] {
32
+ --_rp-textarea-padding-y: 4.5px;
33
+ --_rp-textarea-padding-x: calc(var(--rp-size-control-xs) / 3);
34
+ --_rp-textarea-font-size: var(--rp-font-size-xs);
35
+ }
36
+ .rp-textarea--size-sm[data-v-f2ee1457] {
37
+ --_rp-textarea-padding-y: 5.5px;
38
+ --_rp-textarea-padding-x: calc(var(--rp-size-control-sm) / 3);
39
+ --_rp-textarea-font-size: var(--rp-font-size-sm);
40
+ }
41
+ .rp-textarea--size-md[data-v-f2ee1457] {
42
+ --_rp-textarea-padding-y: 7px;
43
+ --_rp-textarea-padding-x: calc(var(--rp-size-control-md) / 3);
44
+ --_rp-textarea-font-size: var(--rp-font-size-md);
45
+ }
46
+ .rp-textarea--size-lg[data-v-f2ee1457] {
47
+ --_rp-textarea-padding-y: 9.5px;
48
+ --_rp-textarea-padding-x: calc(var(--rp-size-control-lg) / 3);
49
+ --_rp-textarea-font-size: var(--rp-font-size-lg);
50
+ }
51
+ .rp-textarea--size-xl[data-v-f2ee1457] {
52
+ --_rp-textarea-padding-y: 13px;
53
+ --_rp-textarea-padding-x: calc(var(--rp-size-control-xl) / 3);
54
+ --_rp-textarea-font-size: var(--rp-font-size-xl);
55
+ }
56
+ .rp-textarea--radius-xs[data-v-f2ee1457] {
57
+ --_rp-textarea-radius: var(--rp-radius-xs);
58
+ }
59
+ .rp-textarea--radius-sm[data-v-f2ee1457] {
60
+ --_rp-textarea-radius: var(--rp-radius-sm);
61
+ }
62
+ .rp-textarea--radius-md[data-v-f2ee1457] {
63
+ --_rp-textarea-radius: var(--rp-radius-md);
64
+ }
65
+ .rp-textarea--radius-lg[data-v-f2ee1457] {
66
+ --_rp-textarea-radius: var(--rp-radius-lg);
67
+ }
68
+ .rp-textarea--radius-xl[data-v-f2ee1457] {
69
+ --_rp-textarea-radius: var(--rp-radius-xl);
70
+ }
71
+ html.dark .rp-textarea[data-v-f2ee1457], [data-rp-color-scheme=dark] .rp-textarea[data-v-f2ee1457] {
72
+ --_rp-textarea-valid-border: var(--rp-color-green-light-color);
73
+ --_rp-textarea-valid-ring: color-mix(
74
+ in srgb,
75
+ var(--rp-color-green-light-color) 32%,
76
+ transparent
77
+ );
78
+ --_rp-textarea-invalid-border: var(--rp-color-red-light-color);
79
+ --_rp-textarea-invalid-ring: color-mix(
80
+ in srgb,
81
+ var(--rp-color-red-light-color) 32%,
82
+ transparent
83
+ );
84
+ }
85
+ .rp-textarea--disabled[data-v-f2ee1457] {
86
+ opacity: var(--rp-opacity-disabled);
87
+ cursor: not-allowed;
88
+ }
89
+ .rp-textarea--valid[data-v-f2ee1457] {
90
+ border-color: var(--_rp-textarea-valid-border);
91
+ }
92
+ .rp-textarea--valid[data-v-f2ee1457]:focus-within:not(.rp-textarea--disabled) {
93
+ border-color: var(--_rp-textarea-valid-border);
94
+ box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-textarea-valid-ring);
95
+ }
96
+ .rp-textarea--invalid[data-v-f2ee1457] {
97
+ border-color: var(--_rp-textarea-invalid-border);
98
+ }
99
+ .rp-textarea--invalid[data-v-f2ee1457]:focus-within:not(.rp-textarea--disabled) {
100
+ border-color: var(--_rp-textarea-invalid-border);
101
+ box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-textarea-invalid-ring);
102
+ }
103
+ .rp-textarea--readonly[data-v-f2ee1457] {
104
+ background-color: var(--rp-color-control-readonly-bg);
105
+ }
106
+ .rp-textarea--resize-vertical .rp-textarea__native[data-v-f2ee1457] {
107
+ resize: vertical;
108
+ }
109
+ .rp-textarea--resize-both .rp-textarea__native[data-v-f2ee1457] {
110
+ resize: both;
111
+ }
112
+ .rp-textarea__native[data-v-f2ee1457] {
113
+ box-sizing: border-box;
114
+ flex: 1;
115
+ width: 100%;
116
+ min-width: 0;
117
+ min-height: calc(1lh + var(--_rp-textarea-padding-y) + var(--_rp-textarea-padding-y));
118
+ padding: var(--_rp-textarea-padding-y) var(--_rp-textarea-padding-x);
119
+ border: none;
120
+ outline: none;
121
+ resize: none;
122
+ background: transparent;
123
+ font: inherit;
124
+ color: var(--rp-color-control-fg);
125
+ line-height: var(--rp-line-height-md);
126
+ }
127
+ .rp-textarea__native[data-v-f2ee1457]::placeholder {
128
+ color: var(--rp-color-control-placeholder);
129
+ }
130
+ .rp-textarea__native[data-v-f2ee1457]:disabled {
131
+ cursor: not-allowed;
132
+ }
131
133
  }
package/dist/textarea.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import './textarea.css';
2
2
  import { t as bem } from "./bem.js";
3
+ import { n as useStylesApi, t as presence } from "./styles-api.js";
3
4
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
5
+ import { a as useTextFormControl, o as useControllableValue } from "./useFormControl.js";
4
6
  import { t as useControlState } from "./useControlState.js";
5
- import { child, computed, createInvoker, createTemplateRefSetter, defineVaporComponent, delegateEvents, nextTick, onMounted, ref, renderEffect, setAttr, setClass, setProp, setValue, template, unref, watch } from "vue";
7
+ import { child, computed, defineVaporComponent, nextTick, onMounted, ref, renderEffect, setDynamicProps, setStaticTemplateRef, template, unref, watch } from "vue";
6
8
  //#region src/components/textarea/useTextarea.ts
7
9
  var MIN_ROWS = 1;
8
10
  var INTERACTIVE_SELECTOR = [
@@ -55,7 +57,7 @@ function resetTextareaHeight(textarea) {
55
57
  textarea.style.height = "";
56
58
  textarea.style.overflowY = "";
57
59
  }
58
- function useTextarea(props, emitUpdate) {
60
+ function useTextarea(props, emitUpdate, getValue = () => props.modelValue ?? "") {
59
61
  const textareaRef = ref(null);
60
62
  const control = useControlState(props);
61
63
  let heightSyncPending = false;
@@ -79,7 +81,7 @@ function useTextarea(props, emitUpdate) {
79
81
  readonly: props.readonly
80
82
  }));
81
83
  const autosizeWatchSource = computed(() => [
82
- props.modelValue,
84
+ getValue(),
83
85
  props.autosize,
84
86
  props.minRows,
85
87
  props.maxRows,
@@ -118,6 +120,9 @@ function useTextarea(props, emitUpdate) {
118
120
  if (target instanceof Element && isInteractiveElement(target)) return;
119
121
  textareaRef.value?.focus();
120
122
  }
123
+ function focus(options) {
124
+ textareaRef.value?.focus(options);
125
+ }
121
126
  onMounted(scheduleTextareaHeightSync);
122
127
  watch(autosizeWatchSource, scheduleTextareaHeightSync);
123
128
  return {
@@ -126,22 +131,25 @@ function useTextarea(props, emitUpdate) {
126
131
  rootClass,
127
132
  nativeRows,
128
133
  onInput,
129
- focusTextarea
134
+ focusTextarea,
135
+ focus
130
136
  };
131
137
  }
132
138
  //#endregion
133
139
  //#region src/components/textarea/textarea.vue?vue&type=script&setup=true&vapor=true&lang.ts
134
- var t0 = template("<div data-v-6c62dc31><textarea data-v-6c62dc31 class=rp-textarea__native>", 1);
135
- delegateEvents("input", "mousedown");
140
+ var t0 = template("<div data-v-f2ee1457><textarea data-v-f2ee1457>", 1);
136
141
  //#endregion
137
142
  //#region src/components/textarea/textarea.vue
138
143
  var textarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
139
144
  name: "RpTextarea",
145
+ inheritAttrs: false,
140
146
  __name: "textarea",
141
147
  props: {
142
148
  id: {},
143
149
  name: {},
144
- modelValue: {},
150
+ form: {},
151
+ modelValue: { default: void 0 },
152
+ defaultValue: { default: "" },
145
153
  size: {},
146
154
  radius: {},
147
155
  resize: { default: "none" },
@@ -175,41 +183,85 @@ var textarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
175
183
  },
176
184
  ariaLabel: {},
177
185
  describedby: {},
178
- labelledby: {}
186
+ labelledby: {},
187
+ inputAttrs: {},
188
+ validationMessage: {},
189
+ classNames: {},
190
+ styles: {}
179
191
  },
180
192
  emits: ["update:modelValue"],
181
- setup(__props, { emit: __emit }) {
193
+ setup(__props, { expose: __expose, emit: __emit }) {
182
194
  const props = __props;
183
195
  const emit = __emit;
184
- const { textareaRef, control, rootClass, nativeRows, onInput, focusTextarea } = useTextarea(props, (value) => {
185
- emit("update:modelValue", value);
196
+ const controllable = useControllableValue({
197
+ modelValue: () => props.modelValue,
198
+ defaultValue: () => props.defaultValue,
199
+ onChange: (value) => emit("update:modelValue", value)
200
+ });
201
+ const { textareaRef, control, rootClass, nativeRows, onInput, focusTextarea, focus } = useTextarea(props, (value) => controllable.setValue(value), () => controllable.value.value);
202
+ useTextFormControl(() => textareaRef.value, controllable, () => props.validationMessage);
203
+ const { getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
204
+ const rootAttrs = computed(() => getRootAttrs({
205
+ class: rootClass.value,
206
+ onMousedown: focusTextarea,
207
+ "data-disabled": presence(control.disabled),
208
+ "data-readonly": presence(props.readonly),
209
+ "data-invalid": presence(control.invalid)
210
+ }));
211
+ const nativeInputAttrs = computed(() => {
212
+ const { class: compatibilityClass, style: compatibilityStyle, onInput: compatibilityOnInput, ...attrs } = props.inputAttrs ?? {};
213
+ return {
214
+ ...attrs,
215
+ ...getPartAttrs("input", {
216
+ class: "rp-textarea__native",
217
+ compatibilityClass,
218
+ compatibilityStyle
219
+ }),
220
+ onInput(event) {
221
+ onInput(event);
222
+ compatibilityOnInput?.(event);
223
+ }
224
+ };
225
+ });
226
+ __expose({
227
+ nativeElement: textareaRef,
228
+ focus
186
229
  });
187
- const _setTemplateRef = createTemplateRefSetter();
188
230
  const n1 = t0();
189
231
  const n0 = child(n1);
190
- n0.$evtinput = createInvoker((e) => unref(onInput)(e));
191
- _setTemplateRef(n0, textareaRef, null, "textareaRef");
192
- n1.$evtmousedown = createInvoker((e) => unref(focusTextarea)(e));
232
+ setStaticTemplateRef(n0, textareaRef, null, "textareaRef");
193
233
  renderEffect(() => {
234
+ const _nativeInputAttrs = nativeInputAttrs.value;
194
235
  const _control = unref(control);
236
+ const _readonly = __props.readonly;
237
+ const _presence = unref(presence);
195
238
  const _control_required = _control.required;
196
- setClass(n1, unref(rootClass));
197
- setProp(n0, "id", _control.id);
198
- setProp(n0, "name", __props.name);
199
- setValue(n0, __props.modelValue);
200
- setProp(n0, "placeholder", __props.placeholder);
201
- setProp(n0, "rows", unref(nativeRows));
202
- setProp(n0, "disabled", _control.disabled || void 0);
203
- setProp(n0, "readonly", __props.readonly || void 0);
204
- setProp(n0, "required", _control_required || void 0);
205
- setAttr(n0, "aria-label", __props.ariaLabel || void 0);
206
- setAttr(n0, "aria-labelledby", _control.ariaLabelledby);
207
- setAttr(n0, "aria-describedby", _control.ariaDescribedby);
208
- setAttr(n0, "aria-invalid", _control.invalid || void 0);
209
- setAttr(n0, "aria-required", _control_required || void 0);
239
+ setDynamicProps(n1, [rootAttrs.value]);
240
+ setDynamicProps(n0, [_nativeInputAttrs, {
241
+ id: _control.id,
242
+ name: __props.name,
243
+ form: _control.form ?? _nativeInputAttrs.form,
244
+ value: unref(controllable).value.value,
245
+ placeholder: __props.placeholder,
246
+ rows: unref(nativeRows),
247
+ disabled: _control.disabled || void 0,
248
+ readonly: _readonly || void 0,
249
+ required: _control_required || void 0,
250
+ "aria-label": __props.ariaLabel || void 0,
251
+ "aria-labelledby": _control.ariaLabelledby,
252
+ "aria-describedby": _control.ariaDescribedby,
253
+ "aria-invalid": _control.invalid || void 0,
254
+ "aria-required": _control_required || void 0,
255
+ "data-disabled": _presence(_control.disabled),
256
+ "data-readonly": _presence(_readonly),
257
+ "data-invalid": _presence(_control.invalid)
258
+ }]);
210
259
  });
211
260
  return n1;
212
261
  }
213
- }), [["__scopeId", "data-v-6c62dc31"]]);
262
+ }), [["__scopeId", "data-v-f2ee1457"]]);
263
+ //#endregion
264
+ //#region src/components/textarea/types.ts
265
+ var textareaParts = ["root", "input"];
214
266
  //#endregion
215
- export { textarea_default as t };
267
+ export { textarea_default as n, textareaParts as t };