@onereach/ui-components 13.2.3-beta.4661.0 → 13.2.3-beta.4665.0

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 (50) hide show
  1. package/dist/bundled/v2/components/OrRangeSliderV3/OrRangeSlider.js +1 -2
  2. package/dist/bundled/v2/components/OrSliderV3/OrSlider.js +1 -2
  3. package/dist/bundled/v2/components/OrTextareaV3/OrTextarea.js +30 -13
  4. package/dist/bundled/v2/components/OrTextareaV3/OrTextarea.vue.d.ts +15 -8
  5. package/dist/bundled/v2/components/OrTextareaV3/styles.js +2 -4
  6. package/dist/bundled/v2/components/OrTextareaV3/types.d.ts +4 -0
  7. package/dist/bundled/v2/index.js +1 -1
  8. package/dist/bundled/v3/components/OrRangeSliderV3/OrRangeSlider.js +1 -1
  9. package/dist/bundled/v3/components/OrRangeSliderV3/index.js +1 -1
  10. package/dist/bundled/v3/components/OrRangeSliderV3/styles.js +2 -2
  11. package/dist/bundled/v3/components/{OrRangeSliderV3-facf6cc0.js → OrRangeSliderV3-f12b32d8.js} +2 -3
  12. package/dist/bundled/v3/components/OrSliderV3/OrSlider.js +1 -1
  13. package/dist/bundled/v3/components/OrSliderV3/index.js +1 -1
  14. package/dist/bundled/v3/components/OrSliderV3/styles.js +1 -1
  15. package/dist/bundled/v3/components/{OrSliderV3-b957c173.js → OrSliderV3-84949774.js} +1 -2
  16. package/dist/bundled/v3/components/OrTextareaV3/OrTextarea.js +1 -1
  17. package/dist/bundled/v3/components/OrTextareaV3/OrTextarea.vue.d.ts +15 -8
  18. package/dist/bundled/v3/components/OrTextareaV3/index.js +1 -1
  19. package/dist/bundled/v3/components/OrTextareaV3/styles.js +1 -1
  20. package/dist/bundled/v3/components/OrTextareaV3/types.d.ts +4 -0
  21. package/dist/bundled/v3/components/{OrTextareaV3-b142dda2.js → OrTextareaV3-12467615.js} +31 -16
  22. package/dist/bundled/v3/components/index.js +3 -3
  23. package/dist/bundled/v3/index.js +4 -4
  24. package/dist/esm/v2/{OrRangeSlider-d8d0a2f5.js → OrRangeSlider-58dad70b.js} +2 -3
  25. package/dist/esm/v2/{OrSlider-3d8de563.js → OrSlider-6a373c9b.js} +1 -1
  26. package/dist/esm/v2/{OrSlider.vue_rollup-plugin-vue_script-d5250220.js → OrSlider.vue_rollup-plugin-vue_script-b29efe08.js} +1 -2
  27. package/dist/esm/v2/{OrTextarea-899e5220.js → OrTextarea-ef4fd48a.js} +32 -17
  28. package/dist/esm/v2/components/index.js +4 -4
  29. package/dist/esm/v2/components/or-range-slider-v3/index.js +2 -2
  30. package/dist/esm/v2/components/or-slider-v3/index.js +2 -2
  31. package/dist/esm/v2/components/or-textarea-v3/OrTextarea.vue.d.ts +15 -8
  32. package/dist/esm/v2/components/or-textarea-v3/index.js +2 -1
  33. package/dist/esm/v2/components/or-textarea-v3/types.d.ts +4 -0
  34. package/dist/esm/v2/index.js +4 -4
  35. package/dist/esm/v3/{OrRangeSlider-c1ed0ba5.js → OrRangeSlider-2bcd90ef.js} +2 -3
  36. package/dist/esm/v3/{OrSlider-5c665987.js → OrSlider-45bd13d5.js} +1 -2
  37. package/dist/esm/v3/{OrTextarea-76c037a9.js → OrTextarea-f9cbc1c3.js} +31 -16
  38. package/dist/esm/v3/components/index.js +3 -3
  39. package/dist/esm/v3/components/or-range-slider-v3/index.js +2 -2
  40. package/dist/esm/v3/components/or-slider-v3/index.js +1 -1
  41. package/dist/esm/v3/components/or-textarea-v3/OrTextarea.vue.d.ts +15 -8
  42. package/dist/esm/v3/components/or-textarea-v3/index.js +2 -1
  43. package/dist/esm/v3/components/or-textarea-v3/types.d.ts +4 -0
  44. package/dist/esm/v3/index.js +3 -3
  45. package/package.json +1 -1
  46. package/src/components/or-range-slider-v3/OrRangeSlider.vue +0 -1
  47. package/src/components/or-slider-v3/OrSlider.vue +0 -1
  48. package/src/components/or-textarea-v3/OrTextarea.vue +33 -9
  49. package/src/components/or-textarea-v3/styles.ts +8 -5
  50. package/src/components/or-textarea-v3/types.ts +5 -0
@@ -5,7 +5,7 @@ import './dom-53c9635b.js';
5
5
  import { u as useProxyModelValue } from './useProxyModelValue-e18f251e.js';
6
6
  import '@onereach/styles/screens.json';
7
7
  import '@onereach/styles/tailwind.config.json';
8
- import { a as SliderOrientation, S as SliderColor } from './OrSlider.vue_rollup-plugin-vue_script-d5250220.js';
8
+ import { a as SliderOrientation, S as SliderColor } from './OrSlider.vue_rollup-plugin-vue_script-b29efe08.js';
9
9
  import { _ as __vue_component__$1 } from './OrTooltip-07c5992f.js';
