ropav 0.12.2 → 0.13.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 (81) hide show
  1. package/dist/components/alert-dialog/alert-dialog-container.js +2 -4
  2. package/dist/components/alert-dialog/alert-dialog-trigger.js +26 -19
  3. package/dist/components/autocomplete/autocomplete-filter.js +2 -1
  4. package/dist/components/autocomplete/autocomplete-indicator.js +32 -19
  5. package/dist/components/autocomplete/autocomplete-root.js +3 -1
  6. package/dist/components/autocomplete/autocomplete-value.js +1 -1
  7. package/dist/components/autocomplete/autocomplete.context.d.ts +3 -1
  8. package/dist/components/avatar-group/avatar-group-overflow.js +1 -1
  9. package/dist/components/breadcrumbs/breadcrumbs-item.js +4 -3
  10. package/dist/components/button/button-root.js +44 -25
  11. package/dist/components/calendar/calendar-cell.js +60 -40
  12. package/dist/components/calendar/calendar-grid.js +17 -9
  13. package/dist/components/calendar/calendar-nav-button.js +31 -18
  14. package/dist/components/calendar/calendar-root.js +2 -1
  15. package/dist/components/close-button/close-button-root.js +45 -26
  16. package/dist/components/color-area/color-area-root.js +5 -4
  17. package/dist/components/color-area/color-area-thumb.js +28 -13
  18. package/dist/components/color-input-group/color-input-group-input.js +31 -19
  19. package/dist/components/color-picker/color-picker-trigger.js +30 -19
  20. package/dist/components/color-slider/color-slider-output.js +2 -1
  21. package/dist/components/color-slider/color-slider-thumb.js +6 -4
  22. package/dist/components/color-slider/color-slider-track.js +7 -5
  23. package/dist/components/combo-box/combo-box-root.js +3 -5
  24. package/dist/components/combo-box/combo-box-trigger.js +33 -20
  25. package/dist/components/combo-box/combo-box-value.js +1 -1
  26. package/dist/components/combo-box/combo-box.types.d.ts +7 -4
  27. package/dist/components/date-input-group/date-input-group-input.js +23 -13
  28. package/dist/components/date-input-group/date-input-group-root.js +21 -13
  29. package/dist/components/date-input-group/date-input-group-segment.js +21 -12
  30. package/dist/components/date-picker/date-picker-trigger.js +19 -10
  31. package/dist/components/date-range-picker/date-range-picker-trigger.js +19 -10
  32. package/dist/components/drawer/drawer-content.js +2 -4
  33. package/dist/components/drawer/drawer-trigger.js +39 -23
  34. package/dist/components/dropdown/dropdown-menu.js +17 -10
  35. package/dist/components/dropdown/dropdown-trigger.js +39 -23
  36. package/dist/components/input/input-root.js +30 -18
  37. package/dist/components/input-group/input-group-input.js +30 -18
  38. package/dist/components/input-group/input-group-textarea.js +30 -18
  39. package/dist/components/input-otp/input-otp-root.js +38 -21
  40. package/dist/components/list-box/list-box-drop-indicator.js +4 -6
  41. package/dist/components/list-box/list-box-root.js +6 -5
  42. package/dist/components/list-box/list-box.context.d.ts +8 -0
  43. package/dist/components/list-box-item/list-box-item-root.js +38 -16
  44. package/dist/components/menu/menu-root.js +17 -9
  45. package/dist/components/modal/modal-container.js +2 -4
  46. package/dist/components/modal/modal-trigger.js +26 -19
  47. package/dist/components/number-field/number-field-decrement-button.js +30 -18
  48. package/dist/components/number-field/number-field-group.js +25 -13
  49. package/dist/components/number-field/number-field-increment-button.js +30 -18
  50. package/dist/components/number-field/number-field-input.js +31 -19
  51. package/dist/components/popover/popover-trigger.js +31 -19
  52. package/dist/components/range-calendar/range-calendar-cell.js +65 -43
  53. package/dist/components/range-calendar/range-calendar-grid.js +17 -9
  54. package/dist/components/range-calendar/range-calendar-nav-button.js +31 -18
  55. package/dist/components/range-calendar/range-calendar-root.js +13 -8
  56. package/dist/components/search-field/search-field-input.js +30 -18
  57. package/dist/components/search-field/search-field-search-icon.js +1 -1
  58. package/dist/components/segmented-control/segmented-control-root.js +1 -3
  59. package/dist/components/segmented-control/segmented-control.types.d.ts +1 -2
  60. package/dist/components/select/select-root.js +2 -1
  61. package/dist/components/select/select-trigger.js +36 -22
  62. package/dist/components/select/select-value.js +1 -1
  63. package/dist/components/select/select.types.d.ts +4 -1
  64. package/dist/components/slider/slider-output.js +2 -1
  65. package/dist/components/slider/slider-root.js +5 -4
  66. package/dist/components/slider/slider-thumb.js +5 -4
  67. package/dist/components/table/table-drop-indicator.js +9 -6
  68. package/dist/components/table/table-row.js +9 -6
  69. package/dist/components/tabs/tabs-root.js +1 -3
  70. package/dist/components/tabs/tabs.types.d.ts +0 -1
  71. package/dist/components/textarea/textarea-root.js +30 -18
  72. package/dist/components/textfield/textfield.context.d.ts +3 -2
  73. package/dist/components/textfield/textfield.types.d.ts +3 -2
  74. package/dist/components/toast/toast-default-content.js +1 -1
  75. package/dist/components/toast/toast-provider.js +19 -13
  76. package/dist/components/toast/toast-renderable.js +1 -1
  77. package/dist/components/toast/toast-root.js +10 -1
  78. package/dist/components/tooltip/tooltip-trigger.js +27 -15
  79. package/dist/ropav.min.css +1 -1
  80. package/dist/version.js +1 -1
  81. package/package.json +2 -2
