base-ui-vue 0.2.0 → 0.4.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 (109) hide show
  1. package/dist/button/ToolbarButton.cjs +6 -0
  2. package/dist/button/ToolbarButton.js +1 -1
  3. package/dist/content/ScrollAreaContent.cjs +168 -0
  4. package/dist/content/ScrollAreaContent.cjs.map +1 -0
  5. package/dist/content/ScrollAreaContent.js +133 -0
  6. package/dist/content/ScrollAreaContent.js.map +1 -0
  7. package/dist/control/SliderControl.js +2 -2
  8. package/dist/corner/ScrollAreaCorner.cjs +77 -0
  9. package/dist/corner/ScrollAreaCorner.cjs.map +1 -0
  10. package/dist/corner/ScrollAreaCorner.js +72 -0
  11. package/dist/corner/ScrollAreaCorner.js.map +1 -0
  12. package/dist/decrement/NumberFieldDecrement.cjs +861 -0
  13. package/dist/decrement/NumberFieldDecrement.cjs.map +1 -0
  14. package/dist/decrement/NumberFieldDecrement.js +700 -0
  15. package/dist/decrement/NumberFieldDecrement.js.map +1 -0
  16. package/dist/fallback/AvatarFallback.cjs +2 -46
  17. package/dist/fallback/AvatarFallback.cjs.map +1 -1
  18. package/dist/fallback/AvatarFallback.js +3 -41
  19. package/dist/fallback/AvatarFallback.js.map +1 -1
  20. package/dist/group/NumberFieldGroup.cjs +72 -0
  21. package/dist/group/NumberFieldGroup.cjs.map +1 -0
  22. package/dist/group/NumberFieldGroup.js +67 -0
  23. package/dist/group/NumberFieldGroup.js.map +1 -0
  24. package/dist/increment/NumberFieldIncrement.cjs +112 -0
  25. package/dist/increment/NumberFieldIncrement.cjs.map +1 -0
  26. package/dist/increment/NumberFieldIncrement.js +107 -0
  27. package/dist/increment/NumberFieldIncrement.js.map +1 -0
  28. package/dist/index.cjs +52 -0
  29. package/dist/index.d.cts +1761 -430
  30. package/dist/index.d.cts.map +1 -1
  31. package/dist/index.d.ts +1761 -430
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +7 -2
  34. package/dist/index2.cjs +4065 -60
  35. package/dist/index2.cjs.map +1 -1
  36. package/dist/index2.js +3955 -184
  37. package/dist/index2.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/index.ts +6 -0
  40. package/src/input/Input.vue +37 -0
  41. package/src/input/InputDataAttributes.ts +30 -0
  42. package/src/input/index.ts +4 -0
  43. package/src/meter/index.ts +16 -0
  44. package/src/meter/indicator/MeterIndicator.vue +65 -0
  45. package/src/meter/label/MeterLabel.vue +63 -0
  46. package/src/meter/root/MeterRoot.vue +131 -0
  47. package/src/meter/root/MeterRootContext.ts +41 -0
  48. package/src/meter/track/MeterTrack.vue +46 -0
  49. package/src/meter/value/MeterValue.vue +85 -0
  50. package/src/number-field/decrement/NumberFieldDecrement.vue +109 -0
  51. package/src/number-field/group/NumberFieldGroup.vue +47 -0
  52. package/src/number-field/increment/NumberFieldIncrement.vue +109 -0
  53. package/src/number-field/index.ts +42 -0
  54. package/src/number-field/input/NumberFieldInput.vue +455 -0
  55. package/src/number-field/root/NumberFieldRoot.vue +626 -0
  56. package/src/number-field/root/NumberFieldRootContext.ts +94 -0
  57. package/src/number-field/root/useNumberFieldButton.ts +171 -0
  58. package/src/number-field/scrub-area/NumberFieldScrubArea.vue +359 -0
  59. package/src/number-field/scrub-area/NumberFieldScrubAreaContext.ts +26 -0
  60. package/src/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.vue +75 -0
  61. package/src/number-field/utils/constants.ts +4 -0
  62. package/src/number-field/utils/getViewportRect.ts +34 -0
  63. package/src/number-field/utils/parse.ts +248 -0
  64. package/src/number-field/utils/stateAttributesMapping.ts +9 -0
  65. package/src/number-field/utils/subscribeToVisualViewportResize.ts +27 -0
  66. package/src/number-field/utils/types.ts +24 -0
  67. package/src/number-field/utils/validate.ts +120 -0
  68. package/src/otp-field/index.ts +22 -0
  69. package/src/otp-field/input/OtpFieldInput.vue +336 -0
  70. package/src/otp-field/root/OtpFieldRoot.vue +583 -0
  71. package/src/otp-field/root/OtpFieldRootContext.ts +81 -0
  72. package/src/otp-field/utils/otp.ts +135 -0
  73. package/src/otp-field/utils/stateAttributesMapping.ts +16 -0
  74. package/src/progress/index.ts +23 -0
  75. package/src/progress/indicator/ProgressIndicator.vue +74 -0
  76. package/src/progress/label/ProgressLabel.vue +63 -0
  77. package/src/progress/root/ProgressRoot.vue +160 -0
  78. package/src/progress/root/ProgressRootContext.ts +51 -0
  79. package/src/progress/root/ProgressRootDataAttributes.ts +14 -0
  80. package/src/progress/root/stateAttributesMapping.ts +18 -0
  81. package/src/progress/track/ProgressTrack.vue +48 -0
  82. package/src/progress/value/ProgressValue.vue +92 -0
  83. package/src/scroll-area/constants.ts +2 -0
  84. package/src/scroll-area/content/ScrollAreaContent.vue +87 -0
  85. package/src/scroll-area/corner/ScrollAreaCorner.vue +64 -0
  86. package/src/scroll-area/index.ts +25 -0
  87. package/src/scroll-area/root/ScrollAreaRoot.vue +297 -0
  88. package/src/scroll-area/root/ScrollAreaRootContext.ts +89 -0
  89. package/src/scroll-area/root/ScrollAreaRootCssVars.ts +4 -0
  90. package/src/scroll-area/root/ScrollAreaRootDataAttributes.ts +9 -0
  91. package/src/scroll-area/root/stateAttributes.ts +14 -0
  92. package/src/scroll-area/scrollbar/ScrollAreaScrollbar.vue +263 -0
  93. package/src/scroll-area/scrollbar/ScrollAreaScrollbarContext.ts +20 -0
  94. package/src/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.ts +4 -0
  95. package/src/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.ts +11 -0
  96. package/src/scroll-area/thumb/ScrollAreaThumb.vue +120 -0
  97. package/src/scroll-area/thumb/ScrollAreaThumbDataAttributes.ts +3 -0
  98. package/src/scroll-area/utils/getOffset.ts +34 -0
  99. package/src/scroll-area/viewport/ScrollAreaViewport.vue +379 -0
  100. package/src/scroll-area/viewport/ScrollAreaViewportContext.ts +20 -0
  101. package/src/scroll-area/viewport/ScrollAreaViewportCssVars.ts +6 -0
  102. package/src/scroll-area/viewport/ScrollAreaViewportDataAttributes.ts +9 -0
  103. package/src/utils/detectBrowser.ts +15 -0
  104. package/src/utils/formatNumber.ts +60 -2
  105. package/src/utils/scrollEdges.ts +33 -0
  106. package/src/utils/styles.ts +28 -0
  107. package/src/utils/useInterval.ts +45 -0
  108. package/src/utils/usePressAndHold.ts +260 -0
  109. package/src/utils/useValueChanged.ts +21 -0
