@octanejs/base-ui 0.1.30 → 0.1.32

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 (201) hide show
  1. package/dist/cjs/accordion.cjs +497 -0
  2. package/dist/cjs/alert-dialog.cjs +65 -0
  3. package/dist/cjs/avatar.cjs +234 -0
  4. package/dist/cjs/button.cjs +54 -0
  5. package/dist/cjs/checkbox-group.cjs +165 -0
  6. package/dist/cjs/checkbox.cjs +475 -0
  7. package/dist/cjs/collapsible.cjs +700 -0
  8. package/dist/cjs/context-menu.cjs +257 -0
  9. package/dist/cjs/csp-provider.cjs +40 -0
  10. package/dist/cjs/dialog.cjs +741 -0
  11. package/dist/cjs/direction-provider.cjs +35 -0
  12. package/dist/cjs/field.cjs +559 -0
  13. package/dist/cjs/fieldset.cjs +101 -0
  14. package/dist/cjs/form.cjs +177 -0
  15. package/dist/cjs/index.cjs +133 -0
  16. package/dist/cjs/input.cjs +32 -0
  17. package/dist/cjs/internal.cjs +51 -0
  18. package/dist/cjs/menu.cjs +2420 -0
  19. package/dist/cjs/menubar.cjs +132 -0
  20. package/dist/cjs/merge-props.cjs +34 -0
  21. package/dist/cjs/meter.cjs +169 -0
  22. package/dist/cjs/number-field.cjs +812 -0
  23. package/dist/cjs/popover.cjs +966 -0
  24. package/dist/cjs/preview-card.cjs +632 -0
  25. package/dist/cjs/progress.cjs +206 -0
  26. package/dist/cjs/radio-group.cjs +264 -0
  27. package/dist/cjs/radio.cjs +327 -0
  28. package/dist/cjs/separator.cjs +44 -0
  29. package/dist/cjs/slider.cjs +1384 -0
  30. package/dist/cjs/switch.cjs +306 -0
  31. package/dist/cjs/tabs.cjs +727 -0
  32. package/dist/cjs/toast.cjs +1766 -0
  33. package/dist/cjs/toggle-group.cjs +118 -0
  34. package/dist/cjs/toggle.cjs +121 -0
  35. package/dist/cjs/tooltip.cjs +835 -0
  36. package/dist/cjs/unstable-use-media-query.cjs +79 -0
  37. package/dist/cjs/use-render.cjs +40 -0
  38. package/dist/cjs/utils/CSPContext.cjs +38 -0
  39. package/dist/cjs/utils/CheckboxGroupContext.cjs +40 -0
  40. package/dist/cjs/utils/CompositeRootContext.cjs +40 -0
  41. package/dist/cjs/utils/ContextMenuRootContext.cjs +42 -0
  42. package/dist/cjs/utils/DirectionContext.cjs +34 -0
  43. package/dist/cjs/utils/FloatingPortalLite.cjs +47 -0
  44. package/dist/cjs/utils/InternalBackdrop.cjs +49 -0
  45. package/dist/cjs/utils/MenubarContext.cjs +40 -0
  46. package/dist/cjs/utils/RadioGroupContext.cjs +34 -0
  47. package/dist/cjs/utils/RequestQueue.cjs +111 -0
  48. package/dist/cjs/utils/TimeoutManager.cjs +50 -0
  49. package/dist/cjs/utils/ToggleGroupContext.cjs +40 -0
  50. package/dist/cjs/utils/adaptiveOriginMiddleware.cjs +94 -0
  51. package/dist/cjs/utils/addEventListener.cjs +33 -0
  52. package/dist/cjs/utils/areArraysEqual.cjs +30 -0
  53. package/dist/cjs/utils/clamp.cjs +30 -0
  54. package/dist/cjs/utils/closePart.cjs +70 -0
  55. package/dist/cjs/utils/collapsibleOpenStateMapping.cjs +42 -0
  56. package/dist/cjs/utils/composeRefs.cjs +68 -0
  57. package/dist/cjs/utils/composite/CompositeItem.cjs +59 -0
  58. package/dist/cjs/utils/composite/CompositeList.cjs +177 -0
  59. package/dist/cjs/utils/composite/CompositeListContext.cjs +43 -0
  60. package/dist/cjs/utils/composite/CompositeRoot.cjs +118 -0
  61. package/dist/cjs/utils/composite/grid-utils.cjs +343 -0
  62. package/dist/cjs/utils/composite/gridNavigation.cjs +92 -0
  63. package/dist/cjs/utils/composite/keys.cjs +174 -0
  64. package/dist/cjs/utils/composite/list-utils.cjs +90 -0
  65. package/dist/cjs/utils/composite/useCompositeItem.cjs +63 -0
  66. package/dist/cjs/utils/composite/useCompositeListItem.cjs +104 -0
  67. package/dist/cjs/utils/composite/useCompositeRoot.cjs +263 -0
  68. package/dist/cjs/utils/constants.cjs +56 -0
  69. package/dist/cjs/utils/contains.cjs +46 -0
  70. package/dist/cjs/utils/createChangeEventDetails.cjs +92 -0
  71. package/dist/cjs/utils/dom.cjs +35 -0
  72. package/dist/cjs/utils/empty.cjs +34 -0
  73. package/dist/cjs/utils/field/FieldItemContext.cjs +34 -0
  74. package/dist/cjs/utils/field/FieldRootContext.cjs +80 -0
  75. package/dist/cjs/utils/field/FormContext.cjs +41 -0
  76. package/dist/cjs/utils/field/LabelableContext.cjs +43 -0
  77. package/dist/cjs/utils/field/LabelableProvider.cjs +115 -0
  78. package/dist/cjs/utils/field/constants.cjs +68 -0
  79. package/dist/cjs/utils/field/getCombinedFieldValidityData.cjs +36 -0
  80. package/dist/cjs/utils/field/useAriaLabelledBy.cjs +87 -0
  81. package/dist/cjs/utils/field/useFieldControlRegistration.cjs +165 -0
  82. package/dist/cjs/utils/field/useFieldValidation.cjs +285 -0
  83. package/dist/cjs/utils/field/useLabel.cjs +99 -0
  84. package/dist/cjs/utils/field/useLabelableId.cjs +105 -0
  85. package/dist/cjs/utils/field/useRegisterFieldControl.cjs +60 -0
  86. package/dist/cjs/utils/findRootOwnerId.cjs +37 -0
  87. package/dist/cjs/utils/floating/FloatingDelayGroup.cjs +219 -0
  88. package/dist/cjs/utils/floating/FloatingFocusManager.cjs +685 -0
  89. package/dist/cjs/utils/floating/FloatingPortal.cjs +230 -0
  90. package/dist/cjs/utils/floating/FloatingRootStore.cjs +87 -0
  91. package/dist/cjs/utils/floating/FloatingTree.cjs +86 -0
  92. package/dist/cjs/utils/floating/FloatingTreeStore.cjs +41 -0
  93. package/dist/cjs/utils/floating/FocusGuard.cjs +54 -0
  94. package/dist/cjs/utils/floating/composite.cjs +42 -0
  95. package/dist/cjs/utils/floating/constants.cjs +34 -0
  96. package/dist/cjs/utils/floating/createAttribute.cjs +30 -0
  97. package/dist/cjs/utils/floating/createEventEmitter.cjs +44 -0
  98. package/dist/cjs/utils/floating/element.cjs +103 -0
  99. package/dist/cjs/utils/floating/enqueueFocus.cjs +51 -0
  100. package/dist/cjs/utils/floating/event.cjs +65 -0
  101. package/dist/cjs/utils/floating/getEmptyRootContext.cjs +42 -0
  102. package/dist/cjs/utils/floating/gridNavigation.cjs +45 -0
  103. package/dist/cjs/utils/floating/markOthers.cjs +181 -0
  104. package/dist/cjs/utils/floating/nodes.cjs +48 -0
  105. package/dist/cjs/utils/floating/safePolygon.cjs +301 -0
  106. package/dist/cjs/utils/floating/tabbable.cjs +242 -0
  107. package/dist/cjs/utils/floating/types.cjs +16 -0
  108. package/dist/cjs/utils/floating/useClick.cjs +153 -0
  109. package/dist/cjs/utils/floating/useClientPoint.cjs +225 -0
  110. package/dist/cjs/utils/floating/useDismiss.cjs +506 -0
  111. package/dist/cjs/utils/floating/useFloating.cjs +186 -0
  112. package/dist/cjs/utils/floating/useFloatingRootContext.cjs +75 -0
  113. package/dist/cjs/utils/floating/useFocus.cjs +184 -0
  114. package/dist/cjs/utils/floating/useHoverFloatingInteraction.cjs +231 -0
  115. package/dist/cjs/utils/floating/useHoverInteractionSharedState.cjs +113 -0
  116. package/dist/cjs/utils/floating/useHoverReferenceInteraction.cjs +380 -0
  117. package/dist/cjs/utils/floating/useHoverShared.cjs +65 -0
  118. package/dist/cjs/utils/floating/useListNavigation.cjs +665 -0
  119. package/dist/cjs/utils/floating/useSyncedFloatingRootContext.cjs +91 -0
  120. package/dist/cjs/utils/floating/useTypeahead.cjs +187 -0
  121. package/dist/cjs/utils/formatNumber.cjs +60 -0
  122. package/dist/cjs/utils/generateId.cjs +32 -0
  123. package/dist/cjs/utils/getCssDimensions.cjs +42 -0
  124. package/dist/cjs/utils/getDefaultFormSubmitter.cjs +42 -0
  125. package/dist/cjs/utils/getDisabledMountTransitionStyles.cjs +32 -0
  126. package/dist/cjs/utils/getElementRef.cjs +35 -0
  127. package/dist/cjs/utils/getPseudoElementBounds.cjs +56 -0
  128. package/dist/cjs/utils/getStateAttributesProps.cjs +46 -0
  129. package/dist/cjs/utils/hideMiddleware.cjs +42 -0
  130. package/dist/cjs/utils/inertValue.cjs +30 -0
  131. package/dist/cjs/utils/matchesFocusVisible.cjs +38 -0
  132. package/dist/cjs/utils/mergeCleanups.cjs +37 -0
  133. package/dist/cjs/utils/mergeObjects.cjs +39 -0
  134. package/dist/cjs/utils/mergeProps.cjs +182 -0
  135. package/dist/cjs/utils/noop.cjs +29 -0
  136. package/dist/cjs/utils/number/constants.cjs +34 -0
  137. package/dist/cjs/utils/number/parse.cjs +258 -0
  138. package/dist/cjs/utils/number/types.cjs +16 -0
  139. package/dist/cjs/utils/number/validate.cjs +104 -0
  140. package/dist/cjs/utils/owner.cjs +35 -0
  141. package/dist/cjs/utils/platform.cjs +83 -0
  142. package/dist/cjs/utils/popupStateMapping.cjs +74 -0
  143. package/dist/cjs/utils/popups/index.cjs +39 -0
  144. package/dist/cjs/utils/popups/inlineRect.cjs +218 -0
  145. package/dist/cjs/utils/popups/popupStoreUtils.cjs +379 -0
  146. package/dist/cjs/utils/popups/popupTriggerMap.cjs +76 -0
  147. package/dist/cjs/utils/popups/store.cjs +118 -0
  148. package/dist/cjs/utils/popups/useTriggerFocusGuards.cjs +72 -0
  149. package/dist/cjs/utils/resolveAriaLabelledBy.cjs +35 -0
  150. package/dist/cjs/utils/resolveClassName.cjs +30 -0
  151. package/dist/cjs/utils/resolveRef.cjs +33 -0
  152. package/dist/cjs/utils/resolveStyle.cjs +30 -0
  153. package/dist/cjs/utils/serializeValue.cjs +40 -0
  154. package/dist/cjs/utils/slider/asc.cjs +30 -0
  155. package/dist/cjs/utils/slider/getMidpoint.cjs +34 -0
  156. package/dist/cjs/utils/slider/getPushedThumbValues.cjs +73 -0
  157. package/dist/cjs/utils/slider/getSliderValue.cjs +42 -0
  158. package/dist/cjs/utils/slider/replaceArrayItemAtIndex.cjs +33 -0
  159. package/dist/cjs/utils/slider/resolveThumbCollision.cjs +155 -0
  160. package/dist/cjs/utils/slider/roundValueToStep.cjs +45 -0
  161. package/dist/cjs/utils/slider/validateMinimumDistance.cjs +40 -0
  162. package/dist/cjs/utils/slider/valueArrayToPercentages.cjs +36 -0
  163. package/dist/cjs/utils/store/ReactStore.cjs +135 -0
  164. package/dist/cjs/utils/store/Store.cjs +83 -0
  165. package/dist/cjs/utils/store/createSelector.cjs +74 -0
  166. package/dist/cjs/utils/store/useStore.cjs +51 -0
  167. package/dist/cjs/utils/stringifyLocale.cjs +36 -0
  168. package/dist/cjs/utils/useAnchorPositioning.cjs +421 -0
  169. package/dist/cjs/utils/useAnchoredPopupScrollLock.cjs +59 -0
  170. package/dist/cjs/utils/useAnimationFrame.cjs +93 -0
  171. package/dist/cjs/utils/useAnimationsFinished.cjs +98 -0
  172. package/dist/cjs/utils/useBaseUiId.cjs +36 -0
  173. package/dist/cjs/utils/useButton.cjs +177 -0
  174. package/dist/cjs/utils/useCheckboxGroupParent.cjs +114 -0
  175. package/dist/cjs/utils/useControlled.cjs +47 -0
  176. package/dist/cjs/utils/useEnhancedClickHandler.cjs +60 -0
  177. package/dist/cjs/utils/useFocusableWhenDisabled.cjs +77 -0
  178. package/dist/cjs/utils/useForcedRerendering.cjs +35 -0
  179. package/dist/cjs/utils/useIsHydrating.cjs +44 -0
  180. package/dist/cjs/utils/useMixedToggleClickHandler.cjs +66 -0
  181. package/dist/cjs/utils/useOnFirstRender.cjs +35 -0
  182. package/dist/cjs/utils/useOnMount.cjs +36 -0
  183. package/dist/cjs/utils/useOpenChangeComplete.cjs +57 -0
  184. package/dist/cjs/utils/useOpenInteractionType.cjs +69 -0
  185. package/dist/cjs/utils/usePopupAutoResize.cjs +191 -0
  186. package/dist/cjs/utils/usePopupViewport.cjs +283 -0
  187. package/dist/cjs/utils/usePositioner.cjs +53 -0
  188. package/dist/cjs/utils/usePressAndHold.cjs +51 -0
  189. package/dist/cjs/utils/usePreviousValue.cjs +47 -0
  190. package/dist/cjs/utils/useRefWithInit.cjs +41 -0
  191. package/dist/cjs/utils/useRegisteredLabelId.cjs +48 -0
  192. package/dist/cjs/utils/useRenderElement.cjs +106 -0
  193. package/dist/cjs/utils/useScrollLock.cjs +232 -0
  194. package/dist/cjs/utils/useStableCallback.cjs +41 -0
  195. package/dist/cjs/utils/useTimeout.cjs +66 -0
  196. package/dist/cjs/utils/useTransitionStatus.cjs +116 -0
  197. package/dist/cjs/utils/useValueAsRef.cjs +43 -0
  198. package/dist/cjs/utils/useValueChanged.cjs +55 -0
  199. package/dist/cjs/utils/valueToPercent.cjs +30 -0
  200. package/dist/cjs/utils/visuallyHidden.cjs +49 -0
  201. package/package.json +20 -8
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var avatar_exports = {};
20
+ __export(avatar_exports, {
21
+ Avatar: () => Avatar
22
+ });
23
+ module.exports = __toCommonJS(avatar_exports);
24
+ var import_octane = require("octane");
25
+ var import_internal = require("./internal.cjs");
26
+ var import_useRenderElement = require("./utils/useRenderElement.cjs");
27
+ var import_useStableCallback = require("./utils/useStableCallback.cjs");
28
+ var import_useTransitionStatus = require("./utils/useTransitionStatus.cjs");
29
+ var import_useOpenChangeComplete = require("./utils/useOpenChangeComplete.cjs");
30
+ var import_useTimeout = require("./utils/useTimeout.cjs");
31
+ const avatarStateAttributesMapping = {
32
+ imageLoadingStatus: () => null
33
+ };
34
+ const imageStateAttributesMapping = {
35
+ ...avatarStateAttributesMapping,
36
+ ...import_useTransitionStatus.transitionStatusMapping
37
+ };
38
+ const AvatarRootContext = (0, import_octane.createContext)(void 0);
39
+ function useAvatarRootContext() {
40
+ const context = (0, import_octane.useContext)(AvatarRootContext);
41
+ if (context === void 0) {
42
+ throw new Error(
43
+ "Base UI: AvatarRootContext is missing. Avatar parts must be placed within <Avatar.Root>."
44
+ );
45
+ }
46
+ return context;
47
+ }
48
+ function useImageLoadingStatus(...args) {
49
+ const [user, slotArg] = (0, import_internal.splitSlot)(args);
50
+ const slot = slotArg ?? (0, import_internal.S)("useImageLoadingStatus");
51
+ const src = user[0];
52
+ const options = user[1] ?? {};
53
+ const { referrerPolicy, crossOrigin, sizes, srcSet } = options;
54
+ const [loadingStatus, setLoadingStatus] = (0, import_octane.useState)(
55
+ "idle",
56
+ (0, import_internal.subSlot)(slot, "ls")
57
+ );
58
+ (0, import_octane.useLayoutEffect)(
59
+ () => {
60
+ if (!src && !srcSet) {
61
+ setLoadingStatus("error");
62
+ return void 0;
63
+ }
64
+ let isMounted = true;
65
+ const image = new window.Image();
66
+ const updateStatus = (status) => () => {
67
+ if (!isMounted) {
68
+ return;
69
+ }
70
+ setLoadingStatus(status);
71
+ };
72
+ setLoadingStatus("loading");
73
+ image.onload = updateStatus("loaded");
74
+ image.onerror = updateStatus("error");
75
+ if (referrerPolicy) {
76
+ image.referrerPolicy = referrerPolicy;
77
+ }
78
+ image.crossOrigin = crossOrigin ?? null;
79
+ if (sizes) {
80
+ image.sizes = sizes;
81
+ }
82
+ if (srcSet) {
83
+ image.srcset = srcSet;
84
+ }
85
+ if (src) {
86
+ image.src = src;
87
+ }
88
+ if (image.complete) {
89
+ setLoadingStatus(image.naturalWidth > 0 ? "loaded" : "error");
90
+ }
91
+ return () => {
92
+ isMounted = false;
93
+ };
94
+ },
95
+ [src, srcSet, sizes, crossOrigin, referrerPolicy],
96
+ (0, import_internal.subSlot)(slot, "e:load")
97
+ );
98
+ return loadingStatus;
99
+ }
100
+ function AvatarRoot(props) {
101
+ const slot = (0, import_internal.S)("AvatarRoot");
102
+ const { className, render, style, ref, ...elementProps } = props;
103
+ const [imageLoadingStatus, setImageLoadingStatus] = (0, import_octane.useState)(
104
+ "idle",
105
+ (0, import_internal.subSlot)(slot, "ls")
106
+ );
107
+ const state = { imageLoadingStatus };
108
+ const contextValue = (0, import_octane.useMemo)(
109
+ () => ({ imageLoadingStatus, setImageLoadingStatus }),
110
+ [imageLoadingStatus, setImageLoadingStatus],
111
+ (0, import_internal.subSlot)(slot, "ctx")
112
+ );
113
+ const element = (0, import_useRenderElement.useRenderElement)(
114
+ "span",
115
+ { render, className, style },
116
+ { state, ref, props: elementProps, stateAttributesMapping: avatarStateAttributesMapping },
117
+ (0, import_internal.subSlot)(slot, "re")
118
+ );
119
+ return (0, import_octane.createElement)(AvatarRootContext.Provider, { value: contextValue, children: element });
120
+ }
121
+ function AvatarImage(props) {
122
+ const slot = (0, import_internal.S)("AvatarImage");
123
+ const {
124
+ className,
125
+ render,
126
+ onLoadingStatusChange: onLoadingStatusChangeProp,
127
+ style,
128
+ ref,
129
+ ...elementProps
130
+ } = props;
131
+ const { setImageLoadingStatus } = useAvatarRootContext();
132
+ const imageLoadingStatus = useImageLoadingStatus(
133
+ elementProps.src,
134
+ elementProps,
135
+ (0, import_internal.subSlot)(slot, "ils")
136
+ );
137
+ const isVisible = imageLoadingStatus === "loaded";
138
+ const { mounted, transitionStatus, setMounted } = (0, import_useTransitionStatus.useTransitionStatus)(
139
+ isVisible,
140
+ (0, import_internal.subSlot)(slot, "ts")
141
+ );
142
+ const imageRef = (0, import_octane.useRef)(null, (0, import_internal.subSlot)(slot, "imgRef"));
143
+ const handleLoadingStatusChange = (0, import_useStableCallback.useStableCallback)(
144
+ (status) => {
145
+ onLoadingStatusChangeProp?.(status);
146
+ setImageLoadingStatus(status);
147
+ },
148
+ (0, import_internal.subSlot)(slot, "hlsc")
149
+ );
150
+ (0, import_octane.useLayoutEffect)(
151
+ () => {
152
+ if (imageLoadingStatus !== "idle") {
153
+ handleLoadingStatusChange(imageLoadingStatus);
154
+ }
155
+ },
156
+ [imageLoadingStatus, handleLoadingStatusChange],
157
+ (0, import_internal.subSlot)(slot, "e:status")
158
+ );
159
+ (0, import_octane.useLayoutEffect)(
160
+ () => () => setImageLoadingStatus("idle"),
161
+ [setImageLoadingStatus],
162
+ (0, import_internal.subSlot)(slot, "e:reset")
163
+ );
164
+ (0, import_useOpenChangeComplete.useOpenChangeComplete)(
165
+ {
166
+ open: isVisible,
167
+ ref: imageRef,
168
+ onComplete() {
169
+ if (!isVisible) {
170
+ setMounted(false);
171
+ }
172
+ }
173
+ },
174
+ (0, import_internal.subSlot)(slot, "occ")
175
+ );
176
+ const state = { imageLoadingStatus, transitionStatus };
177
+ const element = (0, import_useRenderElement.useRenderElement)(
178
+ "img",
179
+ { render, className, style },
180
+ {
181
+ state,
182
+ ref: [ref, imageRef],
183
+ props: elementProps,
184
+ stateAttributesMapping: imageStateAttributesMapping,
185
+ enabled: mounted
186
+ },
187
+ (0, import_internal.subSlot)(slot, "re")
188
+ );
189
+ if (!mounted) {
190
+ return null;
191
+ }
192
+ return element;
193
+ }
194
+ function AvatarFallback(props) {
195
+ const slot = (0, import_internal.S)("AvatarFallback");
196
+ const { className, render, delay, style, ref, ...elementProps } = props;
197
+ const { imageLoadingStatus } = useAvatarRootContext();
198
+ const [delayPassed, setDelayPassed] = (0, import_octane.useState)(delay === void 0, (0, import_internal.subSlot)(slot, "dp"));
199
+ const timeout = (0, import_useTimeout.useTimeout)((0, import_internal.subSlot)(slot, "to"));
200
+ (0, import_octane.useEffect)(
201
+ () => {
202
+ if (delay !== void 0) {
203
+ timeout.start(delay, () => setDelayPassed(true));
204
+ } else {
205
+ setDelayPassed(true);
206
+ }
207
+ return timeout.clear;
208
+ },
209
+ [timeout, delay],
210
+ (0, import_internal.subSlot)(slot, "e:delay")
211
+ );
212
+ const state = { imageLoadingStatus };
213
+ return (0, import_useRenderElement.useRenderElement)(
214
+ "span",
215
+ { render, className, style },
216
+ {
217
+ state,
218
+ ref,
219
+ props: elementProps,
220
+ stateAttributesMapping: avatarStateAttributesMapping,
221
+ enabled: imageLoadingStatus !== "loaded" && (delay === void 0 || delayPassed)
222
+ },
223
+ (0, import_internal.subSlot)(slot, "re")
224
+ );
225
+ }
226
+ const Avatar = {
227
+ Root: AvatarRoot,
228
+ Image: AvatarImage,
229
+ Fallback: AvatarFallback
230
+ };
231
+ // Annotate the CommonJS export names for ESM import in node:
232
+ 0 && (module.exports = {
233
+ Avatar
234
+ });
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var button_exports = {};
20
+ __export(button_exports, {
21
+ Button: () => Button
22
+ });
23
+ module.exports = __toCommonJS(button_exports);
24
+ var import_internal = require("./internal.cjs");
25
+ var import_useButton = require("./utils/useButton.cjs");
26
+ var import_useRenderElement = require("./utils/useRenderElement.cjs");
27
+ function Button(props) {
28
+ const slot = (0, import_internal.S)("Button");
29
+ const {
30
+ render,
31
+ className,
32
+ disabled = false,
33
+ focusableWhenDisabled = false,
34
+ nativeButton = true,
35
+ style,
36
+ ref,
37
+ ...elementProps
38
+ } = props;
39
+ const { getButtonProps, buttonRef } = (0, import_useButton.useButton)(
40
+ { disabled, focusableWhenDisabled, native: nativeButton },
41
+ (0, import_internal.subSlot)(slot, "btn")
42
+ );
43
+ const state = { disabled };
44
+ return (0, import_useRenderElement.useRenderElement)(
45
+ "button",
46
+ { className, render, style },
47
+ { state, ref: [ref, buttonRef], props: [elementProps, getButtonProps] },
48
+ (0, import_internal.subSlot)(slot, "re")
49
+ );
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ Button
54
+ });
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var checkbox_group_exports = {};
20
+ __export(checkbox_group_exports, {
21
+ CheckboxGroup: () => CheckboxGroup
22
+ });
23
+ module.exports = __toCommonJS(checkbox_group_exports);
24
+ var import_octane = require("octane");
25
+ var import_internal = require("./internal.cjs");
26
+ var import_useRenderElement = require("./utils/useRenderElement.cjs");
27
+ var import_useBaseUiId = require("./utils/useBaseUiId.cjs");
28
+ var import_useControlled = require("./utils/useControlled.cjs");
29
+ var import_useStableCallback = require("./utils/useStableCallback.cjs");
30
+ var import_useValueChanged = require("./utils/useValueChanged.cjs");
31
+ var import_areArraysEqual = require("./utils/areArraysEqual.cjs");
32
+ var import_useCheckboxGroupParent = require("./utils/useCheckboxGroupParent.cjs");
33
+ var import_CheckboxGroupContext = require("./utils/CheckboxGroupContext.cjs");
34
+ var import_constants = require("./utils/field/constants.cjs");
35
+ var import_FieldRootContext = require("./utils/field/FieldRootContext.cjs");
36
+ var import_FormContext = require("./utils/field/FormContext.cjs");
37
+ var import_LabelableContext = require("./utils/field/LabelableContext.cjs");
38
+ var import_useRegisterFieldControl = require("./utils/field/useRegisterFieldControl.cjs");
39
+ var import_checkbox = require("./checkbox.cjs");
40
+ const EMPTY_ARRAY = [];
41
+ function CheckboxGroup(props) {
42
+ const slot = (0, import_internal.S)("CheckboxGroup");
43
+ const {
44
+ allValues,
45
+ className,
46
+ defaultValue: defaultValueProp,
47
+ disabled: disabledProp = false,
48
+ id: idProp,
49
+ onValueChange,
50
+ render,
51
+ value: externalValue,
52
+ style,
53
+ ref,
54
+ ...elementProps
55
+ } = props;
56
+ const {
57
+ disabled: fieldDisabled,
58
+ name: fieldName,
59
+ state: fieldState,
60
+ validation,
61
+ setFilled,
62
+ setDirty,
63
+ validityData
64
+ } = (0, import_FieldRootContext.useFieldRootContext)();
65
+ const { labelId, getDescriptionProps } = (0, import_LabelableContext.useLabelableContext)();
66
+ const { clearErrors } = (0, import_FormContext.useFormContext)();
67
+ const disabled = fieldDisabled || disabledProp;
68
+ const defaultValue = (0, import_octane.useMemo)(
69
+ () => {
70
+ if (externalValue === void 0) {
71
+ return defaultValueProp ?? [];
72
+ }
73
+ return void 0;
74
+ },
75
+ [externalValue, defaultValueProp],
76
+ (0, import_internal.subSlot)(slot, "defaultValue")
77
+ );
78
+ const [value, setValueUnwrapped] = (0, import_useControlled.useControlled)(
79
+ { controlled: externalValue, default: defaultValue, name: "CheckboxGroup", state: "value" },
80
+ (0, import_internal.subSlot)(slot, "value")
81
+ );
82
+ const setValue = (0, import_useStableCallback.useStableCallback)(
83
+ (v, eventDetails) => {
84
+ onValueChange?.(v, eventDetails);
85
+ if (eventDetails.isCanceled) {
86
+ return;
87
+ }
88
+ setValueUnwrapped(v);
89
+ },
90
+ (0, import_internal.subSlot)(slot, "setValue")
91
+ );
92
+ const parent = (0, import_useCheckboxGroupParent.useCheckboxGroupParent)(
93
+ { allValues, value, onValueChange: setValue },
94
+ (0, import_internal.subSlot)(slot, "parent")
95
+ );
96
+ const id = (0, import_useBaseUiId.useBaseUiId)(idProp, (0, import_internal.subSlot)(slot, "id"));
97
+ const controlRef = (0, import_octane.useRef)(null, (0, import_internal.subSlot)(slot, "controlRef"));
98
+ const registerControlRef = (0, import_octane.useCallback)(
99
+ (element2) => {
100
+ if (controlRef.current == null && element2 != null && !element2.hasAttribute(import_checkbox.PARENT_CHECKBOX)) {
101
+ controlRef.current = element2;
102
+ }
103
+ },
104
+ [],
105
+ (0, import_internal.subSlot)(slot, "registerControl")
106
+ );
107
+ (0, import_useRegisterFieldControl.useRegisterFieldControl)(
108
+ controlRef,
109
+ id,
110
+ value,
111
+ void 0,
112
+ !!fieldName && !disabled,
113
+ fieldName,
114
+ (0, import_internal.subSlot)(slot, "register")
115
+ );
116
+ const resolvedValue = value ?? EMPTY_ARRAY;
117
+ (0, import_useValueChanged.useValueChanged)(
118
+ resolvedValue,
119
+ () => {
120
+ if (fieldName) {
121
+ clearErrors(fieldName);
122
+ }
123
+ const initialValue = Array.isArray(validityData.initialValue) ? validityData.initialValue : EMPTY_ARRAY;
124
+ setFilled(resolvedValue.length > 0);
125
+ setDirty(!(0, import_areArraysEqual.areArraysEqual)(resolvedValue, initialValue));
126
+ validation.change(resolvedValue);
127
+ },
128
+ (0, import_internal.subSlot)(slot, "valueChanged")
129
+ );
130
+ const state = { ...fieldState, disabled };
131
+ const contextValue = (0, import_octane.useMemo)(
132
+ () => ({
133
+ allValues,
134
+ value,
135
+ defaultValue,
136
+ setValue,
137
+ parent,
138
+ disabled,
139
+ validation,
140
+ registerControlRef
141
+ }),
142
+ [allValues, value, defaultValue, setValue, parent, disabled, validation, registerControlRef],
143
+ (0, import_internal.subSlot)(slot, "ctx")
144
+ );
145
+ const element = (0, import_useRenderElement.useRenderElement)(
146
+ "div",
147
+ { render, className, style },
148
+ {
149
+ state,
150
+ ref,
151
+ props: [
152
+ { id: idProp, role: "group", "aria-labelledby": labelId },
153
+ elementProps,
154
+ getDescriptionProps
155
+ ],
156
+ stateAttributesMapping: import_constants.fieldValidityMapping
157
+ },
158
+ (0, import_internal.subSlot)(slot, "re")
159
+ );
160
+ return (0, import_octane.createElement)(import_CheckboxGroupContext.CheckboxGroupContext.Provider, { value: contextValue, children: element });
161
+ }
162
+ // Annotate the CommonJS export names for ESM import in node:
163
+ 0 && (module.exports = {
164
+ CheckboxGroup
165
+ });