@@ -3,10 +3,22 @@ import icon_close_default from "../icons/icon-close.js";
3
3
  import { useInteractionStates } from "../../composables/use-interaction-states.js";
4
4
  import { composeFocusResponder, useFocusResponder } from "../../composables/focus-responder.js";
5
5
  import { composePressResponder, usePressResponder } from "../../composables/press-responder.js";
6
- import { computed, createComponent, createSlot, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref } from "vue";
6
+ import { computed, createComponent, createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref } from "vue";
7
7
  import { closeButtonVariants } from "@ropav/styles";
8
8
  //#region src/components/close-button/close-button-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
9
9
  var t0 = template("<button>", 1);
10
+ var k0 = [
11
+ "aria-disabled",
12
+ "data-disabled",
13
+ "data-focus-visible",
14
+ "data-focused",
15
+ "data-hovered",
16
+ "data-pending",
17
+ "data-pressed",
18
+ "disabled",
19
+ "tabindex",
20
+ "type"
21
+ ];
10
22
  var close_button_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
11
23
  __name: "close-button-root",
12
24
  props: {
@@ -79,21 +91,38 @@ var close_button_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /
79
91
  renderEffect(() => {
80
92
  const _props = props;
81
93
  const _dataAttr = unref(dataAttr);
82
- setDynamicProps(n3, [{
83
- "aria-disabled": _props.isPending || void 0,
84
- "aria-label": "Close",
85
- class: styles.value,
86
- "data-disabled": _dataAttr(_props.isDisabled),
87
- "data-focus-visible": _dataAttr(unref(isFocusVisible)),
88
- "data-focused": _dataAttr(unref(isFocused)),
89
- "data-hovered": _dataAttr(unref(isHovered)),
90
- "data-pending": _dataAttr(_props.isPending),
91
- "data-pressed": _dataAttr(unref(isPressed) || unref(responder)?.isPressed.value),
92
- "data-slot": "close-button",
93
- disabled: _props.isDisabled || void 0,
94
- tabindex: tabindex.value,
95
- type: type.value
96
- }, attrs.value]);
94
+ const _focus = unref(focus);
95
+ const _press = unref(press);
96
+ setDynamicProps(n3, [
97
+ {
98
+ "aria-disabled": _props.isPending || void 0,
99
+ "aria-label": "Close",
100
+ class: styles.value,
101
+ "data-disabled": _dataAttr(_props.isDisabled),
102
+ "data-focus-visible": _dataAttr(unref(isFocusVisible)),
103
+ "data-focused": _dataAttr(unref(isFocused)),
104
+ "data-hovered": _dataAttr(unref(isHovered)),
105
+ "data-pending": _dataAttr(_props.isPending),
106
+ "data-pressed": _dataAttr(unref(isPressed) || unref(responder)?.isPressed.value),
107
+ "data-slot": "close-button",
108
+ disabled: _props.isDisabled || void 0,
109
+ tabindex: tabindex.value,
110
+ type: type.value
111
+ },
112
+ attrs.value,
113
+ {
114
+ onBlur: (e) => _focus.onBlur(e),
115
+ onClick: (e) => _press.onClick(e),
116
+ onDragstart: (e) => _press.onDragstart(e),
117
+ onFocus: (e) => _focus.onFocus(e),
118
+ onKeydown: (e) => _press.onKeydown(e),
119
+ onMousedown: (e) => _press.onMousedown(e),
120
+ onPointerdown: (e) => _press.onPointerdown(e),
121
+ onPointerenter: (e) => _press.onPointerenter(e),
122
+ onPointerleave: (e) => _press.onPointerleave(e),
123
+ onPointerup: (e) => _press.onPointerup(e)
124
+ }
125
+ ], k0);
97
126
  });
98
127
  setInsertionState(n3);
99
128
  createSlot("default", {
@@ -105,16 +134,6 @@ var close_button_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /
105
134
  }, () => {
106
135
  return createComponent(unref(icon_close_default), { "data-slot": "close-button-icon" });
107
136
  });
108
- on(n3, "blur", (e) => unref(focus).onBlur(e));
109
- on(n3, "click", (e) => unref(press).onClick(e));
110
- on(n3, "dragstart", (e) => unref(press).onDragstart(e));
111
- on(n3, "focus", (e) => unref(focus).onFocus(e));
112
- on(n3, "keydown", (e) => unref(press).onKeydown(e));
113
- on(n3, "mousedown", (e) => unref(press).onMousedown(e));
114
- on(n3, "pointerdown", (e) => unref(press).onPointerdown(e));
115
- on(n3, "pointerenter", (e) => unref(press).onPointerenter(e));
116
- on(n3, "pointerleave", (e) => unref(press).onPointerleave(e));
117
- on(n3, "pointerup", (e) => unref(press).onPointerup(e));
118
137
  setTemplateRefBinding(n3, () => setElement);
119
138
  return n3;
120
139
  }