@@ -322,6 +322,12 @@ Object.defineProperty(exports, 'CompositeItem_default', {
322
322
  return CompositeItem_default;
323
323
  }
324
324
  });
325
+ Object.defineProperty(exports, 'IndexGuessBehavior', {
326
+ enumerable: true,
327
+ get: function () {
328
+ return IndexGuessBehavior;
329
+ }
330
+ });
325
331
  Object.defineProperty(exports, 'ToolbarButton_default', {
326
332
  enumerable: true,
327
333
  get: function () {
@@ -316,5 +316,5 @@ var ToolbarButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
316
316
  var ToolbarButton_default = ToolbarButton_vue_vue_type_script_setup_true_lang_default;
317
317
 
318
318
  //#endregion
319
- export { CompositeItem_default, ToolbarButton_default, compositeListContextKey, toolbarGroupContextKey, toolbarRootContextKey, useCompositeListItem, useToolbarGroupContext, useToolbarRootContext };
319
+ export { CompositeItem_default, IndexGuessBehavior, ToolbarButton_default, compositeListContextKey, toolbarGroupContextKey, toolbarRootContextKey, useCompositeListItem, useToolbarGroupContext, useToolbarRootContext };
320
320
  //# sourceMappingURL=ToolbarButton.js.map
@@ -0,0 +1,168 @@
1
+ const require_button_Button = require('../button/Button.cjs');
2
+ let vue = require("vue");
3
+
4
+ //#region src/scroll-area/root/ScrollAreaRootContext.ts
5
+ const scrollAreaRootContextKey = Symbol("ScrollAreaRootContext");
6
+ function useScrollAreaRootContext() {
7
+ const context = (0, vue.inject)(scrollAreaRootContextKey);
8
+ if (context === void 0) throw new Error("Base UI: ScrollAreaRootContext is missing. ScrollArea parts must be placed within <ScrollAreaRoot>.");
9
+ return context;
10
+ }
11
+
12
+ //#endregion
13
+ //#region src/scroll-area/root/ScrollAreaRootDataAttributes.ts
14
+ let ScrollAreaRootDataAttributes = /* @__PURE__ */ function(ScrollAreaRootDataAttributes) {
15
+ ScrollAreaRootDataAttributes["scrolling"] = "data-scrolling";
16
+ ScrollAreaRootDataAttributes["hasOverflowX"] = "data-has-overflow-x";
17
+ ScrollAreaRootDataAttributes["hasOverflowY"] = "data-has-overflow-y";
18
+ ScrollAreaRootDataAttributes["overflowXStart"] = "data-overflow-x-start";
19
+ ScrollAreaRootDataAttributes["overflowXEnd"] = "data-overflow-x-end";
20
+ ScrollAreaRootDataAttributes["overflowYStart"] = "data-overflow-y-start";
21
+ ScrollAreaRootDataAttributes["overflowYEnd"] = "data-overflow-y-end";
22
+ return ScrollAreaRootDataAttributes;
23
+ }({});
24
+
25
+ //#endregion
26
+ //#region src/scroll-area/root/stateAttributes.ts
27
+ const scrollAreaStateAttributesMapping = {
28
+ scrolling: (value) => value ? { [ScrollAreaRootDataAttributes.scrolling]: "" } : null,
29
+ hasOverflowX: (value) => value ? { [ScrollAreaRootDataAttributes.hasOverflowX]: "" } : null,
30
+ hasOverflowY: (value) => value ? { [ScrollAreaRootDataAttributes.hasOverflowY]: "" } : null,
31
+ overflowXStart: (value) => value ? { [ScrollAreaRootDataAttributes.overflowXStart]: "" } : null,
32
+ overflowXEnd: (value) => value ? { [ScrollAreaRootDataAttributes.overflowXEnd]: "" } : null,
33
+ overflowYStart: (value) => value ? { [ScrollAreaRootDataAttributes.overflowYStart]: "" } : null,
34
+ overflowYEnd: (value) => value ? { [ScrollAreaRootDataAttributes.overflowYEnd]: "" } : null,
35
+ cornerHidden: () => null
36
+ };
37
+
38
+ //#endregion
39
+ //#region src/scroll-area/viewport/ScrollAreaViewportContext.ts
40
+ const scrollAreaViewportContextKey = Symbol("ScrollAreaViewportContext");
41
+ function useScrollAreaViewportContext() {
42
+ const context = (0, vue.inject)(scrollAreaViewportContextKey);
43
+ if (context === void 0) throw new Error("Base UI: ScrollAreaViewportContext is missing. ScrollArea.Content must be placed within <ScrollAreaViewport>.");
44
+ return context;
45
+ }
46
+
47
+ //#endregion
48
+ //#region src/scroll-area/content/ScrollAreaContent.vue?vue&type=script&setup=true&lang.ts
49
+ var ScrollAreaContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
50
+ name: "ScrollAreaContent",
51
+ inheritAttrs: false,
52
+ __name: "ScrollAreaContent",
53
+ props: {
54
+ as: {
55
+ type: null,
56
+ required: false,
57
+ default: "div"
58
+ },
59
+ class: {
60
+ type: Function,
61
+ required: false,
62
+ skipCheck: true
63
+ },
64
+ style: {
65
+ type: [
66
+ Boolean,
67
+ null,
68
+ String,
69
+ Object,
70
+ Array,
71
+ Function
72
+ ],
73
+ required: false,
74
+ skipCheck: true
75
+ }
76
+ },
77
+ setup(__props) {
78
+ const props = __props;
79
+ const attrs = (0, vue.useAttrs)();
80
+ const contentWrapperRef = (0, vue.shallowRef)(null);
81
+ const { computeThumbPosition } = useScrollAreaViewportContext();
82
+ const { viewportState } = useScrollAreaRootContext();
83
+ let resizeObserver;
84
+ (0, vue.onMounted)(() => {
85
+ if (typeof ResizeObserver === "undefined") return;
86
+ let hasInitialized = false;
87
+ resizeObserver = new ResizeObserver(() => {
88
+ if (!hasInitialized) {
89
+ hasInitialized = true;
90
+ return;
91
+ }
92
+ computeThumbPosition();
93
+ });
94
+ if (contentWrapperRef.value) resizeObserver.observe(contentWrapperRef.value);
95
+ });
96
+ (0, vue.onBeforeUnmount)(() => {
97
+ resizeObserver?.disconnect();
98
+ });
99
+ const { tag, mergedProps, renderless, ref: renderRef } = require_button_Button.useRenderElement({
100
+ componentProps: props,
101
+ state: viewportState,
102
+ props: (0, vue.computed)(() => require_button_Button.mergeProps(attrs, {
103
+ role: "presentation",
104
+ style: { minWidth: "fit-content" }
105
+ })),
106
+ stateAttributesMapping: scrollAreaStateAttributesMapping,
107
+ defaultTagName: "div",
108
+ ref: contentWrapperRef
109
+ });
110
+ return (_ctx, _cache) => {
111
+ return (0, vue.unref)(renderless) ? (0, vue.renderSlot)(_ctx.$slots, "default", {
112
+ key: 0,
113
+ ref: (0, vue.unref)(renderRef),
114
+ props: (0, vue.unref)(mergedProps),
115
+ state: (0, vue.unref)(viewportState)
116
+ }) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(tag)), (0, vue.mergeProps)({
117
+ key: 1,
118
+ ref: (0, vue.unref)(renderRef)
119
+ }, (0, vue.unref)(mergedProps)), {
120
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
121
+ _: 3
122
+ }, 16));
123
+ };
124
+ }
125
+ });
126
+
127
+ //#endregion
128
+ //#region src/scroll-area/content/ScrollAreaContent.vue
129
+ var ScrollAreaContent_default = ScrollAreaContent_vue_vue_type_script_setup_true_lang_default;
130
+
131
+ //#endregion
132
+ Object.defineProperty(exports, 'ScrollAreaContent_default', {
133
+ enumerable: true,
134
+ get: function () {
135
+ return ScrollAreaContent_default;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, 'ScrollAreaRootDataAttributes', {
139
+ enumerable: true,
140
+ get: function () {
141
+ return ScrollAreaRootDataAttributes;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, 'scrollAreaRootContextKey', {
145
+ enumerable: true,
146
+ get: function () {
147
+ return scrollAreaRootContextKey;
148
+ }
149
+ });
150
+ Object.defineProperty(exports, 'scrollAreaStateAttributesMapping', {
151
+ enumerable: true,
152
+ get: function () {
153
+ return scrollAreaStateAttributesMapping;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, 'scrollAreaViewportContextKey', {
157
+ enumerable: true,
158
+ get: function () {
159
+ return scrollAreaViewportContextKey;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, 'useScrollAreaRootContext', {
163
+ enumerable: true,
164
+ get: function () {
165
+ return useScrollAreaRootContext;
166
+ }
167
+ });
168
+ //# sourceMappingURL=ScrollAreaContent.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollAreaContent.cjs","names":[],"sources":["../../src/scroll-area/root/ScrollAreaRootContext.ts","../../src/scroll-area/root/ScrollAreaRootDataAttributes.ts","../../src/scroll-area/root/stateAttributes.ts","../../src/scroll-area/viewport/ScrollAreaViewportContext.ts","../../src/scroll-area/content/ScrollAreaContent.vue","../../src/scroll-area/content/ScrollAreaContent.vue"],"sourcesContent":[],"mappings":";;;;AA4EA,MAAa,2BAA2B,OACtC,wBACD;AAED,SAAgB,2BAAkD;CAChE,MAAM,0BAAiB,yBAAyB;AAChD,KAAI,YAAY,OACd,OAAM,IAAI,MACR,sGACD;AAEH,QAAO;;;;;ACvFT,IAAY,sFAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACHF,MAAa,mCAAgF;CAC3F,YAAW,UAAU,QAAQ,GAAG,6BAA6B,YAAY,IAAI,GAAG;CAChF,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,iBAAgB,UAAU,QAAQ,GAAG,6BAA6B,iBAAiB,IAAI,GAAG;CAC1F,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,iBAAgB,UAAU,QAAQ,GAAG,6BAA6B,iBAAiB,IAAI,GAAG;CAC1F,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,oBAAoB;CACrB;;;;ACND,MAAa,+BAA+B,OAC1C,4BACD;AAED,SAAgB,+BAA0D;CACxE,MAAM,0BAAiB,6BAA6B;AACpD,KAAI,YAAY,OACd,OAAM,IAAI,MACR,gHACD;AAEH,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECCT,MAAM,QAAQ;EAId,MAAM,2BAAiB;EAEvB,MAAM,wCAAsD,KAAI;EAChE,MAAM,EAAE,yBAAyB,8BAA6B;EAC9D,MAAM,EAAE,kBAAkB,0BAAyB;EAEnD,IAAI;AAEJ,2BAAgB;AACd,OAAI,OAAO,mBAAmB,YAC5B;GAEF,IAAI,iBAAiB;AACrB,oBAAiB,IAAI,qBAAqB;AACxC,QAAI,CAAC,gBAAgB;AACnB,sBAAiB;AACjB;;AAEF,0BAAqB;KACtB;AAED,OAAI,kBAAkB,MACpB,gBAAe,QAAQ,kBAAkB,MAAK;IAEjD;AAED,iCAAsB;AACpB,mBAAgB,YAAW;IAC5B;EAUD,MAAM,EACJ,KACA,aACA,YACA,KAAK,cACH,uCAAiB;GACnB,gBAAgB;GAChB,OAAO;GACP,+BAhBkC,iCAClC,OACA;IACE,MAAM;IACN,OAAO,EAAE,UAAU,eAAe;IACnC,CACF,CAAA;GAWC,wBAAwB;GACxB,gBAAgB;GAChB,KAAK;GACN,CAAA;;yBAIa,WAAU,uBAAiE,KAAA,QAAA,WAAA;;IAA9D,oBAAK,UAAS;IAAG,sBAAO,YAAW;IAAG,sBAAO,cAAa;oGAE5E,IAAG,CAAA,sBAME;;IAJT,oBAAK,UAAS;qBACP,YAAW,CAAA,EAAA;oCAEX,qBAAA,KAAA,QAAA,UAAA"}
@@ -0,0 +1,133 @@
1
+ import { mergeProps as mergeProps$1, useRenderElement } from "../button/Button.js";
2
+ import { computed, createBlock, createCommentVNode, defineComponent, inject, mergeProps, onBeforeUnmount, onMounted, openBlock, renderSlot, resolveDynamicComponent, shallowRef, unref, useAttrs, withCtx } from "vue";
3
+
4
+ //#region src/scroll-area/root/ScrollAreaRootContext.ts
5
+ const scrollAreaRootContextKey = Symbol("ScrollAreaRootContext");
6
+ function useScrollAreaRootContext() {
7
+ const context = inject(scrollAreaRootContextKey);
8
+ if (context === void 0) throw new Error("Base UI: ScrollAreaRootContext is missing. ScrollArea parts must be placed within <ScrollAreaRoot>.");
9
+ return context;
10
+ }
11
+
12
+ //#endregion
13
+ //#region src/scroll-area/root/ScrollAreaRootDataAttributes.ts
14
+ let ScrollAreaRootDataAttributes = /* @__PURE__ */ function(ScrollAreaRootDataAttributes) {
15
+ ScrollAreaRootDataAttributes["scrolling"] = "data-scrolling";
16
+ ScrollAreaRootDataAttributes["hasOverflowX"] = "data-has-overflow-x";
17
+ ScrollAreaRootDataAttributes["hasOverflowY"] = "data-has-overflow-y";
18
+ ScrollAreaRootDataAttributes["overflowXStart"] = "data-overflow-x-start";
19
+ ScrollAreaRootDataAttributes["overflowXEnd"] = "data-overflow-x-end";
20
+ ScrollAreaRootDataAttributes["overflowYStart"] = "data-overflow-y-start";
21
+ ScrollAreaRootDataAttributes["overflowYEnd"] = "data-overflow-y-end";
22
+ return ScrollAreaRootDataAttributes;
23
+ }({});
24
+
25
+ //#endregion
26
+ //#region src/scroll-area/root/stateAttributes.ts
27
+ const scrollAreaStateAttributesMapping = {
28
+ scrolling: (value) => value ? { [ScrollAreaRootDataAttributes.scrolling]: "" } : null,
29
+ hasOverflowX: (value) => value ? { [ScrollAreaRootDataAttributes.hasOverflowX]: "" } : null,
30
+ hasOverflowY: (value) => value ? { [ScrollAreaRootDataAttributes.hasOverflowY]: "" } : null,
31
+ overflowXStart: (value) => value ? { [ScrollAreaRootDataAttributes.overflowXStart]: "" } : null,
32
+ overflowXEnd: (value) => value ? { [ScrollAreaRootDataAttributes.overflowXEnd]: "" } : null,
33
+ overflowYStart: (value) => value ? { [ScrollAreaRootDataAttributes.overflowYStart]: "" } : null,
34
+ overflowYEnd: (value) => value ? { [ScrollAreaRootDataAttributes.overflowYEnd]: "" } : null,
35
+ cornerHidden: () => null
36
+ };
37
+
38
+ //#endregion
39
+ //#region src/scroll-area/viewport/ScrollAreaViewportContext.ts
40
+ const scrollAreaViewportContextKey = Symbol("ScrollAreaViewportContext");
41
+ function useScrollAreaViewportContext() {
42
+ const context = inject(scrollAreaViewportContextKey);
43
+ if (context === void 0) throw new Error("Base UI: ScrollAreaViewportContext is missing. ScrollArea.Content must be placed within <ScrollAreaViewport>.");
44
+ return context;
45
+ }
46
+
47
+ //#endregion
48
+ //#region src/scroll-area/content/ScrollAreaContent.vue?vue&type=script&setup=true&lang.ts
49
+ var ScrollAreaContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
50
+ name: "ScrollAreaContent",
51
+ inheritAttrs: false,
52
+ __name: "ScrollAreaContent",
53
+ props: {
54
+ as: {
55
+ type: null,
56
+ required: false,
57
+ default: "div"
58
+ },
59
+ class: {
60
+ type: Function,
61
+ required: false,
62
+ skipCheck: true
63
+ },
64
+ style: {
65
+ type: [
66
+ Boolean,
67
+ null,
68
+ String,
69
+ Object,
70
+ Array,
71
+ Function
72
+ ],
73
+ required: false,
74
+ skipCheck: true
75
+ }
76
+ },
77
+ setup(__props) {
78
+ const props = __props;
79
+ const attrs = useAttrs();
80
+ const contentWrapperRef = shallowRef(null);
81
+ const { computeThumbPosition } = useScrollAreaViewportContext();
82
+ const { viewportState } = useScrollAreaRootContext();
83
+ let resizeObserver;
84
+ onMounted(() => {
85
+ if (typeof ResizeObserver === "undefined") return;
86
+ let hasInitialized = false;
87
+ resizeObserver = new ResizeObserver(() => {
88
+ if (!hasInitialized) {
89
+ hasInitialized = true;
90
+ return;
91
+ }
92
+ computeThumbPosition();
93
+ });
94
+ if (contentWrapperRef.value) resizeObserver.observe(contentWrapperRef.value);
95
+ });
96
+ onBeforeUnmount(() => {
97
+ resizeObserver?.disconnect();
98
+ });
99
+ const { tag, mergedProps, renderless, ref: renderRef } = useRenderElement({
100
+ componentProps: props,
101
+ state: viewportState,
102
+ props: computed(() => mergeProps$1(attrs, {
103
+ role: "presentation",
104
+ style: { minWidth: "fit-content" }
105
+ })),
106
+ stateAttributesMapping: scrollAreaStateAttributesMapping,
107
+ defaultTagName: "div",
108
+ ref: contentWrapperRef
109
+ });
110
+ return (_ctx, _cache) => {
111
+ return unref(renderless) ? renderSlot(_ctx.$slots, "default", {
112
+ key: 0,
113
+ ref: unref(renderRef),
114
+ props: unref(mergedProps),
115
+ state: unref(viewportState)
116
+ }) : (openBlock(), createBlock(resolveDynamicComponent(unref(tag)), mergeProps({
117
+ key: 1,
118
+ ref: unref(renderRef)
119
+ }, unref(mergedProps)), {
120
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
121
+ _: 3
122
+ }, 16));
123
+ };
124
+ }
125
+ });
126
+
127
+ //#endregion
128
+ //#region src/scroll-area/content/ScrollAreaContent.vue
129
+ var ScrollAreaContent_default = ScrollAreaContent_vue_vue_type_script_setup_true_lang_default;
130
+
131
+ //#endregion
132
+ export { ScrollAreaContent_default, ScrollAreaRootDataAttributes, scrollAreaRootContextKey, scrollAreaStateAttributesMapping, scrollAreaViewportContextKey, useScrollAreaRootContext };
133
+ //# sourceMappingURL=ScrollAreaContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollAreaContent.js","names":[],"sources":["../../src/scroll-area/root/ScrollAreaRootContext.ts","../../src/scroll-area/root/ScrollAreaRootDataAttributes.ts","../../src/scroll-area/root/stateAttributes.ts","../../src/scroll-area/viewport/ScrollAreaViewportContext.ts","../../src/scroll-area/content/ScrollAreaContent.vue","../../src/scroll-area/content/ScrollAreaContent.vue"],"sourcesContent":[],"mappings":";;;;AA4EA,MAAa,2BAA2B,OACtC,wBACD;AAED,SAAgB,2BAAkD;CAChE,MAAM,UAAU,OAAO,yBAAyB;AAChD,KAAI,YAAY,OACd,OAAM,IAAI,MACR,sGACD;AAEH,QAAO;;;;;ACvFT,IAAY,sFAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACHF,MAAa,mCAAgF;CAC3F,YAAW,UAAU,QAAQ,GAAG,6BAA6B,YAAY,IAAI,GAAG;CAChF,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,iBAAgB,UAAU,QAAQ,GAAG,6BAA6B,iBAAiB,IAAI,GAAG;CAC1F,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,iBAAgB,UAAU,QAAQ,GAAG,6BAA6B,iBAAiB,IAAI,GAAG;CAC1F,eAAc,UAAU,QAAQ,GAAG,6BAA6B,eAAe,IAAI,GAAG;CACtF,oBAAoB;CACrB;;;;ACND,MAAa,+BAA+B,OAC1C,4BACD;AAED,SAAgB,+BAA0D;CACxE,MAAM,UAAU,OAAO,6BAA6B;AACpD,KAAI,YAAY,OACd,OAAM,IAAI,MACR,gHACD;AAEH,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECCT,MAAM,QAAQ;EAId,MAAM,QAAQ,UAAS;EAEvB,MAAM,oBAAoB,WAAkC,KAAI;EAChE,MAAM,EAAE,yBAAyB,8BAA6B;EAC9D,MAAM,EAAE,kBAAkB,0BAAyB;EAEnD,IAAI;AAEJ,kBAAgB;AACd,OAAI,OAAO,mBAAmB,YAC5B;GAEF,IAAI,iBAAiB;AACrB,oBAAiB,IAAI,qBAAqB;AACxC,QAAI,CAAC,gBAAgB;AACnB,sBAAiB;AACjB;;AAEF,0BAAqB;KACtB;AAED,OAAI,kBAAkB,MACpB,gBAAe,QAAQ,kBAAkB,MAAK;IAEjD;AAED,wBAAsB;AACpB,mBAAgB,YAAW;IAC5B;EAUD,MAAM,EACJ,KACA,aACA,YACA,KAAK,cACH,iBAAiB;GACnB,gBAAgB;GAChB,OAAO;GACP,OAhBmB,eAAe,aAClC,OACA;IACE,MAAM;IACN,OAAO,EAAE,UAAU,eAAe;IACnC,CACF,CAAA;GAWC,wBAAwB;GACxB,gBAAgB;GAChB,KAAK;GACN,CAAA;;UAIa,MAAA,WAAU,GAAtB,WAAuF,KAAA,QAAA,WAAA;;IAA9D,KAAK,MAAA,UAAS;IAAG,OAAO,MAAA,YAAW;IAAG,OAAO,MAAA,cAAa;sBACnF,YAOY,wBANL,MAAA,IAAG,CAAA,EADV,WAOY;;IAJT,KAAK,MAAA,UAAS;MACP,MAAA,YAAW,CAAA,EAAA;2BAEX,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -2,7 +2,7 @@ import { mergeProps as mergeProps$1, useRenderElement } from "../button/Button.j
2
2
  import { REASONS, createChangeEventDetails, createGenericEventDetails, useAnimationFrame } from "../checkbox/index.js";
3
3
  import { fieldValidityMapping } from "../checkbox-group/CheckboxGroup.js";
4
4
  import { computed, createBlock, createCommentVNode, defineComponent, inject, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, resolveDynamicComponent, unref, useAttrs, watchEffect, withCtx } from "vue";
5
- import { isElement, isShadowRoot } from "@floating-ui/utils/dom";
5
+ import { getWindow as ownerWindow, isElement, isShadowRoot } from "@floating-ui/utils/dom";
6
6
 
7
7
  //#region src/direction-provider/DirectionContext.ts
8
8
  /**
@@ -549,5 +549,5 @@ var SliderControl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
549
549
  var SliderControl_default = SliderControl_vue_vue_type_script_setup_true_lang_default;
550
550
 
551
551
  //#endregion
552
- export { SliderControl_default, activeElement, clamp, contains, directionContextKey, getMidpoint, getTarget, ownerDocument, roundValueToStep, sliderRootContextKey, sliderStateAttributesMapping, useDirection, useSliderRootContext, validateMinimumDistance };
552
+ export { SliderControl_default, activeElement, clamp, contains, directionContextKey, getMidpoint, getTarget, ownerDocument, ownerWindow, roundValueToStep, sliderRootContextKey, sliderStateAttributesMapping, useDirection, useSliderRootContext, validateMinimumDistance };
553
553
  //# sourceMappingURL=SliderControl.js.map
@@ -0,0 +1,77 @@
1
+ const require_button_Button = require('../button/Button.cjs');
2
+ const require_content_ScrollAreaContent = require('../content/ScrollAreaContent.cjs');
3
+ let vue = require("vue");
4
+
5
+ //#region src/scroll-area/corner/ScrollAreaCorner.vue?vue&type=script&setup=true&lang.ts
6
+ var ScrollAreaCorner_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
7
+ name: "ScrollAreaCorner",
8
+ inheritAttrs: false,
9
+ __name: "ScrollAreaCorner",
10
+ props: {
11
+ as: {
12
+ type: null,
13
+ required: false,
14
+ default: "div"
15
+ },
16
+ class: {
17
+ type: Function,
18
+ required: false,
19
+ skipCheck: true
20
+ },
21
+ style: {
22
+ type: [
23
+ Boolean,
24
+ null,
25
+ String,
26
+ Object,
27
+ Array,
28
+ Function
29
+ ],
30
+ required: false,
31
+ skipCheck: true
32
+ }
33
+ },
34
+ setup(__props) {
35
+ const props = __props;
36
+ const attrs = (0, vue.useAttrs)();
37
+ const { cornerRef, cornerSize, hiddenState } = require_content_ScrollAreaContent.useScrollAreaRootContext();
38
+ const state = (0, vue.computed)(() => ({}));
39
+ const { tag, mergedProps, renderless, ref: renderRef } = require_button_Button.useRenderElement({
40
+ componentProps: props,
41
+ state,
42
+ props: (0, vue.computed)(() => require_button_Button.mergeProps(attrs, { style: {
43
+ position: "absolute",
44
+ bottom: 0,
45
+ insetInlineEnd: 0,
46
+ width: cornerSize.value.width,
47
+ height: cornerSize.value.height
48
+ } })),
49
+ defaultTagName: "div",
50
+ ref: cornerRef
51
+ });
52
+ return (_ctx, _cache) => {
53
+ return !(0, vue.unref)(hiddenState).corner ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [(0, vue.unref)(renderless) ? (0, vue.renderSlot)(_ctx.$slots, "default", {
54
+ key: 0,
55
+ ref: (0, vue.unref)(renderRef),
56
+ props: (0, vue.unref)(mergedProps),
57
+ state: state.value
58
+ }) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(tag)), (0, vue.mergeProps)({
59
+ key: 1,
60
+ ref: (0, vue.unref)(renderRef)
61
+ }, (0, vue.unref)(mergedProps)), null, 16))], 64)) : (0, vue.createCommentVNode)("v-if", true);
62
+ };
63
+ }
64
+ });
65
+
66
+ //#endregion
67
+ //#region src/scroll-area/corner/ScrollAreaCorner.vue
68
+ var ScrollAreaCorner_default = ScrollAreaCorner_vue_vue_type_script_setup_true_lang_default;
69
+
70
+ //#endregion
71
+ Object.defineProperty(exports, 'ScrollAreaCorner_default', {
72
+ enumerable: true,
73
+ get: function () {
74
+ return ScrollAreaCorner_default;
75
+ }
76
+ });
77
+ //# sourceMappingURL=ScrollAreaCorner.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollAreaCorner.cjs","names":[],"sources":["../../src/scroll-area/corner/ScrollAreaCorner.vue","../../src/scroll-area/corner/ScrollAreaCorner.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EAId,MAAM,2BAAiB;EAEvB,MAAM,EAAE,WAAW,YAAY,gBAAgB,4DAAyB;EAExE,MAAM,iCAA+C,EAAE,EAAC;EAexD,MAAM,EACJ,KACA,aACA,YACA,KAAK,cACH,uCAAiB;GACnB,gBAAgB;GAChB;GACA,+BArBkC,iCAClC,OACA,EACE,OAAO;IACL,UAAU;IACV,QAAQ;IACR,gBAAgB;IAChB,OAAO,WAAW,MAAM;IACxB,QAAQ,WAAW,MAAM;IAC1B,EACF,CACF,CAAA;GAWC,gBAAgB;GAChB,KAAK;GACN,CAAA;;0BAIkB,YAAW,CAAC,4DAQlB,cAAA,EAAA,KAAA,GAAA,EAAA,gBAPG,WAAU,uBAAyD,KAAA,QAAA,WAAA;;IAAtD,oBAAK,UAAS;IAAG,sBAAO,YAAW;IAAG,OAAO,MAAA;oGAE/D,IAAG,CAAA,sBAIR;;IAFC,oBAAK,UAAS;qBACP,YAAW,CAAA,EAAA,MAAA,GAAA"}
@@ -0,0 +1,72 @@
1
+ import { mergeProps as mergeProps$1, useRenderElement } from "../button/Button.js";
2
+ import { useScrollAreaRootContext } from "../content/ScrollAreaContent.js";
3
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot, resolveDynamicComponent, unref, useAttrs } from "vue";
4
+
5
+ //#region src/scroll-area/corner/ScrollAreaCorner.vue?vue&type=script&setup=true&lang.ts
6
+ var ScrollAreaCorner_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
7
+ name: "ScrollAreaCorner",
8
+ inheritAttrs: false,
9
+ __name: "ScrollAreaCorner",
10
+ props: {
11
+ as: {
12
+ type: null,
13
+ required: false,
14
+ default: "div"
15
+ },
16
+ class: {
17
+ type: Function,
18
+ required: false,
19
+ skipCheck: true
20
+ },
21
+ style: {
22
+ type: [
23
+ Boolean,
24
+ null,
25
+ String,
26
+ Object,
27
+ Array,
28
+ Function
29
+ ],
30
+ required: false,
31
+ skipCheck: true
32
+ }
33
+ },
34
+ setup(__props) {
35
+ const props = __props;
36
+ const attrs = useAttrs();
37
+ const { cornerRef, cornerSize, hiddenState } = useScrollAreaRootContext();
38
+ const state = computed(() => ({}));
39
+ const { tag, mergedProps, renderless, ref: renderRef } = useRenderElement({
40
+ componentProps: props,
41
+ state,
42
+ props: computed(() => mergeProps$1(attrs, { style: {
43
+ position: "absolute",
44
+ bottom: 0,
45
+ insetInlineEnd: 0,
46
+ width: cornerSize.value.width,
47
+ height: cornerSize.value.height
48
+ } })),
49
+ defaultTagName: "div",
50
+ ref: cornerRef
51
+ });
52
+ return (_ctx, _cache) => {
53
+ return !unref(hiddenState).corner ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [unref(renderless) ? renderSlot(_ctx.$slots, "default", {
54
+ key: 0,
55
+ ref: unref(renderRef),
56
+ props: unref(mergedProps),
57
+ state: state.value
58
+ }) : (openBlock(), createBlock(resolveDynamicComponent(unref(tag)), mergeProps({
59
+ key: 1,
60
+ ref: unref(renderRef)
61
+ }, unref(mergedProps)), null, 16))], 64)) : createCommentVNode("v-if", true);
62
+ };
63
+ }
64
+ });
65
+
66
+ //#endregion
67
+ //#region src/scroll-area/corner/ScrollAreaCorner.vue
68
+ var ScrollAreaCorner_default = ScrollAreaCorner_vue_vue_type_script_setup_true_lang_default;
69
+
70
+ //#endregion
71
+ export { ScrollAreaCorner_default };
72
+ //# sourceMappingURL=ScrollAreaCorner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollAreaCorner.js","names":[],"sources":["../../src/scroll-area/corner/ScrollAreaCorner.vue","../../src/scroll-area/corner/ScrollAreaCorner.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EAId,MAAM,QAAQ,UAAS;EAEvB,MAAM,EAAE,WAAW,YAAY,gBAAgB,0BAAyB;EAExE,MAAM,QAAQ,gBAAuC,EAAE,EAAC;EAexD,MAAM,EACJ,KACA,aACA,YACA,KAAK,cACH,iBAAiB;GACnB,gBAAgB;GAChB;GACA,OArBmB,eAAe,aAClC,OACA,EACE,OAAO;IACL,UAAU;IACV,QAAQ;IACR,gBAAgB;IAChB,OAAO,WAAW,MAAM;IACxB,QAAQ,WAAW,MAAM;IAC1B,EACF,CACF,CAAA;GAWC,gBAAgB;GAChB,KAAK;GACN,CAAA;;WAIkB,MAAA,YAAW,CAAC,uBAA7B,mBAQW,UAAA,EAAA,KAAA,GAAA,EAAA,CAPG,MAAA,WAAU,GAAtB,WAA+E,KAAA,QAAA,WAAA;;IAAtD,KAAK,MAAA,UAAS;IAAG,OAAO,MAAA,YAAW;IAAG,OAAO,MAAA;sBACtE,YAKE,wBAJK,MAAA,IAAG,CAAA,EADV,WAKE;;IAFC,KAAK,MAAA,UAAS;MACP,MAAA,YAAW,CAAA,EAAA,MAAA,GAAA"}