UEA-PRODEM

This commit is contained in:
2026-06-10 12:14:46 -03:00
parent f54126b9d8
commit 9947565694
5319 changed files with 148520 additions and 129332 deletions
+138 -113
View File
@@ -31,18 +31,18 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
// src/index.ts
var index_exports = {};
__export(index_exports, {
Arrow: () => Arrow2,
Content: () => Content2,
Group: () => Group,
Icon: () => Icon,
Item: () => Item,
ItemIndicator: () => ItemIndicator,
ItemText: () => ItemText,
Label: () => Label,
Portal: () => Portal,
Root: () => Root2,
ScrollDownButton: () => ScrollDownButton,
ScrollUpButton: () => ScrollUpButton,
Arrow: () => SelectArrow,
Content: () => SelectContent,
Group: () => SelectGroup,
Icon: () => SelectIcon,
Item: () => SelectItem,
ItemIndicator: () => SelectItemIndicator,
ItemText: () => SelectItemText,
Label: () => SelectLabel,
Portal: () => SelectPortal,
Root: () => Select,
ScrollDownButton: () => SelectScrollDownButton,
ScrollUpButton: () => SelectScrollUpButton,
Select: () => Select,
SelectArrow: () => SelectArrow,
SelectContent: () => SelectContent,
@@ -59,11 +59,15 @@ __export(index_exports, {
SelectTrigger: () => SelectTrigger,
SelectValue: () => SelectValue,
SelectViewport: () => SelectViewport,
Separator: () => Separator,
Trigger: () => Trigger,
Value: () => Value,
Viewport: () => Viewport,
createSelectScope: () => createSelectScope
Separator: () => SelectSeparator,
Trigger: () => SelectTrigger,
Value: () => SelectValue,
Viewport: () => SelectViewport,
createSelectScope: () => createSelectScope,
unstable_BubbleInput: () => SelectBubbleInput,
unstable_Provider: () => SelectProvider,
unstable_SelectBubbleInput: () => SelectBubbleInput,
unstable_SelectProvider: () => SelectProvider
});
module.exports = __toCommonJS(index_exports);
@@ -83,6 +87,7 @@ var import_react_id = require("@radix-ui/react-id");
var PopperPrimitive = __toESM(require("@radix-ui/react-popper"));
var import_react_popper = require("@radix-ui/react-popper");
var import_react_portal = require("@radix-ui/react-portal");
var import_react_presence = require("@radix-ui/react-presence");
var import_react_primitive = require("@radix-ui/react-primitive");
var import_react_slot = require("@radix-ui/react-slot");
var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
@@ -102,9 +107,10 @@ var [createSelectContext, createSelectScope] = (0, import_react_context.createCo
import_react_popper.createPopperScope
]);
var usePopperScope = (0, import_react_popper.createPopperScope)();
var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);
var [SelectProviderImpl, useSelectContext] = createSelectContext(SELECT_NAME);
var [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);
var Select = (props) => {
var PROVIDER_NAME = "SelectProvider";
function SelectProvider(props) {
const {
__scopeSelect,
children,
@@ -119,7 +125,9 @@ var Select = (props) => {
autoComplete,
disabled,
required,
form
form,
// @ts-expect-error internal render prop used by `Select` to compose its default parts
internal_do_not_use_render
} = props;
const popperScope = usePopperScope(__scopeSelect);
const [trigger, setTrigger] = React.useState(null);
@@ -139,68 +147,72 @@ var Select = (props) => {
caller: SELECT_NAME
});
const triggerPointerDownPosRef = React.useRef(null);
const isFormControl = trigger ? form || !!trigger.closest("form") : true;
const isFormControl = trigger ? !!form || !!trigger.closest("form") : true;
const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());
const contentId = (0, import_react_id.useId)();
const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
const handleNativeOptionAdd = React.useCallback((option) => {
setNativeOptionsSet((prev) => new Set(prev).add(option));
}, []);
const handleNativeOptionRemove = React.useCallback((option) => {
setNativeOptionsSet((prev) => {
const optionsSet = new Set(prev);
optionsSet.delete(option);
return optionsSet;
});
}, []);
const context = {
required,
trigger,
onTriggerChange: setTrigger,
valueNode,
onValueNodeChange: setValueNode,
valueNodeHasChildren,
onValueNodeHasChildrenChange: setValueNodeHasChildren,
contentId,
value,
onValueChange: setValue,
open,
onOpenChange: setOpen,
dir: direction,
triggerPointerDownPosRef,
disabled,
name,
autoComplete,
form,
nativeOptions: nativeOptionsSet,
nativeSelectKey,
isFormControl
};
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectProviderImpl, { scope: __scopeSelect, ...context, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
SelectNativeOptionsProvider,
{
scope: __scopeSelect,
onNativeOptionAdd: handleNativeOptionAdd,
onNativeOptionRemove: handleNativeOptionRemove,
children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
}
) }) }) });
}
SelectProvider.displayName = PROVIDER_NAME;
var Select = (props) => {
const { __scopeSelect, children, ...providerProps } = props;
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
SelectProvider,
{
required,
scope: __scopeSelect,
trigger,
onTriggerChange: setTrigger,
valueNode,
onValueNodeChange: setValueNode,
valueNodeHasChildren,
onValueNodeHasChildrenChange: setValueNodeHasChildren,
contentId: (0, import_react_id.useId)(),
value,
onValueChange: setValue,
open,
onOpenChange: setOpen,
dir: direction,
triggerPointerDownPosRef,
disabled,
children: [
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
SelectNativeOptionsProvider,
{
scope: props.__scopeSelect,
onNativeOptionAdd: React.useCallback((option) => {
setNativeOptionsSet((prev) => new Set(prev).add(option));
}, []),
onNativeOptionRemove: React.useCallback((option) => {
setNativeOptionsSet((prev) => {
const optionsSet = new Set(prev);
optionsSet.delete(option);
return optionsSet;
});
}, []),
children
}
) }),
isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
__scopeSelect,
...providerProps,
internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
children,
isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
SelectBubbleInput,
{
"aria-hidden": true,
required,
tabIndex: -1,
name,
autoComplete,
value,
onChange: (event) => setValue(event.target.value),
disabled,
form,
children: [
value === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("option", { value: "" }) : null,
Array.from(nativeOptionsSet)
]
},
nativeSelectKey
__scopeSelect
}
) : null
]
] })
}
) });
);
};
Select.displayName = SELECT_NAME;
var TRIGGER_NAME = "SelectTrigger";
@@ -238,7 +250,7 @@ var SelectTrigger = React.forwardRef(
{
type: "button",
role: "combobox",
"aria-controls": context.contentId,
"aria-controls": context.open ? context.contentId : void 0,
"aria-expanded": context.open,
"aria-required": context.required,
"aria-autocomplete": "none",
@@ -292,13 +304,15 @@ var SelectValue = React.forwardRef(
(0, import_react_use_layout_effect.useLayoutEffect)(() => {
onValueNodeHasChildrenChange(hasChildren);
}, [onValueNodeHasChildrenChange, hasChildren]);
const showPlaceholder = shouldShowPlaceholder(context.value);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
import_react_primitive.Primitive.span,
{
...valueProps,
asChild: showPlaceholder ? false : valueProps.asChild,
ref: composedRefs,
style: { pointerEvents: "none" },
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: placeholder }) : children
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(React.Fragment, { children: showPlaceholder ? placeholder : children }, showPlaceholder ? "placeholder" : "value")
}
);
}
@@ -313,37 +327,45 @@ var SelectIcon = React.forwardRef(
);
SelectIcon.displayName = ICON_NAME;
var PORTAL_NAME = "SelectPortal";
var [PortalProvider, usePortalContext] = createSelectContext(PORTAL_NAME, {
forceMount: void 0
});
var SelectPortal = (props) => {
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_portal.Portal, { asChild: true, ...props });
const { __scopeSelect, forceMount, ...portalProps } = props;
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProvider, { scope: props.__scopeSelect, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_portal.Portal, { asChild: true, ...portalProps }) });
};
SelectPortal.displayName = PORTAL_NAME;
var CONTENT_NAME = "SelectContent";
var SelectContent = React.forwardRef(
(props, forwardedRef) => {
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeSelect);
const { forceMount = portalContext.forceMount, ...contentProps } = props;
const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);
const [fragment, setFragment] = React.useState();
(0, import_react_use_layout_effect.useLayoutEffect)(() => {
setFragment(new DocumentFragment());
}, []);
if (!context.open) {
const frag = fragment;
return frag ? ReactDOM.createPortal(
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: props.children }) }) }),
frag
) : null;
}
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectContentImpl, { ...props, ref: forwardedRef });
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: ({ present }) => present ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectContentImpl, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectContentFragment, { ...contentProps, fragment }) });
}
);
SelectContent.displayName = CONTENT_NAME;
var SelectContentFragment = React.forwardRef((props, forwardedRef) => {
const { __scopeSelect, children, fragment } = props;
if (!fragment) return null;
return ReactDOM.createPortal(
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectContentProvider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: forwardedRef, children }) }) }),
fragment
);
});
SelectContentFragment.displayName = "SelectContentFragment";
var CONTENT_MARGIN = 10;
var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);
var CONTENT_IMPL_NAME = "SelectContentImpl";
var Slot = (0, import_react_slot.createSlot)("SelectContent.RemoveScroll");
var SelectContentImpl = React.forwardRef(
(props, forwardedRef) => {
const { __scopeSelect } = props;
const {
__scopeSelect,
position = "item-aligned",
onCloseAutoFocus,
onEscapeKeyDown,
@@ -417,7 +439,7 @@ var SelectContentImpl = React.forwardRef(
if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {
event.preventDefault();
} else {
if (!content.contains(event.target)) {
if (!event.composedPath().includes(content)) {
onOpenChange(false);
}
}
@@ -1127,18 +1149,21 @@ var SelectArrow = React.forwardRef(
(props, forwardedRef) => {
const { __scopeSelect, ...arrowProps } = props;
const popperScope = usePopperScope(__scopeSelect);
const context = useSelectContext(ARROW_NAME, __scopeSelect);
const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);
return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
return contentContext.position === "popper" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
}
);
SelectArrow.displayName = ARROW_NAME;
var BUBBLE_INPUT_NAME = "SelectBubbleInput";
var SelectBubbleInput = React.forwardRef(
({ __scopeSelect, value, ...props }, forwardedRef) => {
({ __scopeSelect, ...props }, forwardedRef) => {
const context = useSelectContext(BUBBLE_INPUT_NAME, __scopeSelect);
const { value, onValueChange, required, disabled, name, autoComplete, form } = context;
const { nativeOptions, nativeSelectKey } = context;
const ref = React.useRef(null);
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref);
const prevValue = (0, import_react_use_previous.usePrevious)(value);
const selectValue = value ?? "";
const prevValue = (0, import_react_use_previous.usePrevious)(selectValue);
React.useEffect(() => {
const select = ref.current;
if (!select) return;
@@ -1148,24 +1173,40 @@ var SelectBubbleInput = React.forwardRef(
"value"
);
const setValue = descriptor.set;
if (prevValue !== value && setValue) {
if (prevValue !== selectValue && setValue) {
const event = new Event("change", { bubbles: true });
setValue.call(select, value);
setValue.call(select, selectValue);
select.dispatchEvent(event);
}
}, [prevValue, value]);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
}, [prevValue, selectValue]);
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
import_react_primitive.Primitive.select,
{
"aria-hidden": true,
required,
tabIndex: -1,
name,
autoComplete,
disabled,
form,
onChange: (event) => onValueChange(event.target.value),
...props,
style: { ...import_react_visually_hidden.VISUALLY_HIDDEN_STYLES, ...props.style },
ref: composedRefs,
defaultValue: value
}
defaultValue: selectValue,
children: [
shouldShowPlaceholder(value) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("option", { value: "" }) : null,
Array.from(nativeOptions)
]
},
nativeSelectKey
);
}
);
SelectBubbleInput.displayName = BUBBLE_INPUT_NAME;
function isFunction(value) {
return typeof value === "function";
}
function shouldShowPlaceholder(value) {
return value === "" || value === void 0;
}
@@ -1209,20 +1250,4 @@ function findNextItem(items, search, currentItem) {
function wrapArray(array, startIndex) {
return array.map((_, index) => array[(startIndex + index) % array.length]);
}
var Root2 = Select;
var Trigger = SelectTrigger;
var Value = SelectValue;
var Icon = SelectIcon;
var Portal = SelectPortal;
var Content2 = SelectContent;
var Viewport = SelectViewport;
var Group = SelectGroup;
var Label = SelectLabel;
var Item = SelectItem;
var ItemText = SelectItemText;
var ItemIndicator = SelectItemIndicator;
var ScrollUpButton = SelectScrollUpButton;
var ScrollDownButton = SelectScrollDownButton;
var Separator = SelectSeparator;
var Arrow2 = SelectArrow;
//# sourceMappingURL=index.js.map