@@ -3,10 +3,11 @@ import { useColorArea } from "../../composables/use-color-area.js";
3
3
  import { useColorAreaState } from "../../composables/use-color-area-state.js";
4
4
  import { useColorValueContext } from "../color-picker/color-picker.context.js";
5
5
  import { provideColorAreaContext } from "./color-area.context.js";
6
- import { computed, createSlot, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, shallowRef, template, unref } from "vue";
6
+ import { computed, createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, shallowRef, template, unref } from "vue";
7
7
  import { colorAreaVariants } from "@ropav/styles";
8
8
  //#region src/components/color-area/color-area-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
9
9
  var t0 = template("<div>", 1);
10
+ var k0 = ["data-disabled"];
10
11
  var color_area_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
11
12
  __name: "color-area-root",
12
13
  props: {
@@ -111,15 +112,15 @@ var color_area_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@
111
112
  class: styles.value.base({ class: props.class }),
112
113
  "data-disabled": unref(dataAttr)(_area.isDisabled.value),
113
114
  "data-slot": "color-area",
114
- style: style.value
115
- }]);
115
+ style: style.value,
116
+ onPointerdown: (e) => _area.areaHandlers.onPointerdown(e)
117
+ }], k0);
116
118
  });
117
119
  setInsertionState(n1);
118
120
  createSlot("default", {
119
121
  color: () => unref(state).value.value,
120
122
  isDisabled: () => unref(area).isDisabled.value
121
123
  });
122
- on(n1, "pointerdown", (e) => unref(area).areaHandlers.onPointerdown(e));
123
124
  setTemplateRefBinding(n1, () => setContainerEl);
124
125
  return n1;
125
126
  }
@@ -2,9 +2,16 @@ import { dataAttr } from "../../utils/assertion.js";
2
2
  import { composeSlotClassName } from "../../utils/compose.js";
3
3
  import { useInteractionStates } from "../../composables/use-interaction-states.js";
4
4
  import { useColorAreaContext } from "./color-area.context.js";