10
10
  import { n as normalizeComponent } from './normalize-component-6e8e3d80.js';
11
11
 
@@ -294,8 +294,7 @@ var script = defineComponent({
294
294
  const filler = ref();
295
295
  const thumbFrom = ref();
296
296
  const thumbTo = ref();
297
- const thumbStyles = computed(() => ['or-range-slider-thumb-v3', ...RangeSliderThumb, ...RangeSliderThumbColors[props.color], 'touch-none' // Required for proper work on mobile
298
- ]);
297
+ const thumbStyles = computed(() => ['or-range-slider-thumb-v3', ...RangeSliderThumb, ...RangeSliderThumbColors[props.color]]);
299
298
  const breakpointMarkStyles = computed(() => [...RangeSliderBreakpointMark, ...RangeSliderBreakpointMarkColors[props.color]]);
300
299
  const labelStyles = computed(() => [...RangeSliderLabel, ...RangeSliderLabelOrientations[props.orientation]]);
301
300
  const labelMarkStyles = computed(() => [...RangeSliderLabelMark, ...RangeSliderLabelMarkOrientations[props.orientation]]);
@@ -1,4 +1,4 @@
1
- import { s as script } from './OrSlider.vue_rollup-plugin-vue_script-d5250220.js';
1
+ import { s as script } from './OrSlider.vue_rollup-plugin-vue_script-b29efe08.js';
2
2
  import { n as normalizeComponent } from './normalize-component-6e8e3d80.js';
3
3
 
4
4
  /* script */
@@ -271,8 +271,7 @@ var script = defineComponent({
271
271
  }
272
272
  });
273
273
  const thumb = ref();
274
- const thumbStyles = computed(() => ['or-slider-thumb-v3', ...SliderThumb, ...SliderThumbColors[props.color], 'touch-none' // Required for proper work on mobile
275
- ]);
274
+ const thumbStyles = computed(() => ['or-slider-thumb-v3', ...SliderThumb, ...SliderThumbColors[props.color]]);
276
275
  const breakpointMarkStyles = computed(() => [...SliderBreakpointMark, ...SliderBreakpointMarkColors[props.color]]);
277
276
  const labelStyles = computed(() => [...SliderLabel, ...SliderLabelOrientations[props.orientation]]);
278
277
  const labelMarkStyles = computed(() => [...SliderLabelMark, ...SliderLabelMarkOrientations[props.orientation]]);
@@ -3,6 +3,7 @@ import { defineComponent, reactive, ref, computed, toRef } from 'vue-demi';
3
3
  import { a as useIdAttribute, u as useControlAttributes } from './useIdAttribute-3a339b79.js';
4
4
  import './TimeFormat-a7f5565b.js';
5
5
  import './dom-53c9635b.js';
6
+ import { i as isObject } from './isObject-4d5300e9.js';
6
7
  import { u as useProxyModelValue } from './useProxyModelValue-e18f251e.js';
7
8
  import '@onereach/styles/screens.json';
8
9
  import '@onereach/styles/tailwind.config.json';
@@ -21,8 +22,6 @@ const Textarea = [
21
22
  // Spacing
22
23
  'gap-xs'];
23
24
  const TextareaControl = [
24
- // Interactivity
25
- 'resize-none',
26
25
  // Box
27
26
  'w-full',
28
27
  // Typography
@@ -32,10 +31,10 @@ const TextareaControl = [
32
31
  const TextareaControlSizes = {
33
32
  [InputBoxSize.M]: [
34
33
  // Spacing
35
- 'pt-sm+* md:pt-sm*'],
34
+ '!mx-0', 'px-md md:px-sm+', 'py-sm+* md:py-sm*'],
36
35
  [InputBoxSize.S]: [
37
36
  // Spacing
38
- 'pt-sm*']
37
+ '!mx-0', 'px-md md:px-sm+', 'py-sm*']
39
38
  };
40
39
 
41
40
  var script = defineComponent({
@@ -71,9 +70,9 @@ var script = defineComponent({
71
70
  type: String,
72
71
  default: () => InputBoxSize.M
73
72
  },
74
- maxHeight: {
75
- type: String,
76
- default: undefined
73
+ rows: {
74
+ type: [Number, Object],
75
+ default: 2
77
76
  },
78
77
  label: {
79
78
  type: String,
@@ -116,7 +115,19 @@ var script = defineComponent({
116
115
  const root = ref();
117
116
  const rootStyles = computed(() => ['or-textarea-v3', ...Textarea, ...(props.variant === InputBoxVariant.Embedded ? ['grow'] : [])]);
118
117
  const control = ref();
119
- const controlStyles = computed(() => [...TextareaControl, ...TextareaControlSizes[props.size]]);
118
+ const controlStyles = computed(() => [...TextareaControl, ...TextareaControlSizes[props.size], ...(isObject(props.rows) ? ['resize-none'] : [])]);
119
+ const controlInlineStyles = computed(() => {
120
+ if (control.value) {
121
+ const paddingTop = Number(getComputedStyle(control.value).getPropertyValue('padding-top').match(/^(?<value>\d+)px$/).groups.value);
122
+ const paddingBottom = Number(getComputedStyle(control.value).getPropertyValue('padding-bottom').match(/^(?<value>\d+)px$/).groups.value);
123
+ const lineHeight = Number(getComputedStyle(control.value).getPropertyValue('line-height').match(/^(?<value>\d+)px$/).groups.value);
124
+ return {
125
+ minHeight: `${paddingTop + paddingBottom + (isObject(props.rows) ? props.rows.min : props.rows) * lineHeight}px`,
126
+ maxHeight: isObject(props.rows) && props.rows.max ? `${paddingTop + paddingBottom + props.rows.max * lineHeight}px` : undefined
127
+ };
128
+ }
129
+ return {};
130
+ });
120
131
  // State
121
132
  const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {
122
133
  defaultValue: ref('')
@@ -138,16 +149,21 @@ var script = defineComponent({
138
149
  (_a = control.value) === null || _a === void 0 ? void 0 : _a.blur();
139
150
  }
140
151
  // Effects
141
- useTextareaAutosize({
142
- element: control,
143
- input: model
144
- });
152
+ if (isObject(props.rows)) {
153
+ // Unluckily, `useTextareaAutosize` doesn't have a teardown function
154
+ // So, dynamically changed `rows` won't have any effect
155
+ useTextareaAutosize({
156
+ element: control,
157
+ input: model
158
+ });
159
+ }
145
160
  return {
146
161
  attributes,
147
162
  root,
148
163
  rootStyles,
149
164
  control,
150
165
  controlStyles,
166
+ controlInlineStyles,
151
167
  model,
152
168
  length,
153
169
  maxLength,
@@ -157,7 +173,7 @@ var script = defineComponent({
157
173
  }
158
174
  });
159
175
 
160
- var css_248z = "textarea[data-v-5a0794ae]{min-width:0;background:0 0;outline:0}";
176
+ var css_248z = "textarea[data-v-7988e64b]{min-width:0;background:0 0;outline:0}";
161
177
  styleInject(css_248z);
162
178
 
163
179
  /* script */
@@ -206,11 +222,10 @@ var __vue_render__ = function () {
206
222
  }],
207
223
  ref: 'control',
208
224
  class: _vm.controlStyles,
209
- style: {
210
- maxHeight: _vm.maxHeight
211
- },
225
+ style: _vm.controlInlineStyles,
212
226
  attrs: {
213
227
  "name": _vm.name,
228
+ "rows": _vm.rows,
214
229
  "autocomplete": _vm.autocomplete,
215
230
  "placeholder": _vm.placeholder,
216
231
  "required": _vm.required,
@@ -287,7 +302,7 @@ var __vue_staticRenderFns__ = [];
287
302
  /* style */
288
303
  const __vue_inject_styles__ = undefined;
289
304
  /* scoped */
290
- const __vue_scope_id__ = "data-v-5a0794ae";
305
+ const __vue_scope_id__ = "data-v-7988e64b";
291
306
  /* module identifier */
292
307
  const __vue_module_identifier__ = undefined;
293
308
  /* functional template */
@@ -100,7 +100,7 @@ export { _ as OrRadio } from '../OrRadio-7077aacc.js';
100
100
  export { _ as OrRadioGroup } from '../OrRadioGroup-11424644.js';
101
101
  export { _ as OrRadioGroupV3 } from '../OrRadioGroup-ad1ffc12.js';
102
102
  export { _ as OrRadioV3 } from '../OrRadio-c866dfc1.js';
103
- export { _ as OrRangeSliderV3 } from '../OrRangeSlider-d8d0a2f5.js';
103
+ export { _ as OrRangeSliderV3 } from '../OrRangeSlider-58dad70b.js';
104
104
  export { _ as OrRatingV3, R as RatingVariant } from '../OrRating-7c968949.js';
105
105
  export { _ as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement } from '../OrResizeablePanel-4069d595.js';
106
106
  export { F as Formats, _ as OrRichTextEditorV3 } from '../OrRichTextEditor-71fb65c1.js';
@@ -120,8 +120,8 @@ export { _ as OrSkeletonCircleV3 } from '../OrSkeletonCircle-88272bb7.js';
120
120
  export { _ as OrSkeletonRectV3 } from '../OrSkeletonRect-c38eb161.js';
121
121
  export { _ as OrSkeletonTextV3 } from '../OrSkeletonText-b6e51e70.js';
122
122
  export { _ as OrSlider } from '../OrSlider-baad996a.js';
123
- export { _ as OrSliderV3 } from '../OrSlider-3d8de563.js';
124
- export { S as SliderColor, a as SliderOrientation } from '../OrSlider.vue_rollup-plugin-vue_script-d5250220.js';
123
+ export { _ as OrSliderV3 } from '../OrSlider-6a373c9b.js';
124
+ export { S as SliderColor, a as SliderOrientation } from '../OrSlider.vue_rollup-plugin-vue_script-b29efe08.js';
125
125
  export { _ as OrSortingV3 } from '../OrSorting-f71ae3b3.js';
126
126
  export { _ as OrStatusV3, a as StatusSize, S as StatusVariant } from '../OrStatus-9a6a42fa.js';
127
127
  export { _ as OrStepper } from '../OrStepper-582cd0d4.js';
@@ -140,7 +140,7 @@ export { _ as OrTeleport } from '../OrTeleport.vue2-f0c16c71.js';
140
140
  export { _ as OrTeleportV3 } from '../OrTeleport.vue2-424c7f33.js';
141
141
  export { _ as OrTextV3 } from '../OrText-cab6adea.js';
142
142
  export { _ as OrTextarea } from '../OrTextarea-62ad6213.js';
143
- export { _ as OrTextareaV3 } from '../OrTextarea-899e5220.js';
143
+ export { _ as OrTextareaV3 } from '../OrTextarea-ef4fd48a.js';
144
144
  export { _ as OrTextbox, T as TextboxTypes } from '../OrTextbox-45f6d684.js';
145
145
  export { _ as OrTimeFormatV3 } from '../OrTimeFormat-d43b747d.js';
146
146
  export { _ as OrTimePickerV3 } from '../OrTimePicker-3707cf6e.js';
@@ -1,4 +1,4 @@
1
- export { _ as OrRangeSliderV3 } from '../../OrRangeSlider-d8d0a2f5.js';
1
+ export { _ as OrRangeSliderV3 } from '../../OrRangeSlider-58dad70b.js';
2
2
  import '@vueuse/core';
3
3
  import 'vue-demi';
4
4
  import '../../TimeFormat-a7f5565b.js';
@@ -8,7 +8,7 @@ import 'lodash/isElement';
8
8
  import '../../useProxyModelValue-e18f251e.js';
9
9
  import '@onereach/styles/screens.json';
10
10
  import '@onereach/styles/tailwind.config.json';
11
- import '../../OrSlider.vue_rollup-plugin-vue_script-d5250220.js';
11
+ import '../../OrSlider.vue_rollup-plugin-vue_script-b29efe08.js';
12
12
  import '../../OrTooltip-07c5992f.js';
13
13
  import '../../usePopoverState-7267fa91.js';
14
14
  import '../../OrPopover-45e2dbce.js';
@@ -1,5 +1,5 @@
1
- export { _ as OrSliderV3 } from '../../OrSlider-3d8de563.js';
2
- export { S as SliderColor, a as SliderOrientation } from '../../OrSlider.vue_rollup-plugin-vue_script-d5250220.js';
1
+ export { _ as OrSliderV3 } from '../../OrSlider-6a373c9b.js';
2
+ export { S as SliderColor, a as SliderOrientation } from '../../OrSlider.vue_rollup-plugin-vue_script-b29efe08.js';
3
3
  import '../../normalize-component-6e8e3d80.js';
4
4
  import '@vueuse/core';
5
5
  import 'vue-demi';
@@ -1,6 +1,6 @@
1
1
  import { PropType } from 'vue-demi';
2
2
  import { InputBoxSize } from '../or-input-box-v3';
3
- import { TextareaModelValue } from './types';
3
+ import { TextareaModelValue, TextareaRows } from './types';
4
4
  declare const _default: import("vue-demi").DefineComponent<{
5
5
  modelValue: {
6
6
  type: PropType<TextareaModelValue>;
@@ -22,9 +22,9 @@ declare const _default: import("vue-demi").DefineComponent<{
22
22
  type: PropType<"m" | "s">;
23
23
  default: () => InputBoxSize;
24
24
  };
25
- maxHeight: {
26
- type: StringConstructor;
27
- default: undefined;
25
+ rows: {
26
+ type: PropType<TextareaRows>;
27
+ default: number;
28
28
  };
29
29
  label: {
30
30
  type: StringConstructor;
@@ -72,6 +72,13 @@ declare const _default: import("vue-demi").DefineComponent<{
72
72
  rootStyles: import("vue-demi").ComputedRef<string[]>;
73
73
  control: import("vue-demi").Ref<HTMLTextAreaElement | undefined>;
74
74
  controlStyles: import("vue-demi").ComputedRef<string[]>;
75
+ controlInlineStyles: import("vue-demi").ComputedRef<{
76
+ minHeight: string;
77
+ maxHeight: string | undefined;
78
+ } | {
79
+ minHeight?: undefined;
80
+ maxHeight?: undefined;
81
+ }>;
75
82
  model: import("../../hooks").UseProxyModelValueReturn<string>;
76
83
  length: import("vue-demi").ComputedRef<number>;
77
84
  maxLength: import("vue-demi").ComputedRef<number | undefined>;
@@ -98,9 +105,9 @@ declare const _default: import("vue-demi").DefineComponent<{
98
105
  type: PropType<"m" | "s">;
99
106
  default: () => InputBoxSize;
100
107
  };
101
- maxHeight: {
102
- type: StringConstructor;
103
- default: undefined;
108
+ rows: {
109
+ type: PropType<TextareaRows>;
110
+ default: number;
104
111
  };
105
112
  label: {
106
113
  type: StringConstructor;
@@ -143,7 +150,7 @@ declare const _default: import("vue-demi").DefineComponent<{
143
150
  autocomplete: string;
144
151
  variant: "styled" | "unstyled" | "embedded";
145
152
  size: "m" | "s";
146
- maxHeight: string;
153
+ rows: TextareaRows;
147
154
  label: string;
148
155
  placeholder: string;
149
156
  hint: string;
@@ -1,4 +1,4 @@
1
- export { _ as OrTextareaV3 } from '../../OrTextarea-899e5220.js';
1
+ export { _ as OrTextareaV3 } from '../../OrTextarea-ef4fd48a.js';
2
2
  import '@vueuse/core';
3
3
  import 'vue-demi';
4
4
  import '../../useIdAttribute-3a339b79.js';
@@ -6,6 +6,7 @@ import '../../TimeFormat-a7f5565b.js';
6
6
  import '../../dom-53c9635b.js';
7
7
  import 'lodash/get';
8
8
  import 'lodash/isElement';
9
+ import '../../isObject-4d5300e9.js';
9
10
  import '../../useProxyModelValue-e18f251e.js';
10
11
  import '@onereach/styles/screens.json';
11
12
  import '@onereach/styles/tailwind.config.json';
@@ -1,2 +1,6 @@
1
1
  import { ModelValue } from '../../types';
2
2
  export type TextareaModelValue = ModelValue<string>;
3
+ export type TextareaRows = number | {
4
+ min: number;
5
+ max?: number;
6
+ };
@@ -100,7 +100,7 @@ export { _ as OrRadio } from './OrRadio-7077aacc.js';
100
100
  export { _ as OrRadioGroup } from './OrRadioGroup-11424644.js';
101
101
  export { _ as OrRadioGroupV3 } from './OrRadioGroup-ad1ffc12.js';
102
102
  export { _ as OrRadioV3 } from './OrRadio-c866dfc1.js';
103
- export { _ as OrRangeSliderV3 } from './OrRangeSlider-d8d0a2f5.js';
103
+ export { _ as OrRangeSliderV3 } from './OrRangeSlider-58dad70b.js';
104
104
  export { _ as OrRatingV3, R as RatingVariant } from './OrRating-7c968949.js';
105
105
  export { _ as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement } from './OrResizeablePanel-4069d595.js';
106
106
  export { F as Formats, _ as OrRichTextEditorV3 } from './OrRichTextEditor-71fb65c1.js';
@@ -120,8 +120,8 @@ export { _ as OrSkeletonCircleV3 } from './OrSkeletonCircle-88272bb7.js';
120
120
  export { _ as OrSkeletonRectV3 } from './OrSkeletonRect-c38eb161.js';
121
121
  export { _ as OrSkeletonTextV3 } from './OrSkeletonText-b6e51e70.js';
122
122
  export { _ as OrSlider } from './OrSlider-baad996a.js';
123
- export { _ as OrSliderV3 } from './OrSlider-3d8de563.js';
124
- export { S as SliderColor, a as SliderOrientation } from './OrSlider.vue_rollup-plugin-vue_script-d5250220.js';
123
+ export { _ as OrSliderV3 } from './OrSlider-6a373c9b.js';
124
+ export { S as SliderColor, a as SliderOrientation } from './OrSlider.vue_rollup-plugin-vue_script-b29efe08.js';
125
125
  export { _ as OrSortingV3 } from './OrSorting-f71ae3b3.js';
126
126
  export { _ as OrStatusV3, a as StatusSize, S as StatusVariant } from './OrStatus-9a6a42fa.js';
127
127
  export { _ as OrStepper } from './OrStepper-582cd0d4.js';
@@ -140,7 +140,7 @@ export { _ as OrTeleport } from './OrTeleport.vue2-f0c16c71.js';
140
140
  export { _ as OrTeleportV3 } from './OrTeleport.vue2-424c7f33.js';
141
141
  export { _ as OrTextV3 } from './OrText-cab6adea.js';
142
142
  export { _ as OrTextarea } from './OrTextarea-62ad6213.js';
143
- export { _ as OrTextareaV3 } from './OrTextarea-899e5220.js';
143
+ export { _ as OrTextareaV3 } from './OrTextarea-ef4fd48a.js';
144
144
  export { _ as OrTextbox, T as TextboxTypes } from './OrTextbox-45f6d684.js';
145
145
  export { _ as OrTimeFormatV3 } from './OrTimeFormat-d43b747d.js';
146
146
  export { _ as OrTimePickerV3 } from './OrTimePicker-3707cf6e.js';
@@ -5,7 +5,7 @@ import './dom-53c9635b.js';
5
5
  import { u as useProxyModelValue } from './useProxyModelValue-e18f251e.js';
6
6
  import '@onereach/styles/screens.json';
7
7
  import '@onereach/styles/tailwind.config.json';
8
- import { a as SliderOrientation, S as SliderColor } from './OrSlider-5c665987.js';
8
+ import { a as SliderOrientation, S as SliderColor } from './OrSlider-45bd13d5.js';
9
9
  import { s as script$1 } from './OrTooltip-de856939.js';
10
10
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, createVNode, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, Fragment, renderList, createCommentVNode } from 'vue';
11
11
 
@@ -294,8 +294,7 @@ var script = defineComponent({
294
294
  const filler = ref();
295
295
  const thumbFrom = ref();
296
296
  const thumbTo = ref();
297
- const thumbStyles = computed(() => ['or-range-slider-thumb-v3', ...RangeSliderThumb, ...RangeSliderThumbColors[props.color], 'touch-none' // Required for proper work on mobile
298
- ]);
297
+ const thumbStyles = computed(() => ['or-range-slider-thumb-v3', ...RangeSliderThumb, ...RangeSliderThumbColors[props.color]]);
299
298
  const breakpointMarkStyles = computed(() => [...RangeSliderBreakpointMark, ...RangeSliderBreakpointMarkColors[props.color]]);
300
299
  const labelStyles = computed(() => [...RangeSliderLabel, ...RangeSliderLabelOrientations[props.orientation]]);
301
300
  const labelMarkStyles = computed(() => [...RangeSliderLabelMark, ...RangeSliderLabelMarkOrientations[props.orientation]]);
@@ -272,8 +272,7 @@ var script = defineComponent({
272
272
  }
273
273
  });
274
274
  const thumb = ref();
275
- const thumbStyles = computed(() => ['or-slider-thumb-v3', ...SliderThumb, ...SliderThumbColors[props.color], 'touch-none' // Required for proper work on mobile
276
- ]);
275
+ const thumbStyles = computed(() => ['or-slider-thumb-v3', ...SliderThumb, ...SliderThumbColors[props.color]]);
277
276
  const breakpointMarkStyles = computed(() => [...SliderBreakpointMark, ...SliderBreakpointMarkColors[props.color]]);
278
277
  const labelStyles = computed(() => [...SliderLabel, ...SliderLabelOrientations[props.orientation]]);
279
278
  const labelMarkStyles = computed(() => [...SliderLabelMark, ...SliderLabelMarkOrientations[props.orientation]]);
@@ -3,6 +3,7 @@ import { defineComponent, reactive, ref, computed, toRef } from 'vue-demi';
3
3
  import { a as useIdAttribute, u as useControlAttributes } from './useIdAttribute-3a339b79.js';
4
4
  import './TimeFormat-a7f5565b.js';
5
5
  import './dom-53c9635b.js';
6
+ import { i as isObject } from './isObject-4d5300e9.js';
6
7
  import { u as useProxyModelValue } from './useProxyModelValue-e18f251e.js';
7
8
  import '@onereach/styles/screens.json';
8
9
  import '@onereach/styles/tailwind.config.json';
@@ -20,8 +21,6 @@ const Textarea = [
20
21
  // Spacing
21
22
  'gap-xs'];
22
23
  const TextareaControl = [
23
- // Interactivity
24
- 'resize-none',
25
24
  // Box
26
25
  'w-full',
27
26
  // Typography
@@ -31,10 +30,10 @@ const TextareaControl = [
31
30
  const TextareaControlSizes = {
32
31
  [InputBoxSize.M]: [
33
32
  // Spacing
34
- 'pt-sm+* md:pt-sm*'],
33
+ '!mx-0', 'px-md md:px-sm+', 'py-sm+* md:py-sm*'],
35
34
  [InputBoxSize.S]: [
36
35
  // Spacing
37
- 'pt-sm*']
36
+ '!mx-0', 'px-md md:px-sm+', 'py-sm*']
38
37
  };
39
38
 
40
39
  var script = defineComponent({
@@ -70,9 +69,9 @@ var script = defineComponent({
70
69
  type: String,
71
70
  default: () => InputBoxSize.M
72
71
  },
73
- maxHeight: {
74
- type: String,
75
- default: undefined
72
+ rows: {
73
+ type: [Number, Object],
74
+ default: 2
76
75
  },
77
76
  label: {
78
77
  type: String,
@@ -115,7 +114,19 @@ var script = defineComponent({
115
114
  const root = ref();
116
115
  const rootStyles = computed(() => ['or-textarea-v3', ...Textarea, ...(props.variant === InputBoxVariant.Embedded ? ['grow'] : [])]);
117
116
  const control = ref();
118
- const controlStyles = computed(() => [...TextareaControl, ...TextareaControlSizes[props.size]]);
117
+ const controlStyles = computed(() => [...TextareaControl, ...TextareaControlSizes[props.size], ...(isObject(props.rows) ? ['resize-none'] : [])]);
118
+ const controlInlineStyles = computed(() => {
119
+ if (control.value) {
120
+ const paddingTop = Number(getComputedStyle(control.value).getPropertyValue('padding-top').match(/^(?<value>\d+)px$/).groups.value);
121
+ const paddingBottom = Number(getComputedStyle(control.value).getPropertyValue('padding-bottom').match(/^(?<value>\d+)px$/).groups.value);
122
+ const lineHeight = Number(getComputedStyle(control.value).getPropertyValue('line-height').match(/^(?<value>\d+)px$/).groups.value);
123
+ return {
124
+ minHeight: `${paddingTop + paddingBottom + (isObject(props.rows) ? props.rows.min : props.rows) * lineHeight}px`,
125
+ maxHeight: isObject(props.rows) && props.rows.max ? `${paddingTop + paddingBottom + props.rows.max * lineHeight}px` : undefined
126
+ };
127
+ }
128
+ return {};
129
+ });
119
130
  // State
120
131
  const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {
121
132
  defaultValue: ref('')
@@ -137,16 +148,21 @@ var script = defineComponent({
137
148
  (_a = control.value) === null || _a === void 0 ? void 0 : _a.blur();
138
149
  }
139
150
  // Effects
140
- useTextareaAutosize({
141
- element: control,
142
- input: model
143
- });
151
+ if (isObject(props.rows)) {
152
+ // Unluckily, `useTextareaAutosize` doesn't have a teardown function
153
+ // So, dynamically changed `rows` won't have any effect
154
+ useTextareaAutosize({
155
+ element: control,
156
+ input: model
157
+ });
158
+ }
144
159
  return {
145
160
  attributes,
146
161
  root,
147
162
  rootStyles,
148
163
  control,
149
164
  controlStyles,
165
+ controlInlineStyles,
150
166
  model,
151
167
  length,
152
168
  maxLength,
@@ -156,7 +172,7 @@ var script = defineComponent({
156
172
  }
157
173
  });
158
174
 
159
- const _hoisted_1 = ["name", "autocomplete", "placeholder", "required", "readonly", "disabled"];
175
+ const _hoisted_1 = ["name", "rows", "autocomplete", "placeholder", "required", "readonly", "disabled"];
160
176
  function render(_ctx, _cache, $props, $setup, $data, $options) {
161
177
  const _component_OrLabel = resolveComponent("OrLabel");
162
178
  const _component_OrInputBox = resolveComponent("OrInputBox");
@@ -187,10 +203,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
187
203
  }, _ctx.attributes, {
188
204
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.model = $event),
189
205
  class: _ctx.controlStyles,
190
- style: {
191
- maxHeight: _ctx.maxHeight
192
- },
206
+ style: _ctx.controlInlineStyles,
193
207
  name: _ctx.name,
208
+ rows: _ctx.rows,
194
209
  autocomplete: _ctx.autocomplete,
195
210
  placeholder: _ctx.placeholder,
196
211
  required: _ctx.required,
@@ -97,7 +97,7 @@ export { s as OrRadio } from '../OrRadio-8506e7d9.js';
97
97
  export { s as OrRadioGroup } from '../OrRadioGroup-00785e41.js';
98
98
  export { s as OrRadioGroupV3 } from '../OrRadioGroup-1a0fe40f.js';
99
99
  export { s as OrRadioV3 } from '../OrRadio-8677bac3.js';
100
- export { s as OrRangeSliderV3 } from '../OrRangeSlider-c1ed0ba5.js';
100
+ export { s as OrRangeSliderV3 } from '../OrRangeSlider-2bcd90ef.js';
101
101
  export { s as OrRatingV3, R as RatingVariant } from '../OrRating-7c2f8e4d.js';
102
102
  export { s as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement } from '../OrResizeablePanel-1d0c171b.js';
103
103
  export { F as Formats, s as OrRichTextEditorV3 } from '../OrRichTextEditor-f1d7597b.js';
@@ -117,7 +117,7 @@ export { s as OrSkeletonCircleV3 } from '../OrSkeletonCircle-a3eb5f53.js';
117
117
  export { s as OrSkeletonRectV3 } from '../OrSkeletonRect-d0b8b2cf.js';
118
118
  export { s as OrSkeletonTextV3 } from '../OrSkeletonText-5e9579c1.js';
119
119
  export { s as OrSlider } from '../OrSlider-d6f94501.js';
120
- export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../OrSlider-5c665987.js';
120
+ export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../OrSlider-45bd13d5.js';
121
121
  export { s as OrSortingV3 } from '../OrSorting-9744f44c.js';
122
122
  export { s as OrStatusV3, a as StatusSize, S as StatusVariant } from '../OrStatus-29df22e1.js';
123
123
  export { s as OrStepper } from '../OrStepper-8722709f.js';
@@ -136,7 +136,7 @@ export { s as OrTeleport } from '../OrTeleport.vue3-9bce0c02.js';
136
136
  export { s as OrTeleportV3 } from '../OrTeleport.vue3-8099178c.js';
137
137
  export { s as OrTextV3 } from '../OrText-ea114c19.js';
138
138
  export { s as OrTextarea } from '../OrTextarea-b16e1a72.js';
139
- export { s as OrTextareaV3 } from '../OrTextarea-76c037a9.js';
139
+ export { s as OrTextareaV3 } from '../OrTextarea-f9cbc1c3.js';
140
140
  export { s as OrTextbox, T as TextboxTypes } from '../OrTextbox-20cc3bac.js';
141
141
  export { s as OrTimeFormatV3 } from '../OrTimeFormat-bdce02db.js';
142
142
  export { s as OrTimePickerV3 } from '../OrTimePicker-d17e6f65.js';
@@ -1,4 +1,4 @@
1
- export { s as OrRangeSliderV3 } from '../../OrRangeSlider-c1ed0ba5.js';
1
+ export { s as OrRangeSliderV3 } from '../../OrRangeSlider-2bcd90ef.js';
2
2
  import '@vueuse/core';
3
3
  import 'vue-demi';
4
4
  import '../../TimeFormat-a7f5565b.js';
@@ -8,7 +8,7 @@ import 'lodash/isElement';
8
8
  import '../../useProxyModelValue-e18f251e.js';
9
9
  import '@onereach/styles/screens.json';
10
10
  import '@onereach/styles/tailwind.config.json';
11
- import '../../OrSlider-5c665987.js';
11
+ import '../../OrSlider-45bd13d5.js';
12
12
  import '../../OrTooltip-de856939.js';
13
13
  import '../../usePopoverState-7267fa91.js';
14
14
  import '../../OrPopover-0daeba14.js';
@@ -1,4 +1,4 @@
1
- export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../../OrSlider-5c665987.js';
1
+ export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../../OrSlider-45bd13d5.js';
2
2
  import '@vueuse/core';
3
3
  import 'vue-demi';
4
4
  import '../../TimeFormat-a7f5565b.js';
@@ -1,6 +1,6 @@
1
1
  import { PropType } from 'vue-demi';
2
2
  import { InputBoxSize } from '../or-input-box-v3';
3
- import { TextareaModelValue } from './types';
3
+ import { TextareaModelValue, TextareaRows } from './types';
4
4
  declare const _default: import("vue-demi").DefineComponent<{
5
5
  modelValue: {
6
6
  type: PropType<TextareaModelValue>;
@@ -22,9 +22,9 @@ declare const _default: import("vue-demi").DefineComponent<{
22
22
  type: PropType<"m" | "s">;
23
23
  default: () => InputBoxSize;
24
24
  };
25
- maxHeight: {
26
- type: StringConstructor;
27
- default: undefined;
25
+ rows: {
26
+ type: PropType<TextareaRows>;
27
+ default: number;
28
28
  };
29
29
  label: {
30
30
  type: StringConstructor;
@@ -72,6 +72,13 @@ declare const _default: import("vue-demi").DefineComponent<{
72
72
  rootStyles: import("vue-demi").ComputedRef<string[]>;
73
73
  control: import("vue-demi").Ref<HTMLTextAreaElement | undefined>;
74
74
  controlStyles: import("vue-demi").ComputedRef<string[]>;
75
+ controlInlineStyles: import("vue-demi").ComputedRef<{
76
+ minHeight: string;
77
+ maxHeight: string | undefined;
78
+ } | {
79
+ minHeight?: undefined;
80
+ maxHeight?: undefined;
81
+ }>;
75
82
  model: import("../../hooks").UseProxyModelValueReturn<string>;
76
83
  length: import("vue-demi").ComputedRef<number>;
77
84
  maxLength: import("vue-demi").ComputedRef<number | undefined>;
@@ -98,9 +105,9 @@ declare const _default: import("vue-demi").DefineComponent<{
98
105
  type: PropType<"m" | "s">;
99
106
  default: () => InputBoxSize;
100
107
  };
101
- maxHeight: {
102
- type: StringConstructor;
103
- default: undefined;
108
+ rows: {
109
+ type: PropType<TextareaRows>;
110
+ default: number;
104
111
  };
105
112
  label: {
106
113
  type: StringConstructor;
@@ -143,7 +150,7 @@ declare const _default: import("vue-demi").DefineComponent<{
143
150
  autocomplete: string;
144
151
  variant: "styled" | "unstyled" | "embedded";
145
152
  size: "m" | "s";
146
- maxHeight: string;
153
+ rows: TextareaRows;
147
154
  label: string;
148
155
  placeholder: string;
149
156
  hint: string;
@@ -1,4 +1,4 @@
1
- export { s as OrTextareaV3 } from '../../OrTextarea-76c037a9.js';
1
+ export { s as OrTextareaV3 } from '../../OrTextarea-f9cbc1c3.js';
2
2
  import '@vueuse/core';
3
3
  import 'vue-demi';
4
4
  import '../../useIdAttribute-3a339b79.js';
@@ -6,6 +6,7 @@ import '../../TimeFormat-a7f5565b.js';
6
6
  import '../../dom-53c9635b.js';
7
7
  import 'lodash/get';
8
8
  import 'lodash/isElement';
9
+ import '../../isObject-4d5300e9.js';
9
10
  import '../../useProxyModelValue-e18f251e.js';
10
11
  import '@onereach/styles/screens.json';
11
12
  import '@onereach/styles/tailwind.config.json';
@@ -1,2 +1,6 @@
1
1
  import { ModelValue } from '../../types';
2
2
  export type TextareaModelValue = ModelValue<string>;
3
+ export type TextareaRows = number | {
4
+ min: number;
5
+ max?: number;
6
+ };
@@ -97,7 +97,7 @@ export { s as OrRadio } from './OrRadio-8506e7d9.js';
97
97
  export { s as OrRadioGroup } from './OrRadioGroup-00785e41.js';
98
98
  export { s as OrRadioGroupV3 } from './OrRadioGroup-1a0fe40f.js';
99
99
  export { s as OrRadioV3 } from './OrRadio-8677bac3.js';
100
- export { s as OrRangeSliderV3 } from './OrRangeSlider-c1ed0ba5.js';
100
+ export { s as OrRangeSliderV3 } from './OrRangeSlider-2bcd90ef.js';
101
101
  export { s as OrRatingV3, R as RatingVariant } from './OrRating-7c2f8e4d.js';
102
102
  export { s as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement } from './OrResizeablePanel-1d0c171b.js';
103
103
  export { F as Formats, s as OrRichTextEditorV3 } from './OrRichTextEditor-f1d7597b.js';
@@ -117,7 +117,7 @@ export { s as OrSkeletonCircleV3 } from './OrSkeletonCircle-a3eb5f53.js';
117
117
  export { s as OrSkeletonRectV3 } from './OrSkeletonRect-d0b8b2cf.js';
118
118
  export { s as OrSkeletonTextV3 } from './OrSkeletonText-5e9579c1.js';
119
119
  export { s as OrSlider } from './OrSlider-d6f94501.js';
120
- export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from './OrSlider-5c665987.js';
120
+ export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from './OrSlider-45bd13d5.js';
121
121
  export { s as OrSortingV3 } from './OrSorting-9744f44c.js';
122
122
  export { s as OrStatusV3, a as StatusSize, S as StatusVariant } from './OrStatus-29df22e1.js';
123
123
  export { s as OrStepper } from './OrStepper-8722709f.js';
@@ -136,7 +136,7 @@ export { s as OrTeleport } from './OrTeleport.vue3-9bce0c02.js';
136
136
  export { s as OrTeleportV3 } from './OrTeleport.vue3-8099178c.js';
137
137
  export { s as OrTextV3 } from './OrText-ea114c19.js';
138
138
  export { s as OrTextarea } from './OrTextarea-b16e1a72.js';
139
- export { s as OrTextareaV3 } from './OrTextarea-76c037a9.js';
139
+ export { s as OrTextareaV3 } from './OrTextarea-f9cbc1c3.js';
140
140
  export { s as OrTextbox, T as TextboxTypes } from './OrTextbox-20cc3bac.js';
141
141
  export { s as OrTimeFormatV3 } from './OrTimeFormat-bdce02db.js';
142
142
  export { s as OrTimePickerV3 } from './OrTimePicker-d17e6f65.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "13.2.3-beta.4661.0",
3
+ "version": "13.2.3-beta.4665.0",
4
4
  "npmUnpacked": "4.15.2",
5
5
  "description": "Vue components library for v2/3",
6
6
  "sideEffects": false,
@@ -255,7 +255,6 @@ export default defineComponent({
255
255
  'or-range-slider-thumb-v3',
256
256
  ...Styles.RangeSliderThumb,
257
257
  ...Styles.RangeSliderThumbColors[props.color],
258
- 'touch-none', // Required for proper work on mobile
259
258
  ]);
260
259
 
261
260
  const breakpointMarkStyles = computed(() => [