5
- import { child, computed, createSlot, createTemplateRefSetter, defineVaporComponent, next, on, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
5
+ import { child, computed, createSlot, createTemplateRefSetter, defineVaporComponent, next, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
6
6
  //#region src/components/color-area/color-area-thumb.vue?vue&type=script&setup=true&vapor=true&lang.ts
7
7
  var t0 = template("<div><input><input>", 1);
8
+ var k0 = [
9
+ "data-disabled",
10
+ "data-dragging",
11
+ "data-focus-visible",
12
+ "data-focused",
13
+ "data-hovered"
14
+ ];
8
15
  var color_area_thumb_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
9
16
  __name: "color-area-thumb",
10
17
  props: { class: {} },
@@ -30,14 +37,14 @@ var color_area_thumb_vue_vue_type_script_setup_true_vapor_true_lang_default = /*
30
37
  const n3 = t0();
31
38
  const n0 = child(n3);
32
39
  const n1 = next(n0);
33
- on(n0, "change", (e) => unref(area).xInputHandlers.onChange(e));
34
- on(n0, "focus", () => (unref(onFocus)(), unref(area).xInputHandlers.onFocus()));
35
- on(n1, "change", (e) => unref(area).yInputHandlers.onChange(e));
36
- on(n1, "focus", () => (unref(onFocus)(), unref(area).yInputHandlers.onFocus()));
37
40
  renderEffect(() => {
38
41
  const _area = unref(area);
39
42
  const _dataAttr = unref(dataAttr);
43
+ const _onFocus = unref(onFocus);
44
+ const _area_thumbHandlers = _area.thumbHandlers;
40
45
  const _area_inputStyle = _area.inputStyle;
46
+ const _area_xInputHandlers = _area.xInputHandlers;
47
+ const _area_yInputHandlers = _area.yInputHandlers;
41
48
  setDynamicProps(n3, [_area.thumbAttrs, {
42
49
  class: unref(composeSlotClassName)(unref(slots).thumb, props.class),
43
50
  "data-disabled": _dataAttr(_area.isDisabled.value),
@@ -46,11 +53,24 @@ var color_area_thumb_vue_vue_type_script_setup_true_vapor_true_lang_default = /*
46
53
  "data-focused": _dataAttr(unref(isFocused)),
47
54
  "data-hovered": _dataAttr(unref(isHovered)),
48
55
  "data-slot": "color-area-thumb",
49
- style: style.value
56
+ style: style.value,
57
+ onFocusout: onInputBlur,
58
+ onKeydown: (e) => _area_thumbHandlers.onKeydown(e),
59
+ onPointerdown: (e) => _area_thumbHandlers.onPointerdown(e),
60
+ onPointerenter: (e) => unref(onPointerenter)(e),
61
+ onPointerleave: (e) => unref(onPointerleave)(e)
62
+ }], k0);
63
+ setDynamicProps(n0, [_area.xInputProps.value, {
64
+ style: _area_inputStyle,
65
+ onChange: (e) => _area_xInputHandlers.onChange(e),
66
+ onFocus: () => (_onFocus(), _area_xInputHandlers.onFocus())
50
67
  }]);
51
- setDynamicProps(n0, [_area.xInputProps.value, { style: _area_inputStyle }]);
52
68
  _setTemplateRef(n0, setInputXEl, null, "setInputXEl");
53
- setDynamicProps(n1, [_area.yInputProps.value, { style: _area_inputStyle }]);
69
+ setDynamicProps(n1, [_area.yInputProps.value, {
70
+ style: _area_inputStyle,
71
+ onChange: (e) => _area_yInputHandlers.onChange(e),
72
+ onFocus: () => (_onFocus(), _area_yInputHandlers.onFocus())
73
+ }]);
54
74
  _setTemplateRef(n1, setInputYEl, null, "setInputYEl");
55
75
  });
56
76
  setInsertionState(n3, 2);
@@ -62,11 +82,6 @@ var color_area_thumb_vue_vue_type_script_setup_true_vapor_true_lang_default = /*
62
82
  isFocused: () => unref(isFocused),
63
83
  isHovered: () => unref(isHovered)
64
84
  });
65
- on(n3, "focusout", onInputBlur);
66
- on(n3, "keydown", (e) => unref(area).thumbHandlers.onKeydown(e));
67
- on(n3, "pointerdown", (e) => unref(area).thumbHandlers.onPointerdown(e));
68
- on(n3, "pointerenter", (e) => unref(onPointerenter)(e));
69
- on(n3, "pointerleave", (e) => unref(onPointerleave)(e));
70
85
  return n3;
71
86
  }
72
87
  });
@@ -1,9 +1,16 @@
1
1
  import { dataAttr } from "../../utils/assertion.js";
2
2
  import { useInteractionStates } from "../../composables/use-interaction-states.js";
3
3
  import { useColorInputGroupControlContext } from "./color-input-group.context.js";
4
- import { computed, createTemplateRefSetter, defineVaporComponent, on, renderEffect, setDynamicProps, shallowRef, template, unref } from "vue";
4
+ import { computed, createTemplateRefSetter, defineVaporComponent, renderEffect, setDynamicProps, shallowRef, template, unref } from "vue";
5
5
  //#region src/components/color-input-group/color-input-group-input.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
6
  var t0 = template("<input>", 1);
7
+ var k0 = [
8
+ "data-disabled",
9
+ "data-focus-visible",
10
+ "data-focused",
11
+ "data-hovered",
12
+ "data-invalid"
13
+ ];
7
14
  var color_input_group_input_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
8
15
  __name: "color-input-group-input",
9
16
  props: {
@@ -37,28 +44,33 @@ var color_input_group_input_vue_vue_type_script_setup_true_vapor_true_lang_defau
37
44
  };
38
45
  const _setTemplateRef = createTemplateRefSetter();
39
46
  const n0 = t0();
40
- on(n0, "blur", onBlur);
41
- on(n0, "focus", onFocus);
42
- on(n0, "input", (e) => unref(control)?.handlers.onInput(e));
43
- on(n0, "keydown", (e) => unref(control)?.handlers.onKeydown(e));
44
- on(n0, "keyup", (e) => unref(control)?.handlers.onKeyup(e));
45
- on(n0, "paste", onPaste);
46
- on(n0, "pointerdown", (e) => unref(interaction).onPointerdown(e));
47
- on(n0, "pointerenter", (e) => unref(interaction).onPointerenter(e));
48
- on(n0, "pointerleave", (e) => unref(interaction).onPointerleave(e));
49
47
  renderEffect(() => {
50
48
  const _dataAttr = unref(dataAttr);
51
49
  const _control = unref(control);
52
50
  const _interaction = unref(interaction);
53
- setDynamicProps(n0, [{
54
- class: ["rp-color-input-group__input", props.class],
55
- "data-disabled": _dataAttr(_control?.isDisabled.value),
56
- "data-focus-visible": _dataAttr(_interaction.isFocusVisible.value),
57
- "data-focused": _dataAttr(_interaction.isFocused.value),
58
- "data-hovered": _dataAttr(_interaction.isHovered.value),
59
- "data-invalid": _dataAttr(_control?.isInvalid.value),
60
- "data-slot": "color-input-group-input"
61
- }, attrs.value]);
51
+ setDynamicProps(n0, [
52
+ {
53
+ class: ["rp-color-input-group__input", props.class],
54
+ "data-disabled": _dataAttr(_control?.isDisabled.value),
55
+ "data-focus-visible": _dataAttr(_interaction.isFocusVisible.value),
56
+ "data-focused": _dataAttr(_interaction.isFocused.value),
57
+ "data-hovered": _dataAttr(_interaction.isHovered.value),
58
+ "data-invalid": _dataAttr(_control?.isInvalid.value),
59
+ "data-slot": "color-input-group-input"
60
+ },
61
+ attrs.value,
62
+ {
63
+ onBlur,
64
+ onFocus,
65
+ onInput: (e) => _control?.handlers.onInput(e),
66
+ onKeydown: (e) => _control?.handlers.onKeydown(e),
67
+ onKeyup: (e) => _control?.handlers.onKeyup(e),
68
+ onPaste,
69
+ onPointerdown: (e) => _interaction.onPointerdown(e),
70
+ onPointerenter: (e) => _interaction.onPointerenter(e),
71
+ onPointerleave: (e) => _interaction.onPointerleave(e)
72
+ }
73
+ ], k0);
62
74
  _setTemplateRef(n0, setElement);
63
75
  });
64
76
  return n0;
@@ -1,9 +1,14 @@
1
1
  import { dataAttr } from "../../utils/assertion.js";
2
2
  import { useInteractionStates } from "../../composables/use-interaction-states.js";
3
3
  import { composePressResponder, usePressResponder } from "../../composables/press-responder.js";
4
- import { createSlot, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref } from "vue";
4
+ import { createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref } from "vue";
5
5
  //#region src/components/color-picker/color-picker-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
6
  var t0 = template("<button>", 1);
7
+ var k0 = [
8
+ "data-focus-visible",
9
+ "data-pressed",
10
+ "type"
11
+ ];
7
12
  var color_picker_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
8
13
  __name: "color-picker-trigger",
9
14
  props: {
@@ -30,27 +35,33 @@ var color_picker_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default
30
35
  const _props = props;
31
36
  const _dataAttr = unref(dataAttr);
32
37
  const _responder = unref(responder);
33
- setDynamicProps(n1, [{
34
- class: ["rp-color-picker__trigger", _props.class],
35
- "data-focus-visible": _dataAttr(unref(isFocusVisible)),
36
- "data-pressed": _dataAttr(_responder?.isPressed.value),
37
- "data-slot": "color-picker-trigger",
38
- tabindex: "0",
39
- type: _props.type
40
- }, _responder?.attrs.value]);
38
+ const _press = unref(press);
39
+ setDynamicProps(n1, [
40
+ {
41
+ class: ["rp-color-picker__trigger", _props.class],
42
+ "data-focus-visible": _dataAttr(unref(isFocusVisible)),
43
+ "data-pressed": _dataAttr(_responder?.isPressed.value),
44
+ "data-slot": "color-picker-trigger",
45
+ tabindex: "0",
46
+ type: _props.type
47
+ },
48
+ _responder?.attrs.value,
49
+ {
50
+ onBlur: (e) => unref(onBlur)(e),
51
+ onClick: (e) => _press.onClick(e),
52
+ onDragstart: (e) => _press.onDragstart(e),
53
+ onFocus: (e) => unref(onFocus)(e),
54
+ onKeydown: (e) => _press.onKeydown(e),
55
+ onMousedown: (e) => _press.onMousedown(e),
56
+ onPointerdown: (e) => _press.onPointerdown(e),
57
+ onPointerenter: (e) => _press.onPointerenter(e),
58
+ onPointerleave: (e) => _press.onPointerleave(e),
59
+ onPointerup: (e) => _press.onPointerup(e)
60
+ }
61
+ ], k0);
41
62
  });
42
63
  setInsertionState(n1);
43
64
  createSlot();
44
- on(n1, "blur", (e) => unref(onBlur)(e));
45
- on(n1, "click", (e) => unref(press).onClick(e));
46
- on(n1, "dragstart", (e) => unref(press).onDragstart(e));
47
- on(n1, "focus", (e) => unref(onFocus)(e));
48
- on(n1, "keydown", (e) => unref(press).onKeydown(e));
49
- on(n1, "mousedown", (e) => unref(press).onMousedown(e));
50
- on(n1, "pointerdown", (e) => unref(press).onPointerdown(e));
51
- on(n1, "pointerenter", (e) => unref(press).onPointerenter(e));
52
- on(n1, "pointerleave", (e) => unref(press).onPointerleave(e));
53
- on(n1, "pointerup", (e) => unref(press).onPointerup(e));
54
65
  setTemplateRefBinding(n1, () => setElement);
55
66
  return n1;
56
67
  }
@@ -5,6 +5,7 @@ import { computed, createSlot, defineVaporComponent, renderEffect, setDynamicPro
5
5
  //#region src/components/color-slider/color-slider-output.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
6
  var t0 = template(" ");
7
7
  var t1 = template("<output>", 1);
8
+ var k0 = ["data-disabled", "data-orientation"];
8
9
  var color_slider_output_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
9
10
  __name: "color-slider-output",
10
11
  props: { class: {} },
@@ -20,7 +21,7 @@ var color_slider_output_vue_vue_type_script_setup_true_vapor_true_lang_default =
20
21
  "data-disabled": unref(dataAttr)(_state.isDisabled.value),
21
22
  "data-orientation": _state.orientation.value,
22
23
  "data-slot": "color-slider-output"
23
- }]);
24
+ }], k0);
24
25
  });
25
26
  setInsertionState(n3);
26
27
  createSlot("default", null, () => {
@@ -31,9 +31,6 @@ var color_slider_thumb_vue_vue_type_script_setup_true_vapor_true_lang_default =
31
31
  const _setTemplateRef = createTemplateRefSetter();
32
32
  const n2 = t0();
33
33
  const n0 = child(n2);
34
- on(n0, "blur", onInputBlur);
35
- on(n0, "change", (e) => unref(slider).inputHandlers.onChange(e));
36
- on(n0, "focus", onInputFocus);
37
34
  renderEffect(() => {
38
35
  const _dataAttr = unref(dataAttr);
39
36
  const _slider = unref(slider);
@@ -44,7 +41,12 @@ var color_slider_thumb_vue_vue_type_script_setup_true_vapor_true_lang_default =
44
41
  setAttr(n2, "data-focused", _dataAttr(unref(isFocused)));
45
42
  setAttr(n2, "data-hovered", _dataAttr(unref(isHovered)));
46
43
  setStyle(n2, style.value);
47
- setDynamicProps(n0, [_slider.inputProps.value, { style: _slider.inputStyle }]);
44
+ setDynamicProps(n0, [_slider.inputProps.value, {
45
+ style: _slider.inputStyle,
46
+ onBlur: onInputBlur,
47
+ onChange: (e) => _slider.inputHandlers.onChange(e),
48
+ onFocus: onInputFocus
49
+ }]);
48
50
  _setTemplateRef(n0, setInputEl, null, "setInputEl");
49
51
  });
50
52
  setInsertionState(n2, 1);
@@ -1,9 +1,10 @@
1
1
  import { dataAttr } from "../../utils/assertion.js";
2
2
  import { composeSlotClassName } from "../../utils/compose.js";
3
3
  import { useColorSliderContext } from "./color-slider.context.js";
4
- import { computed, createSlot, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref } from "vue";
4
+ import { computed, createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref } from "vue";
5
5
  //#region src/components/color-slider/color-slider-track.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
6
  var t0 = template("<div>", 1);
7
+ var k0 = ["data-disabled", "data-orientation"];
7
8
  var color_slider_track_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
8
9
  __name: "color-slider-track",
9
10
  props: { class: {} },
@@ -36,14 +37,16 @@ var color_slider_track_vue_vue_type_script_setup_true_vapor_true_lang_default =
36
37
  }));
37
38
  const n1 = t0();
38
39
  renderEffect(() => {
40
+ const _slider = unref(slider);
39
41
  const _state = unref(state);
40
- setDynamicProps(n1, [unref(slider).trackAttrs.value, {
42
+ setDynamicProps(n1, [_slider.trackAttrs.value, {
41
43
  class: unref(composeSlotClassName)(unref(slots).track, props.class),
42
44
  "data-disabled": unref(dataAttr)(_state.isDisabled.value),
43
45
  "data-orientation": _state.orientation.value,
44
46
  "data-slot": "color-slider-track",
45
- style: style.value
46
- }]);
47
+ style: style.value,
48
+ onPointerdown: (e) => _slider.trackHandlers.onPointerdown(e)
49
+ }], k0);
47
50
  });
48
51
  setInsertionState(n1);
49
52
  createSlot("default", {
@@ -51,7 +54,6 @@ var color_slider_track_vue_vue_type_script_setup_true_vapor_true_lang_default =
51
54
  isDisabled: () => unref(state).isDisabled.value,
52
55
  orientation: () => unref(state).orientation.value
53
56
  });
54
- on(n1, "pointerdown", (e) => unref(slider).trackHandlers.onPointerdown(e));
55
57
  setTemplateRefBinding(n1, () => setTrackEl, void 0, "setTrackEl");
56
58
  return n1;
57
59
  }
@@ -189,10 +189,7 @@ var combo_box_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@_
189
189
  if (state.selectionMode.value === "single") return texts[0] ?? "";
190
190
  return new Intl.ListFormat(locale.value.locale).format(texts);
191
191
  });
192
- const styles = computed(() => comboBoxVariants({
193
- fullWidth: props.fullWidth,
194
- size: props.size
195
- }));
192
+ const styles = computed(() => comboBoxVariants({ fullWidth: props.fullWidth }));
196
193
  const isDisabled = computed(() => Boolean(props.isDisabled));
197
194
  /**
198
195
  * The options that matched, handed to whoever writes the listbox.
@@ -245,7 +242,8 @@ var combo_box_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@_
245
242
  },
246
243
  selection: state.selection,
247
244
  shouldFocusOnHover: true,
248
- shouldUseVirtualFocus: true
245
+ shouldUseVirtualFocus: true,
246
+ size: () => props.size
249
247
  });
250
248
  /**
251
249
  * The popover is anchored to the group around the field, not to the chevron inside it.
@@ -3,9 +3,16 @@ import icon_chevron_down_default from "../icons/icon-chevron-down.js";
3
3
  import { useInteractionStates } from "../../composables/use-interaction-states.js";
4
4
  import { composePressResponder, usePressResponder } from "../../composables/press-responder.js";
5
5
  import { useComboBoxContext } from "./combo-box.context.js";
6
- import { computed, createComponent, createIf, createSlot, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref, useSlots } from "vue";
6
+ import { computed, createComponent, createIf, createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref, useSlots } from "vue";
7
7
  //#region src/components/combo-box/combo-box-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
8
8
  var t0 = template("<button>", 1);
9
+ var k0 = [
10
+ "data-focus-visible",
11
+ "data-focused",
12
+ "data-hovered",
13
+ "data-open",
14
+ "data-pressed"
15
+ ];
9
16
  var combo_box_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
10
17
  __name: "combo-box-trigger",
11
18
  props: { class: {} },
@@ -32,15 +39,31 @@ var combo_box_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /
32
39
  const n5 = t0();
33
40
  renderEffect(() => {
34
41
  const _dataAttr = unref(dataAttr);
35
- setDynamicProps(n5, [{
36
- class: styles.value,
37
- "data-focus-visible": _dataAttr(unref(isFocusVisible)),
38
- "data-focused": _dataAttr(unref(isFocused)),
39
- "data-hovered": _dataAttr(unref(isHovered)),
40
- "data-open": _dataAttr(unref(state).isOpen.value),
41
- "data-pressed": _dataAttr(unref(responder)?.isPressed.value),
42
- "data-slot": "combo-box-trigger"
43
- }, unref(comboBox).triggerAttributes.value]);
42
+ const _press = unref(press);
43
+ setDynamicProps(n5, [
44
+ {
45
+ class: styles.value,
46
+ "data-focus-visible": _dataAttr(unref(isFocusVisible)),
47
+ "data-focused": _dataAttr(unref(isFocused)),
48
+ "data-hovered": _dataAttr(unref(isHovered)),
49
+ "data-open": _dataAttr(unref(state).isOpen.value),
50
+ "data-pressed": _dataAttr(unref(responder)?.isPressed.value),
51
+ "data-slot": "combo-box-trigger"
52
+ },
53
+ unref(comboBox).triggerAttributes.value,
54
+ {
55
+ onBlur: (e) => unref(onBlur)(e),
56
+ onClick: (e) => _press.onClick(e),
57
+ onDragstart: (e) => _press.onDragstart(e),
58
+ onFocus: (e) => unref(onFocus)(e),
59
+ onKeydown: (e) => _press.onKeydown(e),
60
+ onMousedown: (e) => _press.onMousedown(e),
61
+ onPointerdown: (e) => _press.onPointerdown(e),
62
+ onPointerenter: (e) => unref(onPointerenter)(e),
63
+ onPointerleave: (e) => unref(onPointerleave)(e),
64
+ onPointerup: (e) => _press.onPointerup(e)
65
+ }
66
+ ], k0);
44
67
  });
45
68
  setInsertionState(n5);
46
69
  createIf(() => hasSlot.value, () => {
@@ -48,16 +71,6 @@ var combo_box_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /
48
71
  }, () => {
49
72
  return createComponent(unref(icon_chevron_down_default), { "data-slot": "combo-box-trigger-default-icon" });
50
73
  }, 261);
51
- on(n5, "blur", (e) => unref(onBlur)(e));
52
- on(n5, "click", (e) => unref(press).onClick(e));
53
- on(n5, "dragstart", (e) => unref(press).onDragstart(e));
54
- on(n5, "focus", (e) => unref(onFocus)(e));
55
- on(n5, "keydown", (e) => unref(press).onKeydown(e));
56
- on(n5, "mousedown", (e) => unref(press).onMousedown(e));
57
- on(n5, "pointerdown", (e) => unref(press).onPointerdown(e));
58
- on(n5, "pointerenter", (e) => unref(onPointerenter)(e));
59
- on(n5, "pointerleave", (e) => unref(onPointerleave)(e));
60
- on(n5, "pointerup", (e) => unref(press).onPointerup(e));
61
74
  setTemplateRefBinding(n5, () => setElement);
62
75
  return n5;
63
76
  }
@@ -49,7 +49,7 @@ var combo_box_value_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@
49
49
  const n4 = t0();
50
50
  renderEffect(() => setText(n4, toDisplayString(isPlaceholder.value ? props.placeholder ?? "" : unref(selectedText))));
51
51
  return n4;
52
- }, 261);
52
+ }, 265);
53
53
  return n5;
54
54
  }
55
55
  });
@@ -4,7 +4,7 @@ import type { ValidationBehavior, ValidationFunction } from "../../composables/u
4
4
  import type { SelectSelectionMode, SelectedItem, SelectedValue } from "../../composables/use-select-state.js";
5
5
  import type { DisabledBehavior } from "../../composables/use-selection-manager.js";
6
6
  import type { Placement } from "../../utils/position.js";
7
- import type { ComboBoxVariants } from "@ropav/styles";
7
+ import type { InputVariants } from "@ropav/styles";
8
8
  /**
9
9
  * A combo box is a text field that filters a list of options, and the text is part of the value.
10
10
  *
@@ -95,12 +95,15 @@ export interface ComboBoxRootProps<T = unknown> {
95
95
  ariaLabel?: string;
96
96
  ariaLabelledby?: string;
97
97
  ariaDescribedby?: string;
98
- /** How tall the field stands, matching a button of the same size. @default "md" */
99
- size?: ComboBoxVariants["size"];
98
+ /**
99
+ * How tall the field stands, matching a button of the same size. Handed to the `Input` inside and
100
+ * to the listbox in the popover, unless either declares one of its own. @default "md"
101
+ */
102
+ size?: InputVariants["size"];
100
103
  /** Whether the combo box stretches to fill its container. */
101
104
  fullWidth?: boolean;
102
105
  /** Visual variant the `Input` inside picks up. @default "primary" */
103
- variant?: "primary" | "secondary";
106
+ variant?: InputVariants["variant"];
104
107
  }
105
108
  export interface ComboBoxRootEmits {
106
109
  change: [value: SelectedValue];
@@ -1,10 +1,18 @@
1
1
  import { dataAttr } from "../../utils/assertion.js";
2
2
  import { useFocusWithin, useInteractionStates } from "../../composables/use-interaction-states.js";
3
3
  import { provideDateFieldControlContext, useDateFieldControlContext, useDateInputGroupContext } from "./date-input-group.context.js";
4
- import { computed, createFor, createSlot, createTemplateRefSetter, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
4
+ import { computed, createFor, createSlot, createTemplateRefSetter, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
5
5
  //#region src/components/date-input-group/date-input-group-input.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
6
  var t0 = template("<div>");
7
7
  var t1 = template("<input>");
8
+ var k0 = [
9
+ "data-disabled",
10
+ "data-focus-visible",
11
+ "data-focus-within",
12
+ "data-hovered",
13
+ "data-invalid",
14
+ "data-readonly"
15
+ ];
8
16
  var date_input_group_input_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
9
17
  __name: "date-input-group-input",
10
18
  props: {
@@ -49,6 +57,8 @@ var date_input_group_input_vue_vue_type_script_setup_true_vapor_true_lang_defaul
49
57
  const _dataAttr = unref(dataAttr);
50
58
  const _state = unref(state);
51
59
  const _focusWithin = unref(focusWithin);
60
+ const _field = unref(field);
61
+ const _field_handlers = _field.handlers;
52
62
  setDynamicProps(n3, [attrs.value, {
53
63
  class: styles.value,
54
64
  "data-disabled": _dataAttr(_state.isDisabled.value),
@@ -58,24 +68,24 @@ var date_input_group_input_vue_vue_type_script_setup_true_vapor_true_lang_defaul
58
68
  "data-invalid": _dataAttr(_state.isInvalid.value),
59
69
  "data-readonly": _dataAttr(_state.isReadOnly.value),
60
70
  "data-slot": "date-input-group-input",
61
- style: unref(field).style.value
62
- }]);
71
+ style: _field.style.value,
72
+ onClick: (e) => _field_handlers.onClick(e),
73
+ onDragstart: (e) => _field_handlers.onDragstart(e),
74
+ onFocusin,
75
+ onFocusout,
76
+ onKeydown: (e) => _field.onKeydown(e),
77
+ onMousedown: (e) => _field_handlers.onMousedown(e),
78
+ onPointerdown: (e) => _field_handlers.onPointerdown(e),
79
+ onPointerenter,
80
+ onPointerleave,
81
+ onPointerup: (e) => _field_handlers.onPointerup(e)
82
+ }], k0);
63
83
  });
64
84
  setInsertionState(n3);
65
85
  createFor(() => unref(state).segments.value, (_for_item0, _for_key0) => {
66
86
  return createSlot("default", { segment: () => _for_item0.value });
67
87
  }, (segment, index) => index, 17);
68
88
  const n4 = t1();
69
- on(n3, "click", (e) => unref(field).handlers.onClick(e));
70
- on(n3, "dragstart", (e) => unref(field).handlers.onDragstart(e));
71
- on(n3, "focusin", onFocusin);
72
- on(n3, "focusout", onFocusout);
73
- on(n3, "keydown", (e) => unref(field).onKeydown(e));
74
- on(n3, "mousedown", (e) => unref(field).handlers.onMousedown(e));
75
- on(n3, "pointerdown", (e) => unref(field).handlers.onPointerdown(e));
76
- on(n3, "pointerenter", onPointerenter);
77
- on(n3, "pointerleave", onPointerleave);
78
- on(n3, "pointerup", (e) => unref(field).handlers.onPointerup(e));
79
89
  renderEffect(() => {
80
90
  _setTemplateRef(n3, setGroupElement);
81
91
  setDynamicProps(n4, [unref(field).inputAttrs.value]);